
  :root{--bg:#070e1c;--panel:#0c1828;--panel-2:#101f33;--gold:#c9a35a;--gold-dark:#8a6a2a;--ivory:#f4f1ea;--text:rgba(244,241,234,.84);--muted:rgba(231,221,200,.68);--cream:#f4ede0;--line:rgba(201,163,90,.22);--ink:#0a1424;--warn-bg:#fff4c2;--warn-ink:#5b4300;--navy:#070e1c}
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:92px}
  body{margin:0;font-family:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:Fraunces,"Instrument Serif",Georgia,"Times New Roman",serif;color:var(--ivory);line-height:1.12;margin:0 0 .5em;font-weight:400;letter-spacing:-.01em}
  h1{font-size:clamp(2.4rem,5.4vw,4rem)} h2{font-size:clamp(1.8rem,3.4vw,2.6rem)} h3{font-size:1.2rem}
  h1 em,h2 em{color:var(--gold);font-style:italic}
  p{margin:0 0 1em} a{color:var(--gold)}
  a:hover{color:#e3c07e}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px}
  .skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--bg);padding:10px 14px;z-index:100}
  .skip:focus{left:10px;top:10px}
  .ph{background:var(--warn-bg);color:var(--warn-ink);padding:0 .3em;border-radius:3px;font-style:normal}
  #draft-banner{background:var(--warn-bg);color:var(--warn-ink);border-bottom:2px solid #e0b800;padding:9px 20px;font-size:.9rem;text-align:center}

  .licence-strip{background:#050b16;border-bottom:1px solid var(--line);color:var(--muted);font-size:.74rem;padding:9px 0;font-family:"JetBrains Mono",ui-monospace,"SF Mono",monospace;letter-spacing:.06em;text-transform:uppercase}
  .licence-strip .wrap{display:flex;gap:6px 24px;flex-wrap:wrap;justify-content:space-between}
  .licence-strip strong{color:var(--gold);font-weight:500}

  header.site{background:rgba(7,14,28,.76);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}
  .brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ivory)}
  .brand b{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.9rem;letter-spacing:.02em;color:var(--ivory);line-height:1}
  .brand i{width:1px;height:30px;background:var(--line)}
  .brand span{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.68rem;letter-spacing:.28em;line-height:1.5;color:var(--ivory);text-transform:uppercase;display:block}
  .brand span small{display:block;color:var(--gold);letter-spacing:.2em;font-size:.6rem}
  nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;align-items:center}
  nav a{text-decoration:none;color:var(--text);font-size:.9rem;font-weight:500}
  nav a:hover{color:var(--gold)}
  .menu-btn{display:none;background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--ivory)}

  .hero{background:radial-gradient(900px 520px at 88% 0%,rgba(201,163,90,.14),transparent 62%),radial-gradient(700px 500px at -5% 105%,rgba(201,163,90,.07),transparent 60%),var(--bg);padding:96px 0 104px;position:relative;overflow:hidden}
  .hero::after{content:"";position:absolute;right:-180px;top:-120px;width:620px;height:620px;border-radius:50%;border:1px solid var(--line);box-shadow:0 0 0 70px rgba(201,163,90,.03),0 0 0 140px rgba(201,163,90,.02);pointer-events:none}
  .hero .grid{display:grid;grid-template-columns:1.25fr .9fr;gap:60px;align-items:center;position:relative;z-index:1}
  .hero p.lead{font-size:1.1rem;color:var(--text);max-width:33em}
  .eyebrow{font-family:"JetBrains Mono",ui-monospace,"SF Mono",monospace;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--gold)!important;margin-bottom:18px;display:flex;align-items:center;gap:14px}
  .eyebrow::before{content:"";width:36px;height:1px;background:var(--gold);flex:none}
  .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
  .btn{display:inline-block;padding:14px 28px;border-radius:999px;font-weight:600;text-decoration:none;border:1px solid transparent;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;font-family:Manrope,system-ui,sans-serif;transition:background .15s,transform .15s}
  .btn:hover{transform:translateY(-1px)}
  .btn-primary{background:var(--gold);color:var(--bg)!important}
  .btn-primary:hover{background:#d9b872}
  .btn-ghost{border-color:rgba(244,241,234,.4);color:var(--ivory)!important}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold)!important}
  .verify-card{background:var(--cream);color:var(--ink);padding:32px;border-top:3px solid var(--gold);box-shadow:0 40px 100px rgba(0,0,0,.55),0 1px 0 rgba(201,163,90,.1)}
  .verify-card h2{font-size:1.5rem;color:var(--ink);margin-bottom:16px}
  .verify-card dl{margin:0 0 20px;display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:.95rem}
  .verify-card dt{color:#5d5a52} .verify-card dd{margin:0;font-weight:700;color:var(--ink)}
  .verify-card small{color:#5d5a52;display:block;line-height:1.55}
  .verify-card .btn{width:100%;text-align:center;background:var(--ink)!important;color:var(--ivory)!important}
  .verify-card .btn:hover{background:#16233a!important}

  section{padding:96px 0;border-top:1px solid rgba(201,163,90,.1)}
  section.alt{background:var(--panel)}
  .intro{max-width:46em;color:var(--muted);font-size:1.05rem}
  .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:40px}
  .card{background:var(--panel);border:.8px solid var(--line);padding:30px;box-shadow:0 1px 0 rgba(201,163,90,.1),0 30px 60px rgba(0,0,0,.35);transition:border-color .2s,transform .2s}
  .card:hover{border-color:rgba(201,163,90,.5);transform:translateY(-3px)}
  section.alt .card{background:var(--bg)}
  .card h3{margin-bottom:.4em}
  .card h3::before{content:"";display:block;width:28px;height:1px;background:var(--gold);margin-bottom:18px}
  .card p{color:var(--muted);margin:0;font-size:.97rem}
  .steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:40px;padding:0;list-style:none}
  .steps li{counter-increment:s;background:var(--bg);border:.8px solid var(--line);padding:30px 26px}
  .steps li::before{content:"0" counter(s);display:block;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:2.2rem;color:var(--gold);line-height:1;margin-bottom:14px}
  .steps h3{font-size:1.1rem} .steps p{margin:0;color:var(--muted);font-size:.95rem}
  .notice{border:.8px solid var(--line);border-left:3px solid var(--gold);background:var(--panel-2);padding:26px 30px;margin:26px 0}
  .notice h3{margin-bottom:.35em;color:var(--gold)} .notice p:last-child{margin-bottom:0}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}
  .two-col h3{color:var(--gold);font-size:1rem;font-family:"JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.14em;font-weight:500}
  ul.tick{padding-left:1.2em;margin:.4em 0 1em} ul.tick li{margin:.4em 0}

  table.fsg{width:100%;border-collapse:collapse;background:var(--panel);border:.8px solid var(--line);margin-top:26px;box-shadow:0 30px 60px rgba(0,0,0,.35)}
  table.fsg > tbody > tr > th,table.fsg > tbody > tr > td{text-align:left;padding:18px 24px;border-bottom:.8px solid var(--line);vertical-align:top;font-size:.96rem}
  table.fsg > tbody > tr > th{width:27%;background:var(--panel-2);color:var(--gold);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
  table.fsg > tbody > tr:last-child > th,table.fsg > tbody > tr:last-child > td{border-bottom:none}
  .meta{font-size:.9rem;color:var(--muted)}
  details{background:var(--panel);border:.8px solid var(--line);margin-top:16px}
  details summary{cursor:pointer;padding:20px 26px;font-family:Fraunces,Georgia,serif;font-size:1.15rem;color:var(--ivory);list-style:none;display:flex;justify-content:space-between;align-items:center}
  details summary::-webkit-details-marker{display:none}
  details summary::after{content:"+";font-size:1.6rem;line-height:1;color:var(--gold)}
  details[open] summary::after{content:"\2212"}
  details[open] summary{border-bottom:.8px solid var(--line)}
  details .body{padding:22px 26px 10px}

  .complaint-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:34px}
  .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
  form{background:var(--cream);color:var(--ink);padding:34px;border-top:3px solid var(--gold);box-shadow:0 40px 100px rgba(0,0,0,.55)}
  form label{display:block;font-weight:600;margin:14px 0 6px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#5d5a52}
  form label:first-child{margin-top:0}
  form input[type=text],form input[type=email],form input[type=tel],form textarea{width:100%;padding:14px 16px;border:1px solid #cdbfa5;border-radius:0;font:inherit;font-size:1rem;background:#fbf7ee;color:var(--ink)}
  form input:focus,form textarea:focus{border-color:var(--gold-dark);outline:2px solid rgba(201,163,90,.5);outline-offset:0}
  form textarea{min-height:120px;resize:vertical}
  form a{color:var(--gold-dark)}
  .check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.88rem;color:#5d5a52}
  .check label{text-transform:none!important;letter-spacing:0!important;font-size:.88rem!important;color:#5d5a52!important}
  .check input{margin-top:5px;width:18px;height:18px;flex:none;accent-color:var(--gold-dark)}
  .form-note{font-size:.84rem;color:#5d5a52;margin-top:12px}
  form .btn-primary{background:var(--ink);color:var(--ivory)!important}
  form .btn-primary:hover{background:#16233a}

  footer{background:#050b16;border-top:1px solid var(--line);color:var(--muted);padding:70px 0 40px;font-size:.9rem}
  footer a{color:var(--ivory);text-decoration:none} footer a:hover{color:var(--gold)}
  footer h2{color:var(--gold);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:500;margin-bottom:1.1em}
  footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
  footer ul{list-style:none;margin:0;padding:0} footer li{margin:.5em 0}
  .legal{border-top:1px solid var(--line);margin-top:40px;padding-top:26px;font-size:.84rem;line-height:1.65;color:rgba(231,221,200,.6)}
  .legal p{margin:0 0 .8em}

  @media (max-width:900px){
    .hero{padding:64px 0 72px} .hero::after{display:none}
    .hero .grid,.two-col,.contact-grid,footer .cols{grid-template-columns:1fr}
    .menu-btn{display:block}
    nav{display:none;position:absolute;left:0;right:0;top:100%;background:rgba(7,14,28,.97);border-bottom:1px solid var(--line)}
    nav.open{display:block}
    nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 16px}
    nav li a{display:block;padding:14px 0;border-bottom:1px solid rgba(201,163,90,.12)}
    table.fsg > tbody > tr > th,table.fsg > tbody > tr > td{display:block;width:100%}
    table.fsg > tbody > tr > th{border-bottom:none;padding-bottom:4px}
    section{padding:64px 0}
  }
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.btn{transition:none}}
  @media print{header.site,.hero .btns,form,#draft-banner{display:none}body{background:#fff;color:#000}}
a.lic{color:inherit;text-decoration:underline;text-decoration-color:rgba(201,163,90,.6);text-underline-offset:3px}a.lic:hover{color:#c9a35a}
.legal-links a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(201,163,90,.6)}

/* scroll effects */
.sprog{position:fixed;left:0;top:0;right:0;height:2px;z-index:80;pointer-events:none}.sprog i{display:block;height:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(var(--sp,0))}
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .85s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.hero::after{transform:translateY(calc(var(--py,0)*-.18px))}
.rail{display:none}
@media (min-width:1240px){
 .rail{display:block;position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:45}
 .rail ol{list-style:none;margin:0;padding:0;position:relative}
 .rail ol::before{content:"";position:absolute;right:4px;top:6px;bottom:6px;width:1px;background:var(--line)}
 .rail li{margin:0}
 .rail a{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:7px 0;text-decoration:none;position:relative}
 .rail a::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid rgba(201,163,90,.55);flex:none;transition:background .25s,transform .25s;position:relative;z-index:1}
 .rail a span{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);background:rgba(12,24,40,.92);border:1px solid var(--line);padding:5px 10px;border-radius:999px;opacity:0;transform:translateX(8px);transition:opacity .25s,transform .25s;pointer-events:none;white-space:nowrap}
 .rail a:hover span,.rail a.on span,.rail a:focus-visible span{opacity:1;transform:none}
 .rail a.on::after{background:var(--gold);transform:scale(1.35)}
}
.dock{position:fixed;left:50%;bottom:18px;transform:translate(-50%,24px);opacity:0;pointer-events:none;z-index:60;display:flex;align-items:center;gap:14px;background:rgba(12,24,40,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 22px;box-shadow:0 20px 50px rgba(0,0,0,.5);transition:opacity .35s,transform .35s;max-width:calc(100vw - 24px)}
.dock.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.dock span{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.dock a{background:var(--gold);color:var(--bg);text-decoration:none;font-weight:600;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px;border-radius:999px;white-space:nowrap}
.dock a.ghost{background:transparent;color:var(--ivory);border:1px solid rgba(244,241,234,.35)}
.dock a:hover{background:#d9b872;color:var(--bg)}.dock a.ghost:hover{background:transparent;color:var(--gold);border-color:var(--gold)}
@media (max-width:700px){.dock span{display:none}.dock{padding:8px}}
.pin-prog{display:none}
#approach.pin-on{padding:0}
#approach.pin-on .pin-track{height:340vh;position:relative}
#approach.pin-on .pin-stage{position:sticky;top:76px;min-height:calc(100vh - 76px);display:flex;align-items:center}
#approach.pin-on .pin-stage .wrap{width:100%}
#approach.pin-on .steps li{opacity:.3;transform:translateY(10px);transition:opacity .5s,transform .5s,border-color .5s,background .5s}
#approach.pin-on .steps li.on{opacity:1;transform:none}
#approach.pin-on .steps li.cur{border-color:var(--gold);background:var(--panel-2)}
#approach.pin-on .pin-prog{display:block;height:2px;background:var(--line);margin-top:34px}
#approach.pin-on .pin-prog i{display:block;height:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(var(--pp,0))}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.dock,.rail a span{transition:none}}
@media print{.js .rv{opacity:1!important;transform:none!important}.sprog,.rail,.dock{display:none!important}#approach.pin-on .pin-track{height:auto}#approach.pin-on .pin-stage{position:static}#approach.pin-on .steps li{opacity:1}}
table.fees{width:100%;border-collapse:collapse;min-width:380px;font-size:.92rem}table.fees th,table.fees td{text-align:left;padding:9px 14px;border:.8px solid var(--line)}table.fees th{background:var(--panel-2);color:var(--gold);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}

/* motion layer: ambient, self-drawing lines, micro-interactions */
.hero .wrap{position:relative;z-index:1}
.hero::before{content:"";position:absolute;inset:-20%;pointer-events:none;z-index:0;background:radial-gradient(520px 380px at 72% 18%,rgba(201,163,90,.10),transparent 65%),radial-gradient(460px 360px at 18% 82%,rgba(120,150,210,.07),transparent 65%);animation:amb 26s ease-in-out infinite alternate}
@keyframes amb{from{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(4%,3%,0) scale(1.08)}}
.js .eyebrow::before{transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.2,.7,.2,1) .25s}
.js .eyebrow.in::before{transform:none}
section h2{position:relative}
.js section h2.rv:not(.x)::after{content:"";position:absolute;left:0;bottom:-14px;width:64px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .4s}
.js section h2.rv.in:not(.x)::after{transform:none}
.verify-card h2::after{display:none!important}
.js .card h3::before{width:0;transition:width .8s cubic-bezier(.2,.7,.2,1) .35s}
.js .card.in h3::before{width:28px}
.card{position:relative;overflow:hidden}
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.card:hover::after{transform:scaleX(1)}
.card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(201,163,90,.10),transparent 70%)}
.card:hover::before{opacity:1}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
 .js .hero h1 em{background:linear-gradient(100deg,#c9a35a 0%,#c9a35a 38%,#f1dca6 50%,#c9a35a 62%,#c9a35a 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:shim 3.2s ease-out 1.1s 1 forwards}
 @keyframes shim{to{background-position:0 0}}
}
.btn{position:relative;overflow:hidden}
.btn:active{transform:scale(.97)}
.btn-primary::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .7s ease;pointer-events:none}
.btn-primary:hover::after{left:130%}
table.fees tr:not(:first-child){transition:background .25s}
table.fees tr:not(:first-child):hover{background:rgba(201,163,90,.07)}
.steps li{transition:border-color .3s,transform .3s}
.js .pin-off .steps li:hover{border-color:rgba(201,163,90,.5)}
@media (prefers-reduced-motion:reduce){.hero::before{animation:none}.js .hero h1 em{animation:none;background:none;-webkit-text-fill-color:currentColor;color:var(--gold)}.btn-primary::after,.card::before,.card::after{display:none}.js section h2.rv::after{transition:none}}
@media print{.hero::before,.card::before,.card::after,.btn-primary::after{display:none!important}.js .hero h1 em{background:none!important;-webkit-text-fill-color:currentColor!important;color:#8a6a2a!important}.js section h2.rv::after{transform:none!important}.js .card h3::before{width:28px!important}.js .eyebrow::before{transform:none!important}}

/* scrollytelling: parallax, scrubbed text, cinematic reveals */
.js section h2.rv{filter:blur(10px);transform:translateY(54px);transition:opacity 1s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform 1.1s cubic-bezier(.2,.7,.2,1) var(--d,0s),filter 1s ease var(--d,0s)}
.js section h2.rv.in{filter:none;transform:none}
.js .card.rv,.js .steps li.rv{transform:translateY(70px) scale(.94);transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform 1s cubic-bezier(.2,.7,.2,1) var(--d,0s),border-color .3s}
.js .card.rv.in,.js .steps li.rv.in{transform:none}
.js #approach.pin-on .steps li.rv{transform:translateY(10px)}
.js #approach.pin-on .steps li.on.rv.in{transform:none}
.js #authorisations tr.rv,.js table.fsg tr.rv{transform:translateX(-26px)}
.js #authorisations tr.rv.in,.js table.fsg tr.rv.in{transform:none}
.sty .cards .card:nth-child(3n+2){translate:0 calc(var(--sy,0)*-34px)}
.sty .cards .card:nth-child(3n+3){translate:0 calc(var(--sy,0)*-68px)}
.sty .hero .wrap{opacity:calc(1 - var(--hp,0)*1.15);translate:0 calc(var(--hp,0)*-46px)}
.sty .hero .verify-card{translate:0 calc(var(--hp,0)*-90px)}
.sty .hero::before{transform:translateY(calc(var(--py,0)*.12px))}
.sty .hero::after{transform:translateY(calc(var(--py,0)*-.18px)) rotate(calc(var(--py,0)*.05deg))}
section[data-n]{position:relative}
section[data-n]::before{content:attr(data-n);position:absolute;right:4vw;top:34px;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:clamp(7rem,16vw,15rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,163,90,.16);pointer-events:none;z-index:0;translate:0 calc(var(--sy,0)*-120px);user-select:none}
section[data-n]>.wrap,section[data-n] .wrap{position:relative;z-index:1}
.sw>span{opacity:var(--o,.2);transition:opacity .12s linear}
@media (max-width:900px){section[data-n]::before{font-size:6rem;top:12px;opacity:.7}}
@media print{section[data-n]::before{display:none}.sw>span{opacity:1!important}.sty .hero .wrap{opacity:1!important;translate:none!important}.js section h2.rv{filter:none!important}}

/* intro: text-masked scroll zoom */
.intro-wrap{display:none}
html.intro-on .intro-wrap{display:block;position:relative;height:185vh;margin-bottom:-100vh}
.intro-stage{position:sticky;top:0;height:100vh;overflow:hidden;z-index:90}
.intro-fill{position:absolute;inset:0;overflow:hidden;background:linear-gradient(120deg,#4a74b8,#d4b06a 48%,#3a64a6 100%)}
.intro-fill i{position:absolute;border-radius:50%;filter:blur(40px);will-change:transform}
.intro-fill .b1{width:60vmax;height:60vmax;left:-10vmax;top:-20vmax;background:radial-gradient(circle,#e3c27a,rgba(201,163,90,0) 65%);animation:fl1 14s ease-in-out infinite alternate}
.intro-fill .b2{width:55vmax;height:55vmax;right:-12vmax;bottom:-22vmax;background:radial-gradient(circle,#8fb0e6,rgba(90,130,200,0) 65%);animation:fl2 17s ease-in-out infinite alternate}
.intro-fill .b3{width:40vmax;height:40vmax;left:30%;top:20%;background:radial-gradient(circle,#f4e7c4,rgba(244,231,196,0) 62%);opacity:.8;animation:fl3 11s ease-in-out infinite alternate}
.intro-fill .b4{width:46vmax;height:46vmax;right:15%;top:-18vmax;background:radial-gradient(circle,#c9a35a,rgba(201,163,90,0) 62%);animation:fl2 20s ease-in-out infinite alternate-reverse}
@keyframes fl1{to{transform:translate3d(38vmax,26vmax,0) scale(1.2)}}
@keyframes fl2{to{transform:translate3d(-34vmax,-24vmax,0) scale(1.15)}}
@keyframes fl3{to{transform:translate3d(-20vmax,22vmax,0) scale(.8)}}
.intro-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.intro-cue{position:absolute;left:0;right:0;bottom:3vh;text-align:center;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);pointer-events:none}
.intro-cue b{display:block;width:1px;height:46px;margin:14px auto 0;background:linear-gradient(var(--gold),transparent);transform-origin:50% 0;animation:cue 2s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.intro-tag{position:absolute;left:0;right:0;top:62%;text-align:center;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:clamp(.85rem,1.5vw,1.15rem);font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory);padding:0 16px;pointer-events:none}.intro-tag b{color:var(--gold);font-weight:500}
@media print,(prefers-reduced-motion:reduce){html.intro-on .intro-wrap{display:none}}

/* stacked sheets: hero stays, next sections slide over it */
.sty main>section,.sty main>.hero~section{background:var(--bg)}
.sty main>section.alt{background:var(--panel)}
.sty main>section{position:relative;z-index:2;border-radius:28px 28px 0 0;margin-top:-28px;box-shadow:0 -24px 60px rgba(0,0,0,.45);border-top:1px solid rgba(201,163,90,.18)}
.sty .hero{position:sticky;top:0;z-index:1;transform-origin:50% 0;transform:scale(calc(1 - var(--hp,0)*.06));border-radius:calc(var(--hp,0)*26px);filter:brightness(calc(1 - var(--hp,0)*.45))}
.sty .hero .wrap{opacity:calc(1 - var(--hp,0)*.5)}
.sty main>section#contact{padding-top:calc(96px + 28px)}
h2{text-shadow:0 1px 0 rgba(255,255,255,.07),0 -1px 0 rgba(0,0,0,.55)}
.verify-card h2,.hero h1 em,h2 em{text-shadow:none}
@media (max-width:900px){.sty main>section{border-radius:20px 20px 0 0;margin-top:-20px}}
@media print{.sty .hero{position:static!important;transform:none!important;filter:none!important;border-radius:0!important}.sty main>section{margin-top:0;box-shadow:none;border-radius:0}}

/* stacked sheets everywhere + longer hero hold + grain */
.sty .hero{margin-bottom:70vh}
.sty main>section{position:sticky;transform-origin:50% 50%;transform:scale(calc(1 - var(--cv,0)*.05));filter:brightness(calc(1 - var(--cv,0)*.5));border-radius:28px 28px calc(var(--cv,0)*26px) calc(var(--cv,0)*26px)}
@media (max-width:900px){.sty .hero{margin-bottom:40vh}}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:300;opacity:.07;mix-blend-mode:overlay;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='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@media print{body::after{display:none}.sty .hero{margin-bottom:0}.sty main>section{position:static!important;transform:none!important;filter:none!important}}

/* representatives */
.cards.reps{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:28px;margin-top:48px}
a.card.rep{display:flex;flex-direction:column;text-decoration:none;color:inherit;padding:44px 40px 40px;min-height:300px;background:linear-gradient(160deg,var(--panel-2),var(--bg) 70%)}
.rep-tag{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
a.card.rep h3{font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.1;color:var(--ivory);margin:0 0 .4em}
a.card.rep h3::before{display:none}
a.card.rep .rep-ent{font-size:1.08rem;line-height:1.6;color:var(--ivory);opacity:.82;margin:0 0 auto;max-width:30em}
.rep-url{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);color:var(--gold);font-size:1.12rem}
.rep-url b{font-weight:600;text-decoration:underline;text-decoration-color:rgba(201,163,90,.5);text-underline-offset:5px}
.rep-url i{font-style:normal;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(201,163,90,.55);font-size:1.3rem;flex:none;transition:background .3s,color .3s,transform .3s}
a.card.rep:hover .rep-url i,a.card.rep:focus-visible .rep-url i{background:var(--gold);color:var(--bg);transform:translate(3px,-3px)}
a.card.rep:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* morph presentation */
#representatives{padding-bottom:110px}
.rep-grid{display:block}
.morph{display:none}
#representatives.rep-on{padding:0}
#representatives.rep-on .rep-track{height:320vh;position:relative}
#representatives.rep-on .rep-stage{position:sticky;top:76px;min-height:calc(100vh - 76px);display:flex;align-items:center}
#representatives.rep-on .rep-stage>.wrap{width:100%;padding-top:10px;padding-bottom:10px}
#representatives.rep-on .intro{margin-bottom:0;font-size:.95rem;line-height:1.55}
#representatives.rep-on h2{font-size:clamp(1.7rem,2.6vw,2.3rem)}
#representatives.rep-on .rep-stage>.wrap{padding-bottom:70px}
#representatives.rep-on .rep-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;margin-top:22px}
#representatives.rep-on .morph{display:block;width:100%;height:auto;max-height:46vh;overflow:visible;filter:drop-shadow(0 20px 50px rgba(0,0,0,.45))}
#representatives.rep-on .cards.reps{grid-template-columns:1fr;gap:16px;margin-top:0}
#representatives.rep-on a.card.rep{min-height:0;padding:18px 28px}
#representatives.rep-on .rep-tag{margin-bottom:10px}
#representatives.rep-on a.card.rep h3{font-size:1.5rem;margin-bottom:.25em}
#representatives.rep-on .rep-ent{font-size:.98rem;line-height:1.5}
#representatives.rep-on .rep-url{margin-top:12px;padding-top:10px;font-size:1rem}
#representatives.rep-on .rep-url i{width:34px;height:34px;font-size:1.1rem}
#representatives.rep-on a.card.rep:not(.on){opacity:.32}
#representatives.rep-on a.card.rep.cur{border-color:var(--gold)}
@media (max-height:800px){#representatives.rep-on .morph{max-height:34vh}#representatives.rep-on .rep-grid{margin-top:10px;gap:32px}#representatives.rep-on .rep-stage>.wrap{padding-bottom:20px}#representatives.rep-on .cards.reps{gap:10px}#representatives.rep-on a.card.rep{padding:14px 24px}}
@media print{#representatives.rep-on .rep-track{height:auto}.morph{display:none!important}}

.rep-desc{margin:.7em 0 0;font-size:1rem;line-height:1.55;color:var(--muted);max-width:30em}
a.card.rep .rep-ent{margin-bottom:0}
a.card.rep .rep-desc{margin-bottom:auto}
#representatives.rep-on .rep-desc{font-size:.92rem;line-height:1.5;margin-top:.5em}
@media (max-height:800px){#representatives.rep-on .rep-desc{font-size:.85rem;line-height:1.4;margin-top:.35em}#representatives.rep-on .rep-tag{display:none}#representatives.rep-on .rep-url{margin-top:8px;padding-top:8px}#representatives.rep-on .rep-stage>.wrap{padding-top:0}#representatives.rep-on .intro{font-size:.88rem}#representatives.rep-on .cards.reps{gap:8px}}

/* Retained change: responsive presentation of the nested fee table only. */
table.fsg:has(table.fees){table-layout:fixed}
.fee-scroll{overflow-x:auto;margin:16px 0;max-width:100%;overscroll-behavior-x:contain}
table.fees{width:100%;border-collapse:collapse;min-width:400px;font-size:.9rem;table-layout:auto}
table.fees th,table.fees td{display:table-cell;width:auto;text-align:left;padding:12px 14px;border:1px solid var(--line);vertical-align:top}
table.fees th{background:var(--panel-2);color:var(--gold);font-size:.78rem;font-weight:600}

.intro-tag{transform:translateY(-32px)}
