/* Layout: floating pill nav, arch/oval photo collage hero with soft glow edges, large rounded section cards, form + contact band. */
:root{
  --bg:#F7F5F1; --surface:#FFFFFF; --ink:#0F2A43; --muted:#5B6470; --line:#E4DFD6;
  --accent:#1C7A99; --accent2:#2A93B5; --accent-dk:#7FD1EA; --accent-ink:#FFFFFF; --glow:rgba(42,147,181,.30); --shadow:rgba(15,42,67,.10);
  --band:#0F2A43; --band-ink:#FFFFFF; --band-muted:#E6ECF2; --ghost:#9FB0C0;
  --ph1:#ECE8E0; --ph2:#D9D3C8; --glass-a:rgba(15,42,67,.93); --glass-b:rgba(15,42,67,.72); --wm:0;
  --serif:'Newsreader',Georgia,'Times New Roman',serif; --sans:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0B1623; --surface:#122033; --ink:#FFFFFF; --muted:#F3F4F6; --line:#2A3B4F;
  --accent:#7FD1EA; --accent2:#9BDCF0; --accent-dk:#7FD1EA; --accent-ink:#04202C; --ghost:rgba(255,255,255,.85); --glass-a:rgba(42,147,181,.92); --glass-b:rgba(28,122,153,.68); --wm:.24; --glow:rgba(127,209,234,.30); --shadow:rgba(0,0,0,.35);
  --band:#08121E; --band-ink:#EAF0F6; --band-muted:#F3F4F6; --ph1:#1B2A3C; --ph2:#142131; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0B1623; --surface:#122033; --ink:#FFFFFF; --muted:#F3F4F6; --line:#2A3B4F;
  --accent:#7FD1EA; --accent2:#9BDCF0; --accent-dk:#7FD1EA; --accent-ink:#04202C; --ghost:rgba(255,255,255,.85); --glass-a:rgba(42,147,181,.92); --glass-b:rgba(28,122,153,.68); --wm:.24; --glow:rgba(127,209,234,.30); --shadow:rgba(0,0,0,.35);
  --band:#08121E; --band-ink:#EAF0F6; --band-muted:#F3F4F6; --ph1:#1B2A3C; --ph2:#142131; color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
.wrap{max-width:1160px;margin:0 auto}
.eyebrow{font:600 12.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;margin:14px auto 0;max-width:1160px;display:flex;align-items:center;gap:14px;padding:9px 10px 9px 18px;border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 10px 30px var(--shadow),0 0 0 1px transparent}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 15px/1.1 var(--sans);white-space:nowrap}
.brand img{width:38px;height:auto;display:block}
.brand small{display:block;font:500 11.5px/1.2 var(--sans);color:var(--muted);letter-spacing:.02em}
.links{display:flex;gap:2px;margin-left:auto}
.links a{padding:9px 16px;border-radius:999px;text-decoration:none;font-weight:500;font-size:15px;color:var(--muted)}
.links a:hover,.links a.on{background:var(--bg);color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:600 15px/1 var(--sans);text-decoration:none;border:0;cursor:pointer;box-shadow:0 8px 24px var(--glow);transition:transform .2s,box-shadow .2s}
.pill:hover{transform:translateY(-1px);box-shadow:0 12px 30px var(--glow)}
.pill.ghost{background:transparent;color:var(--ink);box-shadow:none;border:1.5px solid var(--ghost)}
.pill.ghost:hover{border-color:var(--accent);box-shadow:0 0 0 4px var(--glow)}

/* glass buttons + logo watermark */
.pill{position:relative;overflow:hidden;isolation:isolate;color:#fff;border:1px solid rgba(255,255,255,.55);background:linear-gradient(180deg,var(--glass-a),var(--glass-b));backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);text-shadow:0 1px 2px rgba(0,0,0,.35);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.75),inset 0 -3px 8px rgba(0,0,0,.14),0 2px 3px rgba(15,42,67,.18),0 12px 22px -6px rgba(15,42,67,.38),0 26px 44px -14px var(--glow);
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}
.pill::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0) 52%);pointer-events:none;z-index:-1}
.pill::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-60%;width:38%;transform:rotate(18deg) translateX(0);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);pointer-events:none;z-index:-1;opacity:.0}
.pill:hover{transform:translateY(-4px) scale(1.015);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.85),inset 0 -3px 8px rgba(0,0,0,.14),0 3px 5px rgba(15,42,67,.2),0 18px 30px -6px rgba(15,42,67,.42),0 34px 56px -14px var(--glow)}
.pill:hover::after{opacity:1;animation:shim .9s ease forwards}
.pill:active{transform:translateY(-1px) scale(.99);box-shadow:inset 0 2px 6px rgba(0,0,0,.2),0 6px 12px -4px rgba(15,42,67,.35)}
.pill.ghost{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 62%,transparent),color-mix(in srgb,var(--surface) 28%,transparent));border:1px solid var(--ghost);text-shadow:none;color:var(--ink);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -3px 8px rgba(15,42,67,.06),0 2px 3px rgba(15,42,67,.14),0 12px 22px -8px rgba(15,42,67,.30)}
.pill.ghost:hover{border-color:var(--accent)}
@keyframes shim{from{left:-60%}to{left:130%}}
@media (prefers-reduced-motion:no-preference){.pill:not(.ghost)::after{animation:shimidle 6s ease-in-out infinite;opacity:.8}.pill:hover::after{animation:shim .9s ease forwards}@keyframes shimidle{0%,70%{left:-60%}100%{left:130%}}}
@media (prefers-reduced-motion:reduce){.pill:hover{transform:none}}
.wm{position:fixed;z-index:0;left:50%;top:50%;width:min(54vw,500px);aspect-ratio:560/430;transform:translate(-50%,-50%);background:url(assets/logo-watermark.webp?v=1792192422) center/contain no-repeat;opacity:var(--wm);pointer-events:none}
header.nav{z-index:20}main,footer{position:relative;z-index:1}
/* native graphics */
.g-title{font:500 21px/1.15 var(--serif);margin:0 0 4px}
.life{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative;margin:6px 0 4px}
.life::before{content:"";position:absolute;left:10%;right:10%;top:23px;height:2px;background:linear-gradient(90deg,var(--accent2),var(--line))}
.stage{position:relative;text-align:center;min-width:0}
.stage .n{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 12px;border-radius:50%;background:var(--ink);color:var(--surface);font:600 16px/1 var(--sans);box-shadow:0 0 0 6px var(--surface),0 8px 20px var(--shadow)}
.stage h4{font:500 18px/1.15 var(--serif);margin:0 0 6px}
.stage ul{list-style:none;margin:0;padding:10px 10px;border-radius:16px;background:var(--bg);color:var(--muted);font-size:13.5px;line-height:1.45}
.stage li+li{margin-top:2px}
.roles{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:6px 0 4px;padding:0;list-style:none;counter-reset:r}
.roles li{counter-increment:r;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:15px;min-width:0}
.roles li::before{content:counter(r,decimal-leading-zero);flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--surface);font:600 12.5px/1 var(--sans)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin:6px 0 4px}
.checks div{display:grid;grid-template-columns:30px 1fr;gap:0 12px;min-width:0}
.checks svg{grid-row:span 2;color:var(--accent2)}
.checks b{font:500 17px/1.2 var(--serif)}
.checks span{color:var(--muted);font-size:14.5px;line-height:1.4}
.chev{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:6px 0 4px}
.chev div{position:relative;padding:20px 18px 20px 26px;background:var(--ink);color:var(--surface);font:500 15px/1.25 var(--sans);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%);margin-left:-8px;min-width:0}
.chev div:first-child{margin-left:0;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%)}
.chev div:nth-child(even){background:color-mix(in srgb,var(--ink) 82%,var(--accent2))}
.chev small{display:block;color:var(--accent-dk);font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.gantt{display:grid;grid-template-columns:150px repeat(8,1fr);gap:0;font-size:13.5px;margin:6px 0 4px;min-width:0}
.gantt .h{padding:8px 0;text-align:center;color:var(--muted);font:600 11.5px/1 var(--sans);letter-spacing:.06em;border-bottom:1px solid var(--line)}
.gantt .t{padding:11px 10px 11px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.gantt .c{border-bottom:1px solid var(--line);border-left:1px dashed var(--line);position:relative}
.gantt .bar{align-self:center;height:16px;border-radius:999px;margin:0 3px;background:var(--ink)}
.gantt .bar.b{background:var(--accent2)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 14px}
.kpi{padding:12px 14px;border-radius:18px;background:var(--bg);border:1px solid var(--line)}
.kpi small{display:block;color:var(--muted);font-size:12.5px}
.kpi b{font:500 24px/1.2 var(--serif);font-variant-numeric:tabular-nums}
.kpi i{display:block;font-style:normal;font-size:12.5px;color:var(--accent)}
.chart{width:100%;height:auto;display:block}
.chart text{font:500 10.5px var(--sans);fill:var(--muted)}
.chart .gl{stroke:var(--line);stroke-width:1}
.chart .pl{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:5 4}
.chart .al{fill:none;stroke:var(--accent2);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chart .dot{fill:var(--accent2);stroke:var(--surface);stroke-width:3}
.legend{display:flex;gap:18px;font-size:12.5px;color:var(--muted);margin:2px 0 0}
.legend i{display:inline-block;width:18px;height:0;border-top:3px solid var(--accent2);vertical-align:middle;margin-right:7px}
.legend i.d{border-top:2px dashed var(--muted)}
.gscroll{overflow-x:auto}
@media (max-width:900px){.life{grid-template-columns:1fr;gap:16px}.life::before{display:none}.stage{text-align:left;display:grid;grid-template-columns:46px 1fr;gap:0 14px}.stage .n{margin:0;grid-row:span 2}.chev{grid-template-columns:1fr}.chev div,.chev div:first-child{margin:0 0 -6px;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),50% 100%,0 calc(100% - 12px));padding-bottom:26px}.roles,.checks{grid-template-columns:1fr}.kpis{grid-template-columns:1fr}.gantt{min-width:640px}}
/* translucent panels so the logo shows through */
.card,.shot,.about,.step,.tag{background:color-mix(in srgb,var(--surface) 38%,transparent);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}
.step{background:color-mix(in srgb,var(--surface) 28%,transparent)}
.roles li,.stage ul,.kpi{background:color-mix(in srgb,var(--bg) 40%,transparent)}
@media (max-width:720px){.wm{width:88vw;max-width:none}}
/* titles: larger, centered, underlined */
.head h2,.about h2,.band h2,.card h3,.step h3,.g-title,.banner h3{text-align:center;text-decoration:underline;text-decoration-color:var(--accent2);text-decoration-thickness:3px;text-underline-offset:.22em;text-decoration-skip-ink:none}
.head h2,.about h2,.band h2{font-size:clamp(36px,4.6vw,58px)}
.card h3{font-size:26px}.step h3{font-size:25px}.g-title{font-size:26px}.banner h3{font-size:clamp(28px,3.4vw,42px);text-align:left}
.head{margin-left:auto;margin-right:auto;text-align:center;justify-items:center}
.head p{text-align:center}
.split .head{margin:0}
.about .eyebrow,.band .eyebrow{display:block;text-align:center}
.card .ico{margin-left:auto;margin-right:auto}.card p,.step p{text-align:center}
.step::before{margin-left:auto;margin-right:auto}
.g-title .sample{text-decoration:none;display:inline-block}
.hero h1{font-size:clamp(44px,6vw,76px)}
/* mobile menu */
.burger{display:none;margin-left:auto;flex:none;width:46px;height:46px;border-radius:50%;place-items:center;background:var(--bg);color:var(--ink);border:1px solid var(--line);cursor:pointer}
.menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 10px);padding:12px;border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 60px var(--shadow),0 0 60px -20px var(--glow);gap:4px}
.menu.open{display:grid}
.menu a:not(.pill){padding:14px 16px;border-radius:16px;text-decoration:none;font-weight:500;color:var(--ink)}
.menu a:not(.pill):hover{background:var(--bg)}
.menu .pill{justify-content:center;margin-top:6px}
@media (min-width:721px){.menu{display:none!important}}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding:72px 0 56px}
.hero h1{font-size:clamp(40px,5.6vw,68px);margin:18px 0 22px}
.hero h1 em{font-style:normal;color:var(--accent2)}
.hero p.lead{font-size:19px;color:var(--muted);max-width:34em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;color:var(--muted);font-size:14.5px}
.facts span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:9px;vertical-align:middle}
.collage{position:relative;aspect-ratio:1/1.02;min-width:0}
.frame{position:absolute;overflow:hidden;background:linear-gradient(160deg,var(--ph1),var(--ph2));box-shadow:0 0 0 1px var(--line),0 24px 60px var(--shadow),0 0 70px -10px var(--glow)}
.frame.arch{left:6%;top:0;width:56%;height:80%;border-radius:999px 999px 28px 28px}
.frame.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
.frame img{width:100%;height:100%;object-fit:cover;display:block}.frame.oval img{object-position:30% 40%}.frame.sq img{object-position:70% 40%}
.frame.oval{right:0;top:12%;width:34%;height:34%;border-radius:50%}
.frame.sq{right:4%;bottom:4%;width:44%;height:38%;border-radius:28px}
.frame.pillf{left:0;bottom:2%;width:36%;height:15%;border-radius:999px}
.ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);font:500 12.5px/1.35 var(--sans);padding:10px}
.ph svg{display:block;margin:0 auto 6px;opacity:.7}
.tag{position:absolute;left:0;bottom:19%;transform:translateY(50%);z-index:2;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px 16px;box-shadow:0 14px 34px var(--shadow);font-size:13.5px;line-height:1.35;max-width:210px}
.tag b{display:block;font:500 17px/1.1 var(--serif);margin-bottom:3px}
@media (prefers-reduced-motion:no-preference){.frame.oval{animation:fl 7s ease-in-out infinite}.frame.sq{animation:fl 9s ease-in-out -3s infinite}@keyframes fl{50%{transform:translateY(-8px)}}}

