:root{
  --paper:#fffefb;--parch:#f7f4ed;--parch-2:#f1ece1;--manila:#efe4cc;--manila-2:#e4d4b1;
  --line:#e0dacd;--line-2:#ece7db;
  --ink:#14171f;--ink-2:#3d434f;--mute:#5c6170;
  --navy:#132a5e;--navy-2:#1b3a7d;--brass:#a8874a;--brass-ink:#806738;--brass-soft:#d9c69b;--red:#b3202a;
  --frame:#132a5e;--frame-ink:#f4efe3;
  --shadow:0 1px 0 rgba(20,23,31,.04),0 10px 30px -12px rgba(19,42,94,.22),0 2px 6px -2px rgba(20,23,31,.08);
  --shadow-lg:0 2px 0 rgba(20,23,31,.03),0 40px 80px -30px rgba(19,42,94,.35),0 12px 24px -12px rgba(20,23,31,.14);
  --serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --display:"Libre Caslon Display","Libre Caslon Text",Georgia,serif;
  --sans:"Public Sans","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --type:"Courier Prime","Courier New",Courier,monospace;
  --gut:clamp(16px,4vw,56px);--max:1240px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#12151d;--parch:#181c26;--parch-2:#1e2330;--manila:#2a2619;--manila-2:#3a3322;
  --line:#2d3342;--line-2:#252a37;--ink:#eeeae0;--ink-2:#c9c5ba;--mute:#9a9caa;
  --navy:#9fb5ea;--navy-2:#b9c9f0;--brass:#c9ae74;--brass-ink:#d4bb84;--brass-soft:#5a4c2c;--red:#e0646b;
  --frame:#0b1430;--frame-ink:#f4efe3;--shadow:0 10px 30px -12px rgba(0,0,0,.6);--shadow-lg:0 40px 80px -30px rgba(0,0,0,.7);color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#12151d;--parch:#181c26;--parch-2:#1e2330;--manila:#2a2619;--manila-2:#3a3322;
  --line:#2d3342;--line-2:#252a37;--ink:#eeeae0;--ink-2:#c9c5ba;--mute:#9a9caa;
  --navy:#9fb5ea;--navy-2:#b9c9f0;--brass:#c9ae74;--brass-ink:#d4bb84;--brass-soft:#5a4c2c;--red:#e0646b;
  --frame:#0b1430;--frame-ink:#f4efe3;--shadow:0 10px 30px -12px rgba(0,0,0,.6);--shadow-lg:0 40px 80px -30px rgba(0,0,0,.7);color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:none;text-size-adjust:none}
.rm{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);overflow-x:clip;
  background-image:radial-gradient(rgba(168,135,74,.07) 1px,transparent 1.2px);background-size:22px 22px}
img,svg{display:block;max-width:none}
a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--red)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:var(--gut);top:-60px;background:var(--navy);color:#fff;padding:10px 14px;z-index:99}
.skip:focus{top:10px;color:#fff}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mo [data-lift].wait{opacity:0;transform:translateY(24px)}
.mo [data-lift].in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}

/* type scale: 1.25 minor third on body, display steps hand set */
.eyebrow,.tag{font:700 .78rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink)}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);margin:0;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:.98}
h2{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.04}
h3{font-family:var(--serif);font-weight:700;font-size:1.28rem;line-height:1.25}
p{margin:0 0 1em}
.lede{font-family:var(--serif);font-size:clamp(1.12rem,1.6vw,1.32rem);line-height:1.55;color:var(--ink-2);max-width:36em}
em.i{font-family:var(--serif);font-style:italic;color:var(--brass-ink)}

