/* ==================================================
   AMANA: Design tokens
   ================================================== */
:root{
  --navy-950:#0b1d2e;
  --navy-900:#10283d;
  --navy-800:#17364f;

  --terracotta:#c4532d;
  --terracotta-dark:#a84422;
  --gold:#d9a441;
  --gold-soft:#f0d9a8;

  --cream:#faf7f2;
  --cream-dark:#f1ebe0;
  --white:#ffffff;
  --ink:#1d2530;
  --ink-soft:#5d6570;
  --border:#e7dfd0;

  --font-head:'Newsreader',Georgia,'Times New Roman',serif;
  --font-body:'Inter',system-ui,sans-serif;

  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:20px;
  --shadow-sm:0 1px 3px rgba(16,40,61,.08);
  --shadow-md:0 12px 30px rgba(16,40,61,.10);
  --shadow-lg:0 24px 60px rgba(16,40,61,.16);

  --ease:cubic-bezier(.25,.6,.3,1);
  --container:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern","liga","calt";
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:500;
  font-optical-sizing:auto;
  line-height:1.1;
  letter-spacing:-.01em;
  margin:0 0 .5em;
  color:var(--navy-950);
}
h3{font-weight:600;}
em{font-style:italic;}
p{margin:0 0 1em;color:var(--ink-soft);}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
svg{width:1em;height:1em;}
img{max-width:100%;display:block;}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}
.narrow{max-width:700px;}
.center{text-align:center;}
.center .lead, .center p{margin-left:auto;margin-right:auto;}
.muted{color:var(--ink-soft);}

/* ==================================================
   Buttons
   ================================================== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 26px;
  border-radius:var(--radius-sm);
  font-weight:600;
  font-size:.95rem;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s var(--ease), box-shadow .2s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--terracotta); color:var(--white);}
.btn-primary:hover{background:var(--terracotta-dark); transform:translateY(-1px); box-shadow:var(--shadow-md);}
.btn-outline{background:transparent; color:var(--navy-900); border:1.5px solid var(--navy-900);}
.btn-outline:hover{background:var(--navy-900); color:var(--white);}
.btn-outline-light{background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,.55);}
.btn-outline-light:hover{background:var(--white); color:var(--navy-900);}
.btn-ghost{background:transparent; color:var(--navy-900); padding-left:14px; padding-right:14px;}
.btn-ghost:hover{color:var(--terracotta);}
.btn-lg{padding:16px 30px; font-size:1rem;}
.btn-block{width:100%;}
.btn-text{
  font-weight:600;
  color:var(--navy-900);
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.95rem;
  border-bottom:1.5px solid currentColor;
  padding-bottom:2px;
  transition:gap .2s ease, color .2s ease;
}
.btn-text:hover{gap:10px; color:var(--terracotta);}
.btn-text svg{width:1.1em; height:1.1em;}
.on-dark .btn-text, .hero-photo .btn-text{color:var(--white);}
.on-dark .btn-text:hover, .hero-photo .btn-text:hover{color:var(--gold-soft);}

/* ==================================================
   Header
   ================================================== */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(250,247,242,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.site-header.scrolled{border-bottom-color:var(--border); box-shadow:0 2px 16px rgba(16,40,61,.05);}
section[id]{scroll-margin-top:88px;}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:76px;
  gap:24px;
  transition:height .25s ease;
}
.site-header.scrolled .header-inner{height:66px;}
.brand{
  font-family:var(--font-head);
  font-weight:600;
  font-size:1.6rem;
  color:var(--navy-950);
  letter-spacing:-.02em;
}
.nav{display:flex; gap:26px; flex:1; justify-content:center;}
.nav a{
  font-size:.92rem;
  font-weight:500;
  color:var(--ink-soft);
  white-space:nowrap;
  position:relative;
  padding:4px 0;
  transition:color .15s ease;
}
.nav a::after{
  content:'';
  position:absolute;
  left:0; right:100%;
  bottom:-2px;
  height:1.5px;
  background:var(--terracotta);
  transition:right .25s var(--ease);
}
.nav a:hover{color:var(--navy-950);}
.nav a:hover::after{right:0;}
.header-actions{display:flex; align-items:center; gap:10px;}
.header-cta-secondary{display:inline-flex;}
.header-actions .btn{padding:11px 20px; font-size:.9rem;}
.nav-toggle{display:none; flex-direction:column; gap:5px; padding:6px;}
.nav-toggle span{
  width:22px; height:2px;
  background:var(--navy-900);
  border-radius:2px;
  transition:transform .25s var(--ease), opacity .2s ease;
}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ==================================================
   Hero: photographic (homepage)
   ================================================== */
.hero{position:relative;}
.hero-photo{
  min-height:clamp(520px, 78vh, 700px);
  display:flex;
  align-items:center;
  color:var(--white);
}
.hero-media{position:absolute; inset:0; overflow:hidden; background:var(--navy-950);}
.hero-media img{
  width:100%; height:100%;
  object-fit:cover;
  animation:heroZoom 14s ease-out forwards;
}
.hero-media::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(11,29,46,.88) 0%, rgba(11,29,46,.62) 42%, rgba(11,29,46,.12) 100%);
}
@keyframes heroZoom{from{transform:scale(1.06);} to{transform:scale(1);}}
.hero-photo .hero-inner{position:relative; z-index:1; padding-top:80px; padding-bottom:120px;}
.hero-photo .hero-inner > *{max-width:620px;}
.hero-photo h1, .hero-photo .hero-lead{color:var(--white);}
.hero-photo .hero-lead{color:rgba(255,255,255,.86);}
.hero.hero-photo h1 em{color:var(--gold-soft);}

