:root{
  /* Brand tokens — BlueNotary-derived indigo system */
  --primary:           #12123B;          /* deep indigo-navy — headings, dark sections */
  --secondary:         #F5F5F8;          /* tint sections */
  --text:              #5A5A6E;          /* body copy */
  --accent:            #3D3DDB;          /* BlueNotary indigo — buttons, links, CTAs */
  --accent-hover:      #3232C4;
  --accent-secondary:  #DEDEFB;          /* soft periwinkle — icon chips, arrow squares */
  --accent-secondary-hover: #CFCFF8;
  --white:             #FFFFFF;
  --black:             #000000;
  --divider:           #2020201A;
  --dark-divider:      #FFFFFF1A;
  --background:        #FFFFFF;

  --card-dark:         #1C1C4E;          /* card bg on dark sections */
  --card-shadow:       0 4px 24px rgba(0,0,0,0.06);
  --radius-card:       16px;
  --radius-field:      12px;
  --radius-btn:        12px;

  --pad-section:       96px;
  --pad-section-mobile: 64px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter Tight', system-ui, -apple-system, sans-serif;
  font-weight:400;
  background:var(--background);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}

/* ─── TYPOGRAPHY SCALE ─── */
h1,h2,h3,h4{color:var(--primary);font-weight:700;line-height:1.15;letter-spacing:-0.01em;}
h1{font-size:clamp(40px,5vw,64px);line-height:1.1;}
h2{font-size:clamp(32px,4vw,48px);}
h3{font-size:clamp(22px,2.5vw,28px);font-weight:600;}
h4{font-size:20px;font-weight:600;}

.eyebrow{
  font-size:13px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:16px;
  display:inline-block;
}

p{font-size:17px;line-height:1.65;}
@media(max-width:720px){ p{font-size:16px;} }

/* ─── LAYOUT PRIMITIVES ─── */
.container{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:0 40px;
}
@media(max-width:720px){ .container{padding:0 20px;} }

section{padding:var(--pad-section) 0;position:relative;}
@media(max-width:900px){ section{padding:var(--pad-section-mobile) 0;} }

