/* ========== RESET & VARIABLES ========== */
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
:root {
  --header-bg:#080B0E;
  --cream:#F2EDE6;
  --bone:#F8F4EF;
  --sand:#E4D9CC;
  --linen:#EDE5D8;
  --concrete:#D4C9B8;
  --slate:#1C2226;
  --slate-2:#2C343A;
  --slate-light:#4A5560;
  --slate-muted:#8A9299;
  --terra:#B85C38;
  --terra-deep:#8C4026;
  --terra-pale:#F0D5CB;
  --terra-mid:#CC6B44;
  --ink-rule:rgba(28,34,38,0.12);
  --display:'Playfair Display',serif;
  --body:'DM Sans',sans-serif;
  --mono:'DM Mono',monospace;
  --vh:1vh;
}
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { font-family:var(--body); background:var(--bone); color:var(--slate); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a, button, .btn-primary, .btn-ghost, .nav-cta, .svc-card, .proj-card, .filter-btn, .role-apply { touch-action:manipulation; }

/* ========== PROGRESS BAR ========== */
#progressBar { position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg, var(--terra), var(--terra-mid), var(--terra)); width:0%; z-index:500; transition:width .1s linear; box-shadow: 0 0 20px rgba(184,92,56,0.3); }

/* ========== PARTICLES ========== */
.bg-particles { position: fixed; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:0; overflow:hidden; }
.particle { position: absolute; width:4px; height:4px; background:rgba(184,92,56,0.15); border-radius:50%; animation: floatParticle linear infinite; }
@keyframes floatParticle { 0% { transform: translateY(100vh) rotate(0deg); opacity:0; } 10% { opacity:1; } 90% { opacity:1; } 100% { transform: translateY(-100vh) rotate(720deg); opacity:0; } }

/* ========== HEADER ========== */
.header { position:fixed; top:0; left:0; right:0; z-index:300; padding:0 56px; padding-top:env(safe-area-inset-top); height:calc(124px + env(safe-area-inset-top)); display:flex; align-items:center; justify-content:space-between; background:rgba(8,11,14,0.92); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,0.07); transition: all 0.4s ease; }
.header.scrolled { height:calc(96px + env(safe-area-inset-top)); background:rgba(8,11,14,0.98); box-shadow:0 4px 30px rgba(0,0,0,0.3); }
.logo { display:flex; align-items:center; gap:24px; text-decoration:none; }
.logo img { height:120px; width:auto; border-radius:8px; transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1); }
.logo:hover img { transform:scale(1.08) rotate(-1deg); }
nav { display:flex; align-items:center; gap:32px; }
nav a { font-size:0.82rem; font-weight:500; color:#8A9299; letter-spacing:0.01em; transition:color .3s, transform .3s; text-decoration:none; position:relative; }
nav a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--terra); transition:width 0.3s ease; }
nav a:hover::after, nav a.active::after { width:100%; }
nav a:hover { color:#F2EDE6; transform:translateY(-1px); }
nav a.active { color:#F2EDE6; }
.nav-cta { font-family:var(--body); font-weight:600; font-size:0.8rem; padding:10px 24px; background:var(--terra); color:#fff; border-radius:4px; transition:all .3s cubic-bezier(0.34,1.56,0.64,1); letter-spacing:0.02em; position:relative; overflow:hidden; }
.nav-cta:hover { background:var(--terra-mid); transform:translateY(-2px) scale(1.02); box-shadow:0 8px 30px rgba(184,92,56,0.3); }
.nav-secondary { font-family:var(--mono); font-weight:600; font-size:0.72rem; padding:9px 18px; background:transparent; color:#F2EDE6; border:1px solid rgba(242,237,230,0.25); border-radius:4px; display:inline-flex; align-items:center; gap:8px; transition:all .3s ease; text-decoration:none; letter-spacing:0.03em; }
.nav-secondary:hover { border-color:var(--terra); color:var(--terra-mid); background:rgba(184,92,56,0.06); transform:translateY(-2px); }
.nav-toggle { display:none; width:44px; height:44px; align-items:center; justify-content:center; background:transparent; border:1px solid rgba(255,255,255,0.15); border-radius:4px; cursor:pointer; flex-direction:column; gap:5px; z-index:400; }
.nav-toggle span { display:block; width:20px; height:2px; background:#F2EDE6; border-radius:2px; transition:transform .35s cubic-bezier(0.34,1.56,0.64,1), opacity .25s ease; }
.nav-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity:0; }
.nav-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
body.nav-open { overflow:hidden; position:fixed; left:0; right:0; width:100%; }

/* ========== PAGE SYSTEM ========== */
.page { display:none; min-height:80vh; position:relative; z-index:1; padding-bottom:60px; }
.page.active { display:block; }

/* ========== HERO ========== */
.hero { min-height:calc(var(--vh, 1vh) * 100); min-height:100svh; display:grid; grid-template-columns:1fr 1fr; padding-top:124px; position:relative; overflow:hidden; }
.hero-left { padding:80px 64px 80px 80px; display:flex; flex-direction:column; justify-content:center; background:var(--slate); position:relative; z-index:2; }
.hero-left::before { content:''; position:absolute; inset:0; background-image: repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(255,255,255,0.02) 79px,rgba(255,255,255,0.02) 80px), repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(255,255,255,0.02) 79px,rgba(255,255,255,0.02) 80px); pointer-events:none; animation:gridMove 20s linear infinite; }
@keyframes gridMove { 0% { transform:translate(0,0); } 100% { transform:translate(80px,80px); } }
.hero-left .graphic-accents { position:absolute; right:20px; bottom:20px; width:160px; height:160px; opacity:0.08; pointer-events:none; animation:rotateSlow 30s linear infinite; }
@keyframes rotateSlow { 0% { transform:rotate(0deg); } 100% { transform:rotate(360deg); } }
.hero-left .graphic-accents svg { width:100%; height:100%; stroke:#F2EDE6; fill:none; }
.hero-right { background:var(--cream); position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.hero-right-img { position:absolute; inset:0; background:url('bram nirman/sample 2.jpeg') center/cover no-repeat; opacity:0.55; animation:zoomInOut 20s ease-in-out infinite alternate; }
@keyframes zoomInOut { 0% { transform:scale(1); } 100% { transform:scale(1.08); } }
.hero-right-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(28,34,38,0.7) 100%); }
.hero-right-stat { position:relative; z-index:2; padding:40px; width:100%; display:flex; justify-content:space-between; align-items:flex-end; }
.hero-eyebrow { font-family:var(--mono); font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--terra); display:flex; align-items:center; gap:10px; margin-bottom:32px; }
.hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--terra); }
.hero h1 { font-family:var(--display); font-weight:900; font-size:clamp(3rem,5.5vw,5rem); line-height:1.0; letter-spacing:-0.02em; color:#F2EDE6; }
.hero h1 .line { display:block; overflow:hidden; }
.hero h1 .line span { display:block; }
.hero h1 em { font-style:italic; color:var(--terra); position:relative; display:inline-block; }
.hero h1 em::after { content:''; position:absolute; bottom:2px; left:0; width:100%; height:3px; background:var(--terra); }
.hero-sub { margin:28px 0 44px; color:rgba(242,237,230,0.6); font-size:1rem; max-width:440px; line-height:1.7; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.btn-primary { display:inline-flex; align-items:center; gap:10px; font-family:var(--body); font-weight:600; font-size:0.88rem; padding:16px 32px; background:var(--terra); color:#fff; border-radius:4px; border:2px solid var(--terra); letter-spacing:0.02em; transition:all .3s cubic-bezier(0.34,1.56,0.64,1); text-decoration:none; position:relative; overflow:hidden; cursor:pointer; }
.btn-primary:hover { background:transparent; color:var(--terra-mid); transform:translateY(-3px) scale(1.02); box-shadow:0 10px 40px rgba(184,92,56,0.25); }
.btn-primary .arrow { transition:transform .4s cubic-bezier(0.34,1.56,0.64,1); }
.btn-primary:hover .arrow { transform:translateX(8px); }
.btn-ghost { display:inline-flex; align-items:center; gap:10px; font-family:var(--body); font-weight:600; font-size:0.88rem; padding:16px 32px; background:transparent; color:#F2EDE6; border-radius:4px; border:1px solid rgba(242,237,230,0.25); letter-spacing:0.02em; transition:all .3s ease; text-decoration:none; }
.btn-ghost:hover { border-color:rgba(242,237,230,0.7); background:rgba(242,237,230,0.06); transform:translateY(-3px); }
.hero-stat-item { text-align:right; }
.hero-stat-num { font-family:var(--display); font-weight:700; font-size:2.2rem; color:#F2EDE6; line-height:1; }
.hero-stat-label { font-family:var(--mono); font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(242,237,230,0.5); margin-top:4px; }

/* ========== GOLD DIVIDER ========== */
.gold-divider { height:2px; position:relative; z-index:2; overflow:hidden; background:rgba(230,196,110,0.18); }
.gold-divider::before { content:''; position:absolute; top:0; left:-40%; width:40%; height:100%; background:linear-gradient(90deg, transparent, #F3D98B, #FDF0CE, #F3D98B, transparent); box-shadow:0 0 14px rgba(243,217,139,0.7); animation:goldSweep 4s ease-in-out infinite; }
@keyframes goldSweep { 0% { left:-40%; } 50% { left:100%; } 100% { left:100%; } }

/* ========== SERVICES ========== */
.services-preview { padding:120px 80px; background:var(--bone); position:relative; z-index:2; }
.services-preview::before { content:'01'; position:absolute; top:60px; right:60px; font-family:var(--display); font-size:9rem; font-weight:900; color:rgba(28,34,38,0.04); line-height:1; pointer-events:none; letter-spacing:-0.04em; }
.section-eyebrow { font-family:var(--mono); font-size:0.66rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--terra); display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.section-eyebrow::before { content:''; width:20px; height:1px; background:var(--terra); }
.section-title { font-family:var(--display); font-weight:800; font-size:clamp(2rem,3.5vw,2.9rem); color:var(--slate); line-height:1.1; letter-spacing:-0.02em; margin-bottom:56px; }
.section-title em { font-style:italic; color:var(--terra); }
.service-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--ink-rule); border-radius:8px; overflow:hidden; }
.svc-card { padding:44px 32px; position:relative; overflow:hidden; background:var(--bone); transition:all .4s cubic-bezier(0.34,1.56,0.64,1); cursor:pointer; border-right:1px solid var(--ink-rule); }
.svc-card:last-child { border-right:none; }
.svc-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--terra); transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(0.34,1.56,0.64,1); }
.svc-card:hover::after { transform:scaleX(1); }
.svc-card:hover { background:var(--linen); transform:translateY(-5px); box-shadow:0 10px 40px rgba(28,34,38,0.08); }
.svc-icon { width:52px; height:52px; border:1px solid var(--ink-rule); display:flex; align-items:center; justify-content:center; margin-bottom:28px; border-radius:4px; }
.svc-icon i { font-size:1.3rem; color:var(--terra); }
.svc-card h4 { font-family:var(--display); font-weight:700; font-size:1.1rem; margin-bottom:10px; color:var(--slate); }
.svc-card p { color:var(--slate-muted); font-size:0.88rem; line-height:1.65; }
.svc-num { position:absolute; top:24px; right:24px; font-family:var(--mono); font-size:0.7rem; color:rgba(28,34,38,0.12); }

/* ========== PROJECTS ========== */
.projects-preview { padding:0 80px 120px; background:var(--bone); position:relative; z-index:2; }
.proj-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.proj-row.three { grid-template-columns:1fr 1fr 1fr; }
.proj-card { position:relative; overflow:hidden; height:380px; cursor:pointer; border-radius:8px; }
.proj-card.tall { height:440px; }
.proj-bg { position:absolute; inset:0; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.proj-card:hover .proj-bg { transform:scale(1.08); }
.proj-bg.v1 { background:url('bram nirman/chinmaya-university-piravom.webp') center/cover no-repeat; }
.proj-bg.v2 { background:url('bram nirman/advocates-academy.jpg') center/cover no-repeat; }
.proj-bg.v3 { background:url('bram nirman/avhss_school_building___kurichi_23.webp') center/cover no-repeat; }
.proj-bg.v4 { background:url('bram nirman/sdc-front.webp') center/cover no-repeat; }
.proj-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,rgba(28,34,38,0.9) 100%); z-index:2; display:flex; flex-direction:column; justify-content:flex-end; padding:36px; }
.proj-title { font-family:var(--display); font-weight:700; font-size:1.3rem; margin-bottom:7px; color:#F2EDE6; }
.proj-meta { font-family:var(--mono); font-size:0.65rem; letter-spacing:.06em; text-transform:uppercase; color:rgba(242,237,230,0.5); }
.proj-cta { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; background:rgba(184,92,56,0.9); opacity:0; transition:all .4s; }
.proj-card:hover .proj-cta { opacity:1; }
.proj-cta span { font-family:var(--display); font-weight:700; font-size:1rem; color:#fff; display:flex; align-items:center; gap:12px; }
.proj-cta span::after { content:'→'; }

/* ========== ABOUT STRIP ========== */
.about-strip { padding:100px 80px; background:var(--slate); display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; position:relative; z-index:2; }
.about-strip h2 { font-family:var(--display); font-weight:800; font-size:clamp(1.8rem,3vw,2.6rem); color:#F2EDE6; line-height:1.15; margin-bottom:20px; }
.about-strip h2 em { font-style:italic; color:var(--terra); }
.about-strip p { color:rgba(242,237,230,0.6); line-height:1.8; font-size:0.97rem; margin-bottom:28px; }
.figure-row { display:flex; gap:48px; margin-top:40px; padding-top:32px; border-top:1px solid rgba(255,255,255,0.08); }
.fig-item .n { font-family:var(--display); font-weight:800; font-size:2.2rem; color:var(--terra); line-height:1; }
.fig-item .l { font-family:var(--mono); font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(242,237,230,0.4); margin-top:5px; }
.reg-info { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:8px; overflow:hidden; }
.reg-row { padding:18px 28px; border-bottom:1px solid rgba(255,255,255,0.05); }
.reg-row:last-child { border-bottom:none; }
.reg-label { font-family:var(--mono); font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(242,237,230,0.35); margin-bottom:5px; }
.reg-value { font-size:0.93rem; color:#F2EDE6; font-weight:500; }

/* ========== CAPABILITIES ========== */
.cap-strip { padding:100px 80px; background:var(--cream); position:relative; z-index:2; }
.cap-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:0; border:1px solid var(--ink-rule); margin-top:48px; border-radius:8px; overflow:hidden; }
.cap-item { padding:36px 20px; text-align:center; border-right:1px solid var(--ink-rule); background:var(--cream); transition:all .4s; position:relative; }
.cap-item:last-child { border-right:none; }
.cap-item:hover { background:var(--bone); transform:translateY(-5px); box-shadow:0 10px 40px rgba(28,34,38,0.08); z-index:2; }
.cap-item i { font-size:1.5rem; color:var(--terra-deep); margin-bottom:14px; display:block; }
.cap-item h5 { font-family:var(--display); font-weight:700; font-size:0.9rem; color:var(--slate); margin-bottom:4px; }
.cap-item p { color:var(--slate-muted); font-size:0.73rem; line-height:1.4; }

/* ========== CTA ========== */
.cta-section { padding:120px 80px; text-align:center; background:var(--linen); position:relative; overflow:hidden; z-index:2; }
.cta-section h2 { font-family:var(--display); font-weight:800; font-size:clamp(2rem,3.5vw,3rem); color:var(--slate); letter-spacing:-0.02em; margin-bottom:14px; }
.cta-section p { color:var(--slate-muted); font-size:1rem; margin-bottom:36px; }

/* ========== INNER PAGES ========== */
.inner-page { padding-top:calc(124px + env(safe-area-inset-top)); }
.inner-hero { padding:100px 80px 80px; background:var(--slate); border-bottom:4px solid var(--terra); position:relative; overflow:hidden; }
.inner-hero::before { content:''; position:absolute; inset:0; background-image: repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(255,255,255,0.025) 79px,rgba(255,255,255,0.025) 80px), repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(255,255,255,0.025) 79px,rgba(255,255,255,0.025) 80px); pointer-events:none; }
.inner-hero .page-eyebrow { font-family:var(--mono); font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--terra); display:flex; align-items:center; gap:10px; margin-bottom:20px; position:relative; }
.inner-hero .page-eyebrow::before { content:''; width:20px; height:1px; background:var(--terra); }
.inner-hero h1 { font-family:var(--display); font-weight:800; font-size:clamp(2.4rem,4.5vw,3.8rem); color:#F2EDE6; line-height:1.05; letter-spacing:-0.025em; max-width:700px; position:relative; }
.inner-hero h1 em { font-style:italic; color:var(--terra); }
.inner-hero .sub { color:rgba(242,237,230,0.55); max-width:520px; font-size:1rem; line-height:1.7; margin-top:18px; position:relative; }
.inner-content { padding:80px; }

/* ========== ABOUT STORY ========== */
.about-story { padding-bottom:96px; }
.story-grid { display:grid; grid-template-columns:1.32fr 0.72fr; gap:64px; align-items:start; }
.story-grid h3 { font-family:var(--display); font-weight:700; font-size:1.55rem; color:var(--slate); margin-bottom:18px; }
.story-grid p { color:#061929; line-height:1.8; margin-bottom:1.05rem; font-size:0.98rem; }
.story-grid strong { color:var(--slate); }
.chairman-card { background:var(--terra-pale); border-radius:10px; padding:40px 32px; position:relative; overflow:hidden; text-align:center; }
.chairman-photo { width:108px; height:108px; border-radius:50%; overflow:hidden; border:3px solid var(--terra); margin:0 auto 22px; box-shadow:0 10px 34px rgba(0,0,0,0.35); position:relative; z-index:2; }
.chairman-photo img { width:100%; height:100%; object-fit:cover; }
.chairman-mark { font-family:var(--display); font-size:2.6rem; font-weight:800; color:var(--terra); line-height:0.5; margin-bottom:14px; opacity:0.85; position:relative; z-index:2; }
.chairman-quote { font-family:var(--display); font-weight:500; font-style:italic; font-size:1.06rem; line-height:1.62; color:#0c0c0b; margin-bottom:20px; position:relative; z-index:2; }
.chairman-name { font-family:var(--mono); font-size:0.76rem; color:rgba(28,34,38,0.55); position:relative; z-index:2; padding-top:16px; border-top:1px solid rgba(28,34,38,0.12); }
.chairman-name b { display:block; color:var(--terra-deep); font-size:0.96rem; font-family:var(--display); font-weight:700; margin-bottom:3px; }
.leadership-row { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid rgba(28,34,38,0.12); position:relative; z-index:2; }
.leadership-row .l-name { font-family:var(--mono); font-size:0.76rem; color:rgba(28,34,38,0.55); }
.leadership-row .l-name b { color:var(--terra-deep); font-family:var(--display); font-weight:700; font-style:normal; }

/* ========== WHY CHOOSE US ========== */
.why-section { padding-bottom:96px; }
.why-choose-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.why-item { background:var(--bone); border:1px solid var(--ink-rule); padding:26px 24px; border-radius:8px; transition:all .35s; position:relative; overflow:hidden; }
.why-item::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--terra); transform:scaleX(0); transform-origin:left; transition:transform .45s; }
.why-item:hover::after { transform:scaleX(1); }
.why-item:hover { transform:translateY(-5px); box-shadow:0 10px 32px rgba(28,34,38,0.09); border-color:var(--terra); }
.why-item i { font-size:1.4rem; color:var(--terra); margin-bottom:14px; display:block; }
.why-item h5 { font-family:var(--display); font-weight:700; font-size:1rem; margin-bottom:7px; color:var(--slate); }
.why-item p { color:#081725; font-size:0.87rem; line-height:1.55; }

/* ========== TIMELINE ========== */
.journey-section { background:var(--linen); border-radius:16px; padding:64px 56px; margin-bottom:96px; position:relative; overflow:hidden; }
.journey-section .section-eyebrow, .journey-section .section-title { position:relative; z-index:1; }
.journey-section .section-title { margin-bottom:0; text-align:center; }
.journey-section .section-eyebrow { justify-content:center; }
.timeline { position:relative; max-width:860px; margin:56px auto 0; z-index:1; }
.timeline::before { content:''; position:absolute; left:50%; top:6px; bottom:6px; width:2px; background-image:linear-gradient(to bottom, var(--terra) 0 8px, transparent 8px 16px); background-size:2px 16px; transform:translateX(-50%); opacity:0.55; }
.timeline-item { position:relative; display:grid; grid-template-columns:1fr 56px 1fr; align-items:center; margin-bottom:14px; }
.timeline-dot-wrap { grid-column:2; display:flex; justify-content:center; position:relative; z-index:2; }
.timeline-dot { width:16px; height:16px; border-radius:50%; background:var(--terra); border:3px solid var(--linen); box-shadow:0 0 0 4px rgba(184,92,56,0.16); }
.t-content { background:var(--bone); border:1px solid var(--ink-rule); border-radius:8px; padding:18px 22px; }
.timeline-item.left .t-content { grid-column:1; text-align:right; margin-right:26px; }
.timeline-item.right .t-content { grid-column:3; text-align:left; margin-left:26px; }
.t-year { font-family:var(--mono); font-size:0.68rem; letter-spacing:.08em; color:var(--terra); font-weight:600; display:block; margin-bottom:3px; }
.t-label { font-family:var(--display); font-weight:700; font-size:0.98rem; color:var(--slate); margin-bottom:3px; }
.t-desc { font-family:var(--body); font-size:0.82rem; color:var(--slate-muted); }

/* ========== COMPANY DETAILS BAR ========== */
.details-bar { background:var(--slate); border-radius:12px; display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; }
.details-bar .d-item { padding:32px 28px; border-right:1px solid rgba(255,255,255,0.08); min-width:0; }
.details-bar .d-item:last-child { border-right:none; }
.details-bar .d-item i { color:var(--terra); font-size:1.25rem; margin-bottom:14px; display:block; }
.details-bar .d-label { font-family:var(--mono); font-size:0.6rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(242,237,230,0.35); margin-bottom:6px; }
.details-bar .d-value { font-size:0.91rem; color:#F2EDE6; font-weight:500; line-height:1.4; overflow-wrap:break-word; word-break:break-word; }

/* ========== TESTIMONIALS ========== */
.testimonials-section { padding-bottom:96px; }
.testimonial-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.testimonial-card { background:var(--bone); border:1px solid var(--ink-rule); border-radius:8px; padding:32px 28px; }
.testimonial-card .t-mark { font-family:var(--display); font-size:2.2rem; font-weight:800; color:var(--terra); line-height:0.5; margin-bottom:12px; opacity:0.7; display:block; }
.testimonial-card .t-quote { font-family:var(--display); font-style:italic; font-size:1rem; line-height:1.6; color:var(--slate); margin-bottom:18px; }
.testimonial-card .t-author { font-family:var(--mono); font-size:0.76rem; color:var(--slate-muted); padding-top:14px; border-top:1px solid var(--ink-rule); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.testimonial-card .t-author b { display:block; color:var(--slate); font-family:var(--display); font-weight:700; font-size:0.9rem; margin-bottom:2px; }
.testimonial-card .t-loc { display:inline-flex; align-items:center; gap:5px; color:var(--terra); font-size:0.7rem; letter-spacing:0.04em; text-transform:uppercase; }

/* ========== FAQ ========== */
.faq-section { padding-bottom:96px; }
.faq-list { max-width:820px; }
.faq-item { border:1px solid var(--ink-rule); border-radius:8px; margin-bottom:14px; overflow:hidden; background:var(--bone); }
.faq-item.open, .faq-item:hover { border-color:var(--terra); }
.faq-q { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 26px; cursor:pointer; background:none; border:none; width:100%; text-align:left; font-family:var(--display); font-weight:700; font-size:1.02rem; color:var(--slate); }
.faq-q:hover { color:var(--terra); }
.faq-q .faq-icon { flex-shrink:0; width:28px; height:28px; border:1px solid var(--ink-rule); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:transform .35s, border-color .3s; color:var(--terra); }
.faq-item.open .faq-q .faq-icon { transform:rotate(45deg); border-color:var(--terra); background:var(--terra-pale); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s; }
.faq-a p { padding:0 26px 22px; color:var(--slate-muted); font-size:0.92rem; line-height:1.7; }

/* ========== PROJECTS PAGE ========== */
.projects-filter { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:40px; }
.filter-btn { font-family:var(--mono); font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; padding:10px 22px; border:1px solid var(--ink-rule); color:var(--slate-muted); transition:all .3s; background:transparent; cursor:pointer; border-radius:4px; }
.filter-btn.active, .filter-btn:hover { border-color:var(--terra); color:var(--terra); background:var(--terra-pale); transform:translateY(-2px); box-shadow:0 4px 20px rgba(184,92,56,0.15); }
.projects-full-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pfull-card { background:var(--bone); border:1px solid var(--ink-rule); overflow:hidden; transition:all .4s; border-radius:8px; }
.pfull-card:hover { transform:translateY(-8px) scale(1.01); box-shadow:0 20px 60px -14px rgba(28,34,38,0.2); border-color:var(--terra); }
.pfull-thumb { height:230px; position:relative; overflow:hidden; }
.pfull-thumb-bg { position:absolute; inset:0; transition:transform .6s; }
.pfull-card:hover .pfull-thumb-bg { transform:scale(1.08); }
.pfull-thumb-bg.c1 { background:url('bram nirman/chinmaya vishwavidyapeeth 1.jpeg') center/cover no-repeat; }
.pfull-thumb-bg.c2 { background:url('bram nirman/advocates-academy.jpg') center/cover no-repeat; }
.pfull-thumb-bg.c3 { background:url('bram nirman/avhss_school_building___kurichi_23.webp') center/cover no-repeat; }
.pfull-thumb-bg.c4 { background:url('bram nirman/VNSS, Kanichukulangara 1 sketch .jpeg') center/cover no-repeat; }
.pfull-thumb-bg.c6 { background:url('bram nirman/sdc-front.webp') center/cover no-repeat; }
.pfull-thumb::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.5) 100%); pointer-events:none; z-index:1; }
.pfull-body { padding:22px 24px 26px; }
.pfull-body h4 { font-family:var(--display); font-weight:700; font-size:1.05rem; margin-bottom:6px; color:var(--slate); }
.pfull-meta { font-family:var(--mono); font-size:0.64rem; letter-spacing:.05em; text-transform:uppercase; color:var(--slate-muted); margin-bottom:9px; }
.pfull-body p { color:#061a2d; font-size:0.86rem; line-height:1.55; }
.pfull-card.filtered-out { display:none; }

/* ========== CONTACT PAGE ========== */
.contact-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:56px; align-items:start; }
.contact-card { background:var(--bone); border:1px solid var(--ink-rule); overflow:hidden; margin-bottom:18px; border-radius:8px; }
.cc-head { background:var(--linen); padding:22px 26px; border-bottom:1px solid var(--ink-rule); }
.cc-head i { font-size:1.2rem; color:var(--terra); margin-bottom:9px; display:block; }
.cc-head .title { font-family:var(--display); font-weight:700; font-size:0.98rem; color:var(--slate); }
.cc-row { padding:16px 26px; border-bottom:1px solid var(--ink-rule); }
.cc-row:last-child { border-bottom:none; padding-bottom:22px; }
.cc-label { font-family:var(--mono); font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--slate-muted); margin-bottom:5px; }
.cc-value { font-size:0.93rem; color:var(--slate); font-weight:500; }
.brochure-card { background:var(--terra-pale); border:1px solid rgba(184,92,56,0.25); border-radius:8px; padding:26px; margin-bottom:18px; display:flex; align-items:center; gap:18px; }
.brochure-card i.brochure-icon { font-size:1.8rem; color:var(--terra-deep); flex-shrink:0; }
.brochure-card .b-text { flex:1; }
.brochure-card .b-text h5 { font-family:var(--display); font-weight:700; font-size:0.98rem; color:var(--slate); margin-bottom:4px; }
.brochure-card .b-text p { font-size:0.82rem; color:var(--slate-muted); }
.brochure-card .btn-primary { padding:11px 20px; font-size:0.78rem; color:#fff; white-space:nowrap; }
.form-section { background:var(--bone); border:1px solid var(--ink-rule); padding:40px; border-radius:8px; }
.form-section h3 { font-family:var(--display); font-weight:700; font-size:1.25rem; margin-bottom:26px; color:var(--slate); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field label { font-family:var(--mono); font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--slate-muted); }
.field input, .field select, .field textarea { background:#fff; border:1px solid var(--ink-rule); padding:13px 15px; font-family:var(--body); font-size:16px; color:var(--slate); transition:border-color .25s,box-shadow .25s; resize:vertical; border-radius:4px; -webkit-appearance:none; appearance:none; }
.field select { background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%238A9299' d='M5.5 7.5l4.5 5 4.5-5z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; padding-right:38px; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--terra); box-shadow:0 0 0 3px rgba(184,92,56,0.12); }
.form-success { margin-top:14px; padding:13px 16px; background:var(--terra-pale); border:1px solid rgba(184,92,56,0.3); font-family:var(--mono); font-size:0.8rem; color:var(--terra); display:none; border-radius:4px; }

/* ========== CAREERS ========== */
.careers-hero { padding-top:calc(124px + env(safe-area-inset-top)); min-height:70svh; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--slate); }
.careers-hero-bg { position:absolute; inset:0; background:url('bram nirman/sample.jpeg') center/cover no-repeat; opacity:0.25; }
.careers-hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(28,34,38,0.7) 0%, rgba(28,34,38,0.9) 100%); }
.careers-hero-content { position:relative; z-index:2; max-width:800px; padding:60px 40px; }
.careers-hero-content .page-eyebrow { font-family:var(--mono); font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--terra); margin-bottom:20px; }
.careers-hero-content h1 { font-family:var(--display); font-weight:800; font-size:clamp(2.5rem,5vw,4rem); color:#F2EDE6; line-height:1.1; margin-bottom:20px; }
.careers-hero-content h1 em { font-style:italic; color:var(--terra); }
.careers-hero-content p { color:rgba(242,237,230,0.6); font-size:1.05rem; line-height:1.7; max-width:600px; margin:0 auto 30px; }
.careers-hero-stats { display:flex; justify-content:center; gap:60px; margin-top:30px; }
.careers-hero-stats .stat-item { text-align:center; }
.careers-hero-stats .stat-num { font-family:var(--display); font-size:2.5rem; font-weight:700; color:var(--terra); display:block; }
.careers-hero-stats .stat-label { font-family:var(--mono); font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(242,237,230,0.4); }
.careers-layout { display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start; padding:80px; background:var(--bone); }
.perks-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--ink-rule); margin-top:28px; border-radius:8px; overflow:hidden; }
.perk { padding:28px 22px; transition:all .3s; border-right:1px solid var(--ink-rule); border-bottom:1px solid var(--ink-rule); background:var(--bone); }
.perk:nth-child(even) { border-right:none; }
.perk:nth-last-child(-n+2) { border-bottom:none; }
.perk:hover { background:var(--linen); transform:translateY(-3px); }
.perk i { color:var(--terra); font-size:1.3rem; margin-bottom:11px; display:block; }
.perk h5 { font-family:var(--display); font-weight:700; font-size:0.92rem; margin-bottom:4px; color:var(--slate); }
.perk p { color:var(--slate-muted); font-size:0.78rem; line-height:1.45; }
.careers-text p { color:var(--slate-muted); line-height:1.78; margin-bottom:1rem; }
.roles-list { border-top:1px solid var(--ink-rule); }
.role-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; border-bottom:1px solid var(--ink-rule); transition:all .3s; flex-wrap:wrap; border-radius:4px; }
.role-row:hover { padding-left:16px; background:var(--linen); border-color:var(--terra); }
.role-info h4 { font-family:var(--display); font-weight:700; font-size:1.05rem; margin-bottom:7px; color:var(--slate); }
.role-tags { display:flex; gap:7px; flex-wrap:wrap; }
.role-tags span { font-family:var(--mono); font-size:0.63rem; letter-spacing:.04em; text-transform:uppercase; color:var(--slate-muted); border:1px solid var(--ink-rule); padding:3px 10px; border-radius:2px; }
.role-apply { font-family:var(--mono); font-size:0.78rem; color:var(--terra); display:flex; align-items:center; gap:8px; text-decoration:none; padding:8px 16px; border:1px solid transparent; border-radius:4px; transition:all 0.3s; }
.role-apply:hover { background:var(--terra-pale); border-color:var(--terra); }
.open-application { margin-top:36px; padding:28px; background:var(--terra-pale); border:1px solid rgba(184,92,56,0.25); border-radius:8px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; }
.open-application p { color:var(--slate-muted); font-size:0.94rem; max-width:380px; }