.eyebrow{
  display:inline-block;
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--terracotta);
  margin-bottom:20px;
}
.hero-photo .eyebrow{color:var(--gold-soft);}
.hero h1{font-size:clamp(2.7rem, 5.6vw, 4.6rem); margin-bottom:.4em; letter-spacing:-.02em;}
.hero h1 em{color:var(--terracotta);}
.hero-lead{font-size:1.18rem; max-width:520px; color:var(--ink-soft);}
.hero-actions{display:flex; gap:22px; flex-wrap:wrap; align-items:center; margin-top:28px;}
.hero-actions-center{justify-content:center;}

.hero-copy > *, .hero-photo .hero-inner > *{animation:rise .8s var(--ease) both;}
.hero-copy > :nth-child(1), .hero-photo .hero-inner > :nth-child(1){animation-delay:.05s;}
.hero-copy > :nth-child(2), .hero-photo .hero-inner > :nth-child(2){animation-delay:.15s;}
.hero-copy > :nth-child(3), .hero-photo .hero-inner > :nth-child(3){animation-delay:.25s;}
.hero-copy > :nth-child(4), .hero-photo .hero-inner > :nth-child(4){animation-delay:.35s;}
@keyframes rise{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}

/* Hero: split (sub pages) */
.hero-split{padding:64px 0 0; background:var(--cream);}
.hero-split-inner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
  padding-bottom:110px;
}
.hero-figure{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:4/4.6;
  box-shadow:var(--shadow-lg);
  animation:rise .9s var(--ease) .2s both;
}
.hero-figure img{width:100%; height:100%; object-fit:cover; filter:saturate(.88); transition:transform 1.2s var(--ease);}
.hero-figure:hover img{transform:scale(1.03);}

/* Trust strip: sits on the hero's lower edge */
.trust-strip{
  position:relative;
  z-index:2;
  margin:-64px auto 0;
  max-width:calc(var(--container) - 48px);
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
  padding:26px 32px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  animation:rise .8s var(--ease) .5s both;
}
.trust-strip li{display:flex; flex-direction:column; gap:2px; padding:0 20px; border-right:1px solid var(--border);}
.trust-strip li:first-child{padding-left:0;}
.trust-strip li:last-child{border-right:none;}
.trust-strip strong{font-family:var(--font-body); font-size:1.4rem; font-weight:700; letter-spacing:-.02em; color:var(--navy-950);}
.trust-strip li > span{font-size:.84rem; color:var(--ink-soft);}

/* ==================================================
   Sections: generic
   ================================================== */
.section{padding:88px 0;}
.section-after-hero{padding-top:56px;}
.section-alt{background:var(--cream-dark);}
.section-dark{background:var(--navy-950); color:var(--white);}
.section-dark h2, .section-dark h3{color:var(--white);}
.section-dark p{color:rgba(255,255,255,.72);}
.section-head{max-width:620px; margin:0 auto 48px; text-align:center;}
.section-head h2{font-size:clamp(2rem, 3.6vw, 2.9rem);}
.section-head p{font-size:1.03rem;}
.section-head-left{margin-left:0; text-align:left; max-width:560px;}
.center-badge{margin:0 auto 18px;}

.lead{font-size:1.12rem; font-weight:500; color:var(--navy-900);}
.standard-line{margin-top:28px; font-family:var(--font-head); font-size:1.5rem; font-weight:500; color:var(--navy-950); line-height:1.3;}
.standard-line span{color:var(--terracotta); font-style:italic;}
.standard-line-sm{font-family:var(--font-head); font-weight:500; font-style:italic; color:var(--navy-900); font-size:1.2rem;}

.trust-statement h2{font-size:clamp(1.8rem,3.2vw,2.5rem);}

/* ==================================================
   Icon badge
   ================================================== */
.icon-badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px;
  border-radius:var(--radius-sm);
  background:var(--navy-900);
  color:var(--gold);
  font-size:1.4rem;
  margin-bottom:16px;
}
.icon-badge-sm{width:42px; height:42px; font-size:1.15rem;}

/* ==================================================
   Photo cards (services)
   ================================================== */
.photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:40px;
}
.photo-card{
  position:relative;
  border-radius:var(--radius-md);
  overflow:hidden;
  aspect-ratio:4/4.7;
  background:var(--navy-900);
  color:var(--white);
  display:flex;
  align-items:flex-end;
  cursor:pointer;
}
.photo-card img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .9s var(--ease);
}
.photo-card::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,29,46,0) 38%, rgba(11,29,46,.84) 100%);
  transition:background .4s ease;
}
.photo-card:hover img{transform:scale(1.06);}
.photo-card-body{position:relative; z-index:1; padding:26px; width:100%;}
.photo-card h3{color:var(--white); font-size:1.4rem; margin-bottom:4px;}
.photo-card p{color:rgba(255,255,255,.82); margin:0; font-size:.94rem;}
.photo-card .arrow{
  position:absolute; z-index:1; top:20px; right:20px;
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem;
  opacity:0; transform:translate(-6px,6px);
  transition:opacity .3s ease, transform .3s var(--ease);
}
.photo-card:hover .arrow{opacity:1; transform:none;}

