/* Apostille Agents — built with SiteForge on 2026-09-03 */
:root{
  --max:1120px;
  --r:20px;
  --btn-r:999px;
  --input-r:14px;
  --fh:'Inter', system-ui, sans-serif;
  --fb:'Inter', system-ui, sans-serif;
  --pad:104px;
  --fs:17px;
  --hw:700;
  --ls:-0.03em;
  --sc:1.05;

}
.pal-1{--bg:#ffffff;--surface:#ffffff;--text:#3a4552;--muted:#616a76;--primary:#0071e3;--on-primary:#ffffff;--line:#e6e8ec;--heading:#14202c;--body:#3a4552;--faint:#7c848f;--link:#0069cf;--accent:#0b8f86;--line-strong:#cdd2d9;--input-bg:#f5f5f7;--check-bg:#0071e3;--check-fg:#ffffff;}
.pal-2{--bg:#f5f5f7;--surface:#ffffff;--text:#3a4552;--muted:#5f6873;--primary:#0071e3;--on-primary:#ffffff;--line:#e2e4e9;--heading:#14202c;--body:#3a4552;--faint:#7a828d;--link:#0069cf;--accent:#0b8f86;--line-strong:#cdd2d9;--input-bg:#ffffff;--check-bg:#0071e3;--check-fg:#ffffff;}
.pal-3{--bg:#e9f6f5;--surface:#ffffff;--text:#3a4552;--muted:#556570;--primary:#0a7d75;--on-primary:#ffffff;--line:#d2e9e7;--heading:#14202c;--body:#3a4552;--faint:#6f7f85;--link:#0b7d75;--accent:#0b8f86;--line-strong:#bcdedb;--input-bg:#ffffff;--check-bg:#0a7d75;--check-fg:#ffffff;}
.pal-4{--bg:#1f2933;--surface:#2a3742;--text:#ffffff;--muted:#b3bdc8;--primary:#ffffff;--on-primary:#1f2933;--line:#36444f;--heading:#ffffff;--body:#dde3e9;--faint:#93a0ac;--link:#6cc6f5;--accent:#3ad2c4;--line-strong:#4a5a67;--input-bg:#2a3742;--check-bg:rgba(255,255,255,.15);--check-fg:#ffffff;}
.pal-5{--bg:#12181f;--surface:#1f2933;--text:#ffffff;--muted:#a3aeba;--primary:#ffffff;--on-primary:#12181f;--line:#232d38;--heading:#ffffff;--body:#d4dbe2;--faint:#8593a0;--link:#6cc6f5;--accent:#3ad2c4;--line-strong:#33404c;--input-bg:#1f2933;--check-bg:rgba(255,255,255,.15);--check-fg:#ffffff;}

*,*::before,*::after{box-sizing:border-box;}
body{margin:0;font-family:var(--fb);font-size:var(--fs);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;height:auto;}
.sec{background:var(--bg);color:var(--text);padding:var(--pad) 0;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
.h1,.h2,.h3{font-family:var(--fh);font-weight:var(--hw);letter-spacing:var(--ls);line-height:1.1;margin:0;color:var(--heading);}
.h1{font-size:calc(clamp(2.1rem, 1.1rem + 3.1vw, 3.6rem) * var(--sc));}
.h2{font-size:calc(clamp(1.7rem, 1.1rem + 1.7vw, 2.5rem) * var(--sc));}
.h3{font-size:calc(1.15rem * var(--sc));line-height:1.3;}
.lead{font-size:calc(1.12rem * var(--sc));color:var(--muted);margin:16px 0 0;max-width:60ch;}
.body{color:var(--body);margin:12px 0 0;white-space:pre-line;}
.eyebrow{font-family:var(--fb);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--link);margin:0 0 14px;}
.sec-head{margin-bottom:40px;max-width:62ch;}
.small{font-size:.86rem;color:var(--faint);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--fb);font-weight:600;font-size:.97rem;padding:13px 22px;border-radius:var(--btn-r);background:var(--primary);color:var(--on-primary);text-decoration:none;border:1px solid var(--primary);cursor:pointer;transition:filter .15s ease, transform .15s ease;}
.btn:hover{filter:brightness(1.08);}
.btn:active{transform:translateY(1px);}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong);}
.btn-full{width:100%;}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}

.grid{display:grid;gap:24px;}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;}

