/*
Theme Name: The Partner Visa Lawyers
Theme URI: https://thepartnervisalawyers.com.au
Author: Skyline Migration Lawyers
Description: Lead-generation theme for The Partner Visa Lawyers. Bone, peat, bottle green, verdigris, butter and coral; Zodiak and Switzer; z-axis cascade layout; expressive motion. Sibling of the tml theme.
Version: 1.0.1
Requires at least: 6.4
Requires PHP: 8.0
License: Proprietary
Text Domain: tpvl
*/
:root{--ground:#F6F1E8;--surface:#FCFAF5;--ink:#1E2420;--ink-2:#5C6660;--line:rgba(30,36,32,.14);--line-strong:rgba(30,36,32,.3);--deep:#14382F;--deeper:#0E2822;--primary:#1E6B57;--primary-soft:rgba(30,107,87,.12);--butter:#F3D46A;--butter-ink:#1E2420;--coral:#F0785C;--on-deep:#F5F1E8;--on-deep-2:rgba(245,241,232,.72);--deep-line:rgba(245,241,232,.18);--good:#2E7D6B;--warn:#B7791F;--crit:#B23A3A;--display:"Zodiak","Iowan Old Style","Palatino Linotype",Georgia,serif;--body:"Switzer","SF Pro Text","Segoe UI",system-ui,sans-serif;--mono:"DM Mono","SF Mono",Menlo,monospace;--expo:cubic-bezier(.16,1,.3,1);--out:cubic-bezier(.22,1,.36,1);--container:1360px;--gutter:24px;--measure:66ch}
@media(min-width:768px){:root{--gutter:56px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.055;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");background-size:180px 180px}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(12,138,130,.35);transition:text-decoration-color 150ms var(--out),color 150ms var(--out)}
a:hover{text-decoration-color:var(--primary)}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:.96;letter-spacing:-.02em;margin:0 0 .5em;text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(46px,7.2vw,104px)}h2{font-size:clamp(36px,4.6vw,58px)}h3{font-size:26px;letter-spacing:-.015em;line-height:1.08}h4{font-size:20px;letter-spacing:0;line-height:1.2}
p{margin:0 0 1.2em}
.measure{max-width:var(--measure)}
.eyebrow{font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);margin:0 0 22px;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:1px}
.on-deep .eyebrow{color:var(--butter)}
.mark{background:linear-gradient(transparent 60%,var(--butter) 60%);padding:0 .05em}
.on-deep .mark{background:linear-gradient(transparent 62%,rgba(205,242,90,.32) 62%)}
.coral{color:var(--coral);font-style:italic}
.wrap{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);position:relative}
.section{padding:72px 0 80px}
.section--tight{padding:48px 0 56px}
.section--hero{padding:88px 0 96px}
@media(min-width:768px){.section{padding:112px 0 120px}.section--tight{padding:72px 0 80px}.section--hero{padding:128px 0 136px}}
.band-surface{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.on-deep{background:var(--deep);color:var(--on-deep);position:relative;overflow:hidden}
.on-deep h1,.on-deep h2,.on-deep h3,.on-deep h4{color:var(--on-deep)}
.on-deep a{color:var(--on-deep);text-decoration-color:rgba(242,185,94,.5)}
.on-deep a:hover{text-decoration-color:var(--butter)}
.on-deep .muted{color:var(--on-deep-2)}
.muted{color:var(--ink-2)}
.lead{font-size:20px;line-height:1.5}
.split{display:grid;gap:44px}
.split>*,.grid-2>*,.grid-3>*,.post-item>*{min-width:0}
@media(min-width:768px){.split{grid-template-columns:7fr 5fr;gap:72px;align-items:start}.hero .split{grid-template-columns:8fr 4fr;gap:56px}.split--rev{grid-template-columns:5fr 7fr}.split--even{grid-template-columns:1fr 1fr}.sticky{position:sticky;top:112px}}
/* aurora (hero ambient, one per viewport) */
.aurora{position:absolute;inset:-20%;pointer-events:none;z-index:0}
.aurora i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.6;will-change:transform}
.aurora .a1{width:56vw;height:56vw;left:-10%;top:-10%;background:#1E6B57;animation:drift1 26s linear infinite alternate}
.aurora .a2{width:44vw;height:44vw;right:-8%;top:10%;background:#F3D46A;opacity:.34;animation:drift2 32s linear infinite alternate}
.aurora .a3{width:30vw;height:30vw;left:35%;bottom:-10%;background:#F0785C;opacity:.22;animation:drift3 38s linear infinite alternate}
@keyframes drift1{to{transform:translate(18vw,14vh) scale(1.15)}}
@keyframes drift2{to{transform:translate(-16vw,22vh) scale(.9)}}
@keyframes drift3{to{transform:translate(-22vw,-18vh) scale(1.25)}}
.on-deep .wrap{z-index:1}
/* hero choreography */
.hero h1{margin-bottom:28px}
.hero .lead{max-width:34em}
.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.line>span{display:inline-block;transform:translateY(112%);animation:rise .76s var(--expo) forwards;animation-delay:calc(var(--i,0)*80ms)}
@keyframes rise{to{transform:none}}
.enter{opacity:0;transform:translateY(18px);animation:enter .7s var(--expo) forwards;animation-delay:calc(var(--i,0)*80ms)}
@keyframes enter{to{opacity:1;transform:none}}
/* scroll reveal */
html.js [data-reveal]{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .8s var(--expo),transform .8s var(--expo),filter .8s var(--expo);transition-delay:calc(min(var(--i,0),5)*70ms)}
html.js [data-reveal].in{opacity:1;transform:none;filter:none}
.rule{height:1px;background:var(--line-strong);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--expo) .1s;margin:0 0 28px}
.on-deep .rule{background:var(--deep-line)}
.in .rule,.rule.in{transform:scaleX(1)}
/* ledger */
.ledger{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.on-deep .ledger{border-color:var(--deep-line)}
.ledger li{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.on-deep .ledger li{border-color:var(--deep-line)}
.ledger .k{font-size:15px}
.ledger .k small{display:block;font-size:13px;color:var(--ink-2);margin-top:3px}
.on-deep .ledger .k small{color:var(--on-deep-2)}
.ledger .v{font-family:var(--mono);font-weight:500;font-size:19px;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.ledger .k{min-width:0}
@media(max-width:480px){.ledger .v{white-space:normal;font-size:16px}}
.on-deep .ledger .v{color:var(--coral)}
.ledger-title{font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;color:var(--ink-2)}
.on-deep .ledger-title{color:var(--butter)}
.ledger-note{font-size:13px;color:var(--ink-2);margin:14px 0 0;line-height:1.5}
.on-deep .ledger-note{color:var(--on-deep-2)}
/* ticker */
.ticker{background:var(--ink);color:var(--on-deep);overflow:hidden;padding:16px 0;border-top:1px solid var(--deep-line);border-bottom:1px solid var(--deep-line)}
.ticker-track{display:flex;width:max-content;gap:0;animation:marquee 44s linear infinite;will-change:transform}
.ticker span{display:inline-flex;align-items:baseline;gap:12px;padding:0 32px;font-size:14px;white-space:nowrap;border-right:1px solid var(--deep-line)}
.ticker b{font-family:var(--mono);font-weight:500;font-size:16px;color:var(--butter);font-variant-numeric:tabular-nums}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(hover:hover){.ticker:hover .ticker-track{animation-play-state:paused}}
/* buttons */
.btn{--fill:var(--deeper);position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:15px;line-height:1;padding:17px 26px;border-radius:6px;border:1px solid transparent;text-decoration:none;cursor:pointer;transform:translate(var(--mx,0),var(--my,0)) scale(var(--s,1));transition:transform 220ms var(--out),color 160ms var(--out),border-color 160ms var(--out)}
.btn::before{content:"";position:absolute;inset:0;background:var(--fill);clip-path:inset(0 100% 0 0);transition:clip-path 180ms var(--out);z-index:-1}
.btn:active{--s:.97}
.btn .ar{display:inline-block;transition:transform 180ms var(--out)}
@media(hover:hover) and (pointer:fine){.btn:hover::before{clip-path:inset(0 0 0 0)}.btn:hover .ar{transform:translateX(4px)}}
.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.on-deep :focus-visible{outline-color:var(--butter)}
.btn--primary{background:var(--primary);color:var(--on-deep)}
.btn--ghost{--fill:var(--primary-soft);background:transparent;color:var(--primary);border-color:var(--primary)}
.on-deep .btn--primary{--fill:#F8DF8C;background:var(--butter);color:var(--butter-ink)}
.on-deep .btn--ghost{--fill:rgba(243,246,241,.1);color:var(--on-deep);border-color:rgba(243,246,241,.4)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-top:34px}
.link-arrow{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;position:relative}
.link-arrow::after{content:"\2192";transition:transform 180ms var(--out)}
.link-arrow::before{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:100%;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--expo)}
@media(hover:hover){.link-arrow:hover::after{transform:translateX(4px)}.link-arrow:hover::before{transform:scaleX(1)}}
/* header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(246,241,232,.72);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid transparent;transition:border-color 220ms var(--out),background-color 220ms var(--out)}
.site-header.scrolled{border-bottom-color:var(--line);background:rgba(246,241,232,.9)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:76px}
.brand{font-family:var(--display);font-weight:700;font-size:clamp(17px,4.6vw,21px);min-width:0;letter-spacing:-.01em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.brand i{width:14px;height:14px;background:var(--primary);border-radius:50% 50% 50% 0;display:inline-block;transform:rotate(-45deg)}
.nav{display:none;align-items:center;gap:28px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px}
.nav ul a{font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;padding:6px 0;position:relative}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--expo)}
.nav ul a:hover::after,.nav .current-menu-item>a::after,.nav .current_page_item>a::after{transform:scaleX(1)}
.nav .btn{padding:12px 18px;font-size:14px}
.nav a.btn--primary{color:var(--on-deep)}
.nav-toggle{display:inline-flex;align-items:center;gap:10px;background:none;border:1px solid var(--line-strong);border-radius:6px;padding:11px 14px;font:inherit;font-weight:700;font-size:14px;color:var(--ink);cursor:pointer;position:relative;z-index:27}
.nav-toggle .bars{position:relative;width:18px;height:12px;display:inline-block}
.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:1px;transition:transform 200ms var(--out),top 200ms var(--out)}
.nav-toggle .bars::before{top:1px}.nav-toggle .bars::after{top:9px}
.nav-toggle[aria-expanded="true"]{color:var(--on-deep);border-color:rgba(243,246,241,.4)}
.nav-toggle[aria-expanded="true"] .bars::before{top:5px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars::after{top:5px;transform:rotate(-45deg)}
@media(min-width:960px){.nav{display:flex}.nav-toggle{display:none}}
.nav-overlay{position:fixed;inset:0;z-index:18;background:var(--deep);color:var(--on-deep);opacity:0;visibility:hidden;transition:opacity 170ms var(--out),visibility 0s 170ms;padding:110px var(--gutter) 40px;overflow:auto}
.nav-overlay.open{opacity:1;visibility:visible;transition:opacity 240ms var(--out)}
.nav-overlay ul{list-style:none;margin:0;padding:0}
.nav-overlay li{overflow:hidden;border-bottom:1px solid var(--deep-line)}
.nav-overlay li a{display:block;padding:18px 0;font-family:var(--display);font-weight:700;font-size:34px;letter-spacing:-.02em;color:var(--on-deep);text-decoration:none;transform:translateY(105%);transition:transform 520ms var(--expo);transition-delay:calc(var(--i,0)*60ms)}
.nav-overlay.open li a{transform:none}
.nav-overlay .btn-row{margin-top:32px}
html.nav-open{overflow:hidden}html.nav-open .site-header{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}html.nav-open .brand{color:var(--on-deep)}html.nav-open .brand i{background:var(--coral)}
@media(min-width:960px){.nav-overlay{display:none}}
/* ruled rows */
.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.row{display:grid;gap:8px 32px;padding:30px 0;border-bottom:1px solid var(--line);position:relative}
.row::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform 320ms var(--expo)}
@media(hover:hover){.row:hover::after{transform:scaleX(1)}.row:hover .n{transform:translateX(6px)}.row:hover h3{color:var(--primary)}}
@media(min-width:768px){.row{grid-template-columns:88px 1fr auto;align-items:start}.row--2{grid-template-columns:88px 1fr}}
.row .n{font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--primary);padding-top:7px;transition:transform 220ms var(--out)}
.row h3{margin:0 0 8px;transition:color 180ms var(--out)}
.row p{margin:0;max-width:60ch}
.row .link-arrow{padding-top:6px}
/* steps */
.steps{counter-reset:s;list-style:none;margin:0;padding:0}
.steps li{position:relative;padding:0 0 30px 72px;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:4px;font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--primary)}
.steps li::after{content:"";position:absolute;left:0;bottom:0;right:0;border-bottom:1px solid var(--line)}
.steps li:last-child::after{display:none}
.steps li+li{padding-top:30px}
.steps h3{margin-bottom:6px}
.steps p{margin:0;max-width:56ch}
/* image planes */
.plane{position:relative;overflow:hidden;border-radius:10px;aspect-ratio:16/10;box-shadow:0 30px 60px -30px rgba(20,56,47,.35)}
.plane img{width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--expo)}
.plane.in img{clip-path:inset(0 0 0 0)}
@supports(animation-timeline:view()){.plane img{animation:parallax linear both;animation-timeline:view();animation-range:entry 0% exit 100%;transform:scale(1.12)}}
@keyframes parallax{from{transform:translateY(-7%) scale(1.12)}to{transform:translateY(7%) scale(1.12)}}
.plane figcaption{position:absolute;left:16px;bottom:14px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-deep);background:rgba(15,32,34,.55);padding:6px 10px;border-radius:4px}
.plane--tilt{transform:rotate(-1.5deg)}
@media(max-width:767px){.plane--tilt{transform:none}}
/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.01em;position:relative;transition:color 160ms var(--out)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--mono);font-size:26px;color:var(--primary);transition:transform 200ms var(--expo)}
@media(hover:hover){.faq summary:hover{color:var(--primary)}}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details>div{padding:0 0 26px;max-width:64ch;animation:faq 200ms var(--out)}
.faq details>div p:last-child{margin-bottom:0}
@keyframes faq{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* tables */
.tablewrap{overflow-x:auto;min-width:0;border-top:1px solid var(--line)}
table.fees{width:100%;border-collapse:collapse;font-size:15px}
table.fees th,table.fees td{text-align:left;padding:15px 12px 15px 0;border-bottom:1px solid var(--line);vertical-align:top}
table.fees th{font-family:var(--body);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:700}
table.fees td.num,table.fees th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--deep);font-weight:500}
table.fees tbody tr{transition:background-color 160ms var(--out)}
@media(hover:hover){table.fees tbody tr:hover{background:var(--primary-soft)}}
/* CTA band */
.cta-band{background:var(--deep);color:var(--on-deep);position:relative;overflow:hidden}
.cta-band h2{max-width:16ch;color:var(--on-deep)}
.cta-band .lead{color:var(--on-deep-2)}
.cta-band .aurora i{opacity:.35}
/* footer */
.site-footer{background:var(--ink);color:rgba(243,246,241,.78);padding:80px 0 32px}
.site-footer a{color:var(--on-deep);text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-decoration-color:var(--butter)}
.foot-grid{display:grid;gap:40px 32px}
@media(min-width:768px){.foot-grid{grid-template-columns:2fr 1fr 1fr 1.4fr}}
.site-footer .brand{color:var(--on-deep)}
.site-footer .brand i{background:var(--coral)}
.foot-title{font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--butter);margin:0 0 16px}
.foot-list{list-style:none;margin:0;padding:0}
.foot-list li{margin:0 0 10px}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--deep-line);font-size:13px;color:rgba(243,246,241,.6);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
.foot-bottom p{margin:0;max-width:70ch}
/* forms */
.form{max-width:560px}
.field{display:grid;gap:8px;margin-bottom:22px}
.field label{font-weight:700;font-size:15px}
.field .help{font-size:13px;color:var(--ink-2);min-height:1em}
.field input,.field textarea,.field select{font:inherit;font-size:16px;padding:14px 14px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);width:100%;transition:border-color 160ms var(--out),box-shadow 160ms var(--out)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);outline:none}
.field textarea{min-height:140px;resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{padding:16px 18px;border:1px solid var(--line-strong);border-radius:6px;margin-bottom:24px;background:var(--surface);animation:enter .5s var(--expo)}
.notice--good{border-color:var(--good);color:var(--good)}
.notice--bad{border-color:var(--crit);color:var(--crit)}
/* blog */
.post-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.post-item{display:grid;gap:18px 44px;padding:34px 0;border-bottom:1px solid var(--line);position:relative}
.post-item::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform 320ms var(--expo)}
@media(hover:hover){.post-item:hover::after{transform:scaleX(1)}.post-item:hover .thumb img{transform:scale(1.04)}}
@media(min-width:768px){.post-item{grid-template-columns:1fr 300px;align-items:start}}
.post-item .thumb{aspect-ratio:16/10;overflow:hidden;border-radius:8px;background:var(--surface);order:-1}
@media(min-width:768px){.post-item .thumb{order:2}}
.post-item .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--expo)}
.post-item h3{margin:6px 0 10px;font-size:27px}
.post-item h3 a{color:var(--ink);text-decoration:none;transition:color 160ms var(--out)}
.post-item h3 a:hover{color:var(--primary)}
.meta{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.meta a{color:inherit;text-decoration:none}
.post-item p{margin:0 0 12px;max-width:60ch}
.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px}
.pagination .page-numbers{padding:10px 14px;border:1px solid var(--line-strong);border-radius:6px;text-decoration:none;font-weight:700;font-size:14px}
.pagination .page-numbers.current{background:var(--primary);color:var(--on-deep);border-color:var(--primary)}
.empty{padding:48px 0;color:var(--ink-2)}
.progress{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--primary);transform-origin:left;transform:scaleX(0);z-index:30;pointer-events:none}
@supports(animation-timeline:scroll()){.progress{animation:grow linear both;animation-timeline:scroll(root)}}
@keyframes grow{to{transform:scaleX(1)}}
.article-hero{padding:64px 0 40px}
.article-hero h1{font-size:clamp(38px,5vw,64px);max-width:22ch}
.article-hero .meta{margin-bottom:20px}
.article-hero .lead{max-width:40em;color:var(--ink-2)}
.article-figure{margin:0 0 56px}
.entry{max-width:var(--measure);font-size:17px;line-height:1.7}
.entry h2{font-size:34px;margin-top:2em}
.entry h3{font-size:26px;margin-top:1.6em}
.entry h4{margin-top:1.4em}
.entry p,.entry ul,.entry ol{margin-bottom:1.3em}
.entry li{margin-bottom:.4em}
.entry img{border-radius:8px}
.entry blockquote{margin:2em 0;padding:0 0 0 24px;border-left:1px solid var(--primary);color:var(--ink-2);font-size:18px}
.entry table{width:100%;border-collapse:collapse;font-size:15px;margin:1.5em 0}
.entry th,.entry td{text-align:left;padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.entry th{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:700}
.entry .wp-block-table{overflow-x:auto}
.entry a{word-break:break-word}
.entry hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}
.entry .tml-cta{margin:2.5em 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.entry .tml-cta p{margin:0 0 16px}
.byline{display:flex;align-items:center;gap:14px;margin:48px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.byline .init{width:44px;height:44px;border-radius:50%;background:var(--primary);color:var(--on-deep);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:16px}
.byline p{margin:0;font-size:14px;color:var(--ink-2)}
.byline strong{display:block;color:var(--ink);font-size:15px}
.aside{border-top:1px solid var(--line);padding-top:24px}
.aside h3{font-size:20px}
.aside ul{list-style:none;margin:0;padding:0}
.aside li{padding:10px 0;border-bottom:1px solid var(--line)}
.aside li a{text-decoration:none;font-weight:500;color:var(--ink)}
.aside li a:hover{color:var(--primary)}
/* utilities */
.grid-2{display:grid;gap:32px}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr;gap:48px}}
.grid-3{display:grid;gap:32px}
@media(min-width:768px){.grid-3{grid-template-columns:repeat(3,1fr);gap:40px}}
.pill{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-2)}
.on-deep .pill{border-color:var(--deep-line);color:var(--butter)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:var(--surface);padding:10px 14px;z-index:30}
.page-hero{padding:72px 0 60px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
@media(min-width:768px){.page-hero{padding:104px 0 80px}}
.page-hero h1{font-size:clamp(40px,5.6vw,78px);max-width:18ch}
.page-hero .aurora i{opacity:.22}
.stat{font-family:var(--mono);font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}.aurora i,.ticker-track{animation:none!important}html.js [data-reveal]{transform:none;filter:none}.plane img{clip-path:none!important}.line>span{transform:none}.enter{opacity:1;transform:none}}