/* ==================================================
   Info cards (benefits, orgs)
   ================================================== */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:40px;}
.service-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:30px 26px;
  transition:transform .3s var(--ease), box-shadow .3s ease, border-color .3s ease;
}
.service-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:transparent;}
.service-card h3{font-size:1.15rem; margin-bottom:6px;}
.service-card p{font-size:.93rem; margin:0;}

/* ==================================================
   Pillars
   ================================================== */
.pillar-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.pillar{
  position:relative;
  background:var(--white);
  border-radius:var(--radius-md);
  padding:28px 24px;
  border:1px solid var(--border);
  transition:transform .3s var(--ease), box-shadow .3s ease;
}
.pillar:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.pillar-num{
  position:absolute; top:18px; right:22px;
  font-family:var(--font-head); font-style:italic;
  font-size:1.6rem; color:var(--gold);
}
.pillar h3{font-size:1.1rem; margin-bottom:6px;}
.pillar p{font-size:.92rem; margin:0;}

/* ==================================================
   Steps
   ================================================== */
.steps{display:grid; grid-template-columns:repeat(5,1fr); gap:18px;}
.steps li{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:24px 20px;
  transition:transform .3s var(--ease), box-shadow .3s ease;
}
.steps li:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.step-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px;
  border-radius:50%;
  background:var(--navy-900);
  color:var(--gold-soft);
  font-family:var(--font-head); font-weight:600;
  margin-bottom:14px;
}
.steps h3{font-size:1.02rem; margin-bottom:5px;}
.steps p{font-size:.88rem; margin:0;}

/* ==================================================
   Split sections
   ================================================== */
.split{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.split.reverse{direction:rtl;}
.split.reverse > *{direction:ltr;}
.split-section .container.split{grid-template-columns:1fr;}
.split-section .split > div{max-width:620px;}
.split h2{font-size:clamp(1.9rem,3.2vw,2.6rem);}

.compare-cards{display:grid; gap:16px;}
.compare-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-md);
  padding:26px 24px;
  transition:border-color .3s ease, transform .3s var(--ease);
}
.compare-card:hover{transform:translateY(-3px); border-color:rgba(255,255,255,.3);}
.compare-card h3{margin-bottom:6px;}
.compare-card p{margin:0; color:rgba(255,255,255,.68); font-size:.92rem;}
.compare-card-featured{border-color:var(--gold); background:rgba(217,164,65,.08);}
.badge{
  display:inline-block;
  background:var(--gold);
  color:var(--navy-950);
  font-size:.7rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  padding:5px 11px;
  border-radius:4px;
  margin-bottom:12px;
}

.career-path{
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  margin:22px 0; padding:16px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
}
.career-path span{
  font-size:.86rem; font-weight:600;
  color:var(--navy-900);
  background:var(--cream-dark);
  padding:7px 13px;
  border-radius:6px;
}
.career-arrow{color:var(--terracotta); font-size:1.05rem; flex-shrink:0;}

/* ==================================================
   Check list
   ================================================== */
.check-list{display:grid; grid-template-columns:repeat(2,1fr); gap:14px 28px; max-width:700px; margin:0 auto 28px;}
.check-list li{display:flex; align-items:center; gap:12px; font-weight:500; color:var(--navy-900); font-size:.96rem;}
.check-list svg{color:var(--terracotta); flex-shrink:0; width:1.25em; height:1.25em;}

/* ==================================================
   Plans
   ================================================== */
.plan-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch;}
.plan-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:34px 28px;
  display:flex; flex-direction:column;
  transition:transform .3s var(--ease), box-shadow .3s ease;
}
.plan-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.plan-card h3{font-size:1.5rem;}
.plan-tagline{font-weight:600; color:var(--navy-900); margin-bottom:4px;}
.plan-desc{font-size:.9rem;}
.plan-features{margin:18px 0 26px; display:flex; flex-direction:column; gap:11px; flex:1;}
.plan-features li{display:flex; align-items:flex-start; gap:10px; font-size:.92rem; color:var(--ink);}
.plan-features svg{color:var(--terracotta); margin-top:3px; flex-shrink:0;}
.plan-card-featured{background:var(--navy-950); border-color:var(--navy-950); box-shadow:var(--shadow-lg);}
.plan-card-featured:hover{transform:translateY(-4px);}
.plan-card-featured h3, .plan-card-featured .plan-tagline{color:var(--white);}
.plan-card-featured .plan-desc{color:rgba(255,255,255,.68);}
.plan-card-featured .plan-features li{color:rgba(255,255,255,.88);}
.plan-card-featured .plan-features svg{color:var(--gold);}

/* ==================================================
   Org grid
   ================================================== */
.org-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:34px;}
.org-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:26px 22px;
  transition:transform .3s var(--ease), box-shadow .3s ease;
}
.org-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.org-card h3{font-size:1.08rem; margin-bottom:5px;}
.org-card p{font-size:.9rem; margin:0;}

