/* =====================================================
   GROWTH LINE – inner page components
   ===================================================== */
.section{padding:110px 0}
.section.alt{background:#faf7f2}
.section.dark{background:var(--navy-2);color:#fff}
.section.dark .h2{color:#fff}
.section.dark .eyebrow{color:#bfb8ad}
.section-head{max-width:720px;margin:0 auto 60px;text-align:center}
.section-head .eyebrow{justify-content:center}
.section-head .eyebrow::after{content:"";width:40px;height:1px;background:var(--gold-2)}
.section-head p{color:var(--muted);margin-top:18px;font-size:16.5px}
.section.dark .section-head p{color:#bdb7ad}

/* page hero */
.page-hero{position:relative;min-height:540px;display:flex;align-items:flex-end;color:#fff;background-color:var(--navy);background-position:center;background-size:cover;background-repeat:no-repeat;padding:180px 0 90px;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,34,45,.95) 0%,rgba(21,34,45,.75) 45%,rgba(21,34,45,.3) 100%),linear-gradient(0deg,rgba(15,24,32,.7),transparent 50%)}
html[dir=rtl] .page-hero::before{background:linear-gradient(270deg,rgba(21,34,45,.95) 0%,rgba(21,34,45,.75) 45%,rgba(21,34,45,.3) 100%),linear-gradient(0deg,rgba(15,24,32,.7),transparent 50%)}
.page-hero .container{position:relative;z-index:1}
.page-hero .eyebrow{color:#d7d1c7}
.page-hero h1{font:500 clamp(44px,5.5vw,76px)/1.05 var(--serif);max-width:780px}
html[dir=rtl] .page-hero h1{font-family:var(--ar);line-height:1.3}
.page-hero h1 .gold{background:linear-gradient(180deg,var(--gold-light),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero p{margin-top:20px;max-width:560px;font-size:18px;font-weight:300;color:#e1ddd6}
.crumbs{display:flex;gap:10px;margin-top:34px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#bdb7ad}
html[dir=rtl] .crumbs{letter-spacing:0;font-size:15px}
.crumbs a:hover{color:var(--gold)}
.crumbs b{color:var(--gold);font-weight:400}

/* split image + text */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split.rev .split-img{order:2}
.split-img{position:relative}
.split-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.split-img .badge{position:absolute;inset-inline-end:-30px;bottom:40px;background:var(--navy-2);color:#fff;padding:30px 34px;min-width:200px}
.split-img .badge b{display:block;font:500 54px/1 var(--serif);color:var(--gold)}
.split-img .badge span{font-size:14px;color:#cfcac2}
.split-text p{color:var(--muted);margin-top:20px;font-size:16.5px}
.checks{list-style:none;margin-top:28px;display:grid;gap:14px}
.checks li{display:flex;gap:14px;align-items:flex-start;font-size:15.5px}
.checks li::before{content:"";flex:none;width:20px;height:20px;margin-top:3px;border:1px solid var(--gold-2);border-radius:50%;background:radial-gradient(circle,var(--gold-2) 0 3px,transparent 4px)}

/* mission / vision cards */
.mv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mv{background:#fff;padding:48px 40px;border-top:2px solid var(--gold);box-shadow:0 20px 50px rgba(22,34,45,.06);transition:.35s}
.mv:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(22,34,45,.1)}
.mv svg{width:42px;height:42px;color:var(--gold-2);margin-bottom:22px}
.mv h3{font:500 28px/1.2 var(--serif);margin-bottom:12px}
html[dir=rtl] .mv h3{font-family:var(--ar);font-size:24px}
.mv p{color:var(--muted);font-size:15.5px}

/* values grid (dark) */
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);border-inline-start:1px solid rgba(255,255,255,.12)}
.val{padding:44px 38px;border-bottom:1px solid rgba(255,255,255,.12);border-inline-end:1px solid rgba(255,255,255,.12);transition:.35s}
.val:hover{background:rgba(217,178,122,.06)}
.val b{font:500 40px/1 var(--serif);color:var(--gold)}
.val h4{font:500 19px/1.3 var(--sans);margin:18px 0 10px}
html[dir=rtl] .val h4{font-family:var(--ar)}
.val p{color:#bdb7ad;font-size:15px}

/* timeline */
.timeline{position:relative;max-width:980px;margin:auto}
.timeline::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line)}
.tl{position:relative;width:50%;padding:0 56px 56px}
.tl:nth-child(odd){text-align:end}
.tl:nth-child(even){margin-inline-start:50%}
.tl::after{content:"";position:absolute;top:8px;width:15px;height:15px;border-radius:50%;background:var(--cream);border:2px solid var(--gold-2)}
.tl:nth-child(odd)::after{inset-inline-end:-8px}
.tl:nth-child(even)::after{inset-inline-start:-7px}
html[dir=rtl] .timeline::before{left:auto;right:50%}
.tl span{font:500 34px/1 var(--serif);color:var(--gold-2)}
.tl h4{font:500 19px/1.3 var(--sans);margin:10px 0 8px}
html[dir=rtl] .tl h4{font-family:var(--ar)}
.tl p{color:var(--muted);font-size:15px}

/* project filters + grid */
.filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:50px}
.filters button{font:inherit;font-size:14px;padding:11px 24px;border-radius:40px;border:1px solid #cfc6b8;background:none;cursor:pointer;color:var(--ink);transition:.25s}
.filters button:hover{border-color:var(--gold-2);color:var(--gold-2)}
.filters button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pcard{background:#fff;box-shadow:0 20px 50px rgba(22,34,45,.06);transition:transform .4s,box-shadow .4s;display:flex;flex-direction:column}
.pcard.hide{display:none}
.pcard:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(22,34,45,.12)}
.pimg{position:relative;overflow:hidden;aspect-ratio:4/3}
.pimg img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.pcard:hover .pimg img{transform:scale(1.07)}
.tagc{position:absolute;top:18px;inset-inline-start:18px;background:rgba(15,24,32,.85);color:var(--gold);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:7px 14px}
.status{position:absolute;top:18px;inset-inline-end:18px;background:var(--gold);color:#111;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px}
html[dir=rtl] .tagc,html[dir=rtl] .status{letter-spacing:0;font-size:13px}
.pbody{padding:28px 30px 30px;flex:1;display:flex;flex-direction:column}
.pcard h3{font:500 26px/1.2 var(--serif)}
html[dir=rtl] .pcard h3{font-family:var(--ar);font-size:22px}
.loc{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:14px;margin:8px 0 14px}
.loc svg{width:15px;height:15px;color:var(--gold-2);flex:none}
.pcard p{color:var(--muted);font-size:14.5px;flex:1}
.pmeta{display:flex;gap:26px;margin-top:22px;padding-top:18px;border-top:1px solid var(--cream-2)}
.pmeta small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
html[dir=rtl] .pmeta small{letter-spacing:0;font-size:13px}
.pmeta b{font:500 16px var(--sans)}

/* service detail rows */
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:60px 0}
.svc-row+.svc-row{border-top:1px solid var(--cream-2)}
.svc-row:nth-child(even) .svc-row-img{order:2}
.svc-row-img{position:relative}
.svc-row-img img{width:100%;aspect-ratio:5/4;object-fit:cover}
.svc-row-img .num{position:absolute;top:-30px;inset-inline-start:-18px;font:500 110px/1 var(--serif);color:var(--gold);text-shadow:0 6px 30px rgba(0,0,0,.25)}
.svc-row h3{font:500 clamp(30px,3vw,42px)/1.15 var(--serif)}
html[dir=rtl] .svc-row h3{font-family:var(--ar)}
.svc-row p{color:var(--muted);margin-top:18px;font-size:16.5px}
.svc-row .btn{margin-top:32px}

/* process */
.process{display:grid;grid-template-columns:repeat(4,1fr);counter-reset:step}
.step{position:relative;padding:0 26px;text-align:center}
.step::before{counter-increment:step;content:"0" counter(step);display:grid;place-items:center;width:84px;height:84px;margin:0 auto 26px;border:1px solid var(--gold);border-radius:50%;font:500 30px var(--serif);color:var(--gold);background:var(--navy-2);position:relative;z-index:1}
.step::after{content:"";position:absolute;top:42px;left:50%;width:100%;height:1px;background:rgba(217,178,122,.35)}
html[dir=rtl] .step::after{left:auto;right:50%}
.step:last-child::after{display:none}
.step h4{font:500 19px/1.3 var(--sans);margin-bottom:10px}
html[dir=rtl] .step h4{font-family:var(--ar)}
.step p{color:#bdb7ad;font-size:15px}

/* why cards */
.why-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.wcard{background:#fff;padding:44px 38px;position:relative;overflow:hidden;transition:.35s;box-shadow:0 20px 50px rgba(22,34,45,.06)}
.wcard::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--gold-light),var(--gold-2));transform:scaleX(0);transition:.4s}
.wcard:hover::before{transform:scaleX(1)}
.wcard:hover{transform:translateY(-6px)}
.wcard .n{position:absolute;top:26px;inset-inline-end:30px;font:500 56px/1 var(--serif);color:var(--cream-2)}
.wcard svg{width:44px;height:44px;color:var(--gold-2);margin-bottom:22px}
.wcard h3{font:500 20px/1.3 var(--sans);margin-bottom:10px}
html[dir=rtl] .wcard h3{font-family:var(--ar)}
.wcard p{color:var(--muted);font-size:15px}

/* commitments (dark) */
.commit{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.commit>div{border:1px solid rgba(255,255,255,.12);padding:40px 36px;transition:.35s}
.commit>div:hover{border-color:var(--gold)}
.commit svg{width:40px;height:40px;color:var(--gold);margin-bottom:20px}
.commit h4{font:500 24px/1.3 var(--serif);color:#fff;margin-bottom:10px}
html[dir=rtl] .commit h4{font-family:var(--ar);font-size:20px}
.commit p{color:#bdb7ad;font-size:15px}

/* quote */
.quote{max-width:900px;margin:auto;text-align:center}
.quote svg{width:48px;height:48px;color:var(--gold);margin:0 auto 26px}
.quote blockquote{font:500 clamp(26px,3vw,38px)/1.35 var(--serif)}
html[dir=rtl] .quote blockquote{font-family:var(--ar);font-size:clamp(22px,2.6vw,32px)}
.quote cite{display:block;margin-top:26px;font-style:normal;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
html[dir=rtl] .quote cite{letter-spacing:0;font-size:15px}

/* FAQ */
.faq{max-width:900px;margin:auto}
.faq details{border-bottom:1px solid #ddd3c3}
.faq summary{list-style:none;cursor:pointer;padding:26px 0;display:flex;justify-content:space-between;gap:20px;font:500 19px/1.4 var(--sans)}
html[dir=rtl] .faq summary{font-family:var(--ar)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 30px/1 var(--sans);color:var(--gold-2);transition:.3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);padding:0 0 26px;max-width:760px}

/* contact page */
.info-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:-70px;position:relative;z-index:2}
.icard{background:#fff;padding:36px 30px;box-shadow:0 25px 60px rgba(22,34,45,.1);text-align:center}
.icard svg{width:34px;height:34px;color:var(--gold-2);margin:0 auto 16px}
.icard small{display:block;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
html[dir=rtl] .icard small{letter-spacing:0;font-size:14px}
.icard a,.icard span{font-size:16px}
.map{height:440px;filter:grayscale(.4) contrast(1.05)}
.map iframe{width:100%;height:100%;border:0;display:block}
.hours{margin-top:30px;background:var(--navy-2);color:#fff;padding:30px 32px}
.hours h4{font:500 22px var(--serif);color:var(--gold);margin-bottom:14px}
html[dir=rtl] .hours h4{font-family:var(--ar)}
.hours div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14.5px;color:#d5d0c8}
.contact.page{padding-top:110px}

@media (max-width:1020px){
  .split,.svc-row{grid-template-columns:1fr;gap:50px}
  .split.rev .split-img,.svc-row:nth-child(even) .svc-row-img{order:0}
  .split-img .badge{inset-inline-end:20px}
  .mv-grid,.why-cards,.commit,.proj-grid,.val-grid,.info-cards{grid-template-columns:1fr 1fr}
  .process{grid-template-columns:1fr 1fr;gap:50px 0}
  .step:nth-child(2)::after{display:none}
}
@media (max-width:640px){
  .section{padding:80px 0}
  .page-hero{min-height:440px;padding:150px 0 70px}
  .mv-grid,.why-cards,.commit,.proj-grid,.val-grid,.process,.info-cards{grid-template-columns:1fr}
  .info-cards{margin-top:-40px}
  .step::after{display:none}
  .timeline::before,html[dir=rtl] .timeline::before{left:auto;right:auto;inset-inline-start:7px}
  .tl,.tl:nth-child(even),.tl:nth-child(odd){width:100%;margin-inline-start:0;padding:0 0 44px;padding-inline-start:40px;text-align:start}
  .tl:nth-child(odd)::after,.tl:nth-child(even)::after{inset-inline-start:0;inset-inline-end:auto}
  .svc-row-img .num{font-size:80px;inset-inline-start:0}
  .split-img .badge{position:static}
}
