/* Concept: the logo's orange is the field, charcoal is the ink. One bold moment: two live clocks (Abuja and the visitor) because distance and time zones are the real problem for families abroad. Real photos drop into the arch slots as they arrive. */
:root{
  --paper:#FFFDFA;
  --peach:#FDE9DA;
  --sage-pale:#DFE8DF;
  --sage:#6F8170;
  --sage-deep:#42533F;
  --ink:#383838;
  --deep:#252120;
  --orange:#F89048;
  --orange-deep:#CC5C1F;
  --orange-text:#A94512;
  --line:#E6DBD2;
  --muted:#645B55;
  --ui:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif;
  --display:var(--ui);
  --text:"Newsreader",Georgia,"Times New Roman",serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.1875rem/1.6 var(--text)}
img,svg{max-width:100%}
img{display:block}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.04;letter-spacing:-.03em;margin:0 0 .55em;text-wrap:balance}
h1{font-size:clamp(2.7rem,7vw,5.9rem);line-height:.98;letter-spacing:-.04em}
h2{font-size:clamp(2.05rem,4.6vw,3.7rem)}
h3{font-size:clamp(1.3rem,2.2vw,1.75rem);letter-spacing:-.02em;line-height:1.12;font-weight:600}
p{margin:0 0 1.1em;max-width:62ch}
a{color:var(--orange-text);text-decoration-thickness:1.5px;text-underline-offset:.2em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
.band--deep :focus-visible,.dock :focus-visible{outline-color:#fff}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;font:600 1rem var(--ui);z-index:100}
.skip:focus{left:16px}

.wrap{width:100%;max-width:1220px;margin-inline:auto;padding-left:max(18px, env(safe-area-inset-left, 0px));padding-right:max(18px, env(safe-area-inset-right, 0px))}
.band{padding-block:clamp(3.6rem,8vw,7rem)}
.band--peach{background:var(--peach)}
.band--sage{background:var(--sage-pale)}
.band--deep{background:var(--deep);color:#F6ECE4}
.band--deep p,.band--deep li{color:#EFE3D9}
.band--deep a:not(.btn){color:#FFC89C}
.band--deep h2,.band--deep h3{color:#fff}
.band--orange{background:var(--orange);color:var(--ink)}
.band--orange a:not(.btn){color:var(--ink)}
.lede{font-size:clamp(1.25rem,1.9vw,1.55rem);line-height:1.45;max-width:40ch}
.muted{color:var(--muted)}
.band--deep .muted{color:#D7C8BC}
.small{font-size:1rem}

/* header */
html{scroll-padding-top:84px}
.site-head{background:rgba(255,253,250,.94);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);transition:box-shadow .3s;view-transition-name:site-head}
.site-head.scrolled{box-shadow:0 10px 30px -22px rgba(37,33,32,.8)}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;pointer-events:none}
.progress i{display:block;height:100%;background:var(--orange-deep);transform-origin:left;transform:scaleX(var(--p,0))}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem;transition:padding .3s}
.scrolled .bar{padding-block:.35rem}
.brand{display:block;flex:none}
.brand img{height:54px;width:auto;transition:height .3s}
.scrolled .brand img{height:44px}
.nav{display:flex;align-items:center;gap:1.25rem;font:500 1rem var(--ui)}
.nav>a,.dd>button{color:var(--ink);text-decoration:none;padding:.3rem 0;border:0;border-bottom:2px solid transparent;background:none;font:inherit;cursor:pointer}
.nav>a:hover,.nav>a[aria-current="page"],.dd>button:hover,.dd.open>button{border-bottom-color:var(--orange)}
.nav .btn{border-bottom:0}
.dd{position:relative}
.dd>button::after{content:"";display:inline-block;width:.42em;height:.42em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.15em) rotate(45deg);margin-left:.5em;transition:transform .25s}
.dd.open>button::after{transform:translateY(.05em) rotate(225deg)}
.dd-menu{position:absolute;left:-1rem;top:calc(100% + .7rem);min-width:230px;background:#fff;border:1.5px solid var(--ink);border-radius:20px;padding:.6rem;display:grid;gap:.1rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s,visibility .22s;box-shadow:0 24px 40px -26px rgba(37,33,32,.7)}
.dd.open .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu a{display:block;color:var(--ink);text-decoration:none;padding:.6rem .85rem;border-radius:12px;font-weight:500;transition:background .15s}
.dd-menu a:hover,.dd-menu a[aria-current="page"]{background:var(--peach)}
.status-chip{font:500 .88rem var(--ui);color:var(--sage-deep);background:var(--sage-pale);padding:.35rem .8rem;border-radius:99px;white-space:nowrap}
.status-chip i{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--sage);margin-right:.45rem;vertical-align:.05em}
.status-chip.open i{background:#2f8a48;animation:beat 2.4s ease-in-out infinite}
@keyframes beat{50%{box-shadow:0 0 0 .4rem rgba(47,138,72,.18)}}
.nav-toggle{display:none;font:600 1rem var(--ui);background:transparent;color:var(--ink);border:2px solid var(--ink);border-radius:99px;padding:.45rem 1rem;cursor:pointer}
@media (max-width:1180px){
  .status-chip{display:none}
}
@media (max-width:1060px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);flex-direction:column;align-items:flex-start;gap:.1rem;padding:1rem max(18px, env(safe-area-inset-left, 0px)) 1.6rem;border-bottom:1px solid var(--line);max-height:calc(100vh - 70px);overflow:auto}
  .nav>a,.dd>button{padding:.6rem 0;font-size:1.15rem;width:100%;text-align:left}
  .site-head.open .nav{display:flex}
  .nav .btn{margin-top:.6rem;width:auto}
  .dd{width:100%}
  .dd>button::after{display:none}
  .dd-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:0 0 .4rem .8rem;min-width:0;background:none}
  .dd-menu a{padding:.4rem 0;font-size:1.05rem;color:var(--muted)}
}

/* buttons: always pill, with a fill that sweeps in from below */
.btn{--bg:var(--orange);--fg:var(--ink);--bd:var(--orange);--sweep:var(--ink);--fgh:#fff;position:relative;z-index:0;overflow:hidden;display:inline-block;font:600 1.05rem/1.15 var(--ui);background:var(--bg);color:var(--fg);text-decoration:none;padding:.95em 1.55em;border-radius:99px;border:2px solid var(--bd);cursor:pointer;transition:color .3s,transform .2s;white-space:nowrap;text-align:center}
.btn::before{content:"";position:absolute;inset:-1px;background:var(--sweep);transform:translateY(102%);border-radius:50% 50% 0 0/40% 40% 0 0;transition:transform .45s cubic-bezier(.2,.75,.2,1),border-radius .45s;z-index:-1}
.btn:hover{color:var(--fgh)}
.btn:hover::before{transform:none;border-radius:0}
.btn:active{transform:scale(.97)}
.btn--small{padding:.6em 1.15em;font-size:.97rem}
.btn--ghost{--bg:transparent;--bd:var(--ink);--fg:var(--ink);--sweep:var(--ink);--fgh:#fff}
.btn--dark{--bg:var(--ink);--bd:var(--ink);--fg:#fff;--sweep:var(--orange);--fgh:var(--ink)}
.band--orange,.hero,.pagehead,.lp-hero{--btn-bg:var(--ink)}
.band--orange .btn:not(.btn--ghost):not(.btn--dark),.hero .btn:not(.btn--ghost):not(.btn--dark),.pagehead .btn:not(.btn--ghost):not(.btn--dark),.lp-hero .btn:not(.btn--ghost):not(.btn--dark){--bg:var(--ink);--bd:var(--ink);--fg:#fff;--sweep:#fff;--fgh:var(--ink)}
.band--orange .btn--dark,.hero .btn--dark,.pagehead .btn--dark{--sweep:#fff;--fgh:var(--ink)}
.band--deep .btn:not(.btn--ghost){--sweep:#fff;--fgh:var(--ink)}
.band--deep .btn--ghost{--bd:#F1E7DE;--fg:#fff;--sweep:#fff;--fgh:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}

/* photo slots: illustration shows until a real photo exists */
.ph{position:relative;overflow:hidden;background:var(--peach)}
.ph svg{position:absolute;inset:0;width:100%;height:100%}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* hero */
.hero{background:var(--orange);padding-top:clamp(2.2rem,5vw,4.2rem);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:end}
.hero h1{max-width:10.5ch;margin-bottom:.35em}
.hero .lede{max-width:34ch;font-weight:400}
.hero-copy{padding-bottom:clamp(2.2rem,5vw,4.4rem)}
.arch2{position:relative;width:100%;max-width:470px;margin-inline:auto}
.arch2 .ph{aspect-ratio:4/5;border-radius:999px 999px 0 0;background:var(--paper)}
.ticket{position:absolute;left:-14%;bottom:9%;width:min(330px,86%);background:#fff;border-radius:22px;padding:1.05rem 1.2rem 1.1rem;box-shadow:0 22px 40px -22px rgba(37,33,32,.65);font-family:var(--ui)}
.ticket .t-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.ticket .t-place{font-size:.92rem;font-weight:500;color:var(--muted)}
.ticket .t-clock{font-size:1.9rem;font-weight:700;letter-spacing:-.03em;line-height:1}
.ticket .t-link{position:relative;height:30px;margin:.35rem 0}
.ticket .t-link::before{content:"";position:absolute;left:8px;right:8px;top:50%;border-top:3px dotted var(--ink);opacity:.45}
.ticket .t-link i{position:absolute;top:50%;left:8px;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--orange);animation:hop 3.2s ease-in-out infinite alternate}
.ticket .t-gap{font-size:.92rem;font-weight:600;margin:.55rem 0 0}
.ticket .t-hours{font-size:.88rem;color:var(--muted);margin:.15rem 0 0;font-weight:400}
@keyframes hop{from{left:8px}to{left:calc(100% - 22px)}}
@media (prefers-reduced-motion:reduce){.ticket .t-link i{animation:none;left:calc(50% - 7px)}}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;align-items:start}.hero-copy{padding-bottom:0}.arch2{max-width:400px;margin-top:1rem}.ticket{left:2%;bottom:6%}}

/* fact bar under hero */
.factbar{background:var(--deep);color:#fff}
.factbar .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.factbar .wrap>div{padding:1.5rem 1.3rem;border-left:1px solid rgba(255,255,255,.16)}
.factbar .wrap>div:first-child{border-left:0;padding-left:0}
.factbar b{display:block;font:600 1.1rem/1.2 var(--ui);color:#fff;margin-bottom:.2rem}
.factbar span{font-size:1rem;color:#E9DDD3;line-height:1.4;display:block}
.factbar a:not(.btn){color:#FFC89C}
@media (max-width:860px){.factbar .wrap{grid-template-columns:1fr 1fr}.factbar .wrap>div:nth-child(3){border-left:0;padding-left:0}.factbar .wrap>div{border-top:1px solid rgba(255,255,255,.16)}.factbar .wrap>div:nth-child(-n+2){border-top:0}}
@media (max-width:480px){.factbar .wrap{grid-template-columns:1fr}.factbar .wrap>div{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.16)}.factbar .wrap>div:first-child{border-top:0}}

/* three questions */
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);margin-top:2.6rem}
.cols3>div{border-top:4px solid var(--ink);padding-top:1.3rem}
.cols3 h3{font-size:clamp(1.55rem,2.5vw,2.1rem);margin-bottom:.7rem}
.cols3 p{font-size:1.1rem}
.cols3 a{font:600 1rem var(--ui)}
@media (max-width:900px){.cols3{grid-template-columns:1fr}}

/* section intro rows (kept for inner pages) */
.rows{margin-top:2.2rem}
.row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1rem,4vw,4rem);padding-block:2rem;border-top:1px solid var(--line)}
.row h3{margin:0;font-size:clamp(1.45rem,2.7vw,2.1rem)}
@media (max-width:760px){.row{grid-template-columns:1fr;gap:.8rem}}

/* two-column bands */
.duo{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.duo .sticky{position:sticky;top:2rem}
@media (max-width:860px){.duo{grid-template-columns:1fr}.duo .sticky{position:static}}
.split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,5vw,5rem);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* journey: six stages, a real sequence */
.grid6{list-style:none;margin:2.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.6rem clamp(1.5rem,3vw,3rem)}
.grid6 li{border-top:1px solid var(--ink);padding-top:1rem}
.grid6 .n{display:block;font:700 clamp(3.2rem,5vw,4.6rem)/1 var(--ui);letter-spacing:-.05em;color:var(--orange);margin-bottom:.5rem}
.grid6 h3{margin-bottom:.4rem}
.grid6 p{font-size:1.08rem;margin:0}
@media (max-width:900px){.grid6{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid6{grid-template-columns:1fr}}
.journey{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:2.3rem}
.journey::before{content:"";position:absolute;left:22px;top:18px;bottom:18px;width:3px;background:repeating-linear-gradient(to bottom,var(--ink) 0 8px,transparent 8px 16px);opacity:.5}
.journey li{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:1.3rem;align-items:start}
.journey .n{width:46px;height:46px;border-radius:50%;background:var(--orange);color:var(--ink);display:grid;place-items:center;font:700 1.2rem var(--ui);position:relative;z-index:1;border:3px solid var(--peach)}
.journey h3{margin:.2rem 0 .35rem}
.journey p{margin:0;max-width:58ch}
.journey .triple{display:grid;gap:.6rem;margin-top:.9rem;max-width:62ch}
.journey .triple p{font-size:1.08rem}
.journey .triple b{font:600 1rem var(--ui)}

/* contrast: what most agencies leave out vs what we write down */
.contrast{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);margin-top:2.6rem;align-items:stretch}
.contrast h3{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:1.1rem}
.contrast ul{list-style:none;margin:0;padding:0;display:grid;gap:.95rem}
.contrast li{position:relative;padding-left:2rem;font-size:1.12rem;line-height:1.4}
.contrast .bad li::before{content:"\00D7";position:absolute;left:0;top:-.12em;font:600 1.7rem/1 var(--ui)}
.contrast .good{background:#fff;border-radius:28px;padding:clamp(1.5rem,3vw,2.4rem);box-shadow:0 26px 44px -30px rgba(37,33,32,.7)}
.contrast .good li::before{content:"";position:absolute;left:.1rem;top:.35em;width:.9rem;height:.5rem;border-left:3px solid var(--sage-deep);border-bottom:3px solid var(--sage-deep);transform:rotate(-45deg)}
.contrast .good li{color:var(--ink)}
@media (max-width:860px){.contrast{grid-template-columns:1fr}}
.principles{list-style:none;margin:0;padding:0;display:grid;gap:1.35rem}
.principles li{font:500 clamp(1.25rem,2.3vw,1.8rem)/1.25 var(--ui);letter-spacing:-.015em;padding-left:1.7rem;position:relative;max-width:32ch}
.principles li::before{content:"";position:absolute;left:0;top:.5em;width:.75rem;height:.75rem;border-radius:50%;background:var(--orange)}

/* team */
.lead-person{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(1.6rem,5vw,4.5rem);align-items:center}
.photo-arch{border-radius:999px 999px 20px 20px;overflow:hidden;background:var(--sage-pale);aspect-ratio:4/5;position:relative}
.photo-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.photo-arch.initials{display:grid;place-items:center;font:700 clamp(2.4rem,7vw,3.6rem) var(--ui);color:var(--sage-deep)}
.people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.5rem;margin-top:2.4rem}
.person h3{margin:.8rem 0 .1rem;font-size:1.2rem}
.person p{margin:0;color:var(--muted);font-size:1rem}
.people .photo-arch{max-width:240px}
@media (max-width:900px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-person{grid-template-columns:1fr}.lead-person .photo-arch{max-width:300px}}

/* page heads: the orange field again, so every page feels like the same house */
.pagehead{background:var(--orange);padding-block:clamp(2.6rem,6vw,5rem) clamp(2.4rem,5vw,4rem);position:relative;overflow:hidden}
.pagehead::after{content:"";position:absolute;right:max(-120px,-8vw);bottom:-60%;width:clamp(260px,38vw,520px);aspect-ratio:1;border-radius:999px 999px 0 0;background:rgba(255,253,250,.28)}
.pagehead .wrap{position:relative;z-index:1}
.pagehead h1{font-size:clamp(2.3rem,5.6vw,4.6rem);max-width:17ch}
.pagehead .lede{margin-top:1rem;max-width:42ch}
.pagehead a:not(.btn){color:var(--ink)}
.pagehead .split{align-items:center}

/* prose */
.prose{max-width:66ch}
.prose h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-top:2em}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.7em}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin-bottom:.5em}
.aside{background:var(--sage-pale);padding:1.8rem;border-radius:26px}
.aside h3{margin-top:0;font-size:1.35rem}
.aside p{font-size:1.05rem}

/* pairs */
.pairs{display:grid;gap:0}
.pair{display:grid;gap:1rem;padding-block:2.1rem;border-top:1px solid var(--ink)}
.pair:last-child{border-bottom:1px solid var(--ink)}
.pair h3{margin:0;font-size:clamp(1.5rem,3vw,2.2rem);max-width:30ch}
.pair .ab{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.pair .ab p{margin:0;font-size:1.08rem}
.pair .ab b{display:block;font:600 1rem var(--ui);margin-bottom:.2rem}
.pair .good b{color:var(--sage-deep)}
.pair .warn b{color:#9A3B16}
@media (max-width:700px){.pair .ab{grid-template-columns:1fr}}

/* faq */
.faq details{border-top:1px solid var(--ink);padding-block:1.15rem}
.faq details:last-child{border-bottom:1px solid var(--ink)}
.faq summary{font:600 clamp(1.15rem,2vw,1.4rem)/1.3 var(--ui);letter-spacing:-.015em;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 1.8rem/1 var(--ui);color:var(--orange-deep);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:.9rem 0 0;max-width:62ch}
.faq h2{margin:3rem 0 1rem;font-size:1.8rem}

/* forms */
.form{display:grid;gap:1.1rem;max-width:560px}
.field label,.field .lab{display:block;font:600 1rem var(--ui);margin-bottom:.35rem}
.field .hint{font-size:.98rem;color:var(--muted);margin:.3rem 0 0}
.field input,.field select,.field textarea{width:100%;font:400 1.1rem var(--text);padding:.8rem .95rem;border:1.5px solid var(--ink);border-radius:14px;background:#fff;color:var(--ink)}
.field textarea{min-height:7rem;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--orange);outline-offset:1px}
.err{color:#9A3B16;font-size:1rem;margin:.3rem 0 0}
.sendpanel{margin-top:1.6rem;padding:1.5rem;border:2px solid var(--ink);border-radius:24px;background:#fff;max-width:560px}
.sendpanel h3{margin-top:0;font-size:1.35rem}
.sendpanel textarea{width:100%;min-height:9rem;font:400 1.05rem/1.5 var(--text);padding:.8rem;border:1.5px solid var(--line);border-radius:14px;color:var(--ink);background:var(--paper)}
.sendpanel .actions{margin-top:1rem}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem}
.contact-list b{display:block;font:600 1rem var(--ui)}
.contact-list span,.contact-list a{overflow-wrap:anywhere}
.copy{font:600 .88rem var(--ui);background:transparent;border:1.5px solid var(--ink);border-radius:99px;padding:.25rem .75rem;margin-left:.5rem;cursor:pointer;color:var(--ink)}
.copy:hover{background:var(--ink);color:#fff}

/* route check */
.rc{background:#fff;border-radius:30px;padding:clamp(1.4rem,3.5vw,2.4rem);max-width:720px;color:var(--ink);box-shadow:0 30px 50px -34px rgba(0,0,0,.8)}
.rc h3,.rc legend{margin-top:0;color:var(--ink)}
.rc a:not(.btn){color:var(--orange-text)}
.rc p,.rc li{color:var(--ink)}
.rc-dots{display:flex;gap:.45rem;margin-bottom:1.2rem}
.rc-dots i{width:2.2rem;height:.4rem;border-radius:99px;background:var(--line)}
.rc-dots i.on{background:var(--orange)}
.rc-q{border:0;margin:0;padding:0}
.rc-q legend{font:700 clamp(1.4rem,2.6vw,1.9rem)/1.15 var(--ui);letter-spacing:-.025em;padding:0;margin-bottom:1rem}
.rc-opts{display:grid;gap:.6rem}
.rc-opts button{font:500 1.08rem var(--ui);text-align:left;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);border-radius:99px;padding:.85rem 1.2rem;cursor:pointer;transition:background .15s,color .15s}
.rc-opts button:hover{background:var(--orange);border-color:var(--orange)}
.rc-back{background:none;border:0;color:var(--muted);font:500 1rem var(--ui);cursor:pointer;margin-top:1rem;padding:0;text-decoration:underline}
.rc-result h3{font-size:clamp(1.6rem,3.2vw,2.3rem)}
.rc-next{padding-left:1.2em;margin:0 0 1.2em}
.rc-next li{margin-bottom:.4em}
.rc-name{max-width:340px;margin-bottom:1rem}
.rc .field input{border-color:var(--ink)}

/* companion */
.shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.shot img{border-radius:20px;border:1px solid var(--line);box-shadow:0 18px 36px -22px rgba(56,56,56,.5);background:#fff;width:100%;height:auto}
.shot h3{margin:.9rem 0 .2rem;font-size:1.2rem}
.shot p{font-size:1.02rem;margin:0}
@media (max-width:860px){.shots{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.shots{grid-template-columns:1fr}}
.phone{max-width:330px;margin-inline:auto}
.phone img{width:100%;height:auto;border-radius:32px;box-shadow:0 28px 54px -26px rgba(56,56,56,.55)}

/* library */
.articles{display:grid;gap:0}
.articles a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1.15rem 0;border-top:1px solid var(--ink);text-decoration:none;color:var(--ink);font:600 clamp(1.15rem,1.9vw,1.4rem)/1.25 var(--ui);letter-spacing:-.015em}
.articles a:last-child{border-bottom:1px solid var(--ink)}
.articles a:hover{color:var(--orange-text)}
.articles small{font:500 .92rem var(--ui);color:var(--muted);align-self:center}

/* closing call to action */
.bigcta h2{font-size:clamp(2.6rem,7vw,6rem);line-height:.98;letter-spacing:-.045em;max-width:12ch}
.bigcta .lede{max-width:36ch}

/* footer */
.site-foot{background:var(--deep);color:#EADFD6;padding-block:3.4rem 2.6rem;font-size:1.05rem}
.site-foot .cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,3fr) minmax(0,3fr);gap:2.4rem}
.site-foot h4{font:600 1rem var(--ui);margin:0 0 .8rem;letter-spacing:0;color:#fff}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.site-foot p{font-size:1.02rem;margin-bottom:.8em;color:#EADFD6}
.site-foot a:not(.btn){color:#FFC89C}
.site-foot a:hover{color:#fff}
.site-foot .fine{margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.18);color:#D2C5BA;font-size:.95rem;max-width:84ch}
.site-foot img{height:54px;width:auto;margin-bottom:1rem;background:var(--paper);padding:.4rem .7rem;border-radius:14px}
@media (max-width:1000px){.site-foot .cols{grid-template-columns:1fr 1fr}.site-foot .cols>div:first-child{grid-column:1/-1}}@media (max-width:560px){.site-foot .cols{grid-template-columns:1fr}}

/* landing pages: no navigation, one job */
.landing .nav,.landing .nav-toggle,.landing .status-chip{display:none}
.landing .head-cta{display:inline-block}
.head-cta{display:none}
.lp-hero{padding-block:clamp(2.4rem,5vw,4.4rem);background:var(--orange)}
.lp-hero h1{font-size:clamp(2.4rem,5.4vw,4.6rem)!important;max-width:15ch}
.lp-hero a:not(.btn){color:var(--ink)}
.lp-hero .tagline{font:500 1.05rem var(--ui)!important;font-style:normal!important;color:var(--ink)!important}
.lp-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:900px){.lp-grid{grid-template-columns:1fr}}
.lp-points{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:.7rem}
.lp-points li{padding-left:1.8rem;position:relative;max-width:46ch;font-size:1.15rem}
.lp-points li::before{content:"";position:absolute;left:.1rem;top:.35em;width:.9rem;height:.5rem;border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(-45deg)}
.lp-hero .aside{background:#fff}
.lp-hero .form,.lp-hero .sendpanel{background:#fff;border-radius:26px}
.lp-hero .form{padding:1.4rem;max-width:none}
.lp-hero .rc{max-width:none}

/* phone call-to-action bar */
.dock{display:none}
@media (max-width:860px){
  .dock{display:flex;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--deep);padding:.65rem max(14px, env(safe-area-inset-right, 0px)) calc(.65rem + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px))}
  .dock .btn{flex:1;padding:.8em .6em;font-size:1rem}
  .dock .btn--ghost{--bd:#F1E7DE;--fg:#fff;--sweep:#fff;--fgh:var(--ink)}
  .dock .btn:not(.btn--ghost){--sweep:#fff;--fgh:var(--ink)}
  body:has(.dock){padding-bottom:4.6rem}
  body:has(.dock) .consent{bottom:calc(76px + env(safe-area-inset-bottom, 0px))}
}

/* consent notice */
.consent{position:fixed;left:max(14px, env(safe-area-inset-left, 0px));right:max(14px, env(safe-area-inset-right, 0px));bottom:calc(14px + env(safe-area-inset-bottom, 0px));max-width:560px;background:#fff;border:2px solid var(--ink);border-radius:22px;padding:1.1rem 1.2rem;z-index:60;box-shadow:0 14px 34px -14px rgba(0,0,0,.4);font-size:1rem}
.consent p{margin:0 0 .8rem;max-width:none;font-size:1rem;line-height:1.45}
.consent .actions{margin:0;gap:.5rem}
.consent .btn{padding:.6em 1.1em;font-size:.95rem}
.band--deep .rc .muted,.band--deep .rc .hint,.band--deep .rc small,.band--deep .wiz .muted,.band--deep .wiz .hint,.band--deep .wiz small,.band--deep .wiz p{color:var(--muted)}
.band--deep .wiz h3,.band--deep .wiz legend{color:var(--ink)}

/* ============ motion ============ */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .22s ease both}
::view-transition-new(root){animation:vt-in .5s cubic-bezier(.2,.75,.2,1) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(16px)}}

.rv{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.rv.rv-l{transform:translateX(-36px)}
.rv.rv-r{transform:translateX(36px)}
.rv.rv-s{transform:scale(.93)}
.rv.in{opacity:1;transform:none}

/* hero load sequence: words rise, arch opens, cards pop */
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.hero h1 .w>span{display:inline-block;transform:translateY(112%);animation:rise 1s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*80ms + 100ms)}
@keyframes rise{to{transform:none}}
.hero .lede,.hero .actions{opacity:0;transform:translateY(18px);animation:fadeup .9s cubic-bezier(.2,.8,.2,1) forwards}
.hero .lede{animation-delay:.75s}
.hero .actions{animation-delay:.95s}
@keyframes fadeup{to{opacity:1;transform:none}}
.arch2 .ph{clip-path:inset(100% 0 0 0);animation:archin 1.3s .2s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes archin{to{clip-path:inset(0 0 0 0)}}
.arch2 .ph svg{transform:scale(1.18);animation:settle 2s .2s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes settle{to{transform:none}}
.rings{position:absolute;inset:-6% -14% 0 -14%;z-index:0;pointer-events:none}
.rings i{position:absolute;left:50%;bottom:0;width:100%;aspect-ratio:1;border:2px solid rgba(37,33,32,.14);border-radius:50%;transform:translate(-50%,40%) scale(.5);opacity:0;animation:ring 7s linear infinite}
.rings i:nth-child(2){animation-delay:2.3s}
.rings i:nth-child(3){animation-delay:4.6s}
@keyframes ring{0%{opacity:0;transform:translate(-50%,40%) scale(.5)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,40%) scale(1.25)}}
.arch2{z-index:1}
.tcard{position:absolute;z-index:3;display:flex;align-items:center;gap:.7rem;background:#fff;border-radius:18px;padding:.8rem 1.05rem .8rem .8rem;box-shadow:0 22px 38px -22px rgba(37,33,32,.7);font:600 .98rem/1.2 var(--ui);max-width:260px;opacity:0;transform:translateY(24px) scale(.94);animation:pop .8s cubic-bezier(.2,.9,.3,1.2) forwards,bob 6s ease-in-out infinite;animation-delay:calc(1.1s + var(--i)*.2s),calc(2.2s + var(--i)*.4s)}
.tcard svg{flex:none;width:34px;height:34px;border-radius:50%;background:var(--sage-pale);padding:7px;color:var(--sage-deep)}
.tcard small{display:block;font:400 .85rem/1.2 var(--ui);color:var(--muted);margin-top:.1rem}
.tcard.t1{left:-16%;top:16%}
.tcard.t2{right:-12%;top:46%}
.tcard.t3{left:-12%;bottom:8%}
@keyframes pop{to{opacity:1;transform:none}}
@keyframes bob{50%{translate:0 -8px}}
@media (max-width:900px){.tcard.t1{left:-2%}.tcard.t2{right:-2%}.tcard.t3{left:0}.tcard{max-width:220px;padding:.6rem .85rem .6rem .6rem;font-size:.9rem}.tcard small{display:none}}

/* marquee */
.marq{overflow:hidden;background:var(--orange);color:var(--ink);padding:1.15rem 0;white-space:nowrap}
.marq-track{display:inline-flex;gap:2.4rem;padding-right:2.4rem;animation:marq 46s linear infinite;font:600 clamp(1.05rem,2vw,1.35rem) var(--ui);letter-spacing:-.01em}
.marq:hover .marq-track{animation-play-state:paused}
.marq-track span{display:inline-flex;align-items:center;gap:2.4rem}
.marq-track span::after{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--ink)}
@keyframes marq{to{transform:translateX(-50%)}}

/* fact bar numbers */
.factbar .num{font:700 clamp(2.4rem,4vw,3.4rem)/1 var(--ui);letter-spacing:-.05em;color:var(--orange);display:flex;align-items:baseline;gap:.15em;margin-bottom:.25rem}
.factbar .num small{font:600 1rem var(--ui);letter-spacing:0;color:#fff}

/* grid6 numerals outline then fill */
.grid6 .n{color:transparent;-webkit-text-stroke:2px var(--orange);transition:color .9s .25s}
.grid6 li.in .n{color:var(--orange)}
.grid6 li{transition:border-color .4s}
.grid6 li:hover{border-top-color:var(--orange-deep)}

/* hover life */
.lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.lift:hover{transform:translateY(-6px)}
.cols3>div{transition:border-color .3s}
.cols3>div:hover{border-top-color:var(--orange-deep)}
.person .photo-arch img,.shot img,.phone img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.person:hover .photo-arch img{transform:scale(1.06)}
.shot:hover img{transform:translateY(-6px)}
.articles a{transition:padding-left .3s,color .2s}
.articles a:hover{padding-left:.8rem}
.contrast .bad li{transition:opacity .4s}
a:not(.btn){transition:color .2s}

/* faq animated open */
.faq details::details-content{block-size:0;overflow:clip;transition:block-size .4s cubic-bezier(.2,.7,.2,1),content-visibility .4s allow-discrete}
.faq details[open]::details-content{block-size:auto}
@supports (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}}
.faq summary::after{transition:transform .3s}
.faq details[open] summary::after{transform:rotate(180deg)}

/* route check and wizard steps slide in */
.rc-q{animation:stepin .5s cubic-bezier(.2,.8,.2,1)}
@keyframes stepin{from{opacity:0;transform:translateX(26px)}}
.rc-result{animation:stepin .6s cubic-bezier(.2,.8,.2,1)}

/* whatsapp float */
.wa-float{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:24px;z-index:45;display:flex;align-items:center;gap:.7rem;flex-direction:row-reverse;text-decoration:none}
.wa-float b{width:60px;height:60px;border-radius:50%;background:var(--ink);display:grid;place-items:center;color:#fff;box-shadow:0 16px 30px -12px rgba(37,33,32,.7);position:relative}
.wa-float b::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--orange);animation:pulse 2.6s ease-out infinite}
.wa-float svg{width:28px;height:28px}
.wa-float span{background:#fff;color:var(--ink);font:600 .95rem var(--ui);padding:.5rem .9rem;border-radius:99px;box-shadow:0 12px 24px -14px rgba(37,33,32,.7);opacity:0;transform:translateX(10px);transition:opacity .25s,transform .25s;pointer-events:none;white-space:nowrap}
.wa-float:hover span,.wa-float:focus-visible span{opacity:1;transform:none}
@keyframes pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.7);opacity:0}}
@media (max-width:860px){.wa-float{display:none}}
body:has(.consent) .wa-float{bottom:130px}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .hero h1 .w>span,.hero .lede,.hero .actions,.arch2 .ph,.arch2 .ph svg,.tcard{animation:none;opacity:1;transform:none;clip-path:none}
  .rings,.marq-track,.wa-float b::before,.status-chip.open i{animation:none}
  .grid6 .n{color:var(--orange)}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* ============ new components ============ */
.toc-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.toc{position:sticky;top:96px;font:500 1rem var(--ui)}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc a:not(.btn){display:block;color:var(--muted);text-decoration:none;padding:.45rem 0 .45rem 1rem;margin-left:-2px;border-left:2px solid transparent;transition:color .2s,border-color .2s}
.toc a:not(.btn):hover{color:var(--ink)}
.toc a.on:not(.btn){color:var(--ink);border-left-color:var(--orange-deep);font-weight:600}
.toc .btn{margin-top:1.4rem}
@media (max-width:900px){.toc-layout{grid-template-columns:1fr}.toc{position:static}.toc ol{display:none}}
.longform h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-top:2.4em}
.longform h2:first-child{margin-top:0}
.longform h3{margin-top:1.6em}
.longform ul,.longform ol{padding-left:1.2em}
.longform li{margin-bottom:.5em}
.callout{background:var(--peach);border-radius:24px;padding:1.4rem 1.6rem;margin:1.6rem 0}
.callout p:last-child{margin-bottom:0}
.callout b{font-family:var(--ui)}

/* tabs */
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0 1.6rem}
.tabs button{font:600 1.02rem var(--ui);padding:.7em 1.3em;border-radius:99px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background .25s,color .25s}
.tabs button:hover{background:var(--peach)}
.tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.tabpanel[hidden]{display:none}
.tabpanel{animation:stepin .5s cubic-bezier(.2,.8,.2,1)}
.countrygrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:1.6rem}
.countrygrid>div{background:#fff;border-radius:24px;padding:1.5rem;border:1.5px solid var(--ink)}
.countrygrid h3{font-size:1.2rem;margin-top:0}
.countrygrid p,.countrygrid li{font-size:1.05rem}
.countrygrid ul{padding-left:1.1em;margin:0}
@media (max-width:900px){.countrygrid{grid-template-columns:1fr}}

/* pledge cards */
.pledges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin-top:2.4rem}
.pledge{background:#fff;border:1.5px solid var(--ink);border-radius:26px;padding:1.6rem}
.pledge svg{width:44px;height:44px;border-radius:14px;background:var(--orange);padding:10px;margin-bottom:1rem;color:var(--ink)}
.pledge h3{font-size:1.3rem;margin-bottom:.4rem}
.pledge p{font-size:1.05rem;margin:0}
@media (max-width:900px){.pledges{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pledges{grid-template-columns:1fr}}

/* sample document */
.doc{background:#fff;border:1.5px solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:12px 12px 0 var(--orange)}
.doc header{background:var(--ink);color:#fff;padding:.9rem 1.2rem;font:600 1rem var(--ui);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.doc table{width:100%;border-collapse:collapse;font-size:1rem}
.doc th,.doc td{text-align:left;padding:.8rem 1.1rem;border-top:1px solid var(--line);vertical-align:top}
.doc th{font:600 .95rem var(--ui);color:var(--muted);border-top:0;background:var(--paper)}
.doc td:first-child{font-weight:600;font-family:var(--ui)}
.doc .tag{font:600 .82rem var(--ui);background:var(--sage-pale);color:var(--sage-deep);padding:.15rem .6rem;border-radius:99px;white-space:nowrap}
.doc .tag.est{background:var(--peach);color:var(--orange-text)}
.doc footer{padding:.9rem 1.2rem;font-size:.97rem;color:var(--muted);border-top:1px solid var(--line)}
@media (max-width:700px){.doc table,.doc tbody,.doc tr,.doc td,.doc th{display:block}.doc thead{display:none}.doc td{border:0;padding:.2rem 1.1rem}.doc tr{border-top:1px solid var(--line);padding:.7rem 0}}

/* checklist */
.check{list-style:none;margin:1.4rem 0;padding:0;display:grid;gap:.7rem}
.check label{display:flex;gap:.9rem;align-items:flex-start;background:#fff;border:1.5px solid var(--ink);border-radius:18px;padding:.9rem 1.1rem;cursor:pointer;transition:background .25s}
.check input{appearance:none;flex:none;width:1.5rem;height:1.5rem;border:2px solid var(--ink);border-radius:8px;margin-top:.15rem;display:grid;place-items:center;cursor:pointer;background:#fff;transition:background .2s}
.check input::after{content:"";width:.7rem;height:.38rem;border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(-45deg) scale(0);transition:transform .25s cubic-bezier(.2,.9,.3,1.4);margin-top:-.15rem}
.check input:checked{background:var(--orange)}
.check input:checked::after{transform:rotate(-45deg) scale(1)}
.check label:has(input:checked){background:var(--peach)}
.check b{font-family:var(--ui);font-weight:600}
.check .progressline{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-bottom:.4rem}
.check-meter{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin:1rem 0 .4rem}
.check-meter i{display:block;height:100%;width:0;background:var(--orange-deep);transition:width .5s cubic-bezier(.2,.8,.2,1)}

/* search + chips */
.finder{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:1.6rem 0 1rem}
.finder input[type=search]{flex:1 1 280px;font:400 1.1rem var(--text);padding:.85rem 1.2rem;border:2px solid var(--ink);border-radius:99px;background:#fff;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips button{font:600 .95rem var(--ui);padding:.55em 1.1em;border-radius:99px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.chips button[aria-pressed="true"]{background:var(--ink);color:#fff}
.none{display:none;padding:1.4rem;background:var(--peach);border-radius:20px}
.none.show{display:block}
.gloss{display:grid;gap:0}
.gloss dt{font:700 1.3rem var(--ui);letter-spacing:-.02em;padding-top:1.4rem;border-top:1px solid var(--ink)}
.gloss dd{margin:.3rem 0 1.4rem;max-width:62ch}
.gloss .term[hidden]{display:none}

/* article cards and article page */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:1.6rem}
.acard{display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--ink);border-radius:26px;overflow:hidden;text-decoration:none;color:var(--ink)}
.acard .cover{aspect-ratio:16/9;position:relative;background:var(--peach);overflow:hidden}
.acard .cover svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.acard:hover .cover svg{transform:scale(1.08)}
.acard .body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.acard small{font:500 .9rem var(--ui);color:var(--muted)}
.acard h3{font-size:1.25rem;margin:0}
.acard[hidden]{display:none}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}
.article-head .meta{font:500 1rem var(--ui);margin-top:1.2rem}
.article{max-width:70ch}
.article h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-top:2em}
.article h3{margin-top:1.6em}
.article ul,.article ol{padding-left:1.2em}
.article li{margin-bottom:.6em}
.article table{border-collapse:collapse;margin:1.4rem 0;font-size:1rem;width:100%}
.article th,.article td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left}
.article th{background:var(--peach);font-family:var(--ui)}
.endcta{background:var(--ink);color:#fff;border-radius:30px;padding:clamp(1.6rem,4vw,2.6rem);margin-top:3rem}
.endcta h2,.endcta h3{color:#fff;margin-top:0}
.endcta p{color:#EFE3D9}
.endcta .btn{--sweep:#fff;--fgh:var(--ink)}
.endcta .btn--ghost{--bd:#F1E7DE;--fg:#fff}

/* wizard */
.wiz{background:#fff;border-radius:30px;padding:clamp(1.4rem,3.5vw,2.4rem);max-width:720px;color:var(--ink);border:2px solid var(--ink);box-shadow:12px 12px 0 var(--orange)}
.wiz h3,.wiz legend{margin-top:0;color:var(--ink)}
.wiz p,.wiz li{color:var(--ink)}
.wiz .field input,.wiz .field select{border-color:var(--ink)}
.wiz .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.wiz .grid2{grid-template-columns:1fr}}
.wiz-bar{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin-bottom:1.2rem}
.wiz-bar i{display:block;height:100%;background:var(--orange-deep);width:0;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.wiz-count{font:500 .95rem var(--ui);color:var(--muted);margin:0 0 .5rem}
.wiz .tier{display:inline-block;font:600 .9rem var(--ui);padding:.25rem .8rem;border-radius:99px;margin-bottom:.8rem}
.wiz .tier.a{background:var(--sage-pale);color:var(--sage-deep)}
.wiz .tier.b{background:var(--peach);color:var(--orange-text)}
.wiz .tier.c{background:#F2E6E1;color:#7B3A1E}

/* steps with documents */
.stage{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(1rem,4vw,4rem);padding-block:2.4rem;border-top:1px solid var(--ink)}
.stage:last-of-type{border-bottom:1px solid var(--ink)}
.stage .n{font:700 clamp(3rem,6vw,5rem)/1 var(--ui);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px var(--orange);transition:color .9s .2s}
.stage.in .n{color:var(--orange)}
.stage h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.8rem}
.stage .triple{display:grid;gap:.9rem;max-width:62ch}
.stage .triple p{margin:0;font-size:1.1rem}
.stage .triple b{display:inline-block;min-width:6.5rem;font:600 1rem var(--ui)}
@media (max-width:760px){.stage{grid-template-columns:1fr}.stage .triple b{display:block}}

/* tools tiles */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin-top:2.4rem}
.tile{display:flex;flex-direction:column;gap:.5rem;background:#fff;border:1.5px solid var(--ink);border-radius:26px;padding:1.6rem;text-decoration:none;color:var(--ink);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background .3s}
.tile:hover{transform:translateY(-6px);box-shadow:8px 8px 0 var(--orange);color:var(--ink)}
.tile svg{width:46px;height:46px;padding:10px;border-radius:14px;background:var(--peach);color:var(--ink);margin-bottom:.6rem;transition:background .3s}
.tile:hover svg{background:var(--orange)}
.tile h3{font-size:1.3rem;margin:0}
.tile p{font-size:1.05rem;margin:0;color:var(--muted)}
.tile b{font:600 1rem var(--ui);margin-top:auto;padding-top:.7rem;color:var(--orange-text)}
@media (max-width:900px){.tiles{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}}
.pagehead h1,.pagehead .lede{opacity:0;transform:translateY(20px);animation:fadeup .9s cubic-bezier(.2,.8,.2,1) forwards}
.pagehead .lede{animation-delay:.18s}
.pagehead::after{animation:drift 9s ease-in-out infinite alternate}
@keyframes drift{to{transform:translateY(-6%)}}
@media (prefers-reduced-motion:reduce){.pagehead h1,.pagehead .lede,.pagehead::after{animation:none;opacity:1;transform:none}}
.verify{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem;margin-top:2.4rem;counter-reset:v}
.verify>div{border-top:4px solid var(--ink);padding-top:1.1rem}
.verify h3{font-size:1.25rem;margin-bottom:.4rem}
.verify p{font-size:1.05rem}
@media (max-width:900px){.verify{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.verify{grid-template-columns:1fr}}