.hero .h1{max-width:18ch;}
.hero--compact{padding:calc(var(--pad) * .7) 0;}
.hero--tall{padding:calc(var(--pad) * 1.6) 0;}
.is-center{text-align:center;}
.is-center .h1,.is-center .lead{margin-left:auto;margin-right:auto;}
.is-center .actions{justify-content:center;}
.is-center .sec-head{margin-left:auto;margin-right:auto;}
.hero-media{margin-top:48px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);}

.banner{padding:22px 0;}
.banner-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.banner-text{margin:0;font-weight:500;}
.banner.is-center .banner-inner{justify-content:center;text-align:center;}

.rich.narrow{max-width:68ch;}
/* A panel treatment so this section sits alongside the cards and the call to
   action rather than reading as a bare band of colour. */
.textbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:44px 42px;}
.textbox.is-outline{background:transparent;}
.textbox.narrow{max-width:74ch;}
.textbox.is-center{margin-left:auto;margin-right:auto;}
.textbox .actions{margin-top:24px;}
.rich.narrow.is-center{margin:0 auto;}

.ico{font-size:1.5rem;line-height:1;color:var(--link);margin-bottom:14px;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.split.is-reverse .split-media{order:2;}
.split-media{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--surface);min-height:280px;display:flex;align-items:center;justify-content:center;color:var(--muted);}
.split-media img{width:100%;object-fit:cover;}

.price{display:flex;flex-direction:column;position:relative;}
.price-featured{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);}
.price-tag{position:absolute;top:0;left:26px;transform:translateY(-50%);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-primary);background:var(--primary);padding:4px 11px;border-radius:999px;white-space:nowrap;}
.price-amt{display:flex;align-items:baseline;gap:4px;margin:14px 0 0;font-family:var(--fh);}
.price-num{font-size:calc(2.1rem * var(--sc));font-weight:var(--hw);letter-spacing:var(--ls);}
.price-per{color:var(--muted);font-size:.95rem;font-family:var(--fb);}
.ticks{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:10px;}
.ticks li{display:flex;gap:10px;align-items:flex-start;color:var(--body);font-size:.95rem;}
.ticks li::before{content:"\2713";color:var(--link);font-weight:700;}
.price .btn{margin-top:auto;}

.stat-num{font-family:var(--fh);font-weight:var(--hw);letter-spacing:var(--ls);font-size:calc(2.3rem * var(--sc));line-height:1;}
.stat-label{color:var(--muted);font-size:.92rem;margin-top:8px;}
.stars{color:var(--accent);letter-spacing:.12em;font-size:1rem;margin-bottom:12px;}
.stat{border-left:2px solid var(--primary);padding-left:18px;}

.quote{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;}
.quote p{margin:0;font-size:1.05rem;line-height:1.55;}
.quote footer{margin-top:18px;font-size:.9rem;color:var(--muted);}
.quote cite{font-style:normal;font-weight:600;color:var(--text);display:block;}

.faq{border-bottom:1px solid var(--line);}
.faq summary{cursor:pointer;padding:20px 0;font-family:var(--fh);font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--primary);font-size:1.4rem;line-height:1;}
.faq[open] summary::after{content:"–";}
.faq .body{margin:0 0 22px;max-width:70ch;}
.faq-list{border-top:1px solid var(--line);}

.ctaBox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:56px 40px;}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.dl{margin:28px 0 0;display:grid;gap:16px;}
.dl div{display:grid;gap:2px;}
.dl dt{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);}
.dl dd{margin:0;font-weight:500;}
.dl a{color:var(--text);}
.field{display:grid;gap:6px;margin-bottom:16px;}
.field label{font-size:.84rem;font-weight:600;}
.field input,.field textarea,.field select{font:inherit;font-size:.95rem;padding:12px 14px;border:1px solid var(--line);border-radius:var(--input-r);background:var(--input-bg);color:var(--text);width:100%;transition:background .15s ease,border-color .15s ease;}
.field input:focus,.field textarea:focus,.field select:focus{background:var(--surface);border-color:var(--link);}
.field select{appearance:none;cursor:pointer;padding-right:38px;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 20px) 55%, calc(100% - 14px) 55%;
  background-size:6px 6px, 6px 6px;background-repeat:no-repeat;}