/* ==================================================
   FAQ
   ================================================== */
.faq-list{display:flex; flex-direction:column; border-top:1px solid var(--border);}
.faq-item{border-bottom:1px solid var(--border);}
.faq-question{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 4px;
  font-family:var(--font-head);
  font-weight:500;
  font-size:1.12rem;
  color:var(--navy-950);
  text-align:left;
  transition:color .2s ease;
}
.faq-question:hover{color:var(--terracotta);}
.faq-icon{transform:rotate(90deg); transition:transform .3s var(--ease); color:var(--terracotta); flex-shrink:0; margin-left:16px;}
.faq-item.open .faq-icon{transform:rotate(-90deg);}
.faq-answer{max-height:0; overflow:hidden; transition:max-height .35s var(--ease);}
.faq-answer p{padding:0 4px 22px; margin:0; font-size:.98rem; max-width:600px;}
.faq-item.open .faq-answer{max-height:300px;}

/* ==================================================
   Final CTA
   ================================================== */
.final-cta{
  position:relative;
  background:var(--navy-950);
  color:var(--white);
  text-align:center;
  overflow:hidden;
}
.final-cta-bg{position:absolute; inset:0;}
.final-cta-bg img{width:100%; height:100%; object-fit:cover; opacity:.28;}
.final-cta-bg::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,29,46,.7), rgba(11,29,46,.92));}
.final-cta .container{position:relative;}
.final-cta h2{color:var(--white); font-size:clamp(2rem,4vw,3rem);}
.final-cta .lead{color:var(--gold-soft);}
.final-cta p{color:rgba(255,255,255,.75);}
.final-cta .hero-actions{justify-content:center;}
.final-cta .icon-badge{background:rgba(255,255,255,.1);}

/* ==================================================
   Footer
   ================================================== */
.site-footer{background:var(--navy-950); color:rgba(255,255,255,.7); padding:64px 0 0; border-top:1px solid rgba(255,255,255,.08);}
.footer-inner{display:grid; grid-template-columns:1.2fr 2fr; gap:48px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.12);}
.footer-brand .brand{color:var(--white);}
.footer-brand p{margin-top:10px; font-size:.92rem; color:rgba(255,255,255,.6); font-style:italic; font-family:var(--font-head);}
.footer-links{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.footer-links h4{color:var(--white); font-family:var(--font-body); font-weight:600; font-size:.76rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:14px;}
.footer-links a{display:block; font-size:.92rem; padding:6px 0; color:rgba(255,255,255,.66); transition:color .15s ease;}
.footer-links a:hover{color:var(--gold-soft);}
.footer-bottom{padding:22px 0; font-size:.82rem; text-align:center;}
.footer-bottom p{color:rgba(255,255,255,.5); margin:0;}

/* ==================================================
   Modal
   ================================================== */
.modal-overlay{
  position:fixed; inset:0;
  background:rgba(11,29,46,.62);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  opacity:0; pointer-events:none;
  transition:opacity .25s ease;
  z-index:1000;
}
.modal-overlay.active{opacity:1; pointer-events:auto;}
.modal{
  background:var(--white);
  border-radius:var(--radius-lg);
  max-width:560px; width:100%;
  max-height:88vh; overflow-y:auto;
  padding:40px 36px;
  position:relative;
  transform:translateY(20px);
  transition:transform .3s var(--ease);
  box-shadow:var(--shadow-lg);
}
.modal-overlay.active .modal{transform:none;}
.modal h3{font-size:1.7rem;}
.modal-close{
  position:absolute; top:16px; right:16px;
  width:36px; height:36px; border-radius:50%;
  font-size:1.4rem; line-height:1;
  color:var(--ink-soft);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s ease;
}
.modal-close:hover{background:var(--cream-dark); color:var(--navy-900);}
.modal-sub{margin-bottom:22px;}
#leadForm{display:flex; flex-direction:column; gap:16px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
#leadForm label{display:flex; flex-direction:column; gap:6px; font-size:.84rem; font-weight:600; color:var(--navy-900);}
#leadForm input, #leadForm select, #leadForm textarea{
  font-family:inherit; font-size:.95rem;
  padding:11px 14px;
  border:1.5px solid var(--border);
  border-radius:var(--radius-sm);
  color:var(--ink);
  background:var(--cream);
  font-weight:400;
  transition:border-color .2s ease, box-shadow .2s ease;
}
#leadForm input:focus, #leadForm select:focus, #leadForm textarea:focus{
  outline:none; border-color:var(--terracotta);
  box-shadow:0 0 0 3px rgba(196,83,45,.14);
}
#leadForm textarea{resize:vertical;}
.modal-success{text-align:center; padding:20px 0;}
.modal-success .icon-badge{background:var(--gold-soft); color:var(--terracotta); margin:0 auto 18px;}
.modal-success p{margin-bottom:24px;}

/* ==================================================
   Scroll reveal
   ================================================== */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in-view{opacity:1; transform:none;}