.section-light{background:var(--white);}
.section-tint {background:var(--secondary);}
.section-dark {background:var(--primary);color:var(--white);}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--white);}
.section-dark p{color:rgba(255,255,255,0.78);}
.section-dark{
  background-image:radial-gradient(rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:24px 24px;
}
.section-dark .eyebrow{color:#A9A9F5;}

/* ─── BUTTONS — split CTA pattern (indigo block + periwinkle arrow square) ─── */
.btn-group{
  display:inline-flex;
  align-items:stretch;
  gap:6px;
  text-decoration:none;
}
.btn-group:hover{text-decoration:none;}
.btn-primary{
  background:var(--accent);
  color:var(--white);
  font-family:'Inter Tight', sans-serif;
  font-weight:600;
  font-size:16px;
  padding:18px 28px;
  border:none;
  border-radius:var(--radius-btn);
  cursor:pointer;
  transition:background 0.2s ease, transform 0.1s ease;
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  line-height:1;
}
.btn-primary:hover{background:var(--accent-hover);text-decoration:none;transform:translateY(-1px);}
.btn-primary:active{transform:translateY(0);}

.btn-arrow{
  background:var(--accent-secondary);
  color:var(--accent);
  border-radius:var(--radius-btn);
  width:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background 0.2s ease;
}
.btn-arrow:hover{background:var(--accent-secondary-hover);}
.btn-arrow svg{width:20px;height:20px;}

.btn-secondary{
  background:transparent;
  border:1.5px solid var(--accent);
  color:var(--accent);
  font-family:'Inter Tight', sans-serif;
  font-weight:600;
  font-size:16px;
  padding:16px 26px;
  border-radius:var(--radius-btn);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  transition:background 0.2s ease, color 0.2s ease;
  line-height:1;
}
.btn-secondary:hover{background:var(--accent);color:var(--white);text-decoration:none;}

/* ─── ICON CHIP — periwinkle square w/ indigo icon ─── */
.icon-chip{
  width:64px;
  height:64px;
  background:var(--accent-secondary);
  color:var(--accent);
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.icon-chip svg{width:30px;height:30px;}
.icon-chip-sm{width:48px;height:48px;}
.icon-chip-sm svg{width:22px;height:22px;}

/* ─── HEADER (sticky) ─── */
header.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--white);
  border-bottom:1px solid var(--divider);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 0;
  gap:16px;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  flex-shrink:1;
  min-width:0;
}
.brand:hover{text-decoration:none;}
.brand-mark{
  width:44px;
  height:44px;
  border-radius:12px;
  background:var(--accent);
  color:var(--white);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.brand-mark svg{width:24px;height:24px;}
.brand-name{
  font-weight:700;
  font-size:20px;
  color:var(--primary);
  letter-spacing:-0.02em;
  line-height:1.1;
}
.pricing-grid.two-path-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;margin:0 auto;}
.two-path-grid .pricing-card{display:flex;flex-direction:column;}
.two-path-grid .tier-cta{margin-top:auto;}
.qa-q{font-size:19px;font-weight:700;color:var(--primary);line-height:1.35;margin:0 0 12px;letter-spacing:-0.01em;}
.qa-a{font-size:15px;line-height:1.6;color:var(--text);margin:0 0 18px;}
.expat-strip{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;justify-content:center;text-align:center;background:var(--tint);border:1px solid var(--divider);border-radius:14px;padding:18px 24px;max-width:960px;margin:26px auto 0;font-size:14.5px;}
.expat-strip strong{color:var(--primary);}
.expat-strip span{color:var(--text);white-space:nowrap;}
@media(max-width:640px){.expat-strip{flex-direction:column;gap:8px;}.expat-strip span{white-space:normal;}}
@media(max-width:980px){ .pricing-grid.two-path-grid{grid-template-columns:1fr;max-width:540px;} }
.brand-name small{
  display:block;
  margin-top:3px;
  font-size:8px;
  font-weight:700;
  color:var(--accent);
  letter-spacing:0.045em;
  text-transform:uppercase;
}
.header-cta .btn-primary{padding:14px 22px;font-size:15px;}
.tier-cta .btn-group{flex-wrap:nowrap;}
.tier-cta .btn-primary{white-space:nowrap;}
@media(max-width:1240px){ .tier-cta .btn-primary{padding-left:18px;padding-right:18px;} }
.header-cta .btn-arrow{width:48px;}

@media(max-width:720px){
  .header-inner{padding:12px 0;}
  .brand-name{font-size:17px;}
}
@media(max-width:480px){
  .brand-name small{display:block;}
  .header-cta .btn-primary{padding:12px 16px;font-size:14px;}
  .header-cta .btn-arrow{display:none;}
}

/* ─── HERO — dark indigo, no photo, dot texture + soft glow ─── */
.hero{
  position:relative;
  background:
    radial-gradient(ellipse 900px 600px at 85% -10%, rgba(61,61,219,0.45) 0%, transparent 60%),
    radial-gradient(ellipse 700px 500px at -10% 110%, rgba(61,61,219,0.25) 0%, transparent 55%),
    var(--primary);
  color:var(--white);
  padding:110px 0 120px;
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:60px;
  align-items:center;
  position:relative;
  z-index:2;
}
.hero-content h1{color:var(--white);max-width:680px;}
.hero-content .eyebrow{color:#A9A9F5;}
.hero-lede{
  color:rgba(255,255,255,0.85);
  font-size:19px;
  margin:24px 0 36px;
  max-width:560px;
}
.hero-ctas{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.hero-sub-link{
  color:var(--white);
  font-weight:600;
  font-size:17px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.hero-sub-link:hover{color:#A9A9F5;text-decoration:none;}
.hero-sub-link svg{width:18px;height:18px;}

/* Floating price card (replaces BCA rating card — new site, no reviews faked) */
.hero-price-card{
  background:var(--white);
  color:var(--primary);
  padding:32px 28px;
  border-radius:var(--radius-card);
  box-shadow:0 16px 40px rgba(0,0,0,0.28);
  max-width:320px;
  justify-self:end;
}
.hero-price-card .price-tag{
  font-size:44px;
  font-weight:700;
  color:var(--primary);
  line-height:1;
  letter-spacing:-0.02em;
}
.hero-price-card .price-tag small{
  font-size:16px;
  color:var(--text);
  font-weight:500;
}
.hero-price-card .price-sub{
  font-size:13px;
  font-weight:600;
  color:var(--accent);
  letter-spacing:0.06em;
  text-transform:uppercase;
  margin:6px 0 16px;
}
.hero-price-card ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.hero-price-card li{
  font-size:14px;
  color:var(--text);
  display:flex;
  align-items:flex-start;
  gap:9px;
  line-height:1.45;
}
.hero-price-card li svg{
  width:16px;height:16px;
  color:var(--accent);
  flex-shrink:0;
  margin-top:2px;
}
@media(max-width:900px){
  .hero{padding:72px 0 84px;}
  .hero-grid{grid-template-columns:1fr;gap:40px;}
  .hero-price-card{justify-self:start;max-width:100%;}
}

/* ─── SECTION HEADER (shared) ─── */
.section-head{
  text-align:center;
  max-width:720px;
  margin:0 auto 64px;
}
.section-head p{
  font-size:18px;
  color:var(--text);
  margin-top:14px;
}
.section-dark .section-head p{color:rgba(255,255,255,0.75);}

/* ─── TRUST FACTS STRIP ─── */
.trust-strip{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  border-radius:var(--radius-card);
  overflow:hidden;
  background:var(--white);
  box-shadow:var(--card-shadow);
}
.trust-item{
  padding:40px 24px 36px;
  text-align:center;
  border-right:1px solid var(--divider);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.trust-item:last-child{border-right:none;}
.trust-item .icon-chip{margin:0 auto 18px;}
.trust-num{
  font-weight:700;
  font-size:40px;
  color:var(--primary);
  line-height:1;
  letter-spacing:-0.02em;
}
.trust-label{
  font-size:14px;
  font-weight:600;
  color:var(--primary);
  margin-top:12px;
  letter-spacing:0.02em;
}
.trust-sub{
  font-size:13px;
  color:var(--text);
  margin-top:6px;
  line-height:1.45;
  max-width:200px;
}
@media(max-width:900px){
  .trust-strip{grid-template-columns:repeat(2, 1fr);}
  .trust-item{border-right:1px solid var(--divider);}
  .trust-item:nth-child(2n){border-right:none;}
  .trust-item:nth-child(-n+2){border-bottom:1px solid var(--divider);}
}
@media(max-width:560px){
  .trust-item{padding:26px 14px;}
  .trust-item .icon-chip{width:52px;height:52px;margin-bottom:14px;}
  .trust-item .icon-chip svg{width:24px;height:24px;}
  .trust-num{font-size:30px;}
  .trust-label{font-size:13px;margin-top:8px;}
  .trust-sub{font-size:12px;margin-top:4px;}
}
@media(max-width:360px){
  .trust-strip{grid-template-columns:1fr;}
  .trust-item{border-right:none !important;border-bottom:1px solid var(--divider);}
  .trust-item:last-child{border-bottom:none;}
}

/* ─── HOW IT WORKS ─── */
.steps-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.step{
  background:var(--white);
  border:1px solid var(--divider);
  border-radius:var(--radius-card);
  padding:32px 28px;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.step:hover{transform:translateY(-2px);box-shadow:var(--card-shadow);}
.step-num{
  font-size:14px;
  font-weight:700;
  color:var(--accent);
  letter-spacing:0.12em;
  margin-bottom:14px;
}
.step h4{margin-bottom:10px;}
@media(min-width:561px){ .step h4{min-height:2.4em;display:flex;align-items:flex-start;} }
.step p{font-size:15px;line-height:1.6;}
@media(max-width:1000px){ .steps-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .steps-grid{grid-template-columns:1fr;} }

/* ─── DOCUMENTS GRID ─── */
.docs-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.doc-card{
  background:var(--white);
  border:1px solid var(--divider);
  border-radius:var(--radius-card);
  padding:28px;
  transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.doc-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow);border-color:rgba(61,61,219,0.22);}
.doc-card-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
.doc-card-head .icon-chip{width:48px;height:48px;}
.doc-card-head .icon-chip svg{width:22px;height:22px;}
.doc-card-head h4{font-size:17px;}
.doc-list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.doc-list li{
  font-size:14px;
  color:var(--text);
  padding-left:20px;
  position:relative;
  line-height:1.45;
}
.doc-list li::before{
  content:'';
  position:absolute;
  left:0;
  top:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
}
.docs-footnote{
  text-align:center;
  margin-top:40px;
  font-size:15px;
}
@media(max-width:1000px){ .docs-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .docs-grid{grid-template-columns:1fr;} }

/* ─── CTA BAND ─── */
.cta-band-wrap{
  background:var(--white);
  padding:60px 0;
}
.cta-band-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:56px 60px;
  border-radius:var(--radius-card);
  background:var(--accent);
  color:var(--white);
  background-image:radial-gradient(rgba(255,255,255,0.07) 1px, transparent 1px);
  background-size:22px 22px;
  position:relative;
  overflow:hidden;
}
.cta-band-text{flex:0 0 auto;max-width:62%;}
.cta-band-text h2{
  color:var(--white);
  font-size:clamp(26px,3.2vw,40px);
  line-height:1.15;
  margin-bottom:8px;
}
.cta-band-text p{color:rgba(255,255,255,0.85);font-size:16px;margin:0;}
.cta-band-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}
.cta-band-actions .btn-primary{background:var(--white);color:var(--accent);}
.cta-band-actions .btn-primary:hover{background:var(--secondary);}
.cta-band-actions .btn-arrow{background:rgba(255,255,255,0.18);color:var(--white);}
.cta-band-actions .btn-arrow:hover{background:rgba(255,255,255,0.28);}
@media(max-width:900px){
  .cta-band-wrap{padding:40px 0;}
  .cta-band-inner{flex-direction:column;align-items:flex-start;padding:44px 36px;}
  .cta-band-text{max-width:100%;}
}
@media(max-width:560px){ .cta-band-inner{padding:36px 24px;} }

/* ─── PRICING ─── */
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch;
}
.pricing-card{
  background:var(--white);
  border:1px solid var(--divider);
  border-radius:var(--radius-card);
  padding:40px 34px 34px;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.pricing-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,0.10);}
.pricing-card.featured{
  border:2px solid var(--accent);
  box-shadow:0 12px 40px rgba(61,61,219,0.14);
}
.pricing-badge{
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  background:var(--accent);
  color:var(--white);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:6px 16px;
  border-radius:100px;
  white-space:nowrap;
}
.tier-name{
  min-height:2.7em;
  font-size:15px;
  font-weight:600;
  color:var(--text);
  letter-spacing:0.04em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.tier-price{
  font-size:52px;
  font-weight:700;
  color:var(--primary);
  line-height:1;
  letter-spacing:-0.02em;
}
.tier-perdoc{
  font-size:14px;
  color:var(--text);
  margin:8px 0 24px;
}
.tier-perdoc .save{
  display:inline-block;
  background:var(--accent-secondary);
  color:var(--accent);
  font-size:12px;
  font-weight:700;
  padding:3px 10px;
  border-radius:100px;
  margin-left:8px;
}
.tier-features{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:32px;
  flex:1;
}
.tier-features li{
  font-size:15px;
  color:var(--text);
  padding-left:26px;
  position:relative;
  line-height:1.5;
}
.tier-features li::before{
  content:'✓';
  position:absolute;
  left:0;
  color:var(--accent);
  font-weight:700;
}
.tier-cta .btn-group{width:100%;}
.tier-cta .btn-primary{flex:1;justify-content:center;}
.pricing-note{
  text-align:center;
  font-size:14px;
  color:var(--text);
  max-width:760px;
  margin:40px auto 0;
  line-height:1.6;
}
@media(max-width:1000px){
  .pricing-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto;}
}

/* ─── LEGAL / WHY-US TWO-COLUMN ─── */
.legal-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.legal-content h2{margin-bottom:20px;}
.legal-content p{margin-bottom:18px;}
.legal-card{
  background:var(--white);
  border:1px solid var(--divider);
  border-radius:var(--radius-card);
  padding:40px 36px;
  box-shadow:var(--card-shadow);
}
.legal-card h4{margin-bottom:22px;}
.legal-checklist{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.legal-checklist li{
  display:flex;
  align-items:flex-start;
  gap:14px;
  font-size:15px;
  color:var(--text);
  line-height:1.55;
}
.legal-checklist li .check{
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--accent-secondary);
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:1px;
}
.legal-checklist li .check svg{width:14px;height:14px;}
.legal-checklist li strong{color:var(--primary);}
@media(max-width:900px){
  .legal-grid{grid-template-columns:1fr;gap:40px;}
}

/* ─── FAQ ─── */
.faq-grid{
  max-width:none;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.faq-item{
  background:var(--white);
  border:1px solid var(--divider);
  border-radius:var(--radius-field);
  overflow:hidden;
  transition:border-color 0.2s ease;
}
.faq-item[open]{border-color:rgba(61,61,219,0.3);}
.faq-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 26px;
  cursor:pointer;
  font-size:17px;
  font-weight:600;
  color:var(--primary);
  list-style:none;
  user-select:none;
}
.faq-summary::-webkit-details-marker{display:none;}
.faq-icon{
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--accent-secondary);
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:600;
  flex-shrink:0;
  transition:transform 0.2s ease;
}
.faq-item[open] .faq-icon{transform:rotate(45deg);}
.faq-answer{padding:0 26px 24px;}
.faq-answer p{font-size:15px;line-height:1.65;}
.faq-answer p + p{margin-top:12px;}

/* ─── ORDER / REQUEST SECTION (dark) ─── */
.request-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:64px;
  align-items:start;
}
.request-intro h2{margin-bottom:18px;}
.request-intro p{margin-bottom:24px;}
.request-points{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:8px;
}
.request-points li{
  display:flex;
  align-items:flex-start;
  gap:14px;
  font-size:15px;
  color:rgba(255,255,255,0.82);
  line-height:1.55;
}
.request-points li .check{
  width:26px;height:26px;
  border-radius:50%;
  background:rgba(255,255,255,0.12);
  color:#A9A9F5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:1px;
}
.request-points li .check svg{width:14px;height:14px;}