/* sections */
section{padding:56px 0}
.head{display:grid;gap:14px;max-width:46em;margin-bottom:36px}
.head h2{font-size:clamp(30px,3.8vw,46px)}
.head p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:26px 24px 28px;box-shadow:0 18px 44px var(--shadow);transition:box-shadow .25s,transform .25s;min-width:0}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 44px var(--shadow),0 0 0 1px var(--accent),0 0 40px -6px var(--glow)}
.ico{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);margin-bottom:18px}
.card h3{font-size:22px;margin-bottom:8px}
.card p{color:var(--muted);font-size:15.5px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.step{border-radius:28px;padding:26px 26px 28px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--bg));min-width:0}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:600 16px/1 var(--sans);margin-bottom:16px;box-shadow:0 0 24px var(--glow)}
.step h3{font-size:21px;margin-bottom:6px}.step p{color:var(--muted);font-size:15.5px}

/* split + wide */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;margin-bottom:36px}
.split .head{margin-bottom:0}
.photo{border-radius:44px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 0 0 1px var(--line),0 30px 70px var(--shadow),0 0 90px -20px var(--glow)}
.photo img{width:100%;height:100%;object-fit:cover;object-position:35% 50%;display:block}
.shot.wide{margin-top:22px}

/* reports + banner */
.reports{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.shot{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:32px;padding:14px 14px 20px;box-shadow:0 22px 54px var(--shadow),0 0 70px -24px var(--glow);min-width:0}
.shot img{width:100%;height:auto;display:block;border-radius:20px}
.shot figcaption{padding:16px 10px 0;color:var(--muted);font-size:15.5px}
.shot figcaption b{display:block;font:500 21px/1.15 var(--serif);color:var(--ink);margin-bottom:4px}
.sample{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;border:1px solid var(--line);font:600 11px/1.6 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);vertical-align:middle}
.banner{position:relative;margin-top:22px;border-radius:44px;overflow:hidden;box-shadow:0 30px 70px var(--shadow),0 0 90px -30px var(--glow);aspect-ratio:21/8}
.banner img{width:100%;height:100%;object-fit:cover;display:block}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,42,67,.82),rgba(15,42,67,.1) 70%)}
.banner div{position:absolute;z-index:1;left:clamp(20px,4vw,48px);bottom:clamp(20px,4vw,44px);max-width:22em;color:#F5F7FA}
.banner h3{font-size:clamp(24px,3vw,36px)}
.banner p{color:#D5E0EA;margin-top:8px;font-size:16px}
/* about */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:44px;padding:40px;box-shadow:0 30px 70px var(--shadow),0 0 90px -30px var(--glow)}
.portrait{border-radius:999px 999px 32px 32px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 0 0 1px var(--line),0 0 60px -8px var(--glow);min-width:0}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block}
.about h2{font-size:clamp(30px,3.6vw,44px);margin:12px 0 18px}
.about p{color:var(--muted);margin-bottom:14px;max-width:38em}
.about p.short{color:var(--ink);font-size:19px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}
.chips span{padding:7px 14px;border-radius:999px;border:1px solid var(--line);font-size:13.5px;background:var(--bg)}
.chips span b{font-weight:600;color:var(--accent)}
.fine{font-size:13px;color:var(--muted)}

/* contact band */
.band{background:var(--band);color:var(--band-ink);border-radius:44px;padding:52px;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;box-shadow:0 30px 80px var(--shadow),0 0 110px -30px var(--glow);position:relative;overflow:hidden}
.band::before{content:"";position:absolute;right:-120px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,var(--glow),transparent);pointer-events:none}
.band>*{position:relative;min-width:0}
.band .eyebrow{color:var(--accent-dk)}.info svg{color:var(--accent-dk)!important}.band h2{font-size:clamp(30px,3.8vw,46px);margin:12px 0 16px}
.band p{color:var(--band-muted)}
.info{display:grid;gap:14px;margin-top:28px;font-size:16px}
.info div{display:flex;gap:12px;align-items:flex-start}
.info svg{flex:none;margin-top:3px;color:var(--accent)}
.info small{display:block;color:var(--band-muted);font-size:13px}
.copy{margin-left:8px;background:transparent;border:1px solid #ffffff33;color:var(--band-ink);border-radius:999px;padding:3px 11px;font:500 12px/1.4 var(--sans);cursor:pointer}
.social{display:flex;gap:10px;margin-top:6px}
.social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff33;color:var(--band-ink);transition:box-shadow .2s,border-color .2s}
.social a:hover{border-color:var(--accent);box-shadow:0 0 0 4px var(--glow)}
form{background:color-mix(in srgb,#ffffff 7%,transparent);border:1px solid #ffffff22;border-radius:32px;padding:28px;display:grid;gap:14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:6px;font:500 13.5px/1.2 var(--sans);color:var(--band-muted);min-width:0}
input,select,textarea{width:100%;font:400 16px/1.4 var(--sans);color:var(--band-ink);background:#ffffff12;border:1px solid #ffffff2e;border-radius:16px;padding:13px 15px;min-width:0}
select option{color:#0F2A43}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--glow)}
form .pill{justify-self:start;padding:14px 26px}
#ok{display:none;padding:14px 16px;border-radius:16px;background:#e4b76926;border:1px solid var(--accent-dk);font-size:14.5px}

footer{padding:34px 0 44px;color:var(--muted);font-size:14px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between}

@media (max-width:980px){
  .split{grid-template-columns:1fr}
  .hero{grid-template-columns:1fr;gap:36px;padding-top:44px}
  .collage{max-width:520px;width:100%;margin:0 auto}
  .cards{grid-template-columns:repeat(2,1fr)}
  .about,.band{grid-template-columns:1fr}
  .portrait{max-width:380px}
}
@media (max-width:720px){
  .reports{grid-template-columns:1fr}.banner{aspect-ratio:4/3;border-radius:32px}
  .links,.nav>.pill{display:none}.nav{padding:10px 10px 10px 16px}.burger{display:grid}
  .steps,.cards,.row{grid-template-columns:1fr}
  .about{padding:24px;border-radius:32px}.band{padding:28px 22px;border-radius:32px}
  section{padding:40px 0}
  .tag{display:none}
}

/* multipage */
.phero{text-align:center;max-width:46em;margin:0 auto;padding:64px 0 20px;display:grid;gap:14px;justify-items:center}
.phero h1{font-size:clamp(40px,5.4vw,68px);text-decoration:underline;text-decoration-color:var(--accent2);text-decoration-thickness:3px;text-underline-offset:.22em;text-decoration-skip-ink:none}
.phero p{color:var(--muted);font-size:19px;max-width:34em}
.phero .cta{justify-content:center}
.svcgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.card.svc{text-align:left;padding:30px 30px 32px}
.card.svc h3{text-align:center;margin-bottom:6px}
.card.svc .lead2{text-align:center;margin-bottom:16px}
.card.svc ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.card.svc li{position:relative;padding-left:26px;color:var(--muted);font-size:15.5px;text-align:left}
.card.svc li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--accent2);box-shadow:0 0 12px var(--glow)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.facts4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.facts4 div{text-align:center;padding:26px 16px;border-radius:28px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 38%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 18px 44px var(--shadow)}
.facts4 b{display:block;font:500 34px/1.1 var(--serif);color:var(--accent2)}
.facts4 span{color:var(--muted);font-size:14.5px}
.faq{max-width:46em;margin:0 auto;display:grid;gap:12px}
.faq details{border:1px solid var(--line);border-radius:22px;padding:4px 22px;background:color-mix(in srgb,var(--surface) 38%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.faq summary{cursor:pointer;padding:16px 0;font:500 20px/1.3 var(--serif);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent2);font:500 24px/1 var(--sans)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);padding:0 0 18px}
.foot{margin-top:40px;padding:44px max(16px,env(safe-area-inset-left,0px)) 40px max(16px,env(safe-area-inset-right,0px));border-top:1px solid var(--line);position:relative;z-index:1;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.foot-in{display:grid;justify-items:center;gap:22px;text-align:center}
.foot-social{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.foot-social .pill{padding:14px 26px}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center}
.foot-links a{text-decoration:none;color:var(--muted);font-weight:500}
.foot-links a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent2)}
.foot-fine{color:var(--muted);font-size:14px;line-height:1.7}
@media (max-width:900px){.svcgrid,.two{grid-template-columns:1fr}.facts4{grid-template-columns:1fr 1fr}.phero{padding-top:44px}}

/* fixes2 */
.chev div{font-size:13.5px;overflow-wrap:anywhere;padding-right:22px}
.foot .brand span{text-align:left}

/* titles v2: no underline, brass divider, title color differs from description */
:root{--title:#0F2A43}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--title:#9BDCF0}}
:root[data-theme="dark"]{--title:#9BDCF0}
.head h2,.about h2,.card h3,.step h3,.g-title,.phero h1,.stage h4,.checks b{text-decoration:none;color:var(--title)}
.band h2{text-decoration:none;color:var(--accent-dk)}
.banner h3{text-decoration:none;color:#fff}
.head h2::after,.about h2::after,.card h3::after,.step h3::after,.g-title::after,.phero h1::after,.band h2::after,.banner h3::after{content:"";display:block;width:56px;height:3px;border-radius:3px;background:var(--accent2);margin:14px auto 16px}
.band h2::after{background:var(--accent-dk)}
.banner h3::after{margin-left:0;background:var(--accent-dk)}
.card h3::after,.step h3::after{margin:12px auto 14px}
.g-title::after{margin:10px 0 12px;margin-left:10px}
.phero h1::after{margin:18px auto 4px}
.stage h4{font-weight:600}
.head p,.card p,.step p,.phero p,.about p{color:var(--muted)}

/* gtitle fix: centered panel headers, no divider bar */
.g-title{text-align:center!important;padding-left:0!important;padding-right:0!important}
.g-title::after{content:none!important;display:none!important}

/* glass tiles */
.plain{margin:22px 0 0;padding:6px 0}
.plain .g-title{margin:0 0 22px;padding:0}
.roles{gap:12px 14px}
.roles li,.checks>div{position:relative;overflow:hidden;isolation:isolate;border-radius:22px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.22));backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(15,42,67,.06),0 14px 34px -10px rgba(15,42,67,.22),0 2px 6px rgba(15,42,67,.08);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.roles li::after,.checks>div::after{content:"";position:absolute;top:-40%;bottom:-40%;left:-70%;width:40%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);z-index:-1;pointer-events:none;opacity:0}
.roles li:hover,.checks>div:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 22px 44px -12px rgba(15,42,67,.3),0 0 34px -8px var(--glow)}
.roles li{padding:14px 18px;border-radius:999px;font-weight:500;color:var(--ink);background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.22))}
.roles li::before{background:none;width:auto;height:auto;border-radius:0;color:var(--accent2);font:600 14px/1 var(--sans);letter-spacing:.04em}
.checks{gap:14px}
.checks>div{padding:18px 20px;grid-template-columns:28px 1fr;align-items:start}
.checks b{color:var(--title);font-size:18px}
.checks span{color:var(--muted)}
.checks svg{width:26px;height:26px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .roles li,:root:not([data-theme="light"]) .checks>div{border-color:rgba(255,255,255,.2);background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 16px 36px -12px rgba(0,0,0,.6)}}
:root[data-theme="dark"] .roles li,:root[data-theme="dark"] .checks>div{border-color:rgba(255,255,255,.2);background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 16px 36px -12px rgba(0,0,0,.6)}
.js .rv{opacity:0;transform:translateY(18px) scale(.98);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .3s;transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .rv.in:hover{transition-delay:0s}
.rv.in::after{animation:glint 1.3s ease calc(var(--d,0s) + .35s) 1 both}
@keyframes glint{0%{left:-70%;opacity:1}100%{left:140%;opacity:1}}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.rv.in::after{animation:none}}
@media (max-width:900px){.roles{grid-template-columns:1fr 1fr;gap:10px}.roles li{border-radius:20px;padding:12px 14px;font-size:14.5px;gap:10px;align-items:flex-start}.checks{grid-template-columns:1fr}}