/* header */
.rule{border-bottom:1px solid var(--line);font:500 .8rem/1 var(--sans);color:var(--mute)}
.rule .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.rule a{color:var(--mute)}
header.top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:24px;min-height:68px}
.mark{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.mark b{font:400 1.55rem/1 var(--display);letter-spacing:.01em}
.mark i{font:700 .66rem/1 var(--type);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-ink);font-style:normal;border-left:1px solid var(--brass);padding-left:10px}
nav.main ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
nav.main a{font:500 .92rem/1 var(--sans);color:var(--ink-2);text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
nav.main a:hover{color:var(--navy);border-color:var(--brass)}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 .95rem/1 var(--sans);text-decoration:none;border-radius:2px;padding:14px 20px;border:1px solid var(--navy);transition:transform .2s ease,box-shadow .2s ease,background .2s ease;cursor:pointer}
.btn.solid{background:var(--navy);color:#fff}
:root[data-theme="dark"] .btn.solid{color:#0b1430}
.btn.solid:hover{background:var(--navy-2);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow)}
.btn.ghost{background:transparent;color:var(--navy)}
.btn.ghost:hover{background:var(--parch);color:var(--navy)}
.btn .ar{transition:transform .2s ease}
.btn:hover .ar{transform:translateX(3px)}
.menu-t{display:none}
@media (max-width:980px){nav.main{display:none}header.top .btn{display:none}.menu-t{display:inline-flex}
  nav.main.open{display:block;position:absolute;left:0;right:0;top:68px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  nav.main.open ul{flex-direction:column;gap:0;padding:8px var(--gut) 16px}
  nav.main.open a{display:block;padding:14px 0;border-bottom:1px solid var(--line-2);font-size:1rem}}
.menu-t{background:none;border:1px solid var(--line);color:var(--ink);font:600 .85rem/1 var(--sans);padding:10px 12px;border-radius:2px}

/* hero */
.hero{position:relative;padding:clamp(48px,8vw,104px) 0 clamp(56px,8vw,112px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero h1 .ln{display:block}
.hero h1 .br{color:var(--brass-ink);font-style:italic;font-family:var(--serif);font-weight:400;font-size:.86em}
.hero .lede{margin:28px 0 32px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.reg{margin-top:36px;display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);background:var(--paper);max-width:34em;position:relative}
.reg::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--brass)}
.reg svg{flex:none;margin-top:2px}
.reg p{margin:0;font-size:.93rem;color:var(--ink-2)}
.reg strong{color:var(--ink)}

/* folder illustration with layered depth */
.desk{position:relative;aspect-ratio:1/1.02;max-width:560px;justify-self:end;width:min(560px,92vw);perspective:1400px}
.desk .lay{position:absolute;transition:transform .5s cubic-bezier(.2,.7,.2,1);will-change:transform}
.f-back{inset:8% 4% 2% 6%;background:linear-gradient(160deg,var(--manila),var(--manila-2));border-radius:4px 14px 6px 6px;box-shadow:var(--shadow-lg);transform:rotate(-3deg)}
.f-back::before{content:"";position:absolute;top:-22px;left:9%;width:34%;height:30px;background:var(--manila);border-radius:10px 10px 0 0}
.sheet{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:2px;padding:22px 24px;font:400 .86rem/1.55 var(--type);color:var(--ink-2)}
.sheet .hd{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px;font-weight:700;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}
.sheet .row{display:flex;gap:10px;padding:4px 0;border-bottom:1px dotted var(--line)}
.sheet .row b{min-width:7.5em;color:var(--mute);font-weight:400}
.s1{inset:4% 12% 18% 14%;transform:rotate(2.2deg)}
.s2{inset:13% 6% 10% 10%;transform:rotate(-1.2deg)}
.s3{inset:22% 15% 4% 4%;transform:rotate(.6deg)}
.s3 .lines i{display:block;height:9px;margin:9px 0;background:var(--line-2);border-radius:2px}
.s3 .lines i:nth-child(2){width:86%}.s3 .lines i:nth-child(3){width:72%}.s3 .lines i:nth-child(5){width:64%}
.clip{right:22%;top:1%;z-index:6}
.stamp-h{right:9%;bottom:13%;z-index:7;transform:rotate(-9deg)}
.stamp{display:inline-block;font:700 .82rem/1.15 var(--type);letter-spacing:.14em;text-transform:uppercase;border:2px solid currentColor;padding:8px 12px;border-radius:3px;color:var(--brass-ink);background:color-mix(in srgb,var(--paper) 60%,transparent);text-align:center}
.stamp.red{color:var(--red)}
.idcard{left:0;bottom:6%;z-index:8;width:min(270px,62%);background:var(--frame);color:var(--frame-ink);border-radius:6px;padding:16px 18px;box-shadow:var(--shadow-lg);border:1px solid rgba(201,174,116,.5)}
.idcard .k{font:700 .64rem/1 var(--type);letter-spacing:.16em;text-transform:uppercase;color:#c9ae74}
.idcard .n{font:400 1.25rem/1.15 var(--display);margin:8px 0 4px;color:#fff}
.idcard .m{font:400 .82rem/1.4 var(--type);color:#d8d2c3}
.idcard .m b{color:#fff;font-weight:700;letter-spacing:.05em}

/* sections */
section{position:relative}
.sec{padding:clamp(64px,9vw,128px) 0}
.sec-h{display:grid;grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);margin-bottom:clamp(32px,5vw,56px);align-items:start}
.sec-h .no{font:400 clamp(3rem,6vw,5rem)/.9 var(--display);color:var(--brass-soft)}
.sec-h .no small{display:block;font:700 .74rem/1.2 var(--type);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-ink);margin-top:10px}
.sec-h p{margin-top:16px;max-width:40em;color:var(--ink-2)}
.band{background:var(--parch);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* dividers (what we do) */
.dividers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:26px}
.dv{position:relative;background:var(--paper);border:1px solid var(--line);padding:30px 26px 26px;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}
.dv:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.dv .tab{position:absolute;top:-27px;left:18px;background:var(--manila);border:1px solid var(--manila-2);border-bottom:0;border-radius:6px 6px 0 0;padding:6px 14px;font:700 .72rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.dv:nth-child(2) .tab{left:auto;right:18px}
.dv h3{margin-bottom:10px}
.dv p{color:var(--ink-2);font-size:.98rem}
.dv .who{margin-top:16px;padding-top:12px;border-top:1px dotted var(--line);font:400 .84rem/1.5 var(--type);color:var(--mute)}
.note{margin-top:28px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:22px 24px;background:var(--paper);border:1px dashed var(--brass)}
.note p{margin:0;color:var(--ink-2)}

/* TRIAGE: signature */
.triage{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(20px,3vw,40px);align-items:start}
.intake{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(20px,3vw,32px)}
.intake .hd{display:flex;justify-content:space-between;gap:12px;font:700 .74rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:18px}
fieldset{border:0;margin:0 0 22px;padding:0;min-width:0}
legend{font:700 1.05rem/1.35 var(--serif);color:var(--ink);padding:0;margin-bottom:12px;display:flex;gap:10px}
legend .fn{font:700 .72rem/1.9 var(--type);color:var(--brass-ink);letter-spacing:.1em;flex:none}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt span{display:inline-block;padding:10px 14px;border:1px solid var(--line);background:var(--parch);font:500 .92rem/1.25 var(--sans);color:var(--ink-2);border-radius:2px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.opt input:hover+span{border-color:var(--brass)}
.opt input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
:root[data-theme="dark"] .opt input:checked+span{color:#0b1430}
.opt input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
.sit .opt span{display:flex;flex-direction:column;gap:2px;min-width:9.5em}
.sit .opt small{font:400 .74rem/1.3 var(--type);opacity:.8}
.qbox:empty{display:none}
.qbox fieldset{animation:none}
.mo .qbox fieldset{animation:qin .45s ease both}
@keyframes qin{from{opacity:0;transform:translateY(8px)}}
.intake .fine{font-size:.82rem;color:var(--mute);margin:6px 0 0}

/* case folder that holds the result */
.folder{position:relative;min-height:560px;perspective:1600px;padding-top:20px;overflow:hidden}
.folder .pocket{position:absolute;left:0;right:0;bottom:0;height:86px;background:linear-gradient(170deg,var(--manila),var(--manila-2));border-radius:4px;box-shadow:var(--shadow-lg);z-index:3}
.folder .pocket::after{content:"Immi Worldwide  /  General information file";position:absolute;left:22px;bottom:18px;font:700 .7rem/1 var(--type);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 55%,transparent)}
.folder .backc{position:absolute;inset:20px 0 0 0;background:color-mix(in srgb,var(--manila) 70%,var(--paper));border-radius:4px 12px 4px 4px;border:1px solid var(--manila-2)}
.folder .backc::before{content:"";position:absolute;top:-18px;right:12%;width:30%;height:24px;background:color-mix(in srgb,var(--manila) 70%,var(--paper));border:1px solid var(--manila-2);border-bottom:0;border-radius:8px 8px 0 0}
.case{position:relative;z-index:2;margin:22px 18px 92px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(20px,3vw,30px);font-size:.97rem;transform-origin:50% bottom}
.case.wait-in{transform:translateY(46%) rotate(-1deg)}
.case.go{transform:none;transition:transform .9s cubic-bezier(.16,.84,.24,1)}
.case .ch{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:700 .72rem/1.3 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:16px}
.case h3{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;margin-bottom:10px}
.case .sum{color:var(--ink-2);font-family:var(--serif);font-size:1.04rem}
.case .blk{border-top:1px dotted var(--line);padding-top:12px;margin-top:14px}
.case .blk h4{margin:0 0 8px;font:700 .74rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink)}
.case .blk.flag h4{color:var(--red)}
.case ul{margin:0;padding-left:1.1em}
.case li{margin:0 0 6px;color:var(--ink-2)}
.case li::marker{color:var(--brass)}
.case .flag li::marker{color:var(--red)}
.case .rule-d{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;background:var(--parch);padding:12px 14px;border-left:3px solid var(--navy)}
.case .rule-d time{font:700 .82rem/1.4 var(--type);color:var(--navy);white-space:nowrap}
.case .rule-d p{margin:0;color:var(--ink-2)}
.case .rule-d a{grid-column:2;font-size:.85rem}
.case .agent{margin-top:16px;background:var(--frame);color:var(--frame-ink);padding:16px 18px;border-radius:4px}
.case .agent h4{color:#c9ae74!important}
.case .agent p{margin:0 0 8px;color:#e9e4d8}
.case .agent a{color:#fff}
.case .agent .lvl{display:inline-block;font:700 .7rem/1 var(--type);letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;border:1px solid #c9ae74;color:#c9ae74;margin-bottom:10px}
.case .agent .lvl.now{border-color:#ff9aa0;color:#ffb3b8}
.case .ln-in{opacity:1}
.mo .case.typing .ln-in{opacity:0;transform:translateY(6px)}
.mo .case.typed .ln-in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--d,0)*90ms + 350ms)}
.case .stampbox{position:absolute;right:16px;top:44px;transform:rotate(8deg);pointer-events:none}
.mo .case.typing .stampbox{opacity:0;transform:rotate(8deg) scale(1.9)}
.mo .case.typed .stampbox{opacity:1;transform:rotate(8deg) scale(1);transition:opacity .2s ease 1.05s,transform .32s cubic-bezier(.3,1.6,.5,1) 1.05s}
.case .placeholder{color:var(--mute);font-family:var(--serif)}
.case .placeholder ol{padding-left:1.2em;margin:12px 0 0}
.case .foot{margin-top:14px;font:400 .78rem/1.5 var(--type);color:var(--mute)}

/* what goes wrong */
.wrongs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--ink)}
.wr{padding:26px 24px 28px 0;border-right:1px solid var(--line)}
.wr+.wr{padding-left:24px}
.wr:last-child{border-right:0}
.wr .k{font:700 .74rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.wr p{color:var(--ink-2)}

/* process */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:0}
.steps li{display:grid;grid-template-columns:minmax(64px,.14fr) minmax(0,.9fr) minmax(0,1fr);gap:clamp(14px,3vw,40px);padding:24px 0;border-top:1px solid var(--line);align-items:baseline}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps .n{font:400 2.4rem/1 var(--display);color:var(--brass)}
.steps h3{font-size:1.2rem}
.steps p{margin:0;color:var(--ink-2)}
.steps .hn{display:block;margin-top:6px;font:400 .84rem/1.5 var(--type);color:var(--mute)}

/* what changed: docket */
.docket{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:clamp(24px,4vw,56px);align-items:start}
.entries{border-top:2px solid var(--ink)}
.en{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.en time{font:700 .9rem/1.4 var(--type);color:var(--navy)}
.en h3{font-size:1.08rem;margin-bottom:6px}
.en p{margin:0;color:var(--ink-2);font-size:.97rem}
.en .st{display:inline-block;margin-left:8px;font:700 .64rem/1 var(--type);letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;padding:4px 6px;vertical-align:middle}
.st.in{color:var(--navy)}.st.ann{color:var(--red)}
.side{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);padding:24px;box-shadow:var(--shadow)}
.side .big{font:400 clamp(2.6rem,5vw,3.6rem)/1 var(--display);color:var(--navy)}
.side .cap{font-size:.9rem;color:var(--ink-2);margin:6px 0 18px}
.side hr{border:0;border-top:1px dotted var(--line);margin:16px 0}
.updated{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px;font-size:.88rem;color:var(--mute)}

/* compliance */
.code{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);background:var(--paper)}
.code div{padding:22px 24px;border-bottom:1px solid var(--line)}
.code div:nth-child(odd){border-right:1px solid var(--line)}
.code div:nth-last-child(-n+2){border-bottom:0}
.code b{display:block;font:700 1.02rem/1.35 var(--serif);color:var(--ink);margin-bottom:6px}
.code p{margin:0;color:var(--ink-2);font-size:.96rem}
.regline{margin-top:24px;padding:18px 22px;background:var(--frame);color:var(--frame-ink);border-radius:4px;display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;font-size:.95rem}
.regline a{color:#fff}
.regline strong{font-family:var(--display);font-weight:400;font-size:1.2rem;color:#fff}

/* fees */
.fees{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px)}
.fees ul{padding-left:1.1em;color:var(--ink-2)}
.fees li{margin-bottom:8px}
table{border-collapse:collapse;width:auto;min-width:0;font-size:.96rem}
.tbl{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);overflow:hidden}
.tbl table{display:table;table-layout:auto}
.tbl caption{text-align:left;padding:16px 18px 6px;font:700 .74rem/1.3 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--brass-ink)}
.tbl th,.tbl td{text-align:left;padding:12px 18px;border-top:1px solid var(--line-2)}
.tbl td:last-child,.tbl th:last-child{text-align:right;font-family:var(--type);font-weight:700;white-space:nowrap}
.tbl thead th{font:600 .8rem/1.2 var(--sans);color:var(--mute);border-top:0}
.tbl .src{padding:12px 18px 16px;font-size:.84rem;color:var(--mute);border-top:1px solid var(--line-2)}

/* faq */
.faq{border-top:2px solid var(--ink);max-width:880px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font:700 1.08rem/1.4 var(--serif);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.6rem/1 var(--display);color:var(--brass);transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 0 22px;color:var(--ink-2);max-width:44em}

/* form */
.contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:start}
.contact .ways{margin-top:24px;display:grid;gap:12px}
.contact .ways div{padding:14px 16px;border:1px solid var(--line);background:var(--paper)}
.contact .ways b{display:block;font:700 .72rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:4px}
.contact .ways span{user-select:all;font-size:1.05rem;color:var(--ink)}
form.enq{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:clamp(20px,3vw,34px)}
form.enq .hd{font:700 .74rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.fld label{font:600 .88rem/1.3 var(--sans);color:var(--ink)}
.fld label small{font-weight:400;color:var(--mute)}
.fld input,.fld select,.fld textarea{font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--parch);border:1px solid var(--line);border-bottom:2px solid var(--ink-2);border-radius:2px;padding:12px 12px}
.fld textarea{min-height:130px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--red);outline-offset:1px;background:var(--paper)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--ink-2);margin:4px 0 18px}
.chk input{margin-top:4px;accent-color:var(--navy);width:18px;height:18px;flex:none}
.privacy{font-size:.86rem;color:var(--mute);margin:14px 0 0}
.form-note{font:700 .9rem/1.4 var(--type);color:var(--navy);margin-top:12px;min-height:1.4em}
.marn-near{margin-top:14px;padding-top:14px;border-top:1px dotted var(--line);font-size:.9rem;color:var(--ink-2)}

