/* BIZ TRP / Ramix — registry dossier direction
   Tokens =====================================================  */
:root{
  --paper:      #F5F2EB;   /* matches header.html theme-color */
  --paper-raised:#FFFFFF;
  --ink:        #16233F;   /* navy — headings, primary text */
  --ink-soft:   #4B5570;   /* body copy */
  --ledger:     #1B4230;   /* deep green — confirmed/positive, CTA */
  --ledger-soft:#E9F0EA;
  --brass:      #A9803F;   /* stamped accent — labels, rules, focus */
  --brass-soft: #F1E7D2;
  --hairline:   #DCD6C6;
  --radius:     8px;
  --measure:    680px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink-soft);
  font-family:'Inter',sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Fraunces',serif;color:var(--ink);margin:0 0 .5em;letter-spacing:-.01em;}
h1{font-size:2.1rem;font-weight:600;line-height:1.15;}
h2{font-size:1.5rem;font-weight:600;line-height:1.25;}
h3{font-size:1.1rem;font-weight:600;}
p{margin:0 0 1em;max-width:var(--measure);}
a{color:var(--ledger);}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100;}
.skip-link:focus{left:12px;top:12px;}

.frame{max-width:760px;margin:0 auto;padding:0 24px;}

/* Eyebrow — small kicker label (used by footer tagline) */
.eyebrow{
  font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--brass);
  display:flex;align-items:center;gap:8px;margin-bottom:10px;
}

/* Buttons ============================================================ */
.button{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Inter',sans-serif;font-weight:600;font-size:.92rem;
  padding:11px 20px;border-radius:6px;text-decoration:none;
  background:var(--ledger);color:#fff;border:1px solid var(--ledger);
}
.button--secondary{background:transparent;color:var(--ink);border-color:var(--hairline);}
.button--secondary:hover{border-color:var(--brass);color:var(--brass);}

/* Header ============================================================= */
.site-header{background:var(--paper);border-bottom:1px solid var(--hairline);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
.logo-mark{width:20px;height:20px;border-radius:3px;background:var(--ledger);display:inline-block;}
.logo-type{font-family:'Fraunces',serif;font-weight:600;font-size:1.15rem;letter-spacing:-.01em;}
.main-nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;}
.main-nav a{color:var(--ink-soft);text-decoration:none;font-size:.92rem;}
.main-nav a:hover{color:var(--ledger);}
.header-actions{display:flex;align-items:center;gap:12px;}
.menu-toggle{display:none;background:none;border:1px solid var(--hairline);border-radius:6px;padding:8px;color:var(--ink);}
@media (max-width:760px){
  .main-nav{display:none;}
  .menu-toggle{display:inline-flex;}
}

/* Breadcrumb + review state ============================================ */
.breadcrumb{font-size:.8rem;color:var(--ink-soft);margin-bottom:0;line-height:2;}
.breadcrumb a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--hairline);}
.breadcrumb a:hover{color:var(--ledger);border-color:var(--ledger);}
.breadcrumb span[aria-current]{color:#FF4C00;font-weight:600;}
.review-state{margin:14px 0 0;font-size:.82rem;color:var(--ledger);display:flex;align-items:center;gap:8px;}
.review-dot{width:7px;height:7px;border-radius:50%;background:var(--ledger);display:inline-block;}

/* Section rhythm — a ledger page's ruled lines ========================= */
section[data-module]{
  max-width:var(--measure);margin:0 auto;padding:36px 24px;
  border-top:1px solid var(--hairline);
}
section[data-module] > h2{margin-bottom:18px;}
main > h1{max-width:var(--measure);margin:44px auto 20px;padding:0 24px;}
main > nav.breadcrumb{max-width:var(--measure);margin:6px auto 0;padding:0 24px;}
main > nav.breadcrumb + h1{margin-top:44px;}
main > h1 + p{font-size:1.15rem;line-height:1.55;color:var(--ink);}
main > p{max-width:var(--measure);margin-left:auto;margin-right:auto;padding:0 24px;}
main > ul:not([class]){max-width:var(--measure);margin:0 auto 20px;padding:0 24px 0 44px;}
main > ul:not([class]) li{margin-bottom:8px;font-size:.95rem;color:var(--ink-soft);}
main > h2{max-width:var(--measure);margin:36px auto 18px;padding:0 24px;border-top:1px solid var(--hairline);padding-top:36px;}
main > h3{max-width:var(--measure);margin:0 auto 14px;padding:0 24px;font-size:1.05rem;color:var(--ledger);}

/* Quick facts — a stamped registry strip ============================= */
.quick-facts dl{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--hairline);border:1px solid var(--hairline);
  border-radius:var(--radius);overflow:hidden;margin:0;
}
.quick-fact{background:var(--paper-raised);padding:16px;text-align:center;}
.quick-fact dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brass);font-weight:600;margin-bottom:4px;}
.quick-fact dd{margin:0;font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;color:var(--ink);font-variant-numeric:tabular-nums;}