/* scope layout fix */
#scope .reports{grid-template-columns:1fr}
.chev div{overflow-wrap:normal;word-break:normal;hyphens:manual}
@media (max-width:900px){#scope .reports{gap:22px}}

/* five stages: glass timeline */
.lifewrap{margin:22px 0 0}
.lifewrap .g-title{margin:0 0 26px;padding:0}
.life{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:0}
.life::before{content:"";position:absolute;left:8%;right:8%;top:49px;height:2px;border-radius:2px;background:var(--line);z-index:0}
.life::after{content:"";position:absolute;left:8%;right:8%;top:48px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--accent2),var(--accent-dk),var(--accent2));box-shadow:0 0 16px var(--glow);transform:scaleX(0);transform-origin:left;z-index:0;transition:transform 1.6s cubic-bezier(.3,.7,.2,1) .2s}
.life.in::after{transform:scaleX(1)}
.stage{position:relative;z-index:1;text-align:center;padding:18px 14px 18px;border-radius:26px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(160deg,rgba(255,255,255,.62),rgba(255,255,255,.2));backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 18px 40px -14px rgba(15,42,67,.28),0 2px 6px rgba(15,42,67,.08);overflow:hidden;isolation:isolate;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;min-width:0}
.stage::after{content:"";position:absolute;top:-40%;bottom:-40%;left:-70%;width:40%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);z-index:-1;pointer-events:none;opacity:0}
.stage.in::after{animation:glint 1.4s ease calc(var(--d,0s) + .5s) 1 both}
.stage:hover{transform:translateY(-6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 28px 50px -14px rgba(15,42,67,.34),0 0 40px -8px var(--glow)}
.stage .n{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font:600 18px/1 var(--sans);color:var(--title);background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.35));border:2px solid var(--accent2);box-shadow:0 0 0 6px rgba(42,147,181,.12),0 0 22px var(--glow),inset 0 1px 0 #fff;position:relative}
.stage.in .n{animation:ping 2.8s ease-out calc(var(--d,0s) + .8s) 2}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(42,147,181,.55),0 0 22px var(--glow),inset 0 1px 0 #fff}100%{box-shadow:0 0 0 18px rgba(42,147,181,0),0 0 22px var(--glow),inset 0 1px 0 #fff}}
.stage h4{font:600 18px/1.2 var(--serif);color:var(--title);margin:0 0 12px;min-height:2.4em;display:grid;place-items:center}
.stage ul{list-style:none;margin:0;padding:0;background:none;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.stage li{margin:0!important;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.35);font-size:12.5px;line-height:1.3;color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .stage{border-color:rgba(255,255,255,.2);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 40px -14px rgba(0,0,0,.6)}:root:not([data-theme="light"]) .stage .n{background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.05));box-shadow:0 0 0 6px rgba(127,209,234,.1),0 0 22px var(--glow),inset 0 1px 0 rgba(255,255,255,.4)}:root:not([data-theme="light"]) .stage li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}}
:root[data-theme="dark"] .stage{border-color:rgba(255,255,255,.2);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 40px -14px rgba(0,0,0,.6)}
:root[data-theme="dark"] .stage .n{background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.05))}
:root[data-theme="dark"] .stage li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
@media (prefers-reduced-motion:reduce){.life::after{transform:scaleX(1);transition:none}.stage.in .n,.stage.in::after{animation:none}}
@media (max-width:900px){
 .life{grid-template-columns:1fr;gap:16px;padding-left:0}
 .life::before,.life::after{left:34px;right:auto;top:30px;bottom:30px;width:2px;height:auto}
 .life::after{width:4px;left:33px;transform:scaleY(0);transform-origin:top;background:linear-gradient(180deg,var(--accent2),var(--accent-dk),var(--accent2))}
 .life.in::after{transform:scaleY(1)}
 .stage{display:grid;grid-template-columns:52px 1fr;gap:0 16px;text-align:left;padding:16px 18px;margin-left:0}
 .stage .n{grid-row:span 2;margin:0}
 .stage h4{min-height:0;display:block;margin:4px 0 10px;text-align:left}
 .stage ul{justify-content:flex-start}
}

/* process steps: two-tone glass */
.step{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.7)!important;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.18) 55%),linear-gradient(135deg,rgba(15,42,67,.14),rgba(42,147,181,.22))!important;background-size:100% 100%,260% 260%!important;backdrop-filter:blur(18px) saturate(1.6)!important;-webkit-backdrop-filter:blur(18px) saturate(1.6)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 20px 44px -16px rgba(15,42,67,.32),0 2px 6px rgba(15,42,67,.08);animation:tone 9s ease-in-out infinite alternate;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.step:nth-child(2){animation-delay:-3s}.step:nth-child(3){animation-delay:-6s}
@keyframes tone{0%{background-position:0 0,0% 50%}100%{background-position:0 0,100% 50%}}
.step::after{content:"";position:absolute;top:-40%;bottom:-40%;left:-70%;width:40%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);z-index:-1;pointer-events:none;opacity:0}
.step.in::after{animation:glint 1.4s ease calc(var(--d,0s) + .4s) 1 both}
.step:hover{transform:translateY(-6px);box-shadow:inset 0 1px 0 #fff,0 30px 54px -16px rgba(15,42,67,.38),0 0 40px -8px var(--glow)}
.step::before{background:linear-gradient(145deg,var(--accent2),var(--accent-dk))!important;box-shadow:0 0 0 6px rgba(42,147,181,.14),0 0 24px var(--glow),inset 0 1px 0 rgba(255,255,255,.5)!important;animation:ping 2.8s ease-out 1s 2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .step{border-color:rgba(255,255,255,.2)!important;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.03) 55%),linear-gradient(135deg,rgba(40,110,150,.38),rgba(127,209,234,.26))!important;background-size:100% 100%,260% 260%!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 20px 44px -16px rgba(0,0,0,.65)}}
:root[data-theme="dark"] .step{border-color:rgba(255,255,255,.2)!important;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.03) 55%),linear-gradient(135deg,rgba(40,110,150,.38),rgba(127,209,234,.26))!important;background-size:100% 100%,260% 260%!important}
@media (prefers-reduced-motion:reduce){.step,.step::before,.step.in::after{animation:none!important}}

/* hero: 3D type, centered actions */
.hero h1{letter-spacing:-.015em;font-weight:600;text-shadow:0 1px 0 rgba(255,255,255,.55),0 2px 0 rgba(15,42,67,.16),0 3px 0 rgba(15,42,67,.14),0 4px 0 rgba(15,42,67,.12),0 5px 0 rgba(15,42,67,.1),0 14px 22px rgba(15,42,67,.28)}
.hero h1 em{background:linear-gradient(180deg,#3AA7C9,#1C7A99 70%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 0 rgba(8,40,56,.35)) drop-shadow(0 8px 10px rgba(15,42,67,.25))}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero h1{text-shadow:0 1px 0 rgba(255,255,255,.35),0 2px 0 rgba(120,150,180,.3),0 3px 0 rgba(60,90,120,.4),0 4px 0 rgba(20,40,65,.55),0 5px 0 rgba(8,18,32,.7),0 16px 26px rgba(0,0,0,.65)}:root:not([data-theme="light"]) .hero h1 em{background:linear-gradient(180deg,#C5ECF7,#7FD1EA 55%,#2A93B5);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 0 rgba(8,40,56,.8)) drop-shadow(0 8px 10px rgba(0,0,0,.6))}}
:root[data-theme="dark"] .hero h1{text-shadow:0 1px 0 rgba(255,255,255,.35),0 2px 0 rgba(120,150,180,.3),0 3px 0 rgba(60,90,120,.4),0 4px 0 rgba(20,40,65,.55),0 5px 0 rgba(8,18,32,.7),0 16px 26px rgba(0,0,0,.65)}
:root[data-theme="dark"] .hero h1 em{background:linear-gradient(180deg,#C5ECF7,#7FD1EA 55%,#2A93B5);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 0 rgba(8,40,56,.8)) drop-shadow(0 8px 10px rgba(0,0,0,.6))}
@media (max-width:900px){.hero{text-align:center;justify-items:center}.hero p.lead{margin-left:auto;margin-right:auto}.cta{justify-content:center;flex-direction:column;align-items:center}.cta .pill{min-width:min(100%,280px);justify-content:center;text-align:center}}
@media (max-width:900px){.facts{justify-content:center}}

/* admin links */
.menu a.adm{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:16px;text-decoration:none;font-weight:500;color:var(--muted);border-top:1px solid var(--line);margin-top:4px;border-radius:0 0 16px 16px}
.menu a.adm:hover{color:var(--ink);background:var(--bg)}

/* trust polish */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.consent{font-size:13px;line-height:1.5;color:var(--band-ink);opacity:.8;margin:12px 0 0;text-align:center}
.consent a{color:inherit;text-decoration:underline}
.legal{max-width:720px;margin:0 auto;padding:28px;border-radius:28px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.legal h3{font-size:22px;margin:22px 0 6px;color:var(--title)}.legal h3:first-child{margin-top:0}
.legal p{color:var(--ink);margin:0;line-height:1.65}
.foot-links{flex-wrap:wrap;justify-content:center}

/* field videos */
.vband{position:relative;margin:8px 0 0;padding:56px 5% 0;display:flex;justify-content:center;align-items:flex-start;gap:3.5%;background:linear-gradient(165deg,#0F2A43 0%,#1d4569 60%,#3b3f5c 100%);border-radius:32px 32px 50% 50%/32px 32px 90px 90px;min-height:0;margin-bottom:100px;box-shadow:0 30px 60px -30px rgba(15,42,67,.55)}
.vband::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(60% 80% at 80% 0%,rgba(127,209,234,.28),transparent 70%);pointer-events:none}
.vwin{position:relative;flex:1 1 0;max-width:230px;aspect-ratio:9/16;border-radius:999px;overflow:hidden;border:4px solid #fff;background:#0b1623;box-shadow:0 22px 44px -12px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.35),0 0 40px -8px rgba(127,209,234,.45);margin-bottom:-72px;transform:translateY(26px);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.vwin.mid{transform:translateY(-12px);margin-top:-28px}
.vwin:hover{transform:translateY(14px) scale(1.02)}.vwin.mid:hover{transform:translateY(-22px) scale(1.02)}
.vwin video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vwin::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(15,42,67,.18),transparent 35%,rgba(15,42,67,.25));pointer-events:none}
.vtile{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;max-width:calc(100% - 32px);margin:0 auto;padding:14px 26px;border-radius:999px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(160deg,rgba(255,255,255,.7),rgba(255,255,255,.22));backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 36px -14px rgba(15,42,67,.35);font:600 18px/1.2 var(--serif);color:var(--title);text-align:center;position:relative;z-index:2}
.vdot{width:10px;height:10px;border-radius:50%;background:var(--accent2);box-shadow:0 0 0 0 rgba(42,147,181,.6);animation:ping 2.4s ease-out infinite;flex:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .vtile{border-color:rgba(255,255,255,.2);background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 36px -14px rgba(0,0,0,.6)}:root:not([data-theme="light"]) .vwin{border-color:#e8edf3}}
:root[data-theme="dark"] .vtile{border-color:rgba(255,255,255,.2);background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04))}
@media (prefers-reduced-motion:reduce){.vdot{animation:none}.vwin{transition:none}}
@media (max-width:560px){.vband{padding:40px 4% 0;gap:3%;margin-bottom:84px;border-radius:26px 26px 50% 50%/26px 26px 60px 60px}.vwin{border-width:3px;margin-bottom:-56px}.vtile{font-size:16px;padding:12px 20px}}

/* resume tiers: auto-fading carousel */
.rcar{max-width:560px;margin:0 auto}
.rtabs{display:flex;justify-content:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.rt{position:relative;overflow:hidden;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 50%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--muted);font:500 14px var(--sans);padding:8px 16px;border-radius:999px;cursor:pointer;transition:color .3s,border-color .3s,background .3s}
.rt:hover{color:var(--title)}
.rt.on{color:var(--title);border-color:var(--accent2);background:color-mix(in srgb,var(--surface) 80%,transparent)}
.rt::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,var(--accent2),var(--accent-dk));transform:scaleX(0);transform-origin:left}
.rcar.live .rt.on::after{animation:rprog 5s linear forwards}
.rcar.paused .rt.on::after{animation-play-state:paused}
@keyframes rprog{to{transform:scaleX(1)}}
.rstage{display:grid;padding:20px 22px 12px;border-radius:22px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(160deg,rgba(255,255,255,.62),rgba(255,255,255,.2));backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 14px 30px -16px rgba(15,42,67,.3)}
.rp{grid-area:1/1;min-width:0}
.js .rp{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease,visibility 0s .7s}
.js .rp.on{opacity:1;visibility:visible;transform:none;transition:opacity .7s ease .1s,transform .7s ease .1s,visibility 0s}
.rp .rh h3,.rdi .rh h3{font-size:22px;margin:0;text-align:left}
.rp .rh h3::after,.rdi .rh h3::after{content:none!important}
.rp .rh p,.rdi .rh p{margin:2px 0 0;color:var(--muted);font-size:14px;text-align:left}
.rp .pr,.rdi .pr{display:flex;align-items:baseline;gap:10px;margin:12px 0 6px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
.rp .pr b,.rdi .pr b{font:500 32px/1 var(--serif);color:var(--title)}
.rp .pr span,.rdi .pr span{color:var(--muted);font-size:13.5px}
.rp ul,.rdi ul{margin:0;padding:0;list-style:none}
.rp li,.rdi li{position:relative;padding:4px 0 4px 18px;font-size:14px;color:var(--ink);line-height:1.4}
.rp li::before,.rdi li::before{content:"";position:absolute;left:2px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--accent2)}
.rcar .rp+.rp{margin-top:0}
html:not(.js) .rp+.rp{margin-top:18px;grid-area:auto}
html:not(.js) .rstage{display:block}
.tfine{text-align:center;color:var(--muted);font-size:13px;margin:14px 0 0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rstage{border-color:rgba(255,255,255,.2);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 14px 30px -16px rgba(0,0,0,.6)}}
:root[data-theme="dark"] .rstage{border-color:rgba(255,255,255,.2);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04))}
@media (prefers-reduced-motion:reduce){.js .rp,.js .rp.on{transition:none}.rcar.live .rt.on::after{animation:none;transform:scaleX(1)}}

/* all-tiers pop-up */
.rall{display:block;margin:12px auto 0;background:none;border:0;color:var(--accent2);font:600 14px var(--sans);cursor:pointer;padding:6px 10px;text-decoration:underline;text-underline-offset:3px}
.rall:hover{color:var(--title)}
.rdlg{border:0;padding:0;background:transparent;max-width:min(860px,calc(100vw - 24px));width:100%;max-height:88vh;color:var(--ink);overflow:visible}
.rdlg::backdrop{background:rgba(8,16,28,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.rdlg[open]{animation:rdin .35s cubic-bezier(.2,.8,.2,1)}
@keyframes rdin{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.rdin{position:relative;max-height:88vh;overflow:auto;padding:24px 22px 18px;border-radius:26px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(160deg,color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--surface) 80%,transparent));backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 30px 70px -20px rgba(0,0,0,.5)}
.rdt{font-size:22px;text-align:center;margin:0 28px 16px}.rdt::after{content:none!important}
.rx{position:absolute;top:12px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.rdg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rdi{padding:16px;border-radius:18px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,transparent)}
.rdf{text-align:center;color:var(--muted);font-size:13px;margin:14px 0 0}
@media (max-width:760px){.rdg{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rdin{border-color:rgba(255,255,255,.2)}}
@media (prefers-reduced-motion:reduce){.rdlg[open]{animation:none}}

/* steps: compact auto-fading sequence */
.steps.fader{display:grid;grid-template-columns:1fr;max-width:480px;margin:0 auto;gap:0}
.fader .step{grid-area:1/1;padding:18px 22px 20px;border-radius:22px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease,visibility 0s .7s;pointer-events:none}
.fader .step.on{opacity:1;visibility:visible;transform:none;transition:opacity .7s ease .1s,transform .7s ease .1s,visibility 0s;pointer-events:auto}
.fader .step:hover{transform:none}
.fader .step::before{width:32px;height:32px;font-size:14px;margin-bottom:10px}
.fader .step h3{font-size:21px;margin:0 0 6px}
.fader .step h3::after{content:none!important}
.fader .step p{font-size:15px;line-height:1.5;margin:0}
.sdots{display:flex;justify-content:center;gap:8px;margin:14px 0 0}
.sdots button{border:0;padding:10px 2px;background:none;cursor:pointer}
.sdots i{display:block;width:26px;height:6px;border-radius:6px;background:var(--line);position:relative;overflow:hidden;transition:width .3s}
.sdots button.on i{width:46px}
.sdots i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--accent2),var(--accent-dk));transform:scaleX(0);transform-origin:left}
.sdots button.on i::after{animation:rprog 4.5s linear forwards}
.sdots.paused button.on i::after{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.sdots{display:none}}