.field textarea{resize:vertical;min-height:96px;}
.field input::placeholder,.field textarea::placeholder{color:var(--faint);opacity:1;}

.nav{background:var(--bg);color:var(--text);border-bottom:1px solid var(--line);}
.nav.is-sticky{position:sticky;top:0;z-index:50;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px;}
.brand{font-family:var(--fh);font-weight:var(--hw);letter-spacing:var(--ls);font-size:1.12rem;color:var(--text);text-decoration:none;}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{color:var(--text);text-decoration:none;font-size:.96rem;font-weight:500;opacity:.85;}
.nav-links a:hover{opacity:1;}
.nav-links .btn{opacity:1;color:var(--on-primary);}
.nav-links .btn-ghost{color:var(--text);}
/* Dropdown menus. Opened on hover and on keyboard focus, with no JavaScript,
   so they work on a page that ships none. */
.nav-item{position:relative;display:flex;align-items:center;}
.nav-item > a{display:inline-flex;align-items:center;gap:7px;}
.nav-caret{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.65;flex-shrink:0;}
.nav-sub{position:absolute;top:100%;left:-14px;z-index:60;min-width:238px;padding:8px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:0 20px 44px -20px rgba(8,15,30,.55);
  display:flex;flex-direction:column;gap:2px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;}
.nav-item:hover > .nav-sub,.nav-item:focus-within > .nav-sub{
  opacity:1;visibility:visible;transform:translateY(0);}
.nav-sub a{display:block;padding:9px 12px;border-radius:calc(var(--r) * .55);
  font-size:.93rem;font-weight:500;color:var(--text);opacity:.88;white-space:nowrap;}
.nav-sub a:hover,.nav-sub a:focus-visible{background:var(--bg);color:var(--link);opacity:1;}

.nav.is-center .nav-inner{justify-content:center;flex-direction:column;gap:14px;}
.nav-toggle{display:none;}
.nav-check{display:none;}

.footer .footer-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.footer .brand{margin-bottom:10px;display:inline-block;}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;}
.footer-links a{color:var(--muted);text-decoration:none;font-size:.94rem;}
.footer-links a:hover{color:var(--text);}
.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}

.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;}
.field-full{grid-column:1 / -1;}
.field .req{color:var(--primary);margin-left:2px;}
.hint{font-size:.82rem;color:var(--faint);}
.field .hint{margin-top:2px;}
.opts{display:grid;gap:11px;margin-top:2px;}
.field .opt,.opt{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;font-weight:400;color:var(--text);cursor:pointer;}
.opt input{appearance:none;-webkit-appearance:none;position:relative;margin:2px 0 0;width:18px;height:18px;flex-shrink:0;cursor:pointer;
  border:1.5px solid var(--line-strong);border-radius:5px;background:var(--surface);transition:background .12s ease,border-color .12s ease;}