/* v2.1 additions: blog, contact, team, employers, fees */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.04em;padding:10px 16px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink);text-decoration:none;background:transparent;transition:background-color 160ms var(--out),color 160ms var(--out),border-color 160ms var(--out),transform 120ms var(--out)}
.chip:active{transform:scale(.97)}
@media(hover:hover){.chip:hover{border-color:var(--primary);color:var(--primary)}}
.chip.is-current{background:var(--primary);color:var(--on-deep);border-color:var(--primary)}
.chip small{font-family:var(--mono);font-size:11px;opacity:.7}
.feature{display:grid;gap:32px;margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid var(--line)}
@media(min-width:768px){.feature{grid-template-columns:7fr 5fr;gap:56px;align-items:center}}
.feature .plane{aspect-ratio:16/10}
.feature h2{font-size:clamp(30px,3.6vw,46px);margin:12px 0 16px}
.feature h2 a{color:var(--ink);text-decoration:none;transition:color 160ms var(--out)}
.feature h2 a:hover{color:var(--primary)}
.feature p{max-width:52ch}
.plane--portrait{aspect-ratio:4/5;border-radius:12px}
.person{display:grid;gap:28px 56px;padding:56px 0;border-top:1px solid var(--line)}
@media(min-width:768px){.person{grid-template-columns:5fr 7fr;align-items:center}.person--flip .person-media{order:2}}
.person h3{font-size:clamp(28px,3vw,40px);margin:8px 0 6px}
.person .role{font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);margin:0 0 18px;display:block}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.person p{max-width:58ch}
.people3{display:grid;gap:40px 32px;margin-top:8px}
@media(min-width:768px){.people3{grid-template-columns:repeat(3,1fr)}}
.people3 h3{font-size:24px;margin:20px 0 4px}
.people3 .role{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);display:block;margin-bottom:12px}
.people3 p{font-size:15px;max-width:34ch;margin:0}
.facts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.facts li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:baseline;font-size:15px}
.facts li::before{content:"";width:10px;height:10px;background:var(--coral);border-radius:2px;transform:rotate(45deg);flex:none;position:relative;top:-1px}
.on-deep .facts{border-color:var(--deep-line)}
.on-deep .facts li{border-color:var(--deep-line)}
.quotes{display:grid;gap:36px 48px}
@media(min-width:768px){.quotes{grid-template-columns:1fr 1fr}}
.quote{border-top:1px solid var(--line);padding-top:26px;position:relative}
.quote p{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.35;letter-spacing:-.01em;margin:0 0 18px;text-wrap:pretty}
.quote p::before{content:"\201C";color:var(--primary);font-size:40px;line-height:0;vertical-align:-14px;margin-right:6px;font-family:var(--display)}
.quote .who{font-size:13px;color:var(--ink-2)}
.quote .who strong{display:block;color:var(--ink);font-size:15px;font-weight:700}
.on-deep .quote{border-color:var(--deep-line)}
.on-deep .quote p::before{color:var(--coral)}
.on-deep .quote .who{color:var(--on-deep-2)}
.on-deep .quote .who strong{color:var(--on-deep)}
.faq-group{margin-bottom:56px}
.faq-group h3{font-size:22px;margin:0 0 16px;color:var(--primary)}
.contact-direct .ledger .v a{text-decoration:none}
.map-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:700}
.bigstat{font-family:var(--display);font-weight:700;font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-.02em;color:var(--deep);display:block}
.bigstat small{display:block;font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:10px}
.stats{display:grid;gap:28px;margin-top:8px}
@media(min-width:768px){.stats{grid-template-columns:1fr 1fr 1fr}}
.incl{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.incl li{padding:14px 0 14px 30px;border-bottom:1px solid var(--line);position:relative;font-size:15px}
.incl li::before{content:"";position:absolute;left:4px;top:21px;width:10px;height:10px;border-radius:2px;transform:rotate(45deg);background:var(--primary)}
.incl--not li::before{background:transparent;border:1px solid var(--line-strong)}

/* v2.2: interactive blocks (visa pages and articles) */
.tml-checker,.tml-calc{border-top:1px solid var(--line)}
.chk-q{border:0;margin:0;padding:18px 0;border-bottom:1px solid var(--line)}
.chk-q legend{font-weight:700;font-size:15px;padding:0;margin-bottom:10px}
.chk-opt{display:inline-flex;align-items:center;gap:8px;margin:6px 12px 0 0;padding:8px 14px;border:1px solid var(--line-strong);border-radius:999px;font-size:14px;cursor:pointer;transition:border-color 150ms var(--out),background-color 150ms var(--out),transform 120ms var(--out)}
.chk-opt:active{transform:scale(.97)}
.chk-opt input{position:absolute;opacity:0;width:1px;height:1px}
.chk-opt:has(input:checked){background:var(--primary);color:var(--on-deep);border-color:var(--primary)}
.chk-opt:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:3px}
.chk-result{margin-top:20px;padding:20px 0;border-top:1px solid var(--line)}
.chk-result p{margin:0;font-family:var(--display);font-weight:700;font-size:22px;line-height:1.2;letter-spacing:-.01em;transition:opacity 200ms var(--out)}
.chk-result.good p{color:var(--good)}.chk-result.maybe p{color:var(--warn)}.chk-result.bad p{color:var(--crit)}
.calc-line{display:grid;grid-template-columns:1fr 96px;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.calc-line label{font-size:15px;font-weight:600}
.calc-line label small{display:block;font-weight:400;color:var(--ink-2);font-size:13px;font-family:var(--mono)}
.calc-line input[type=number]{font:inherit;font-family:var(--mono);font-size:16px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);width:96px;text-align:right}
.calc-line input[type=checkbox]{width:22px;height:22px;justify-self:end;accent-color:var(--primary)}
.calc-total{display:flex;justify-content:space-between;align-items:baseline;padding:22px 0 6px;font-weight:700}
.calc-total strong{font-family:var(--mono);font-size:32px;font-weight:500;color:var(--deep);font-variant-numeric:tabular-nums}
/* article blocks */
.entry .tml-tabs{margin:2em 0;border-top:1px solid var(--line)}
.entry .tml-tabs [role=tablist]{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0}
.entry .tml-tabs [role=tab]{font:inherit;font-weight:700;font-size:14px;padding:10px 16px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;transition:background-color 160ms var(--out),color 160ms var(--out),transform 120ms var(--out)}
.entry .tml-tabs [role=tab]:active{transform:scale(.97)}
.entry .tml-tabs [role=tab][aria-selected=true]{background:var(--primary);color:var(--on-deep);border-color:var(--primary)}
.entry .tml-tabs [role=tabpanel]{padding:8px 0 20px;animation:faq 200ms var(--out)}
.entry .tml-tabs [role=tabpanel][hidden]{display:none}
.entry .tml-check{list-style:none;margin:2em 0;padding:0;border-top:1px solid var(--line)}
.entry .tml-check li{margin:0;padding:0;border-bottom:1px solid var(--line)}
.entry .tml-check label{display:flex;gap:14px;align-items:flex-start;padding:14px 0;cursor:pointer}
.entry .tml-check input{width:20px;height:20px;margin-top:3px;accent-color:var(--primary);flex:none}
.entry .tml-check input:checked+span{color:var(--ink-2);text-decoration:line-through;text-decoration-color:var(--primary)}
.entry .tml-check-progress{font-family:var(--mono);font-size:13px;color:var(--primary);margin:-1.4em 0 1.5em}
.entry .tml-timeline{list-style:none;margin:2em 0;padding:0 0 0 28px;border-left:2px solid var(--primary-soft);position:relative}
.entry .tml-timeline li{position:relative;margin:0 0 22px;padding:0}
.entry .tml-timeline li::before{content:"";position:absolute;left:-35px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--ground)}
.entry .tml-timeline b{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:4px}
.entry .tml-calc{margin:2em 0;border-top:1px solid var(--line)}
.entry .tml-answer{margin:0 0 2em;padding:22px 0;border-top:2px solid var(--primary);border-bottom:1px solid var(--line);font-size:18px}
.entry .tml-answer p{margin:0}
.entry .tml-answer b{color:var(--deep)}
.entry .tml-toggle{margin:2em 0;border-top:1px solid var(--line)}
.entry .tml-toggle summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;position:relative;padding-right:32px}
.entry .tml-toggle summary::after{content:"+";position:absolute;right:0;top:10px;font-family:var(--mono);font-size:22px;color:var(--primary);transition:transform 200ms var(--expo)}
.entry .tml-toggle[open] summary::after{transform:rotate(45deg)}
.entry .tml-toggle>div{padding:0 0 16px;animation:faq 200ms var(--out)}
.entry .tml-source{font-size:13px;color:var(--ink-2)}
.entry .tml-source a{color:var(--primary)}