/* resume carousel: click to switch */
.rstage{-webkit-tap-highlight-color:transparent;user-select:none}
.rdots{margin:8px 0 0}
.rdots button.on i::after{animation-duration:5s}
.rcar.paused .rdots button.on i::after{animation-play-state:paused}
.rdots button.on i{width:34px}.rdots i{width:18px}
@media (prefers-reduced-motion:reduce){.rdots{display:flex}.rdots button.on i::after{animation:none;transform:scaleX(1)}}

/* video: tap-to-play fallback */
.vwin{cursor:pointer;-webkit-tap-highlight-color:transparent}
.vwin::before{content:"";position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:rgba(255,255,255,.88) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230F2A43' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") center/26px no-repeat;box-shadow:0 8px 20px rgba(0,0,0,.35);z-index:3;opacity:0;transform:scale(.85);transition:opacity .25s,transform .25s;pointer-events:none}
.vwin.idle::before{opacity:1;transform:none}
@media (max-width:560px){.vwin::before{width:38px;height:38px;margin:-19px 0 0 -19px;background-size:22px}}

/* home: resume teaser */
.teaser{padding-top:8px}
.teaser .tz{max-width:640px;margin:0 auto;padding:30px 24px;text-align:center;border-radius:28px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(160deg,rgba(255,255,255,.62),rgba(255,255,255,.2));backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 18px 40px -16px rgba(15,42,67,.28)}
.teaser h2{font-size:clamp(28px,4vw,38px);margin:8px 0 10px}
.teaser h2::after{content:"";display:block;width:56px;height:3px;border-radius:3px;background:var(--accent2);margin:14px auto 16px}
.teaser p{margin:0 auto;max-width:34em;color:var(--muted)}
.teaser .cta{margin-top:22px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .teaser .tz{border-color:rgba(255,255,255,.2);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 40px -16px rgba(0,0,0,.6)}}
:root[data-theme="dark"] .teaser .tz{border-color:rgba(255,255,255,.2);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04))}