.reveal-stagger > *{opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease), box-shadow .3s ease, border-color .3s ease;}
.reveal-stagger.in-view > *{opacity:1; transform:none;}
.reveal-stagger.in-view > *:nth-child(1){transition-delay:.04s;}
.reveal-stagger.in-view > *:nth-child(2){transition-delay:.12s;}
.reveal-stagger.in-view > *:nth-child(3){transition-delay:.2s;}
.reveal-stagger.in-view > *:nth-child(4){transition-delay:.28s;}
.reveal-stagger.in-view > *:nth-child(5){transition-delay:.36s;}
.reveal-stagger.in-view > *:nth-child(6){transition-delay:.44s;}
.reveal-stagger.in-view > *:nth-child(7){transition-delay:.52s;}
.reveal-stagger.in-view > *:nth-child(8){transition-delay:.6s;}
.reveal-stagger.in-view > *:hover{transition-delay:0s;}

/* ==================================================
   Back to top
   ================================================== */
.back-to-top{
  position:fixed; right:24px; bottom:24px;
  width:46px; height:46px; border-radius:50%;
  background:var(--navy-950); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-md);
  opacity:0; transform:translateY(10px);
  pointer-events:none;
  transition:opacity .3s ease, transform .3s var(--ease), background .2s ease;
  z-index:90; font-size:1.15rem;
}
.back-to-top.visible{opacity:1; transform:none; pointer-events:auto;}
.back-to-top:hover{background:var(--terracotta);}

/* ==================================================
   Responsive
   ================================================== */
@media (max-width:1024px){
  .photo-grid{grid-template-columns:repeat(2,1fr);}
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .pillar-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(3,1fr);}
  .plan-grid{grid-template-columns:1fr; max-width:480px; margin:0 auto;}
  .plan-card-featured{order:-1;}
  .org-grid{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr; gap:32px;}
  .split.reverse{direction:ltr;}
  .compare-cards{max-width:480px;}
  .footer-inner{grid-template-columns:1fr;}
  .hero-split-inner{grid-template-columns:1fr; gap:36px; padding-bottom:90px;}
  .hero-figure{aspect-ratio:16/11; max-width:560px;}
  .trust-strip{grid-template-columns:repeat(2,1fr); row-gap:22px;}
  .trust-strip li:nth-child(2){border-right:none;}
  .trust-strip li:nth-child(3){padding-left:0;}
}

@media (max-width:760px){
  .nav{
    position:fixed; top:76px; left:0; right:0;
    background:var(--cream);
    border-bottom:1px solid var(--border);
    flex-direction:column; align-items:flex-start;
    padding:18px 24px 22px; gap:2px;
    transform:translateY(-10px);
    opacity:0; pointer-events:none;
    transition:opacity .25s var(--ease), transform .25s var(--ease);
  }
  .nav.open{opacity:1; transform:none; pointer-events:auto;}
  .nav a{padding:12px 0; width:100%; border-bottom:1px solid var(--border);}
  .nav a::after{display:none;}
  .nav-toggle{display:flex;}
  .header-cta-secondary{display:none !important;}
  .header-actions .btn-primary{padding:10px 16px; font-size:.85rem;}

  .hero-photo{min-height:560px;}
  .hero-photo .hero-inner{padding-top:56px; padding-bottom:110px;}
  .hero-media::after{background:linear-gradient(180deg, rgba(11,29,46,.55) 0%, rgba(11,29,46,.85) 100%);}
  .hero-split{padding-top:40px;}
  .trust-strip{margin-top:-56px; padding:22px 20px;}
  .section{padding:60px 0;}
  .photo-grid{grid-template-columns:1fr;}
  .photo-card{aspect-ratio:4/3.6;}
  .card-grid, .pillar-grid, .steps, .org-grid, .check-list{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-links{grid-template-columns:1fr; gap:28px;}
  .back-to-top{right:16px; bottom:16px; width:42px; height:42px;}
  .hero-actions{gap:16px;}
}

/* ==================================================
   Motion layer
   ================================================== */
.scroll-progress{position:fixed; top:0; left:0; right:0; height:3px; background:var(--terracotta); transform-origin:0 50%; transform:scaleX(0); z-index:200; pointer-events:none;}
.site-header{transition:transform .45s var(--ease), border-color .25s ease, box-shadow .25s ease;}
.site-header.hide{transform:translateY(-100%);}
body{animation:pageIn .8s ease both;}
@keyframes pageIn{from{opacity:0;} to{opacity:1;}}

/* Word-by-word headline reveal */
.w{display:inline-block; overflow:hidden; vertical-align:top; padding:0 .06em .16em; margin:0 -.06em -.16em;}
.wi{display:inline-block;}
.js .wi{transform:translateY(115%); transition:transform 1.05s var(--ease); transition-delay:calc(var(--i,0) * 75ms);}
.js .split-in .wi{transform:none;}
.js .hero h1{animation:none; opacity:1;}

/* Image wipe + parallax */
.hero-figure{background:var(--cream-dark);}
.js .hero-figure{animation:none;}
.hero-figure img{scale:1.18; transition:clip-path 1.4s var(--ease), transform 1.2s var(--ease);}
.js .hero-figure img{clip-path:inset(0 0 100% 0);}
.js .hero-figure.in-view img{clip-path:inset(0);}
.hero-media img{position:absolute; inset:-8% 0; width:100%; height:116%; object-fit:cover; animation:heroScale 2.6s var(--ease) both;}
@keyframes heroScale{from{scale:1.14;} to{scale:1;}}

/* Photo cards */
.photo-card img{translate:calc(var(--mx,0) * -10px) calc(var(--my,0) * -10px); transition:transform .9s var(--ease), translate .35s ease-out, scale 1.7s var(--ease);}
.js .reveal-stagger .photo-card img{scale:1.32;}
.js .reveal-stagger.in-view .photo-card img{scale:1;}
.photo-card-body{transition:transform .5s var(--ease);}
.photo-card:hover .photo-card-body{transform:translateY(-6px);}

/* Floating trust chips (homepage hero) */
.hero-chips{position:absolute; right:max(24px, calc((100vw - var(--container)) / 2 + 24px)); top:50%; transform:translateY(-50%); display:flex; flex-direction:column; align-items:flex-end; gap:16px; z-index:1; pointer-events:none;}
.chip{display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); backdrop-filter:blur(10px); color:var(--white); font-size:.9rem; font-weight:600; opacity:0; animation:chipIn .9s var(--ease) forwards, bob 5.5s ease-in-out infinite;}
.chip svg{color:var(--gold-soft); width:1.2em; height:1.2em;}
.chip.c1{animation-delay:1.1s, 2s;}
.chip.c2{animation-delay:1.4s, 2.6s; margin-right:64px;}
.chip.c3{animation-delay:1.7s, 3.2s; margin-right:18px;}
@keyframes chipIn{from{opacity:0; translate:0 24px;} to{opacity:1; translate:0 0;}}
@keyframes bob{0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);}}