/* footer */
footer{border-top:2px solid var(--ink);padding:56px 0 40px;background:var(--parch)}
footer .cols{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,.7fr));gap:32px}
footer .mark b{font-size:1.9rem}
footer p{font-size:.92rem;color:var(--ink-2);margin:0 0 10px}
footer h4{margin:0 0 12px;font:700 .72rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink)}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:8px;font-size:.92rem}
footer .legal{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.84rem;color:var(--mute)}
footer .legal a{color:var(--ink-2)}
.sel{user-select:all}

/* responsive */
@media (max-width:1060px){
  .triage{grid-template-columns:minmax(0,1fr)}
  .folder{min-height:0}
}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:minmax(0,1fr)}
  .desk{justify-self:center;width:min(480px,calc(100vw - 2*var(--gut)))}
  .dividers,.wrongs{grid-template-columns:minmax(0,1fr)}
  .dividers{gap:44px}
  .dv:nth-child(2) .tab{left:18px;right:auto}
  .wr,.wr+.wr{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}
  .sec-h{grid-template-columns:minmax(0,1fr)}
  .docket,.fees,.contact{grid-template-columns:minmax(0,1fr)}
  .side{position:relative;top:0}
  .code{grid-template-columns:minmax(0,1fr)}
  .code div:nth-child(odd){border-right:0}
  .code div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .steps li{grid-template-columns:minmax(0,1fr);gap:8px}
  footer .cols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .grid2{grid-template-columns:minmax(0,1fr);gap:0}
  .en{grid-template-columns:minmax(0,1fr);gap:6px}
  .case{margin:16px 10px 92px}
  .case .stampbox{position:static;transform:rotate(-3deg);margin:0 0 12px;display:inline-block}
  .mo .case.typing .stampbox{transform:rotate(-3deg) scale(1.9)}
  .mo .case.typed .stampbox{transform:rotate(-3deg) scale(1)}
  .sit .opt{flex:1 1 calc(50% - 8px)}
  .sit .opt span{min-width:0;width:auto;display:flex}
  .s1,.s2,.s3{padding:14px 16px;font-size:.74rem}
  .idcard{padding:12px 14px}
  .idcard .n{font-size:1.05rem}
  .reg{flex-direction:row}
  .tbl th,.tbl td{padding:10px 12px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.desk .lay{transform:none}}


/* ===== Site build additions: shared across all pages ===== */
nav.main a[aria-current="page"]{color:var(--navy);border-color:var(--brass)}
nav.main .m-only{display:none}
@media (max-width:980px){nav.main.open .m-only{display:block}}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* compliance strip: framed card above the footer, identical on every page */
.cstrip{padding:0 0 56px}
.cstrip .card{background:var(--frame);color:var(--frame-ink);border-radius:6px;padding:20px 24px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px 22px;align-items:start;border:1px solid rgba(201,174,116,.45);box-shadow:var(--shadow)}
.cstrip .seal{width:52px;height:52px;border:1.5px solid #c9ae74;border-radius:50%;display:grid;place-items:center;font:700 .58rem/1.15 var(--type);letter-spacing:.08em;color:#c9ae74;text-transform:uppercase;text-align:center}
.cstrip p{margin:0 0 6px;font-size:.92rem;color:#e9e4d8}
.cstrip strong{color:#fff;font-weight:600}
.cstrip a{color:#fff}
.cstrip .lk{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:8px;font-size:.88rem}
@media (max-width:560px){.cstrip .card{grid-template-columns:minmax(0,1fr)}}

footer .cols{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.62fr))}
@media (max-width:900px){footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}footer .cols>div:first-child{grid-column:1/-1}}
@media (max-width:560px){footer .cols{grid-template-columns:minmax(0,1fr)}}

/* inner page hero: quieter, same paper and type */
.phero{padding:clamp(40px,6vw,84px) 0 clamp(36px,5vw,64px);border-bottom:1px solid var(--line)}
.phero .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,5vw,72px);align-items:end}
.phero h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.02}
.phero .lede{margin-top:22px;margin-bottom:0}
.crumb{font:700 .74rem/1.4 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:0 0 18px}
.crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 10px}
.crumb li+li::before{content:"/";margin-right:10px;color:var(--brass)}
.crumb a{color:var(--mute);text-decoration:none}
.crumb a:hover{color:var(--red)}
.flabel{background:var(--manila);border:1px solid var(--manila-2);border-radius:4px 12px 4px 4px;padding:18px 20px 16px;position:relative;box-shadow:var(--shadow);font:400 .86rem/1.55 var(--type);color:var(--ink-2);margin-top:18px}
.flabel::before{content:"";position:absolute;top:-16px;left:18px;width:38%;height:18px;background:var(--manila);border:1px solid var(--manila-2);border-bottom:0;border-radius:8px 8px 0 0}
.flabel b{display:block;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;color:var(--ink);margin-bottom:8px}
.flabel .row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted color-mix(in srgb,var(--ink) 25%,transparent);padding:4px 0}
.flabel .row span:last-child{text-align:right;color:var(--ink)}
@media (max-width:900px){.phero .wrap{grid-template-columns:minmax(0,1fr)}}