.opt input[type=radio]{border-radius:999px;}
.opt input:hover{border-color:var(--link);}
.opt input:checked{background:var(--check-bg);border-color:var(--check-bg);}
.opt input[type=checkbox]:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid var(--check-fg);border-width:0 2px 2px 0;transform:rotate(45deg);}
.opt input[type=radio]:checked::after{content:"";position:absolute;left:4px;top:4px;width:7px;height:7px;border-radius:999px;background:var(--check-fg);}
.upload{grid-column:1 / -1;border:1px dashed var(--line);border-radius:var(--r);padding:22px;margin:6px 0 20px;}
.upload h3{margin:0 0 6px;}
.filelist{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px;}
.filelist li{display:flex;gap:10px;align-items:center;font-size:.9rem;color:var(--muted);}
.filelist li::before{content:"◆";color:var(--primary);}
.formnote{grid-column:1 / -1;margin:0 0 18px;}
.status{grid-column:1 / -1;border-radius:var(--r);padding:16px 18px;margin-bottom:16px;background:var(--surface);border:1px solid var(--line);}
.status-ok{border-color:var(--primary);}
.order-actions{grid-column:1 / -1;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
input[type=file]{font:inherit;font-size:.9rem;color:var(--muted);}

.page-strip{background:var(--bg);color:var(--text);}
.page-body{max-width:var(--max);margin:0 auto;padding:var(--pad) 24px;display:grid;
  grid-template-columns:minmax(0,1fr) var(--sb-w, 320px);gap:52px;align-items:start;}
.page-body.is-left{grid-template-columns:var(--sb-w, 320px) minmax(0,1fr);}
.page-body.is-left .page-side{order:-1;}
.page-body.no-side{grid-template-columns:minmax(0,1fr);}
.page-main{min-width:0;}
/* Sections inside the column drop their full-bleed padding and gutters. */
.page-main > .sec{padding:0 0 40px;}
.page-main > .sec:last-child{padding-bottom:0;}
.page-main > .sec > .wrap{max-width:none;padding:0;}
.page-side.is-sticky{position:sticky;top:84px;}

.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:26px;margin-bottom:20px;box-shadow:0 3px 20px rgba(15,23,42,.08);}
.side-card:last-child{margin-bottom:0;}
.side-card h3{font-size:1.05rem;margin:0 0 6px;}
.side-card > .side-intro{font-size:.86rem;color:var(--muted);margin:0 0 18px;line-height:1.6;}
.side-field{margin-bottom:13px;display:grid;gap:4px;}
.side-field label{font-size:11px;font-weight:600;color:var(--heading);
  text-transform:uppercase;letter-spacing:.04em;}
.side-field input,.side-field select,.side-field textarea{font:inherit;font-size:.88rem;
  padding:9px 11px;border:1px solid var(--line);border-radius:calc(var(--r) * .6);
  background:var(--input-bg);color:var(--text);width:100%;}
.side-field input:focus,.side-field select:focus,.side-field textarea:focus{
  outline:none;border-color:var(--link);}
.side-field select{appearance:none;cursor:pointer;padding-right:32px;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 17px) 55%, calc(100% - 12px) 55%;
  background-size:5px 5px, 5px 5px;background-repeat:no-repeat;}
.side-card .btn{width:100%;margin-top:6px;}
.side-contact{font-size:.86rem;color:var(--body);}
.side-contact p{margin:0 0 8px;line-height:1.6;white-space:pre-line;}
.side-contact p:last-child{margin-bottom:0;}
.side-contact a{color:var(--link);font-weight:500;}
.side-note{font-size:.82rem;color:var(--faint);line-height:1.7;}

.globe-sec{overflow:hidden;position:relative;}
.globe-stars::before,.globe-stars::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(1.4px 1.4px at 20px 30px, rgba(255,255,255,.8) 50%, transparent 51%),
    radial-gradient(1px 1px at 130px 80px, rgba(255,255,255,.55) 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 220px 160px, rgba(255,255,255,.45) 50%, transparent 51%),
    radial-gradient(1px 1px at 300px 40px, rgba(190,220,255,.65) 50%, transparent 51%);
  background-size:340px 240px;opacity:.5;}
.globe-stars::after{background-size:520px 380px;opacity:.28;transform:translateY(60px);}
.globe-sec > .wrap{position:relative;z-index:1;}

.globe-grid{display:grid;gap:44px;align-items:center;}
.globe-grid.is-side{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);}
.globe-grid.is-side.is-flip .globe-copy{order:2;}
.globe-copy{max-width:58ch;}
.globe-grid:not(.is-side) .globe-copy{margin-left:auto;margin-right:auto;text-align:center;}
.globe-grid:not(.is-side) .globe-copy .actions{justify-content:center;}
.globe-grid.is-below .globe-copy{order:2;}

.globe-stage{position:relative;width:100%;max-width:560px;aspect-ratio:1;margin:0 auto;
  --globe-apostille:var(--link);
  --globe-authentication:var(--accent);
  --globe-unavailable:var(--line-strong);
  --globe-ocean:var(--surface);
  --globe-stroke:var(--bg);
  --globe-halo:var(--link);}
.globe-stage.is-large{max-width:680px;}
.globe-stage canvas{width:100%;height:100%;display:block;border-radius:50%;cursor:grab;outline:none;}
.globe-stage canvas:focus-visible{outline:3px solid var(--link);outline-offset:6px;}
.globe-stage[data-loading]::after{content:"Loading the map…";position:absolute;inset:0;display:grid;
  place-items:center;color:var(--faint);font-size:.9rem;}