/* Buttons */
.btn{transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s var(--ease), box-shadow .2s ease, translate .25s var(--ease);}
.btn-primary{position:relative; overflow:hidden;}
.btn-primary::after{content:''; position:absolute; top:0; left:-70%; width:50%; height:100%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.34), transparent); transform:skewX(-20deg); transition:left .8s var(--ease);}
.btn-primary:hover::after{left:135%;}
.hero .btn-primary.btn-lg{animation:ring 3.4s ease-out 2.6s infinite;}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(196,83,45,.55);} 70%,100%{box-shadow:0 0 0 18px rgba(196,83,45,0);}}

/* Section heading rule */
.section-head::before{content:''; display:block; width:0; height:2px; background:var(--terracotta); margin:0 auto 20px; transition:width 1s var(--ease) .2s;}
.section-head.in-view::before{width:48px;}
.section-head-left::before{margin-left:0;}

/* Pops and staggers */
.step-num{transform:scale(0); transition:transform .7s cubic-bezier(.3,1.6,.5,1) .45s;}
.reveal-stagger.in-view .step-num{transform:scale(1);}
.check-list svg{transform:scale(0); transition:transform .6s cubic-bezier(.3,1.6,.5,1) .35s;}
.check-list.in-view svg{transform:scale(1);}
.pillar-num{transition:transform .6s var(--ease), opacity .6s ease; transform:translateY(-8px); opacity:0;}
.reveal-stagger.in-view .pillar-num{transform:none; opacity:1; transition-delay:.5s;}
.trust-strip li{animation:rise .8s var(--ease) both;}
.trust-strip li:nth-child(1){animation-delay:.75s;}
.trust-strip li:nth-child(2){animation-delay:.9s;}
.trust-strip li:nth-child(3){animation-delay:1.05s;}
.trust-strip li:nth-child(4){animation-delay:1.2s;}
.final-cta-bg img{animation:kenburns 26s ease-in-out infinite alternate;}
@keyframes kenburns{from{scale:1;} to{scale:1.14;}}
.icon-badge{transition:transform .5s cubic-bezier(.3,1.6,.5,1);}
.service-card:hover .icon-badge, .org-card:hover .icon-badge, .pillar:hover .icon-badge{transform:rotate(-8deg) scale(1.1);}

@media (max-width:1024px){ .hero-chips{display:none;} }

/* ==================================================
   Nav (7 links), compare table, form states, WhatsApp
   ================================================== */
.nav a[aria-current="page"]{color:var(--navy-950);}
.nav a[aria-current="page"]::after{right:0;}
@media (max-width:1180px){
  .header-cta-secondary{display:none !important;}
  .nav{gap:20px;}
}
@media (max-width:960px){
  .nav{
    position:fixed; top:76px; left:0; right:0;
    background:var(--cream);
    border-bottom:1px solid var(--border);
    flex-direction:column; align-items:flex-start;
    padding:18px 24px 22px; gap:2px;
    transform:translateY(-10px);
    opacity:0; pointer-events:none;
    transition:opacity .25s var(--ease), transform .25s var(--ease);
  }
  .nav.open{opacity:1; transform:none; pointer-events:auto;}
  .nav a{padding:12px 0; width:100%; border-bottom:1px solid var(--border);}
  .nav a::after{display:none;}
  .nav-toggle{display:flex;}
}