/* Pathfinder — an intake form ========================================= */
.pathfinder fieldset{
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:16px 18px;margin:0 0 14px;background:var(--paper-raised);
}
.pathfinder legend{font-weight:600;color:var(--ink);padding:0 6px;font-size:.95rem;}
.pathfinder label{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;margin:6px 8px 0 0;border-radius:20px;
  border:1px solid var(--hairline);font-size:.88rem;cursor:pointer;
}
.pathfinder input[type="radio"]:checked + label,
.pathfinder label:has(input:checked){background:var(--ledger);border-color:var(--ledger);color:#fff;}
.pathfinder-result{
  margin-top:14px;padding:14px 16px;background:var(--brass-soft);
  border:1px solid var(--hairline);border-radius:var(--radius);font-size:.88rem;
}
.pathfinder-result strong{display:block;color:var(--ink);margin-bottom:4px;}

/* Requirements — neutral stripe, status conveyed by text label ========== */
.requirements ul{list-style:none;margin:0;padding:0;}
.requirements li{
  padding:12px 16px;margin-bottom:8px;border-left:4px solid var(--ink-soft);
  font-size:.95rem;background:var(--paper-raised);border-radius:0 6px 6px 0;
}
.requirements li:last-child{margin-bottom:0;}
.requirements li .tag{margin-left:8px;}

/* Process — numbered ledger entries ==================================== */
.process ol{list-style:none;margin:0;padding:0;counter-reset:step;}
.process li{
  counter-increment:step;position:relative;padding:0 0 22px 40px;
}
.process li:last-child{padding-bottom:0;}
.process li::before{
  content:counter(step);position:absolute;left:0;top:0;
  width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;
  font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.process li:not(:last-child)::after{
  content:"";position:absolute;left:13px;top:26px;bottom:0;width:1px;background:var(--hairline);
}
.process h3{font-size:1rem;margin-bottom:2px;}
.process .timing{margin:0 0 6px;}
.process .timing small{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brass);font-weight:600;
}
.process p{font-size:.93rem;margin-bottom:0;}

/* Fees — government stays visible; BIZ TRP fee is a dropdown, the only
   place a rate is mentioned on the page ================================ */
.fees{display:block;}
.fees > .fee-group + .fee-group{margin-top:22px;}
.fee-group h3{
  font-family:'Inter',sans-serif;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--brass);font-weight:600;margin-bottom:8px;
}
.fee-group dl{margin:0;}
.fee{
  display:flex;justify-content:space-between;gap:16px;
  padding:10px 0;border-bottom:1px solid var(--hairline);font-size:.93rem;
}
.fee:last-child{border-bottom:none;}
.fee dt{color:var(--ink-soft);}
.fee dd{margin:0;color:var(--ink);font-weight:500;text-align:right;white-space:nowrap;}

details.fee-group{
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:0;background:var(--paper-raised);
}
details.fee-group summary{
  cursor:pointer;padding:14px 16px;font-family:'Fraunces',serif;font-weight:600;
  color:var(--ink);font-size:.98rem;list-style:none;
}
details.fee-group summary::-webkit-details-marker{display:none;}
details.fee-group summary::after{content:"+";float:right;color:var(--brass);font-family:'Inter',sans-serif;font-weight:600;}
details.fee-group[open] summary::after{content:"−";}
details.fee-group dl{padding:0 16px 14px;}
details.fee-group .fee dd{color:var(--ledger);}