.globe-stage[data-error]::after{content:"The map could not load.";position:absolute;inset:0;display:grid;
  place-items:center;color:var(--faint);font-size:.9rem;}

.globe-legend{display:flex;gap:24px;flex-wrap:wrap;margin-top:22px;}
.globe-grid:not(.is-side) .globe-legend{justify-content:center;}
.globe-legend span{display:flex;align-items:center;gap:9px;font-size:.92rem;color:var(--muted);}
.globe-key{width:13px;height:13px;border-radius:4px;flex-shrink:0;}
.globe-key--a{background:var(--link);}
.globe-key--b{background:var(--accent);}
.globe-key--c{background:var(--line-strong);}
.globe-hint{text-align:center;color:var(--faint);font-size:.86rem;margin:20px 0 0;}

.globe-bubble{position:absolute;transform:translate(-50%,-100%);margin-top:-16px;z-index:6;
  background:#fdfaf3;color:#0f172a;border-radius:14px;padding:14px 18px 15px;
  min-width:190px;max-width:260px;box-shadow:0 18px 44px rgba(8,15,30,.5);font-size:.94rem;
  /* The bubble floats over the globe, so it must not swallow clicks meant for
     the countries underneath it. Only its close button stays clickable. */
  pointer-events:none;}
.globe-bubble-close{pointer-events:auto;}
.globe-bubble[hidden]{display:none;}
.globe-bubble::after{content:"";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);
  border:9px solid transparent;border-top-color:#fdfaf3;border-bottom:0;}