.table-wrap{overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--white);}
.compare-table{width:100%; border-collapse:collapse; min-width:580px;}
.compare-table th, .compare-table td{padding:16px 22px; text-align:left; font-size:.96rem; border-bottom:1px solid var(--border);}
.compare-table thead th{font-family:var(--font-head); font-weight:600; font-size:1.1rem; color:var(--navy-950); background:var(--cream);}
.compare-table tbody th{font-weight:600; color:var(--navy-900);}
.compare-table td{color:var(--ink);}
.compare-table td svg{color:var(--terracotta); margin-right:8px; vertical-align:-2px;}
.compare-table .muted-cell{color:var(--ink-soft);}
.compare-table .col-featured{background:rgba(196,83,45,.06);}
.compare-table thead .col-featured{background:var(--navy-950); color:var(--white);}
.compare-table tr:last-child th, .compare-table tr:last-child td{border-bottom:none;}
.quote-box{margin-top:32px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; background:var(--navy-950); border-radius:var(--radius-md); padding:32px 36px;}
.quote-box h3{color:var(--white); margin-bottom:4px;}
.quote-box p{color:rgba(255,255,255,.75); margin:0; max-width:460px;}
.quote-box .hero-actions{margin-top:0;}
.quote-box .btn-text{color:var(--white);}
.check-list-single{grid-template-columns:1fr; margin:20px 0 28px; max-width:none;}
#abroad .hero-figure{aspect-ratio:4/3.4;}

.form-error{color:var(--terracotta-dark); font-size:.9rem; margin:0; font-weight:500;}
.form-error a{text-decoration:underline;}
.btn[disabled]{opacity:.7; cursor:progress;}
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.wa-float{position:fixed; left:24px; bottom:24px; z-index:90; display:flex; align-items:center; gap:10px; padding:13px 20px 13px 16px; border-radius:999px; background:#25d366; color:#083b1e; font-weight:600; font-size:.92rem; box-shadow:var(--shadow-md); transition:transform .25s var(--ease), box-shadow .25s ease;}
.wa-float:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg);}
.wa-float svg{width:1.5em; height:1.5em;}
@media (max-width:760px){ .wa-float{left:16px; bottom:16px; padding:12px 16px 12px 14px;} .quote-box{padding:26px 22px;} }

#leadForm .pro-only{display:flex; flex-direction:column; gap:16px;}
#leadForm .pro-only[hidden]{display:none;}
#leadForm input[type="file"]{padding:9px 12px; background:var(--white); cursor:pointer;}
#leadForm input[type="file"]::file-selector-button{margin-right:12px; padding:7px 14px; border:0; border-radius:6px; background:var(--navy-900); color:var(--white); font:600 .85rem var(--font-body); cursor:pointer;}
.field-hint{font-size:.8rem; font-weight:400; color:var(--ink-soft);}
#leadForm label.consent{flex-direction:row; align-items:flex-start; gap:10px; font-weight:400; color:var(--ink-soft); font-size:.86rem; line-height:1.45;}
#leadForm label.consent input{width:auto; margin-top:3px; padding:0; flex-shrink:0; accent-color:var(--terracotta);}

#leadForm .other-field[hidden]{display:none;}
#leadForm .other-field{animation:rise .35s var(--ease) both;}
.role-chips{margin-top:8px; text-align:center;}
.chips-label{font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--terracotta); margin-bottom:12px;}
.role-chips ul{display:flex; flex-wrap:wrap; justify-content:center; gap:10px;}
.role-chips li{padding:9px 16px; border:1px solid var(--border); border-radius:999px; background:var(--white); font-size:.9rem; font-weight:500; color:var(--navy-900); transition:border-color .2s ease, transform .2s var(--ease);}
.role-chips li:hover{border-color:var(--terracotta); transform:translateY(-2px);}
.explore-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.explore-card{display:flex; flex-direction:column; align-items:flex-start; background:var(--white); border:1px solid var(--border); border-radius:var(--radius-md); padding:30px 26px; transition:transform .3s var(--ease), box-shadow .3s ease, border-color .3s ease;}
.explore-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:transparent;}
.explore-card h3{font-size:1.3rem; margin-bottom:6px;}
.explore-card p{font-size:.95rem; flex:1;}
.explore-card .btn-text{margin-top:6px;}

/* ==================================================
   Mobile: swipeable card rows instead of long stacks
   ================================================== */
@media (max-width:760px){
  .photo-grid, .pillar-grid, .card-grid, .steps, .org-grid, .plan-grid, .explore-grid{
    display:flex; flex-direction:row; overflow-x:auto;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    gap:14px; margin-left:-24px; margin-right:-24px; padding:4px 24px 18px;
    max-width:none; scrollbar-width:none;
  }
  .photo-grid::-webkit-scrollbar, .pillar-grid::-webkit-scrollbar, .card-grid::-webkit-scrollbar,
  .steps::-webkit-scrollbar, .org-grid::-webkit-scrollbar, .plan-grid::-webkit-scrollbar, .explore-grid::-webkit-scrollbar{display:none;}
  .photo-grid > *, .pillar-grid > *, .card-grid > *, .steps > *, .org-grid > *, .plan-grid > *, .explore-grid > *{
    flex:0 0 80%; scroll-snap-align:center; min-width:0;
  }
  .photo-card{aspect-ratio:4/4.4;}
  .plan-card-featured{order:0;}
  .section{padding:44px 0;}
  .section-head{margin-bottom:28px;}
  .section-head h2{font-size:1.7rem;}
  .role-chips ul{gap:8px;}
  .role-chips li{padding:8px 13px; font-size:.84rem;}
  .quote-box{margin-top:20px;}
}