/* Checklist — a customs-form tick sheet ================================ */
.checklist ul{list-style:none;margin:0;padding:0;}
.checklist li{
  display:flex;align-items:flex-start;gap:12px;padding:12px 0;
  border-bottom:1px solid var(--hairline);font-size:.93rem;
}
.checklist li[hidden]{display:none;}
.checklist li:last-of-type{border-bottom:none;}
.checklist label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;}
.checklist input[type="checkbox"]{
  appearance:none;width:18px;height:18px;border:2px solid var(--ink-soft);
  border-radius:4px;margin-top:2px;flex-shrink:0;cursor:pointer;position:relative;
  background:var(--paper-raised);
}
.checklist input[type="checkbox"]:checked{background:var(--ledger);border-color:var(--ledger);}
.checklist input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.tag{
  display:inline-block;margin-left:8px;font-size:.68rem;text-transform:uppercase;
  letter-spacing:.03em;color:var(--brass);background:var(--brass-soft);
  border-radius:4px;padding:2px 7px;
}
.checklist-progress{display:flex;align-items:center;gap:12px;margin-top:16px;}
.progress-track{flex:1;height:6px;background:var(--hairline);border-radius:3px;overflow:hidden;}
.progress-fill{height:100%;background:var(--ledger);width:0%;}
[data-progress-count]{font-size:.8rem;color:var(--ink-soft);white-space:nowrap;}