/* ========== WHATSAPP ========== */
.whatsapp-chat { position:fixed; bottom:calc(30px + env(safe-area-inset-bottom)); right:calc(30px + env(safe-area-inset-right)); z-index:999; }
.whatsapp-chat .whatsapp-btn { display:flex; align-items:center; justify-content:center; width:60px; height:60px; background:#25D366; color:#fff; border-radius:50%; text-decoration:none; box-shadow:0 8px 30px rgba(37,211,102,0.35); transition:all 0.3s; }
.whatsapp-chat .whatsapp-btn:hover { transform:translateY(-3px) scale(1.08); box-shadow:0 12px 40px rgba(37,211,102,0.45); }
.whatsapp-chat .whatsapp-btn i { font-size:1.8rem; }

/* ========== FOOTER ========== */
.footer { background:var(--slate); border-top:1px solid rgba(255,255,255,0.06); padding:32px 80px 18px; position:relative; z-index:2; }
.footer-grid { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:24px; margin-bottom:16px; }
.footer-brand p { color:rgba(242,237,230,0.45); font-size:0.86rem; line-height:1.5; margin:-6px 0 10px; max-width:260px; }
.social-row { display:flex; gap:8px; }
.social-link { width:34px; height:34px; display:flex; align-items:center; justify-content:center; font-size:0.82rem; color:rgba(242,237,230,0.5); transition:all .3s; text-decoration:none; border-radius:4px; }
.social-link:hover { background:var(--terra); color:#fff; transform:translateY(-3px) scale(1.1); }
.footer h5 { font-family:var(--mono); font-size:0.66rem; text-transform:uppercase; letter-spacing:0.12em; color:rgba(242,237,230,0.3); margin-bottom:10px; }
.footer a { display:block; color:rgba(242,237,230,0.55); margin-bottom:6px; font-size:0.88rem; transition:all .3s; text-decoration:none; }
.footer a:hover { color:var(--terra); transform:translateX(4px); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.06); padding-top:14px; display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.footer-bottom span { font-family:var(--mono); font-size:0.68rem; color:rgba(242,237,230,0.25); }

/* ========== REVEAL ========== */
.reveal { opacity:0; transform:translateY(40px); transition:opacity .7s, transform .7s; }
.reveal.visible { opacity:1; transform:translateY(0); }
.stagger .reveal:nth-child(1) { transition-delay:0ms; }
.stagger .reveal:nth-child(2) { transition-delay:80ms; }
.stagger .reveal:nth-child(3) { transition-delay:160ms; }
.stagger .reveal:nth-child(4) { transition-delay:240ms; }
.stagger .reveal:nth-child(5) { transition-delay:320ms; }
.stagger .reveal:nth-child(6) { transition-delay:400ms; }

/* ========== RESPONSIVE ========== */
@media(max-width:1100px){
  .hero { grid-template-columns:1fr; }
  .hero-right { height:350px; display:block; }
  .hero-left { padding:80px 48px; }
  .services-preview, .projects-preview, .about-strip, .cap-strip, .cta-section, .inner-content, .footer { padding-left:48px; padding-right:48px; }
  .inner-hero { padding:80px 48px 60px; }
  .service-cards { grid-template-columns:repeat(2,1fr); }
  .cap-grid { grid-template-columns:repeat(3,1fr); }
  .story-grid, .careers-layout, .contact-layout, .about-strip, .footer-grid { grid-template-columns:1fr; }
  .chairman-card { max-width:420px; margin:0 auto; }
  .projects-full-grid { grid-template-columns:repeat(2,1fr); }
  .careers-hero-stats { gap:30px; flex-wrap:wrap; }
  .proj-row.three { grid-template-columns:1fr 1fr; }
  .why-choose-grid { grid-template-columns:1fr 1fr; }
  .journey-section { padding:48px 32px; }
  .details-bar { grid-template-columns:1fr 1fr; }
  .details-bar .d-item:nth-child(2) { border-right:none; }
  .testimonial-grid { grid-template-columns:1fr; }
  .nav-toggle { display:flex; }
  nav { position:fixed; top:0; right:0; height:calc(var(--vh, 1vh) * 100); width:min(320px,80vw); background:rgba(8,11,14,0.98); flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:6px; padding:100px 32px calc(32px + env(safe-area-inset-bottom)); transform:translateX(100%); transition:transform .4s; box-shadow:-10px 0 40px rgba(0,0,0,0.35); z-index:290; overflow-y:auto; }
  nav.open { transform:translateX(0); }
  nav a { width:100%; padding:14px 0; font-size:1rem; border-bottom:1px solid rgba(255,255,255,0.07); }
  nav a::after { display:none; }
  nav .nav-cta, nav .nav-secondary { margin-top:18px; text-align:center; width:100%; justify-content:center; }
}
@media(max-width:768px){
  .header { padding:0 20px; height:140px; }
  .logo img { height:120px; }
  .careers-hero-content h1 { font-size:2rem; }
  .careers-layout { padding:40px 24px; }
  .whatsapp-chat { bottom:calc(20px + env(safe-area-inset-bottom)); right:calc(20px + env(safe-area-inset-right)); }
  .whatsapp-btn { width:50px; height:50px; }
  .whatsapp-btn i { font-size:1.4rem; }
  .proj-row.three { grid-template-columns:1fr; }
  .why-choose-grid { grid-template-columns:1fr; }
  .journey-section { padding:40px 22px; }
  .timeline::before { left:18px; }
  .timeline-item, .timeline-item.left, .timeline-item.right { grid-template-columns:40px 1fr; gap:14px; }
  .timeline-dot-wrap { grid-column:1; }
  .timeline-item.left .t-content, .timeline-item.right .t-content { grid-column:2; margin:0; text-align:left; }
  .hero-right-stat { flex-wrap:wrap; gap:20px; padding:28px; }
  .hero-stat-item { text-align:left; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn-primary, .hero-actions .btn-ghost { justify-content:center; }
  .figure-row { gap:28px; flex-wrap:wrap; }
  .brochure-card { flex-direction:column; text-align:center; }
}
@media(max-width:640px){
  .header { padding:0 16px; height:130px; }
  .hero-left { padding:60px 24px; }
  .services-preview, .projects-preview, .about-strip, .cap-strip, .cta-section, .inner-content, .footer { padding-left:24px; padding-right:24px; }
  .inner-hero { padding:70px 24px 44px; }
  .service-cards, .cap-grid { grid-template-columns:1fr; }
  .svc-card { border-right:none; border-bottom:1px solid var(--ink-rule); }
  .cap-item { border-right:none; border-bottom:1px solid var(--ink-rule); }
  .proj-row { grid-template-columns:1fr; }
  .proj-card, .proj-card.tall { height:280px; }
  .form-row { grid-template-columns:1fr; }
  .projects-full-grid { grid-template-columns:1fr; }
  .perks-grid { grid-template-columns:1fr; }
  .perk { border-right:none; }
  .hero { padding-top:130px; }
  .inner-page { padding-top:130px; }
  .careers-hero { padding-top:130px; min-height:60vh; }
  .careers-hero-content { padding:40px 20px; }
  .careers-hero-content h1 { font-size:1.8rem; }
  .careers-hero-stats { gap:24px; }
  .careers-hero-stats .stat-num { font-size:1.6rem; }
  .careers-layout { padding:30px 16px; }
  .details-bar { grid-template-columns:1fr 1fr; }
  .details-bar .d-item { border-bottom:1px solid rgba(255,255,255,0.08); padding:22px 18px; }
  .form-section { padding:26px 20px; }
  .open-application { flex-direction:column; align-items:flex-start; padding:22px; }
  .chairman-card { padding:32px 22px; }
  .cta-section, .services-preview, .cap-strip { padding-top:70px; padding-bottom:70px; }
  .about-strip { padding-top:60px; padding-bottom:60px; gap:40px; }
  .faq-q { padding:18px 20px; font-size:0.94rem; }
  .faq-a p { padding:0 20px 18px; }
}
@media(prefers-reduced-motion:reduce){
  * { animation-duration:0.01ms!important; transition-duration:0.01ms!important; }
}
@media (prefers-reduced-motion: reduce), (max-width: 480px) {
  .bg-particles { display: none; }
}