.request-form-card{
  background:var(--white);
  border-radius:var(--radius-card);
  padding:44px 40px;
  box-shadow:0 20px 60px rgba(0,0,0,0.30);
}
.request-form-card h3{margin-bottom:6px;}
.field-note{font-size:12.5px;color:var(--text);line-height:1.5;margin:0;}
.form-row > .form-field{min-width:0;}
.form-field input[type="date"]{display:block;width:100%;min-width:0;max-width:100%;-webkit-appearance:none;appearance:none;height:52px;}
#dest-field{margin-bottom:16px;}
#dest-field select{margin-bottom:0;}
.time-chip{border-radius:var(--radius-field);padding:11px 14px;font-size:13.5px;line-height:1.5;margin-top:10px;display:none;}
.time-chip.ok{background:#E4F6EC;color:#0A5C33;display:block;}
.time-chip.bad{background:#FFF4D6;color:#6B4E00;border:1px solid #F0D890;display:block;}
.time-chip.info{background:var(--accent-secondary);color:var(--primary);display:block;}
.request-form-card .form-sub{
  font-size:14px;
  color:var(--text);
  margin-bottom:28px;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}
.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.form-row .form-field{margin-bottom:0;}
.form-field label{
  font-size:13px;
  font-weight:600;
  color:var(--primary);
  letter-spacing:0.02em;
}
.form-field input,
.form-field select,
.form-field textarea{
  font-family:'Inter Tight', sans-serif;
  font-size:15px;
  color:var(--primary);
  padding:14px 16px;
  border:1.5px solid #E1E1EA;
  border-radius:var(--radius-field);
  background:var(--white);
  transition:border-color 0.2s ease;
  width:100%;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  outline:none;
  border-color:var(--accent);
}
.form-field textarea{resize:vertical;min-height:90px;}

/* Doc count stepper */
.stepper{
  display:flex;
  align-items:center;
  gap:0;
  border:1.5px solid #E1E1EA;
  border-radius:var(--radius-field);
  overflow:hidden;
  width:fit-content;
}
.stepper button{
  width:46px;
  height:48px;
  border:none;
  background:var(--secondary);
  color:var(--primary);
  font-size:20px;
  font-weight:600;
  cursor:pointer;
  transition:background 0.15s ease;
}
.stepper button:hover:not(:disabled){background:var(--accent-secondary);color:var(--accent);}
.stepper button:disabled{opacity:0.35;cursor:not-allowed;}
.stepper input{
  width:64px;
  height:48px;
  border:none;
  text-align:center;
  font-family:'Inter Tight', sans-serif;
  font-size:17px;
  font-weight:600;
  color:var(--primary);
  -moz-appearance:textfield;
}
.stepper input::-webkit-outer-spin-button,
.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.stepper input:focus{outline:none;}

/* Live price summary */
.price-summary{
  background:var(--secondary);
  border-radius:var(--radius-field);
  padding:18px 20px;
  margin:20px 0 24px;
}
.price-summary .row{
  display:flex;
  justify-content:space-between;
  font-size:14px;
  color:var(--text);
  padding:4px 0;
}
.price-summary .row.total{
  border-top:1px solid var(--divider);
  margin-top:8px;
  padding-top:12px;
  font-size:17px;
  font-weight:700;
  color:var(--primary);
}
.price-summary .row .itemize{
  font-size:12px;
  color:var(--text);
}

.form-submit{
  width:100%;
  background:var(--accent);
  color:var(--white);
  font-family:'Inter Tight', sans-serif;
  font-weight:600;
  font-size:17px;
  padding:18px;
  border:none;
  border-radius:var(--radius-btn);
  cursor:pointer;
  transition:background 0.2s ease, transform 0.1s ease;
}
.form-submit:hover{background:var(--accent-hover);transform:translateY(-1px);}
.form-submit:active{transform:translateY(0);}
.form-privacy{
  font-size:12px;
  color:var(--text);
  text-align:center;
  margin-top:14px;
  line-height:1.5;
}

/* Success state */
.form-success{
  display:none;
  text-align:center;
  padding:40px 20px;
}
.form-success.active{display:block;}
.form-success .success-icon{
  width:72px;
  height:72px;
  border-radius:50%;
  background:var(--accent-secondary);
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
}
.form-success .success-icon svg{width:34px;height:34px;}
.form-success h3{margin-bottom:10px;}
.form-success p{font-size:15px;color:var(--text);}

@media(max-width:900px){
  .request-grid{grid-template-columns:1fr;gap:44px;}
  .request-form-card{padding:36px 26px;}
  .form-row{grid-template-columns:1fr;}
}

/* ─── FOOTER ─── */
.site-footer{
  background:var(--primary);
  color:rgba(255,255,255,0.75);
  padding:72px 0 36px;
  background-image:radial-gradient(rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:24px 24px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  gap:48px;
  margin-bottom:52px;
}
.footer-brand .brand{margin-bottom:18px;}
.footer-brand .brand-name{color:var(--white);}
.footer-tagline{
  font-size:14px;
  line-height:1.65;
  color:rgba(255,255,255,0.65);
  max-width:340px;
}
.footer-col h5{
  color:var(--white);
  font-size:14px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.footer-col a{color:rgba(255,255,255,0.72);font-size:14px;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding-top:28px;
  border-top:1px solid var(--dark-divider);
  font-size:13px;
  color:rgba(255,255,255,0.55);
}
.footer-disclaimer{
  font-size:12px;
  color:rgba(255,255,255,0.42);
  line-height:1.6;
  margin-top:20px;
}
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr;gap:36px;}
}

/* ─── ACCESSIBILITY / MOTION ─── */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}

/* ─── NAV (CSS-only, PBCA pattern restyled to indigo system) ─── */
.header-inner{gap:18px;}
.nav-toggle{display:none;}
.main-nav{display:flex;align-items:center;gap:4px;margin-left:auto;margin-right:8px;}
.nav-item{position:relative;}
.nav-link{display:inline-block;padding:10px 13px;font-size:14.5px;font-weight:600;color:var(--primary);border-radius:10px;white-space:nowrap;}
.brand-name{white-space:nowrap;}
.header-cta .btn-primary{white-space:nowrap;}
@media(min-width:1081px) and (max-width:1400px){ .nav-link{padding:9px 8px;font-size:13.5px;} .header-cta .btn-primary{padding:12px 16px;font-size:14px;} }
.nav-link:hover{background:var(--secondary);text-decoration:none;color:var(--accent);}
.nav-caret{font-size:10px;color:var(--accent);margin-left:2px;}
.nav-drop{position:absolute;top:100%;left:0;min-width:250px;background:var(--white);border:1px solid var(--divider);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,0.12);padding:8px;display:none;z-index:60;}
.nav-item:hover .nav-drop,.nav-item:focus-within .nav-drop{display:block;}
.nav-drop a{display:block;padding:9px 12px;font-size:14px;color:var(--primary);border-radius:8px;font-weight:500;}
.nav-drop a:hover{background:var(--accent-secondary);text-decoration:none;color:var(--accent);}
.nav-toggle-label{display:inline-flex;cursor:pointer;width:42px;height:42px;border-radius:10px;border:1.5px solid var(--divider);align-items:center;justify-content:center;flex-direction:column;gap:5px;margin-left:auto;background:var(--white);}
@media(min-width:1081px){.nav-toggle-label{display:none;}}
.nav-toggle-label span{display:block;width:20px;height:2px;background:var(--primary);border-radius:2px;transition:all .2s ease;}
@media(max-width:1080px){
  .main-nav{position:fixed;inset:72px 0 0 0;background:var(--white);flex-direction:column;align-items:stretch;gap:0;padding:16px 20px;margin:0;display:none;overflow-y:auto;z-index:55;border-top:1px solid var(--divider);}
  .nav-toggle:checked ~ .main-nav{display:flex;}
  .main-nav{margin-left:0;}
  .nav-toggle:checked ~ .nav-toggle-label span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle:checked ~ .nav-toggle-label span:nth-child(2){opacity:0;}
  .nav-toggle:checked ~ .nav-toggle-label span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .nav-link{padding:14px 8px;font-size:16px;border-bottom:1px solid var(--divider);border-radius:0;width:100%;}
  .nav-drop{position:static;display:none;box-shadow:none;border:none;padding:0 0 8px 14px;min-width:0;}
  .nav-item.open .nav-drop{display:block;}
  .nav-item.open .nav-caret{display:inline-block;transform:rotate(180deg);}
  .nav-drop a{font-size:14.5px;padding:8px 10px;}
  .header-cta{display:none;}
}
/* ─── Footer enrichment ─── */
@media(min-width:901px){ .footer-grid{grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;} }
.site-footer .brand-name small{color:#A9A9F7;}
.brand-name small{white-space:nowrap;}
.footer-contact{list-style:none;margin:16px 0 0;padding:0;}
.footer-contact li{font-size:13.5px;color:rgba(255,255,255,0.72);margin-bottom:8px;line-height:1.5;}
.footer-contact a{color:rgba(255,255,255,0.88);}
/* ─── Certificate figure (PBCA service-hero-visual pattern) ─── */
.cert-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
@media(max-width:900px){.cert-grid{grid-template-columns:1fr;gap:36px;}}
.cert-visual{background:linear-gradient(135deg,var(--accent-secondary) 0%,#EDEDFD 100%);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;padding:30px 26px;}
.cert-visual img{max-height:560px;width:auto;height:auto;max-width:100%;object-fit:contain;border-radius:8px;box-shadow:0 18px 50px rgba(18,18,59,0.25);}
.cert-points{list-style:none;margin-top:22px;}
.cert-points li{display:flex;gap:12px;margin-bottom:13px;font-size:15.5px;line-height:1.55;color:var(--text);}
.cert-points .check{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--accent-secondary);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-top:2px;}
.cert-points .check svg{width:12px;height:12px;}
/* ─── Breadcrumbs + hubs + prose ─── */
.crumbs{font-size:13.5px;margin-bottom:18px;color:rgba(255,255,255,0.7);}
.crumbs a{color:rgba(255,255,255,0.85);}
.hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;}
@media(max-width:1000px){.hub-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.hub-grid{grid-template-columns:repeat(2,1fr);gap:9px;} .hub-grid a{padding:10px 11px;font-size:13px;}}
.hub-grid a{display:block;padding:13px 16px;background:var(--white);border:1px solid var(--divider);border-radius:12px;font-size:14.5px;font-weight:600;color:var(--primary);}
.hub-grid a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none;}
.prose{max-width:1060px;margin:0 auto;}
.prose h2{margin:38px 0 14px;font-size:clamp(26px,3vw,34px);}
.prose p{margin-bottom:16px;}
.prose ul{margin:0 0 16px 22px;}
.prose ul li{margin-bottom:8px;font-size:16px;color:var(--text);}
.page-hero{padding:72px 0 64px;}
@media(max-width:700px){ section{padding-top:56px;padding-bottom:56px;} .section-head{margin-bottom:30px;} }
.page-hero h1{font-size:clamp(34px,4.2vw,52px);color:var(--white);}
.page-hero p.lede{color:rgba(255,255,255,0.82);font-size:18px;max-width:760px;margin-top:16px;}
.mini-cta{margin-top:26px;}