/* prose blocks */
.prose{max-width:46em}
.prose h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 14px}
.prose h3{margin:28px 0 8px}
.prose p,.prose li{color:var(--ink-2)}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1em}
.prose li{margin-bottom:6px}
.prose li::marker{color:var(--brass)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px)}
@media (max-width:900px){.two{grid-template-columns:minmax(0,1fr)}}
.panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(20px,3vw,30px)}
.panel h3{margin-bottom:10px}
.panel p:last-child,.panel ul:last-child{margin-bottom:0}
.panel ul{padding-left:1.1em;color:var(--ink-2)}
.panel li{margin-bottom:6px}
.consent-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:20px 22px;border:1px dashed var(--brass);background:var(--paper);margin-top:28px}
.consent-panel p{margin:0;color:var(--ink-2)}
.more{display:inline-flex;gap:8px;align-items:center;margin-top:22px;font:600 .95rem/1 var(--sans)}
.mt{margin-top:clamp(32px,5vw,56px)}

/* after the visa: card index (tabs styled as index card dividers) */
.cindex [role=tablist]{display:flex;flex-wrap:wrap;gap:6px;padding-left:6px;position:relative;z-index:2}
.cindex [role=tab]{font:700 .74rem/1.2 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);background:var(--manila-2);border:1px solid var(--manila-2);border-bottom:0;border-radius:8px 8px 0 0;padding:11px 16px 10px;cursor:pointer;transform:translateY(4px);transition:transform .2s ease,background .2s ease}
.cindex [role=tab]:hover{transform:translateY(0)}
.cindex [role=tab][aria-selected="true"]{background:var(--manila);color:var(--ink);transform:translateY(1px)}
.cindex .card{position:relative;background:var(--manila);border:1px solid var(--manila-2);border-radius:2px 8px 8px 8px;padding:10px;box-shadow:var(--shadow-lg)}
.cindex .card>div{background:var(--paper);border:1px solid var(--line);padding:clamp(20px,3.4vw,40px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(20px,4vw,48px)}
.cindex .card>div[hidden]{display:none}
.cindex h2{font-size:clamp(1.6rem,2.8vw,2.3rem);margin-bottom:12px}
.cindex p{color:var(--ink-2)}
.cindex .facts{border-left:3px solid var(--brass);padding:4px 0 4px 18px;font-size:.95rem;color:var(--ink-2)}
.cindex .facts h3{font:700 .74rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink);margin:0 0 10px}
.cindex .facts ul{padding-left:1.1em;margin:0}
.cindex .facts li{margin-bottom:8px}
@media (max-width:900px){.cindex .card>div{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.cindex [role=tab]{padding:9px 10px;font-size:.66rem;letter-spacing:.06em}}
.links-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.links-out a{display:block;padding:20px 22px;border:1px solid var(--line);background:var(--paper);text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
.links-out a:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:var(--ink)}
.links-out b{display:block;font:400 1.45rem/1.15 var(--display);margin-bottom:6px}
.links-out span{font-size:.95rem;color:var(--ink-2)}
.links-out small{display:block;margin-top:10px;font:700 .72rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink)}
@media (max-width:700px){.links-out{grid-template-columns:minmax(0,1fr)}}