/* header: centered glass with shimmer */
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 12px 10px 14px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.34));backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(15,42,67,.06),0 16px 40px -14px rgba(15,42,67,.32),0 2px 8px rgba(15,42,67,.08)}
.nav::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.7) 50%,transparent 62%);background-size:260% 100%;background-position:160% 0;animation:navshine 8s ease-in-out infinite}
@keyframes navshine{0%,55%{background-position:160% 0}100%{background-position:-60% 0}}
.nav>:not(.menu){position:relative;z-index:1}
.nav .brand{grid-column:2;justify-self:center;gap:12px}
.nav .brand img{width:46px;filter:drop-shadow(0 4px 10px rgba(15,42,67,.35)) drop-shadow(0 0 14px rgba(42,147,181,.35))}
.nav .brand span{display:block;font:600 27px/1 var(--serif);letter-spacing:.01em;background:linear-gradient(100deg,#1C7A99 0%,#3AA7C9 40%,#1C7A99 75%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:brandglow 6s ease-in-out infinite alternate;filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}
@keyframes brandglow{to{background-position:100% 0}}
.nav .brand small{margin-top:5px;font:600 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.nav .links{grid-column:1;grid-row:1;margin-left:0;justify-self:start}
.nav>.pill{grid-column:3;grid-row:1;justify-self:end}
.nav .burger{grid-column:3;grid-row:1;justify-self:end;background:linear-gradient(160deg,rgba(255,255,255,.8),rgba(255,255,255,.35));border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff,0 8px 18px -8px rgba(15,42,67,.35)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav{border-color:rgba(255,255,255,.22);background:linear-gradient(160deg,rgba(255,255,255,.15),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 16px 40px -14px rgba(0,0,0,.7)}:root:not([data-theme="light"]) .nav::before{background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.22) 50%,transparent 62%);background-size:260% 100%;background-position:160% 0}:root:not([data-theme="light"]) .nav .brand span{background-image:linear-gradient(100deg,#7FD1EA 0%,#CDEFF8 40%,#7FD1EA 75%);background-size:220% 100%;filter:none}:root:not([data-theme="light"]) .nav .brand small{color:#F3F4F6;-webkit-text-fill-color:#F3F4F6}:root:not([data-theme="light"]) .nav .burger{background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.05));border-color:rgba(255,255,255,.25)}}
:root[data-theme="dark"] .nav{border-color:rgba(255,255,255,.22);background:linear-gradient(160deg,rgba(255,255,255,.15),rgba(255,255,255,.05))}
:root[data-theme="dark"] .nav::before{background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.22) 50%,transparent 62%);background-size:260% 100%;background-position:160% 0}
:root[data-theme="dark"] .nav .brand span{background-image:linear-gradient(100deg,#7FD1EA 0%,#CDEFF8 40%,#7FD1EA 75%);background-size:220% 100%;filter:none}
:root[data-theme="dark"] .nav .brand small{color:#F3F4F6;-webkit-text-fill-color:#F3F4F6}
@media (prefers-reduced-motion:reduce){.nav::before,.nav .brand span{animation:none}}
@media (max-width:1000px){.nav .links a{padding:9px 11px;font-size:14px}.nav>.pill{padding-left:16px;padding-right:16px}}
@media (max-width:720px){.nav{padding:9px 10px 9px 14px}.nav .brand img{width:40px}.nav .brand span{font-size:23px}.nav .brand small{font-size:9.5px;letter-spacing:.17em}.nav .brand{gap:10px}}

/* final polish */
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:12px;background:var(--ink);color:var(--bg);font-weight:600;text-decoration:none}.skip:focus{top:10px}
.navr{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:8px}
.tg,.totop{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;cursor:pointer;color:var(--ink);background:linear-gradient(160deg,rgba(255,255,255,.8),rgba(255,255,255,.35));border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff,0 8px 18px -8px rgba(15,42,67,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tg .su{display:none}.tg .mo{display:block}
:root[data-theme="dark"] .tg .su{display:block}:root[data-theme="dark"] .tg .mo{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tg .su{display:block}:root:not([data-theme="light"]) .tg .mo{display:none}:root:not([data-theme="light"]) .tg,:root:not([data-theme="light"]) .totop{background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.05));border-color:rgba(255,255,255,.25);box-shadow:0 8px 18px -8px #000}}
:root[data-theme="dark"] .tg,:root[data-theme="dark"] .totop{background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.05));border-color:rgba(255,255,255,.25);box-shadow:0 8px 18px -8px #000}
.nav .navr .burger{margin:0}
@media (max-width:720px){.navr>.pill{display:none}}
.totop{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:30;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s,transform .25s}.totop.show{opacity:1;pointer-events:auto;transform:none}
.ic{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:16px;color:var(--accent2);border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.trust li{display:grid;justify-items:center;text-align:center;gap:2px;padding:20px 12px;border-radius:24px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 38%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.trust .ic{width:44px;height:44px;margin-bottom:8px;border-radius:14px}.trust .ic svg{width:22px;height:22px}
.trust b{font:600 15px/1.3 var(--sans)}.trust span:not(.ic){color:var(--muted);font-size:13.5px}
@media (max-width:900px){.trust ul{grid-template-columns:1fr 1fr}}
.badge{display:inline-block;margin-top:14px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 45%,transparent);color:var(--muted);font-size:13.5px}
.foot-fine a{color:inherit}
.cpb{margin-left:8px;padding:2px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:inherit;font:500 12px var(--sans);cursor:pointer}
#ok.good{background:#2e7d5b22;border-color:#2e7d5b;font-weight:600}
#ok.good::before{content:"\2713  "}
@media (max-width:720px){.nav{grid-template-columns:1fr auto 1fr;padding:8px 8px 8px 12px}.nav .brand{gap:8px}.nav .brand img{width:34px}.nav .brand span{font-size:21px}.nav .brand small{font-size:8.5px;letter-spacing:.13em}.navr{gap:6px}.tg,.nav .burger{width:38px;height:38px}}

/* accessibility, mobile bar */
:root{--eb:#13607A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--eb:var(--accent)}}
:root[data-theme="dark"]{--eb:var(--accent)}
.eyebrow{color:var(--eb)}.band .eyebrow{color:var(--accent-dk)}
:focus-visible{outline:2px solid var(--accent2);outline-offset:3px;border-radius:8px}
.pill:focus-visible,.burger:focus-visible,.tg:focus-visible,.totop:focus-visible{outline-offset:4px;border-radius:999px}
.band :focus-visible{outline-color:var(--accent-dk)}

/* client portal */
.plogin{display:grid;place-items:center;min-height:70vh;padding:20px 0}
.lcard{width:100%;text-align:center}.lcard label{text-align:left;display:block;margin-bottom:12px;font-size:14px}
.plogin input,.pcard textarea,.mf textarea{width:100%;color:var(--ink);background:color-mix(in srgb,var(--surface) 80%,transparent);border:1px solid var(--line);border-radius:14px;padding:11px 14px;font:400 15px/1.4 var(--sans);margin-top:5px}
.plogin .box{padding:28px;border-radius:28px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 58%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 40px -22px var(--shadow)}
.plogin .sub{color:var(--muted)}.plogin .msg{margin-top:12px;color:#B8453A}
.lnk{background:none;border:0;color:var(--accent2);font:500 14px var(--sans);text-decoration:underline;cursor:pointer;padding:4px}
.demo-b{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px 18px;border-radius:18px;margin:6px 0 16px;border:1px solid var(--accent2);background:color-mix(in srgb,var(--accent2) 12%,transparent)}
.phero2{position:relative;overflow:hidden;padding:30px;border-radius:32px;color:#fff;margin-bottom:14px;background:radial-gradient(circle at 88% 0%,rgba(127,209,234,.38),transparent 55%),linear-gradient(150deg,#1b4160,#0B1F33);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 26px 54px -28px rgba(15,42,67,.8)}
.phero2::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);background-size:260% 100%;background-position:160% 0;animation:navshine 9s ease-in-out infinite}
.phero2>*{position:relative}
.phero2 small{font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#7FD1EA}
.phero2 h1{font-size:clamp(30px,4.4vw,46px);text-align:left;margin:10px 0 10px;color:#fff;text-shadow:none}.phero2 h1::after{content:none!important}
.phero2 p{max-width:42em;margin:0;color:#dbe4ee;font-size:17px;line-height:1.55;text-align:left}
.pstats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.pstats div{padding:14px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.pstats b{display:block;font:500 28px/1.1 var(--serif);color:#7FD1EA}.pstats span{font-size:13px;color:#cfd8e2}
.pnav{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:8px;position:sticky;top:84px;z-index:5}
.pnav a{flex:none;padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-decoration:none;font:500 14px var(--sans);color:var(--ink)}
.pcard{padding:24px;border-radius:26px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 40px -24px var(--shadow);margin-bottom:16px}
.pcard h3{font-size:26px;margin:0 0 4px;text-align:left}.pcard h4{font:600 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--eb);margin:0 0 10px}
.pj-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.ptag{display:inline-block;padding:5px 14px;border-radius:999px;font:600 13px var(--sans);color:#fff;background:linear-gradient(145deg,var(--accent2),var(--accent-dk))}
.ptag.q-sent{background:linear-gradient(145deg,#2F5F8A,#1b3f63)}.ptag.q-accepted{background:linear-gradient(145deg,#2e8b6a,#1f6a4f)}
.stg{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;counter-reset:s}
.stg li{position:relative;text-align:center;display:grid;justify-items:center;gap:4px;color:var(--muted);font-size:12.5px;line-height:1.35}
.stg li::before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:3px;background:var(--line);z-index:0}.stg li:first-child::before{display:none}
.stg li.d::before,.stg li.c::before{background:var(--accent2)}
.stg i{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 14px var(--sans);font-style:normal;background:var(--surface);border:2px solid var(--line);color:var(--muted)}
.stg li.d i{background:var(--accent2);border-color:var(--accent2);color:#fff}.stg li.c i{border-color:var(--accent2);color:var(--accent2);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent2) 22%,transparent)}
.stg b{font:600 14px var(--sans);color:var(--ink)}.stg li.c b{color:var(--accent2)}
.meters{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.meters:has(>div:only-child){grid-template-columns:1fr}
.mrow{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px}
.bar2{height:10px;border-radius:10px;background:var(--line);overflow:hidden;margin:6px 0}.bar2>i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--accent2),var(--accent-dk))}.bar2.over>i{background:#c0392b}
.grid2p{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tl{list-style:none;margin:0;padding:0;display:grid;gap:8px}.tl.lim:not(.all) li:nth-child(n+6){display:none}
.tl li{display:flex;gap:10px;align-items:center;font-size:15px}.tl li span:nth-child(2){flex:1}.tl em{font-style:normal;font-size:13px;color:var(--muted)}.tl em.late{color:#B8453A;font-weight:600}
.ck{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:inline-grid;place-items:center;font-size:12px}.ck.on{background:var(--accent2);border-color:var(--accent2);color:#fff}
.dn{margin-top:12px}.dn summary{cursor:pointer;color:var(--muted);font-size:14px}.dn ul{margin-top:10px}.tl li.dd{color:var(--muted)}
.utl{display:grid;gap:12px;border-left:2px solid var(--line);padding-left:16px}
.up{position:relative}.up::before{content:"";position:absolute;left:-23px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--accent2)}
.up small{color:var(--muted)}.up b{display:block}.up p{margin:3px 0 0;color:var(--muted);font-size:14.5px;text-align:left}
.appt{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.appt:last-child{border:0}
.adate{flex:none;width:58px;text-align:center;border-radius:16px;padding:8px 0;background:linear-gradient(160deg,#1b4160,#0B1F33);color:#fff}.adate b{display:block;font:500 24px/1 var(--serif);color:#7FD1EA}.adate span{font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.qd summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;list-style:none}.qd summary::-webkit-details-marker{display:none}.qd summary>span:first-child{flex:1;min-width:200px}.qtotal{font:600 20px var(--serif)}
.qt{width:100%;border-collapse:collapse;margin:16px 0 8px;font-size:14.5px}.qt th,.qt td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}.qt th{color:var(--muted);font-weight:600}.qt td:nth-child(n+3),.qt th:nth-child(n+3){text-align:right}
.qsum{text-align:right;margin-bottom:10px}
.thread{max-height:340px;overflow-y:auto;display:grid;gap:10px;padding:4px 2px 12px}
.bub{max-width:82%;padding:10px 14px;border-radius:18px;font-size:15px}.bub small{display:block;opacity:.7;margin-top:4px;font-size:12px}
.bub.me{justify-self:end;background:linear-gradient(145deg,var(--accent2),var(--accent-dk));color:#fff;border-bottom-right-radius:6px}.bub.them{justify-self:start;background:color-mix(in srgb,var(--surface) 85%,transparent);border:1px solid var(--line);border-bottom-left-radius:6px}
.mf{display:grid;gap:10px}.mf textarea{min-height:88px;resize:vertical}
.thanks{text-align:center;color:var(--muted);margin:30px 0 8px}
.ptoast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:#0F2A43;color:#fff;padding:12px 22px;border-radius:999px;box-shadow:0 14px 30px -10px rgba(0,0,0,.4);z-index:50;font-size:14.5px}
#pprint{display:none}
@media print{body>*:not(#pprint){display:none!important}#pprint{display:block!important;color:#111;background:#fff;font:14px/1.5 Georgia,serif;padding:24px}#pprint table{width:100%;border-collapse:collapse;margin:16px 0}#pprint th,#pprint td{border-bottom:1px solid #ccc;padding:8px;text-align:left}#pprint h1{font:600 28px Georgia,serif;margin:0;color:#0F2A43}.pd-h{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid #2A93B5;padding-bottom:14px}}
@media(max-width:800px){.pstats{grid-template-columns:1fr 1fr}.grid2p,.meters{grid-template-columns:1fr}.stg{grid-template-columns:1fr;gap:14px}.stg li{grid-template-columns:36px 1fr;text-align:left;justify-items:start;align-items:center;column-gap:12px}.stg li::before{display:none}.stg li span{grid-column:2}.stg li b{grid-column:2}.stg li i{grid-row:1/span 2}.pnav{top:76px}.phero2{padding:24px 20px}}

/* header v3: centered two-row glass */
@media (min-width:721px){
.nav{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;row-gap:8px;padding:16px 28px 12px;border-radius:34px;transition:padding .25s,row-gap .25s}
.nav .brand{grid-column:1;grid-row:1;justify-self:center;gap:14px;transition:gap .25s}
.nav .brand img{width:58px;transition:width .25s}
.nav .brand span{font-size:34px;text-align:left}
.nav .brand small{font-size:11px;letter-spacing:.34em;margin-top:6px}
.nav .links{grid-column:1;grid-row:2;justify-self:center;margin:0;gap:6px;position:relative;padding-top:10px}
.nav .links::before{content:"";position:absolute;top:0;left:50%;width:min(420px,70%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#2A93B5,transparent)}
.nav .links a{padding:8px 20px;font-size:15px;letter-spacing:.02em}
.nav .navr{display:none}
.nav.sm{padding:8px 24px 6px;row-gap:2px}
.nav.sm .brand img{width:36px}.nav.sm .brand span{font-size:23px}.nav.sm .brand small{display:none}.nav.sm .links{padding-top:6px}.nav.sm .links a{padding:5px 18px}
}
@media (max-width:720px){.nav .links::before{display:none}}
.pnav{top:150px}
@media(max-width:800px){.pnav{top:76px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav{background:linear-gradient(160deg,rgba(30,52,76,.85),rgba(11,22,35,.78))}}
:root[data-theme="dark"] .nav{background:linear-gradient(160deg,rgba(30,52,76,.85),rgba(11,22,35,.78))}
.grid2p>*{min-width:0}.pcard{min-width:0;overflow-wrap:anywhere}

/* header mobile: logo left, name centered, menu right */
@media (max-width:720px){
.nav{grid-template-columns:44px 1fr 44px;column-gap:8px;padding:8px 10px;align-items:center}
.nav .brand{display:contents}
.nav .brand img{grid-column:1;grid-row:1;width:40px;justify-self:start}
.nav .brand span{grid-column:2;grid-row:1;justify-self:center;text-align:center;font-size:24px}
.nav .brand small{text-align:center;font-size:9px;letter-spacing:.18em;margin-top:4px}
.nav .navr{grid-column:3;grid-row:1;justify-self:end}
.nav .links{display:none}
.foot .brand{display:flex}
}

@media (min-width:721px){.nav .brand img{width:68px}.nav.sm .brand img{width:42px}}
@media (max-width:720px){.nav .brand img{width:42px}}

/* header v4: page buttons in one row under the logo; logins live in the menu */
.menu{left:auto;right:0;width:min(290px,100%)}
@media (min-width:721px){.menu{display:none!important}.menu.open{display:grid!important}}
.menu a.adm:first-child{border-top:0;margin-top:0}
.menu a.adm{border-radius:16px}
.nav .burger{display:grid}
.nav .links a{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,transparent)}
.nav .links a.on{background:linear-gradient(145deg,var(--accent2),var(--accent-dk));border-color:transparent;color:#fff}
@media (min-width:721px){.nav .navr{display:block;position:absolute;right:18px;top:16px}.nav.sm .navr{top:8px}}
@media (max-width:720px){
.nav{grid-template-rows:auto auto;row-gap:8px}
.nav .links{display:flex!important;grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:center;gap:5px;margin:0;padding-top:8px;position:relative;flex-wrap:nowrap}
.nav .links::before{display:block;content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#2A93B5,transparent)}
.nav .links a{flex:1 1 0;min-width:0;text-align:center;padding:8px 4px;font-size:13.5px;white-space:nowrap}
}
@media (max-width:360px){.nav .links{gap:4px}.nav .links a{font-size:12.5px;padding:7px 2px}}

/* header v5: header scrolls away; page buttons stay and morph into icon bubbles */
.nav{position:relative;top:auto;z-index:25}
@media (min-width:721px){.nav{row-gap:0;padding:14px 28px 12px;border-radius:34px}.nav.sm{padding:14px 28px 12px}}
@media (max-width:720px){.nav{grid-template-rows:auto;row-gap:0}}
.pbar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 8px);z-index:24;max-width:1160px;margin:10px auto 0;display:flex;justify-content:center;gap:8px;pointer-events:none}
.pbar a{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:0;min-width:0;height:46px;padding:0 22px;border-radius:999px;text-decoration:none;font:500 15px/1 var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;border:1px solid rgba(255,255,255,.75);background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(255,255,255,.4));backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px -12px rgba(27,42,65,.35);transition:padding .38s cubic-bezier(.4,0,.2,1),width .38s cubic-bezier(.4,0,.2,1),flex .38s cubic-bezier(.4,0,.2,1),transform .2s,background .2s}
.pbar a:hover{transform:translateY(-1px)}
.pbar a.on{color:#fff;border-color:transparent;background:linear-gradient(145deg,var(--accent2),var(--accent-dk));box-shadow:0 10px 24px -10px var(--glow)}
.pbar .pl{display:inline-block;max-width:140px;opacity:1;overflow:hidden;transition:max-width .38s cubic-bezier(.4,0,.2,1),opacity .22s .1s}
.pbar .pi{flex:none;width:0;height:22px;opacity:0;transform:scale(.4);transition:width .38s cubic-bezier(.4,0,.2,1),opacity .25s,transform .38s cubic-bezier(.34,1.56,.64,1)}
.pbar.mini a{width:46px;padding:0;flex:0 0 46px;border-radius:50%}
.pbar.mini .pl{max-width:0;opacity:0;transition:max-width .3s cubic-bezier(.4,0,.2,1),opacity .12s}
.pbar.mini .pi{width:22px;opacity:1;transform:scale(1);transition-delay:.08s}
@media (max-width:720px){.pbar{margin:8px 0 0;gap:5px}.pbar a{flex:1 1 0px;padding:0 4px;font-size:13.5px}.pbar.mini a{flex:0 0 46px}}
@media (max-width:360px){.pbar a{font-size:12.5px;padding:0 2px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pbar a:not(.on){color:#fff;border-color:rgba(255,255,255,.22);background:linear-gradient(160deg,rgba(38,55,79,.82),rgba(14,22,35,.72));box-shadow:0 10px 24px -12px #000}}
:root[data-theme="dark"] .pbar a:not(.on){color:#fff;border-color:rgba(255,255,255,.22);background:linear-gradient(160deg,rgba(38,55,79,.82),rgba(14,22,35,.72))}
@media (prefers-reduced-motion:reduce){.pbar a,.pbar .pl,.pbar .pi{transition:none}}
.pnav{top:72px}
/* header v5b: themed icons */
.pbar .pi{color:var(--accent)}
.pbar a.on .pi{color:#fff}
.pbar.mini a:not(.on){border-color:var(--accent2);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 3px var(--glow),0 10px 24px -12px rgba(27,42,65,.35)}
.pbar.mini a:hover .pi{transform:scale(1.12)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pbar a:not(.on) .pi{color:var(--accent)}:root:not([data-theme="light"]) .pbar.mini a:not(.on){border-color:rgba(127,209,234,.55)}}
:root[data-theme="dark"] .pbar a:not(.on) .pi{color:var(--accent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pbar a.on,:root:not([data-theme="light"]) .pbar a.on .pi{color:#04202C}}
:root[data-theme="dark"] .pbar a.on,:root[data-theme="dark"] .pbar a.on .pi{color:#04202C}

/* light background + visible watermark + page transition */
:root{--bg:#EEF1F4;--line:#D9DFE6;--ph1:#E3E8ED;--ph2:#D2DAE2;--wm:.3}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--wm:.24}}
:root[data-theme="dark"]{--wm:.24}
.wm{z-index:0;filter:contrast(1.08) saturate(1.1)}
.nav,main,.foot{position:relative;z-index:1}
@keyframes pgin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.nav,main,.foot{animation:pgin .5s cubic-bezier(.22,.8,.3,1) both}
.leaving .nav,.leaving main,.leaving .foot{opacity:0;transform:translateY(12px);transition:opacity .34s ease,transform .34s ease}
.leaving .wm{opacity:calc(var(--wm)*.6);transition:opacity .34s}
@media (prefers-reduced-motion:reduce){.nav,main,.foot{animation:none}}

/* motion: tabs, pop-ups, buttons */
.fxbox{position:relative}
.fxi{position:absolute;left:0;top:0;pointer-events:none;border-radius:999px;transition:transform .42s cubic-bezier(.4,0,.2,1),width .42s cubic-bezier(.4,0,.2,1),height .42s cubic-bezier(.4,0,.2,1),opacity .2s}
.fxi:not(.v){bottom:6px;top:auto;height:3px;background:linear-gradient(90deg,var(--accent2),var(--accent));box-shadow:0 0 12px var(--glow)}
.fxi.v{left:0;width:4px;background:#7FD1EA;box-shadow:0 0 12px rgba(127,209,234,.7)}
.pnav a.on{color:var(--accent);border-color:var(--accent2)}
@keyframes fxin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#main>*{animation:fxin .38s cubic-bezier(.22,.8,.3,1) both}
@keyframes fxpop{from{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}
.menu.open{transform-origin:top right;animation:fxpop .26s cubic-bezier(.2,.8,.2,1)}
@keyframes fxbd{from{backdrop-filter:blur(0);background:rgba(8,16,28,0)}to{backdrop-filter:blur(8px);background:rgba(8,16,28,.55)}}
.rdlg::backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.rdlg[open]::backdrop{animation:fxbd .3s ease both}
.rdlg[open]{animation:rdin .38s cubic-bezier(.2,.8,.2,1)}
.pill{position:relative}
.pill.busy{color:transparent!important;pointer-events:none}
.pill.busy::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:fxsp .7s linear infinite}
@keyframes fxsp{to{transform:rotate(360deg)}}
.pill.done{color:transparent!important;pointer-events:none}
.pill.done::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:13px;margin:-9px 0 0 -3px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);animation:fxck .38s .05s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes fxck{to{transform:rotate(45deg) scale(1)}}
#ok.good{animation:fxin .4s ease both}
@media (prefers-reduced-motion:reduce){.fxi{transition:none}#main>*,.menu.open,.rdlg[open],.rdlg[open]::backdrop,#ok.good{animation:none}.pill.busy::after{animation-duration:1.6s}}

/* soft press feel: gentle settle, no squish */
.pill,.pbar a,.burger,.totop,.menu a,.pnav a,.side nav button{transition:transform .22s cubic-bezier(.22,.8,.3,1),box-shadow .22s ease,background .2s,filter .2s}
.pill:hover,.pbar a:hover{transform:translateY(-1px)}
.pill:active,.pbar a:active,.burger:active,.totop:active,.menu a:active,.pnav a:active,.side nav button:active{transform:translateY(1px) scale(.985);filter:brightness(.97);transition-duration:.08s}
@media (prefers-reduced-motion:reduce){.pill:active,.pbar a:active,.burger:active,.totop:active,.menu a:active,.pnav a:active,.side nav button:active{transform:none}}

/* footer: symmetrical */
.foot-in{gap:20px}
.foot-social{display:grid;grid-template-columns:repeat(4,168px);gap:12px;justify-content:center}
.foot-social .pill{padding:14px 10px;justify-content:center;width:100%}
.foot-contact{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:0;font:500 16px/1.4 var(--sans)}
.foot-contact a{color:var(--ink);text-decoration:none}
.foot-contact a:hover{color:var(--accent);text-decoration:underline}
.foot-contact i{width:5px;height:5px;border-radius:50%;background:var(--accent2)}
.foot-links.sub{padding-top:14px;border-top:1px solid var(--line);min-width:min(420px,100%);gap:6px 24px}
.foot-links.sub a{font-size:14px}
.foot-fine{margin:0}
@media (max-width:720px){.foot-social{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:360px}.foot-contact i{display:none}.foot-contact{flex-direction:column;gap:4px}}
.foot .brand{flex-direction:column;align-items:center;gap:8px;text-align:center}
.foot .brand span{text-align:center}
.foot .brand img{height:64px;width:auto}
.phlink{background:none;border:0;padding:0;font:inherit;color:var(--ink);cursor:pointer}
.phlink:hover{color:var(--accent);text-decoration:underline}
.foot-rv{display:grid;justify-items:center;gap:2px;margin:-8px 0 0;max-height:0;opacity:0;overflow:hidden;transform:translateY(-6px);transition:max-height .4s cubic-bezier(.22,.8,.3,1),opacity .3s,transform .4s,margin .4s}
.foot-rv.open{max-height:80px;opacity:1;transform:none;margin:0}
.foot-rv span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.foot-rv a{font:600 22px/1.3 var(--sans);color:var(--accent);text-decoration:none}
@media (prefers-reduced-motion:reduce){.foot-rv{transition:none}}
.foot-social{align-items:start}
.fc{display:grid;justify-items:center;align-content:start;gap:0}
.fc .pill{width:100%}
.rvl{display:block;max-width:100%;max-height:0;opacity:0;overflow:hidden;transform:translateY(-6px);text-align:center;font:600 15px/1.3 var(--sans);color:var(--accent);text-decoration:none;overflow-wrap:anywhere;transition:max-height .4s cubic-bezier(.22,.8,.3,1),opacity .3s,transform .4s,margin .4s}
.rvl.open{max-height:60px;opacity:1;transform:none;margin-top:10px}
.rvl:hover{text-decoration:underline}
@media (prefers-reduced-motion:reduce){.rvl{transition:none}}
/* menu above page buttons; email fits on phones */
.nav{z-index:40}
.menu{z-index:60}
@media (max-width:720px){.fc .rvl[href^="mailto"]{white-space:nowrap;overflow-wrap:normal;font-size:13px;margin-inline:-14px;max-width:none}.fc .rvl[href^="mailto"].open{margin-top:10px}}
header.nav{z-index:40}
/* Dynamic-Island style capsule when scrolled */
.pbar{transition:padding .45s cubic-bezier(.34,1.3,.64,1),gap .45s cubic-bezier(.34,1.3,.64,1),background .3s,box-shadow .4s,width .45s cubic-bezier(.34,1.3,.64,1)}
.pbar.mini{width:max-content;margin-inline:auto;padding:6px;gap:6px;border-radius:999px;background:linear-gradient(180deg,#1a2a3f,#07101b);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.5),0 14px 34px -10px rgba(5,12,22,.65),0 0 0 1px rgba(255,255,255,.08);pointer-events:auto;animation:fxisl .55s cubic-bezier(.34,1.56,.64,1)}
@keyframes fxisl{0%{transform:scale(.88,.8)}60%{transform:scale(1.04,1.06)}100%{transform:none}}
.pbar.mini a:not(.on){background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);backdrop-filter:none;-webkit-backdrop-filter:none}
.pbar.mini a:not(.on) .pi{color:#7FD1EA}
.pbar.mini a.on{background:radial-gradient(circle at 35% 28%,#A8E2F3,#2B8FB0 70%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 18px rgba(127,209,234,.45)}
.pbar.mini a.on .pi{color:#04202C}
.pbar.mini a:hover:not(.on){background:rgba(127,209,234,.2)}
.pbar a{transition:padding .45s cubic-bezier(.34,1.3,.64,1),width .45s cubic-bezier(.34,1.3,.64,1),flex .45s cubic-bezier(.34,1.3,.64,1),transform .25s cubic-bezier(.34,1.56,.64,1),background .25s}
.pbar.mini a:active{transform:scale(.92)}
@media (max-width:720px){.pbar.mini{margin-inline:auto}}
@media (prefers-reduced-motion:reduce){.pbar,.pbar a{transition:none}.pbar.mini{animation:none}}
/* header: logo replaces hamburger */
.nav .navlogo{grid-column:3;grid-row:1;justify-self:end;display:block;line-height:0}
.nav .navlogo img{width:42px;height:auto;display:block}
@media (min-width:721px){.nav .navlogo{position:absolute;right:28px;top:14px}.nav .navlogo img{width:68px}.nav::before{content:"";position:absolute;left:28px;top:14px;width:68px;height:60px;background:url(assets/logo.png?v=1792192422) center/contain no-repeat}}

/* weather */
.nav::before{display:none!important}
.nav .wx{grid-column:3;grid-row:1;justify-self:end;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:50px;height:50px;border-radius:50%;padding:0;border:1px solid rgba(255,255,255,.8);background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,255,255,.5));box-shadow:inset 0 1px 0 #fff,0 8px 20px -10px rgba(27,42,65,.4);cursor:pointer;color:var(--ink);font:600 11px/1 var(--sans);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.nav .wx:hover{transform:scale(1.06)}.nav .wx:active{transform:scale(.94)}
.wx .wxi{width:28px;height:28px;display:block;margin-top:2px}
.wx .wxt{margin-top:-1px}
.wx.off .wxt{display:none}
@media (min-width:721px){.nav .wx{position:absolute;right:26px;top:14px;width:auto;min-width:92px;height:52px;border-radius:999px;flex-direction:row;gap:6px;padding:0 16px 0 10px;font-size:17px}.wx .wxi{width:34px;height:34px;margin:0}.wx .wxt{margin:0}.wx.off{min-width:0;width:52px;padding:0;justify-content:center}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav .wx{color:#fff}}
.wxs{width:100%;height:100%;overflow:visible}
.wxs .sun circle{fill:#F4B63F}
.wxs .rays line{stroke:#F4B63F;stroke-width:2.6;stroke-linecap:round}
.wxs .rays{animation:wxspin 16s linear infinite}
.wxs .sun{animation:wxpulse 4s ease-in-out infinite}
.wxs .cl{fill:#DCE6F1;stroke:#8DA3BA;stroke-width:1.6;animation:wxdrift 6s ease-in-out infinite}
.wxs .dk .cl{fill:#B6C3D1}
.wxs .moon{fill:#EBDCA8;animation:wxpulse 5s ease-in-out infinite;transform-origin:24px 24px}
.wxs .dr line{stroke:#4C93D6;stroke-width:2.4;stroke-linecap:round;animation:wxfall 1s linear infinite}
.wxs .dr line:nth-child(2){animation-delay:.3s}.wxs .dr line:nth-child(3){animation-delay:.6s}
.wxs .sn circle{fill:#fff;stroke:#8DA3BA;stroke-width:.8;animation:wxfall 2s linear infinite}
.wxs .sn circle:nth-child(2){animation-delay:.6s}.wxs .sn circle:nth-child(3){animation-delay:1.2s}
.wxs .fg line{stroke:#8DA3BA;stroke-width:2.4;stroke-linecap:round;animation:wxfog 3s ease-in-out infinite}
.wxs .fg line:nth-child(2){animation-delay:1.2s}
.wxs .bolt{fill:#F6C945;animation:wxbolt 3s steps(1) infinite}
@keyframes wxspin{to{transform:rotate(360deg)}}
@keyframes wxpulse{50%{transform:scale(1.07)}}
@keyframes wxdrift{50%{transform:translateX(2px)}}
@keyframes wxfall{0%{transform:translateY(-3px);opacity:0}25%{opacity:1}100%{transform:translateY(5px);opacity:0}}
@keyframes wxfog{50%{opacity:.35;transform:translateX(3px)}}
@keyframes wxbolt{0%,56%,62%,100%{opacity:1}58%,60%{opacity:.15}}
.wxd{border:0;padding:0;background:transparent;width:min(440px,calc(100vw - 24px));max-height:90vh;overflow:visible;color:var(--ink);margin:auto}
.wxd::backdrop{background:rgba(8,16,28,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.wxd[open]{animation:rdin .38s cubic-bezier(.2,.8,.2,1)}
.wxd[open]::backdrop{animation:fxbd .3s ease both}
.wxin{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:26px 22px 20px;box-shadow:0 30px 80px rgba(0,0,0,.4);text-align:center}
.wxin h2{margin:0 0 12px;font:500 22px/1.2 var(--serif)}
.wxx{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.wxnow{display:flex;align-items:center;justify-content:center;gap:14px}
.wxbig{width:96px;height:96px}
.wxdeg{font:500 56px/1 var(--serif);text-align:left}.wxdeg small{font-size:22px;color:var(--muted)}
.wxcond{color:var(--muted);text-align:left;margin-top:4px}
.wxmeta{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;padding:0}
.wxmeta li{background:var(--bg);border-radius:16px;padding:10px 6px;font-size:12.5px;color:var(--muted);display:grid;gap:3px}
.wxmeta b{font-size:17px;color:var(--ink)}
.wxdays{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.wxdays li{display:grid;grid-template-columns:54px 34px 1fr 44px;align-items:center;gap:8px;padding:6px 8px;border-radius:14px;text-align:left}
.wxdays li:nth-child(odd){background:var(--bg)}
.wxdays .wxs{width:30px;height:30px}
.wxd1{font-weight:600}.wxhl{text-align:right;color:var(--muted)}.wxhl b{color:var(--ink)}.wxp{font-size:13px;color:var(--accent);text-align:right}
.wxoff{color:var(--muted);padding:16px 0}
.wxfoot{margin:12px 0 0;font-size:12px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.wxs *{animation:none!important}.wxd[open],.wxd[open]::backdrop{animation:none}}

/* about: swipeable deck */
.about .facts4.mini{margin-top:18px;grid-template-columns:repeat(4,1fr);gap:10px}
.facts4.mini div{padding:12px 8px}.facts4.mini b{font-size:20px}.facts4.mini span{font-size:12.5px}
@media (max-width:560px){.about .facts4.mini{grid-template-columns:1fr 1fr}}
.abdeck{max-width:900px;margin:0 auto;padding-top:8px}
.abtabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:6px 6px 14px;justify-content:center}
.abtabs::-webkit-scrollbar{display:none}
@media (max-width:760px){.abtabs{justify-content:flex-start}}
.abtabs button{flex:none;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--muted);font:500 15px/1 var(--sans);cursor:pointer;transition:color .25s,border-color .25s,background .25s,transform .22s cubic-bezier(.22,.8,.3,1)}
.abtabs button svg{color:var(--accent);flex:none}
.abtabs button:hover{color:var(--ink);transform:translateY(-1px)}
.abtabs button:active{transform:translateY(1px) scale(.985)}
.abtabs button.on{color:var(--ink);border-color:var(--accent2);background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:0 8px 22px -12px var(--glow)}
.abtabs .fxi{display:none}
.abtrack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:30px;align-items:stretch}
.abtrack::-webkit-scrollbar{display:none}
.abp{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;box-sizing:border-box;padding:32px 30px 30px;border-radius:30px;background:linear-gradient(160deg,color-mix(in srgb,var(--surface) 96%,transparent),color-mix(in srgb,var(--surface) 82%,transparent));border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 24px 56px -28px var(--shadow);position:relative;overflow:hidden;opacity:.35;transform:scale(.97);transition:opacity .45s,transform .45s cubic-bezier(.22,.8,.3,1)}
.abp.act{opacity:1;transform:none}
.abp::before{content:"";position:absolute;left:30px;top:0;width:64px;height:4px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--accent2),var(--accent))}
.abp h3{font:500 clamp(24px,4vw,32px)/1.2 var(--serif);margin:6px 0 14px;text-wrap:balance}
.abp p{margin:0 0 14px;color:var(--muted);max-width:62ch}
.abp .abq{color:var(--ink);font:italic 500 19px/1.5 var(--serif);border-left:3px solid var(--accent2);padding-left:14px;margin-top:20px}
.abg{margin:0 0 16px}
.abg h4{margin:0 0 8px;font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.abp .chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}
.abp .fine{font-size:13.5px;margin:6px 0 0}
.abc{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.abc article{background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:20px}
.abc b{display:inline-block;font:600 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.abc h4{margin:0 0 6px;font:500 20px/1.25 var(--serif)}
.abc p{margin:0;font-size:15px}
.abl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.abl li{display:grid;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:16px 18px}
.abl b{font:600 17px/1.3 var(--sans);color:var(--ink)}.abl span{color:var(--muted);font-size:15px}
.abhint{text-align:center;color:var(--muted);font-size:13px;margin:14px 0 0;letter-spacing:.04em}
@media (max-width:700px){.abp{padding:28px 20px 24px}.abc,.abl{grid-template-columns:1fr}.abp::before{left:20px}}
@media (prefers-reduced-motion:reduce){.abp{transition:none;opacity:1;transform:none}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .abp{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 56px -28px #000}}
.abtrack{align-items:flex-start;overflow-y:hidden;transition:height .4s cubic-bezier(.22,.8,.3,1)}
@media (prefers-reduced-motion:reduce){.abtrack{transition:none}}

/* speed: lighter transitions */
.wm{filter:none}
.nav,main,.foot{animation:pgin2 .22s ease-out both}
@keyframes pgin2{from{opacity:0}to{opacity:1}}
.leaving .nav,.leaving main,.leaving .foot{opacity:0;transform:none;transition:opacity .14s ease}
.leaving .wm{transition:none}

/* steps fader v2: only the active step shows; clean sequential fade, no overlap */
.js .steps.fader .step{opacity:0!important;visibility:hidden!important;transform:translateY(8px)!important;transition:opacity .22s ease,transform .22s ease,visibility 0s .22s!important;transition-delay:0s!important;pointer-events:none;animation:none!important}
.js .steps.fader .step.on{opacity:1!important;visibility:visible!important;transform:none!important;transition:opacity .4s ease .24s,transform .4s cubic-bezier(.2,.8,.2,1) .24s,visibility 0s .24s!important;pointer-events:auto}
.steps.fader .step::before,.steps.fader .step::after{animation:none!important}
.steps.fader .step:hover{transform:none!important}
.abc article:nth-child(odd):last-child{grid-column:1/-1}

/* main call-to-action buttons: warm gold accent on the teal-blue site */
main.wrap .cta .pill:not(.ghost),#f button.pill[type=submit],.mcta{background:linear-gradient(180deg,#E0AC55,#A06F25)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important;text-shadow:0 1px 0 rgba(80,50,10,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 26px -8px rgba(176,122,42,.55)!important}
main.wrap .cta .pill:not(.ghost):hover,#f button.pill[type=submit]:hover{filter:brightness(1.06)}
main.wrap .cta .pill:not(.ghost):active,#f button.pill[type=submit]:active{filter:brightness(.96)}
.pill.busy::after{border-color:rgba(255,255,255,.4);border-top-color:#fff}
/* softer background logo in light mode so text stays easy to read */
:root{--wm:.2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--wm:.24}}
:root[data-theme="dark"]{--wm:.24}

/* service categories: web design, resumes, data documentation */
.cats{max-width:640px;margin:0 auto}
.cattabs{display:flex;gap:8px;overflow-x:auto;justify-content:center;padding:4px 2px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cattabs::-webkit-scrollbar{display:none}
.cattabs button{flex:0 0 auto;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.4));color:var(--ink);font:600 14px var(--sans);padding:10px 16px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .3s,color .3s,transform .2s,box-shadow .3s}
.cattabs button.on{background:linear-gradient(180deg,var(--accent),var(--accent2));color:#fff;border-color:transparent;box-shadow:0 8px 20px -8px rgba(28,122,153,.6)}
.cattabs button:active{transform:translateY(1px) scale(.985)}
.catp[hidden]{display:none}
.catp.on{animation:catin .45s cubic-bezier(.2,.7,.2,1) both}
@keyframes catin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.consult{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;margin:16px auto 0;padding:12px 16px;border-radius:16px;border:1px dashed var(--line);max-width:420px}
.consult b{font:500 20px var(--serif);color:var(--title)}
.consult span{color:var(--muted);font-size:13.5px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cattabs button{background:rgba(255,255,255,.07);color:#E6EEF5}}
:root[data-theme="dark"] .cattabs button{background:rgba(255,255,255,.07);color:#E6EEF5}
@media (prefers-reduced-motion:reduce){.catp.on{animation:none}}
.cattabs{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;gap:8px;padding:4px 0 14px}
.cattabs button{white-space:normal;padding:10px 6px;font-size:13.5px;line-height:1.2;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
@media (min-width:520px){.cattabs button{font-size:14.5px}}
.cattabs button.on,:root[data-theme="dark"] .cattabs button.on{background:linear-gradient(180deg,var(--accent),var(--accent2));color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cattabs button.on{background:linear-gradient(180deg,var(--accent),var(--accent2));color:#fff}}

/* merry-go-round tabs: side tabs curve away, the selected tab turns straight */
.cats.ring .cattabs{display:block;position:relative;height:64px;padding:0;margin:0 0 10px;perspective:700px;perspective-origin:50% 40%;overflow:visible}
.cats.ring .cattabs button{position:absolute;left:30%;top:6px;width:40%;min-height:48px;transform-origin:50% 50%;transition:transform .7s cubic-bezier(.34,1.3,.5,1),opacity .5s ease,background .4s,color .4s,box-shadow .4s;will-change:transform}
.cats.ring .cattabs button[data-p="0"]{transform:translate3d(0,0,40px) rotateY(0) scale(1);z-index:3;opacity:1}
.cats.ring .cattabs button[data-p="-1"]{transform:translate3d(-92%,0,-70px) rotateY(48deg) scale(.86);z-index:1;opacity:.72}
.cats.ring .cattabs button[data-p="1"]{transform:translate3d(92%,0,-70px) rotateY(-48deg) scale(.86);z-index:1;opacity:.72}
.cats.ring .cattabs button[data-p="0"].on{box-shadow:0 12px 26px -8px rgba(28,122,153,.65)}
@media (prefers-reduced-motion:reduce){.cats.ring .cattabs button{transition:none}}

/* help popup + bottom-right stack */
.hlp{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:45;display:flex;align-items:center;gap:8px;height:48px;padding:0 18px 0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.35);cursor:pointer;color:#fff;font:600 15px var(--sans);background:linear-gradient(180deg,var(--accent),var(--accent2));box-shadow:0 12px 26px -8px rgba(28,122,153,.7),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .22s cubic-bezier(.22,.8,.3,1),filter .2s}
.hlp:active{transform:translateY(1px) scale(.98);filter:brightness(.97)}
.hlp.open{background:linear-gradient(180deg,#445,#223)}
.totop{bottom:calc(max(16px,env(safe-area-inset-bottom,0px)) + 62px)!important}
.hlpp{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(max(16px,env(safe-area-inset-bottom,0px)) + 62px);z-index:44;width:min(360px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 140px));overflow:auto;border-radius:24px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,#fff);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 30px 60px -20px rgba(8,30,50,.55);color:var(--ink);opacity:0;transform:translateY(14px) scale(.96);transform-origin:100% 100%;transition:opacity .25s ease,transform .3s cubic-bezier(.2,.8,.3,1)}
.hlpp[hidden]{display:none}
.hlpp.on{opacity:1;transform:none}
.hlpp .hh{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px 20px;border-bottom:1px solid var(--line)}
.hlpp .hh b{font:500 19px var(--serif);color:var(--title)}
.hlpp .hx{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.hlpp .hb{padding:16px 20px 20px}
.hlpp p{margin:0 0 12px;font-size:14.5px;line-height:1.5}
.hlpp .hch{display:grid;gap:8px}
.hlpp .hch button{text-align:left;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.5);color:var(--ink);font:500 14.5px var(--sans);cursor:pointer;transition:transform .15s,border-color .2s,background .2s}
.hlpp .hch button:hover{border-color:var(--accent2)}
.hlpp .hch button:active{transform:scale(.985)}
.hlpp .hl{display:inline-block;margin:0 0 12px;color:var(--accent2);font-weight:600;font-size:14.5px;text-decoration:none}
.hlpp .hq{color:var(--muted);margin-bottom:10px}
.hlpp form{display:grid;gap:8px}
.hlpp input,.hlpp textarea{width:100%;box-sizing:border-box;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.65);color:var(--ink);font:400 15px var(--sans)}
.hlpp .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.hlpp .he{color:#B3412B;font-size:13.5px;margin:0;min-height:0}
.hlpp .he:empty{display:none}
.hlpp .hacts{display:flex;gap:8px;justify-content:space-between}
.hlpp .hbk{padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--ink);font:500 14.5px var(--sans);cursor:pointer}
.hlpp .hs2{padding:10px 22px;border-radius:999px;border:0;cursor:pointer;color:#fff;font:600 14.5px var(--sans);background:linear-gradient(180deg,#E0AC55,#A06F25);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.hlpp .hs2:disabled{opacity:.7}
.hlpp .hok{text-align:center;display:grid;gap:6px;justify-items:center;padding:8px 0}
.hlpp .hok svg{color:var(--accent2)}
.hlpp .hok b{font:500 22px var(--serif);color:var(--title)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hlpp{background:rgba(14,30,46,.94)}:root:not([data-theme="light"]) .hlpp .hch button,:root:not([data-theme="light"]) .hlpp input,:root:not([data-theme="light"]) .hlpp textarea{background:rgba(255,255,255,.07)}}
:root[data-theme="dark"] .hlpp{background:rgba(14,30,46,.94)}:root[data-theme="dark"] .hlpp .hch button,:root[data-theme="dark"] .hlpp input,:root[data-theme="dark"] .hlpp textarea{background:rgba(255,255,255,.07)}
@media (prefers-reduced-motion:reduce){.hlpp{transition:none}}
.hlpp form{padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;max-width:none!important}

/* pricing note */
.pnote{display:flex;align-items:flex-start;gap:12px;max-width:560px;margin:18px auto 0;padding:14px 16px;border-radius:18px;border:1px solid rgba(176,122,42,.55);background:linear-gradient(160deg,rgba(224,172,85,.2),rgba(224,172,85,.07));color:var(--ink);text-align:left;box-shadow:0 10px 24px -14px rgba(176,122,42,.6)}
.pnote svg{flex:none;margin-top:1px;color:#B07A2A}
.pnote p{margin:0!important;font-size:14.5px;line-height:1.5;color:var(--ink)}
.pnote b{color:var(--title);display:block;font-weight:600}
.rdin .pnote{margin-top:14px}
.hlpp .hn{margin:0 0 12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(176,122,42,.5);background:rgba(224,172,85,.14);font-size:13.5px}
.hlpp .hn b{display:block;color:var(--title)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pnote svg{color:#E0AC55}}
:root[data-theme="dark"] .pnote svg{color:#E0AC55}
.frame.sq img{object-position:50% 55%}
.cattabs button[hidden]{display:none!important}
.cats.ring .cattabs button[data-p="-2"]{transform:translate3d(0,0,-140px) scale(.7);opacity:0;pointer-events:none;z-index:0}
.cats.ring .cattabs button:not([data-p]){display:none}
.teaser[hidden],section[hidden]{display:none!important}
.hlp[hidden]{display:none!important}

/* reviews */
.rvl2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;max-width:960px;margin:0 auto 16px}
.rvl2:empty{display:none}
.rvc2{padding:18px 20px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.7),rgba(255,255,255,.35));box-shadow:0 14px 30px -18px var(--shadow,rgba(8,30,50,.4))}
.rvc2 .rs{display:flex;gap:2px;color:#D9A24A;margin-bottom:8px}
.rvc2 p{margin:0 0 12px;line-height:1.55}
.rvc2 footer{display:grid;gap:2px;font-size:13.5px;color:var(--muted)}.rvc2 footer b{color:var(--title);font-weight:600}
.rve{text-align:center;color:var(--muted);max-width:34em;margin:0 auto 14px}.rve[hidden]{display:none}
.rvf{max-width:520px;margin:18px auto 0;padding:20px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.7),rgba(255,255,255,.35));display:grid;gap:12px;text-align:left}
.rvf[hidden],#rvb[hidden]{display:none}
.rvf label{display:grid;gap:6px;font-weight:500;font-size:14.5px}
.rvf input[type=text],.rvf input:not([type]),.rvf select,.rvf textarea{width:100%;box-sizing:border-box;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.7);color:var(--ink);font:400 15px var(--sans)}
.rvf .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.rvf .hp{position:absolute;left:-9999px;opacity:0;width:1px;height:1px}
.rvr{border:0;padding:0;margin:0}.rvr legend{font-weight:500;font-size:14.5px;margin-bottom:6px;padding:0}
.stars{display:inline-flex;flex-direction:row-reverse;gap:4px}
.stars input{position:absolute;opacity:0;pointer-events:none}
.stars label{cursor:pointer;color:var(--line);transition:color .15s,transform .15s;display:block}
.stars label svg{display:block;width:30px;height:30px}
.stars input:checked~label,.stars label:hover,.stars label:hover~label{color:#D9A24A}
.stars input:focus-visible+label{outline:2px solid var(--accent2);outline-offset:3px;border-radius:6px}
.rvm{margin:0;color:#B3412B;font-size:14px}.rvm:empty{display:none}
.rvf .acts{display:flex;gap:10px;flex-wrap:wrap}
.rvok{text-align:center;padding:10px 0}.rvok b{font:500 24px var(--serif);color:var(--title)}
.revs[hidden]{display:none!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rvc2,:root:not([data-theme="light"]) .rvf{background:rgba(255,255,255,.06)}:root:not([data-theme="light"]) .rvf select,:root:not([data-theme="light"]) .rvf textarea,:root:not([data-theme="light"]) .rvf input:not([type]){background:rgba(255,255,255,.07)}}
:root[data-theme="dark"] .rvc2,:root[data-theme="dark"] .rvf{background:rgba(255,255,255,.06)}
.rvf label,.rvf legend,.rvf .chk span{color:var(--ink)!important;opacity:1!important}
.rvf input[type=checkbox]{width:20px!important;height:20px;flex:none;padding:0!important;margin:2px 0 0;accent-color:var(--accent2)}
.rvf button[type=submit]{background:linear-gradient(180deg,#E0AC55,#A06F25)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important}
.rvf .stars label{color:#B9C4CE!important}
.rvf .stars input:checked~label,.rvf .stars label:hover,.rvf .stars label:hover~label{color:#D9A24A!important}
.hlpp .hch button .hpr{float:right;color:var(--accent2);font-weight:600;font-size:13.5px}
.hlpp .hch button .hd{color:var(--muted);font-size:13px;font-weight:400}
.hlpp .htr{margin:0 0 8px;padding:8px 10px;border-radius:10px;background:rgba(42,147,181,.12)}
.hlpp .hrq{color:var(--title);font:500 17px var(--serif)}

/* social icon row */
.foot-social{grid-template-columns:repeat(2,168px)}
@media (max-width:720px){.foot-social{grid-template-columns:repeat(2,minmax(0,1fr))}}
.foot-icons{display:flex;gap:12px;justify-content:center;margin-top:14px}
.foot-icons a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;color:inherit;opacity:.9;transition:transform .2s,opacity .2s,box-shadow .2s}
.foot-icons a:hover,.foot-icons a:focus-visible{opacity:1;transform:translateY(-2px);box-shadow:0 0 0 4px var(--glow,#ffffff22)}
/* themed shimmer social icons */
.foot-icons a,.social a{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.35);color:#fff;opacity:1;
  background:linear-gradient(145deg,#2A93B5 0%,#1C7A99 55%,#0F4F6A 100%);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -3px 6px rgba(0,0,0,.18),0 8px 18px -6px var(--glow)}
.foot-icons a::after,.social a::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-70%;width:45%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-18deg);animation:shim 3.6s ease-in-out infinite}
.foot-icons a:nth-child(2)::after,.social a:nth-child(2)::after{animation-delay:.5s}
.foot-icons a:nth-child(3)::after,.social a:nth-child(3)::after{animation-delay:1s}
@keyframes shim{0%,55%{left:-70%}100%{left:130%}}
.foot-icons a:hover,.foot-icons a:focus-visible,.social a:hover{transform:translateY(-3px) scale(1.06);border-color:rgba(255,255,255,.7);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.7),0 0 0 4px var(--glow),0 12px 22px -6px var(--glow)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .foot-icons a,:root:not([data-theme="light"]) .social a{background:linear-gradient(145deg,#9BDCF0 0%,#7FD1EA 50%,#3FA5C6 100%);color:#04202C;border-color:rgba(255,255,255,.5)}}
:root[data-theme="dark"] .foot-icons a,:root[data-theme="dark"] .social a{background:linear-gradient(145deg,#9BDCF0 0%,#7FD1EA 50%,#3FA5C6 100%);color:#04202C;border-color:rgba(255,255,255,.5)}
@media (prefers-reduced-motion:reduce){.foot-icons a::after,.social a::after{animation:none;display:none}}

/* v89: photo field, share row, booking link */
.bk[hidden]{display:none!important}
.sharerow{display:flex;justify-content:center;margin:34px 0 8px}
.sharerow .pill{gap:10px}
#f input[type=file]{padding:12px;border-radius:14px;width:100%;cursor:pointer}
#f .fh{display:block;margin-top:6px;font-size:13px;opacity:.78;line-height:1.4}
.foot-social{grid-template-columns:repeat(3,152px)}
@media (max-width:720px){.foot-social{grid-template-columns:repeat(3,minmax(0,1fr));max-width:400px;gap:8px}.foot-social .pill{padding:13px 6px;gap:6px;font-size:14px}.foot-social .pill svg{width:18px;height:18px}}
/* v90: premium polish: reveal, counters, icons, hero video, credentials */
.js .sr{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.js .sr.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .sr{opacity:1;transform:none;transition:none}}
/* service + trust icons */
.ic{width:56px;height:56px;border-radius:18px;border:0;color:#fff;background:linear-gradient(145deg,#2A93B5 0%,#1C7A99 55%,#0F4F6A 100%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.5),inset 0 -3px 6px rgba(0,0,0,.18),0 10px 20px -8px var(--glow);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.ic svg{width:26px;height:26px;stroke-width:1.7}
.svc:hover .ic,.card:hover .ic,.trust li:hover .ic{transform:translateY(-4px) rotate(-5deg) scale(1.07);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.6),0 0 0 5px var(--glow),0 16px 26px -8px var(--glow)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ic{background:linear-gradient(145deg,#9BDCF0,#7FD1EA 50%,#3FA5C6);color:#04202C}}
:root[data-theme="dark"] .ic{background:linear-gradient(145deg,#9BDCF0,#7FD1EA 50%,#3FA5C6);color:#04202C}
/* counters */
.stats{margin:8px 0 18px}
.stats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stats li{display:grid;justify-items:center;text-align:center;gap:4px;padding:26px 12px;border-radius:24px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 42%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.stats b{font:600 clamp(40px,5vw,58px)/1 var(--serif);font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#3AA7C9,#1C7A99 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{color:var(--muted);font-size:14px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .stats b{background:linear-gradient(180deg,#B5E6F5,#7FD1EA);-webkit-background-clip:text;background-clip:text}}
:root[data-theme="dark"] .stats b{background:linear-gradient(180deg,#B5E6F5,#7FD1EA);-webkit-background-clip:text;background-clip:text}
@media (max-width:900px){.stats ul{grid-template-columns:1fr 1fr}}
/* hero video */
.hero{position:relative;isolation:isolate}
.hbg{position:absolute;inset:-8px -24px;width:calc(100% + 48px);height:calc(100% + 16px);object-fit:cover;object-position:center 60%;z-index:-1;border-radius:36px;opacity:.12;filter:saturate(.7) blur(1px);pointer-events:none;transition:opacity 1.2s ease;-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 72%,transparent);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 72%,transparent)}
.hbg.on{opacity:.2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hbg{opacity:.2}:root:not([data-theme="light"]) .hbg.on{opacity:.3}}
:root[data-theme="dark"] .hbg{opacity:.2}:root[data-theme="dark"] .hbg.on{opacity:.3}
@media (max-width:720px){.hbg{inset:-8px -16px;width:calc(100% + 32px);border-radius:24px}}
/* credentials */
.cred{padding-top:34px}
.badges{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.badges li{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:20px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 50%,transparent);transition:transform .3s,box-shadow .3s,border-color .3s}
.badges li:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 12px 24px -12px var(--glow)}
.badges i{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:700 15px var(--sans);font-style:normal;color:#fff;background:linear-gradient(145deg,#2A93B5,#1C7A99 55%,#0F4F6A);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.5)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .badges i{background:linear-gradient(145deg,#9BDCF0,#7FD1EA 55%,#3FA5C6);color:#04202C}}
:root[data-theme="dark"] .badges i{background:linear-gradient(145deg,#9BDCF0,#7FD1EA 55%,#3FA5C6);color:#04202C}
.badges span{display:grid;min-width:0;gap:2px;text-align:left}.badges b{font:600 15px/1.25 var(--sans)}.badges small{color:var(--muted);font-size:13px}
.cfine{text-align:center;color:var(--muted);font-size:13px;margin:16px 0 0}
@media (max-width:900px){.badges{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.badges{grid-template-columns:1fr}}