.globe-bubble[data-side="below"]{transform:translate(-50%,0);margin-top:16px;}
.globe-bubble[data-side="below"]::after{bottom:auto;top:-9px;border-top:0;border-bottom:9px solid #fdfaf3;}
.globe-bubble-name{font-weight:700;font-size:1.04rem;margin:0 0 8px;letter-spacing:-.01em;}
.globe-tag{display:inline-flex;align-items:center;gap:7px;font-size:.68rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;padding:4px 11px 4px 9px;border-radius:999px;
  background:#eef2f7;color:#334155;}
/* The swatch is the country's actual colour, so the bubble always agrees with
   the globe even when the colours are set by hand. */
.globe-tag::before{content:"";width:9px;height:9px;border-radius:3px;flex-shrink:0;
  background:var(--globe-unavailable);box-shadow:inset 0 0 0 1px rgba(15,23,42,.2);}
.globe-tag--apostille::before{background:var(--globe-apostille);}
.globe-tag--authentication::before{background:var(--globe-authentication);}
.globe-tag--unavailable::before{background:var(--globe-unavailable);}
.globe-bubble-note{margin:10px 0 0;font-size:.84rem;color:#64748b;line-height:1.45;}
.globe-bubble-close{position:absolute;top:6px;right:8px;border:0;background:none;cursor:pointer;
  color:#94a3b8;font-size:16px;line-height:1;padding:4px;}

/* ---- numbered step with a panel beside it ---- */
.step-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.step-grid.is-left .step-panel{order:-1;}
.step-num{font-family:var(--fh);font-weight:800;letter-spacing:-.04em;line-height:.9;
  font-size:calc(4.6rem * var(--sc));color:var(--link);opacity:.16;margin:0 0 10px;}
.step-body .h2{margin-bottom:2px;}
.step-accent{color:var(--link);font-style:italic;}
.step-note{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding:14px 18px;
  border-left:3px solid var(--note-c, var(--accent));border-radius:0 var(--r) var(--r) 0;
  background:var(--surface);font-size:.94rem;color:var(--body);}
.step-note::before{content:"\2713";color:var(--note-c, var(--accent));font-weight:700;flex-shrink:0;}

.panel{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  background:var(--surface);box-shadow:0 18px 44px -24px rgba(15,23,42,.4);}
.panel-head{display:flex;align-items:center;gap:10px;padding:15px 20px;
  background:var(--primary);color:var(--on-primary);font-weight:600;font-size:.95rem;}
.panel-badge{margin-left:auto;font-size:.72rem;font-weight:600;padding:4px 11px;border-radius:999px;
  background:rgba(255,255,255,.18);}
.panel-list{padding:8px 20px 18px;display:grid;}
.panel-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;}
.panel-row + .panel-row{border-top:1px solid var(--line);}
.panel-step{flex-shrink:0;width:26px;height:26px;border-radius:999px;background:var(--link);
  color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:700;margin-top:1px;}
.panel-row h4{margin:0 0 3px;font-size:.95rem;font-weight:600;color:var(--heading);}
.panel-row p{margin:0;font-size:.86rem;color:var(--muted);}
.panel-media{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--surface);}
.panel-media img{width:100%;object-fit:cover;}

/* ---- sticky quote bar ---- */
.bottombar{position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:var(--bg);color:var(--text);border-top:1px solid var(--line);
  box-shadow:0 -6px 28px rgba(8,15,30,.28);
  transform:translateY(110%);transition:transform .32s ease;}
.bottombar.is-up{transform:translateY(0);}
.bottombar[hidden]{display:none;}
.bottombar-inner{max-width:var(--max);margin:0 auto;padding:13px 24px;
  display:flex;align-items:center;gap:16px;flex-wrap:nowrap;}
.bottombar-brand{font-weight:700;font-size:.94rem;color:var(--heading);white-space:nowrap;flex-shrink:0;}
.bottombar-text{font-size:.88rem;color:var(--muted);min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bottombar-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0;}
.bottombar .btn{padding:10px 18px;font-size:.9rem;}
.bottombar-phone{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;
  border:1px solid var(--line-strong);border-radius:var(--btn-r);color:var(--text);
  font-weight:600;font-size:.9rem;text-decoration:none;}
.bottombar-phone:hover{border-color:var(--link);color:var(--link);}
.bottombar-close{border:0;background:none;cursor:pointer;color:var(--faint);
  font-size:19px;line-height:1;padding:6px 4px;}
.bottombar-close:hover{color:var(--text);}

/* ---- ticker ---- */
.ticker{padding:0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ticker-rail{display:flex;width:max-content;will-change:transform;
  animation:sf-ticker var(--tk-speed,40s) linear infinite;}
.ticker--right .ticker-rail{animation-direction:reverse;}
.ticker:hover .ticker-rail.is-pausable{animation-play-state:paused;}
.ticker-run{display:flex;align-items:center;flex:0 0 auto;}
.ticker-item{display:inline-flex;align-items:center;gap:18px;padding:14px 0;white-space:nowrap;
  font-size:.94rem;font-weight:500;color:var(--text);}
.ticker-sep{color:var(--link);opacity:.75;padding:0 18px;}
@keyframes sf-ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---- counting numbers ---- */
.count-num{font-family:var(--fh);font-weight:var(--hw);letter-spacing:var(--ls);
  font-size:calc(2.6rem * var(--sc));line-height:1;color:var(--heading);}
.count-label{color:var(--muted);font-size:.92rem;margin-top:8px;}
.count-cell{text-align:center;}

/* ---- step timeline ---- */
.tl{position:relative;display:grid;gap:0;}
.tl-step{position:relative;padding:0 0 34px 58px;}
.tl-step:last-child{padding-bottom:0;}
.tl-step::before{content:"";position:absolute;left:17px;top:34px;bottom:-6px;width:2px;background:var(--line);}
.tl-step:last-child::before{display:none;}
.tl-dot{position:absolute;left:0;top:0;width:36px;height:36px;border-radius:999px;
  background:var(--primary);color:var(--on-primary);display:grid;place-items:center;
  font-family:var(--fh);font-weight:700;font-size:.95rem;}
.tl-step h3{margin:6px 0 0;}

/* ---- logo strip ---- */
.logos{overflow:hidden;}
.logos-head{text-align:center;font-size:.76rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--faint);margin:0 0 22px;}
.logos-rail{display:flex;width:max-content;align-items:center;}
.logos-rail.is-scrolling{animation:sf-ticker var(--lg-speed,34s) linear infinite;}
.logos:hover .logos-rail.is-scrolling{animation-play-state:paused;}
.logos-run{display:flex;align-items:center;flex:0 0 auto;}
.logo-item{display:inline-flex;align-items:center;justify-content:center;padding:0 34px;
  font-family:var(--fh);font-weight:600;font-size:1.02rem;color:var(--muted);white-space:nowrap;}
.logo-item img{max-height:38px;width:auto;object-fit:contain;}
.logos.is-grey .logo-item{filter:grayscale(1);opacity:.65;transition:filter .2s ease,opacity .2s ease;}
.logos.is-grey .logo-item:hover{filter:none;opacity:1;}
.logos-static .logos-rail{width:auto;flex-wrap:wrap;justify-content:center;gap:10px 0;}

/* ---- tabbed panels ---- */
.tabs-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.tab-btn{font:inherit;font-size:.94rem;font-weight:600;padding:10px 18px;cursor:pointer;
  border-radius:var(--btn-r);border:1px solid var(--line-strong);background:transparent;color:var(--text);
  transition:background .15s ease,color .15s ease,border-color .15s ease;}
.tab-btn:hover{border-color:var(--link);color:var(--link);}
.tab-btn[aria-selected="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.tab-panel{display:none;}
.tab-panel.is-on{display:block;animation:sf-fade .28s ease both;}
.tab-split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
@keyframes sf-fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ---- side-by-side compare ---- */
.cmp{display:flex;flex-direction:column;height:100%;position:relative;}
.cmp-featured{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);}
.cmp-badge{position:absolute;top:0;left:26px;transform:translateY(-50%);font-size:.68rem;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-primary);
  background:var(--primary);padding:4px 11px;border-radius:999px;white-space:nowrap;}
.cmp-sub{color:var(--muted);font-size:.94rem;margin:6px 0 20px;}
.cmp-rows{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px;}
.cmp-rows li{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;color:var(--body);}
.cmp-rows li::before{flex-shrink:0;width:20px;height:20px;border-radius:999px;display:grid;
  place-items:center;font-size:.7rem;font-weight:700;margin-top:1px;}
.cmp-rows li.yes::before{content:"\2713";background:var(--check-bg);color:var(--check-fg);}
.cmp-rows li.no::before{content:"\2715";background:var(--line);color:var(--faint);}
.cmp .btn{margin-top:auto;}

/* ---- reveal on scroll ---- */
[data-reveal]{opacity:0;transform:translateY(14px);
  transition:opacity .5s ease, transform .5s ease;}
[data-reveal].is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
[data-reveal]{opacity:1;transform:none;transition:none;}
.ticker-rail,.logos-rail.is-scrolling{animation:none;}
}