.steps li[style*="padding-left:0"]::before,.steps li[style*="padding-left:0"]::after{display:none}.steps li[style*="padding-left:0"]{border-bottom:1px solid var(--line)}

/* v2.3 parent visa tools: pathfinder, cost stack, queue timeline */
.tml-tool{border-top:1px solid var(--line);padding-top:8px}
.pf-prog{height:2px;background:var(--line);margin:18px 0 30px;position:relative}.pf-prog i{position:absolute;left:0;top:0;height:2px;background:var(--butter);transition:width 320ms var(--out)}
.pf-stage{max-width:820px}
.pf-step{font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);margin:0 0 14px}
.pf-stage h3{font-size:clamp(26px,3vw,36px);margin:0 0 10px}
.pf-why{color:var(--ink-2);margin:0 0 26px;max-width:62ch}
.pf-opts{display:grid;gap:10px}
.pf-opt{display:block;width:100%;text-align:left;font:inherit;font-size:16px;font-weight:500;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:16px 18px;cursor:pointer;transition:border-color 150ms var(--out),background-color 150ms var(--out),transform 120ms var(--out)}
.pf-opt:hover{border-color:var(--primary);background:#fff}.pf-opt:active{transform:scale(.985)}
.pf-opt small{display:block;font-weight:400;color:var(--ink-2);font-size:13px;margin-top:3px}
.pf-back{background:none;border:0;font:inherit;font-size:13px;font-weight:700;color:var(--ink-2);cursor:pointer;margin-top:22px;padding:0}.pf-back:hover{color:var(--primary)}
.pf-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.pf-nums label span{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.pf-nums input,.qt-ctl input{font:inherit;font-family:var(--mono);font-size:18px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);width:100%}
.pf-bof{padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:15px;margin:0 0 22px}.pf-bof b{color:var(--deep)}
.pf-verdicts{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--line)}
.pf-verdicts li{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.pf-tag{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding-top:4px}
.pf-verdicts li.ok .pf-tag{color:var(--good)}.pf-verdicts li.maybe .pf-tag{color:var(--warn)}.pf-verdicts li.no .pf-tag{color:var(--crit)}
.pf-verdicts h4{font-size:22px;margin:0 0 4px}.pf-verdicts h4 a{text-decoration:none;color:inherit}.pf-verdicts h4 a:hover{color:var(--primary)}
.pf-verdicts p{margin:0;font-size:15px;color:var(--ink-2);max-width:66ch}.pf-verdicts .link-arrow{font-size:14px;margin-left:6px}
.pf-read{margin-top:26px;padding:22px 24px;border-left:3px solid var(--butter);background:var(--surface)}.pf-read p{margin:0}.pf-read .ledger-title{margin-bottom:8px}
.pf-seg{display:flex;flex-wrap:wrap;gap:8px}
.pf-seg button{font:inherit;font-size:13px;font-weight:700;padding:10px 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer;transition:background-color 150ms var(--out),color 150ms var(--out),border-color 150ms var(--out),transform 120ms var(--out)}
.pf-seg button:hover{border-color:var(--primary)}.pf-seg button:active{transform:scale(.97)}.pf-seg button.is-current{background:var(--primary);color:var(--on-deep);border-color:var(--primary)}
.cc{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.cc-ctl{display:grid;gap:22px}.cc-ctl [hidden]{display:none}
.cc-ctl input[type=range]{width:100%;accent-color:var(--primary)}
.cc-val{font-family:var(--mono);font-size:22px;font-weight:500;color:var(--deep);margin:6px 0 0}
.cc-bill{border:1px solid var(--line);border-radius:12px;padding:28px 30px;background:var(--surface)}
.cc-total{font-family:var(--mono);font-size:clamp(40px,5vw,56px);font-weight:500;color:var(--deep);letter-spacing:-.02em;line-height:1;margin:0 0 18px}
.cc-bar{display:flex;height:14px;border-radius:4px;overflow:hidden;background:var(--ground);margin:0 0 6px}.cc-bar i{display:block;height:100%;transition:width 240ms var(--out)}
.cc .ledger li{padding:14px 0}.cc .ledger .k{display:flex;gap:10px;align-items:flex-start}.cc .ledger .k small{display:block;color:var(--ink-2);font-size:13px}.cc .sw{width:12px;height:12px;border-radius:3px;flex:none;margin-top:6px}
.cc .ledger li.dim .k,.cc .ledger li.dim .v{color:var(--ink-2)}.cc .ledger .v{color:var(--deep);font-weight:500}
.cc-split{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.cc-split b{display:block;font-family:var(--mono);font-size:24px;font-weight:500;color:var(--deep);line-height:1.1;margin-bottom:4px}.cc-split span{font-size:13px;color:var(--ink-2)}
.qt-ctl{display:grid;grid-template-columns:2fr 3fr;gap:32px;align-items:end;max-width:760px}
.qt-ctl label span{display:block;margin-bottom:10px}
.qt-axis{position:relative;height:150px;margin-top:44px}.qt-axis::before{content:"";position:absolute;left:0;right:0;top:44px;height:1px;background:var(--line-strong)}
.qt-tick{position:absolute;top:0;transform:translateX(-50%);font-family:var(--mono);font-size:12px;color:var(--ink-2)}.qt-tick::after{content:"";display:block;width:1px;height:10px;background:var(--line-strong);margin:6px auto 0}
.qt-mark{position:absolute;top:35px;transform:translateX(-50%);text-align:center;transition:left 320ms var(--expo)}
.qt-mark i{display:block;width:18px;height:18px;border-radius:50%;background:var(--butter);border:3px solid var(--ground);margin:0 auto 8px}.qt-mark.now i{background:var(--primary)}
.qt-mark b{display:block;font-family:var(--mono);font-size:26px;font-weight:500;color:var(--deep);line-height:1}
.qt-mark small{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:6px;white-space:nowrap}
.qt-sum{margin-top:32px;padding:22px 24px;border-left:3px solid var(--primary);background:var(--surface);max-width:820px;font-size:16px}.qt-sum b{color:var(--deep)}
@media (max-width:768px){.cc{grid-template-columns:1fr}.cc-bill{padding:22px 20px}.pf-nums{grid-template-columns:1fr}.pf-verdicts li{grid-template-columns:1fr;gap:4px}.qt-ctl{grid-template-columns:1fr}.qt-mark small{display:none}.cc-split{grid-template-columns:1fr}}

/* ---- tpvl v1: cascade, odometer, pillars rail, scrubber, spotlight, view transitions ---- */
.cascade{position:relative;display:grid;gap:18px;--r:0deg;min-width:0}
.cascade>*{min-width:0;max-width:100%}
.cascade>*{opacity:0;animation:settle .9s var(--expo) forwards;animation-delay:calc(var(--i,0)*90ms + 240ms)}
@keyframes settle{from{opacity:0;transform:translateY(44px) rotate(0deg)}to{opacity:1;transform:translateY(0) rotate(var(--r))}}
.cascade .c1{--r:-2.5deg}.cascade .c2{--r:1.8deg}.cascade .c3{--r:-1.2deg}
@media(max-width:767px){.cascade>*{--r:0deg}}
@media(min-width:768px){.cascade{display:block;min-height:640px}.cascade>*{position:absolute}.cascade .c1{left:0;top:0;width:60%;z-index:1}.cascade .c2{right:0;top:14%;width:60%;z-index:3}.cascade .c3{left:0;top:58%;width:46%;z-index:2}.hero .split:has(.cascade){grid-template-columns:13fr 11fr;gap:48px}.hero .split:has(.cascade) h1{font-size:clamp(46px,5.9vw,86px)}}
.cascade .plane{box-shadow:0 44px 80px -40px rgba(20,56,47,.5);border-radius:12px}
.cascade .c2{background:var(--deep);color:var(--on-deep);padding:26px 28px;border-radius:12px;box-shadow:0 44px 80px -40px rgba(20,56,47,.55)}
.cascade .c2 .ledger-title{color:var(--butter)}.cascade .c2 .ledger,.cascade .c2 .ledger li{border-color:var(--deep-line)}.cascade .c2 .ledger .v{color:var(--butter)}.cascade .c2 .ledger .k small,.cascade .c2 .ledger-note{color:var(--on-deep-2)}
.cascade .c3{background:var(--surface);color:var(--ink);padding:22px 26px;border-radius:12px;box-shadow:0 30px 60px -34px rgba(30,36,32,.4);border:1px solid var(--line)}
.cascade .c3 p{font-family:var(--display);font-size:21px;line-height:1.3;margin:0 0 12px;text-wrap:pretty}
.cascade .c3 p::before{content:"\201C";color:var(--coral);font-size:36px;line-height:0;vertical-align:-12px;margin-right:4px}
.cascade .c3 footer{font-size:13px;color:var(--ink-2)}.cascade .c3 footer strong{display:block;color:var(--ink);font-size:14px}
.on-deep .cascade .c3{background:var(--surface)}
.px{display:block}
@supports(animation-timeline:view()){@media(min-width:768px){.px{animation:px linear both;animation-timeline:view();animation-range:entry 0% exit 100%}.px--f{animation-name:pxf}}}
@keyframes px{from{transform:translateY(-4%)}to{transform:translateY(4%)}}
@keyframes pxf{from{transform:translateY(-10%)}to{transform:translateY(10%)}}
.hero .cascade{margin-top:8px}
/* odometer figures */
.odo{display:inline-flex;align-items:flex-start;height:1.1em;line-height:1.1;vertical-align:bottom;font-variant-numeric:tabular-nums;max-width:none!important;white-space:nowrap}
.odo b{display:inline-block;height:1.1em;overflow:hidden;font-weight:inherit}
.odo b span{transition:transform .9s var(--expo);transition-delay:calc(var(--d,0)*40ms);will-change:transform}
.odo b span{display:block;height:1.1em}
.odo i{font-style:normal;display:inline-block}
/* pillars rail */
.rail-wrap{position:relative}
.rail-track{display:grid;gap:36px}
.pillar{padding:28px 0 0;border-top:1px solid var(--line)}
.pillar .n{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--primary);display:block;margin-bottom:14px}
.pillar h3{font-size:clamp(28px,3vw,42px);margin:0 0 12px}
.pillar .big{font-family:var(--display);font-weight:700;font-size:clamp(72px,9vw,150px);line-height:.85;letter-spacing:-.03em;color:var(--butter);-webkit-text-stroke:1px var(--primary);color:transparent;display:block;margin:0 0 18px}
.pillar p{max-width:48ch}
.pillar ul{list-style:none;margin:16px 0 0;padding:0}.pillar li{padding:9px 0;border-top:1px solid var(--line);font-size:15px;display:flex;gap:12px}.pillar li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral);flex:none;margin-top:8px}
@supports(animation-timeline:view()){@media(min-width:960px) and (hover:hover) and (pointer:fine){.rail-wrap{height:320vh;view-timeline-name:--rail;view-timeline-axis:block}.rail{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}.rail-track{display:flex;gap:56px;width:max-content;animation:rail linear both;animation-timeline:--rail;animation-range:contain 0% contain 100%;will-change:transform}.pillar{flex:0 0 520px;border-top:0;padding:0}.rail-head{flex:0 0 380px}@keyframes rail{to{transform:translateX(calc(-100% + 100vw - 2*var(--gutter)))}}}}
/* relationship timeline scrubber */
.scrub{border-top:1px solid var(--line);padding-top:22px}
.scrub input[type=range]{width:100%;accent-color:var(--primary);margin:0 0 6px}
.scrub-axis{position:relative;height:160px;margin-top:18px}.scrub-axis::before{content:"";position:absolute;left:0;right:0;top:34px;height:1px;background:var(--line-strong)}
.scrub-mark{position:absolute;top:0;transform:translateX(-50%);text-align:center;width:120px}
.scrub-mark i{display:block;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--primary);margin:28px auto 10px;transition:background-color 200ms var(--out),transform 320ms var(--expo)}
.scrub-mark.past i{background:var(--primary)}.scrub-mark.now i{background:var(--coral);border-color:var(--coral);transform:scale(1.5)}
.scrub-mark small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.scrub-mark b{display:block;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--primary);margin-top:4px}
.scrub-mark.alt small,.scrub-mark.alt b{transform:translateY(40px)}
.scrub-mark.alt i{margin-bottom:6px}
.scrub-you{position:absolute;top:-6px;transform:translateX(-50%);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);transition:left 320ms var(--expo);white-space:nowrap}
.scrub-out{margin-top:18px;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:760px}.scrub-out h4{margin:0 0 6px;font-size:24px}.scrub-out p{margin:0}.scrub-out .m{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);display:block;margin-bottom:8px}
@media(max-width:600px){.scrub-mark{width:72px}.scrub-mark small{display:none}}
/* spotlight on deep bands */
.on-deep{--sx:50%;--sy:40%}
.on-deep::before{content:"";position:absolute;inset:0;background:radial-gradient(640px circle at var(--sx) var(--sy),rgba(243,212,106,.13),transparent 62%);pointer-events:none;opacity:0;transition:opacity 320ms var(--out);z-index:0}
@media(hover:hover) and (pointer:fine){.on-deep:hover::before{opacity:1}}
/* page transitions */
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:180ms}::view-transition-new(root){animation-duration:260ms}
.brand{view-transition-name:brand}
/* misc */
.on-deep .ledger .v{color:var(--butter)}
.stat--coral{color:var(--coral)}
@media(prefers-reduced-motion:reduce){.cascade>*{animation:none;opacity:1;transform:rotate(var(--r))}.px{animation:none!important}.rail-wrap{height:auto!important}.rail{position:static!important;height:auto!important}.rail-track{animation:none!important;display:grid!important;width:auto!important}.odo b{transition:none}}