@media (max-width:760px){
  .role-chips ul{flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; margin:0 -24px; padding:2px 24px 10px; scrollbar-width:none;}
  .role-chips ul::-webkit-scrollbar{display:none;}
  .role-chips li{flex:0 0 auto;}
  .trust-statement .standard-line{display:none;}
  #abroad .hero-figure{display:none;}
  .hero-figure{aspect-ratio:16/9;}
  .hero-split-inner{gap:24px; padding-bottom:80px;}
  .compare-table th, .compare-table td{padding:11px 14px; font-size:.86rem;}
  .compare-table{min-width:520px;}
  .site-footer{padding-top:36px;}
  .footer-inner{gap:24px; padding-bottom:28px;}
  .footer-links{grid-template-columns:1fr 1fr; gap:20px 16px;}
  .footer-links > div:last-child{grid-column:1 / -1;}
  .footer-links a{padding:4px 0; font-size:.88rem;}
  .footer-links h4{margin-bottom:8px;}
  .final-cta .section, .final-cta{padding:52px 0;}
}

/* Typography refinements */
.brand{font-weight:600; font-size:1.7rem; letter-spacing:-.015em;}
.photo-card h3, .service-card h3, .org-card h3, .explore-card h3, .pillar h3, .plan-card h3{font-weight:600;}
.faq-question{font-size:1.18rem; font-weight:500;}
.lead{font-family:var(--font-body); font-weight:500;}
.standard-line, .standard-line-sm{font-weight:500;}
.trust-strip strong{font-variant-numeric:tabular-nums;}
.eyebrow, .chips-label{font-family:var(--font-body);}
.btn{letter-spacing:.005em;}
.compare-table thead th{font-weight:600;}
.modal h3{font-weight:600;}
.photo-card h3{font-size:1.65rem;}
.service-card h3, .org-card h3{font-size:1.35rem;}
.plan-card h3{font-size:1.75rem;}
.explore-card h3{font-size:1.5rem;}
.modal h3{font-size:1.9rem;}
.pillar h3, .steps h3{font-size:1.2rem;}
.footer-brand p{font-size:1.05rem;}

/* Legal pages */
.fb-links{display:inline-flex; flex-wrap:wrap; gap:6px 18px; margin-left:14px;}
.fb-links a{color:rgba(255,255,255,.7); text-decoration:underline; text-underline-offset:3px;}
.fb-links a:hover{color:var(--gold-soft);}
.legal-hero{padding:72px 0 40px; background:var(--cream-dark);}
.legal-hero h1{font-size:clamp(2.6rem,5vw,4rem); margin-bottom:.3em;}
.legal-meta{color:var(--ink-soft); margin:0;}
.legal{padding-top:56px;}
.legal-layout{display:grid; grid-template-columns:250px minmax(0,1fr); gap:56px; align-items:start;}
.toc{position:sticky; top:96px; font-size:.9rem;}
.toc-title{font-size:.76rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--terracotta); margin-bottom:12px;}
.toc ol, .toc-m ol{list-style:none; margin:0; padding:0;}
.toc li a{display:block; padding:7px 0 7px 14px; border-left:2px solid var(--border); color:var(--ink-soft); transition:color .2s ease, border-color .2s ease;}
.toc li a:hover{color:var(--navy-950); border-left-color:var(--terracotta);}
.toc-m{display:none; margin-bottom:28px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--white);}
.toc-m summary{padding:14px 18px; font-weight:600; cursor:pointer; color:var(--navy-900);}
.toc-m ol{padding:0 18px 12px;}
.toc-m li a{display:block; padding:8px 0; color:var(--ink-soft); border-top:1px solid var(--border);}
.legal-body{max-width:760px;}
.legal-intro p{font-size:1.08rem; color:var(--ink);}
.legal-body h2{font-size:1.7rem; margin:2.4em 0 .6em; padding-top:.4em; scroll-margin-top:96px; border-top:1px solid var(--border);}
.legal-body h2:first-of-type{margin-top:2em;}
.legal-body p{color:var(--ink); line-height:1.75;}
.clause{display:inline-block; min-width:2.6em; margin-right:.4em; font-weight:600; color:var(--terracotta); font-variant-numeric:tabular-nums;}
.legal-list{margin:0 0 1.2em 3em; padding:0; color:var(--ink); line-height:1.7;}
.legal-list li{margin:.45em 0; padding-left:.3em;}
ul.legal-list{list-style:disc;}
ol.legal-list.alpha{list-style:lower-alpha;}
.legal-list li::marker{color:var(--terracotta);}
.legal-contact{margin-top:3em; padding:32px; background:var(--navy-950); border-radius:var(--radius-md);}
.legal-contact h3{color:var(--white); font-size:1.5rem;}
.legal-contact p{color:rgba(255,255,255,.75);}
@media (max-width:960px){
  .legal-layout{grid-template-columns:1fr; gap:0;}
  .toc{display:none;}
  .toc-m{display:block;}
  .legal-hero{padding:48px 0 28px;}
  .legal-list{margin-left:1.6em;}
  .clause{display:block; min-width:0; margin-bottom:.15em;}
  .fb-links{margin-left:0; display:flex; margin-top:6px;}
}