.car{position:relative;}
.car-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:24px;overflow-x:auto;
  scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;
  /* Room for the horizontal scrollbar, pulled back so it costs no visual space.
     Without this the cards are clipped along their bottom edge. */
  padding-bottom:20px;margin-bottom:-20px;}
.car-track::-webkit-scrollbar{display:none;}
.car-slide{scroll-snap-align:start;min-width:0;}
.car--2 .car-track{grid-auto-columns:calc(50% - 12px);}
.car--3 .car-track{grid-auto-columns:calc(33.333% - 16px);}
.car-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:34px;}
.car-btn{width:44px;height:44px;flex-shrink:0;border-radius:999px;border:1px solid var(--line-strong);
  background:var(--surface);color:var(--text);cursor:pointer;display:grid;place-items:center;font-size:1.1rem;line-height:1;
  transition:background .15s ease,border-color .15s ease;}
.car-btn:hover:not(:disabled){border-color:var(--link);color:var(--link);}
.car-btn:disabled{opacity:.35;cursor:default;}
.car-dots{display:flex;gap:8px;align-items:center;}
.car-dot{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:var(--line-strong);
  cursor:pointer;transition:width .2s ease,background .2s ease;}
.car-dot[aria-current="true"]{background:var(--primary);width:28px;}
.car-count{font-size:.85rem;color:var(--faint);min-width:56px;text-align:center;}

.slide-media{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--surface);}
.slide-media img{width:100%;object-fit:cover;aspect-ratio:16/9;}
.slide-split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
.slide-split.is-reverse .slide-media{order:2;}
.slide-body .h3{margin-bottom:4px;}
.slide-stack .slide-media{margin-bottom:22px;}