/* CTA — the stamped confirmation panel ================================= */
.cta{
  background:var(--ledger);color:#fff;border-radius:12px;padding:30px 28px;
  border-top:none;margin:36px auto;max-width:var(--measure);
}
.cta h2{color:#fff;}
.cta p{color:#D9E5DC;}
.cta-primary{
  display:inline-flex;margin-top:10px;background:var(--brass);color:#fff;
  padding:11px 22px;border-radius:6px;text-decoration:none;font-weight:600;font-size:.92rem;
}
.cta-secondary{display:inline-flex;margin-top:10px;margin-left:10px;color:#fff;text-decoration:underline;}

/* Next-step panels — pathfinder result & checklist follow-up ============= */
.next-step{
  max-width:var(--measure);margin:16px auto 0;padding:18px 20px;
  background:var(--brass-soft);border:1px solid var(--hairline);border-radius:var(--radius);
}
.next-step[hidden]{display:none;}
.next-step p{margin:0 0 10px;font-size:.93rem;}
.next-step p:last-child{margin-bottom:0;}
.next-step strong{color:var(--ink);}
.next-step-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.next-step .button{font-size:.85rem;padding:9px 16px;}

/* Explore tiles — country hub page ====================================== */
main > .explore-grid{max-width:var(--measure);margin:0 auto 36px;padding:0 24px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.explore-tile{
  display:block;border:1px solid var(--hairline);border-radius:var(--radius);
  padding:18px;background:var(--paper-raised);text-decoration:none;color:inherit;
  transition:border-color .15s ease;
}
a.explore-tile:hover{border-color:var(--ledger);}
.explore-tile h3{font-size:1rem;margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.explore-tile p{font-size:.88rem;color:var(--ink-soft);margin:0;}
.explore-tile--soon{opacity:.7;}
.explore-tile--soon h3{color:var(--ink-soft);}
.explore-tile--soon .tag{background:var(--hairline);color:var(--ink-soft);}
a.explore-tile--soon:hover{opacity:1;border-color:var(--brass);}

/* Reason cards — invest page ============================================ */
main > .reason-grid{max-width:var(--measure);margin:0 auto 36px;padding:0 24px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.reason-card{
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:18px;background:var(--paper-raised);border-top:3px solid var(--ledger);
}
.reason-card h3{font-size:1rem;margin-bottom:6px;}
.reason-card p{font-size:.88rem;color:var(--ink-soft);margin:0;}
main > ul.sector-list{max-width:var(--measure);margin:0 auto 36px;padding:0 24px 0 44px;}
.sector-list li{margin-bottom:10px;font-size:.95rem;color:var(--ink-soft);}
.sector-list strong{color:var(--ink);}

/* Sibling links — compact same-country cross-family nav (Invest, etc) ==== */
.sibling-links{
  max-width:var(--measure);margin:0 auto 36px;padding:16px 24px;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
}
.sibling-label{font-size:.78rem;color:var(--ink-soft);font-weight:600;}
.sibling-chip{
  font-size:.82rem;padding:5px 12px;border-radius:14px;border:1px solid var(--hairline);
  text-decoration:none;color:var(--ink);background:var(--paper-raised);
}
a.sibling-chip:hover{border-color:var(--ledger);color:var(--ledger);}
.sibling-chip--soon{color:var(--ink-soft);}
.sibling-chip--soon:hover{border-color:var(--brass);color:var(--brass);}
.sibling-chip--soon em{font-style:normal;font-size:.72rem;}

/* Startup page — visa box, requirements, benefits ======================= */
main > .visa-box{max-width:var(--measure);margin:0 auto 36px;padding:20px 24px;
  background:var(--ledger-soft);border:1px solid #CFE0D4;border-radius:var(--radius);}
.visa-box h3{font-family:'Fraunces',serif;font-size:1.1rem;color:var(--ledger);margin-bottom:12px;}
.visa-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0;}
.visa-facts dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brass);font-weight:600;margin-bottom:2px;}
.visa-facts dd{margin:0;font-size:.9rem;color:var(--ink);}
main > ul.visa-requirements{max-width:var(--measure);margin:0 auto 36px;padding:0 24px 0 44px;}
.visa-requirements li{margin-bottom:8px;font-size:.93rem;color:var(--ink-soft);}
main > ul.benefits-list{max-width:var(--measure);margin:0 auto 36px;padding:0 24px 0 44px;
  columns:2;column-gap:32px;}
.benefits-list li{margin-bottom:10px;font-size:.9rem;color:var(--ink-soft);break-inside:avoid;}
.benefits-list strong{color:var(--ink);}
@media (max-width:680px){ main > ul.benefits-list{columns:1;} }

/* Transport pages — foreign-founder gates ================================ */
main > dl.gates-list{max-width:var(--measure);margin:0 auto 36px;padding:0 24px;
  display:grid;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;}
.gates-list > div{background:var(--paper-raised);padding:14px 18px;}
.gates-list dt{font-weight:600;color:var(--ink);font-size:.92rem;margin-bottom:4px;}
.gates-list dd{margin:0;font-size:.88rem;color:var(--ink-soft);}

/* Industry page help note ================================================ */
main > p.help-note{max-width:var(--measure);margin:0 auto 20px;padding:0 24px;
  font-size:.95rem;color:var(--ledger);font-weight:500;font-style:italic;}

/* FAQ ==================================================================== */
.faq details{border-bottom:1px solid var(--hairline);padding:14px 0;}
.faq details:last-child{border-bottom:none;}
.faq summary{
  font-family:'Fraunces',serif;font-weight:600;color:var(--ink);cursor:pointer;
  font-size:1rem;
}
.faq details p{margin:10px 0 0;font-size:.93rem;}

/* Related countries ======================================================= */
.related-pages ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.related-pages li{
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:14px 16px;background:var(--paper-raised);
}
.related-pages a{font-family:'Fraunces',serif;font-weight:600;text-decoration:none;color:var(--ink);}
.related-pages p{margin:4px 0 0;font-size:.88rem;}

/* "Where this usually goes wrong" — hand-authored strong/p pairs in content, no module class.
   Styled generically via main paragraph rhythm; strong gets ink color automatically. */
main strong{color:var(--ink);}

/* Footer =================================================================== */
.site-footer{background:var(--ink);color:#D9E5DC;margin-top:40px;}
.footer-main{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;padding:44px 24px;}
.footer-kicker{color:var(--brass);}
.footer-title{font-family:'Newsreader',serif;font-style:italic;font-size:1.5rem;color:#fff;font-weight:400;max-width:360px;margin:0 0 18px;}
.footer-title em{font-style:italic;color:var(--brass);}
.footer-actions{display:flex;gap:10px;flex-wrap:wrap;}
.footer-nav{display:flex;gap:48px;flex-wrap:wrap;}
.footer-nav h3{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.footer-nav p{color:#B7C2CC;font-size:.88rem;max-width:220px;}
.footer-nav a{color:#B7C2CC;}
.footer-bottom{
  display:flex;justify-content:space-between;padding:16px 24px;
  border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;color:#8C99A6;
}
.footer-watermark{display:none;}

/* Route panel toggle (footer message widget) =============================== */
.message-panel{
  position:fixed;right:24px;bottom:90px;width:300px;background:#fff;
  border-radius:12px;padding:22px;box-shadow:0 12px 32px rgba(22,35,63,.18);z-index:50;
}
.message-panel[hidden]{display:none;}
.message-close{position:absolute;top:10px;right:12px;border:none;background:none;font-size:1.1rem;cursor:pointer;color:var(--ink-soft);}
.message-button{
  position:fixed;right:24px;bottom:24px;width:52px;height:52px;border-radius:50%;
  background:var(--ledger);color:#fff;border:none;cursor:pointer;z-index:50;
  display:flex;align-items:center;justify-content:center;
}

@media (max-width:620px){
  .quick-facts dl{grid-template-columns:repeat(2,1fr);}
  h1{font-size:1.6rem;}
  .footer-main{flex-direction:column;}
}