/* how we work: carbon-copy slip (who does what) */
.slip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-lg);position:relative;margin-top:10px}
.slip::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px;background:radial-gradient(circle at 7px 8px,var(--line) 0 3px,transparent 3.5px) 0 0/14px 8px repeat-x}
.slip>div{padding:24px 22px 26px;border-right:1px dashed var(--line)}
.slip>div:last-child{border-right:0}
.hand{font:700 .72rem/1.3 var(--type);letter-spacing:.12em;text-transform:uppercase;padding:6px 8px;display:inline-block;border:1px solid currentColor;margin-bottom:12px}
.hand.iw{color:var(--brass-ink)}.hand.ag{color:var(--navy)}.hand.cq{color:var(--red)}
.slip h3{margin-bottom:10px}
.slip ul{margin:0;padding-left:1.1em;color:var(--ink-2);font-size:.96rem}
.slip li{margin-bottom:6px}
.slip .not{margin-top:14px;padding-top:12px;border-top:1px dotted var(--line);font-size:.9rem;color:var(--mute)}
@media (max-width:900px){.slip{grid-template-columns:minmax(0,1fr)}.slip>div{border-right:0;border-bottom:1px dashed var(--line)}.slip>div:last-child{border-bottom:0}}
.steps .tagw{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.steps .tagw .hand{font-size:.62rem;padding:5px 7px;margin:0}

/* updates: filterable docket */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.filters button{font:600 .88rem/1 var(--sans);padding:10px 14px;border:1px solid var(--line);background:var(--parch);color:var(--ink-2);border-radius:2px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
:root[data-theme="dark"] .filters button[aria-pressed="true"]{color:#0b1430}
.filters button:hover{border-color:var(--brass)}
.en .src{display:block;margin-top:8px;font-size:.86rem}
.en .tp{display:block;margin-top:6px;font:400 .76rem/1.4 var(--type);color:var(--mute);letter-spacing:.06em}
.en[hidden]{display:none}
.filter-note{font-size:.88rem;color:var(--mute);margin:-8px 0 18px;min-height:1.3em}

/* about: registration card */
.regcard{background:var(--frame);color:var(--frame-ink);border-radius:8px;padding:26px 26px 22px;box-shadow:var(--shadow-lg);border:1px solid rgba(201,174,116,.5);position:relative}
.regcard .k{font:700 .66rem/1 var(--type);letter-spacing:.16em;text-transform:uppercase;color:#c9ae74}
.regcard .n{font:400 1.9rem/1.1 var(--display);color:#fff;margin:10px 0 16px}
.regcard dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font:400 .86rem/1.45 var(--type)}
.regcard dt{color:#c9ae74}
.regcard dd{margin:0;color:#f1ece1}
.regcard a{color:#fff}
.regcard .stamp{position:absolute;right:18px;top:18px;color:#c9ae74;background:transparent;transform:rotate(7deg);font-size:.6rem;padding:6px 8px}
.regcard .fine{margin:16px 0 0;font-size:.84rem;color:#d8d2c3}
.kv{width:auto;border-top:2px solid var(--ink)}
.kv th,.kv td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.kv th{font:700 .74rem/1.5 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--brass-ink);width:34%}
.kv td{color:var(--ink-2)}

/* contact: routing slip */
.route{list-style:none;margin:24px 0 0;padding:0;border-left:2px solid var(--brass)}
.route li{position:relative;padding:12px 0 12px 22px;color:var(--ink-2);font-size:.96rem}
.route li::before{content:"";position:absolute;left:-7px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--brass)}
.route li b{display:block;color:var(--ink);font-family:var(--serif)}
.route li:last-child::before{background:var(--brass)}

/* policies: clause index with scroll spy */
.policy{display:grid;grid-template-columns:minmax(200px,.3fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.toc{position:sticky;top:96px;border-top:2px solid var(--ink);padding-top:14px}
.toc p{font:700 .72rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink);margin:0 0 10px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:c}
.toc li{counter-increment:c}
.toc a{display:grid;grid-template-columns:2.2em minmax(0,1fr);padding:7px 0;border-bottom:1px solid var(--line-2);text-decoration:none;color:var(--ink-2);font-size:.92rem;line-height:1.35}
.toc a::before{content:counter(c,decimal-leading-zero);font:700 .74rem/1.6 var(--type);color:var(--brass)}
.toc a.on{color:var(--navy);font-weight:600}
.toc a.on::before{color:var(--red)}
.clauses{counter-reset:k;max-width:46em}
.clauses section{counter-increment:k;padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.clauses section:last-child{border-bottom:0}
.clauses h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:12px;display:flex;gap:14px;align-items:baseline}
.clauses h2::before{content:counter(k,decimal-leading-zero);font:700 .9rem/1 var(--type);color:var(--brass-ink);flex:none}
.clauses h3{margin:18px 0 6px;font-size:1.08rem}
.clauses p,.clauses li{color:var(--ink-2)}
.clauses ul{padding-left:1.2em}
.clauses li{margin-bottom:6px}
.clauses li::marker{color:var(--brass)}
.meta-line{font:400 .86rem/1.5 var(--type);color:var(--mute);margin-top:18px}
@media (max-width:900px){.policy{grid-template-columns:minmax(0,1fr)}.toc{position:relative;top:0}}

/* thank you: receipt */
.receipt{max-width:600px;margin:0 auto;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:clamp(24px,4vw,40px);position:relative;color:var(--ink-2)}
.receipt .stamp{position:absolute;right:22px;top:22px;transform:rotate(-8deg);color:var(--navy)}
.mo .receipt .stamp{animation:land .5s cubic-bezier(.3,1.6,.5,1) .4s both}
@keyframes land{from{opacity:0;transform:rotate(-8deg) scale(1.9)}to{opacity:1;transform:rotate(-8deg) scale(1)}}
.receipt h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 14px;padding-right:130px}
.receipt .row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dotted var(--line);padding:8px 0;font:400 .88rem/1.4 var(--type)}
.receipt .row span:last-child{text-align:right;color:var(--ink)}
.receipt .cta{margin-top:24px}
@media (max-width:560px){.receipt h1{padding-right:0}.receipt .stamp{position:static;display:inline-block;margin-bottom:12px}}
html:not(.mo):not(.rm) .cindex [role=tablist]{display:none}
html:not(.mo):not(.rm) .cindex .card>div{margin-bottom:10px}
.tbl .kv{width:100%;border-top:0}
.tbl .kv td,.tbl .kv td:last-child{text-align:left;white-space:normal;font:400 .98rem/1.55 var(--sans);color:var(--ink-2);padding:13px 18px}
.tbl .kv th{text-align:left;font:700 .72rem/1.5 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--brass-ink);padding:13px 18px;width:32%;white-space:normal}
@media (max-width:560px){.tbl .kv th,.tbl .kv td{display:block;width:auto;padding:8px 14px}.tbl .kv td{border-top:0;padding-top:0}}
nav.main a{white-space:nowrap}
@media (max-width:1180px) and (min-width:981px){nav.main ul{gap:16px}nav.main a{font-size:.86rem}header.top .wrap{gap:18px}}
.mark b,header.top .btn{white-space:nowrap}


/* ===== Photographs: always framed, never behind text ===== */
.ph{margin:0;position:relative}
.ph-frame{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--manila),var(--manila-2))}
.ph picture,.ph img{display:block;width:100%;height:100%}
.ph img{object-fit:cover}
.ph figcaption{font:400 .78rem/1.45 var(--type);color:var(--mute);margin-top:10px}
.ph.is-empty .ph-frame{display:grid;place-items:center}
.ph-note{font:700 .66rem/1 var(--type);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 40%,transparent);border:1px dashed color-mix(in srgb,var(--ink) 25%,transparent);padding:8px 10px}
/* print: a photographic print with a white border, paper-clipped */
.ph-print{background:#fff;padding:10px 10px 30px;box-shadow:var(--shadow-lg);border:1px solid var(--line);transform:rotate(-2.2deg)}
:root[data-theme="dark"] .ph-print{background:#f4efe3}
.ph-print .ph-clip{position:absolute;top:-22px;left:22px;z-index:3;transform:rotate(-8deg)}
.ph-print figcaption{position:absolute;left:12px;right:12px;bottom:7px;margin:0;font-size:.68rem;color:#5c6170;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* tab: photo held in a manila folder sleeve with a tab */
.ph-tab{background:var(--manila);border:1px solid var(--manila-2);border-radius:4px 12px 4px 4px;padding:10px;box-shadow:var(--shadow)}
.ph-tab::before{content:"";position:absolute;top:-17px;right:16%;width:32%;height:18px;background:var(--manila);border:1px solid var(--manila-2);border-bottom:0;border-radius:8px 8px 0 0}
.ph-tab .ph-frame{border-radius:2px}
/* band: editorial strip inside the wrap, thin rule frame */
.ph-band .ph-frame{border:1px solid var(--line);box-shadow:var(--shadow)}
.ph-band figcaption{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--ink);padding-top:8px}
/* thumb and card: crops inside cards */
.ph-thumb,.ph-card{margin:0 0 18px}
.ph-thumb .ph-frame,.ph-card .ph-frame{border:1px solid var(--line-2)}
/* portrait: framed crop with a brass corner rule */
.ph-portrait .ph-frame{border:1px solid var(--line);box-shadow:var(--shadow)}
.ph-portrait::after{content:"";position:absolute;right:-10px;bottom:-10px;width:44%;height:44%;border-right:3px solid var(--brass);border-bottom:3px solid var(--brass);pointer-events:none}

/* placements */
.desk .lay.photo{right:-5%;top:-7%;width:35%;z-index:5}
.desk .lay.photo .ph-print{transform:rotate(4deg)}
.dv .ph-thumb{margin:-30px -26px 20px}
.dv .ph-thumb .ph-frame{border:0;border-bottom:1px solid var(--line)}
.home-band{padding:0 0 clamp(56px,8vw,104px)}
.phero .media{position:relative;display:grid;gap:0}
.phero .media .ph{max-width:420px;justify-self:end;width:100%}
.phero .media .flabel{margin-top:-34px;margin-right:24px;position:relative;z-index:2;max-width:380px;justify-self:start}
.phero .media .ph-print{transform:rotate(2deg)}
.contact .ph-portrait{margin-top:28px;max-width:420px}
.links-out a .ph-card{margin:-20px -22px 16px}
.links-out a .ph-card .ph-frame{border:0;border-bottom:1px solid var(--line)}
.cindex .facts .ph-print{max-width:260px;margin:6px 0 22px 6px;transform:rotate(1.6deg)}
.side-photo{margin-top:28px}
@media (max-width:900px){
  .phero .media .ph{justify-self:center;max-width:360px}
  .phero .media .flabel{justify-self:stretch;margin-right:0;max-width:none}
  .desk .lay.photo{right:-1%;top:-2%;width:38%}
}
@media (max-width:560px){.desk .lay.photo{width:40%}}
.two .ph-portrait{max-width:340px;margin-left:auto;margin-right:12px}
@media (max-width:900px){.two .ph-portrait{margin:0 auto;max-width:300px}}

/* ===== Build 2 features (templates from the approved samples) ===== */
/* occupations hub */
.occ-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.occ{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:24px 24px 22px;position:relative;display:flex;flex-direction:column}
.occ[hidden]{display:none}
.occ .ph-thumb{margin:-24px -24px 18px}
.occ .ph-thumb .ph-frame{border:0;border-bottom:1px solid var(--line)}
.occ .occ-k{margin:0;font:700 .7rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink)}
.occ h3{font:400 1.7rem/1.1 var(--display);margin:6px 0 14px}
.occ dl{margin:0 0 14px;display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:8px 14px;font-size:.93rem}
.occ dt{font:700 .7rem/1.6 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.occ dd{margin:0;color:var(--ink-2)}
.occ ol{margin:0 0 14px;padding-left:1.2em;color:var(--ink-2);font-size:.93rem}
.occ ol li{margin-bottom:4px}
.occ .links{margin-top:auto;padding-top:12px;border-top:1px dotted var(--line);display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.88rem}
.occ .guide{display:inline-block;margin-top:10px;font:700 .72rem/1 var(--type);letter-spacing:.12em;text-transform:uppercase}
@media (max-width:860px){.occ-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.occ dl{grid-template-columns:minmax(0,1fr);gap:2px}.occ dd{margin-bottom:8px}}

/* three tracks */
.tracks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.tracks>div{padding:24px 22px;border-right:1px dashed var(--line)}
.tracks>div:last-child{border-right:0}
.tracks .n{font:400 2.4rem/1 var(--display);color:var(--brass)}
.tracks h3{margin:8px 0 8px}
.tracks p{color:var(--ink-2);font-size:.95rem;margin:0 0 8px}
.tracks .dec{font:400 .82rem/1.5 var(--type);color:var(--mute);border-top:1px dotted var(--line);padding-top:10px;margin-top:10px}
@media (max-width:900px){.tracks{grid-template-columns:minmax(0,1fr)}.tracks>div{border-right:0;border-bottom:1px dashed var(--line)}}

/* state table */
.st-tbl{width:100%}
.st-tbl td,.st-tbl td:last-child{text-align:left;white-space:normal;font:400 .95rem/1.5 var(--sans)}
.st-tbl td:first-child{font:700 .8rem/1.5 var(--type);letter-spacing:.08em;color:var(--navy);white-space:nowrap}
.st-tbl th:last-child{text-align:left}
@media (max-width:600px){.st-tbl thead{display:none}.st-tbl tr{display:block;border-top:1px solid var(--line-2);padding:10px 0}.st-tbl td{display:block;border:0;padding:3px 14px}}

/* support finder */
.finder{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}
.finder .controls{position:sticky;top:126px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:20px}
.finder .controls .hd{font:700 .72rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:14px}
.finder fieldset{margin-bottom:16px}
.finder legend{font:700 .95rem/1.3 var(--serif);margin-bottom:8px}
.finder .opts{gap:6px}
.finder .opt span{padding:8px 11px;font-size:.86rem}
.res{display:grid;gap:14px}
.res article{background:var(--paper);border:1px solid var(--line);padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;box-shadow:var(--shadow)}
.res article[hidden]{display:none}
.res h3{font-size:1.12rem;margin:0}
.res p{margin:0;color:var(--ink-2);font-size:.94rem;grid-column:1/-1}
.res .meta{font:400 .76rem/1.4 var(--type);color:var(--mute);letter-spacing:.06em;grid-column:1/-1}
.res .badge{font:700 .64rem/1 var(--type);letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;padding:5px 7px;align-self:start;color:var(--brass-ink)}
.res a.go{grid-column:1/-1;font-size:.9rem}
.res-note{font-size:.9rem;color:var(--mute);margin:0 0 10px;min-height:1.4em}
@media (max-width:900px){.finder{grid-template-columns:minmax(0,1fr)}.finder .controls{position:relative;top:0}}

/* rpl */
.scope-list{columns:2;column-gap:40px;padding-left:1.1em;color:var(--ink-2);font-size:.95rem}
.scope-list li{break-inside:avoid;margin-bottom:6px}
.scope-list code{font:700 .78rem/1 var(--type);color:var(--brass-ink);margin-right:6px}
@media (max-width:700px){.scope-list{columns:1}}
.statement{border:2px solid var(--ink);background:var(--paper);padding:22px 24px;font:400 1.15rem/1.5 var(--serif);color:var(--ink)}
.statement b{display:block;font:700 .72rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 16px}
.slots button{font:600 .86rem/1.2 var(--sans);padding:10px 6px;border:1px solid var(--line);background:var(--parch);color:var(--ink-2);border-radius:2px;cursor:pointer}
.slots button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.slots button small{display:block;font:400 .7rem/1.3 var(--type);opacity:.8}
@media (max-width:520px){.slots{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* triage v2 */
.topics .opt span{min-width:11em}
.reading .src-list{margin:0;padding-left:1.1em}
.reading .src-list li{margin-bottom:6px}
.disclose{margin-top:28px;padding:20px 22px;border:1px solid var(--line);border-left:3px solid var(--navy);background:var(--paper)}
.disclose h3{margin-bottom:8px}
.disclose p{margin:0 0 8px;color:var(--ink-2);font-size:.95rem}
.verify{font:400 .74rem/1.4 var(--type);color:var(--mute);letter-spacing:.04em}
div.enq{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:clamp(20px,3vw,34px)}
div.enq .hd{font:700 .74rem/1.2 var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* trust strip (top rule) and language switcher */
.rule.trust .wrap{align-items:center}
.trust .tr-ref{font-size:.8rem}
.trust .tr-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.langs{display:flex;gap:2px;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.langs a{padding:4px 9px;text-decoration:none;color:var(--ink-2);font-size:.8rem;line-height:1.2;background:var(--paper)}
.langs a[aria-current="true"]{background:var(--navy);color:#fff}
.langs a:hover{background:var(--parch)}
.langs a[aria-current="true"]:hover{background:var(--navy-2);color:#fff}
@media (max-width:760px){.trust .tr-ref{flex-basis:100%}.trust .tr-meta>span:first-child{display:none}}

/* grouped visa menu */
nav.main .has-sub{position:relative}
.vmenu summary{list-style:none;cursor:pointer;font:500 .92rem/1 var(--sans);color:var(--ink-2);padding:8px 0;border-bottom:1px solid transparent;white-space:nowrap;display:flex;align-items:center;gap:8px}
.vmenu summary::-webkit-details-marker{display:none}
.vmenu summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.vmenu[open] summary::after{transform:rotate(225deg);margin-top:3px}
.has-sub.is-current .vmenu summary,.vmenu summary:hover{color:var(--navy);border-color:var(--brass)}
.vpanel{position:absolute;top:calc(100% + 12px);left:-18px;min-width:270px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:10px;display:grid;gap:2px;z-index:60}
nav.main .vpanel a{display:block;padding:9px 12px;border:0;color:var(--ink-2);font:500 .92rem/1.25 var(--sans);border-radius:2px;text-decoration:none;white-space:normal}
nav.main .vpanel a:hover{background:var(--parch);color:var(--navy)}
nav.main .vpanel a:first-child{font-weight:700;color:var(--navy);border-bottom:1px dotted var(--line)}
@media (max-width:980px){.vpanel{position:static;box-shadow:none;border:0;padding:0 0 8px 12px;min-width:0}.vmenu summary{padding:14px 0;font-size:1rem;border-bottom:1px solid var(--line-2)}}
nav.main ul{align-items:center}

/* mobile action bar */
.actbar{display:none}
@media (max-width:980px){
  .actbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -6px 20px -12px rgba(19,42,94,.35);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}
  .actbar a{display:flex;align-items:center;justify-content:center;min-height:44px;font:600 .92rem/1 var(--sans);text-decoration:none;color:var(--navy);border:1px solid var(--line);border-radius:2px}
  .actbar a:first-child{background:var(--navy);color:#fff;border-color:var(--navy)}
  body{padding-bottom:64px}
}

/* forms: APP 5 notice beside send */
.send{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;margin-top:6px}
.app5{margin:0;font-size:.8rem;line-height:1.5;color:var(--mute)}
.app5 b{color:var(--ink-2)}
.hint{color:var(--mute);font-size:.82rem}
.chk small{display:block;color:var(--mute);font-size:.8rem;margin-top:2px}
.pick{margin:0 0 16px}
.pick legend{font:600 .88rem/1.3 var(--sans);color:var(--ink);margin-bottom:8px;display:block}
.pick legend small{font-weight:400;color:var(--mute)}
.pick .opt span{display:inline-flex;flex-direction:column;gap:1px}
.pick .opt small{font:400 .72rem/1.2 var(--type);opacity:.85}
.pick .opt input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
@media (max-width:640px){.send{grid-template-columns:minmax(0,1fr)}}

/* reviews */
.reviews{margin-top:28px}
.rv-empty{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:22px 24px;border:1px dashed var(--brass);background:var(--paper)}
.rv-empty p{margin:0;color:var(--ink-2)}
.rv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rv{margin:0;padding:22px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);font-family:var(--serif)}
.rv footer{background:none;border:0;padding:12px 0 0;font:600 .9rem/1.4 var(--sans)}
.rv footer small{display:block;font:400 .76rem/1.4 var(--type);color:var(--mute)}
.rv-policy{font-size:.84rem;color:var(--mute);margin-top:14px}
.reviews .btn{margin-top:16px}

/* disclosure */
.disclose{margin-top:28px;padding:22px 24px;border:1px solid var(--line);border-left:3px solid var(--navy);background:var(--paper)}
.disclose h3{margin-bottom:8px}
.disclose p{margin:0 0 8px;color:var(--ink-2);font-size:.95rem}
.disclose p:last-child{margin-bottom:0}

/* visa library */
.vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vcard{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:20px 20px 18px;display:flex;flex-direction:column;position:relative}
.vcard[hidden]{display:none}
.vcard::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--brass)}
.vc-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.vsub{font:700 1.1rem/1.15 var(--type);color:var(--navy);letter-spacing:.02em}
.chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.chip{font:700 .6rem/1 var(--type);letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor;padding:4px 6px;white-space:nowrap}
.chip.in{color:var(--navy)}.chip.chg{color:var(--red)}.chip.inv{color:var(--brass-ink)}.chip.bal{color:#3d6b4f}.chip.cls{color:var(--mute)}
.vcard h3{font:400 1.35rem/1.15 var(--display);margin-bottom:8px}
.vcard p{color:var(--ink-2);font-size:.93rem;margin:0 0 12px}
.vcard dl{margin:0 0 12px;display:grid;gap:4px;font-size:.88rem}
.vcard dt{font:700 .66rem/1.4 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:6px}
.vcard dd{margin:0;color:var(--ink)}
.vlink{margin-top:auto;font-size:.86rem;padding-top:10px;border-top:1px dotted var(--line)}
@media (max-width:1060px){.vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.vgrid{grid-template-columns:minmax(0,1fr)}}
.vgroup{margin-top:44px}
.vgroup[hidden]{display:none}
.vg-hd{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:20px}
.vg-hd h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.vg-hd a{font:600 .92rem/1 var(--sans)}
.vfind{background:var(--parch);border:1px solid var(--line);padding:20px;margin-bottom:8px}
.vsearch input{width:100%;font:400 1.05rem/1.4 var(--sans);padding:14px 16px;border:1px solid var(--line);border-bottom:2px solid var(--ink-2);background:var(--paper);color:var(--ink);border-radius:2px;margin-bottom:14px}
.vsearch input:focus{outline:2px solid var(--red);outline-offset:1px}
.vfind .filters{margin-bottom:10px}
.vfind .filter-note{margin:0}
.journey{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.journey li{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,.9fr);gap:18px 28px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.journey .n{font:400 2.1rem/1 var(--display);color:var(--brass)}
.journey h3{font-size:1.12rem;margin-bottom:6px}
.journey p{margin:0;color:var(--ink-2);font-size:.95rem}
.journey .helps{background:var(--parch);border-left:3px solid var(--navy);padding:12px 14px;font-size:.9rem}
.journey .helps b{display:block;font:700 .66rem/1.4 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:4px}
@media (max-width:860px){.journey li{grid-template-columns:minmax(0,1fr);gap:8px}}
h2.h3{font:700 1.28rem/1.25 var(--serif);margin:0 0 12px}
.flags{padding-left:1.1em;color:var(--ink-2)}
.flags li{margin-bottom:8px}
.flags li::marker{color:var(--red)}
.checklist{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:22px 24px}
.cl-hd{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.cl-hd h2,.cl-hd h3{margin:0}
.checklist ul{list-style:none;margin:0;padding:0}
.checklist li{border-bottom:1px dotted var(--line)}
.checklist label{display:flex;gap:12px;align-items:flex-start;padding:10px 0;cursor:pointer;color:var(--ink-2)}
.checklist input{width:18px;height:18px;margin-top:3px;accent-color:var(--navy);flex:none}
.checklist input:checked+span{text-decoration:line-through;color:var(--mute)}
.btn.small{padding:8px 12px;font-size:.84rem}
.srcs ul{padding-left:1.1em}
.srcs li{margin-bottom:6px}
.agentbox{background:var(--frame);color:var(--frame-ink);border-radius:6px;padding:24px 26px;box-shadow:var(--shadow-lg)}
.agentbox .lvl{display:inline-block;font:700 .7rem/1 var(--type);letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;border:1px solid #c9ae74;color:#c9ae74;margin-bottom:12px}
.agentbox .lvl.now{border-color:#ff9aa0;color:#ffb3b8}
.agentbox p{color:#e9e4d8;margin:0 0 10px}
.agentbox strong{color:#fff}
.agentbox .cta{margin-top:14px}
.agentbox .btn.solid{background:#fff;color:#132a5e;border-color:#fff}
.agentbox .btn.ghost.light{color:#fff;border-color:rgba(255,255,255,.6)}
.agentbox .btn.ghost.light:hover{background:rgba(255,255,255,.08);color:#fff}
.agentbox.urgent{border:2px solid #ff9aa0}

/* first 30 days tool */
.f30{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.f30 .checklist h3{display:flex;justify-content:space-between;gap:10px;margin:0 0 6px}
.f30 .checklist h3 small{font:700 .7rem/1.6 var(--type);letter-spacing:.1em;text-transform:uppercase;color:var(--brass-ink)}
.checklist .src{display:block;font-size:.82rem;margin-top:2px}
.progress{font:700 .9rem/1.4 var(--type);color:var(--navy);margin:0 0 14px;min-height:1.4em}
@media (max-width:860px){.f30{grid-template-columns:minmax(0,1fr)}}

/* language specific type */
.lang-pa{--sans:"Noto Sans Gurmukhi","Public Sans","Segoe UI",system-ui,sans-serif;--serif:"Noto Sans Gurmukhi","Libre Caslon Text",Georgia,serif;--display:"Noto Sans Gurmukhi","Libre Caslon Display",Georgia,serif}
.lang-hi{--sans:"Noto Sans Devanagari","Public Sans","Segoe UI",system-ui,sans-serif;--serif:"Noto Sans Devanagari","Libre Caslon Text",Georgia,serif;--display:"Noto Sans Devanagari","Libre Caslon Display",Georgia,serif}
.lang-pa h1,.lang-hi h1{line-height:1.25;font-weight:600;letter-spacing:0}
.lang-pa h2,.lang-hi h2{line-height:1.3;font-weight:600;letter-spacing:0}
.lang-pa .lede,.lang-hi .lede,.lang-pa p,.lang-hi p{line-height:1.75}
.lang-pa .eyebrow,.lang-hi .eyebrow,.lang-pa .tag,.lang-hi .tag,.lang-pa .sec-h .no small,.lang-hi .sec-h .no small,.lang-pa .flabel b,.lang-hi .flabel b,.lang-pa .hd,.lang-hi .hd{letter-spacing:.03em;text-transform:none}
.en-applies{font-size:.86rem;color:var(--mute);border-top:1px dotted var(--line);padding-top:8px}
.lang-note{display:inline-block;font-size:.9rem;color:var(--ink-2);background:var(--parch);border:1px solid var(--line);padding:8px 12px;margin-top:16px}

/* print: checklists print cleanly */
@media print{
  .rule,header.top,.cstrip,footer,.actbar,#cqbar,.phero .media,.btn,.filters,.skip{display:none}
  body{background:#fff;padding:0}
  .checklist{box-shadow:none;border:1px solid #999;break-inside:avoid}
}
@media (max-width:520px){.mark i{display:none}header.top .wrap{gap:10px}.mark b{font-size:1.35rem}.menu-t{padding:10px 10px}}


/* ===== Build 3: full visa library and points self-check ===== */
.chips.left{justify-content:flex-start;margin-top:16px}
.vcard h3 a{color:var(--ink);text-decoration:none}
.vcard h3 a:hover{color:var(--red)}
.closed-note{padding:12px 14px;border-left:3px solid var(--mute);background:var(--parch);color:var(--ink-2)}
.streams{padding-left:1.1em}
.streams li{margin-bottom:10px;color:var(--ink-2)}
.streams b{color:var(--ink)}
.rel{margin-top:22px;padding:18px 20px;border:1px solid var(--line);background:var(--paper)}
.rel h3{margin-bottom:8px}
.rel .btn{margin-top:10px}
.note.safety{border-color:var(--red);margin-top:18px}
.prose + div .note:first-child{margin-top:0}
.tool-strip{margin-top:0}
.rep td:first-child{white-space:nowrap}
.calc{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(20px,3vw,40px);align-items:start}
.pts-form .pf{border-top:1px dotted var(--line);padding-top:14px}
.pts-form .opt span{text-align:left}
.pts-form .opt small{display:block}
.pts-form .hint{margin:8px 0 0}
.capline{font-size:.9rem;color:var(--ink-2);background:var(--parch);border-left:3px solid var(--brass);padding:10px 12px;margin:0 0 16px}
.pts-side{position:sticky;top:96px;display:grid;gap:16px}
.pts-total{background:var(--frame);color:var(--frame-ink);border-radius:6px;padding:20px 22px;box-shadow:var(--shadow-lg)}
.pts-total .tag{color:#c9ae74}
.pts-total .big{font:400 clamp(3rem,6vw,4.4rem)/1 var(--display);color:#fff;margin:6px 0}
.pts-total .cap{margin:0;color:#e9e4d8}
.pts-total .hint{color:#e9e4d8;margin:10px 0 0}
#pts-rows td:last-child{text-align:right}
@media (max-width:980px){.calc{grid-template-columns:minmax(0,1fr)}.pts-side{position:relative;top:0}}
.tbl{overflow-x:auto}
.st-tbl{table-layout:fixed}
.st-tbl td,.st-tbl th{overflow-wrap:anywhere}
.pts-side .st-tbl th:nth-child(1){width:34%}.pts-side .st-tbl th:nth-child(2){width:48%}.pts-side .st-tbl th:nth-child(3){width:18%}
.pts-side .st-tbl td{font-size:.84rem}
.tbl .st-tbl{table-layout:fixed;width:100%}
.tbl .st-tbl td:first-child{white-space:normal}
.pts-side .st-tbl td:first-child{font:600 .8rem/1.35 var(--sans);letter-spacing:0;color:var(--ink)}

/* build 4: framed video clips, never full bleed, never behind text */
.vid{margin:0;position:relative}
.vframe{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:var(--parch);box-shadow:var(--shadow)}
.vframe video{display:block;width:100%;height:100%;object-fit:cover}
.vid figcaption{font:400 .78rem/1.45 var(--type);color:var(--mute);margin-top:10px}
.vplay{position:absolute;left:12px;bottom:12px;font:600 .85rem/1 var(--sans);padding:9px 14px;border-radius:2px;border:1px solid #fff;background:rgba(19,42,94,.85);color:#fff;cursor:pointer}
.vid-band{max-width:980px;margin-left:auto;margin-right:auto}
.vid-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:760px){.vid-pair{grid-template-columns:minmax(0,1fr)}}
.desk .lay.vprint{right:-5%;top:-7%;width:36%;z-index:5}
.desk .vprint .vid{background:#fff;padding:9px 9px 26px;border:1px solid var(--line);box-shadow:var(--shadow-lg);transform:rotate(4deg)}
.desk .vprint .vframe{aspect-ratio:4/5!important;border-radius:2px;box-shadow:none;border:0}
.desk .vprint figcaption{position:absolute;left:10px;right:10px;bottom:5px;margin:0;font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk .vprint .vplay{left:8px;bottom:8px;padding:6px 9px;font-size:.75rem}
.vcard .ph-thumb{margin:-20px -20px 14px}
.vcard .ph-thumb .ph-frame{border:0;border-bottom:1px solid var(--line)}
@media (max-width:900px){.desk .lay.vprint{right:0;top:-3%;width:38%}}

/* QA fix pass 23 Oct 2026 */
h1,h2,.vcard h3,.occ h3{text-wrap:balance}
.phero h1 em.sub{white-space:nowrap}
.name-long{margin:-4px 0 12px;font:400 .95rem/1.5 var(--sans);color:var(--mute)}
.lede-note{font-size:1rem;line-height:1.55;color:var(--ink-2);border-left:3px solid var(--brass);padding:4px 0 4px 14px;margin:14px 0 0;max-width:62ch}
.tbl{overflow-x:auto}
.tbl table.multi td:last-child,.tbl table.multi th:last-child{text-align:left;font:inherit;white-space:normal}
.tbl table.multi td{font:400 .95rem/1.5 var(--sans)}
.two.costs{align-items:start}
.proc-none{margin:0;padding:14px 18px;border:1px dashed var(--line);background:var(--paper);font-size:.95rem;color:var(--ink-2);align-self:start}
.changes-empty{color:var(--ink-2);margin:0 0 18px}
.checklist li.plain{list-style:none;color:var(--ink-2);font-style:normal;padding:4px 0}
.agentbox{align-self:start}
.agentbox .cta{display:flex;flex-wrap:wrap;gap:10px}
.agentbox .btn{white-space:normal;text-align:left;line-height:1.3}
.agentbox .fine{font-size:.82rem;color:#d8d2c3;margin:12px 0 0}
.wrap.two:has(> .agentbox){align-items:start}
.occ-grid{align-items:start}
.tool-strip.single{display:block;margin:0 0 22px}
.tool-strip.single a{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}
.rep-wrap summary{cursor:pointer;font:600 .95rem/1.4 var(--sans);color:var(--ink);padding:12px 0;min-height:44px}
.rep-wrap[open] summary{margin-bottom:10px}
.sec-h .no{color:#9a7b40}
/* home desk: keep the referral sentence clear of the video print */
.desk .lay.vprint{width:31%;top:-10%;right:-6%}
.desk .s3 > *{padding-right:22%}
.desk .s3 > .lines{padding-right:30%}
@media (max-width:560px){
  .desk .lay.vprint{display:none}
  .desk .s3 > *,.desk .s3 > .lines{padding-right:0}
  .desk .idcard{width:56%}
  .desk .stamp-h{right:3%;bottom:30%}
}
/* tap targets on small screens */
@media (max-width:760px){
  footer ul li a,footer .legal a{display:inline-flex;align-items:center;min-height:40px;padding:4px 0}
  footer ul li{margin:0}
  nav.langs a{display:inline-flex;align-items:center;min-height:40px;padding:8px 10px}
  .trust a,section.cstrip a,a.vlink,a.more,.card .lk a,.vcard h3 a{display:inline-flex;align-items:center;min-height:40px}
  .menu-t{min-height:44px}
  button,.btn,.filters button,[data-print]{min-height:44px}
  header a.mark{display:inline-flex;align-items:center;min-height:40px}
}
@media print{
  [data-lift],.mo [data-lift].wait{opacity:1!important;transform:none!important}
  .agentbox,.desk{break-inside:avoid}
  .vplay,.actbar,.menu-t{display:none!important}
}
@media (max-width:760px){
  nav.crumb a,.flabel .row a,.links a,.src-list a,.sf-links a,a.mark,main li > a:only-child,main span > a:only-child,.vg-card a,.vgroup a{display:inline-flex;align-items:center;min-height:40px}
  .links{row-gap:0}
}
@media (max-width:760px){.en div > a,.res article > a{display:inline-flex;align-items:center;min-height:40px}}

/* Tools fix pass 23 Oct 2026: radio cards, verdict, sticky total, dark contrast */
:root{--on-navy:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--on-navy:#0b1430}}
:root[data-theme="dark"]{--on-navy:#0b1430}
.opt input:checked+span,.pick .opt input:checked+span,.btn.solid,.btn.solid:hover{color:var(--on-navy)}
.opts.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.opts.cards.wide,.opts.cards.tests{grid-template-columns:minmax(0,1fr)}
.opts.cards .opt{display:block}
.opts.cards .opt span{display:flex;flex-direction:column;justify-content:center;gap:3px;width:100%;min-height:44px;height:100%;padding:10px 14px;text-align:left;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
.opts.cards .opt b{font-weight:500}
.opts.cards .opt small{font:600 .74rem/1.2 var(--type);opacity:.9}
.opts.cards .opt input:focus-visible+span{outline:3px solid var(--red);outline-offset:2px}
.chk.card{border:1px solid var(--line);background:var(--parch);padding:10px 14px;min-height:44px;align-items:center;margin:0}
.chk.card:has(input:checked){border-color:var(--navy)}
.pts-form .notice,.notice{margin:10px 0 0;padding:10px 12px;border-left:3px solid var(--red);background:var(--parch);color:var(--ink);font-size:.92rem}
.verdict{margin:12px 0 0;color:#f4efe3;font-size:.95rem;line-height:1.45}
.verdict.v-over45{color:#ffd2d4}
#pts-rows td.empty{text-align:left!important;font:400 .9rem/1.4 var(--sans)!important;color:var(--mute)}
#eng-use{margin-top:6px}
#eng-out{font-weight:600}
input[aria-invalid="true"]{border-color:var(--red)!important;outline:1px solid var(--red)}
.pts-bar{display:none}
@media (max-width:980px){
  .pts-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:center;gap:12px;justify-content:space-between;
    background:var(--frame);color:var(--frame-ink);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px -12px rgba(0,0,0,.5);font-size:.88rem}
  .pts-bar b{font:400 1.5rem/1 var(--display);color:#fff}
  .pts-bar .s{flex:1;min-width:0}
  .pts-bar a{color:#fff;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
  body:has(.pts-bar) .actbar{display:none}
  body:has(.pts-bar){padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .opts.cards{grid-template-columns:minmax(0,1fr)}
}
@media print{.pts-bar{display:none!important}}
.slots button[aria-pressed="true"],.filters button[aria-pressed="true"],button[aria-pressed="true"].chipbtn{color:var(--on-navy)}
.vcard .vname-en{margin:-6px 0 6px;font:400 .8rem/1.3 var(--type);color:var(--mute)}
.enq .err{margin:6px 0 0;color:var(--red);font:600 .85rem/1.35 var(--sans)}
.enq [aria-invalid="true"]{border-color:var(--red)!important}
.enq fieldset .err{grid-column:1/-1}
[data-vclear]{margin-top:8px}
@media print{
  .phero .media,.vid-band,.vid,.pts-bar,[data-print],#pts-reset{display:none!important}
  .f30 input[type=checkbox]{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.langs a[aria-current="true"],.langs a[aria-current="true"]:hover,.actbar a:first-child{color:var(--on-navy)}
@media (max-width:980px){html:has(.pts-bar){scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}}