.review{display:flex;flex-direction:column;height:100%;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);padding:28px;}
.review-quote{margin:0 0 auto;font-size:1.02rem;line-height:1.6;color:var(--body);}
.review-foot{display:flex;align-items:center;gap:12px;margin-top:22px;}
.review-avatar{width:40px;height:40px;flex-shrink:0;border-radius:999px;background:var(--primary);
  color:var(--on-primary);display:grid;place-items:center;font-weight:700;font-size:.9rem;}
.review-name{font-weight:600;font-size:.95rem;}
.review-meta{font-size:.82rem;color:var(--faint);}
.review-src{display:flex;justify-content:center;margin-top:26px;}


.card{border-color:transparent;box-shadow:0 1px 2px rgba(15,23,42,.05), 0 12px 32px -16px rgba(15,23,42,.28);}
.eyebrow{display:inline-block;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font-size:.72rem;letter-spacing:.1em;margin-bottom:20px;}
.hero{background-image:radial-gradient(120% 90% at 50% -20%, var(--surface) 0%, transparent 62%);}
.nav{border-bottom-color:transparent;box-shadow:0 1px 0 var(--line);}
.h1{letter-spacing:calc(var(--ls) - .012em);}
.btn{box-shadow:0 1px 2px rgba(15,23,42,.08);}
.split-media,.hero-media{border-color:transparent;box-shadow:0 20px 48px -24px rgba(15,23,42,.42);}
.stat{border-left:none;padding-left:0;}
.stat-num{background:linear-gradient(180deg, var(--text) 30%, var(--primary) 190%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.quote,.review,.textbox{border-color:transparent;box-shadow:0 1px 2px rgba(15,23,42,.05), 0 12px 32px -16px rgba(15,23,42,.28);}
.textbox.is-outline{border-color:var(--line);box-shadow:none;}
.upload{border-style:solid;background:var(--surface);}


@media (max-width: 900px){
.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
.split,.contact-grid{grid-template-columns:1fr;gap:32px;}
.split.is-reverse .split-media{order:0;}
}
@media (max-width: 640px){
.sec{padding:calc(var(--pad) * .62) 0;}
.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
.form{grid-template-columns:1fr;}
.car--2 .car-track,.car--3 .car-track{grid-auto-columns:100%;}
.slide-split,.tab-split{grid-template-columns:1fr;gap:24px;}
.step-grid{grid-template-columns:1fr;gap:32px;}
.step-grid.is-left .step-panel{order:0;}
.bottombar-inner{padding:11px 16px;gap:10px;}
.bottombar-text{display:none;}
.bottombar-actions{margin-left:auto;}
.page-body,.page-body.is-left{grid-template-columns:minmax(0,1fr);gap:36px;}
.page-body.is-left .page-side{order:0;}
.page-side.is-sticky{position:static;}
.globe-grid.is-side{grid-template-columns:1fr;gap:32px;}
.globe-grid.is-side.is-flip .globe-copy{order:0;}
.globe-grid:not(.is-side) .globe-copy,.globe-grid.is-side .globe-copy{margin-left:auto;margin-right:auto;text-align:center;}
.globe-grid .globe-copy .actions{justify-content:center;}
.globe-legend{justify-content:center;}
.slide-split.is-reverse .slide-media{order:0;}
.ctaBox{padding:36px 24px;}
.textbox{padding:28px 22px;}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:var(--btn-r);cursor:pointer;font-size:1.1rem;}
.nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:16px;padding:8px 0 18px;}
.nav-check:checked ~ .nav-links{display:flex;}
.nav-links{align-items:flex-start;}
.nav-item{flex-direction:column;align-items:flex-start;width:100%;}
.nav-caret{display:none;}
.nav-sub{position:static;opacity:1;visibility:visible;transform:none;min-width:0;width:100%;
  background:transparent;border:0;box-shadow:none;padding:6px 0 2px 14px;gap:0;}
.nav-sub a{padding:7px 0;opacity:.75;}
.nav-inner{flex-wrap:wrap;}
.nav.is-center .nav-inner{flex-direction:row;justify-content:space-between;}
.footer-bottom{flex-direction:column;}
}
@media (prefers-reduced-motion: reduce){
*{animation:none !important;transition:none !important;}
}

/* Honeypot field — hidden from people, visible to most spam bots. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
