@font-face{font-family:"Instrument Sans";src:url("InstrumentSans_400Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("InstrumentSans_500Medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("InstrumentSans_600SemiBold.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("InstrumentSans_700Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"SansFallback";src:local("Helvetica Neue"),local("Arial");size-adjust:98%;ascent-override:92%;descent-override:22%;line-gap-override:0%}

:root{
  --font:'Instrument Sans','SansFallback',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --mono:ui-monospace,'SF Mono',SFMono-Regular,Menlo,monospace;
  --maxw:1240px;--pad:clamp(20px,4vw,56px);--nav-h:64px;
  --eva:#161310;
  --ease:cubic-bezier(0.16,1,0.3,1);
}
[data-theme="light"]{
  --paper:#F6F7F9;--paper-deep:#ECEEF2;--card:#FFFFFF;--card-2:#F1F3F6;
  --ink:#161310;--ink-2:#4E545C;--ink-3:#6B7178;
  --line:rgba(16,14,10,0.09);--line-2:rgba(16,14,10,0.055);--line-3:rgba(16,14,10,0.20);
  --eva:#161310;
  --st-new:#AFC8F2;--st-active:#B8D9A9;--st-stale:#F1C38F;--st-atrisk:#D8B0B8;
  --shadow:0 1px 2px rgba(16,14,10,0.04),0 8px 28px rgba(16,14,10,0.045);
  --shadow-lg:0 2px 4px rgba(16,14,10,0.05),0 24px 64px rgba(16,14,10,0.10);
}
[data-theme="dark"]{
  --paper:#0F1011;--paper-deep:#0A0B0C;--card:#141517;--card-2:#1B1C1F;
  --ink:#F2F3F1;--ink-2:#A2A6AA;--ink-3:#6E747B;
  --line:rgba(255,255,255,0.10);--line-2:rgba(255,255,255,0.055);--line-3:rgba(255,255,255,0.20);
  --eva:#F2F3F1;
  --st-new:#8FA8D6;--st-active:#8FBC82;--st-stale:#D5A56D;--st-atrisk:#B58791;
  --shadow:0 1px 2px rgba(0,0,0,0.3),0 8px 28px rgba(0,0,0,0.28);
  --shadow-lg:0 2px 4px rgba(0,0,0,0.3),0 24px 64px rgba(0,0,0,0.4);
}

*{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;overflow-x:clip;font-family:var(--font);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.5;font-weight:400}
body.tr-on{transition:background .45s ease,color .45s ease}
body.modal-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--ink)}
button{font-family:inherit}
::selection{background:rgba(16,14,10,0.12)}
.skip-link{position:fixed;top:10px;left:10px;z-index:500;padding:10px 14px;border-radius:8px;background:var(--ink);color:var(--paper);font-weight:600;transform:translateY(-150%);transition:transform .15s ease}
.skip-link:focus{color:var(--paper);transform:translateY(0)}

/* ---------- type ---------- */
.display{font-size:clamp(44px,7vw,94px);font-weight:600;letter-spacing:-0.048em;line-height:0.99;margin:0}
.h1{font-size:clamp(36px,5vw,64px);font-weight:600;letter-spacing:-0.042em;line-height:1.03;margin:0}
.h2{font-size:clamp(28px,3.6vw,46px);font-weight:600;letter-spacing:-0.036em;line-height:1.07;margin:0}
.h3{font-size:clamp(19px,1.5vw,23px);font-weight:600;letter-spacing:-0.02em;line-height:1.25;margin:0}
.lead{font-size:clamp(16.5px,1.35vw,19px);font-weight:300;color:var(--ink-2);line-height:1.62;margin:0;text-wrap:pretty}
.body{font-size:15px;font-weight:300;color:var(--ink-2);line-height:1.65;margin:0;text-wrap:pretty}
.eyebrow{font-size:13.5px;font-weight:450;letter-spacing:-0.005em;text-transform:none;color:var(--ink-2);margin:0}
.balance{text-wrap:balance}
.dim{color:var(--ink-3)}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.wrap-narrow{max-width:860px;margin:0 auto;padding:0 var(--pad)}
.sect{padding:clamp(72px,9vw,140px) 0}
.sect-sm{padding:clamp(44px,5.5vw,80px) 0}
.band{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-deep{background:var(--paper-deep)}
.invert{background:#161310;color:#F2F3F1}
.invert .lead,.invert .body{color:rgba(255,255,255,0.62)}
.invert .eyebrow{color:rgba(255,255,255,0.42)}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* section header: eyebrow above, title, optional lead */
.shead{margin-bottom:clamp(32px,4vw,56px)}
.shead .eyebrow{margin-bottom:18px}
.shead .lead{margin-top:18px;max-width:560px}
.shead-split{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}

/* ---------- reveal ---------- */
[data-rv]{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease) var(--d,0s),transform 1.1s var(--ease) var(--d,0s);will-change:opacity,transform}
[data-rv].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-rv]{opacity:1;transform:none;transition:none}}

/* ---------- nav (floating white pill, static) ---------- */
.nav{position:sticky;top:0;z-index:60;padding:clamp(10px,1.4vw,18px) clamp(10px,1.4vw,18px) 0;background:transparent;pointer-events:none}
body[data-page="index.html"] .nav,body[data-page="realty.html"] .nav,body[data-page="management.html"] .nav{margin-bottom:calc(-1*(var(--nav-h) + clamp(10px,1.4vw,18px)))}
.nav-in{pointer-events:auto}
.nav-in{margin:0;padding:0 clamp(16px,2.4vw,28px);height:var(--nav-h);display:flex;align-items:center;gap:32px;background:#FFFFFF;border-radius:18px;border:1px solid rgba(16,14,10,0.06);box-shadow:0 10px 34px rgba(16,14,10,0.10)}
.nav-logo{display:flex;align-items:center;flex:0 0 auto}
.nav-logo img{height:22px;width:auto}
.nav-logo .lg-d{display:none}
[data-theme="dark"] .nav-logo .lg-l{display:none}
[data-theme="dark"] .nav-logo .lg-d{display:block}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font-size:14px;font-weight:400;color:#4E545C;transition:color .25s ease}
.nav-links a:hover,.nav-links a.on{color:#161310}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.nav .nav-logo .lg-d{display:none}.nav .nav-logo .lg-l{display:block}
.nav-signin{font-size:14px;color:#4E545C;padding:7px 4px;transition:color .25s ease}
.nav-signin:hover{color:#161310}
.nav .btn-cta{background:#161310;color:#F2F3F1;border-color:#161310}
.nav-tog{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .25s ease,color .25s ease}
.nav-tog:hover{border-color:var(--line-3);color:var(--ink)}
.nav-tog svg{width:15px;height:15px}
.i-moon{display:none}.i-sun{display:block}
[data-theme="light"] .i-sun{display:none}
[data-theme="light"] .i-moon{display:block}
.nav-signin{font-size:14px;color:var(--ink-2);padding:7px 4px;transition:color .25s ease}
.nav-signin:hover{color:var(--ink)}
.nav-burger{display:none;width:44px;height:44px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--ink);align-items:center;justify-content:center;cursor:pointer}
.mnav{display:none;border-bottom:1px solid var(--line);background:var(--paper)}
.mnav.open{display:block}
.mnav a{display:block;padding:13px var(--pad);font-size:15px;border-bottom:1px solid var(--line-2);color:var(--ink-2)}
.mnav .m-cta{padding:16px var(--pad);border:0}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;letter-spacing:-0.005em;padding:10px 18px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s var(--ease),opacity .3s ease;white-space:nowrap}
.btn-solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-solid:hover{color:var(--paper);opacity:0.86}
.btn-cta{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-cta:hover{color:var(--paper);opacity:0.86}
.btn-line{background:var(--card);color:var(--ink);border-color:var(--line-3)}
.btn-line:hover{color:var(--ink);background:var(--card-2)}
.btn-ghost{background:none;color:var(--ink-2);border-color:transparent;padding:10px 6px}
.btn-ghost:hover{color:var(--ink)}
.btn-lg{padding:13px 24px;font-size:15px}
.btn .ar{display:inline-flex;transition:transform .35s var(--ease)}
.btn:hover .ar{transform:translateX(3px)}
.invert .btn-solid{background:#F2F3F1;color:#0B0C0D;border-color:#F2F3F1}
.invert .btn-line{background:rgba(255,255,255,0.05);color:#F2F3F1;border-color:rgba(255,255,255,0.22)}
.invert .btn-line:hover{color:#F2F3F1;background:rgba(255,255,255,0.1)}
.tlink{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line-3);padding-bottom:2px;transition:border-color .3s ease}
.tlink:hover{border-color:var(--ink)}

/* ---------- eva marks ---------- */
.eva-word{font-weight:500;color:inherit}
.sp{color:var(--ink-2)}

/* hero stat line */
.statline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:28px}
.statline>div{padding:18px 16px 0 0;border-right:1px solid var(--line-2)}
.statline>div:last-child{border-right:0}
.statline .v{font-size:clamp(22px,2.4vw,32px);font-weight:600;letter-spacing:-0.035em;line-height:1.1;margin:0 0 5px}
.statline .k{font-size:13.5px;font-weight:300;color:var(--ink-2);margin:0}

/* ---------- chips (opportunity states — dot + label) ---------- */
.chip{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;letter-spacing:0;text-transform:none;padding:0;border:0;border-radius:0;background:none;color:var(--ink);white-space:nowrap}
.chip::before{content:'';width:7px;height:7px;border-radius:999px;background:var(--dot,var(--ink-3));flex:0 0 auto}
.c-new{--dot:var(--st-new)}
.c-active{--dot:var(--st-active)}
.c-stale{--dot:var(--st-stale)}
.c-risk{--dot:var(--st-atrisk)}

/* ---------- hero ---------- */
.hero{padding-top:clamp(52px,7vw,104px);padding-bottom:clamp(48px,6vw,92px);position:relative}
.hero-sub{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:end;margin-top:clamp(26px,3vw,40px)}
.hero-sub .lead{max-width:520px;margin:0}
.hero-panel{margin-top:clamp(36px,5vw,64px)}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,0.86fr) minmax(0,1.14fr);gap:clamp(36px,5vw,72px);align-items:center}
.hero-copy{max-width:520px}
.hero-copy .display{margin-bottom:22px}
.hero-copy .lead{margin-bottom:32px;max-width:440px}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hero-note{margin-top:22px;font-size:13px;color:var(--ink-3);font-weight:300}

/* product panel — frames an app screenshot / slot */
.panel{border-radius:10px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-lg);overflow:hidden}
.panel-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line-2);background:var(--card-2)}
.panel-bar i{width:9px;height:9px;border-radius:999px;background:var(--line-3);display:block}
.panel-bar span{margin-left:6px;font-size:10.5px;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink-3)}
.panel-body{position:relative}
.panel-float{position:absolute;border-radius:11px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-lg);padding:12px 14px;z-index:3}

/* ---------- graphic hero (night city) ---------- */
.ghero{position:relative;overflow:hidden;background:linear-gradient(180deg,#0E1014 0%,#161310 55%,#141821 100%);color:#F2F3F1;padding-bottom:clamp(84px,9vw,150px)}
.ghero::before{content:'';position:absolute;left:0;right:0;bottom:0;height:44%;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(186,205,255,0.05) 100%);pointer-events:none}
.ghero-in{position:relative;z-index:2;max-width:780px;padding-top:calc(var(--nav-h) + clamp(34px,4.5vw,64px))}
.ghero-in .display{margin:20px 0 22px;color:#fff}
.ghero-in .eyebrow{color:rgba(255,255,255,0.55)}
.ghero-in .lead{max-width:520px;margin:0 0 32px;color:rgba(255,255,255,0.66)}
.ghero-note{margin-top:22px;font-size:13px;font-weight:300;color:rgba(255,255,255,0.42)}
.ghero .btn-cta{background:#fff;color:#161310;border-color:#fff}
.ghero .btn-cta:hover{color:#161310}
.ghero .btn-line{background:rgba(255,255,255,0.05);color:#F2F3F1;border-color:rgba(255,255,255,0.22)}
.ghero .btn-line:hover{color:#fff;background:rgba(255,255,255,0.1)}
.skyline{position:relative;pointer-events:none}
.skyline svg{position:absolute;inset:0;width:100%;height:100%}
.ghero-sky{position:absolute;left:0;right:0;bottom:0;height:clamp(130px,14vw,230px);overflow:hidden;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0.1) 0%,rgba(0,0,0,0.38) 28%,rgba(0,0,0,0.8) 55%,#000 78%);mask-image:linear-gradient(90deg,rgba(0,0,0,0.1) 0%,rgba(0,0,0,0.38) 28%,rgba(0,0,0,0.8) 55%,#000 78%)}
.sky-l{position:absolute;inset:0;will-change:transform;perspective:1100px}
.sky-l svg{position:absolute;inset:0;width:100%;height:100%;transform:rotateX(55deg) scale(1.6);transform-origin:50% 88%}
.win{transition:fill-opacity .5s ease;animation:winGlow var(--wd,9s) ease-in-out var(--ws,0s) infinite}
.win.lit{animation:none;fill-opacity:0.6}
@keyframes winGlow{0%,100%{fill-opacity:0.08}50%{fill-opacity:0.26}}
@media (prefers-reduced-motion:reduce){.win{animation:none}}

/* nav over photo */
body[data-nav="over"]{padding-top:0}
body[data-nav="over"] .nav{position:fixed;top:0;left:0;right:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent;transition:background .4s ease,border-color .4s ease}
body[data-nav="over"] .nav.scrolled{background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom-color:var(--line)}
body[data-nav="over"] .nav:not(.scrolled) .nav-links a{color:rgba(255,255,255,0.8)}
body[data-nav="over"] .nav:not(.scrolled) .nav-links a:hover,body[data-nav="over"] .nav:not(.scrolled) .nav-links a.on{color:#fff}
body[data-nav="over"] .nav:not(.scrolled) .nav-signin{color:rgba(255,255,255,0.8)}
body[data-nav="over"] .nav:not(.scrolled) .nav-signin:hover{color:#fff}
body[data-nav="over"] .nav:not(.scrolled) .nav-tog{border-color:rgba(255,255,255,0.3);color:rgba(255,255,255,0.85)}
body[data-nav="over"] .nav:not(.scrolled) .nav-burger{border-color:rgba(255,255,255,0.3);color:#fff}
body[data-nav="over"] .nav:not(.scrolled) .nav-logo .lg-l{display:none}
body[data-nav="over"] .nav:not(.scrolled) .nav-logo .lg-d{display:block}

/* ---------- device shots ---------- */
.shots-wrap{position:relative;margin-top:clamp(44px,5.5vw,80px)}
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,30px);align-items:end}
.shot{border-radius:22px;border:1px solid var(--line);overflow:hidden;background:var(--card);box-shadow:var(--shadow-lg)}
.shot img{width:100%;display:block}
.shots>div:nth-child(2){margin-bottom:clamp(24px,3.5vw,56px)}
.shots-cap{margin-top:22px;font-size:13.5px;font-weight:300;color:var(--ink-2);text-align:center}
.shot-fit{border-radius:22px;border:1px solid var(--line);overflow:hidden;background:var(--card);box-shadow:var(--shadow-lg);max-width:400px;margin:0 auto}
.shot-fit img{width:100%;display:block}

/* inline stats (no cards) */
.stats-inline{display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,88px);border-top:1px solid var(--line);padding-top:26px;margin-top:clamp(36px,5vw,60px)}
.stats-inline .v{font-size:clamp(24px,2.6vw,34px);font-weight:600;letter-spacing:-0.035em;line-height:1.05;margin:0 0 5px}
.stats-inline .k{font-size:13.5px;font-weight:300;color:var(--ink-2);margin:0}

/* brand band */
.brandband{overflow:hidden;background:#0A0B0C}
.brandband img{width:100%;height:clamp(240px,30vw,400px);object-fit:cover;display:block}

/* panel screenshot fill */
.panel-body>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}

/* ---------- trust strip ---------- */
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(20px,4vw,52px);padding:22px 0}
.trust-i{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:400;color:var(--ink-2)}
.trust-i svg{color:var(--ink-3);flex:0 0 auto}
.trust-sep{flex:1 1 0;min-width:0;height:1px;background:var(--line)}

/* ---------- stages (the opportunity) ---------- */
.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);border-top:1px solid var(--line);padding-top:8px}
.stage{padding-top:26px;position:relative}
.stage::before{content:'';position:absolute;top:-1px;left:0;width:38px;height:2px;background:var(--tone,var(--ink-3));transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease) var(--d,0s)}
.stage.in::before,[data-rv].in .stage::before{transform:none}
.stage .eyebrow{margin-bottom:12px;color:var(--tone,var(--ink-3))}
.stage h3{margin:0 0 8px;font-size:20px;font-weight:600;letter-spacing:-0.025em}
.stage p{margin:0;font-size:14.5px;font-weight:300;color:var(--ink-2);line-height:1.6}

/* pull-quote statement */
.statement{text-align:center;max-width:820px;margin:0 auto}
.statement .h2{margin-bottom:16px}
.statement .lead{max-width:520px;margin:0 auto}

/* ---------- capability rows (accordion) ---------- */
.rows{border-top:1px solid var(--line)}
.row-i{border-bottom:1px solid var(--line)}
.row-btn{width:100%;background:none;border:0;text-align:left;color:inherit;font:inherit;cursor:pointer;display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.1fr) 40px;gap:20px;align-items:center;padding:26px 4px;transition:background .35s ease}
.row-btn:hover{background:var(--line-2)}
.row-n{font-size:12.5px;font-weight:500;color:var(--ink-3);letter-spacing:0}
.row-btn h3{margin:0;font-size:clamp(20px,1.9vw,27px);font-weight:600;letter-spacing:-0.032em}
.row-btn p{margin:0;font-size:14.5px;font-weight:300;color:var(--ink-2);line-height:1.55}
.row-go{width:32px;height:32px;border-radius:999px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-3);justify-self:end;transition:transform .5s var(--ease),border-color .3s ease,color .3s ease}
.row-btn:hover .row-go{border-color:var(--line-3);color:var(--ink)}
.row-p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease)}
.row-p>div{overflow:hidden;min-height:0}
.row-i.open .row-p{grid-template-rows:1fr}
.row-i.open .row-go{transform:rotate(90deg);border-color:var(--ink);color:var(--ink)}
.row-body{padding:0 4px 34px 76px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,48px);align-items:start;opacity:0;transform:translateY(-8px);transition:opacity .55s ease .12s,transform .7s var(--ease) .12s}
.row-i.open .row-body{opacity:1;transform:none}
.row-list{display:flex;flex-direction:column;gap:11px;margin:0 0 20px;padding:0;list-style:none}
.row-list li{display:flex;gap:10px;font-size:14.5px;font-weight:300;color:var(--ink-2);line-height:1.55}
.row-list li .sp,.row-list li svg{flex:0 0 auto;margin-top:3px;color:var(--ink-3)}

/* ---------- image band (institutional photography) ---------- */
.iband{position:relative;min-height:clamp(360px,44vw,540px);display:flex;align-items:flex-end;overflow:hidden;border-radius:0;background:#15171A}
.iband-img{position:absolute;inset:0}
.iband-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,10,0.18) 0%,rgba(8,9,10,0.44) 42%,rgba(8,9,10,0.82) 86%,rgba(8,9,10,0.62) 100%);pointer-events:none}
.iband-in{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(36px,5vw,68px) var(--pad) clamp(48px,6vw,84px);pointer-events:none}
.iband-in .h2,.iband-in .eyebrow,.iband-in .lead{color:#fff}
.iband-in .eyebrow{color:rgba(255,255,255,0.6);margin-bottom:16px}
.iband-in .lead{color:rgba(255,255,255,0.74);max-width:520px;margin-top:16px}
.iband-in a,.iband-in button{pointer-events:auto}

/* two-up editorial: image + copy */
.editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4.5vw,68px);align-items:center}
.editorial.rev>*:first-child{order:2}
.eframe{border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--card-2);box-shadow:var(--shadow)}

/* ---------- ledger ---------- */
.ledger{border-top:1px solid var(--line)}
.ldg{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);transition:background .4s ease}
.ldg:hover{background:var(--line-2)}
.ldg>div{padding:18px 24px;font-size:15px;line-height:1.5}
.ldg .old{color:var(--ink-3);font-weight:300}
.ldg .old em{font-style:normal;position:relative}
.ldg .old em::after{content:'';position:absolute;left:-2px;right:-2px;top:53%;height:1px;background:var(--ink-3);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.ldg:hover .old em::after{transform:none}
.ldg .new{color:var(--ink);font-weight:400;border-left:1px solid var(--line-2)}
.ldg-h{border-bottom:1px solid var(--line)}
.ldg-h:hover{background:none}
.ldg-h>div{padding:12px 24px;font-size:11px;font-weight:500;letter-spacing:0.07em;text-transform:uppercase}
.ldg-h .old{color:var(--ink-3)}
.ldg-h .new{color:var(--ink)}

/* ---------- cards / grids ---------- */
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.card{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:26px 24px;transition:transform .7s var(--ease),border-color .45s ease,box-shadow .5s ease}
.card:hover{transform:translateY(-3px);border-color:var(--line-3);box-shadow:var(--shadow)}
.card h3{margin:0 0 9px;font-size:17px;font-weight:600;letter-spacing:-0.018em}
.card p{margin:0;font-size:14.5px;font-weight:300;color:var(--ink-2);line-height:1.6}
.card .ico{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-2);margin-bottom:16px}
.card-flat{border:0;background:none;padding:0}
.card-flat:hover{transform:none;box-shadow:none}

/* numbered column (who it's for / outcomes) */
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.col-i{padding:30px 26px 4px;border-right:1px solid var(--line-2)}
.col-i:first-child{padding-left:0}
.col-i:last-child{border-right:0}
.col-i .num{display:block;font-size:clamp(34px,3.4vw,50px);font-weight:300;letter-spacing:-0.035em;line-height:1;color:var(--line-3);margin-bottom:16px;transition:color .7s ease}
.col-i:hover .num{color:var(--ink)}
.col-i h3{margin:0 0 8px;font-size:17px;font-weight:600;letter-spacing:-0.018em}
.col-i p{margin:0;font-size:14.5px;font-weight:300;color:var(--ink-2);line-height:1.6}

/* ---------- steps (how it works) ---------- */
.phase{border-top:1px solid var(--line);padding-top:22px;margin-bottom:clamp(44px,6vw,80px)}
.phase-h{display:flex;align-items:baseline;gap:14px;margin-bottom:clamp(26px,3vw,42px)}
.phase-h .eyebrow{color:var(--ink-3)}
.phase-h h2{margin:0;font-size:clamp(23px,2.5vw,32px);font-weight:600;letter-spacing:-0.032em}
.steps{display:flex;flex-direction:column;gap:clamp(36px,5vw,68px)}
.step{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:clamp(26px,4vw,60px);align-items:center}
.step.rev>*:first-child{order:2}
.step-n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--line-3);font-size:12px;font-weight:500;color:var(--ink);margin-bottom:18px}
.step-n.eva{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.h3-step{font-size:22px;font-weight:600;letter-spacing:-0.028em;margin:0 0 8px}
.step h3{margin:0 0 12px;font-size:clamp(22px,2.2vw,30px);font-weight:600;letter-spacing:-0.03em;line-height:1.12}
.step .body{max-width:400px}
.step-tag{margin-top:18px}

/* linear index line */
.flow{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;border-top:1px solid var(--line);padding-top:18px}
.flow-i{display:flex;flex-direction:column;gap:9px;text-align:left}
.flow-i i{display:block;width:7px;height:7px;border-radius:999px;background:var(--line-3)}
.flow-i.eva i{background:var(--ink)}
.flow-i span{font-size:11.5px;font-weight:400;color:var(--ink-3);letter-spacing:-0.005em;line-height:1.3}

/* ---------- tiers (plans) ---------- */
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tier{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:28px 24px 24px;display:flex;flex-direction:column;transition:transform .7s var(--ease),border-color .45s ease,box-shadow .5s ease}
.tier:hover{transform:translateY(-3px);border-color:var(--line-3);box-shadow:var(--shadow)}
.tier.feat{border-color:var(--ink);position:relative}
.tier-flag{font-size:10.5px;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;padding:0;border-radius:0;background:none;color:var(--ink-2)}
.tier h3{margin:0 0 4px;font-size:18px;font-weight:600;letter-spacing:-0.02em}
.tier .seats{font-size:13px;font-weight:300;color:var(--ink-3);margin:0 0 22px}
.tier .tier-line{font-size:14px;font-weight:300;color:var(--ink-2);line-height:1.55;margin:0 0 22px;min-height:44px}
.tier .btn{width:100%;margin-bottom:22px}
.tier ul{margin:0;padding:20px 0 0;border-top:1px solid var(--line-2);list-style:none;display:flex;flex-direction:column;gap:10px}
.tier li{display:flex;gap:9px;font-size:13.5px;font-weight:300;color:var(--ink-2);line-height:1.5}
.tier li .sp,.tier li svg{flex:0 0 auto;margin-top:2px;color:var(--ink-3)}
.tier li.on-eva{color:var(--ink)}
.tier li.on-eva .sp{color:var(--ink-2)}

/* included matrix */
.matrix{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}
.mx-r{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line-2)}
.mx-r:last-child{border-bottom:0}
.mx-r>div{padding:15px 20px;font-size:14px;font-weight:300;color:var(--ink-2);display:flex;align-items:center;gap:8px}
.mx-r>div+div{justify-content:center;border-left:1px solid var(--line-2)}
.mx-h{background:var(--card-2)}
.mx-h>div{font-size:10.5px;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.mx-r .yes{color:var(--ink)}
.mx-r .no{color:var(--ink-3);opacity:0.4}
.mx-r>div:first-child{color:var(--ink);font-weight:400}

/* ---------- security topics ---------- */
.topic{display:grid;grid-template-columns:minmax(0,0.5fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);padding:clamp(30px,4vw,48px) 0;border-bottom:1px solid var(--line)}
.topic:last-child{border-bottom:0}
.topic-l .eyebrow{margin-bottom:12px}
.topic-l h3{margin:0;font-size:clamp(21px,2vw,27px);font-weight:600;letter-spacing:-0.03em;line-height:1.15}
.topic-r p{margin:0 0 16px}
.topic-r ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.topic-r li{display:flex;gap:10px;font-size:14.5px;font-weight:300;color:var(--ink-2);line-height:1.55}
.topic-r li svg,.topic-r li .sp{flex:0 0 auto;margin-top:3px;color:var(--ink-3)}

/* ---------- contact ---------- */
.cbox{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:clamp(28px,3.6vw,44px);box-shadow:var(--shadow)}
.cbox .eyebrow{margin-bottom:16px}
.cbox h3{margin:0 0 12px;font-size:clamp(22px,2.2vw,28px);font-weight:600;letter-spacing:-0.032em}
.cbox>p{margin:0 0 26px;font-size:15px;font-weight:300;color:var(--ink-2);line-height:1.6;max-width:380px}
.cdiv{height:1px;background:var(--line);margin:28px 0 22px}
.cmeta{display:flex;flex-direction:column;gap:20px}
.cmeta-i .eyebrow{margin-bottom:7px}
.cmeta-i p{margin:0;font-size:15px;font-weight:300;color:var(--ink-2);line-height:1.55}
.cmeta-i a{color:var(--ink);border-bottom:1px solid var(--line-3);transition:border-color .3s ease}
.cmeta-i a:hover{border-color:var(--ink)}

/* ---------- cta ---------- */
.cta-band{position:relative;overflow:hidden;background:#161310;color:#F2F3F1}
.cta-band-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;padding-top:clamp(72px,9vw,120px)}
.cta-band .h2{color:#fff;margin:0 0 14px}
.cta-band .lead{color:rgba(255,255,255,0.6);max-width:440px}
.cta-band-act{display:flex;flex-direction:column;align-items:flex-start;gap:14px;justify-self:end}
.cta-band .btn-cta{background:#fff;color:#161310;border-color:#fff}
.cta-band .btn-cta:hover{color:#161310}
.cta-mail{font-size:13.5px;font-weight:300;color:rgba(255,255,255,0.55);border-bottom:1px solid rgba(255,255,255,0.25);padding-bottom:2px;transition:color .3s ease}
.cta-mail:hover{color:#fff}
.cta-sky{height:clamp(130px,18vw,240px);margin-top:clamp(20px,3vw,40px)}
.cta-sky{perspective:1100px}
.cta-sky svg{transform:rotateX(55deg) scale(1.6);transform-origin:50% 88%}
@keyframes skydrift{from{transform:translateX(0)}to{transform:translateX(-42px)}}
/* security facts */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
.facts>div{border-top:1px solid var(--line-3);padding-top:18px}
.facts h3{font-size:15.5px;font-weight:550;letter-spacing:-0.015em;margin:0 0 8px}
.facts p{font-size:14px;font-weight:300;color:var(--ink-2);line-height:1.6;margin:0}

/* ---------- demo modal ---------- */
.dov{--demo-modal-spacing:clamp(20px,3vw,48px);position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--demo-modal-spacing);overflow:hidden;overscroll-behavior:contain;background:rgba(8,10,14,.64);opacity:0;pointer-events:none;transition:opacity .2s ease}
.dov.open{opacity:1;pointer-events:auto}
.dcard{max-width:440px;width:100%;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:36px 34px 30px;position:relative;transform:translateY(14px) scale(0.985);transition:transform .45s var(--ease);box-shadow:0 40px 100px rgba(0,0,0,0.3)}
.dov.open .dcard{transform:none}
.dcard .dx{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--ink-2);font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .25s ease,color .25s ease}
.dcard .dx:hover{border-color:var(--ink);color:var(--ink)}
.dcard .eyebrow{margin-bottom:14px}
.dcard h3{margin:0 0 10px;font-size:24px;font-weight:600;letter-spacing:-0.032em}
.dcard p{margin:0 0 24px;font-size:15px;font-weight:300;color:var(--ink-2);line-height:1.6}
.dcard .btn{width:100%}
.dcard .dalt{text-align:center;font-size:13px;color:var(--ink-3);margin:16px 0 0}
.dcard .dalt a{color:var(--ink);border-bottom:1px solid var(--line-3)}
.demo-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dcard.dcard-calendar{width:min(1100px,100%);max-width:1100px;height:auto;min-height:0;margin:0;padding:0;overflow:visible;border-radius:14px;background:var(--paper);box-shadow:0 28px 90px rgba(0,0,0,.38);transform:translateY(12px) scale(.985);transition:transform .22s var(--ease)}
.dcard-calendar .dx{top:-18px;right:-18px;z-index:3;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:28px;font-weight:300;box-shadow:0 5px 18px rgba(16,24,40,.16)}
.dcard-calendar .dx:hover{background:var(--card);transform:scale(1.04)}
.dcard-calendar .dx:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);background:var(--card);padding:clamp(44px,5vw,72px) 0 30px}
.foot-in{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,48px);margin-bottom:clamp(34px,4vw,54px)}
.foot-brand img{height:20px;margin-bottom:14px}
.foot-brand .lg-d{display:none}
[data-theme="dark"] .foot-brand .lg-l{display:none}
[data-theme="dark"] .foot-brand .lg-d{display:block}
.foot-brand p{margin:0;font-size:14px;font-weight:300;color:var(--ink-2);line-height:1.6;max-width:260px}
.foot-col h4{margin:0 0 14px;font-size:11px;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink-3)}
.foot-col div{display:flex;flex-direction:column;gap:10px}
.foot-col a,.foot-col span{font-size:14px;font-weight:300;color:var(--ink-2);transition:color .25s ease}
.foot-col a:hover{color:var(--ink)}
.foot-btm{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-top:24px;border-top:1px solid var(--line-2);font-size:13px;color:var(--ink-3);font-weight:300}
.foot-btm .sep{margin-left:auto}

/* ---------- image slot defaults ---------- */
image-slot{--is-radius:0}

/* hero stat cards: keep labels inside their cards in the 900–1080 band */
.hero .g3 .card{min-width:0}
.hero .g3 .eyebrow{overflow:hidden;text-overflow:ellipsis}
@media (min-width:900px) and (max-width:1080px){.hero .g3 .eyebrow{font-size:10px;letter-spacing:0.1em}}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row-btn{grid-template-columns:44px minmax(0,1fr) 36px}
  .row-btn p{display:none}
  .row-body{grid-template-columns:1fr;padding-left:64px}
}
@media (max-width:900px){
  .nav-burger{display:flex}
  .nav-signin{display:none}
  .shots{grid-template-columns:1fr;max-width:420px;margin:0 auto}
  .shots>div:nth-child(2){margin-bottom:0}
  .cta-band-in{grid-template-columns:1fr;gap:26px}
  .cta-band-act{justify-self:start}
  .facts{grid-template-columns:1fr;gap:22px}
  .hero-in{grid-template-columns:1fr;gap:38px}
  .hero-sub{grid-template-columns:1fr}
  .hero-copy{max-width:none}
  .editorial,.step{grid-template-columns:1fr;gap:26px}
  .editorial.rev>*:first-child,.step.rev>*:first-child{order:0}
  .stages{grid-template-columns:1fr;gap:24px}
  .stage{padding-top:20px;border-top:1px solid var(--line)}
  .stages{border-top:0;padding-top:0}
  .g3,.g2,.g4{grid-template-columns:1fr}
  .cols{grid-template-columns:1fr}
  .col-i{padding:24px 0 4px;border-right:0;border-bottom:1px solid var(--line-2)}
  .col-i:last-child{border-bottom:0}
  .ldg{grid-template-columns:1fr}
  .ldg .old{padding-bottom:4px}
  .ldg .new{border-left:0;padding-top:0}
  .ldg-h{display:none}
  .topic{grid-template-columns:1fr;gap:16px}
  .foot-in{grid-template-columns:1fr 1fr}
  .flow{grid-auto-flow:row;grid-auto-columns:auto}
  .flow-i{flex-direction:row;align-items:center;gap:12px}
  .flow-i i{flex:0 0 auto}
  .mx-r{grid-template-columns:1fr}
  .mx-r>div+div{justify-content:flex-start;border-left:0;border-top:1px solid var(--line-2)}
  .mx-h{display:none}
}
@media (max-width:600px){
  .tiers{grid-template-columns:1fr}
  .row-body{padding-left:0}
  .foot-in{grid-template-columns:1fr}
  .iband{min-height:320px}
  .statline .v{font-size:19px}
}

/* ---------- graphic tiles (ghost UI on tonal field) ---------- */
.gfx{position:relative;aspect-ratio:1/1;border-radius:14px;background:linear-gradient(168deg,var(--obj-hi,#1D1A16),var(--obj,#161310) 60%);overflow:hidden;width:100%;max-width:520px;margin:0 auto}
.gfx-in{position:absolute;inset:0;background:linear-gradient(168deg,var(--obj-hi,#1D1A16),var(--obj,#161310) 60%);overflow:hidden}
.gfx::before,.gfx-in::before{content:'';position:absolute;width:130%;aspect-ratio:1/1;border:1px solid rgba(16,14,10,0.07);border-radius:999px;left:50%;top:-60%;transform:translateX(-50%);pointer-events:none}
.gfx::after,.gfx-in::after{content:'';position:absolute;width:130%;aspect-ratio:1/1;border:1px solid rgba(16,14,10,0.055);border-radius:999px;left:50%;bottom:-64%;transform:translateX(-50%);pointer-events:none}
.gfx-card{position:absolute;background:rgba(16,14,10,0.045);border:1px solid rgba(16,14,10,0.14);border-radius:14px;padding:16px 18px;z-index:1;color:#14110E}
.gfx-card.ghost{opacity:0.4;pointer-events:none}
.gsk{height:8px;border-radius:4px;background:rgba(16,14,10,0.12);margin:9px 0}
.gsk.s{width:62%}
.gfx-chip{position:absolute;background:rgba(14,16,20,0.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:rgba(255,255,255,0.88);font-size:10px;font-weight:500;letter-spacing:0.09em;text-transform:uppercase;padding:7px 12px;border:1px solid rgba(16,14,10,0.22);border-radius:6px;z-index:2}
.grow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(16,14,10,0.09)}
.grow:last-child{border-bottom:0}
.gav{width:27px;height:27px;border-radius:999px;background:rgba(16,14,10,0.06);border:1px solid rgba(16,14,10,0.16);display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:550;flex:0 0 auto;color:rgba(16,14,10,0.85)}
.gln b{display:block;font-size:13px;font-weight:550;letter-spacing:-0.01em;color:#14110E}
.gln span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:rgba(16,14,10,0.55);font-weight:300;margin-top:1px}
.gdot{width:6px;height:6px;border-radius:999px;display:inline-block;flex:0 0 auto}
.glab{font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(16,14,10,0.45);font-weight:500;margin:0 0 9px}
.gtxt{font-size:12.5px;font-weight:300;color:rgba(16,14,10,0.62);line-height:1.55;margin:0}
.gttl{font-size:14.5px;font-weight:550;letter-spacing:-0.012em;margin:0;color:#14110E}
.gtags{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
.gtag{font-size:11px;font-weight:400;border:1px solid rgba(16,14,10,0.18);border-radius:6px;padding:3px 9px;color:rgba(16,14,10,0.7)}
.gtl p{display:flex;gap:10px;font-size:12px;font-weight:300;color:rgba(16,14,10,0.6);margin:0;padding:8px 0;border-bottom:1px solid rgba(16,14,10,0.09)}
.gtl p:last-child{border-bottom:0}
.gtl b{font-weight:500;color:#14110E;flex:0 0 auto;font-variant-numeric:tabular-nums}
.grep{border:1px solid rgba(16,14,10,0.16);border-radius:9px;padding:10px 13px;font-size:12.5px;font-weight:400;margin-top:8px;background:rgba(16,14,10,0.04);color:rgba(16,14,10,0.92)}
.gkv{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px solid rgba(16,14,10,0.09);font-size:12.5px}
.gkv:last-child{border-bottom:0}
.gkv span{color:rgba(16,14,10,0.5);font-weight:300}
.gkv b{font-weight:550;letter-spacing:-0.01em;color:#14110E}
.gnum{font-size:27px;font-weight:600;letter-spacing:-0.04em;margin:0 0 3px;color:#14110E}



/* realtor portrait */
@media (max-width:760px){
  .cta{grid-template-columns:1fr}
  .cta-row{grid-column:1;grid-row:auto;justify-content:flex-start}
  }

/* first-hour split band */
.split{display:grid;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);align-items:center}
.split-media{position:relative;min-height:clamp(360px,34vw,560px);align-self:stretch}
.split-media image-slot{position:absolute;inset:0;width:100%;height:100%}
.split-body{padding:clamp(56px,7vw,110px) var(--pad) clamp(56px,7vw,110px) clamp(40px,5vw,88px);max-width:680px}
@media (max-width:900px){.split{grid-template-columns:1fr}.split-media{min-height:300px}.split-body{padding:clamp(40px,7vw,64px) var(--pad)}}
.split .stats-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}

.cta-sky{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0.12) 0%,rgba(0,0,0,0.4) 30%,rgba(0,0,0,0.85) 58%,#000 80%);mask-image:linear-gradient(90deg,rgba(0,0,0,0.12) 0%,rgba(0,0,0,0.4) 30%,rgba(0,0,0,0.85) 58%,#000 80%)}
.split-media{overflow:hidden}
.iband{overflow:hidden}
[data-plx]{will-change:transform}

/* shots header + per-tile captions */
.shots-head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:clamp(24px,3.5vw,44px)}
.shots-head p{margin:0}
.shots-head .cap{font-size:13.5px;font-weight:300;color:var(--ink-2)}
.shot-c{margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}
.shot-c b{display:block;font-size:14px;font-weight:550;letter-spacing:-0.012em;margin-bottom:2px}
.shot-c span{font-size:13px;font-weight:300;color:var(--ink-2);line-height:1.5}
/* explore rows */
.xrows{border-top:1px solid var(--line-3)}
.xrow{display:grid;grid-template-columns:56px minmax(0,0.85fr) minmax(0,1.15fr) 40px;gap:clamp(16px,3vw,36px);align-items:center;padding:clamp(24px,3vw,38px) 4px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;transition:background .35s ease}
.xrow:hover{background:var(--line-2)}
.xrow .xn{font-size:12.5px;font-weight:500;color:var(--ink-3)}
.xrow h3{margin:0;font-size:clamp(20px,2vw,27px);font-weight:600;letter-spacing:-0.03em}
.xrow p{margin:0;font-size:14.5px;font-weight:300;color:var(--ink-2);line-height:1.55}
.xrow .row-go{transition:transform .5s var(--ease),border-color .3s ease,color .3s ease}
.xrow:hover .row-go{border-color:var(--ink);color:var(--ink);transform:translateX(4px)}
@media (max-width:860px){
  .shots{grid-template-columns:1fr}
  .shots>div:nth-child(2){margin-bottom:0}
  .shots-head{flex-direction:column;gap:6px;align-items:flex-start}
  .xrow{grid-template-columns:1fr;gap:8px}
  .xrow .xn,.xrow .row-go{display:none}
}
/* mid-width: keep tile content inside the square */
@media (min-width:861px) and (max-width:1180px){
  .gfx{aspect-ratio:1/1.16}
  .gfx .grow{padding:6px 0;gap:8px}
  .gfx .gav{width:24px;height:24px;font-size:9.5px}
  .gfx .gln b{font-size:12px}
  .gfx .gln span{font-size:10.5px}
  .gfx .gtxt{font-size:11.5px}
  .gfx .gtag{font-size:10px;padding:2px 7px}
  .gfx-leads .gfx-card{top:20%}
  .gfx-sum .gfx-card{top:20%}
}

/* tile interactivity */
.gfx .gfx-card,.gfx-in .gfx-card{transform:translate3d(calc(var(--px,0)*7px),calc(var(--py,0)*7px),0);transition:transform .7s var(--ease)}
.gfx .gfx-card.ghost,.gfx-in .gfx-card.ghost{transform:translate3d(calc(var(--px,0)*3px),calc(var(--py,0)*3px),0)}
.gfx .gfx-chip,.gfx-in .gfx-chip{transform:translate3d(calc(var(--px,0)*13px),calc(var(--py,0)*13px),0);transition:transform .7s var(--ease),background .35s ease,border-color .35s ease}
.gfx:hover .gfx-chip,.gfx-in:hover .gfx-chip{border-color:rgba(16,14,10,0.4)}
.gfx-sheen{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .5s ease;background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(16,14,10,0.055),transparent 62%)}
.gfx:hover .gfx-sheen,.gfx-in:hover .gfx-sheen{opacity:1}
/* leads tile: live rows */
.gfx-leads .grow{margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:8px;transition:background .35s ease}
.gfx-leads .grow:hover{background:rgba(16,14,10,0.05)}
.gfx-leads:hover .gdot{animation:dotPulse 1.6s ease-in-out infinite}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(16,14,10,0)}50%{box-shadow:0 0 0 4px rgba(16,14,10,0.09)}}
/* summary tile: tags answer */
.gfx-sum .gtag{transition:transform .5s var(--ease),border-color .35s ease}
.gfx-sum:hover .gtag{transform:translateY(-2px);border-color:rgba(16,14,10,0.34)}
.gfx-sum:hover .gtag:nth-child(2){transition-delay:.06s}
.gfx-sum:hover .gtag:nth-child(3){transition-delay:.12s}
/* task tile: completes on hover */
.gfx-task .gttl{display:flex;align-items:center;gap:9px}
.gfx-task .gttl::before{content:'';width:16px;height:16px;border-radius:999px;border:1px solid rgba(16,14,10,0.35);flex:0 0 auto;transition:background-color .45s var(--ease),border-color .45s var(--ease);background-position:center;background-repeat:no-repeat;background-size:10px}
.gfx-task:hover .gttl::before{background-color:#14110E;border-color:#14110E;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101216' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:reduce){.gfx .gfx-card,.gfx-in .gfx-card,.gfx .gfx-chip,.gfx-in .gfx-chip{transform:none}.gfx-sheen{display:none}.gfx-leads:hover .gdot{animation:none}}

/* ---------- nav dropdown ---------- */
.nav-drop{position:relative;display:inline-flex;align-items:center}
.nav-drop>a{display:inline-flex;align-items:center}
.ndp{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);min-width:330px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 28px 70px rgba(16,14,10,0.14);padding:8px;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s;z-index:60}
.ndp::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.nav-drop:hover .ndp,.nav-drop:focus-within .ndp{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ndp a{display:block;padding:13px 15px;border-radius:9px;text-decoration:none;color:inherit;transition:background .3s ease}
.ndp a:hover,.ndp a.on{background:var(--line-2)}
.ndp b{display:block;font-size:14.5px;font-weight:550;letter-spacing:-0.012em}
.ndp span{font-size:12.5px;font-weight:300;color:var(--ink-2);margin-top:1px;display:block}
/* ---------- product selection ---------- */
.prods{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.5vw,32px)}
.prod{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper);transition:border-color .5s ease,transform .7s var(--ease),box-shadow .7s ease}
.prod:hover{border-color:var(--line-3);transform:translateY(-4px);box-shadow:0 28px 60px rgba(16,14,10,0.08)}
.prod-media{position:relative;aspect-ratio:16/9;background:linear-gradient(168deg,var(--obj-hi,#1D1A16),var(--obj,#161310) 60%);overflow:hidden}
.prod-media image-slot{position:absolute;inset:0;width:100%;height:100%}
.prod-body{padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;flex:1}
.prod-kick{font-size:11.5px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px}
.prod-body h3{font-size:clamp(22px,2.2vw,30px);font-weight:600;letter-spacing:-0.03em;margin:0 0 12px}
.prod-body>p.pd{font-size:14.5px;font-weight:300;color:var(--ink-2);line-height:1.6;margin:0 0 20px;max-width:46ch}
.prod-li{border-top:1px solid var(--line);padding:10px 2px;font-size:13.5px;font-weight:300;color:var(--ink-2)}
.prod-go{margin-top:auto;padding-top:22px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none}
.prod-go .row-go{transition:transform .5s var(--ease)}
.prod:hover .prod-go .row-go{transform:translateX(4px);border-color:var(--ink)}
@media (max-width:860px){.prods{grid-template-columns:1fr}}
/* ---------- Eva duo (both products) ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-top:clamp(40px,5vw,68px)}
.duo>div{border-top:1px solid var(--line-3);padding-top:18px}
.duo h3{font-size:11.5px;font-weight:500;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px}
.duo p{font-size:14px;font-weight:300;color:var(--ink-2);line-height:1.55;margin:0;padding:9px 0;border-bottom:1px solid var(--line-2)}
.duo p:last-child{border-bottom:0}
@media (max-width:760px){.duo{grid-template-columns:1fr}}

/* ---------- white sections + modern product columns ---------- */
.wht{background:var(--card)}
.prodx{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.5vw,72px)}
.prodx-i{display:flex;flex-direction:column;min-width:0}
.prodx-media{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:linear-gradient(168deg,var(--obj-hi,#1D1A16),var(--obj,#161310) 60%)}
.prodx-media image-slot{position:absolute;inset:0;width:100%;height:100%;transition:transform 1.4s var(--ease)}
.prodx-i:hover .prodx-media image-slot{transform:scale(1.035)}
.prodx-body{padding-top:clamp(22px,2.6vw,32px)}
.prodx-body .prod-kick{margin-bottom:12px}
.prodx-body h3{font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-0.03em;margin:0 0 12px}
.prodx-body h3 a{color:inherit;text-decoration:none}
.prodx-body p.pd{font-size:15px;font-weight:300;color:var(--ink-2);line-height:1.65;margin:0 0 14px;max-width:50ch}
.prodx-feats{font-size:13.5px;font-weight:400;color:var(--ink-3);letter-spacing:0.01em;margin:0 0 22px}
.prodx-feats i{font-style:normal;margin:0 8px;color:var(--line-3)}
@media (max-width:860px){.prodx{grid-template-columns:1fr;gap:44px}}
/* ---------- founded split (dark, media right) ---------- */
.split-dark{background:#161310;color:#F2F3F1}
.split-dark .split-body{padding:clamp(56px,7vw,110px) clamp(40px,5vw,88px) clamp(56px,7vw,110px) var(--pad);max-width:680px;justify-self:end}
.split-dark .split-media{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0.25) 0,#000 30%);mask-image:linear-gradient(90deg,rgba(0,0,0,0.25) 0,#000 30%)}
.split-dark .lead{color:rgba(255,255,255,0.62)}
.qc-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px);margin-top:clamp(28px,3.5vw,46px)}
.qc-facts>div{border-top:1px solid var(--line-3);padding-top:14px}
.qc-facts h3{font-size:16px;font-weight:550;letter-spacing:-0.015em;margin:0 0 4px}
.qc-facts p{font-size:13px;font-weight:300;color:var(--ink-3);margin:0}
@media (max-width:900px){.split-dark .split-body{justify-self:start}}

.split-rev .split-body{padding:clamp(56px,7vw,110px) clamp(40px,5vw,88px) clamp(56px,7vw,110px) var(--pad);max-width:680px;justify-self:end}
@media (max-width:900px){.split-rev .split-body{justify-self:start}}

/* drafted graphics */
svg .pcell{fill:rgba(255,255,255,0);transition:fill .5s ease}
svg .pcell.lit2{fill:rgba(255,255,255,0.06)}
svg .qblk{transition:fill .5s ease}
svg .qblk.lit2{fill:rgba(16,14,10,0.06)}
.qc-ring{transform-box:fill-box;transform-origin:center;animation:qcping 3.4s cubic-bezier(0.16,1,0.3,1) infinite}
@keyframes qcping{0%{transform:scale(0.45);opacity:0.85}75%{transform:scale(1.6);opacity:0}100%{transform:scale(1.6);opacity:0}}
#rc-svg{cursor:crosshair}
svg text{font-family:var(--font)}

.ghero-sky,.cta-sky{display:none}
.ghero{padding-bottom:clamp(64px,7vw,110px)}
.ghero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.22) 30%,rgba(255,255,255,0.22) 70%,rgba(255,255,255,0) 100%)}
.cta-band{padding-bottom:clamp(72px,9vw,120px)}

/* facade art overrides */
.ghero-sky{display:block;position:absolute;top:0;right:0;bottom:0;left:auto;width:min(58vw,880px);height:auto;margin:0;overflow:hidden;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 30%,#000 56%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 30%,#000 56%)}
.sky-l{perspective:none}
.sky-l svg,.cta-sky svg{transform:none;animation:none}
.cta-sky{display:block;position:relative;height:clamp(120px,15vw,200px);margin-top:clamp(28px,4vw,52px);overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
@media (max-width:760px){.ghero-sky{display:none}}

/* night-city atmosphere */
.ghero-sky{display:block;position:absolute;left:0;right:0;bottom:0;top:auto;width:auto;height:clamp(300px,44vh,500px);margin:0;overflow:hidden;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,0.65) 34%,#000 62%);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,0.65) 34%,#000 62%)}
.ghero{padding-bottom:clamp(230px,26vw,360px)}
.cta-sky{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 45%);mask-image:linear-gradient(180deg,transparent 0,#000 45%);height:clamp(140px,16vw,220px)}
.ghero-sky .win.lit,.cta-sky .win.lit{fill-opacity:0.32}
@media (max-width:760px){.ghero-sky{display:block;height:230px}}

/* photographic hero */
.ghero-sky,.cta-sky{display:none!important}
.ghero{padding-bottom:clamp(56px,6vw,96px)}
.ghero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,0.98fr);gap:clamp(32px,5vw,80px);align-items:end}
.ghero-grid .ghero-in{padding-bottom:clamp(8px,1.5vw,24px)}
.ghero-photo{position:relative;height:clamp(400px,52vh,600px);border-radius:14px;overflow:hidden;background:linear-gradient(200deg,#1A1F27 0%,#12151B 55%,#0F1218 100%)}
.ghero-photo image-slot{position:absolute;inset:0;width:100%;height:100%}
.ghero-photo::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08)}
@media (max-width:900px){.ghero-grid{grid-template-columns:1fr}.ghero-photo{height:clamp(260px,40vw,380px)}}

.city-pan{animation:cityPan 90s ease-in-out infinite alternate}
@keyframes cityPan{from{transform:translate(12px,8px)}to{transform:translate(-30px,-22px)}}
@media (prefers-reduced-motion:reduce){.city-pan{animation:none}}

/* aerial city background */
.ghero-city{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.ghero-city::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,16,20,0.95) 0%,rgba(14,16,20,0.78) 32%,rgba(14,16,20,0.34) 58%,rgba(14,16,20,0.10) 80%),linear-gradient(180deg,rgba(14,16,20,0.55) 0%,rgba(14,16,20,0) 32%),radial-gradient(120% 90% at 70% 55%,rgba(0,0,0,0) 55%,rgba(0,0,0,0.35) 100%)}
.ghero{padding-bottom:clamp(120px,13vw,210px)}
@media (max-width:860px){.ghero-city::after{background:linear-gradient(180deg,rgba(14,16,20,0.9) 0%,rgba(14,16,20,0.6) 50%,rgba(14,16,20,0.35) 100%)}}

/* aerial band in cta */
.cta-sky{display:block!important;position:relative;height:clamp(190px,22vw,300px);margin-top:clamp(28px,4vw,48px);overflow:hidden;pointer-events:none;-webkit-mask-image:none;mask-image:none}
.cta-sky::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#161310 0%,rgba(16,14,10,0.45) 36%,rgba(16,14,10,0.06) 72%),radial-gradient(130% 110% at 50% 100%,rgba(0,0,0,0) 58%,rgba(0,0,0,0.32) 100%)}

/* satellite night map */
.ghero-city{background:radial-gradient(120% 100% at 62% 46%,#0C0F14 0%,#080A0E 60%,#06080B 100%)}
.ghero-city::after{background:linear-gradient(90deg,rgba(8,10,14,0.94) 0%,rgba(8,10,14,0.72) 30%,rgba(8,10,14,0.26) 58%,rgba(8,10,14,0.05) 82%),linear-gradient(180deg,rgba(8,10,14,0.5) 0%,rgba(8,10,14,0) 30%,rgba(8,10,14,0.35) 100%)}
.cta-sky{background:radial-gradient(120% 130% at 55% 100%,#0C0F14 0%,#080A0E 62%,#161310 100%)}
.cta-sky::after{background:linear-gradient(180deg,#161310 0%,rgba(16,14,10,0.5) 34%,rgba(16,14,10,0.05) 74%)}
.city-pan{animation:cityPan 120s ease-in-out infinite alternate}
@keyframes cityPan{from{transform:translate(8px,5px) scale(1.01)}to{transform:translate(-18px,-12px) scale(1.03)}}

/* hero art paused pending direction */
.ghero-city,.cta-sky{display:none!important}
.ghero{padding-bottom:clamp(72px,8vw,120px)}
.cta-band{padding-bottom:clamp(76px,9vw,124px)}

/* product stage (Ramp-style) */
.ghero-grid2{display:grid;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);gap:clamp(32px,5vw,72px);align-items:center}
.ghero:has(.hero-showcase){padding-top:calc(var(--nav-h) + clamp(34px,4.5vw,60px));padding-bottom:0}
.ghero:has(.hero-showcase) .ghero-in{padding-top:0;max-width:760px}
.ghero-grid2 .ghero-in{padding-top:0;max-width:none}
.hero-stage{position:relative}
.stage-tabs{display:flex;gap:6px;margin-bottom:16px}
.stage-tab{font:inherit;font-size:12.5px;font-weight:450;letter-spacing:-0.005em;padding:7px 14px;border-radius:9px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.62);cursor:pointer;transition:background .35s ease,color .35s ease,border-color .35s ease}
.stage-tab:hover{color:#fff;border-color:rgba(255,255,255,0.24)}
.stage-tab.on{background:#fff;color:#161310;border-color:#fff}
.stage-panel{position:relative;aspect-ratio:16/11;border-radius:14px;overflow:hidden;background:linear-gradient(200deg,#181D26,#0F1218);box-shadow:0 44px 90px -26px rgba(0,0,0,0.75),inset 0 0 0 1px rgba(255,255,255,0.09)}
.stage-shot{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease);pointer-events:none}
.stage-shot.on{opacity:1;pointer-events:auto}
.stage-shot image-slot{position:absolute;inset:0;width:100%;height:100%}
.stage-hint{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-size:12px;font-weight:300;color:rgba(255,255,255,0.32);letter-spacing:0.02em;pointer-events:none}
to{transform:translateY(-9px)}}
@media (prefers-reduced-motion:reduce){}
.cta-stage{margin-top:clamp(40px,5vw,72px);border-radius:14px 14px 0 0;overflow:hidden;position:relative;height:clamp(200px,26vw,360px);background:linear-gradient(200deg,#181D26,#0F1218);box-shadow:0 -20px 60px -20px rgba(0,0,0,0.6),inset 0 0 0 1px rgba(255,255,255,0.08)}
.cta-stage image-slot{position:absolute;inset:0;width:100%;height:100%}
.cta-stage::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,14,10,0) 55%,rgba(16,14,10,0.55) 100%);pointer-events:none}
@media (max-width:900px){.ghero-grid2{grid-template-columns:1fr;gap:40px}}

/* device presentation inside the product stage */
.stage-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(70% 62% at 50% 42%,rgba(175,200,242,0.10),rgba(175,200,242,0) 70%);pointer-events:none}
.stage-phone{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:90%;aspect-ratio:1320/2868;border-radius:24px;overflow:hidden;background:#05070A;box-shadow:0 34px 64px -18px rgba(0,0,0,0.85),0 0 0 1px rgba(255,255,255,0.16),inset 0 0 0 1px rgba(255,255,255,0.06)}
.stage-phone image-slot{position:absolute;inset:0;width:100%;height:100%}
.stage-side{position:absolute;top:50%;width:31%;aspect-ratio:1320/2868;border-radius:20px;overflow:hidden;background:#05070A;box-shadow:0 26px 50px -18px rgba(0,0,0,0.8),0 0 0 1px rgba(255,255,255,0.08);opacity:0.42;filter:saturate(0.85)}
.stage-side.l{left:2%;transform:translateY(-50%) rotate(-4deg)}
.stage-side.r{right:2%;transform:translateY(-50%) rotate(4deg)}
.stage-side image-slot{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:760px){.stage-side{display:none}}

/* product showcase (Ramp pattern) */
.hero-showcase{position:relative;margin-top:clamp(40px,5vw,72px);height:clamp(300px,38vw,520px);border-radius:16px 16px 0 0;overflow:hidden;background:radial-gradient(130% 120% at 50% 0%,#1C212B 0%,#12161D 55%,#0E1116 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08)}
.hero-showcase::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,0.055) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.sc-tabs{display:flex;gap:6px;justify-content:center;position:absolute;top:clamp(18px,2.4vw,28px);left:0;right:0;z-index:4}
.sc-tab{font:inherit;font-size:12.5px;font-weight:450;padding:7px 15px;border-radius:9px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.66);cursor:pointer;backdrop-filter:blur(6px);transition:background .35s ease,color .35s ease,border-color .35s ease}
.sc-tab:hover{color:#fff;border-color:rgba(255,255,255,0.28)}
.sc-tab.on{background:#fff;color:#161310;border-color:#fff}
.sc-ghost{position:absolute;left:50%;transform:translateX(-50%);top:clamp(52px,6vw,80px);width:min(1000px,84%);height:60px;border-radius:12px 12px 0 0;background:rgba(255,255,255,0.06);box-shadow:0 0 0 1px rgba(255,255,255,0.07)}
.sc-frame{position:absolute;left:50%;transform:translateX(-50%);top:clamp(66px,7.4vw,100px);width:min(1040px,90%);aspect-ratio:2880/2196;border-radius:13px 13px 0 0;overflow:hidden;background:#F6F7F9;box-shadow:0 56px 100px -34px rgba(0,0,0,0.75),0 0 0 1px rgba(255,255,255,0.11)}
.sc-shot{position:absolute;inset:0;opacity:0;transition:opacity .85s var(--ease)}
.sc-shot.on{opacity:1}
.sc-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
@media (max-width:760px){.hero-showcase{height:clamp(220px,52vw,320px)}.sc-frame{width:94%;top:64px}}

/* ===== light hero + live app components ===== */
.btn{border-radius:12px}
.ghero{background:var(--paper);color:var(--ink);padding-bottom:clamp(48px,5vw,84px)}
.ghero::before,.ghero::after{display:none}
.ghero .eyebrow{color:var(--ink-3)}
.ghero-in .display{color:var(--ink)}
.ghero-in .lead{color:var(--ink-2)}
.ghero-note{color:var(--ink-3)}
.ghero .btn-cta{background:var(--ink);color:#fff;border-color:var(--ink)}
.ghero .btn-cta:hover{color:#fff}
.ghero .btn-line{background:transparent;color:var(--ink);border-color:var(--line-3)}
.ghero .btn-line:hover{color:var(--ink);background:var(--line-2)}
.hero-plan{position:absolute;inset:0;pointer-events:none;z-index:0;-webkit-mask-image:radial-gradient(95% 130% at 74% 32%,#000 24%,rgba(0,0,0,0.45) 54%,transparent 78%);mask-image:radial-gradient(95% 130% at 74% 32%,#000 24%,rgba(0,0,0,0.45) 54%,transparent 78%)}
.hero-plan svg{position:absolute;inset:0;width:100%;height:100%}
.ghero-grid3{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,60px);align-items:center;padding-top:calc(var(--nav-h) + clamp(22px,3vw,44px))}
.ghero-grid3 .ghero-in{padding-top:0;max-width:none}
.ghero-grid3 .display{font-size:clamp(27px,2.9vw,41px);margin:16px 0 16px}
.ghero-grid3 .lead{font-size:15px;max-width:430px;margin-bottom:26px}
@media(max-width:980px){.ghero-grid3{grid-template-columns:1fr;gap:40px}}
/* --- Suivo app mock (light real-app mode) --- */
.sap{display:grid;grid-template-columns:172px minmax(0,1fr);border-radius:16px;background:#F6F4F1;border:1px solid rgba(20,18,16,0.10);box-shadow:0 30px 70px -28px rgba(16,14,10,0.38),0 2px 8px rgba(16,14,10,0.05);overflow:hidden;font-size:13px;color:#14110E}
.sap-side{background:#171512;color:#EDEAE5;padding:16px 12px 14px;display:flex;flex-direction:column;gap:2px}
.sap-logo{display:flex;align-items:center;padding:2px 8px 13px}
.sap-menu-label{font-size:9px;letter-spacing:0.14em;color:rgba(237,234,229,0.4);padding:0 8px 6px;font-weight:600}
.sap-item{display:flex;align-items:center;gap:9px;padding:6.5px 8px;border-radius:8px;color:rgba(237,234,229,0.7);font-weight:400;font-size:12.5px}
.sap-item.on{background:rgba(255,255,255,0.09);color:#fff;font-weight:500}
.sap-badge{margin-left:auto;font-size:10px;background:rgba(255,255,255,0.10);border-radius:999px;padding:1px 6.5px}
.sap-badge.red{background:#CB3837;color:#fff}
.sap-user{margin-top:14px;display:flex;gap:8px;align-items:center;padding:11px 8px 0;border-top:1px solid rgba(255,255,255,0.08)}
.sap-av{width:24px;height:24px;border-radius:999px;background:rgba(20,18,16,0.08);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;flex:0 0 auto}
.sap-side .sap-av,.sap-task .sap-av{background:rgba(255,255,255,0.12);color:#fff}
.sap-user b{display:block;font-size:11px;font-weight:550;line-height:1.2}
.sap-user span{font-size:10px;color:rgba(237,234,229,0.45)}
.sap-main{padding:18px 20px 14px;min-width:0}
.sap-kick{font-size:9.5px;letter-spacing:0.13em;font-weight:600;color:rgba(20,18,16,0.45)}
.sap-toprow{display:flex;align-items:flex-start;gap:12px}
.sap-h{font-size:23px;font-weight:700;letter-spacing:-0.03em;margin:3px 0 0}
.sap-counts{margin-left:auto;display:flex;gap:15px;text-align:center;padding-top:3px}
.sap-counts b{display:block;font-size:17px;font-weight:700;letter-spacing:-0.02em}
.sap-counts span{font-size:9.5px;color:rgba(20,18,16,0.45)}
.sap-counts .ov b{color:#C2410C}
.sap-counts .dn b{color:#15803D}
.sap-eva{margin-top:15px;display:flex;align-items:center;gap:10px;background:#FFFFFF;border:1px solid rgba(20,18,16,0.10);border-radius:12px;padding:10px 12px}
.sap-eva .sp{color:#6F6760;font-size:13px}
.sap-eva-q{flex:1;font-weight:300;color:rgba(20,18,16,0.45);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sap-eva-q.filled{color:#14110E;font-weight:400}
.sap-eva-go{width:24px;height:24px;border-radius:999px;background:#171512;color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.sap-sugg{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.sap-sugg button{font:inherit;font-size:11px;font-weight:400;color:rgba(20,18,16,0.6);background:none;border:1px solid rgba(20,18,16,0.13);border-radius:999px;padding:4px 11px;cursor:pointer;transition:border-color .3s ease,color .3s ease}
.sap-sugg button:hover{border-color:rgba(20,18,16,0.32);color:#14110E}
.sap-task{margin-top:14px;background:#14110E;border-radius:14px;padding:15px 16px 13px;color:#F3F0EB;transition:opacity .24s ease,transform .24s ease}
.sap-task.swap{opacity:0;transform:translateY(7px)}
.sap-task-kick{display:flex;gap:10px;font-size:9px;letter-spacing:0.13em;font-weight:600;color:rgba(243,240,235,0.5)}
.sap-task-kick em{font-style:normal;color:#FF9D9D}
.sap-task h4{margin:7px 0 9px;font-size:16px;font-weight:600;letter-spacing:-0.02em}
.sap-task-meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:rgba(243,240,235,0.75)}
.sap-task-meta i{width:5px;height:5px;border-radius:999px;background:#5B8DEF;display:inline-block}
.sap-task-act{display:flex;align-items:center;gap:8px;margin-top:12px}
.sap-btn{font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:550;border-radius:999px;padding:6.5px 14px;border:1px solid transparent;transition:opacity .2s ease,transform .2s ease}
.sap-btn:active{transform:scale(0.96)}
.sap-btn.pri{background:#fff;color:#14110E}
.sap-btn.pri:hover{opacity:0.9}
.sap-btn.sec{background:none;border-color:rgba(255,255,255,0.28);color:#fff}
.sap-btn.sec:hover{border-color:rgba(255,255,255,0.5)}
.sap-btn.txt{background:none;color:rgba(243,240,235,0.55);padding:6.5px 6px}
.sap-btn.txt:hover{color:#fff}
.sap-goals{margin-top:15px}
.sap-goals-head{display:flex;align-items:baseline;gap:8px;font-size:12.5px;font-weight:650;padding-bottom:8px;border-bottom:1px solid rgba(20,18,16,0.10)}
.sap-goals-head span{font-size:10.5px;color:rgba(20,18,16,0.45);font-weight:400}
.sap-goals-head a{margin-left:auto;font-size:10.5px;color:rgba(20,18,16,0.5);font-weight:400}
.sap-goal{display:grid;grid-template-columns:auto minmax(0,1.15fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding:8.5px 2px;border-bottom:1px solid rgba(20,18,16,0.07);font-size:12px;transition:background .3s ease}
.sap-goal:hover{background:rgba(20,18,16,0.025)}
.sap-goal:last-child{border-bottom:0}
.sap-goal>i{width:7px;height:7px;border-radius:999px;display:inline-block}
.sap-goal b{font-weight:550;letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sap-goal>span:not(.sap-dash){color:rgba(20,18,16,0.55);font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sap-dash{display:flex;gap:3px}
.sap-dash i{width:11px;height:2.5px;border-radius:2px;background:rgba(20,18,16,0.12)}
.sap-dash i.f.b{background:#2563EB}
.sap-dash i.f.a{background:#B7791F}
.sap-dash i.f.g{background:#15803D}
@media(max-width:640px){.sap{grid-template-columns:1fr}.sap-side{display:none}.sap-goal{grid-template-columns:auto minmax(0,1fr) auto}.sap-goal>span:not(.sap-dash){display:none}}
/* --- metrics component in closing band --- */
.cta-band{padding-bottom:0}
.smx-wrap{margin-top:clamp(40px,5vw,72px)}
.smx{max-width:1000px;margin:0 auto;background:#F6F4F1;color:#14110E;border-radius:16px 16px 0 0;padding:24px 26px 26px;box-shadow:0 -18px 60px -24px rgba(0,0,0,0.55),0 0 0 1px rgba(255,255,255,0.08)}
.smx-head{display:flex;align-items:flex-end;gap:14px;margin-bottom:20px}
.smx-kick{font-size:9.5px;letter-spacing:0.13em;font-weight:600;color:rgba(20,18,16,0.45)}
.smx-h{font-size:21px;font-weight:700;letter-spacing:-0.03em;margin:3px 0 0}
.smx-pills{margin-left:auto;display:flex;background:#fff;border:1px solid rgba(20,18,16,0.10);border-radius:999px;padding:3px}
.smx-pill{font:inherit;cursor:pointer;border:0;background:none;border-radius:999px;padding:5.5px 13px;font-size:11.5px;font-weight:500;color:rgba(20,18,16,0.55);transition:color .25s ease}
.smx-pill.on{background:#14110E;color:#fff}
.smx-stats{display:grid;grid-template-columns:repeat(4,1fr)}
.smx-stat{padding:0 18px;border-left:1px solid rgba(20,18,16,0.10)}
.smx-stat:first-child{border-left:0;padding-left:0}
.smx-stat b{display:block;font-size:clamp(21px,2.4vw,30px);font-weight:700;letter-spacing:-0.03em}
.smx-stat .t{margin:5px 0 1px;font-size:12.5px;font-weight:550}
.smx-stat .s{margin:0;font-size:11px;font-weight:300;color:rgba(20,18,16,0.5)}
.smx-bar{display:flex;height:6px;gap:3px;margin:20px 0 9px}
.smx-bar i{border-radius:999px}
.smx-legend{display:flex;gap:16px;font-size:11px;color:rgba(20,18,16,0.6);flex-wrap:wrap;align-items:center}
.smx-legend i{width:7px;height:7px;border-radius:999px;display:inline-block;margin-right:5px}
.smx-legend .r{margin-left:auto;color:rgba(20,18,16,0.42)}
.smx-agents{margin-top:18px;border-top:1px solid rgba(20,18,16,0.10)}
.smx-ah,.smx-ar{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,0.55fr) minmax(0,0.75fr) minmax(0,0.85fr) minmax(0,0.6fr);gap:10px;align-items:center}
.smx-ah{padding:10px 2px 7px;font-size:9px;letter-spacing:0.1em;font-weight:600;color:rgba(20,18,16,0.4)}
.smx-ar{padding:9px 2px;border-top:1px solid rgba(20,18,16,0.07);font-size:12.5px;transition:background .3s ease}
.smx-ar:hover{background:rgba(20,18,16,0.025)}
.smx .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:550}
.smx .who{display:flex;align-items:center;gap:9px;min-width:0}
.smx .who b{display:block;font-weight:550;font-size:12.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smx .who span span{font-size:10.5px;color:rgba(20,18,16,0.5);font-weight:300}
.smx .vs{text-align:right;font-weight:550;font-size:12px}
.smx .vs.g{color:#15803D}
.smx .vs.s{color:rgba(20,18,16,0.5)}
@media(max-width:700px){.smx-stats{grid-template-columns:1fr 1fr;gap:14px 0}.smx-stat:nth-child(3){border-left:0;padding-left:0}.hideS{display:none}.smx-ah,.smx-ar{grid-template-columns:minmax(0,1.5fr) minmax(0,0.5fr) minmax(0,0.7fr) minmax(0,0.6fr)}}

/* ===== exploded hero (stacked, no container) ===== */
.ghero{overflow:visible}
.hx-head{max-width:720px;padding-top:calc(var(--nav-h) + clamp(22px,3vw,44px))}
.hx-head .display{font-size:clamp(31px,3.5vw,50px);margin:16px 0 16px}
.hx-head .lead{font-size:15.5px;max-width:520px;margin-bottom:26px}
.hero-plan{inset:0 0 -140px 0;-webkit-mask-image:radial-gradient(115% 115% at 55% 34%,#000 26%,rgba(0,0,0,0.42) 56%,transparent 82%);mask-image:radial-gradient(115% 115% at 55% 34%,#000 26%,rgba(0,0,0,0.42) 56%,transparent 82%)}
.hx-stage{position:relative;height:clamp(430px,40vw,560px);margin-top:clamp(40px,5vw,72px)}
.hxp{position:absolute;transform:translate3d(calc(var(--px,0)*var(--m,6)*1px),calc(var(--py,0)*var(--m,6)*1px),0);transition:transform .8s var(--ease)}
.hxp:hover{z-index:9!important}
.hxp-card{background:#FFFFFF;border:1px solid rgba(20,18,16,0.10);border-radius:14px;padding:14px 16px;box-shadow:0 18px 44px -18px rgba(16,14,10,0.22),0 2px 6px rgba(16,14,10,0.04);transition:transform .8s var(--ease),box-shadow .5s ease}
.hxp-card:hover,.hx-task-p:hover .sap-task,.hx-menu-p:hover .hx-menu{box-shadow:0 26px 56px -20px rgba(16,14,10,0.32),0 3px 10px rgba(16,14,10,0.06)}
.hx-eva-p{padding:12px 14px}
.hx-eva-p .sap-eva{margin-top:0}
.hx-menu{background:#171512;border-radius:14px;padding:10px;width:176px;color:#EDEAE5;display:flex;flex-direction:column;gap:2px;box-shadow:0 18px 44px -18px rgba(16,14,10,0.35);transition:box-shadow .5s ease}
.hx-task-p .sap-task{box-shadow:0 22px 50px -18px rgba(16,14,10,0.4);transition:opacity .24s ease,transform .24s ease,box-shadow .5s ease}
.hx-counters{padding:12px 18px}
.hx-goals .sap-goal{grid-template-columns:auto minmax(0,1.2fr) minmax(0,0.9fr) auto}
.hx-stat b{display:block;font-size:30px;font-weight:700;letter-spacing:-0.03em}
.hx-stat .t{margin:3px 0 0;font-size:12.5px;font-weight:550}
.hx-stat .s{margin:7px 0 0;font-size:11px;font-weight:300;color:rgba(20,18,16,0.5)}
.hx-bar{display:flex;height:5px;gap:3px;margin-top:10px}
.hx-bar i{border-radius:999px}
.hx-note{display:flex;gap:10px;align-items:flex-start;padding:13px 15px}
.hx-note-ic{width:26px;height:26px;border-radius:999px;background:rgba(20,18,16,0.05);border:1px solid rgba(20,18,16,0.10);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#14110E}
.hx-note b{display:block;font-size:12.5px;font-weight:550;letter-spacing:-0.01em;line-height:1.3}
.hx-note span{font-size:11px;font-weight:300;color:rgba(20,18,16,0.5)}
.hx-watch{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:999px}
.hx-watch b{font-size:12.5px;font-weight:550}
.hx-chip{font-size:10px;font-weight:600;letter-spacing:0.03em;color:#C2410C;background:rgba(194,65,12,0.10);border:1px solid rgba(194,65,12,0.25);border-radius:999px;padding:2.5px 9px}
@media(max-width:980px){
  .hx-stage{height:auto;margin-top:36px;display:flex;flex-direction:column;gap:14px;align-items:stretch;max-width:480px}
  .hxp{position:static;transform:none;width:auto!important}
  .hx-menu-p,.hx-watch,.hx-counters{display:none}
  .hx-menu{width:auto}
}

.ghero{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 52%,#FFFFFF 100%)}
.hxp-card:hover,.hx-task-p:hover .sap-task,.hx-menu-p:hover .hx-menu{transform:translateY(-3px)}
.hx-task-p .sap-task,.hx-menu{transition:transform .6s var(--ease),box-shadow .5s ease,opacity .24s ease}
.hxp-card{transition:transform .6s var(--ease),box-shadow .5s ease}

/* ===== inside the platform ===== */
.plat{display:grid;grid-template-columns:minmax(0,0.68fr) minmax(0,1.32fr);gap:clamp(28px,4vw,64px);align-items:start}
.plat-rows{display:flex;flex-direction:column}
.pl-row{font:inherit;text-align:left;background:none;border:0;border-top:1px solid var(--line-2);padding:17px 2px;display:flex;gap:16px;cursor:pointer;position:relative}
.pl-row:last-child{border-bottom:1px solid var(--line-2)}
.pl-row::before{content:'';position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--ink);transform:scaleY(0);transition:transform .45s var(--ease)}
.pl-row.on::before{transform:scaleY(1)}
.pl-row .n{font-size:11px;font-weight:500;color:var(--ink-3);letter-spacing:0.06em;padding-top:2px;font-variant-numeric:tabular-nums}
.pl-row .t b{display:block;font-size:15px;font-weight:550;letter-spacing:-0.015em;color:var(--ink-2);transition:color .3s ease}
.pl-row .t span{display:block;font-size:13px;font-weight:300;color:var(--ink-3);line-height:1.5;margin-top:3px;max-width:340px}
.pl-row.on .t b,.pl-row:hover .t b{color:var(--ink)}
.plat-stage{display:grid;position:relative}
.pnl{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .5s ease,transform .6s var(--ease),visibility 0s .5s;background:#F6F4F1;border:1px solid rgba(20,18,16,0.10);border-radius:16px;padding:clamp(16px,1.8vw,24px);color:#14110E;font-size:13px}
.pnl.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease,transform .6s var(--ease),visibility 0s}
.pl-av{width:20px;height:20px;border-radius:999px;background:rgba(20,18,16,0.07);display:inline-flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:600;flex:0 0 auto}
.pnl .dot{width:6px;height:6px;border-radius:999px;display:inline-block;flex:0 0 auto}
.plc{font-size:10px;font-weight:600;letter-spacing:0.02em;border-radius:999px;padding:2.5px 9px;white-space:nowrap;font-style:normal}
.plc-risk{color:#C2410C;background:rgba(194,65,12,0.10);border:1px solid rgba(194,65,12,0.25)}
.plc-active{color:#15803D;background:rgba(21,128,61,0.09);border:1px solid rgba(21,128,61,0.25)}
.plc-stale{color:#B7791F;background:rgba(183,121,31,0.10);border:1px solid rgba(183,121,31,0.28)}
.plc-eva{color:#5C544D;background:rgba(111,103,96,0.08);border:1px solid rgba(111,103,96,0.22)}
.pl-eva{margin-top:16px;background:rgba(111,103,96,0.06);border:1px solid rgba(111,103,96,0.18);border-radius:12px;padding:13px 15px}
.pl-eva-k{font-size:9.5px;letter-spacing:0.12em;font-weight:600;color:#6F6760;margin-bottom:6px}
.pl-eva p{margin:0;font-size:12.5px;font-weight:300;line-height:1.55;color:rgba(20,18,16,0.75)}
.pl-eva p b{font-weight:600;color:#14110E}
.pl-eva-chips{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.pl-bd,.pl-bl{font:inherit;cursor:pointer;font-size:11.5px;font-weight:550;border-radius:999px;padding:6px 13px;border:1px solid transparent;transition:opacity .2s ease}
.pl-bd{background:#14110E;color:#fff}
.pl-bd:hover{opacity:0.85}
.pl-bl{background:#fff;border-color:rgba(20,18,16,0.14);color:#14110E}
.pl-upd{font-size:10.5px;color:rgba(20,18,16,0.45);font-weight:300}
.pl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.pl-stats>div{background:#fff;border:1px solid rgba(20,18,16,0.08);border-radius:11px;padding:11px 13px}
.pl-stats .k{display:flex;align-items:center;gap:5px;font-size:8.5px;letter-spacing:0.11em;font-weight:600;color:rgba(20,18,16,0.45)}
.pl-stats .k i{width:5px;height:5px;border-radius:999px}
.pl-stats b{display:block;font-size:23px;font-weight:700;letter-spacing:-0.03em;margin-top:4px}
.pl-stats p{margin:2px 0 0;font-size:10.5px;font-weight:300;color:rgba(20,18,16,0.5);display:flex;align-items:center;gap:7px}
.pl-prog{display:inline-block;width:44px;height:3px;border-radius:999px;background:rgba(20,18,16,0.10);overflow:hidden}
.pl-prog i{display:block;height:100%;background:#14110E;border-radius:999px}
.pl-group{font-size:9.5px;letter-spacing:0.12em;font-weight:600;color:rgba(20,18,16,0.45);margin:14px 2px 4px}
.pl-group span{color:rgba(20,18,16,0.3)}
.pl-task,.pl-contact{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid rgba(20,18,16,0.08);border-radius:11px;padding:11px 14px;margin-top:6px;transition:border-color .3s ease,box-shadow .3s ease}
.pl-task:hover,.pl-contact:hover{border-color:rgba(20,18,16,0.18);box-shadow:0 4px 14px rgba(16,14,10,0.05)}
.pl-ck{flex:0 0 auto;width:19px;height:19px;border-radius:999px;border:1.5px solid rgba(20,18,16,0.25);background:none;cursor:pointer;position:relative;transition:background .25s ease,border-color .25s ease}
.pl-ck::after{content:'';position:absolute;inset:4px 3px 5px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) scale(0);transition:transform .25s ease}
.pl-task.dn .pl-ck{background:#15803D;border-color:#15803D}
.pl-task.dn .pl-ck::after{transform:rotate(-45deg) scale(1)}
.pl-task.dn .pl-task-b b{text-decoration:line-through;color:rgba(20,18,16,0.4)}
.pl-task-b{flex:1;min-width:0}
.pl-task-b b{display:block;font-size:13.5px;font-weight:550;letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s ease}
.pl-task-b b span{font-weight:300;color:rgba(20,18,16,0.55)}
.pl-task-b>span{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:300;color:rgba(20,18,16,0.55);margin-top:4px}
.pl-when{text-align:right;font-size:11.5px;font-weight:550;flex:0 0 auto}
.pl-when.red{color:#C2410C}
.pl-when span{display:block;font-weight:300;color:rgba(20,18,16,0.45);font-size:10.5px;margin-top:2px}
.pl-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.pl-head>div{flex:1;min-width:0}
.pl-head b{font-size:17px;font-weight:650;letter-spacing:-0.02em}
.pl-head p{margin:3px 0 0;font-size:12px;font-weight:300;color:rgba(20,18,16,0.55)}
.pl-filters{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.pl-filters button{font:inherit;cursor:pointer;font-size:11.5px;font-weight:450;border-radius:999px;padding:5.5px 12px;border:1px solid rgba(20,18,16,0.12);background:none;color:rgba(20,18,16,0.6);transition:all .3s ease}
.pl-filters button b{font-weight:600}
.pl-filters button.on{background:#14110E;color:#fff;border-color:#14110E}
.pl-cb{flex:0 0 auto;width:17px;height:17px;border-radius:5px;border:1.5px solid rgba(20,18,16,0.25);background:none;cursor:pointer;position:relative;transition:background .25s ease,border-color .25s ease}
.pl-cb::after{content:'';position:absolute;inset:3px 2px 4px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) scale(0);transition:transform .2s ease}
.pl-cb[aria-pressed="true"]{background:#14110E;border-color:#14110E}
.pl-cb[aria-pressed="true"]::after{transform:rotate(-45deg) scale(1)}
.pl-assign{font-size:11.5px;font-weight:550;background:#14110E;color:#fff;border-radius:999px;padding:6px 13px;white-space:nowrap}
.pl-selbar{display:flex;align-items:center;gap:18px;background:#14110E;color:#fff;border-radius:11px;padding:11px 16px;margin-top:10px;font-size:12px}
.pl-selbar b{font-weight:600}
.pl-selbar span{color:rgba(255,255,255,0.65)}
.pl-selbar em{margin-left:auto;font-style:normal;color:rgba(255,255,255,0.5)}
.pl-pills{display:flex;background:#fff;border:1px solid rgba(20,18,16,0.10);border-radius:999px;padding:3px;flex:0 0 auto}
.pl-pills button{font:inherit;cursor:pointer;border:0;background:none;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:500;color:rgba(20,18,16,0.55)}
.pl-pills button.on,.pl-pills button.dk{background:#14110E;color:#fff}
.pl-pills.act button{padding:6px 14px}
.pl-cal{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pl-day{border-radius:11px;padding:9px;background:rgba(20,18,16,0.02)}
.pl-day.today{background:#EFEBE4}
.pl-day .d{font-size:9.5px;letter-spacing:0.1em;font-weight:600;color:rgba(20,18,16,0.45);margin:2px 2px 8px}
.pl-day .d b{font-size:11px;color:#14110E;margin-left:3px}
.pl-ev{background:#fff;border:1px solid rgba(20,18,16,0.08);border-radius:9px;padding:9px 11px;margin-top:6px;font-size:11.5px;font-weight:550;letter-spacing:-0.01em;line-height:1.35;transition:transform .4s var(--ease),box-shadow .4s ease}
.pl-ev:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(16,14,10,0.08)}
.pl-ev span{display:block;font-size:9px;letter-spacing:0.08em;font-weight:600;color:#B7791F;margin-bottom:3px}
.pl-ev em{display:flex;align-items:center;gap:5px;font-style:normal;font-size:10.5px;font-weight:300;color:rgba(20,18,16,0.55);margin-top:4px}
.pl-ev.dark{background:#14110E;border-color:#14110E;color:#fff}
.pl-ev.dark span{color:rgba(255,255,255,0.55)}
.pl-ev.dark em{color:rgba(255,255,255,0.6)}
.pl-ev.any span{color:rgba(20,18,16,0.45)}
.pl-foot{margin:14px 2px 0;font-size:11.5px;font-weight:300;color:rgba(20,18,16,0.5)}
.pl-kick{display:flex;align-items:center;gap:6px;font-size:9.5px;letter-spacing:0.11em;font-weight:600;color:rgba(20,18,16,0.5);margin-bottom:6px}
.pl-stage{text-align:right;flex:0 0 auto}
.pl-stage span{font-size:9px;letter-spacing:0.11em;font-weight:600;color:rgba(20,18,16,0.4)}
.pl-stage b{display:block;font-size:16px;font-weight:650;letter-spacing:-0.02em}
.pl-stage p{margin:2px 0 0;font-size:10.5px;font-weight:300;color:rgba(20,18,16,0.5)}
.pl-track{display:flex;gap:5px;margin-top:16px}
.pl-track i{flex:1;height:4px;border-radius:999px;background:rgba(20,18,16,0.10)}
.pl-track.sm{margin-top:10px}
.pl-track.sm i{height:3px}
.pl-track-l{display:flex;gap:5px;margin-top:7px}
.pl-track-l span,.pl-track-l b{flex:1;font-size:9.5px;font-weight:400;color:rgba(20,18,16,0.4);letter-spacing:0.01em}
.pl-track-l b{font-weight:650;color:#14110E}
.pl-crit{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.pl-crit>div{background:#fff;border:1px solid rgba(20,18,16,0.08);border-radius:11px;padding:11px 13px}
.pl-crit span{font-size:8.5px;letter-spacing:0.11em;font-weight:600;color:rgba(20,18,16,0.45)}
.pl-crit b{display:block;font-size:13px;font-weight:600;letter-spacing:-0.015em;margin-top:4px}
.pl-crit p{margin:2px 0 0;font-size:10.5px;font-weight:300;color:rgba(20,18,16,0.5)}
.pl-chips{display:flex;align-items:center;gap:6px;margin-top:12px;flex-wrap:wrap}
.pl-chips .k{font-size:8.5px;letter-spacing:0.11em;font-weight:600;color:rgba(20,18,16,0.45);margin-right:2px}
.pl-chips em{font-style:normal;font-size:11px;font-weight:450;border:1px solid rgba(20,18,16,0.12);background:#fff;border-radius:999px;padding:4px 11px}
.pl-person{display:flex;gap:11px;align-items:center}
.pl-person .pl-av{width:38px;height:38px;font-size:12px}
.pl-person b em{margin-left:8px;vertical-align:2px}
.pl-goals2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pl-g2{background:#fff;border:1px solid rgba(20,18,16,0.08);border-radius:11px;padding:13px 15px}
.pl-g2>b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-0.015em}
.pl-g2 p{margin:8px 0 0;font-size:11px;font-weight:550}
.pl-g2 p span{display:block;font-weight:300;color:rgba(20,18,16,0.5);margin-top:3px}
.prodx-media:hover .gfx-sheen{opacity:1}
.cfr{position:relative}
.cfr:hover .gfx-sheen,.hdk-c.live:hover .gfx-sheen,.cal2-ev.dark:hover .gfx-sheen{opacity:1}
.hdk-c.live,.cal2-ev.dark{overflow:hidden}
@media(max-width:900px){
  .plat{grid-template-columns:1fr;gap:20px}
  .plat-rows{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px}
  .pl-row{border:1px solid var(--line-2)!important;border-radius:999px;padding:8px 15px;flex:0 0 auto;gap:8px}
  .pl-row::before{display:none}
  .pl-row.on{background:var(--ink)}
  .pl-row.on .t b{color:#fff}
  .pl-row .n,.pl-row .t span{display:none}
  .pl-stats,.pl-crit{grid-template-columns:1fr 1fr}
  .pl-cal{grid-template-columns:1fr 1fr}
  .pl-goals2{grid-template-columns:1fr}
  .pl-track-l span{font-size:8px}
}

/* ===== hero: single object ===== */
.hx2{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,0.98fr);gap:clamp(40px,6vw,96px);align-items:center}
.hx2 .hx-head{max-width:none;margin:0}
.hx-side{justify-self:end;width:100%;max-width:500px}
.hx-obj{position:relative;overflow:hidden;background:linear-gradient(168deg,var(--obj-hi,#1D1A16),var(--obj,#161310) 60%);border-radius:20px;padding:clamp(24px,2.4vw,34px);color:#fff;box-shadow:0 32px 80px rgba(16,14,10,0.26)}
.hx-obj .ho-in{transition:opacity .24s ease,transform .24s ease}
.hx-obj.swap .ho-in{opacity:0;transform:translateY(8px)}
.ho-kick{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:0.16em;font-weight:600;color:rgba(255,255,255,0.45)}
.ho-kick em{font-style:normal;color:#D9A15E;letter-spacing:0.1em}
.ho-title{margin:14px 0 0;font-size:clamp(20px,1.8vw,24px);font-weight:550;letter-spacing:-0.02em;line-height:1.25}
.ho-meta{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:13.5px;font-weight:300;color:rgba(255,255,255,0.66)}
.ho-meta i{width:3px;height:3px;border-radius:999px;background:rgba(255,255,255,0.35)}
.ho-av{width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.16);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;flex:0 0 auto}
.ho-av.dk{background:rgba(20,18,16,0.06);border-color:rgba(20,18,16,0.14);color:#14110E}
.ho-av.lg{width:38px;height:38px;font-size:12px}
.ho-act{display:flex;align-items:center;gap:9px;margin-top:22px}
.ho-b{font:inherit;cursor:pointer;font-size:12.5px;font-weight:550;letter-spacing:-0.005em;border-radius:999px;padding:9px 18px;border:1px solid transparent;transition:opacity .25s ease,border-color .25s ease}
.ho-b.pri{background:#fff;color:#14110E}
.ho-b.pri:hover{opacity:0.88}
.ho-b.sec{background:none;border-color:rgba(255,255,255,0.28);color:#fff}
.ho-b.sec:hover{border-color:rgba(255,255,255,0.55)}
.ho-b.txt{background:none;color:rgba(255,255,255,0.5);padding:9px 10px}
.ho-b.txt:hover{color:rgba(255,255,255,0.8)}
.ho-eva{display:flex;align-items:baseline;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,0.1)}
.ho-eva span{font-size:9.5px;letter-spacing:0.14em;font-weight:600;color:rgba(255,255,255,0.4);flex:0 0 auto}
.ho-eva p{margin:0;font-size:12.5px;font-weight:300;line-height:1.55;color:rgba(255,255,255,0.55)}
.hx-obj .gfx-sheen{opacity:0}
.hx-obj:hover .gfx-sheen{opacity:1}
.hx-under{display:flex;align-items:center;gap:12px;margin:20px 4px 0;font-size:10px;letter-spacing:0.14em;font-weight:400;color:var(--ink-3)}
.hx-under b{font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}
.hx-under i{width:1px;height:10px;background:var(--line-2)}
@media(max-width:980px){.hx2{grid-template-columns:1fr;gap:48px}.hx-side{justify-self:start;max-width:480px}}
/* ===== inside the platform: minimal index ===== */
.plx{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,88px);align-items:stretch}
.plx-rows{display:flex;flex-direction:column;justify-content:center}
.plx-row{font:inherit;text-align:left;background:none;border:0;border-top:1px solid var(--line-2);padding:21px 2px;cursor:pointer}
.plx-row:last-child{border-bottom:1px solid var(--line-2)}
.plx-row b{display:block;font-size:17px;font-weight:550;letter-spacing:-0.015em;color:var(--ink-3);transition:color .45s ease}
.plx-row span{display:block;font-size:13.5px;font-weight:300;color:var(--ink-3);line-height:1.5;margin-top:4px;opacity:0;transform:translateY(-2px);transition:opacity .45s ease,transform .45s ease}
.plx-row:hover b{color:var(--ink-2)}
.plx-row.on b{color:var(--ink)}
.plx-row.on span{opacity:1;transform:none}
.plx-stage{display:grid;background:#F6F4F1;border:1px solid rgba(20,18,16,0.08);border-radius:18px;min-height:380px}
.plx-art{grid-area:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(28px,3vw,48px);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .6s ease,transform .7s var(--ease),visibility 0s .6s}
.plx-art.on{opacity:1;visibility:visible;transform:none;transition:opacity .6s ease,transform .7s var(--ease),visibility 0s}
.plx-cap{margin:26px 0 0;font-size:10px;letter-spacing:0.16em;font-weight:500;color:var(--ink-3);text-transform:uppercase}
.pxa{background:#fff;border:1px solid rgba(20,18,16,0.08);border-radius:14px;box-shadow:0 18px 44px rgba(16,14,10,0.07);width:100%;max-width:430px}
.pxa-task{display:flex;align-items:center;gap:13px;padding:17px 19px}
.pxa-ck{width:19px;height:19px;border-radius:999px;border:1.5px solid rgba(20,18,16,0.25);flex:0 0 auto}
.pxa-b{flex:1;min-width:0}
.pxa-b b{display:block;font-size:14.5px;font-weight:550;letter-spacing:-0.01em;color:#14110E}
.pxa-b>span{display:block;font-size:12px;font-weight:300;color:rgba(20,18,16,0.5);margin-top:3px}
.pxa-task em{font-style:normal;font-size:12px;font-weight:550;color:#C2410C;flex:0 0 auto}
.pxa-assign{display:flex;align-items:center;gap:16px;padding:17px 19px}
.pxa-ar{width:16px;height:16px;color:rgba(20,18,16,0.3);flex:0 0 auto}
.pxa-who{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.pxa-who b{display:block;font-size:13px;font-weight:600;letter-spacing:-0.01em;color:#14110E}
.pxa-who span{display:block;font-size:10.5px;font-weight:300;color:rgba(20,18,16,0.5);margin-top:1px}
.pxa-cal{background:linear-gradient(168deg,var(--obj-hi,#1D1A16),var(--obj,#161310) 60%);border-color:transparent;color:#fff;padding:19px 22px;max-width:340px}
.pxa-cal span{display:block;font-size:9.5px;letter-spacing:0.13em;font-weight:600;color:rgba(255,255,255,0.5)}
.pxa-cal b{display:block;font-size:16px;font-weight:550;letter-spacing:-0.015em;margin-top:7px}
.pxa-cal em{display:block;font-style:normal;font-size:12px;font-weight:300;color:rgba(255,255,255,0.55);margin-top:5px}
.pxa-goal{padding:19px 22px;max-width:360px}
.pxa-goal>b{display:block;font-size:15px;font-weight:600;letter-spacing:-0.015em;color:#14110E}
.pxa-tr{display:flex;gap:5px;margin-top:13px}
.pxa-tr i{flex:1;height:4px;border-radius:999px;background:rgba(20,18,16,0.1)}
.pxa-tr i.f{background:#14110E}
.pxa-goal>span{display:block;font-size:11.5px;font-weight:400;color:rgba(20,18,16,0.55);margin-top:9px}
.pxa-client{display:flex;align-items:center;gap:13px;padding:17px 19px;max-width:400px}
.pxa-client b em{font-style:normal;font-size:10px;font-weight:600;color:#15803D;background:rgba(21,128,61,0.09);border:1px solid rgba(21,128,61,0.25);border-radius:999px;padding:2.5px 9px;margin-left:8px;vertical-align:2px}
@media(max-width:900px){.plx{grid-template-columns:1fr;gap:28px}.plx-stage{min-height:320px}.plx-row{padding:16px 2px}}

/* ===== v4: airy hero + flow strip ===== */
.ghero .hx-head{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:2}
.ghero .hx-head .lead{margin-left:auto;margin-right:auto}
.ghero .hero-cta{justify-content:center}
.ghero .display{padding-bottom:0.06em}
.hero-plan{pointer-events:none}
.pglow{transition:opacity .3s ease}
.plan-light{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .6s ease;background:radial-gradient(420px circle at var(--lx,50%) var(--ly,40%),rgba(191,167,131,0.12),transparent 65%);z-index:1}
.plan-light.dark{background:radial-gradient(460px circle at var(--lx,50%) var(--ly,50%),rgba(217,161,94,0.10),transparent 65%)}
.hflow{max-width:680px;margin:clamp(52px,6vw,80px) auto 0;position:relative;z-index:2}
.hflow-track{position:relative;height:1px;background:rgba(20,18,16,0.16)}
.hflow-fill{position:absolute;left:0;top:0;height:1px;width:0;background:#14110E;transition:width .8s var(--ease)}
.hflow-st{display:flex;justify-content:space-between}
.hflow-s{font:inherit;background:none;border:0;cursor:pointer;padding:16px 2px 0;position:relative;color:var(--ink-3)}
.hflow-s .fd{position:absolute;top:-3.5px;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:999px;background:#FBFAF8;border:1px solid rgba(20,18,16,0.3);transition:background .4s ease,border-color .4s ease,transform .4s ease}
.hflow-s b{white-space:nowrap;font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;transition:color .4s ease}
.hflow-s .fe{font-style:normal;font-size:9px;color:#8A8178;margin-right:5px;transition:color .4s ease}
.hflow-s:hover b{color:var(--ink-2)}
.hflow-s.on b{color:var(--ink)}
.hflow-s.on .fe{color:#6F6760}
.hflow-s.on .fd{background:#14110E;border-color:#14110E;transform:translateX(-50%) scale(1.15)}
.hflow-cap{text-align:center;margin:28px 0 0;font-size:14.5px;font-weight:300;color:var(--ink-2);min-height:23px;transition:opacity .3s ease;letter-spacing:-0.005em}
@media(max-width:640px){.hflow-s b{font-size:8.5px;letter-spacing:0.08em}.hflow-cap{font-size:13px}}
/* ===== v4: ghost panels ===== */
.plat-stage .pnl{background:linear-gradient(165deg,#F7F5F1,#EFEAE3);border:1px solid rgba(20,18,16,0.08);border-radius:18px;padding:0;overflow:hidden;position:relative}
.pgh{display:block;width:100%;height:auto}
.pgh text{font-family:var(--font)}
/* ===== v4: cta band ===== */
.cta-band{position:relative;overflow:hidden;padding:clamp(64px,7vw,100px) 0}
.band-plan{position:absolute;inset:-12% -6%;pointer-events:none}
.band-plan svg{width:100%;height:100%}
.cta-band-in{position:relative;z-index:2}

/* ===== v5: hero console + neutral panels + parcel grids ===== */
.hcon{max-width:1020px;margin:clamp(48px,6vw,76px) auto 0;position:relative;z-index:2;display:grid;grid-template-columns:1.45fr 1.05fr auto auto;align-items:center;background:#FFFFFF;border:1px solid rgba(16,14,10,0.08);border-radius:18px;box-shadow:0 24px 64px rgba(16,14,10,0.08);text-align:left}
.hcon>div{padding:20px 24px}
.hcon>div+div{border-left:1px solid rgba(16,14,10,0.07)}
.hcon-kick{display:flex;align-items:center;gap:12px;font-size:9.5px;letter-spacing:0.15em;font-weight:600;color:var(--ink-3)}
.hcon-kick em{font-style:normal;color:#C2410C;letter-spacing:0.1em;transition:opacity .25s ease}
.hcon-task b{display:block;font-size:15.5px;font-weight:550;letter-spacing:-0.015em;color:var(--ink);margin-top:8px;transition:opacity .25s ease}
.hcon-sub{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:12.5px;font-weight:300;color:var(--ink-2);transition:opacity .25s ease}
.hcon-av{width:20px;height:20px;border-radius:999px;background:rgba(16,14,10,0.05);border:1px solid rgba(16,14,10,0.11);display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;flex:0 0 auto}
.hcon-eva{display:flex;gap:10px;align-items:flex-start}
.hcon-eva i{font-style:normal;font-size:10px;color:#8A8178;margin-top:3px;flex:0 0 auto}
.hcon-eva p{margin:0;font-size:12.5px;font-weight:300;line-height:1.55;color:var(--ink-2);transition:opacity .25s ease}
.hcon-act{display:flex;gap:8px}
.hbtn{font:inherit;cursor:pointer;font-size:12.5px;font-weight:550;border-radius:999px;padding:9px 18px;border:1px solid transparent;transition:opacity .25s ease,border-color .25s ease;white-space:nowrap}
.hbtn.pri{background:#14110E;color:#FFFFFF}
.hbtn.pri:hover{opacity:0.85}
.hbtn.sec{background:none;border-color:rgba(16,14,10,0.16);color:var(--ink)}
.hbtn.sec:hover{border-color:rgba(16,14,10,0.38)}
.hcon-stats{display:flex;flex-direction:column;gap:7px}
.hcon-stats span{display:flex;align-items:baseline;gap:9px;font-size:8.5px;letter-spacing:0.13em;font-weight:500;color:var(--ink-3);white-space:nowrap}
.hcon-stats b{font-size:15px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums;min-width:15px;transition:opacity .25s ease}
@media(max-width:920px){.hcon{grid-template-columns:1fr}.hcon>div+div{border-left:0;border-top:1px solid rgba(16,14,10,0.07)}.hcon-stats{flex-direction:row;gap:20px}}
.plat-stage .pnl{background:linear-gradient(180deg,#FFFFFF,#F7F7F6);border:1px solid rgba(16,14,10,0.07);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:400px;padding:clamp(28px,3vw,48px)}
.pnl-cap{font-size:10px;letter-spacing:0.16em;font-weight:500;color:var(--ink-3);text-transform:uppercase;margin:14px 0 0}
.pxa-task em.ok{color:rgba(16,14,10,0.4)}
.pxa.ghost2{opacity:0.45;transform:scale(0.97)}
.pxa{box-shadow:0 14px 36px rgba(16,14,10,0.06)}

/* ===== v5.1: ramp-style left hero ===== */
.hero-2c{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr);gap:clamp(40px,6vw,88px);align-items:center;position:relative;z-index:2}
.ghero .hx-head{margin:0;text-align:left;max-width:640px}
.ghero .hx-head .lead{margin-left:0;margin-right:0}
.ghero .hero-cta{justify-content:flex-start}
.hcon{grid-template-columns:1fr;width:100%;max-width:460px;justify-self:end;margin:0}
.hcon>div+div{border-left:0;border-top:1px solid rgba(16,14,10,0.07)}
.hcon-stats{flex-direction:row;gap:22px}
@media(max-width:980px){.hero-2c{grid-template-columns:1fr;gap:44px}.hcon{justify-self:start}}

/* ===== v6: hero deck ===== */
.hdk{width:100%;max-width:480px;justify-self:end;position:relative;z-index:2}
.hdk-lab{display:block;font-size:9.5px;letter-spacing:0.18em;font-weight:600;color:var(--ink-3);margin-bottom:16px}
.hdk-stack{position:relative}
.hdk-c{border-radius:16px;background:#FFFFFF;border:1px solid rgba(16,14,10,0.08)}
.hdk-c[data-k="2"]{position:absolute;left:22px;right:22px;top:-16px;height:60px;opacity:0.45;box-shadow:0 8px 20px rgba(16,14,10,0.04)}
.hdk-c[data-k="1"]{position:absolute;left:11px;right:11px;top:-8px;height:60px;opacity:0.7;box-shadow:0 10px 24px rgba(16,14,10,0.05)}
.hdk-c.live{position:relative;padding:22px 24px 20px;box-shadow:0 26px 66px rgba(16,14,10,0.10);transition:transform .42s var(--ease),opacity .32s ease}
.hdk.go .hdk-c.live{transform:translateY(-14px) scale(0.985);opacity:0}
.hdk-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.hdk-when{font-size:9.5px;letter-spacing:0.15em;font-weight:600;color:#C2410C;transition:opacity .25s ease,color .25s ease}
.hdk-of{font-size:9.5px;letter-spacing:0.12em;font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums}
.hdk-of b{font-weight:650;color:var(--ink-2)}
.hdk-t{margin:12px 0 0;font-size:clamp(17px,1.55vw,20px);font-weight:550;letter-spacing:-0.02em;line-height:1.28;color:var(--ink);transition:opacity .25s ease}
.hdk-who{display:flex;align-items:center;gap:9px;margin-top:12px;font-size:12.5px;font-weight:300;color:var(--ink-2);transition:opacity .25s ease}
.hdk-eva{display:flex;gap:9px;align-items:flex-start;margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(16,14,10,0.07)}
.hdk-eva i{font-style:normal;font-size:10px;color:#8A8178;margin-top:3px;flex:0 0 auto}
.hdk-eva span{font-size:12.5px;font-weight:300;line-height:1.55;color:var(--ink-2);transition:opacity .25s ease}
.hdk-act{display:flex;gap:8px;margin-top:20px}
.hdk-foot{display:flex;align-items:center;gap:14px;margin-top:22px;padding-left:2px}
.hdk-foot span{display:flex;align-items:baseline;gap:7px;font-size:8.5px;letter-spacing:0.13em;font-weight:500;color:var(--ink-3);white-space:nowrap}
.hdk-foot b{font-size:14px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums;transition:opacity .25s ease}
.hdk-foot i{width:1px;height:11px;background:var(--line-2)}
@media(max-width:980px){.hdk{justify-self:start;max-width:460px}}
/* ===== v6: plat interactivity ===== */
.plat-stage .pnl .pxa{transition:transform .5s var(--ease),box-shadow .5s ease,border-color .4s ease}
.plat-stage .pnl.on .pxa{animation:pxaIn .6s cubic-bezier(0.22,1,0.36,1) both}
@keyframes pxaIn{from{opacity:0;transform:translateY(14px) scale(0.985)}to{opacity:1;transform:none}}
.plat-stage .pnl.on .pxa.ghost2{animation-delay:.09s}
.plat-stage .pnl .pxa:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(16,14,10,0.09);border-color:rgba(16,14,10,0.16)}
.plat-stage .pnl.on .pnl-cap{animation:pxaIn .6s cubic-bezier(0.22,1,0.36,1) .18s both}
.pxa-task:hover .pxa-ck{border-color:#15803D;background:rgba(21,128,61,0.08)}
.pxa-ck{transition:border-color .35s ease,background .35s ease}
.pxa-assign:hover .pxa-ar{transform:translateX(4px);color:rgba(16,14,10,0.55)}
.pxa-ar{transition:transform .45s var(--ease),color .35s ease}
.pxa-goal:hover .pxa-tr i:nth-child(4){background:rgba(20,18,16,0.28)}
.pxa-tr i{transition:background .45s ease}
.pxa.ghost2{transition:opacity .5s ease,transform .5s var(--ease)}
.pnl:hover .pxa.ghost2{opacity:0.72;transform:scale(0.99)}
/* alignment fixes */
.pxa-assign{align-items:center}
.pxa-who{align-items:center}
.pxa-wt{display:flex;flex-direction:column;justify-content:center;line-height:1.3}
.pxa-wt b{margin:0}
/* ===== v6: response-time chart smaller + tighter labels ===== */
.split-media-sm{display:flex;align-items:center;justify-content:center;min-height:0;padding:clamp(40px,5vw,72px) clamp(24px,4vw,56px)}
.split-media-sm #rc-svg{position:static;width:100%;max-width:440px;height:auto}
#rc-svg text{font-weight:500;letter-spacing:0.06em!important}

/* ===== v7: airy glass surfaces, lowered deck, mid chart ===== */
.hdk{margin-top:clamp(56px,6vw,84px)}
.hdk-c{background:rgba(255,255,255,0.62);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-color:rgba(16,14,10,0.07)}
.hdk-c.live{background:linear-gradient(180deg,rgba(255,255,255,0.86),rgba(255,255,255,0.7));box-shadow:0 2px 0 rgba(255,255,255,0.7) inset,0 30px 70px rgba(16,14,10,0.09)}
.hdk-eva{border-top-color:rgba(16,14,10,0.06)}
/* mid-size chart */
.split-media-sm{padding:clamp(44px,5vw,80px) clamp(28px,4.5vw,64px)}
.split-media-sm #rc-svg{max-width:600px}
/* plat field + glass artifacts */
.plat-stage .pnl{background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,0.85),rgba(247,247,246,0.5)),linear-gradient(180deg,#FAFAF9,#F4F4F3);border-color:rgba(16,14,10,0.06);gap:12px}
.plat-stage .pnl .pxa{background:linear-gradient(180deg,rgba(255,255,255,0.84),rgba(255,255,255,0.62));backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-color:rgba(16,14,10,0.07);box-shadow:0 1px 0 rgba(255,255,255,0.75) inset,0 14px 34px rgba(16,14,10,0.055)}
.plat-stage .pnl .pxa:hover{box-shadow:0 1px 0 rgba(255,255,255,0.85) inset,0 22px 46px rgba(16,14,10,0.085);border-color:rgba(16,14,10,0.14)}
.pxa-cal{background:linear-gradient(168deg,var(--obj-hi,#1D1A16),var(--obj,#161310) 60%)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:transparent!important;box-shadow:0 18px 44px rgba(16,14,10,0.22)!important}
.pxa-cal.alt{background:linear-gradient(165deg,rgba(26,29,34,0.5),rgba(16,14,10,0.42))!important}
/* live status line */
.pxa-live{display:flex;align-items:center;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,0.12);font-size:10px;letter-spacing:0.1em;font-weight:500;color:rgba(255,255,255,0.55);text-transform:uppercase}
.pxa-live i{width:5px;height:5px;border-radius:999px;background:#15803D;box-shadow:0 0 0 0 rgba(21,128,61,0.5);animation:lvp 2.6s ease-out infinite}
@keyframes lvp{0%{box-shadow:0 0 0 0 rgba(21,128,61,0.45)}70%{box-shadow:0 0 0 7px rgba(21,128,61,0)}100%{box-shadow:0 0 0 0 rgba(21,128,61,0)}}
.pxa-goal .pxa-live{border-top-color:rgba(16,14,10,0.07);color:rgba(16,14,10,0.45)}
.pxa-live.amb i{background:#B7791F;animation-name:lvpa}
@keyframes lvpa{0%{box-shadow:0 0 0 0 rgba(183,121,31,0.4)}70%{box-shadow:0 0 0 7px rgba(183,121,31,0)}100%{box-shadow:0 0 0 0 rgba(183,121,31,0)}}
/* goal card detail */
.pxa-gk{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:0.14em;font-weight:600;color:rgba(16,14,10,0.42);margin-bottom:9px}
.pxa-gk .bd{width:5px;height:5px;border-radius:999px}
.pxa-gs{display:block;font-size:11.5px;font-weight:400;color:rgba(16,14,10,0.55);margin-top:10px}
/* presence dot on avatar */
.ho-av{position:relative}
.on-dot{position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border-radius:999px;background:#15803D;border:1.5px solid #FBFAF8}
/* client mini goal bars */
.pxa-mini{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;margin-left:auto}
.pxa-mini i{display:block;width:26px;height:3px;border-radius:999px;opacity:0.75;transition:width .5s var(--ease)}
.pxa-client:hover .pxa-mini i:first-child{width:36px}
.pxa-client:hover .pxa-mini i:last-child{width:32px}

/* ===== v8: artifacts sit on the background, no cards ===== */
.plat-stage .pnl{background:none!important;border:0!important;border-radius:0;align-items:stretch;justify-content:flex-start;gap:0;padding:0;min-height:360px}
.plat-stage .pnl .pnl-cap{order:-1;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--line-2);text-align:left;width:100%}
.plat-stage .pnl .pxa{background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;max-width:none;width:100%;padding:18px 2px}
.plat-stage .pnl .pxa+.pxa{border-top:1px solid var(--line-2)!important}
.plat-stage .pnl .pxa:hover{transform:none;box-shadow:none!important}
.plat-stage .pnl .pxa.ghost2{opacity:0.42;transform:none}
.pnl:hover .pxa.ghost2{opacity:0.62;transform:none}
/* the one deliberate filled object: viewing chip */
.plat-stage .pxa-cal{background:linear-gradient(168deg,var(--obj-hi,#1D1A16),var(--obj,#161310) 60%)!important;border-radius:14px!important;padding:20px 22px!important;max-width:340px;box-shadow:0 20px 48px rgba(16,14,10,0.18)!important;align-self:flex-start}
.plat-stage .pxa-cal.alt{background:none!important;border:1px solid var(--line-2)!important;box-shadow:none!important;color:var(--ink)}
.plat-stage .pxa-cal.alt span{color:var(--ink-3)}
.plat-stage .pxa-cal.alt b{color:var(--ink)}
.plat-stage .pxa-cal.alt em{color:var(--ink-2)}
.plat-stage .pnl .pxa-cal+.pxa-cal{border-top:0!important;margin-top:12px}
.plat-stage .pxa-cal:hover{transform:translateY(-3px)!important;box-shadow:0 26px 56px rgba(16,14,10,0.22)!important}
/* keep rows legible without a card */
.plat-stage .pxa-task em{letter-spacing:0.02em}
.plat-stage .pxa-goal,.plat-stage .pxa-client,.plat-stage .pxa-assign{padding:20px 2px!important}
.plat-stage .pxa-goal .pxa-tr i{height:5px}
.plat-stage .pxa-client{align-items:center}
.plat-stage .pxa-mini i{width:34px;height:4px}
.plat-stage .pxa-client:hover .pxa-mini i:first-child{width:46px}
.plat-stage .pxa-client:hover .pxa-mini i:last-child{width:41px}

/* ===== v9: hero deck refined ===== */
.hdk{margin-top:clamp(80px,9vw,136px);align-self:center}
.hdk-lab{margin-bottom:20px;color:var(--ink-3)}
.hdk-c[data-k="2"]{left:26px;right:26px;top:-20px;height:64px;border-radius:18px;opacity:0.38}
.hdk-c[data-k="1"]{left:13px;right:13px;top:-10px;height:64px;border-radius:19px;opacity:0.62}
.hdk-c.live{
  border-radius:22px;
  padding:26px 28px 24px;
  background:
    radial-gradient(140% 100% at 0% 0%,rgba(255,255,255,0.95),rgba(255,255,255,0.72) 55%,rgba(255,255,255,0.6)),
    linear-gradient(180deg,rgba(255,255,255,0.9),rgba(252,251,250,0.72));
  border:1px solid rgba(16,14,10,0.06);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 0 0 1px rgba(255,255,255,0.5) inset,
    0 40px 90px -20px rgba(16,14,10,0.16),
    0 8px 24px -8px rgba(16,14,10,0.06);
}
.hdk-c.live::after{content:'';position:absolute;left:28px;right:28px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(16,14,10,0.14),transparent)}
.hdk-when{font-size:9px;letter-spacing:0.17em}
.hdk-of{font-size:9px;letter-spacing:0.13em;color:var(--ink-3);opacity:0.8}
.hdk-t{margin-top:15px;font-size:clamp(18px,1.65vw,21.5px);line-height:1.26;letter-spacing:-0.025em}
.hdk-who{margin-top:14px;font-size:12.5px}
.hcon-av{background:rgba(16,14,10,0.04);border-color:rgba(16,14,10,0.09)}
.hdk-eva{margin-top:20px;padding-top:18px;border-top:1px solid rgba(16,14,10,0.055)}
.hdk-eva i{color:#A69C90}
.hdk-eva span{font-size:12px;color:var(--ink-3)}
.hdk-act{margin-top:22px}
.hdk-act .hbtn{padding:10px 20px;font-size:12px;letter-spacing:0.005em}
.hdk-act .hbtn.pri{box-shadow:0 6px 16px -4px rgba(16,14,10,0.35)}
.hdk-act .hbtn.sec{border-color:rgba(16,14,10,0.13);background:rgba(255,255,255,0.5)}
.hdk-foot{margin-top:26px;gap:16px;padding-left:4px}
.hdk-foot b{font-size:15px}

/* ===== v10: unified console-frame language ===== */
.hdk-c.live{padding:0;border-radius:18px;background:linear-gradient(180deg,#FFFFFF,#FBFAF9);border:1px solid rgba(16,14,10,0.10);box-shadow:0 30px 70px -18px rgba(16,14,10,0.18),0 2px 6px rgba(16,14,10,0.04);backdrop-filter:none;-webkit-backdrop-filter:none}
.hdk-c.live::after{content:none}
.hdk-c[data-k="1"],.hdk-c[data-k="2"]{background:#FFFFFF;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:16px}
.hdk-hd{display:flex;align-items:center;justify-content:space-between;padding:13px 22px;border-bottom:1px solid rgba(16,14,10,0.07)}
.hdk-brand{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:0.17em;font-weight:600;color:var(--ink-3)}
.hdk-brand i{font-style:normal;font-size:9px;color:#A69C90}
.hdk-of{font-size:9.5px;letter-spacing:0.1em;font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums}
.hdk-bd{padding:20px 22px 22px}
.hdk-bd .hdk-when{display:block}
.hdk-t{margin-top:11px}
.hdk-ft{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;border-top:1px solid rgba(16,14,10,0.07)}
.hdk-act{margin:0}
.hdk-cnt{display:flex;gap:14px}
.hdk-cnt span{display:flex;align-items:baseline;gap:6px;font-size:8px;letter-spacing:0.12em;font-weight:500;color:var(--ink-3);white-space:nowrap}
.hdk-cnt b{font-size:13px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums;transition:opacity .25s ease}
@media(max-width:1120px){.hdk-cnt span:nth-child(2){display:none}}
/* console frame */
.plat-stage .pnl{align-items:center;justify-content:center;min-height:410px;padding:clamp(12px,1.5vw,24px)}
.cfr{width:100%;max-width:560px;background:linear-gradient(180deg,#FFFFFF,#FBFAF9);border:1px solid rgba(16,14,10,0.10);border-radius:18px;box-shadow:0 30px 70px -22px rgba(16,14,10,0.16),0 2px 6px rgba(16,14,10,0.04);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s ease}
.cfr:hover{transform:translateY(-3px);box-shadow:0 38px 80px -22px rgba(16,14,10,0.2),0 2px 6px rgba(16,14,10,0.04)}
.plat-stage .pnl.on .cfr{animation:pxaIn .55s cubic-bezier(0.22,1,0.36,1) both}
.plat-stage .pnl.on .cfr>*{animation:pxaIn .5s cubic-bezier(0.22,1,0.36,1) both}
.plat-stage .pnl.on .cfr>*:nth-child(2){animation-delay:.07s}
.plat-stage .pnl.on .cfr>*:nth-child(3){animation-delay:.13s}
.plat-stage .pnl.on .cfr>*:nth-child(4){animation-delay:.19s}
.cfr-h{display:flex;align-items:center;justify-content:space-between;padding:13px 22px;border-bottom:1px solid rgba(16,14,10,0.07)}
.cfr-t{font-size:9px;letter-spacing:0.17em;font-weight:600;color:var(--ink-3)}
.cfr-s{display:flex;align-items:center;gap:7px;font-size:8.5px;letter-spacing:0.13em;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}
.dl{width:5px;height:5px;border-radius:999px;display:inline-block}
.dl.red{background:#C2410C;box-shadow:0 0 0 0 rgba(194,65,12,0.4);animation:lvpr 2.6s ease-out infinite}
@keyframes lvpr{0%{box-shadow:0 0 0 0 rgba(194,65,12,0.4)}70%{box-shadow:0 0 0 6px rgba(194,65,12,0)}100%{box-shadow:0 0 0 0 rgba(194,65,12,0)}}
.dl.grn{background:#15803D;box-shadow:0 0 0 0 rgba(21,128,61,0.4);animation:lvp 2.6s ease-out infinite}
.dl.blu{background:#2563EB}
.cfr-f{padding:12px 22px;border-top:1px solid rgba(16,14,10,0.07);font-size:8px;letter-spacing:0.18em;font-weight:500;color:var(--ink-3)}
.cfr-row{display:flex;align-items:center;gap:16px;padding:17px 22px}
.cfr-row+.cfr-row{border-top:1px solid rgba(16,14,10,0.055)}
.rk{flex:0 0 86px;font-size:9px;letter-spacing:0.1em;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}
.rk.red{color:#C2410C}
.cfr-m{flex:1;min-width:0}
.cfr-m b{display:block;font-size:14px;font-weight:550;letter-spacing:-0.015em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfr-m span{display:block;font-size:11.5px;font-weight:300;color:var(--ink-2);margin-top:3px}
.cfr-ck{flex:0 0 auto;width:20px;height:20px;border-radius:999px;border:1.5px solid rgba(16,14,10,0.22);transition:border-color .35s ease,background .35s ease,transform .35s ease;cursor:pointer;position:relative}
.cfr-ck::after{content:'';position:absolute;inset:5px 4px 6px;border:solid #FFFFFF;border-width:0 0 1.8px 1.8px;transform:rotate(-45deg) scale(0);transition:transform .3s var(--ease)}
.cfr-row:hover .cfr-ck{border-color:#15803D;background:rgba(21,128,61,0.08)}
.cfr-ck:hover{background:#15803D!important;border-color:#15803D!important;transform:scale(1.08)}
.cfr-ck:hover::after{transform:rotate(-45deg) scale(1)}
/* assignment */
.cfr-asg{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:26px 24px}
.asg-side b{display:block;font-size:14px;font-weight:550;letter-spacing:-0.015em;margin-top:7px}
.asg-side.r{text-align:right}
.asg-side.r .ho-av{margin-left:auto}
.asg-side .ho-av{margin-bottom:9px}
.cfr-k{display:flex;align-items:center;gap:7px;font-size:8.5px;letter-spacing:0.14em;font-weight:600;color:var(--ink-3)}
.asg-side.r .cfr-k{justify-content:flex-end}
.cfr-sub{display:block;font-size:11px;font-weight:300;color:var(--ink-2);margin-top:4px}
.asg-mid{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:150px}
.asg-why{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:0.13em;font-weight:600;color:var(--ink-3);white-space:nowrap}
.asg-why i{font-style:normal;font-size:8.5px;color:#A69C90}
.asg-line{position:relative;width:100%;height:1px;background:rgba(16,14,10,0.16);overflow:visible}
.asg-line::before{content:'';position:absolute;left:0;top:0;height:1px;width:0;background:#14110E;transition:width .8s var(--ease)}
.asg-line::after{content:'';position:absolute;right:-1px;top:-3.5px;width:8px;height:8px;border-right:1.4px solid rgba(16,14,10,0.35);border-top:1.4px solid rgba(16,14,10,0.35);transform:rotate(45deg);transition:border-color .5s ease}
.cfr:hover .asg-line::before{width:100%}
.cfr:hover .asg-line::after{border-color:#14110E}
/* calendar */
.cal2{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.cal2-ev{display:flex;align-items:center;gap:16px;border:1px solid rgba(16,14,10,0.12);border-radius:13px;padding:15px 18px;transition:transform .45s var(--ease),box-shadow .45s ease}
.cal2-ev:hover{transform:translateY(-2px)}
.cal2-ev.dark{background:linear-gradient(168deg,var(--obj-hi,#1D1A16),var(--obj,#161310) 60%);border-color:transparent;box-shadow:0 16px 38px rgba(16,14,10,0.2)}
.cal2-ev.dark:hover{box-shadow:0 22px 46px rgba(16,14,10,0.26)}
.cal2-ev.dark .cfr-m b{color:#FFFFFF}
.cal2-ev.dark .cfr-m span{color:rgba(255,255,255,0.55)}
.ck2{flex:0 0 58px;font-size:9.5px;letter-spacing:0.08em;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}
.cal2-ev.dark .ck2{color:rgba(255,255,255,0.55)}
.cal2-st{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:0.13em;font-weight:600;color:rgba(255,255,255,0.6);white-space:nowrap}
.cal2-st i{width:5px;height:5px;border-radius:999px;background:#4ADE80;box-shadow:0 0 0 0 rgba(74,222,128,0.4);animation:lvp 2.6s ease-out infinite}
/* goals */
.cfr-goal{padding:22px 24px}
.cfr-goal>b{display:block;font-size:16px;font-weight:600;letter-spacing:-0.02em}
.gtr{display:flex;gap:6px;margin-top:18px}
.gtr i{flex:1;height:6px;border-radius:999px;background:rgba(16,14,10,0.10);transition:background .45s ease}
.gtr i.f{background:#14110E}
.gtr.sm{margin-top:10px}
.gtr.sm i{height:4px}
.gtr i.f.b{background:#2563EB}
.gtr i.f.g{background:#15803D}
.cfr:hover .cfr-goal .gtr i:nth-child(4){background:rgba(16,14,10,0.26)}
.gtr-l{display:flex;gap:6px;margin-top:8px}
.gtr-l span,.gtr-l b{flex:1;font-size:7px;letter-spacing:0.08em;font-weight:500;color:var(--ink-3);text-align:center}
.gtr-l b{color:var(--ink);font-weight:650}
.gblock{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:8.5px;letter-spacing:0.13em;font-weight:600;color:var(--ink-3)}
.gblock i{width:5px;height:5px;border-radius:999px;background:#B7791F;box-shadow:0 0 0 0 rgba(183,121,31,0.4);animation:lvpa 2.6s ease-out infinite}
/* client */
.cfr-cli{padding:20px 24px;display:flex;flex-direction:column;gap:16px}
.cli-id{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(16,14,10,0.055)}
.cli-id b{display:block;font-size:15.5px;font-weight:600;letter-spacing:-0.02em}
.cli-g .cli-gs{display:block;font-size:10.5px;font-weight:400;color:var(--ink-2);margin-top:7px}
@media(max-width:640px){.cfr-asg{grid-template-columns:1fr;gap:16px}.asg-mid{min-width:0;align-items:flex-start}.asg-line{display:none}.asg-side.r{text-align:left}.asg-side.r .ho-av{margin-left:0}.asg-side.r .cfr-k{justify-content:flex-start}.rk{flex-basis:64px}}
/* chart: closer to text, bigger */
.split-media-sm{justify-content:flex-end;padding:clamp(40px,4.5vw,64px) clamp(10px,1.2vw,24px) clamp(40px,4.5vw,64px) clamp(24px,3vw,48px)}
.split-media-sm #rc-svg{max-width:660px}

/* ===== v11: ink consoles. no white cards ===== */
.hdk-c.live,.cfr{background:linear-gradient(170deg,#1C1A17 0%,#141210 58%,#12100E 100%);border:1px solid rgba(255,255,255,0.09);box-shadow:0 40px 90px -24px rgba(16,14,10,0.5),0 4px 14px rgba(16,14,10,0.12)}
.hdk-c.live:hover,.cfr:hover{box-shadow:0 48px 100px -24px rgba(16,14,10,0.55),0 4px 14px rgba(16,14,10,0.12)}
.hdk-c[data-k="1"],.hdk-c[data-k="2"]{background:rgba(20,17,14,0.16);border-color:rgba(20,17,14,0.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hdk-hd,.cfr-h{border-bottom:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.025)}
.hdk-ft,.cfr-f{border-top:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.025)}
.cfr-f{color:rgba(244,242,238,0.45)}
.hdk-brand,.cfr-t{color:rgba(244,242,238,0.5)}
.hdk-brand i{color:#D7D0C4}
.hdk-of,.cfr-s{color:rgba(244,242,238,0.5)}
.hdk-when{color:#E8A87C}
.hdk-when[style*="--ink-3"]{color:rgba(244,242,238,0.5)!important}
.hdk-t{color:#F4F2EE}
.hdk-who{color:rgba(244,242,238,0.62)}
.hdk .hcon-av{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.16);color:#F4F2EE}
.hdk-eva{border-top:1px solid rgba(255,255,255,0.08)}
.hdk-eva i{color:#D7D0C4}
.hdk-eva span{color:rgba(244,242,238,0.55)}
.hdk-cnt span{color:rgba(244,242,238,0.45)}
.hdk-cnt b{color:#F4F2EE}
.hdk .hbtn.pri{background:#F4F2EE;color:#14110E;box-shadow:none}
.hdk .hbtn.pri:hover{opacity:0.86}
.hdk .hbtn.sec{background:none;border-color:rgba(255,255,255,0.22);color:#F4F2EE}
.hdk .hbtn.sec:hover{border-color:rgba(255,255,255,0.45)}
/* frame rows */
.cfr-row+.cfr-row{border-top:1px solid rgba(255,255,255,0.06)}
.rk{color:rgba(244,242,238,0.45)}
.rk.red{color:#E8A87C}
.cfr-m b{color:#F4F2EE}
.cfr-m span{color:rgba(244,242,238,0.55)}
.cfr-ck{border-color:rgba(255,255,255,0.28)}
.cfr-row:hover .cfr-ck{border-color:#4ADE80;background:rgba(74,222,128,0.12)}
.cfr-ck:hover{background:#22C55E!important;border-color:#22C55E!important}
.dl.red{background:#E8A87C;animation-name:lvpo}
@keyframes lvpo{0%{box-shadow:0 0 0 0 rgba(232,168,124,0.4)}70%{box-shadow:0 0 0 6px rgba(232,168,124,0)}100%{box-shadow:0 0 0 0 rgba(232,168,124,0)}}
.dl.grn{background:#4ADE80}
.dl.blu{background:#60A5FA}
/* assignment */
.asg-side b{color:#F4F2EE}
.cfr-k{color:rgba(244,242,238,0.45)}
.cfr-sub{color:rgba(244,242,238,0.5)}
.asg-why{color:rgba(244,242,238,0.5)}
.asg-why i{color:#D7D0C4}
.asg-line{background:rgba(255,255,255,0.16)}
.asg-line::before{background:#F4F2EE}
.asg-line::after{border-color:rgba(255,255,255,0.4)}
.cfr:hover .asg-line::after{border-color:#F4F2EE}
.cfr .ho-av.dk{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.18);color:#F4F2EE}
.on-dot{border-color:#191613;background:#4ADE80}
/* calendar */
.cal2-ev{border-color:rgba(255,255,255,0.12)}
.cal2-ev .cfr-m b{color:#F4F2EE}
.cal2-ev .cfr-m span{color:rgba(244,242,238,0.55)}
.ck2{color:rgba(244,242,238,0.5)}
.cal2-ev.dark{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);box-shadow:none}
.cal2-ev.dark:hover{box-shadow:0 14px 30px rgba(0,0,0,0.3)}
/* goals */
.cfr-goal>b{color:#F4F2EE}
.gtr i{background:rgba(255,255,255,0.12)}
.gtr i.f{background:#F4F2EE}
.gtr i.f.b{background:#60A5FA}
.gtr i.f.g{background:#4ADE80}
.cfr:hover .cfr-goal .gtr i:nth-child(4){background:rgba(255,255,255,0.3)}
.gtr-l span{color:rgba(244,242,238,0.4)}
.gtr-l b{color:#F4F2EE}
.gblock{color:rgba(244,242,238,0.5)}
.gblock i{background:#D9A15E}
/* client */
.cli-id{border-bottom:1px solid rgba(255,255,255,0.06)}
.cli-id b{color:#F4F2EE}
.cli-g .cli-gs{color:rgba(244,242,238,0.55)}

/* ============ v12: unification pass ============ */
:root{--dur-1:200ms;--dur-2:420ms;--dur-3:760ms;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-io:cubic-bezier(0.65,0,0.35,1);
--obj-hi:#1D1A16;--obj-lo:#161310;--obj-ink:#F2F3F1;--obj-ink2:rgba(242,243,241,0.62);--obj-ink3:rgba(242,243,241,0.46);--obj-line:rgba(255,255,255,0.08);
--acc-amber:#E5A175;--acc-green:#7DD8A5;--acc-blue:#8FB8F5;--acc-eva:#D7D0C4}
/* one dark object family (matches product tiles + cta band + buttons) */
.hdk-c.live,.cfr{background:linear-gradient(170deg,var(--obj-hi) 0%,#12151A 55%,var(--obj-lo) 100%);border:1px solid var(--obj-line);box-shadow:0 40px 90px -26px rgba(10,12,16,0.5),0 4px 14px rgba(10,12,16,0.1)}
.hdk-c.live:hover,.cfr:hover{box-shadow:0 48px 100px -26px rgba(10,12,16,0.55),0 4px 14px rgba(10,12,16,0.1)}
.hdk-c[data-k="1"],.hdk-c[data-k="2"]{background:rgba(16,14,10,0.12);border-color:rgba(16,14,10,0.10)}
.hdk-hd,.cfr-h,.hdk-ft,.cfr-f{background:rgba(255,255,255,0.025)}
.hdk-hd,.cfr-h{border-bottom-color:var(--obj-line)}
.hdk-ft,.cfr-f{border-top-color:var(--obj-line)}
.hdk-brand,.cfr-t,.hdk-of,.cfr-s,.cfr-f{color:var(--obj-ink3)}
.hdk-of b{color:var(--obj-ink)}
.hdk-brand i,.hdk-eva i,.asg-why i{color:var(--acc-eva)}
.hdk-when{color:var(--acc-amber)}
.hdk-t,.cfr-m b,.asg-side b,.cfr-goal>b,.cli-id b,.gtr-l b,.hdk-cnt b{color:var(--obj-ink)}
.hdk-who,.cfr-m span,.cfr-sub,.cli-g .cli-gs{color:var(--obj-ink2)}
.hdk-eva span{color:var(--obj-ink2)}
.hdk-cnt span,.rk,.cfr-k,.asg-why,.gblock,.gtr-l span,.ck2{color:var(--obj-ink3)}
.rk.red{color:var(--acc-amber)}
.hdk .hcon-av,.cfr .ho-av.dk{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.16);color:var(--obj-ink)}
.hdk .hbtn.pri{background:var(--obj-ink);color:var(--obj-lo)}
.hdk .hbtn.sec{border-color:rgba(255,255,255,0.22);color:var(--obj-ink)}
.cfr-row+.cfr-row{border-top-color:rgba(255,255,255,0.06)}
.cfr-ck{border-color:rgba(255,255,255,0.26)}
.cfr-row:hover .cfr-ck{border-color:var(--acc-green);background:rgba(125,216,165,0.12)}
.cfr-ck:hover{background:#5FBE8B!important;border-color:#5FBE8B!important}
.dl.red{background:var(--acc-amber)}
.dl.grn{background:var(--acc-green)}
.dl.blu{background:var(--acc-blue)}
.on-dot{background:var(--acc-green);border-color:#14171C}
.asg-line{background:rgba(255,255,255,0.14)}
.asg-line::before{background:var(--obj-ink)}
.asg-line::after{border-color:rgba(255,255,255,0.38)}
.cfr:hover .asg-line::after{border-color:var(--obj-ink)}
.cal2-ev{border-color:rgba(255,255,255,0.11)}
.cal2-ev.dark{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.13)}
.cal2-st i{background:var(--acc-green)}
.gtr i{background:rgba(255,255,255,0.11)}
.gtr i.f{background:var(--obj-ink)}
.gtr i.f.b{background:var(--acc-blue)}
.gtr i.f.g{background:var(--acc-green)}
.cfr:hover .cfr-goal .gtr i:nth-child(4){background:rgba(255,255,255,0.28)}
.gblock i{background:var(--acc-amber)}
.cli-id{border-bottom-color:rgba(255,255,255,0.06)}
/* status pulses: one family */
@keyframes lvp{0%{box-shadow:0 0 0 0 rgba(125,216,165,0.4)}70%{box-shadow:0 0 0 6px rgba(125,216,165,0)}100%{box-shadow:0 0 0 0 rgba(125,216,165,0)}}
@keyframes lvpa{0%{box-shadow:0 0 0 0 rgba(229,161,117,0.4)}70%{box-shadow:0 0 0 6px rgba(229,161,117,0)}100%{box-shadow:0 0 0 0 rgba(229,161,117,0)}}
@keyframes lvpr{0%{box-shadow:0 0 0 0 rgba(229,161,117,0.4)}70%{box-shadow:0 0 0 6px rgba(229,161,117,0)}100%{box-shadow:0 0 0 0 rgba(229,161,117,0)}}
@keyframes lvpo{0%{box-shadow:0 0 0 0 rgba(229,161,117,0.4)}70%{box-shadow:0 0 0 6px rgba(229,161,117,0)}100%{box-shadow:0 0 0 0 rgba(229,161,117,0)}}
/* liquid glass: navigation + elevated surfaces only */
.nav{background:rgba(246,247,249,0.6);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);border-bottom:1px solid rgba(16,14,10,0.06)}
.dcard{background:rgba(255,255,255,0.82);backdrop-filter:blur(30px) saturate(1.6);-webkit-backdrop-filter:blur(30px) saturate(1.6)}
/* motion language: shared curves + timed choreography */
.btn,.hbtn,.pl-row,.stage-tab,.sc-tab,.cfr,.cal2-ev,.cfr-ck,.asg-line::before{transition-timing-function:var(--ease-out)}
.plat-stage .pnl.on .cfr{animation:pxaIn var(--dur-3) var(--ease-out) both}
.plat-stage .pnl.on .cfr>*{animation:pxaIn var(--dur-2) var(--ease-out) both}
.plat-stage .pnl.on .cfr>*:nth-child(2){animation-delay:90ms}
.plat-stage .pnl.on .cfr>*:nth-child(3){animation-delay:160ms}
.plat-stage .pnl.on .cfr>*:nth-child(4){animation-delay:230ms}
.hdk.go .hdk-c.live{transition:transform var(--dur-2) var(--ease-io),opacity var(--dur-1) ease}
/* keyboard access */
:focus-visible{outline:2px solid #161310;outline-offset:3px;border-radius:4px}
.hdk :focus-visible,.cfr :focus-visible,.cta-band :focus-visible,.invert :focus-visible,.iband :focus-visible{outline-color:#F2F3F1}
/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.001s!important;animation-iteration-count:1!important;transition-duration:0.001s!important;scroll-behavior:auto!important}
  [data-rv]{opacity:1!important;transform:none!important}
}

/* ============ v13: liquid glass layer ============ */
/* nav: brighter specular glass */
.nav{background:linear-gradient(180deg,rgba(252,253,255,0.74),rgba(246,247,249,0.52));backdrop-filter:blur(28px) saturate(2);-webkit-backdrop-filter:blur(28px) saturate(2);box-shadow:0 1px 0 rgba(255,255,255,0.65) inset,0 1px 14px rgba(16,14,10,0.05)}
/* secondary buttons become glass */
.btn-line{background:rgba(255,255,255,0.42);backdrop-filter:blur(14px) saturate(1.6);-webkit-backdrop-filter:blur(14px) saturate(1.6)}
.hdk .hbtn.sec{background:rgba(255,255,255,0.06);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4)}
/* hero deck: light glass ghost layers under the ink card */
.hdk-c[data-k="1"],.hdk-c[data-k="2"]{background:linear-gradient(180deg,rgba(255,255,255,0.5),rgba(255,255,255,0.28));backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border-color:rgba(255,255,255,0.55);box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 10px 26px rgba(16,14,10,0.07)}
/* specular top edge inside dark consoles */
.hdk-hd,.cfr-h{background:linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.015));box-shadow:0 1px 0 rgba(255,255,255,0.07) inset}
/* console tab rail: active row floats on a glass pill */
.pl-row{z-index:0}
.pl-row::after{content:'';position:absolute;inset:5px -16px;border-radius:13px;background:linear-gradient(180deg,rgba(255,255,255,0.7),rgba(255,255,255,0.4));backdrop-filter:blur(16px) saturate(1.7);-webkit-backdrop-filter:blur(16px) saturate(1.7);border:1px solid rgba(16,14,10,0.07);box-shadow:0 1px 0 rgba(255,255,255,0.75) inset,0 12px 28px rgba(16,14,10,0.07);opacity:0;transition:opacity var(--dur-2) var(--ease-out);z-index:-1;pointer-events:none}
.pl-row.on::after{opacity:1}
.pl-row.on{border-top-color:transparent}
.pl-row.on+.pl-row{border-top-color:transparent}
/* cta band: actions sit in a dark glass panel */
.cta-band-act{background:rgba(255,255,255,0.05);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,0.12);border-radius:18px;padding:24px 26px;box-shadow:0 1px 0 rgba(255,255,255,0.08) inset}
/* dark-section tab chips: glass at rest */
.stage-tab,.sc-tab{backdrop-filter:blur(10px) saturate(1.4);-webkit-backdrop-filter:blur(10px) saturate(1.4)}
/* floating glass dock (appears after the hero, site-wide) */
.gdock{position:fixed;left:50%;bottom:22px;transform:translate(-50%,84px);z-index:60;display:flex;align-items:center;gap:16px;padding:10px 12px 10px 22px;border-radius:999px;background:linear-gradient(180deg,rgba(252,253,255,0.78),rgba(244,246,250,0.56));backdrop-filter:blur(26px) saturate(2);-webkit-backdrop-filter:blur(26px) saturate(2);border:1px solid rgba(16,14,10,0.08);box-shadow:0 1px 0 rgba(255,255,255,0.75) inset,0 18px 44px rgba(16,14,10,0.16);opacity:0;pointer-events:none;transition:transform var(--dur-2) var(--ease-out),opacity var(--dur-2) ease}
.gdock.on{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.gdock span{font-size:12.5px;font-weight:450;color:var(--ink-2);white-space:nowrap}
.gdock a{flex:0 0 auto}
@media(max-width:640px){.gdock span{display:none}.gdock{padding:10px 12px}}

/* ================================================================
   v14 — SYSTEM PASS: one material, one motion language
   ================================================================ */
:root{
  --obj:#161310;            /* THE ink object surface, everywhere */
  --obj-hi:#1D1A16;
  --obj-line:rgba(255,255,255,0.085);
  --obj-ink:#F4F2EE;
  --obj-ink2:rgba(244,242,238,0.64);
  --obj-ink3:rgba(244,242,238,0.44);
  --dur-1:.28s;--dur-2:.55s;--dur-3:.9s;
  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --ease-inout:cubic-bezier(0.65,0,0.35,1);
}
/* ---- 1. UNIFY EVERY DARK SURFACE ---- */
.hdk-c.live,.cfr{background:linear-gradient(168deg,var(--obj-hi),var(--obj) 60%);border:1px solid var(--obj-line)}
.cta-band{background:linear-gradient(168deg,#191613,var(--obj) 70%)}
.eva-sect,.dk{background:linear-gradient(180deg,#191613,var(--obj))}
/* footer stays light (var(--card)) */
/* ---- 2. KILL THE FLOATING SHADOWS: flat objects, hairline light ---- */
.hdk-c.live,.cfr{box-shadow:0 1px 0 rgba(255,255,255,0.06) inset,0 14px 34px -22px rgba(16,14,10,0.4)}
.hdk-c.live:hover,.cfr:hover{transform:none;box-shadow:0 1px 0 rgba(255,255,255,0.08) inset,0 18px 38px -22px rgba(16,14,10,0.46)}
.hdk-c[data-k="1"],.hdk-c[data-k="2"]{box-shadow:none}
.cal2-ev.dark:hover,.cal2-ev:hover{transform:none}
.pxa,.pxa:hover{box-shadow:none}
/* ---- 3. EXPRESSIVE TYPE SCALE ---- */
.ghero .display{font-size:clamp(38px,4.2vw,58px);line-height:1.06;letter-spacing:-0.04em}
.h2{font-size:clamp(30px,3.3vw,46px);letter-spacing:-0.035em;line-height:1.06}
.lead{font-size:clamp(15.5px,1.25vw,18px);line-height:1.65}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:10px;letter-spacing:0.22em;font-weight:600}
.eyebrow::before{content:'';width:26px;height:1px;background:currentColor;opacity:0.4}
/* ---- 4. MOTION: one reveal language (rise + de-blur), consistent tokens ---- */
@media(prefers-reduced-motion:no-preference){
  .hx-head .display .w{display:inline-block;animation:wrise .7s var(--ease-out) both}
  @keyframes wrise{from{opacity:0;transform:translateY(0.55em);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
}

/* scroll progress hairline */
.sprog{position:fixed;top:0;left:0;right:0;height:2px;z-index:80;pointer-events:none}
.sprog i{display:block;height:100%;width:100%;background:#14110E;transform-origin:0 50%;transform:scaleX(0)}
/* ---- 5. QUIET INSTITUTIONAL DETAILS ---- */
.hdk-lab{display:none}
.split-media,.split-media-sm{background:transparent}
.gdock{box-shadow:0 1px 0 rgba(255,255,255,0.75) inset,0 10px 30px -8px rgba(16,14,10,0.18)}
a,button{outline-offset:3px}
a:focus-visible,button:focus-visible{outline:2px solid #14110E;border-radius:6px}
.cfr,.hdk-c.live{will-change:transform}

/* ===== v15: console section redesign (clean rail + contained stage) ===== */
.plat{grid-template-columns:minmax(280px,0.62fr) minmax(0,1.38fr);gap:clamp(32px,5vw,84px);align-items:center}
/* rail: quiet numbered index, no pill, no rule bar */
.pl-row{padding:19px 0;gap:18px;border-top:1px solid var(--line-2)}
.pl-row::before{content:none}
.pl-row::after{content:none}
.pl-row .n{color:var(--ink-3);opacity:0.55;transition:opacity var(--dur-1) ease,color var(--dur-1) ease}
.pl-row .t b{position:relative;display:inline-block;font-size:16px}
.pl-row .t b::after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1.5px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--dur-2) var(--ease-out)}
.pl-row.on .t b::after{transform:scaleX(1)}
.pl-row.on .n{color:var(--ink);opacity:1}
.pl-row .t span{max-width:300px;margin-top:6px;opacity:0.55;transition:opacity var(--dur-1) ease}
.pl-row.on .t span{opacity:1}
/* stage: no field box, frame is the object */
.plat-stage{background:transparent;border:0;border-radius:0;min-height:0;overflow:visible}
.plat-stage .pnl{background:none;border:0;padding:0;min-height:0;align-items:stretch;justify-content:center}
.cfr{max-width:100%;width:100%;margin:0}
.cfr-h{padding:14px 26px}
.cfr-f{padding:13px 26px}
.cfr-row{padding:19px 26px}
.cfr-asg{padding:30px 28px}
.cfr-goal{padding:26px 28px}
.cfr-cli{padding:24px 28px}
.cal2{padding:18px 20px}
@media(max-width:900px){
  .plat{grid-template-columns:1fr;gap:24px}
  .pl-row{border:0!important;border-top:1px solid var(--line-2)!important;border-radius:0;padding:14px 0;background:none!important}
  .pl-row.on{background:none!important}
  .pl-row.on .t b{color:var(--ink)}
  .pl-row .t b{color:var(--ink-2)}
  .pl-row .n{display:inline}
  .pl-row .t span{display:block}
}

/* ===== v16: every UI object light, same art style ===== */
:root{--obj:#FFFFFF;--obj-hi:#FFFFFF;--obj-line:rgba(16,14,10,0.10);--obj-ink:#14110E;--obj-ink2:rgba(20,17,14,0.66);--obj-ink3:rgba(20,17,14,0.46)}
.hdk-c.live,.cfr{background:#FFFFFF;border:1px solid rgba(16,14,10,0.10);box-shadow:0 14px 34px -22px rgba(16,14,10,0.16)}
.hdk-c.live:hover,.cfr:hover{box-shadow:0 18px 38px -22px rgba(16,14,10,0.2)}
.hdk-hd,.cfr-h{background:rgba(16,14,10,0.024);border-bottom:1px solid rgba(16,14,10,0.08);box-shadow:none}
.hdk-ft,.cfr-f{background:rgba(16,14,10,0.024);border-top:1px solid rgba(16,14,10,0.08)}
.hdk-when{color:#C2410C}
.hdk-t{color:#14110E}
.hdk-who{color:rgba(20,17,14,0.62)}
.hdk .hcon-av,.cfr .ho-av.dk{background:rgba(16,14,10,0.045);border-color:rgba(16,14,10,0.12);color:#14110E}
.hdk-eva{border-top:1px solid rgba(16,14,10,0.08)}
.hdk-eva i,.asg-why i{color:#8A8178}
.hdk-eva span{color:rgba(20,17,14,0.55)}
.hdk-cnt span{color:rgba(20,17,14,0.45)}
.hdk-cnt b{color:#14110E}
.hdk .hbtn.pri{background:#14110E;color:#F6F4F1}
.hdk .hbtn.sec{border-color:rgba(16,14,10,0.18);color:#14110E;background:rgba(255,255,255,0.6)}
.hdk .hbtn.sec:hover{border-color:rgba(16,14,10,0.4)}
.cfr-row+.cfr-row{border-top:1px solid rgba(16,14,10,0.07)}
.rk{color:rgba(20,17,14,0.45)}
.rk.red{color:#C2410C}
.cfr-m b{color:#14110E}
.cfr-m span{color:rgba(20,17,14,0.55)}
.cfr-ck{border-color:rgba(16,14,10,0.25)}
.cfr-row:hover .cfr-ck{border-color:#15803D;background:rgba(21,128,61,0.08)}
.cfr-ck:hover{background:#15803D!important;border-color:#15803D!important}
.dl.red{background:#C2410C}
.dl.grn{background:#15803D}
.dl.blu{background:#2563EB}
.asg-side b,.cfr-goal>b,.cli-id b{color:#14110E}
.cfr-k,.asg-why{color:rgba(20,17,14,0.48)}
.cfr-sub{color:rgba(20,17,14,0.5)}
.asg-line{background:rgba(16,14,10,0.16)}
.asg-line::before{background:#14110E}
.asg-line::after{border-color:rgba(16,14,10,0.4)}
.cfr:hover .asg-line::after{border-color:#14110E}
.on-dot{border-color:#FFFFFF;background:#15803D}
.cal2-ev{border-color:rgba(16,14,10,0.12)}
.cal2-ev .cfr-m b{color:#14110E}
.cal2-ev .cfr-m span{color:rgba(20,17,14,0.55)}
.ck2,.cal2-ev.dark .ck2{color:rgba(20,17,14,0.5)}
.cal2-ev.dark{background:rgba(16,14,10,0.035);border:1px solid rgba(16,14,10,0.12);box-shadow:none;color:#14110E}
.cal2-st{color:rgba(20,17,14,0.55)}
.gtr i{background:rgba(16,14,10,0.10)}
.gtr i.f{background:#14110E}
.gtr i.f.b{background:#2563EB}
.gtr i.f.g{background:#15803D}
.cfr:hover .cfr-goal .gtr i:nth-child(4){background:rgba(16,14,10,0.26)}
.gtr-l span{color:rgba(20,17,14,0.4)}
.gtr-l b{color:#14110E}
.gblock{color:rgba(20,17,14,0.5)}
.gblock i{background:#B7791F}
.cli-id{border-bottom:1px solid rgba(16,14,10,0.07)}
.cli-g .cli-gs{color:rgba(20,17,14,0.55)}
/* product + eva tiles */
.gfx,.gfx-in,.prodx-media{background:linear-gradient(165deg,#FBFAF8,#F1EEE9);border:1px solid rgba(16,14,10,0.08)}
.gfx::before,.gfx-in::before{border-color:rgba(16,14,10,0.06)}
.gfx-sheen{background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(16,14,10,0.045),transparent 62%)}
.gfx:hover .gfx-chip,.gfx-in:hover .gfx-chip{border-color:rgba(16,14,10,0.35)}
.gfx-leads .grow:hover{background:rgba(16,14,10,0.03)}
.gfx-task:hover .gttl::before{background-color:#14110E;border-color:#14110E;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
/* cta band light */
.cta-band{background:linear-gradient(168deg,#F7F5F2,#EFECE6);border-top:1px solid var(--line)}
.cta-band .h2,.cta-band h2{color:var(--ink)}
.cta-band .lead,.cta-band p{color:var(--ink-2)}
.cta-band-act{background:rgba(255,255,255,0.55);border:1px solid rgba(16,14,10,0.08);box-shadow:none}
.cta-mail{color:rgba(20,17,14,0.6)}
.cta-mail:hover{color:#14110E}

/* v16.1: specificity fixes */
.cal2-ev.dark .cfr-m b{color:#14110E}
.cal2-ev.dark .cfr-m span{color:rgba(20,17,14,0.55)}
.cal2-ev.dark .cal2-st{color:rgba(20,17,14,0.55)}

/* ===== v17: paper grain on UI objects ===== */
.hdk-c.live,.cfr,.gfx,.gfx-in,.prodx-media,.cta-band,.hdk-c[data-k="1"],.hdk-c[data-k="2"],.cal2-ev{position:relative}
.grainy{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.08 0 0 0 0 0.07 0 0 0 0 0.055 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px}
@media (prefers-reduced-motion:no-preference){.grainy{will-change:opacity}}

/* ===== v18: liquid glass material + visible grain + light sheen ===== */
.hdk-c.live,.cfr,.gfx,.gfx-in,.prodx-media,.cal2-ev,.cal2-ev.dark,.cta-band-act{
  background:linear-gradient(180deg,rgba(255,255,255,0.72),rgba(252,251,249,0.44));
  backdrop-filter:blur(22px) saturate(1.8);-webkit-backdrop-filter:blur(22px) saturate(1.8);
  border:1px solid rgba(255,255,255,0.7);
  box-shadow:0 1px 0 rgba(255,255,255,0.95) inset,0 0 0 1px rgba(16,14,10,0.06),0 22px 54px -22px rgba(16,14,10,0.2);
}
.hdk-c.live:hover,.cfr:hover{box-shadow:0 1px 0 rgba(255,255,255,0.95) inset,0 0 0 1px rgba(16,14,10,0.08),0 28px 62px -22px rgba(16,14,10,0.24)}
.hdk-hd,.cfr-h{background:rgba(255,255,255,0.4);border-bottom:1px solid rgba(16,14,10,0.06)}
.hdk-ft,.cfr-f{background:rgba(255,255,255,0.4);border-top:1px solid rgba(16,14,10,0.06)}
.gfx,.gfx-in,.prodx-media{background:linear-gradient(180deg,rgba(255,255,255,0.6),rgba(247,245,241,0.42))}
.cal2-ev.dark{background:linear-gradient(180deg,rgba(255,255,255,0.55),rgba(250,249,247,0.35))}
/* grain: actually visible */
.grainy{opacity:1;mix-blend-mode:multiply;border-radius:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.10 0 0 0 0 0.09 0 0 0 0 0.07 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px}
/* sheen: light instead of dark */
.gfx-sheen{mix-blend-mode:soft-light;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.95),rgba(255,255,255,0.28) 42%,transparent 64%)}
.nav .grainy,.gdock .grainy{opacity:0.55}

/* ===== v19: visibility hardening ===== */
.plat-stage .pnl.on .cfr,.plat-stage .pnl.on .cfr>*{animation:none!important}
.plat-stage .pnl.on .cfr{opacity:1}
[data-rv].in{opacity:1!important;transform:none!important;filter:none!important}

/* ===== v20: shadow cleanup (no bleed through translucent glass) ===== */
.hdk-c.live,.cfr,.gfx,.gfx-in,.prodx-media,.cal2-ev,.cal2-ev.dark,.cta-band-act{
  background:linear-gradient(180deg,rgba(255,255,255,0.96),rgba(255,255,255,0.86));
  box-shadow:0 0 0 1px rgba(16,14,10,0.07),0 10px 24px -16px rgba(16,14,10,0.12);
  border:1px solid rgba(255,255,255,0.75);
}
.hdk-c.live:hover,.cfr:hover{box-shadow:0 0 0 1px rgba(16,14,10,0.07),0 10px 24px -16px rgba(16,14,10,0.12)}
.hdk-c[data-k="1"],.hdk-c[data-k="2"]{box-shadow:0 0 0 1px rgba(16,14,10,0.05);border:1px solid rgba(255,255,255,0.5)}
.cal2-ev,.cal2-ev.dark{box-shadow:0 0 0 1px rgba(16,14,10,0.06)}
.grainy{opacity:0.5}

/* ===== v21: cta band whiter, no card, fixed button ===== */
.cta-band{background:#FBFAF8;border-top:1px solid var(--line)}
.cta-band-act{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0;border-radius:0;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.cta-band-act .grainy{display:none}
.cta-band .btn-cta{background:#14110E;color:#F6F4F1;border:1px solid #14110E;border-radius:999px;box-shadow:none;transition:opacity .25s ease}
.cta-band .btn-cta:hover{opacity:0.86;transform:none}
.cta-mail{color:rgba(20,17,14,0.55)}
.cta-mail:hover{color:#14110E}
@media(max-width:760px){.cta-band-act{align-items:flex-start}}

/* v22: remove ghost stack layers behind hero deck */
.hdk-c[data-k="1"],.hdk-c[data-k="2"]{display:none}

/* ============ v14: expression pass ============ */
/* flat, expensive elevation on the hero object */
.hdk-c.live,.hdk-c.live:hover{box-shadow:0 1px 0 rgba(255,255,255,0.07) inset,0 16px 30px -20px rgba(10,12,16,0.45)}
.hdk-c[data-k="1"]{left:14px;right:14px;top:-11px;height:56px;box-shadow:0 1px 0 rgba(255,255,255,0.65) inset}
.cfr,.cfr:hover{box-shadow:0 1px 0 rgba(255,255,255,0.06) inset,0 18px 34px -22px rgba(10,12,16,0.42)}
/* hero dawn light */
.ghero::before{display:block!important;content:'';position:absolute;left:-8%;top:-18%;width:70%;height:68%;background:radial-gradient(55% 60% at 38% 30%,rgba(175,200,242,0.16),transparent 68%);pointer-events:none;filter:blur(2px)}
/* editorial kicker */
.kick{display:flex;align-items:center;gap:13px;margin:0;font-size:11px;font-weight:550;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-3)}
.kick::before{content:'';width:28px;height:1px;background:currentColor;opacity:0.55;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-3) var(--ease-out) 150ms}
.kick.in::before{transform:none}
/* two-tone masked display */
.ghero .hx-head .display.hxd{font-size:clamp(38px,4.4vw,66px);line-height:1.02;letter-spacing:-0.045em;margin:22px 0 20px}
.hxd .mask{display:block;overflow:hidden;padding-bottom:0.08em;margin-bottom:-0.08em}
.hxd .mask>span{display:block;transform:translateY(112%)}
.hxd.in .mask>span{animation:hxrise 0.9s var(--ease-out) forwards}
.hxd.in .mask:nth-child(2)>span{animation-delay:110ms}
.hxd .l2{color:var(--ink-3)}
@keyframes hxrise{to{transform:none}}
/* evidence row */
.proof{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:30px 0 0;font-size:9.5px;font-weight:550;letter-spacing:0.17em;color:var(--ink-3)}
.proof i{width:1px;height:10px;background:var(--line-3)}
/* section eyebrows -> tracked editorial kickers (site-wide coherence) */
.sect .eyebrow,.split-body .eyebrow,.iband-in .eyebrow,.cta-band .eyebrow{font-size:11px;font-weight:550;letter-spacing:0.18em;text-transform:uppercase;display:flex;align-items:center;gap:12px}
.sect .eyebrow::before,.split-body .eyebrow::before,.iband-in .eyebrow::before,.cta-band .eyebrow::before{content:'';width:26px;height:1px;background:currentColor;opacity:0.5;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-3) var(--ease-out) 120ms}
.sect .eyebrow.in::before,.split-body .eyebrow.in::before,.iband-in .eyebrow.in::before,.cta-band .eyebrow.in::before{transform:none}
/* headline discipline */
.sect .h2,.split-body .h2{letter-spacing:-0.042em}
.stats-inline .v{font-size:clamp(27px,2.9vw,40px);letter-spacing:-0.04em}
/* scroll-linked chart draw (left to right with scroll) */
#rc-svg{clip-path:inset(-2% calc((1 - var(--p,0)) * 102%) -2% 0)}
@media (prefers-reduced-motion:reduce){#rc-svg{clip-path:none}}

/* ===== v23: maquette city backgrounds ===== */
.hero-plan,.band-plan{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 84%,transparent 100%)}
@media (prefers-reduced-motion:no-preference){
  .bld{animation:bldIn .8s var(--ease-out) both}
  @keyframes bldIn{from{opacity:0}}
  .pin{animation:pinBob 4.5s ease-in-out infinite;will-change:translate}
  @keyframes pinBob{0%,100%{translate:0 0}50%{translate:0 -4px}}
}
.pin{transform-box:fill-box}

/* v26: map visible higher */
.hero-plan,.band-plan{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 86%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 86%,transparent 100%)}

/* ===== v28: survey scan ===== */
.hero-plan,.band-plan{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 6%,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 6%,#000 88%,transparent 100%)}
.hero-plan svg,.band-plan svg{position:absolute;inset:0;width:100%;height:100%}
.scanB{-webkit-mask-image:radial-gradient(240px circle at var(--sx,62%) var(--sy,36%),#000 32%,transparent 72%);mask-image:radial-gradient(240px circle at var(--sx,62%) var(--sy,36%),#000 32%,transparent 72%);transition:opacity .5s ease}
@media (prefers-reduced-motion:no-preference){
  .flowline{animation:flowDash 26s linear infinite}
  @keyframes flowDash{to{stroke-dashoffset:-640}}
  .ring{transform-box:fill-box;transform-origin:center;animation:ringP 4.6s cubic-bezier(0.22,1,0.36,1) infinite;opacity:0}
  @keyframes ringP{0%{transform:scale(0.15);opacity:0}12%{opacity:0.55}70%{transform:scale(2.6);opacity:0}100%{transform:scale(2.6);opacity:0}}
}
@media (prefers-reduced-motion:reduce){.ring{opacity:0.25}}

/* ===== v29: institutional type discipline ===== */
.kick{font-size:10px;letter-spacing:0.26em;font-weight:550;color:rgba(20,17,14,0.44)}
.ghero .hx-head .display.hxd{font-size:clamp(33px,3.5vw,52px);font-weight:600;letter-spacing:-0.028em;line-height:1.1;margin:24px 0 22px}
.hxd .l2{color:var(--ink)} /* one ink, no two-tone */
@media(min-width:900px){.hxd .mask{white-space:nowrap}}
.ghero .hx-head .lead{font-size:15.5px;line-height:1.72;font-weight:300;color:var(--ink-2);max-width:490px}
.hero-cta{gap:10px}
.hero-cta .btn{font-size:13px;padding:10px 20px;font-weight:550;letter-spacing:0}
.btn-line{background:transparent;border:1px solid rgba(16,14,10,0.18);backdrop-filter:none;-webkit-backdrop-filter:none}
.btn-line:hover{border-color:rgba(16,14,10,0.4);background:transparent}
.proof{font-size:8.5px;letter-spacing:0.2em;font-weight:500;color:rgba(20,17,14,0.4);margin-top:34px}
.proof i{background:rgba(16,14,10,0.14)}
/* site-wide headline discipline */
.h2{font-weight:600;letter-spacing:-0.03em;font-size:clamp(26px,2.7vw,38px);line-height:1.14}
.eyebrow,.sect .eyebrow,.split-body .eyebrow,.cta-band .eyebrow{font-size:9.5px;letter-spacing:0.24em;font-weight:550;color:rgba(20,17,14,0.44)}
.lead{font-size:clamp(14.5px,1.05vw,16px);line-height:1.7;font-weight:300}
.prodx-body h3{font-weight:600;letter-spacing:-0.02em}
.prod-kick{font-size:9.5px;letter-spacing:0.2em;font-weight:550;color:rgba(20,17,14,0.44);text-transform:uppercase}
/* deck: quieter, more precise */
.hdk-brand,.hdk-of{font-size:8.5px;letter-spacing:0.2em}
.hdk-t{font-weight:550;letter-spacing:-0.02em}
.hdk-when{font-size:8.5px;letter-spacing:0.18em}
.hbtn{font-size:12px;font-weight:550}
.hdk-cnt span{font-size:7.5px;letter-spacing:0.16em}
/* stats: refined numerals */
.stats-inline .v{font-weight:600;letter-spacing:-0.03em}
.stats-inline .k{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(20,17,14,0.42);font-weight:500}

/* ===== v30: one paper, one family ===== */
[data-theme="light"]{--paper:#FBFAF8;--paper-deep:#F4F2ED;--card:#FBFAF8;--card-2:#F1EFE9}
.wht{background:var(--paper)}
.ghero{background:var(--paper)}
.cta-band{background:var(--paper);border-top:1px solid var(--line)}
.foot{background:var(--paper)}
.btn-line{background:transparent}
.cta-band .band-plan{position:absolute;inset:0;pointer-events:none}
.cta-band .wrap{position:relative;z-index:1}

/* ===== v31: no shadows on UI objects — flat modern ===== */
.hdk-c.live,.cfr,.gfx,.gfx-in,.prodx-media,.cal2-ev,.cal2-ev.dark,.cta-band-act{box-shadow:0 0 0 1px rgba(16,14,10,0.08)!important}
.hdk-c.live:hover,.cfr:hover{box-shadow:0 0 0 1px rgba(16,14,10,0.12)!important;transform:none}
.hdk-c[data-k="1"],.hdk-c[data-k="2"]{box-shadow:none;display:none}
.pxa,.pxa:hover{box-shadow:none}
.prod:hover{box-shadow:none}
.cta-band-act{box-shadow:none!important}

/* ===== v32: scan graphic on sub-page heroes (.hero) ===== */
header.hero{position:relative;overflow:hidden}
header.hero>.wrap,.ghero>.wrap{position:relative;z-index:1}
header.hero .hero-plan{position:absolute;inset:0;pointer-events:none;z-index:0}

/* ===== v33: cursor-style hero + console showcase ===== */
.hero-1c{position:relative;z-index:1;max-width:1180px}
.hero-1c .hx-head{max-width:660px;text-align:left;margin:0}
.ghero{padding-bottom:clamp(30px,3.4vw,46px)}
.ghero .hx-head .display.hxd{margin:0 0 20px}
.kick::before,.eyebrow::before,.sect .eyebrow::before,.split-body .eyebrow::before,.iband-in .eyebrow::before,.cta-band .eyebrow::before{display:none!important}
.eyebrow,.kick{gap:0}
/* showcase shell */
.dz-sect{padding:0 0 clamp(64px,7vw,104px)}
.dz{display:grid;grid-template-columns:206px minmax(0,1fr);border-radius:16px;overflow:hidden;background:var(--paper);box-shadow:0 0 0 1px rgba(16,14,10,0.09);min-height:520px}
.dz-side{background:#161310;padding:20px 12px 14px;display:flex;flex-direction:column;gap:20px}
.dz-logo img{height:17px;width:auto;margin:2px 10px 0;opacity:0.92}
.dz-navs{display:flex;flex-direction:column;gap:2px;flex:1}
.dz-nav{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border:0;border-radius:9px;background:none;cursor:pointer;font:inherit;font-size:13px;font-weight:450;color:rgba(244,242,238,0.55);transition:background .35s var(--ease-out),color .35s ease}
.dz-nav svg{width:15px;height:15px;flex:0 0 auto}
.dz-nav span{flex:1;text-align:left;letter-spacing:-0.005em}
.dz-nav em{font-style:normal;font-size:10.5px;font-weight:600;color:rgba(244,242,238,0.5);background:rgba(255,255,255,0.09);border-radius:999px;padding:1px 7px}
.dz-nav:hover{color:rgba(244,242,238,0.85);background:rgba(255,255,255,0.05)}
.dz-nav.on{background:rgba(255,255,255,0.1);color:#F4F2EE}
.dz-me{display:flex;align-items:center;gap:9px;padding:11px 10px 2px;border-top:1px solid rgba(255,255,255,0.09)}
.dz-me b{display:block;font-size:12.5px;font-weight:550;color:#F4F2EE}
.dz-me span:last-child{font-size:11px;color:rgba(244,242,238,0.45)}
.dz-av{width:26px;height:26px;border-radius:999px;background:rgba(255,255,255,0.1);display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:600;color:#F4F2EE;flex:0 0 auto;font-style:normal}
.dz-main .dz-av{background:rgba(16,14,10,0.06);color:var(--ink)}
.dz-av.lg{width:44px;height:44px;font-size:13px}
.dz-av.sm{width:20px;height:20px;font-size:8px;margin-right:8px}
/* main */
.dz-main{position:relative;display:grid;padding:clamp(18px,2vw,26px)}
.dz-view{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .5s ease,transform .6s var(--ease-out),visibility 0s .5s}
.dz-view.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease,transform .6s var(--ease-out),visibility 0s}
.dz-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.dz-top h3{margin:0;font-size:19px;font-weight:600;letter-spacing:-0.025em;display:flex;align-items:center;gap:9px}
.dz-top p{margin:4px 0 0;font-size:12.5px;font-weight:300;color:var(--ink-2)}
.dz-who{display:flex;align-items:center;gap:12px}
.dz-tag{font-style:normal;font-size:10px;font-weight:600;color:#15803D;background:rgba(21,128,61,0.09);border:1px solid rgba(21,128,61,0.24);border-radius:999px;padding:2px 9px}
.dz-act{display:flex;gap:7px;flex:0 0 auto}
.dz-b{font:inherit;font-size:12px;font-weight:550;padding:7px 14px;border-radius:999px;border:1px solid rgba(16,14,10,0.14);background:transparent;color:var(--ink);cursor:pointer;transition:border-color .3s ease,opacity .25s ease}
.dz-b:hover{border-color:rgba(16,14,10,0.34)}
.dz-b.dk{background:#161310;border-color:#161310;color:#FBFAF8}
.dz-b.dk:hover{opacity:0.86}
.dz-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.dz-stats>div{padding:12px 14px;border-radius:11px;box-shadow:0 0 0 1px rgba(16,14,10,0.07)}
.dz-stats span{font-size:8.5px;letter-spacing:0.15em;font-weight:600;color:var(--ink-3)}
.dz-stats b{display:block;font-size:22px;font-weight:650;letter-spacing:-0.035em;margin-top:5px}
.dz-stats p{margin:3px 0 0;font-size:10.5px;font-weight:300;color:var(--ink-3)}
.dz-pr{display:block;width:52px;height:3px;border-radius:999px;background:rgba(16,14,10,0.12);overflow:hidden}
.dz-pr s{display:block;height:100%;background:#161310;text-decoration:none;transition:width .6s var(--ease-out)}
.dz-grp{margin:16px 2px 6px;font-size:9px;letter-spacing:0.16em;font-weight:600;color:var(--ink-3);display:flex;gap:8px}
.dz-grp em{font-style:normal;color:rgba(20,17,14,0.3)}
.dz-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;box-shadow:0 0 0 1px rgba(16,14,10,0.07);margin-top:6px;transition:box-shadow .35s ease}
.dz-row:hover{box-shadow:0 0 0 1px rgba(16,14,10,0.17)}
.dz-ck{width:19px;height:19px;border-radius:999px;border:1.5px solid rgba(16,14,10,0.24);background:none;cursor:pointer;flex:0 0 auto;position:relative;transition:background .3s ease,border-color .3s ease}
.dz-ck::after{content:'';position:absolute;inset:5px 4px 6px;border:solid #fff;border-width:0 0 1.8px 1.8px;transform:rotate(-45deg) scale(0);transition:transform .3s var(--ease-out)}
.dz-row:hover .dz-ck{border-color:#15803D}
.dz-row.dn .dz-ck{background:#15803D;border-color:#15803D}
.dz-row.dn .dz-ck::after{transform:rotate(-45deg) scale(1)}
.dz-row.dn .dz-m b{text-decoration:line-through;color:var(--ink-3)}
.dz-m{flex:1;min-width:0}
.dz-m b{display:block;font-size:13.5px;font-weight:550;letter-spacing:-0.012em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dz-m>span{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:11.5px;font-weight:300;color:var(--ink-2)}
.dz-m>span s{text-decoration:none;color:var(--ink-3)}
.dz-dot{width:6px;height:6px;border-radius:999px;flex:0 0 auto;display:inline-block}
.dz-when{font-size:11.5px;font-weight:550;flex:0 0 auto;color:var(--ink-3)}
.dz-when.red{color:#C2410C}
.dz-eva{margin-top:16px;padding:13px 15px;border-radius:12px;background:rgba(111,103,96,0.05);box-shadow:0 0 0 1px rgba(111,103,96,0.14)}
.dz-eva span{font-size:9px;letter-spacing:0.16em;font-weight:600;color:#6F6760}
.dz-eva p{margin:6px 0 0;font-size:12.5px;font-weight:300;line-height:1.6;color:var(--ink-2)}
/* inbox */
.dz-split{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:14px}
.dz-list{display:flex;flex-direction:column;gap:6px}
.dz-th{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:11px;box-shadow:0 0 0 1px rgba(16,14,10,0.07);cursor:default;transition:box-shadow .35s ease}
.dz-th.on,.dz-th:hover{box-shadow:0 0 0 1px rgba(16,14,10,0.17)}
.dz-th div{flex:1;min-width:0}
.dz-th b{display:block;font-size:12.5px;font-weight:600}
.dz-th span{display:block;font-size:11px;font-weight:300;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dz-th em{font-style:normal;font-size:10.5px;color:var(--ink-3)}
.dz-thread{display:flex;flex-direction:column;gap:9px}
.dz-bub{padding:13px 15px;border-radius:12px;box-shadow:0 0 0 1px rgba(16,14,10,0.07)}
.dz-bub p{margin:0;font-size:13px;font-weight:300;line-height:1.55}
.dz-bub em{display:block;font-style:normal;font-size:10.5px;color:var(--ink-3);margin-top:7px}
.dz-bub.me{background:#161310;box-shadow:none}
.dz-bub.me p{color:#F4F2EE}
.dz-bub.me em{color:rgba(244,242,238,0.5)}
.dz-sug{padding:13px 15px;border-radius:12px;background:rgba(111,103,96,0.05);box-shadow:0 0 0 1px rgba(111,103,96,0.14)}
.dz-sug span{font-size:9px;letter-spacing:0.16em;font-weight:600;color:#6F6760}
.dz-sug p{margin:6px 0 11px;font-size:12.5px;font-weight:300;line-height:1.55;color:var(--ink-2)}
.dz-sugb{display:flex;gap:7px}
/* contact */
.dz-goals{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dz-goal{padding:15px 17px;border-radius:12px;box-shadow:0 0 0 1px rgba(16,14,10,0.07)}
.dz-k{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:0.15em;font-weight:600;color:var(--ink-3)}
.dz-goal>b{display:block;font-size:16px;font-weight:600;letter-spacing:-0.022em;margin-top:8px}
.dz-goal>p{margin:7px 0 0;font-size:12px;font-weight:550;display:flex;gap:8px}
.dz-goal>p s{text-decoration:none;font-weight:300;color:var(--ink-3)}
.dz-tr{display:flex;gap:4px;margin-top:11px}
.dz-tr i{flex:1;height:4px;border-radius:999px;background:rgba(16,14,10,0.1)}
.dz-tr i.f.b{background:#2563EB}
.dz-tr i.f.g{background:#15803D}
.dz-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin-top:14px;font-size:11.5px}
.dz-kv span{color:var(--ink-3);font-weight:300}
.dz-kv b{font-weight:550}
/* calendar */
.dz-week{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.dz-day{padding:10px;border-radius:11px;background:rgba(16,14,10,0.02)}
.dz-day.today{background:rgba(16,14,10,0.05)}
.dz-day>span{display:block;font-size:9px;letter-spacing:0.13em;font-weight:600;color:var(--ink-3);margin-bottom:8px}
.dz-ev{padding:10px 12px;border-radius:9px;box-shadow:0 0 0 1px rgba(16,14,10,0.07);background:var(--paper);margin-top:6px;font-size:11.5px;font-weight:550;letter-spacing:-0.01em;line-height:1.35}
.dz-ev em{display:block;font-style:normal;font-size:8.5px;letter-spacing:0.12em;font-weight:600;color:var(--ink-3);margin-bottom:4px}
.dz-ev.dk{background:#161310;box-shadow:none;color:#F4F2EE}
.dz-ev.dk em{color:rgba(244,242,238,0.5)}
/* metrics */
.dz-stats.four b{font-size:24px}
.dz-bar{display:flex;gap:3px;height:7px;margin-top:4px}
.dz-bar i{border-radius:999px}
.dz-leg{display:flex;flex-wrap:wrap;gap:16px;margin-top:11px}
.dz-leg span{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:300;color:var(--ink-2)}
.dz-leg i{width:7px;height:7px;border-radius:999px}
.dz-agents{margin-top:18px;border-radius:12px;box-shadow:0 0 0 1px rgba(16,14,10,0.07);overflow:hidden}
.dz-ar{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));align-items:center;padding:11px 15px;font-size:12.5px}
.dz-ar+.dz-ar{border-top:1px solid rgba(16,14,10,0.06)}
.dz-ar span:first-child{display:flex;align-items:center;font-weight:550}
.dz-ar span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;font-weight:450}
.dz-ar.hd span{font-size:8.5px;letter-spacing:0.14em;font-weight:600;color:var(--ink-3)}
.dz-cap{margin:22px 2px 0;font-size:9px;letter-spacing:0.2em;font-weight:500;color:var(--ink-3);text-transform:uppercase}
@media(max-width:900px){
  .dz{grid-template-columns:1fr}
  .dz-side{flex-direction:row;align-items:center;gap:8px;padding:12px;overflow-x:auto}
  .dz-logo,.dz-me{display:none}
  .dz-navs{flex-direction:row;gap:5px}
  .dz-nav{padding:7px 13px;border-radius:999px;flex:0 0 auto}
  .dz-nav em{display:none}
  .dz-stats,.dz-stats.four{grid-template-columns:1fr 1fr}
  .dz-split,.dz-goals{grid-template-columns:1fr}
  .dz-week{grid-template-columns:1fr 1fr}
  .dz-ar{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));font-size:11.5px}
}

/* ===== v34: full prototype views + big hero map ===== */
.hero-plan{inset:0 0 -76% 0!important;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 74%,transparent 96%)!important;mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 74%,transparent 96%)!important}
.ghero{overflow:visible}
.dz-sect{position:relative;z-index:1}
.dz-sl{margin:14px 11px 5px;font-size:8.5px;letter-spacing:0.16em;font-weight:600;color:rgba(244,242,238,0.34)}
.dz-sl:first-child{margin-top:2px}
.dz{min-height:560px}
.dz-side{padding:18px 10px 12px}
.dz-navs{gap:1px;overflow:visible}
.dz-nav{padding:8px 11px;font-size:12.5px}
/* segmented + search */
.dz-seg{display:flex;gap:6px;margin-bottom:14px}
.dz-seg.wrap{flex-wrap:wrap}
.dz-seg button{font:inherit;font-size:11.5px;font-weight:500;padding:6px 12px;border-radius:999px;border:1px solid rgba(16,14,10,0.12);background:none;color:var(--ink-2);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .3s ease}
.dz-seg button em{font-style:normal;font-weight:650;opacity:0.6}
.dz-seg button.on{background:#161310;border-color:#161310;color:#FBFAF8}
.dz-seg button:hover:not(.on){border-color:rgba(16,14,10,0.3)}
.dz-search{font-size:11.5px;font-weight:300;color:var(--ink-3);padding:7px 14px;border-radius:999px;box-shadow:0 0 0 1px rgba(16,14,10,0.1)}
.dz-st{font-style:normal;font-size:10px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
/* notifications */
.dz-nlist{display:flex;flex-direction:column;gap:7px}
.dz-n{display:flex;gap:11px;padding:12px 14px;border-radius:11px;box-shadow:0 0 0 1px rgba(16,14,10,0.07);transition:box-shadow .35s ease}
.dz-n:hover{box-shadow:0 0 0 1px rgba(16,14,10,0.17)}
.dz-n.unread{background:rgba(37,99,235,0.025)}
.dz-n>div{flex:1;min-width:0}
.dz-n b{display:flex;align-items:baseline;font-size:13.5px;font-weight:600}
.dz-t{font-style:normal;margin-left:auto;font-size:10.5px;font-weight:400;color:var(--ink-3)}
.dz-n>div>span{display:block;font-size:12px;font-weight:550;color:var(--ink-2);margin-top:2px}
.dz-n p{margin:3px 0 0;font-size:12px;font-weight:300;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dz-av.ev{background:linear-gradient(135deg,rgba(111,103,96,0.14),rgba(111,103,96,0.06));color:#6F6760;font-size:11px}
/* leads table */
.dz-tbl{border-radius:12px;box-shadow:0 0 0 1px rgba(16,14,10,0.07);overflow:hidden}
.dz-lr{display:grid;grid-template-columns:minmax(0,1.5fr) 84px 68px minmax(0,1fr) minmax(0,1fr) 88px 78px;align-items:center;gap:10px;padding:11px 15px;font-size:12px}
.dz-lr+.dz-lr{border-top:1px solid rgba(16,14,10,0.055)}
.dz-lr:not(.hd):hover{background:rgba(16,14,10,0.02)}
.dz-lr.hd span{font-size:8.5px;letter-spacing:0.14em;font-weight:600;color:var(--ink-3)}
.dz-lc{display:flex;align-items:center;font-weight:600}
.dz-lr span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.dz-lr .dz-lc{color:var(--ink)}
/* team console */
.dz-split.t{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:14px}
.dz-rev{padding:14px 15px;border-radius:12px;box-shadow:0 0 0 1px rgba(16,14,10,0.07);margin-top:7px}
.dz-tb{display:flex;align-items:center;gap:10px}
.dz-tb div{flex:1;min-width:0}
.dz-tb b{display:block;font-size:13.5px;font-weight:600}
.dz-tb span{display:block;font-size:11.5px;font-weight:300;color:var(--ink-3);margin-top:2px}
.dz-why{display:flex;align-items:center;gap:8px;margin:11px 0;padding:9px 12px;border-radius:9px;background:rgba(111,103,96,0.05);box-shadow:0 0 0 1px rgba(111,103,96,0.14);font-size:12px;font-weight:400;color:var(--ink-2)}
.dz-why span{color:#6F6760;font-size:10px}
.dz-why b{font-weight:600;color:var(--ink)}
.dz-why em{font-style:normal;margin-left:auto;font-size:10.5px;color:var(--ink-3);white-space:nowrap}
.dz-al{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:11px;box-shadow:0 0 0 1px rgba(16,14,10,0.07);margin-top:6px}
.dz-al.big{padding:14px 16px}
.dz-al div{flex:1;min-width:0}
.dz-al b{display:block;font-size:13px;font-weight:600}
.dz-al span{display:block;font-size:11.5px;font-weight:300;color:var(--ink-3);margin-top:2px}
.dz-agents.mt{margin-top:18px}
/* voice lab */
.dz-call{padding:18px 20px;border-radius:12px;box-shadow:0 0 0 1px rgba(16,14,10,0.07)}
.dz-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:44px;margin:16px 0}
.dz-wave s{width:3px;border-radius:999px;background:rgba(16,14,10,0.3);text-decoration:none;height:30%}
@media (prefers-reduced-motion:no-preference){.dz-wave s{animation:dzw 1.2s ease-in-out infinite}.dz-wave s:nth-child(2n){animation-delay:.15s}.dz-wave s:nth-child(3n){animation-delay:.3s}.dz-wave s:nth-child(4n){animation-delay:.45s}@keyframes dzw{0%,100%{height:22%}50%{height:88%}}}
.dz-tx{display:flex;flex-direction:column;gap:9px}
.dz-tx p{margin:0;font-size:12.5px;font-weight:300;line-height:1.5;color:var(--ink-2)}
.dz-tx b{display:inline-block;min-width:44px;font-weight:600;color:var(--ink)}
/* profile */
.dz-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dz-f{padding:12px 15px;border-radius:11px;box-shadow:0 0 0 1px rgba(16,14,10,0.07)}
.dz-f span{display:block;font-size:9px;letter-spacing:0.14em;font-weight:600;color:var(--ink-3)}
.dz-f b{display:block;font-size:13.5px;font-weight:550;margin-top:5px}
@media(max-width:1000px){.dz-lr{grid-template-columns:minmax(0,1.4fr) 78px 62px minmax(0,1fr) 84px}.dz-hide{display:none}}
@media(max-width:900px){
  .hero-plan{inset:0 0 -30% 0!important}
  .dz-sl{display:none}
  .dz-split.t{grid-template-columns:1fr}
  .dz-fields{grid-template-columns:1fr}
  .dz-lr{grid-template-columns:minmax(0,1.3fr) 74px minmax(0,1fr)}
  .dz-lr span:nth-child(3),.dz-lr span:nth-child(6){display:none}
}

/* ===== v35: prototype screens on a dark stage ===== */
.hero-plan{inset:0 0 -150% 0!important;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 6%,#000 78%,transparent 97%)!important;mask-image:linear-gradient(180deg,transparent 0%,#000 6%,#000 78%,transparent 97%)!important}
.dzt-rail{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.dzt{font:inherit;font-size:12px;font-weight:500;letter-spacing:-0.005em;padding:8px 15px;border-radius:999px;border:1px solid rgba(16,14,10,0.12);background:transparent;color:var(--ink-2);cursor:pointer;transition:background .35s var(--ease-out),border-color .35s ease,color .35s ease}
.dzt:hover{border-color:rgba(16,14,10,0.3);color:var(--ink)}
.dzt.on{background:#161310;border-color:#161310;color:#FBFAF8}
.dz-stage{position:relative;border-radius:18px;overflow:hidden;background:#221F1B;background-image:radial-gradient(62% 52% at 50% 50%,rgba(238,233,224,.62),transparent 76%),radial-gradient(70% 46% at 8% 4%,rgba(215,208,196,.46),transparent 68%),radial-gradient(60% 46% at 96% 96%,rgba(139,126,112,.50),transparent 70%);box-shadow:0 0 0 1px rgba(16,14,10,0.1);transition:height .5s var(--ease-out)}
.dz-hold{width:1160px;transform-origin:top left;transform:scale(var(--s,1))}
.dz-hold>div{transition:opacity .45s ease}
.dz-hold.sw>div{opacity:0}
.dz-hold img{max-width:none}
.dz-cap{margin:22px 2px 0;font-size:9px;letter-spacing:0.2em;font-weight:500;color:var(--ink-3);text-transform:uppercase}
@media(max-width:900px){.hero-plan{inset:0 0 -60% 0!important}.dzt{font-size:11px;padding:7px 12px}}

/* ===== v36: nav aligned to container, fixed dark stage ===== */
.nav{padding:0!important;background:var(--paper)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;border-bottom:1px solid transparent!important;pointer-events:auto}
body[data-page="index.html"] .nav,body[data-page="realty.html"] .nav,body[data-page="management.html"] .nav{margin-bottom:0}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;height:var(--nav-h)}
.nav.scrolled{border-bottom-color:var(--line)!important}
.nav-logo img{height:19px}
.nav-links{gap:26px}
.nav-links a{font-size:13.5px;font-weight:450}
/* stage: one fixed window, flat dark, clipped */
.dz-stage{height:660px!important;background:#1B1917!important;background-image:none!important;border-radius:16px;box-shadow:0 0 0 1px rgba(16,14,10,0.12);transition:none}
.dz-hold{width:1160px;transform-origin:top left}
.dz-hold>div[data-screen-label]{padding:0!important}
.dz-hold>div>div{border-radius:0!important;box-shadow:none!important;height:660px;align-items:stretch}
.dz-hold>div>div>div:first-child{min-height:100%}
/* interactive affordances inside the screens */
.dz-hold [data-ck]{cursor:pointer;transition:background .25s ease,box-shadow .25s ease}
.dz-hold [data-ck].on{background:#15803D!important;box-shadow:inset 0 0 0 1px #15803D!important}
.dz-hold [data-ck].on::after{content:'';position:absolute;inset:30% 26% 34%;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg)}
.dz-hold [data-ck]{position:relative}
@media(max-width:900px){.dz-stage{height:520px!important}}

/* ===== v37: fixed frame, true dark screens, affordances ===== */
.dz-stage{background:#17150F!important}
.dz-hold>div[data-screen-label]{padding:0!important}
.dz-hold>div>div{border-radius:0!important;box-shadow:none!important;height:auto!important;min-height:var(--sh,660px)!important;align-items:stretch}
.dz-hold [data-ck]{position:relative;cursor:pointer;transition:background .25s ease,box-shadow .25s ease}
.dz-hold [data-ck]:hover{box-shadow:inset 0 0 0 1.5px rgba(74,222,128,0.6)!important}
.dz-hold [data-ck].on{background:#22C55E!important;box-shadow:inset 0 0 0 1px #22C55E!important}
.dz-hold [data-ck].on::after{content:'';position:absolute;left:28%;top:26%;width:34%;height:20%;border:solid #10140F;border-width:0 0 2px 2px;transform:rotate(-45deg)}

/* ===== v38: layout scope, luminance darkify, broader affordances ===== */
.dz-hold>div>div>div:first-child{min-height:0!important}
.dz-hold>div>div{min-height:0!important;height:auto!important}
.dz-hold>div[data-screen-label]{min-height:var(--sh,660px)!important;display:block}
.dz-hold [data-ck]{border-radius:inherit}

/* v39: font var used by the cloned prototype screens */
:root{--font-sans:'Instrument Sans','SansFallback',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}

/* v40: cover-fit frame, no forced heights, no letterbox */
.dz-hold>div[data-screen-label]{min-height:0!important}
.dz-hold>div>div{min-height:0!important;height:auto!important}
.dz-stage{background:#17150F!important}

/* ===== v41: screens as designed (light content, black sidebar) ===== */
.dz-sect{padding-top:clamp(44px,5vw,86px)}
.dz-stage{height:660px!important;background:#1B1917!important;background-image:none!important;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px rgba(16,14,10,0.1)}
.dz-hold{width:1160px;transform-origin:top left;transform:scale(var(--s,1))}
.dz-hold>div[data-screen-label]{padding:0!important;min-height:0!important;display:flex}
.dz-hold>div[data-screen-label]>*{min-height:660px}
.dz-hold>div>div{border-radius:0!important;box-shadow:none!important;height:auto!important;min-height:660px!important}
.dz-hold img{max-width:none}
.dz-hold [data-go]{cursor:pointer}
.dz-hold [data-go]:hover{background-color:rgba(244,242,238,0.07)!important}
.dz-hold [data-ck]{position:relative;cursor:pointer;transition:background .2s ease,box-shadow .2s ease}
.dz-hold [data-ck]:hover{box-shadow:inset 0 0 0 1.5px rgba(21,128,61,0.55)!important}
.dz-hold [data-ck].on{background:#15803D!important;box-shadow:inset 0 0 0 1px #15803D!important}
.dz-hold [data-ck].on::after{content:'';position:absolute;left:28%;top:26%;width:34%;height:20%;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg)}
@media(max-width:900px){.dz-stage{height:520px!important}.dz-hold>div[data-screen-label]>*,.dz-hold>div>div{min-height:520px!important}}

/* ===== v42: no washed hovers, full-width screens, sidebar pinned to the frame ===== */
.dz-hold>div[data-screen-label]{display:flex;align-items:stretch;width:1160px}
.dz-hold>div[data-screen-label]>*{flex:1 1 auto;min-width:0}
.dz-hold [data-dzside]{height:var(--vh,660px);flex:none!important;overflow:hidden}
.dz-hold [data-go]:hover{background:rgba(255,255,255,0.08)!important}

/* ===== v43: sidebar clamped to frame, screens get designed room ===== */
.dz-hold{width:1260px}
.dz-hold>div[data-screen-label]{width:1260px}
.dz-hold [data-dzside]{height:var(--vh,660px)!important;min-height:0!important;width:212px!important}

/* v44: authored column widths */
.dz-hold,.dz-hold>div[data-screen-label]{width:1320px}

/* ===== v45: paper stage, no black flash ===== */
.dz-stage{background:#FBFAF8!important}
.dz-hold>div{transition:opacity .32s ease}
.dz-hold>div.fade{opacity:0}
.dz-hold{position:relative}

/* ===== v46: one smooth transition for auto and manual switches ===== */
.dz-hold>div{transition:opacity .58s cubic-bezier(0.22,1,0.36,1),transform .58s cubic-bezier(0.22,1,0.36,1);will-change:opacity,transform}
.dz-hold>div.fade{opacity:0;transform:translateY(10px) scale(0.994)}
.dz-hold>div.out{opacity:0;transform:translateY(-6px) scale(0.997);pointer-events:none}
@media (prefers-reduced-motion:reduce){.dz-hold>div{transition:none}.dz-hold>div.fade,.dz-hold>div.out{transform:none}}

/* ===== v47: seamless crossfade + richer in-screen interactivity ===== */
.dz-hold>div{transition:opacity .5s ease-in-out!important;transform:none!important;will-change:opacity}
.dz-hold>div.fade,.dz-hold>div.out{opacity:0;transform:none!important}
@media (prefers-reduced-motion:reduce){.dz-hold>div{transition:none!important}}
/* interactive affordances */
.dz-hold [data-row]{cursor:pointer;transition:background-color .2s ease}
.dz-hold [data-row]:hover{background-color:rgba(23,21,15,0.035)!important}
.dz-hold [data-row].pick{background-color:rgba(23,21,15,0.055)!important}
.dz-hold [data-pill]{cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.dz-hold [data-pill]:hover{box-shadow:inset 0 0 0 1px rgba(23,21,15,0.22)!important}
.dz-hold [data-pill].on{background:#17150F!important;color:#FBFAF8!important;box-shadow:none!important}
.dz-hold [data-btn]{cursor:pointer;transition:opacity .2s ease,box-shadow .2s ease}
.dz-hold [data-btn]:hover{opacity:0.86}
.dz-hold [data-btn]:active{opacity:0.72}
.dz-hold [data-ck]{transition:background .18s ease,box-shadow .18s ease}
.dz-hold [data-done]{text-decoration:line-through;opacity:0.5}



/* v50: bare frame restored */
.dz-stage{padding:0!important;background:#FBFAF8!important;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px rgba(16,14,10,0.1)}
.dz-hold{border-radius:0;overflow:visible}
.dz-hold>div[data-screen-label]{border-radius:0!important;box-shadow:none!important}

/* ===== v51: nav transparent at rest, paper once scrolled ===== */
.nav{background:transparent!important;border-bottom-color:transparent!important;transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease}
.nav.scrolled{background:color-mix(in srgb,var(--paper) 88%,transparent)!important;backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border-bottom-color:var(--line)!important}

/* v52: truly transparent at rest, solid paper once scrolling */
.nav,body[data-nav="over"] .nav{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;border-bottom:1px solid transparent!important}
.nav.scrolled,body[data-nav="over"] .nav.scrolled{background:#FBFAF8!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom-color:var(--line)!important}
/* hero art starts at the very top so there is no band under the nav */
.hero-plan{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 78%,transparent 97%)!important;mask-image:linear-gradient(180deg,#000 0%,#000 78%,transparent 97%)!important}

/* v53: hero starts at the top of the page, nav overlays it */
body[data-page="index.html"] .nav,body[data-page="realty.html"] .nav,body[data-page="management.html"] .nav{margin-bottom:calc(-1 * var(--nav-h))}
body[data-page="index.html"] .ghero,body[data-page="realty.html"] .ghero,body[data-page="management.html"] .ghero{padding-top:calc(var(--nav-h) + clamp(26px,3.6vw,58px))}

/* v54: remove the light dawn wash that banded the nav area */
.ghero::before{display:none!important;content:none!important;background:none!important}

/* v55: no grain overlay on the nav or the dock */
.nav>.grainy,.nav .grainy,.gdock>.grainy{display:none!important}

/* v56: snappier nav, stronger map lens */
.nav{transition:background .16s linear,border-color .16s linear!important}
.scanB{-webkit-mask-image:radial-gradient(330px circle at var(--sx,60%) var(--sy,38%),#000 30%,rgba(0,0,0,0.35) 62%,transparent 78%)!important;mask-image:radial-gradient(330px circle at var(--sx,60%) var(--sy,38%),#000 30%,rgba(0,0,0,0.35) 62%,transparent 78%)!important;transition:opacity .35s ease}
.ghero:hover .scanB{opacity:1}

/* v57: stable sidebar across screen transitions */
.dz-hold>div.fade [data-dzside]{opacity:1!important;transition:none!important}
.dz-hold>div.out [data-dzside]{opacity:0!important;transition:none!important}

/* v58: tighter hero, console closer to the fold */
body[data-page="index.html"] .ghero{padding-top:calc(var(--nav-h) + clamp(6px,1vw,16px))!important;padding-bottom:clamp(14px,1.6vw,24px)!important}
.dz-sect{padding-top:clamp(8px,1vw,18px)!important}

/* v59: title/buttons up, console further down */
body[data-page="index.html"] .ghero{padding-top:calc(var(--nav-h) - clamp(4px,0.8vw,12px))!important;padding-bottom:clamp(46px,5.4vw,86px)!important}
.dz-sect{padding-top:clamp(30px,3.6vw,60px)!important}

/* v60: console a touch higher */
body[data-page="index.html"] .ghero{padding-bottom:clamp(30px,3.4vw,54px)!important}
.dz-sect{padding-top:clamp(16px,2vw,32px)!important}

/* ===== v61: persistent sidebar, only the content crossfades ===== */
.dz-hold{display:flex;align-items:stretch;position:relative}
.dz-hold>[data-dzside]{flex:none!important;position:relative;z-index:2}
.dz-hold>div[data-screen-label]{flex:1 1 auto;min-width:0;width:auto!important}
.dz-hold>div[data-screen-label].out{position:absolute!important;left:212px;right:0;top:0}
.dz-hold>div.fade [data-dzside],.dz-hold>div.out [data-dzside]{opacity:1!important}

/* v62: the persistent sidebar is not a screen shell — no forced child heights */
.dz-hold>[data-dzside],.dz-hold>[data-dzside] *{min-height:0!important}
.dz-hold>[data-dzside]{height:var(--vh,660px)!important}
.dz-hold>[data-dzside]>div{height:auto!important}

/* ================= v63: Cursor / Linear section language ================= */
.sect-tight{padding:clamp(26px,3vw,44px) 0}
.band-soft{background:var(--paper-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ln-head{max-width:660px;margin:0 0 clamp(30px,3.6vw,52px)}
.ln-head .lead{margin-top:14px}
/* trust strip */
.ln-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.ln-strip-in{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(14px,2vw,28px);padding:16px 0;font-size:10px;letter-spacing:0.18em;font-weight:550;color:var(--ink-3);text-transform:uppercase}
.ln-strip-in i{width:1px;height:10px;background:var(--line-3);display:inline-block}
/* metric row */
.ln-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ln-metrics>div{background:var(--paper);padding:22px 24px}
.ln-metrics b{display:block;font-size:clamp(19px,1.9vw,25px);font-weight:600;letter-spacing:-0.03em}
.ln-metrics span{display:block;font-size:12.5px;font-weight:300;color:var(--ink-2);margin-top:6px;line-height:1.5}
/* bento product cards */
.ln-bento{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ln-card{display:flex;flex-direction:column;padding:26px 26px 22px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);transition:border-color .4s var(--ease-out),background .4s ease}
.ln-card:hover{border-color:rgba(16,14,10,0.22);background:#FFFDFA;color:var(--ink)}
.ln-tag{display:inline-block;font-size:9.5px;letter-spacing:0.18em;font-weight:600;text-transform:uppercase;color:var(--ink-3)}
.ln-card h3{margin:12px 0 0;font-size:clamp(17px,1.6vw,21px);font-weight:600;letter-spacing:-0.025em;line-height:1.24}
.ln-card p{margin:10px 0 0;font-size:13.5px;font-weight:300;line-height:1.62;color:var(--ink-2)}
.ln-card-art{margin:22px 0 18px;flex:1}
.ln-mini{border:1px solid var(--line);border-radius:12px;background:var(--paper-deep);padding:14px 16px}
.ln-mini-row{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600}
.ln-mini-row em{font-style:normal;margin-left:auto;font-size:10px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.ln-dot{width:7px;height:7px;border-radius:999px;flex:none}
.ln-dot.b{background:#2563EB}.ln-dot.a{background:#B7791F}
.ln-mini-q{margin-top:11px;font-size:13px;font-weight:300;color:var(--ink-2);line-height:1.55}
.ln-mini-eva{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:12px;font-weight:300;color:var(--ink-2)}
.ln-mini-eva span{display:block;font-size:9px;letter-spacing:0.16em;font-weight:600;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}
.ln-go{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:550;color:var(--ink)}
.ln-card:hover .ln-go [data-icon]{transform:translateX(3px)}
.ln-go [data-icon]{transition:transform .4s var(--ease-out)}
/* eva tabs */
.ln-tabs{display:grid;grid-template-columns:minmax(280px,0.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,64px);align-items:start}
.ln-tab-rail{display:flex;flex-direction:column}
.ln-tab{text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:18px 2px;cursor:pointer;font:inherit;position:relative}
.ln-tab:last-child{border-bottom:1px solid var(--line)}
.ln-tab b{display:block;font-size:15.5px;font-weight:550;letter-spacing:-0.015em;color:var(--ink-3);transition:color .35s ease}
.ln-tab span{display:block;font-size:13px;font-weight:300;color:var(--ink-3);line-height:1.55;margin-top:5px;max-width:330px;opacity:0;height:0;overflow:hidden;transition:opacity .4s ease}
.ln-tab:hover b{color:var(--ink-2)}
.ln-tab.on b{color:var(--ink)}
.ln-tab.on span{opacity:1;height:auto}
.ln-tab::before{content:'';position:absolute;left:-14px;top:18px;bottom:18px;width:2px;background:var(--ink);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease-out)}
.ln-tab.on::before{transform:scaleY(1)}
.ln-tab-stage{display:grid;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:clamp(20px,2.4vw,30px);min-height:330px}
.ln-pane{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s .45s}
.ln-pane.on{opacity:1;visibility:visible;transition:opacity .45s ease,visibility 0s}
.ln-av{width:36px;height:36px;border-radius:999px;background:rgba(16,14,10,0.05);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex:none}
.ln-av.dk{background:#17150F;color:#F4F2EE;border-color:#17150F}
.ln-call-hd{display:flex;align-items:center;gap:12px}
.ln-call-hd div{flex:1;min-width:0}
.ln-call-hd b{display:block;font-size:14.5px;font-weight:600}
.ln-call-hd span{display:block;font-size:12px;font-weight:300;color:var(--ink-3);margin-top:2px}
.ln-live{font-style:normal;font-size:10px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#2563EB;background:rgba(37,99,235,0.09);border:1px solid rgba(37,99,235,0.24);border-radius:999px;padding:3px 10px}
.ln-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:52px;margin:20px 0}
.ln-wave s{width:3px;border-radius:999px;background:rgba(16,14,10,0.24);text-decoration:none;height:26%}
@media (prefers-reduced-motion:no-preference){.ln-wave s{animation:lnw 1.25s ease-in-out infinite}.ln-wave s:nth-child(2n){animation-delay:.14s}.ln-wave s:nth-child(3n){animation-delay:.28s}.ln-wave s:nth-child(5n){animation-delay:.42s}@keyframes lnw{0%,100%{height:20%}50%{height:92%}}}
.ln-tx{display:flex;flex-direction:column;gap:10px}
.ln-tx p{margin:0;font-size:13px;font-weight:300;line-height:1.55;color:var(--ink-2)}
.ln-tx b{display:inline-block;min-width:48px;font-weight:600;color:var(--ink)}
.ln-kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ln-kv>div{background:var(--paper);padding:14px 16px}
.ln-kv span{display:block;font-size:9px;letter-spacing:0.16em;font-weight:600;text-transform:uppercase;color:var(--ink-3)}
.ln-kv b{display:block;font-size:14px;font-weight:550;letter-spacing:-0.015em;margin-top:6px}
.ln-note{margin:16px 2px 0;font-size:12px;font-weight:300;color:var(--ink-3)}
.ln-sum{border:1px solid var(--line);border-radius:12px;background:var(--paper-deep);padding:18px 20px}
.ln-sum-k{display:block;font-size:9px;letter-spacing:0.16em;font-weight:600;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.ln-sum p{margin:0;font-size:14px;font-weight:300;line-height:1.68;color:var(--ink-2)}
.ln-chips{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.ln-chips em{font-style:normal;font-size:10.5px;font-weight:550;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.ln-chips em.warn{color:#B7791F;border-color:rgba(183,121,31,0.3);background:rgba(183,121,31,0.08)}
.ln-assign{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.ln-assign-side.r{text-align:right}
.ln-assign-side b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-0.015em;margin-top:7px}
.ln-k,.ln-sub{display:block;font-size:11px;font-weight:300;color:var(--ink-3)}
.ln-k{font-size:9px;letter-spacing:0.16em;font-weight:600;text-transform:uppercase}
.ln-sub{margin-top:4px}
.ln-assign-mid{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:150px}
.ln-why{font-size:9px;letter-spacing:0.14em;font-weight:600;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.ln-line{position:relative;width:100%;height:1px;background:var(--line-3)}
.ln-line::after{content:'';position:absolute;right:-1px;top:-3.5px;width:8px;height:8px;border-right:1.4px solid var(--line-3);border-top:1.4px solid var(--line-3);transform:rotate(45deg)}
/* feature grid */
.ln-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ln-f{background:var(--paper);padding:24px 22px;transition:background .35s ease}
.ln-f:hover{background:#FFFDFA}
.ln-ic{display:inline-flex;color:var(--ink-2);margin-bottom:14px}
.ln-f b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-0.02em}
.ln-f p{margin:7px 0 0;font-size:12.5px;font-weight:300;line-height:1.6;color:var(--ink-2)}
/* faq */
.ln-faq-wrap{display:grid;grid-template-columns:minmax(260px,0.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,72px);align-items:start}
.ln-faq details{border-top:1px solid var(--line)}
.ln-faq details:last-child{border-bottom:1px solid var(--line)}
.ln-faq summary{list-style:none;cursor:pointer;padding:18px 2px;font-size:15px;font-weight:550;letter-spacing:-0.015em;display:flex;align-items:center;gap:12px}
.ln-faq summary::-webkit-details-marker{display:none}
.ln-faq summary::after{content:'';margin-left:auto;width:9px;height:9px;border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);transform:rotate(45deg) translateY(-2px);transition:transform .35s var(--ease-out)}
.ln-faq details[open] summary::after{transform:rotate(225deg) translateY(-2px)}
.ln-faq p{margin:0 0 20px;font-size:13.5px;font-weight:300;line-height:1.68;color:var(--ink-2);max-width:620px}
/* runway-style editorial band */
.rw{margin:clamp(48px,6vw,96px) auto;max-width:var(--maxw);padding:0 var(--pad)}
.rw-in{position:relative;border-radius:18px;overflow:hidden;padding:clamp(34px,4.4vw,72px);background:#17150F;background-image:radial-gradient(62% 52% at 18% 26%,rgba(191,167,131,0.22),transparent 70%),radial-gradient(58% 48% at 88% 86%,rgba(96,125,139,0.2),transparent 72%);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:clamp(30px,5vw,80px);align-items:start;color:#F4F2EE}
.rw-kick{margin:0 0 20px;font-size:11px;font-weight:600;letter-spacing:0.02em;color:#F4F2EE}
.rw-h{margin:0;font-size:clamp(19px,2.05vw,27px);font-weight:500;line-height:1.4;letter-spacing:-0.02em;max-width:560px;color:#F4F2EE}
.rw-btn{display:inline-block;margin-top:26px;font-size:12.5px;font-weight:550;padding:8px 15px;border-radius:8px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.22);color:#F4F2EE;transition:background .3s ease}
.rw-btn:hover{background:rgba(255,255,255,0.18);color:#F4F2EE}
.rw-list{display:flex;flex-direction:column}
.rw-row{padding:20px 0;border-top:1px solid rgba(244,242,238,0.28);color:#F4F2EE}
.rw-row:last-child{border-bottom:1px solid rgba(244,242,238,0.28)}
.rw-t{display:flex;align-items:center;font-size:16px;font-weight:600;letter-spacing:-0.015em;color:#F4F2EE}
.rw-t i{margin-left:auto;opacity:0.7;transition:transform .35s var(--ease-out)}
.rw-row:hover .rw-t i{transform:translate(3px,-3px)}
.rw-d{display:block;margin-top:7px;font-size:12.5px;font-weight:400;line-height:1.55;color:rgba(244,242,238,0.72);max-width:420px}
@media(max-width:1000px){
  .ln-metrics,.ln-grid{grid-template-columns:1fr 1fr}
  .ln-bento{grid-template-columns:1fr}
  .ln-tabs,.ln-faq-wrap,.rw-in{grid-template-columns:1fr}
  .ln-assign{grid-template-columns:1fr}
  .ln-assign-side.r{text-align:left}
  .ln-assign-mid{min-width:0;align-items:flex-start}
  .ln-line{display:none}
}
@media(max-width:620px){.ln-metrics,.ln-grid,.ln-kv{grid-template-columns:1fr}}

/* ================= v64: Cursor rows, unified white, floating panels ================= */
.band-soft{border-top:1px solid var(--line);border-bottom:none}
.sect,.sect-tight{background:var(--paper)}
/* numbered section index */
.cx-num{display:flex;align-items:baseline;gap:12px;font-size:12.5px;font-weight:500;color:var(--ink-3);margin:0 0 18px}
.cx-num b{font-weight:600;color:var(--ink);letter-spacing:-0.01em}
.cx-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--ink-2);margin-top:20px}
.cx-link:hover{color:var(--ink)}
.cx-link i{transition:transform .35s var(--ease-out)}
.cx-link:hover i{transform:translateX(3px)}
/* alternating row: tonal tile with a floating window + copy */
.cx-row{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,0.68fr);gap:clamp(26px,4vw,64px);align-items:center;padding:clamp(30px,4vw,64px) 0}
.cx-row+.cx-row{border-top:1px solid var(--line)}
.cx-row.rev>.cx-tile{order:2}
.cx-tile{position:relative;border-radius:16px;background:var(--paper-deep);padding:clamp(22px,3vw,46px);overflow:hidden}
.cx-tile::after{content:'';position:absolute;inset:0;background:radial-gradient(70% 60% at 20% 12%,rgba(255,255,255,0.6),transparent 65%);pointer-events:none}
.cx-win{position:relative;z-index:1;border-radius:12px;background:var(--paper);box-shadow:0 22px 50px -20px rgba(23,21,15,0.22),0 0 0 1px rgba(16,14,10,0.07);overflow:hidden}
.cx-win-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(16,14,10,0.015)}
.cx-win-bar s{width:8px;height:8px;border-radius:999px;background:rgba(16,14,10,0.13);text-decoration:none}
.cx-win-bar em{font-style:normal;margin:0 auto;font-size:10.5px;font-weight:500;letter-spacing:0.02em;color:var(--ink-3)}
.cx-win-b{padding:16px 18px}
.cx-copy h3{margin:0;font-size:clamp(19px,1.9vw,24px);font-weight:600;letter-spacing:-0.028em;line-height:1.22}
.cx-copy p{margin:12px 0 0;font-size:14px;font-weight:300;line-height:1.66;color:var(--ink-2);max-width:400px}
.cx-sub{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.cx-sub a{display:flex;align-items:baseline;gap:9px;font-size:12.5px;font-weight:450;color:var(--ink-2)}
.cx-sub a:hover{color:var(--ink)}
.cx-sub em{font-style:normal;color:var(--ink-3);font-variant-numeric:tabular-nums}
/* small floating UI atoms used inside windows */
.ui-r{display:flex;align-items:center;gap:11px;padding:11px 0}
.ui-r+.ui-r{border-top:1px solid var(--line-2)}
.ui-r b{font-size:13.5px;font-weight:550;letter-spacing:-0.012em}
.ui-r span{font-size:11.5px;font-weight:300;color:var(--ink-3)}
.ui-r .r{margin-left:auto;font-size:11.5px;font-weight:500;color:var(--ink-3);white-space:nowrap}
.ui-r .r.late{color:#C2410C}
.ui-ck{width:18px;height:18px;border-radius:999px;border:1.5px solid rgba(16,14,10,0.22);flex:none}
.ui-ck.on{background:#15803D;border-color:#15803D;position:relative}
.ui-ck.on::after{content:'';position:absolute;left:29%;top:27%;width:34%;height:20%;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg)}
.ui-av{width:26px;height:26px;border-radius:999px;background:rgba(16,14,10,0.055);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:600;flex:none}
.ui-av.dk{background:#17150F;color:#F4F2EE;border-color:#17150F}
.ui-k{font-size:9px;letter-spacing:0.16em;font-weight:600;text-transform:uppercase;color:var(--ink-3)}
.ui-chip{font-size:10px;font-weight:600;letter-spacing:0.02em;border-radius:999px;padding:2px 9px;white-space:nowrap}
.ui-chip.b{color:#2563EB;background:rgba(37,99,235,0.09);box-shadow:0 0 0 1px rgba(37,99,235,0.24)}
.ui-chip.g{color:#15803D;background:rgba(21,128,61,0.09);box-shadow:0 0 0 1px rgba(21,128,61,0.24)}
.ui-chip.a{color:#B7791F;background:rgba(183,121,31,0.1);box-shadow:0 0 0 1px rgba(183,121,31,0.28)}
.ui-eva{margin-top:14px;padding:12px 14px;border-radius:10px;background:rgba(16,14,10,0.03);box-shadow:0 0 0 1px var(--line)}
.ui-eva span{display:block;font-size:9px;letter-spacing:0.16em;font-weight:600;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.ui-eva p{margin:0;font-size:12.5px;font-weight:300;line-height:1.6;color:var(--ink-2)}
.ui-grid2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.ui-grid2>div{background:var(--paper);padding:12px 14px}
.ui-grid2 b{display:block;font-size:13.5px;font-weight:600;letter-spacing:-0.015em;margin-top:5px}
.ui-bars{display:flex;align-items:flex-end;gap:7px;height:96px;margin-top:6px}
.ui-bars i{flex:1;border-radius:4px 4px 0 0;background:rgba(16,14,10,0.1)}
.ui-bars i.on{background:#17150F}
.ui-legend{display:flex;gap:14px;margin-top:12px;font-size:10.5px;color:var(--ink-3)}
@media(max-width:1000px){.cx-row{grid-template-columns:1fr}.cx-row.rev>.cx-tile{order:0}.cx-sub{grid-template-columns:1fr}}

/* v65: features index */
.ft-grp{display:grid;grid-template-columns:minmax(220px,0.62fr) minmax(0,1.38fr);gap:clamp(24px,4vw,64px);align-items:start}
.ft-grp-hd .cx-num{margin-bottom:12px}
.ft-grp-hd .lead{font-size:14px;max-width:300px}
.ft-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ft-item{background:var(--paper);padding:20px 22px;transition:background .35s ease}
.ft-item:hover{background:#FFFDFA}
.ft-item b{display:block;font-size:14px;font-weight:600;letter-spacing:-0.02em}
.ft-item p{margin:7px 0 0;font-size:12.5px;font-weight:300;line-height:1.62;color:var(--ink-2)}
.sect+.sect{border-top:1px solid var(--line)}
@media(max-width:1000px){.ft-grp{grid-template-columns:1fr}.ft-list{grid-template-columns:1fr}}

/* v66: window row titles get their own line */
.ui-r>div{min-width:0;flex:1}
.ui-r b{display:block}
.ui-r>div>span{display:block;margin-top:3px}

/* ================= v67: window atoms match the console ================= */
.cx-tile{background:linear-gradient(168deg,#F7F5F1,#EFECE6);position:relative}
.cx-tile::after{background:radial-gradient(64% 54% at 16% 8%,rgba(255,255,255,0.72),transparent 62%),radial-gradient(52% 46% at 92% 94%,rgba(191,167,131,0.14),transparent 70%)}
.cx-win{border-radius:14px;box-shadow:0 24px 54px -22px rgba(23,21,15,0.24),0 0 0 1px rgba(16,14,10,0.08)}
.cx-win-bar{background:rgba(16,14,10,0.02);padding:11px 15px}
.cx-win-b{padding:14px}
/* rows become discrete cards, like the app's task rows */
.ui-r{gap:11px;padding:12px 13px;border-radius:11px;background:var(--paper);box-shadow:0 0 0 1px rgba(16,14,10,0.07);transition:box-shadow .3s ease}
.ui-r+.ui-r{border-top:0;margin-top:7px}
.ui-r:hover{box-shadow:0 0 0 1px rgba(16,14,10,0.16)}
.ui-r b{font-size:13px;font-weight:550;letter-spacing:-0.012em}
.ui-r>div>span{font-size:11.5px;color:var(--ink-3);margin-top:3px}
.ui-r .r{font-size:11.5px;font-weight:550}
.ui-r[style*="border:0"]{box-shadow:none!important;background:none!important;padding-left:0;padding-right:0}
.ui-k{display:block}
.ui-eva{border-radius:11px;background:rgba(111,103,96,0.05);box-shadow:0 0 0 1px rgba(111,103,96,0.14)}
.ui-grid2{border-radius:11px}
.ui-grid2>div{padding:13px 15px}
.ui-bars i{border-radius:3px 3px 0 0}
.ui-chip{font-size:9.5px;letter-spacing:0.03em;padding:2.5px 9px}
.ui-av{width:28px;height:28px;font-size:9.5px}
.ln-wave s{background:rgba(16,14,10,0.22)}
/* metric row picks up the console's tile language */
.ln-metrics{border-radius:14px}
.ln-metrics>div{padding:24px 26px}
.ln-metrics b{letter-spacing:-0.035em}
/* bento minis match the app */
.ln-mini{border-radius:12px;border:0;box-shadow:0 0 0 1px rgba(16,14,10,0.07);background:var(--paper)}
.ln-card{border-radius:16px}
.ln-card-art .ln-mini{background:linear-gradient(168deg,#FBFAF8,#F5F2EC)}

/* ================= v68: editorial two-column hero ================= */
.hero-2col{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,0.86fr);gap:clamp(28px,5vw,84px);align-items:end}
.ghero .hero-2col .display.hxd{margin:0;font-size:clamp(34px,4.4vw,62px);line-height:1.04;letter-spacing:-0.036em;max-width:14ch}
.hx-side{max-width:420px;padding-bottom:clamp(2px,0.6vw,8px)}
.hx-side .lead{margin:0;font-size:15px;line-height:1.66;font-weight:300;color:var(--ink-2);padding-top:18px;border-top:1px solid var(--line)}
.hx-side .hero-cta{margin-top:22px;justify-content:flex-start}
.hx-proof{display:flex;align-items:center;gap:12px;margin:22px 0 0;font-size:9.5px;letter-spacing:0.18em;font-weight:550;text-transform:uppercase;color:var(--ink-3)}
.hx-proof i{width:1px;height:9px;background:var(--line-3)}
body[data-page="index.html"] .ghero{padding-top:calc(var(--nav-h) + clamp(30px,4.4vw,74px))!important;padding-bottom:clamp(34px,3.8vw,58px)!important}
.ghero{position:relative}
.ghero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,transparent,var(--paper));pointer-events:none;z-index:0}
@media(max-width:1000px){
  .hero-2col{grid-template-columns:1fr;gap:26px;align-items:start}
  .ghero .hero-2col .display.hxd{max-width:22ch}
  .hx-side{max-width:520px}
}

/* v69: minimal hero type (superseded for photo heroes by v144/v146) */
.hero-2col{align-items:end;gap:clamp(24px,4vw,64px)}
.hx-side .lead{font-size:14px;line-height:1.65}
.hero-cta .btn{font-size:12.5px;padding:9px 17px}
body[data-page="index.html"] .ghero{padding-top:calc(var(--nav-h) + clamp(26px,3.6vw,58px))!important}

/* v70: hero columns share a top baseline */
.hero-2col{align-items:start!important}
.ghero .hero-2col .display.hxd{margin-top:-0.14em}
.hx-side{padding-bottom:0}
.hx-side .lead{padding-top:0;border-top:0;margin-top:0}

/* v71: quieter hero right column */
.hx-side{max-width:380px}
.hx-side .lead{font-size:13.5px;line-height:1.7;color:var(--ink-2)}
.hx-side .hero-cta{margin-top:20px;align-items:center;gap:18px}
.hx-side .cx-link{margin-top:0;font-size:12.5px;color:var(--ink-3)}
.hx-side .cx-link:hover{color:var(--ink)}

/* ===== v72: Cursor-style pill buttons ===== */
.btn{border-radius:999px!important;font-weight:550;letter-spacing:-0.005em;gap:8px;transition:opacity .22s ease,background .22s ease,color .22s ease}
.btn-cta,.btn-solid{background:#1F1C18!important;border-color:#1F1C18!important;color:#FBFAF8!important;padding:11px 20px!important}
.btn-cta:hover,.btn-solid:hover{background:#2A2621!important;border-color:#2A2621!important;color:#FBFAF8!important;opacity:1}
.btn-line,.btn-ghost{background:rgba(20,17,14,0.055)!important;border-color:transparent!important;color:var(--ink)!important;padding:11px 20px!important}
.btn-line:hover,.btn-ghost:hover{background:rgba(20,17,14,0.095)!important;border-color:transparent!important;color:var(--ink)!important}
.btn-lg{padding:12px 24px!important;font-size:13.5px}
.nav .btn-cta{padding:8px 16px!important;font-size:13px}
.nav-signin{font-size:13px;font-weight:450}
.hero-cta{gap:10px}
.hx-side .hero-cta{gap:10px;align-items:center}
.hx-side .cx-link{margin-top:0}


/* ===== v74: hero email capture ===== */
.hx-mail{display:flex;align-items:center;gap:8px;margin-top:20px;padding:5px 5px 5px 16px;border-radius:999px;background:var(--paper);box-shadow:0 0 0 1px rgba(20,17,14,0.12);transition:box-shadow .28s ease}
.hx-mail:focus-within{box-shadow:0 0 0 1px rgba(20,17,14,0.34)}
.hx-mail input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:13.5px;font-weight:400;color:var(--ink);padding:8px 0}
.hx-mail input::placeholder{color:var(--ink-3);font-weight:300}
.hx-mail button{flex:none;font:inherit;font-size:12.5px;font-weight:550;padding:9px 17px;border-radius:999px;border:0;background:#1F1C18;color:#FBFAF8;cursor:pointer;transition:background .22s ease}
.hx-mail button:hover{background:#2A2621}
.hx-note{margin:12px 2px 0;font-size:11.5px;font-weight:300;color:var(--ink-3)}
.hx-note a{color:var(--ink-2);border-bottom:1px solid var(--line-3)}
.hx-note a:hover{color:var(--ink)}
.hx-mail.sent input{color:var(--ink-3)}

/* ===== v75: quiet hero capture ===== */
.hx-mail{max-width:340px;margin-top:4px;padding:4px 4px 4px 15px;background:rgba(255,255,255,0.72);box-shadow:0 0 0 1px rgba(20,17,14,0.1)}
.hx-mail:hover{box-shadow:0 0 0 1px rgba(20,17,14,0.2)}
.hx-mail:focus-within{box-shadow:0 0 0 1px rgba(20,17,14,0.4)}
.hx-mail input{font-size:13px;padding:7px 0}
.hx-mail button{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#1F1C18;color:#FBFAF8}
.hx-mail button svg{transition:transform .3s var(--ease-out)}
.hx-mail button:hover svg{transform:translateX(2px)}
.hx-note{margin-top:11px;font-size:11.5px;color:var(--ink-3)}
.hx-note a{border-bottom:0;color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
.hx-note a:hover{text-decoration-color:var(--ink-2)}
.hx-side{max-width:340px;padding-top:6px}

/* v76: nav interactions */
.nav-links a{position:relative;color:var(--ink-2);transition:color .22s ease}
.nav-links a:hover,.nav-links a.on{color:var(--ink)}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
.nav-links a:hover::after,.nav-links a.on::after{transform:scaleX(1)}
.nav-drop>a::after{right:16px}
.nav-signin{color:var(--ink-2);transition:color .22s ease}
.nav-signin:hover{color:var(--ink)}
.nav .btn-cta{transition:background .22s ease,transform .22s var(--ease-out)}
.nav .btn-cta:hover{background:#332E28!important}
.ndp a{transition:background .22s ease}
.ndp a:hover{background:rgba(20,17,14,0.04)}

/* ================= v77: 2026 premium polish (Stripe/Linear/Cursor guide) ================= */
/* motion tokens — hover feedback fast, scenes slow */
:root{--dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--ease-std:cubic-bezier(.2,.8,.2,1)}
/* visible keyboard focus everywhere */
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:3px}
.btn:focus-visible,.hx-mail button:focus-visible,.dzt:focus-visible{outline-offset:2px}
.hx-mail input:focus-visible{outline:none}
/* buttons: guide heights + tactile press + arrow micro-move */
.btn{transition:background var(--dur-1) ease,border-color var(--dur-1) ease,color var(--dur-1) ease,transform 90ms var(--ease-std)}
.btn:active{transform:scale(.985)}
.btn .ar{display:inline-flex;transition:transform var(--dur-1) var(--ease-std)}
.btn:hover .ar{transform:translateX(3px)}
.hx-mail button:active{transform:scale(.95)}
.nav .btn-cta{padding:9px 18px!important}
/* hover feedback tightened to guide timing (was 220-450ms) */
.nav-links a,.nav-signin,.cx-link,.dzt,.ui-r,.ndp a{transition-duration:var(--dur-1)}
.nav-links a::after{transition-duration:var(--dur-2)}
/* layered light-theme shadows: crisp contact + soft ambient, no heavy blobs */
.cx-win{box-shadow:0 1px 2px rgba(23,21,15,.05),0 2px 4px rgba(23,21,15,.04),0 16px 48px rgba(23,21,15,.10),0 0 0 1px rgba(16,14,10,.08)!important}
.dz-stage{box-shadow:0 1px 2px rgba(23,21,15,.04),0 16px 48px rgba(23,21,15,.08),0 0 0 1px rgba(16,14,10,.10)!important}
/* nav: quiet glass only once it floats over content (guide: glass = floating elements only) */
.nav.scrolled{background:rgba(251,250,248,.82)!important;backdrop-filter:blur(16px) saturate(120%)!important;-webkit-backdrop-filter:blur(16px) saturate(120%)!important}
@supports not (backdrop-filter:blur(1px)){.nav.scrolled{background:#FBFAF8!important}}
/* typography: web display tracking per DS spec; numerals tabular for data */
.ghero .hero-2col .display.hxd{letter-spacing:-0.032em!important}
.h2{letter-spacing:-0.034em}
.ln-metrics b,.ui-grid2 b,.dz-stats b,.ui-r .r,.cx-win-b b{font-variant-numeric:tabular-nums}
/* secondary text quieter through colour, not size */
.lead{color:var(--ink-2)}
.hx-note,.plx-cap,.dz-cap{color:var(--ink-3)}
/* selection: warm, on-brand */
::selection{background:#2A2621;color:#FBFAF8}
/* status chips: never colour alone — ensure text weight carries too */
.ui-chip{font-weight:600}
/* entrance motion per guide: 16px rise, no per-paragraph animation drift */
[data-rv]{transition-duration:.55s}
/* reduced motion: replace, don't just accelerate */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-rv]{opacity:1!important;transform:none!important}
  .scanB{display:none!important}
}

/* ================= v78: sub-page system (tiers, contact form, lifecycle chips) ================= */
.ui-chip.r{color:#C2410C;background:rgba(194,65,12,.09);border:1px solid rgba(194,65,12,.24)}
.ui-chip.n{color:var(--ink-2);background:rgba(20,17,14,.04);border:1px solid rgba(20,17,14,.12)}
/* plan tiers */
.tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.tier{display:flex;flex-direction:column;background:var(--paper);border-radius:16px;box-shadow:0 0 0 1px rgba(16,14,10,.09);padding:24px 22px;transition:box-shadow var(--dur-2) ease}
.tier:hover{box-shadow:0 0 0 1px rgba(16,14,10,.18),0 16px 48px rgba(23,21,15,.06)}
.tier.featured{box-shadow:0 0 0 1.5px rgba(20,17,14,.75),0 16px 48px rgba(23,21,15,.08)}
.tier-flag{align-self:flex-start;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.tier h3{margin:0;font-size:17px;font-weight:600;letter-spacing:-.02em}
.tier .who{margin:4px 0 0;font-size:12.5px;font-weight:300;color:var(--ink-3)}
.tier ul{list-style:none;margin:18px 0 22px;padding:0;flex:1}
.tier li{font-size:13px;font-weight:300;color:var(--ink-2);line-height:1.5;padding:8px 0;border-top:1px solid rgba(20,17,14,.06)}
.tier li b{font-weight:550;color:var(--ink)}
.tier .btn{justify-content:center;text-align:center;width:100%}
/* add-on band */
.addon{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center;background:#1F1C18;color:#FBFAF8;border-radius:20px;padding:clamp(28px,3.5vw,52px)}
.addon h3{margin:0;font-size:clamp(20px,2vw,26px);font-weight:600;letter-spacing:-.025em}
.addon p{font-size:14px;font-weight:300;line-height:1.65;color:rgba(251,250,248,.72)}
.addon .k{font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(251,250,248,.5);margin-bottom:14px;display:block}
.addon-list{display:flex;flex-direction:column}
.addon-list div{padding:13px 2px;border-top:1px solid rgba(251,250,248,.12);font-size:13.5px;font-weight:300;color:rgba(251,250,248,.78)}
.addon-list div b{font-weight:550;color:#FBFAF8;display:block;margin-bottom:2px}
/* contact */
.ct-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,88px);align-items:start}
.ct-form{display:flex;flex-direction:column;gap:16px}
.ct-f label{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
.ct-f input,.ct-f textarea,.ct-f select{width:100%;font:inherit;font-size:14px;font-weight:400;color:var(--ink);background:var(--paper);border:0;border-radius:10px;box-shadow:0 0 0 1px rgba(20,17,14,.14);padding:11px 13px;transition:box-shadow var(--dur-1) ease}
.ct-f textarea{min-height:96px;resize:vertical;line-height:1.55}
.ct-f input:focus,.ct-f textarea:focus,.ct-f select:focus{outline:none;box-shadow:0 0 0 1.5px rgba(20,17,14,.55)}
.ct-f input::placeholder,.ct-f textarea::placeholder{color:var(--ink-3);font-weight:300}
.ct-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:26px}
.ct-aside h3{margin:0 0 10px;font-size:14px;font-weight:600;letter-spacing:-.01em}
.ct-aside p{margin:0;font-size:13.5px;font-weight:300;color:var(--ink-2);line-height:1.65}
.ct-steps{list-style:none;margin:0;padding:0;counter-reset:s}
.ct-steps li{counter-increment:s;display:flex;gap:14px;padding:12px 0;border-top:1px solid rgba(20,17,14,.07);font-size:13.5px;font-weight:300;color:var(--ink-2);line-height:1.55}
.ct-steps li::before{content:counter(s,decimal-leading-zero);font-size:11px;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums;padding-top:2px}
.ct-mail{font-size:14px;font-weight:550;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
@media(max-width:1000px){.tier-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.ct-grid{grid-template-columns:1fr}.ct-aside{position:static}.addon{grid-template-columns:1fr}}
@media(max-width:560px){.tier-grid{grid-template-columns:1fr}.ct-2{grid-template-columns:1fr}}


/* ===== v82: visibility — small text was too faint / too light ===== */
[data-theme="light"]{--ink-2:#3F454C;--ink-3:#5A6068}
/* uppercase micro-labels: darker + slightly larger tracking-compensated size */
.ln-tag,.ui-k,.eyebrow,.cx-num,.tier-flag,.ct-f label,.ui-legend,.dz-cap,.plx-cap{color:#5A6068}
.ln-tag{font-size:10px}
.ui-k{font-size:9.5px}
/* body copy: 300 is too thin at small sizes */
.ln-card p,.cx-copy p,.ft-item p,.tier li,.ct-aside p,.ct-steps li,.ln-faq p,.addon p,.addon-list div,.qc-facts p,.rw-d{font-weight:400}
.lead{font-weight:400}
.ui-r>div>span,.ui-eva p,.ln-tx p{font-weight:400;color:#4A5057}
/* product-card mini rows and window text */
.ln-mini-row b,.cx-win-b b,.ui-r b{color:#161310}
.ln-mini-sub,.ui-r .r{color:#4A5057}
/* faint hairlines were nearly invisible on white */
[data-theme="light"]{--line:rgba(16,14,10,0.12);--line-2:rgba(16,14,10,0.075)}
.ln-card{border-color:rgba(16,14,10,0.14)}
.ui-r{box-shadow:0 0 0 1px rgba(16,14,10,0.10)}
.ft-item,.ln-metrics>div{background:var(--paper)}

/* ===== v83: tier list rows read as label + line, no dashes, no column collapse ===== */
.tier ul{margin:20px 0 24px;display:flex;flex-direction:column}
.tier li{display:block;padding:11px 0;border-top:1px solid rgba(16,14,10,.09);font-size:13px;line-height:1.5}
.tier li:first-child{border-top:0;padding-top:0}
.tier li b{display:block;font-weight:600;color:var(--ink);letter-spacing:-.01em;margin:0}
.tier li span{display:block;margin-top:3px;font-weight:400;color:var(--ink-2);font-size:12.5px;line-height:1.5}
.tier .who{font-weight:400;color:var(--ink-3);padding-bottom:16px;border-bottom:1px solid rgba(16,14,10,.09)}
.tier-flag{font-size:9.5px;letter-spacing:.14em;color:var(--ink-3);margin-bottom:16px}

/* ===== v84: sub-page CTA band (classes were never defined in v3) ===== */
.cta-box-wrap{padding:clamp(56px,6vw,96px) var(--pad) clamp(64px,7vw,110px);background:var(--paper);border-top:1px solid var(--line)}
.cta-box{max-width:var(--maxw);margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;padding:clamp(40px,5vw,72px) clamp(24px,4vw,56px);border:1px solid var(--line);border-radius:16px;background:var(--paper-deep)}
.cta-box .h-sec,.h-sec{font-size:clamp(26px,2.7vw,38px);font-weight:600;letter-spacing:-.036em;line-height:1.1;margin:0}
.cta-box .lead{max-width:440px;margin:0 auto 28px;font-weight:400}
.cta-box>div:last-child{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
/* nav: plain hover, no underline sweep */
.nav-links a::after{display:none!important}
.nav-links a{padding:6px 10px;border-radius:7px;transition:background var(--dur-1) ease,color var(--dur-1) ease}
.nav-links a:hover{background:rgba(16,14,10,.05);color:var(--ink)}
.nav-links a.on{background:rgba(16,14,10,.06);color:var(--ink)}

/* ===== v85: scope nav hover to top-level links; panel rows hover individually ===== */
.nav-links a:hover,.nav-links a.on{background:transparent}
.nav-links>a,.nav-drop>a{padding:6px 10px;border-radius:7px;transition:background var(--dur-1) ease,color var(--dur-1) ease}
.nav-links>a:hover,.nav-drop>a:hover{background:rgba(16,14,10,.05);color:var(--ink)}
.nav-links>a.on,.nav-drop>a.on{background:rgba(16,14,10,.06);color:var(--ink)}
.ndp a{background:transparent!important;border-radius:8px;transition:background var(--dur-1) ease}
.ndp a:hover{background:rgba(16,14,10,.05)!important}

/* ===== v86: odd-count feature grids leave no empty cell ===== */
.ft-list:has(>.ft-item:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.ft-list>.ft-item:last-child:nth-child(odd):not(:nth-child(3)){grid-column:1/-1}
@supports not selector(:has(*)){.ft-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media(max-width:820px){.ft-list:has(>.ft-item:nth-child(3):last-child){grid-template-columns:1fr}}

/* ===== v87: sub-page hero graphics + home title scale ===== */
header.hero{position:relative;overflow:hidden}
.hero-art{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.9;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%)}
.hero-art svg{position:absolute;right:-4%;top:0;width:74%;height:100%}
header.hero>.wrap{position:relative;z-index:1}
.display.hxd.sub{font-size:clamp(27px,2.65vw,38px)!important;font-weight:550!important;line-height:1.16!important;letter-spacing:-0.028em!important;margin:0 0 18px;max-width:18ch}
@media(max-width:900px){.hero-art svg{right:-18%;width:120%;opacity:.6}.display.hxd.sub{font-size:clamp(25px,6vw,32px)!important}}

/* ===== v88: hero graphics — ambient motion + pointer parallax ===== */
.hero-art{--px:0;--py:0}
.hero-art svg g{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.hero-art .d1{transform:translate3d(calc(var(--px)*7px),calc(var(--py)*5px),0)}
.hero-art .d2{transform:translate3d(calc(var(--px)*17px),calc(var(--py)*12px),0)}
.ha-glow{position:absolute;left:0;top:0;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;pointer-events:none;opacity:0;transform:translate3d(var(--gx,50%),var(--gy,50%),0);background:radial-gradient(circle,rgba(31,27,22,.055),transparent 68%);transition:opacity .5s ease}
.hero-art.lit .ha-glow{opacity:1}
/* travelling pulse along a track */
.a-flow{stroke-dasharray:46 1400;stroke-dashoffset:1446;animation:haFlow 7s linear infinite}
@keyframes haFlow{to{stroke-dashoffset:0}}
/* node + centre pulse */
.a-node{animation:haNode 4.5s ease-in-out infinite}
@keyframes haNode{0%,100%{opacity:.5}50%{opacity:1}}
.a-pulse{animation:haPulse 3.6s ease-in-out infinite}
@keyframes haPulse{0%,100%{opacity:.75}50%{opacity:1}}
.a-ring{animation:haNode 5s ease-in-out infinite}
/* expanding sweep */
.a-sweep{opacity:0;animation:haSweep 6.4s cubic-bezier(.2,.6,.3,1) infinite}
@keyframes haSweep{0%{transform:scale(1);opacity:0}12%{opacity:.85}100%{transform:scale(3.5);opacity:0}}
/* cells fading in and out */
.a-cell{animation:haCell 9s ease-in-out infinite}
@keyframes haCell{0%,100%{opacity:.25}45%,55%{opacity:1}}
/* column fill breathing */
.a-fill{animation:haFill 8s ease-in-out infinite;transform:scaleY(.35)}
@keyframes haFill{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
/* dot twinkle */
.a-twinkle{animation:haTwinkle 6s ease-in-out infinite}
@keyframes haTwinkle{0%,100%{opacity:.35}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .a-flow,.a-node,.a-pulse,.a-ring,.a-sweep,.a-cell,.a-fill,.a-twinkle{animation:none}
  .a-sweep{opacity:.3}.a-fill{transform:scaleY(.6)}
  .hero-art svg g{transition:none;transform:none!important}
}

/* ===== v89: quieter hero motion, no cursor glow ===== */
.ha-glow,.hero-art.lit .ha-glow{display:none!important}
.hero-art .d1{transform:translate3d(calc(var(--px)*3px),calc(var(--py)*2px),0)}
.hero-art .d2{transform:translate3d(calc(var(--px)*7px),calc(var(--py)*5px),0)}
.hero-art svg g{transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
/* keep one slow travelling pulse, drop the rest */
.a-flow{stroke-dasharray:30 1400;animation-duration:14s;stroke:rgba(31,27,22,.18)}
.a-node,.a-ring,.a-twinkle,.a-pulse{animation:none;opacity:.7}
.a-sweep{animation-duration:11s}
.a-sweep:nth-of-type(n+2){animation:none;opacity:0}
@keyframes haSweep{0%{transform:scale(1);opacity:0}14%{opacity:.4}100%{transform:scale(3.2);opacity:0}}
.a-cell{animation-duration:16s}
@keyframes haCell{0%,100%{opacity:.4}45%,55%{opacity:.85}}
.a-fill{animation-duration:15s}
@keyframes haFill{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(.8)}}

/* ===== v90: hero art stays right of the copy, fades before the text ===== */
.hero-art{opacity:.6;-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 38%,#000 68%,#000 100%)!important;mask-image:linear-gradient(90deg,transparent 0%,transparent 38%,#000 68%,#000 100%)!important}
.hero-art svg{right:-2%;top:0;width:62%;height:100%;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 96%);mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 96%)}
@media(max-width:1100px){.hero-art{opacity:.4}}
@media(max-width:900px){.hero-art{display:none}}

/* ===== v91: tighter sub-page hero top spacing ===== */
body:not([data-page="index.html"]) header.hero{padding-top:calc(var(--nav-h) + clamp(18px,2.2vw,34px))!important}

/* ===== v92: feature tables sit on the same tonal field as the product windows ===== */
.ft-field{position:relative;padding:clamp(18px,2.2vw,34px);border-radius:16px;background:linear-gradient(168deg,#F7F5F1,#EFECE6);box-shadow:inset 0 0 0 1px rgba(16,14,10,.05);overflow:hidden}
.ft-field::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(64% 54% at 16% 8%,rgba(255,255,255,.72),transparent 62%),radial-gradient(52% 46% at 92% 94%,rgba(191,167,131,.14),transparent 70%)}
.ft-field>.ft-list{position:relative;z-index:1;border-radius:12px;border-color:rgba(16,14,10,.10);background:rgba(16,14,10,.10)}
.ft-field .ft-item{background:#FBFAF8}
.ft-field .ft-item:hover{background:#FFFFFF}
@media(max-width:700px){.ft-field{padding:12px;border-radius:12px}}

/* ===== v93: each section's surface is a distinct member of the same family ===== */
.ft-field[data-f="1"],.cx-tile[data-f="1"]{background:linear-gradient(168deg,#F7F5F1,#EFECE6)}
.ft-field[data-f="1"]::after,.cx-tile[data-f="1"]::after{background:radial-gradient(64% 54% at 16% 8%,rgba(255,255,255,.72),transparent 62%),radial-gradient(52% 46% at 92% 94%,rgba(191,167,131,.14),transparent 70%)}

.ft-field[data-f="2"],.cx-tile[data-f="2"]{background:linear-gradient(202deg,#F6F5F2,#EDEDEA)}
.ft-field[data-f="2"]::after,.cx-tile[data-f="2"]::after{background:radial-gradient(58% 52% at 86% 6%,rgba(255,255,255,.78),transparent 60%),radial-gradient(60% 50% at 6% 96%,rgba(150,158,170,.10),transparent 70%)}

.ft-field[data-f="3"],.cx-tile[data-f="3"]{background:linear-gradient(148deg,#F8F6F1,#EEEBE3)}
.ft-field[data-f="3"]::after,.cx-tile[data-f="3"]::after{background:radial-gradient(70% 46% at 50% 0%,rgba(255,255,255,.7),transparent 64%),radial-gradient(46% 44% at 12% 92%,rgba(191,167,131,.18),transparent 68%)}

.ft-field[data-f="4"],.cx-tile[data-f="4"]{background:linear-gradient(184deg,#F5F6F5,#EBEDEB)}
.ft-field[data-f="4"]::after,.cx-tile[data-f="4"]::after{background:radial-gradient(56% 50% at 22% 96%,rgba(255,255,255,.7),transparent 62%),radial-gradient(54% 48% at 88% 10%,rgba(143,163,150,.10),transparent 70%)}

.ft-field[data-f="5"],.cx-tile[data-f="5"]{background:linear-gradient(158deg,#F7F4F0,#EFEAE2)}
.ft-field[data-f="5"]::after,.cx-tile[data-f="5"]::after{background:radial-gradient(50% 48% at 92% 50%,rgba(255,255,255,.7),transparent 62%),radial-gradient(62% 52% at 4% 8%,rgba(191,167,131,.15),transparent 70%)}

/* ===== v94: one faint surface per page ===== */
.ft-field,.cx-tile{background:linear-gradient(168deg,#F8F7F5,#F3F1EE)!important;box-shadow:inset 0 0 0 1px rgba(16,14,10,.04)}
.ft-field::after,.cx-tile::after{background:radial-gradient(60% 52% at 18% 6%,rgba(255,255,255,.5),transparent 64%)!important;opacity:.7}
body[data-page="explore.html"] .ft-field,body[data-page="explore.html"] .cx-tile{background:linear-gradient(172deg,#F8F7F4,#F2F1ED)!important}
body[data-page="features.html"] .ft-field{background:linear-gradient(196deg,#F7F7F6,#F1F2F1)!important}
body[data-page="plans.html"] .ft-field{background:linear-gradient(160deg,#F8F7F4,#F3F1EC)!important}
body[data-page="security.html"] .ft-field{background:linear-gradient(186deg,#F7F7F6,#F1F2F2)!important}
body[data-page="realty.html"] .ft-field,body[data-page="realty.html"] .cx-tile{background:linear-gradient(164deg,#F8F7F4,#F3F1ED)!important}
body[data-page="management.html"] .ft-field,body[data-page="management.html"] .cx-tile{background:linear-gradient(190deg,#F7F7F6,#F1F2F1)!important}

/* ===== v95: quiet hover interactivity on UI elements site-wide ===== */
/* product-window rows: hairline firms up, row lifts a hair */
.ui-r{transition:box-shadow var(--dur-2) ease,transform var(--dur-2) var(--ease-std),background var(--dur-2) ease}
.ui-r:hover{box-shadow:0 0 0 1px rgba(16,14,10,.20),0 2px 8px rgba(16,14,10,.05);transform:translateY(-1px)}
/* checkbox affordance inside windows */
.ui-ck{transition:border-color var(--dur-1) ease,background var(--dur-1) ease}
.ui-r:hover .ui-ck{border-color:rgba(21,128,61,.55)}
/* status chips */
.ui-chip{transition:transform var(--dur-1) var(--ease-std),filter var(--dur-1) ease}
.ui-r:hover .ui-chip{filter:saturate(1.12)}
/* key/value cells in windows */
.ui-grid2>div{transition:background var(--dur-2) ease}
.ui-grid2>div:hover{background:rgba(16,14,10,.025)}
/* Eva panels: warm wash deepens slightly */
.ui-eva{transition:background var(--dur-2) ease,box-shadow var(--dur-2) ease}
.ui-eva:hover{background:rgba(111,103,96,.08);box-shadow:0 0 0 1px rgba(111,103,96,.22)}
/* transcript lines */
.ln-tx p{transition:color var(--dur-1) ease}
.ln-tx p:hover{color:#161310}
/* feature table rows */
.ft-item{transition:background var(--dur-2) ease}
.ft-item:hover{background:#FAF9F7}
/* metric cells */
.ln-metrics>div{transition:background var(--dur-2) ease}
.ln-metrics>div:hover{background:#FAF9F7}
/* product windows: the whole pane responds */
.cx-win{transition:box-shadow var(--dur-3) ease,transform var(--dur-3) var(--ease-std)}
.cx-win:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(23,21,15,.05),0 2px 4px rgba(23,21,15,.04),0 22px 56px rgba(23,21,15,.12),0 0 0 1px rgba(16,14,10,.10)}
/* sub-links under stage copy */
.cx-sub a{transition:background var(--dur-1) ease,box-shadow var(--dur-1) ease,color var(--dur-1) ease}
.cx-sub a:hover{background:rgba(16,14,10,.03);box-shadow:0 0 0 1px rgba(16,14,10,.14)}
/* FAQ rows */
.ln-faq details{transition:background var(--dur-2) ease}
.ln-faq details:hover{background:rgba(16,14,10,.02)}
.ln-faq summary{transition:color var(--dur-1) ease}
/* plan tiers already lift; add the list rows */
.tier li{transition:color var(--dur-1) ease}
.tier li:hover{color:var(--ink)}
/* Eva add-on band rows */
.addon-list div{transition:background var(--dur-2) ease,padding-left var(--dur-2) var(--ease-std)}
.addon-list div:hover{background:rgba(251,250,248,.04);padding-left:10px}
/* contact aside steps */
.ct-steps li{transition:color var(--dur-1) ease}
.ct-steps li:hover{color:var(--ink)}
/* resource rows */
.rw a{transition:background var(--dur-2) ease}
.rw a:hover{background:rgba(16,14,10,.025)}
@media (prefers-reduced-motion:reduce){
  .ui-r:hover,.cx-win:hover{transform:none}
  .addon-list div:hover{padding-left:2px}
}

/* ===== v96: subtler hovers, no dark-surface changes ===== */
.gdock{display:none!important}
/* rows: hairline only, no lift, no shadow */
.ui-r:hover{box-shadow:0 0 0 1px rgba(16,14,10,.16);transform:none}
.ui-r:hover .ui-chip{filter:none}
/* windows: shadow deepens a touch, no movement */
.cx-win:hover{transform:none;box-shadow:0 1px 2px rgba(23,21,15,.05),0 2px 4px rgba(23,21,15,.04),0 18px 50px rgba(23,21,15,.11),0 0 0 1px rgba(16,14,10,.09)}
/* light surfaces: barely-there warm-up */
.ft-item:hover,.ln-metrics>div:hover{background:#FCFBFA}
.ui-grid2>div:hover{background:rgba(16,14,10,.015)}
.ln-faq details:hover{background:rgba(16,14,10,.012)}
.rw a:hover{background:rgba(16,14,10,.015)}
.cx-sub a:hover{background:transparent;box-shadow:0 0 0 1px rgba(16,14,10,.16)}
/* Eva panels: hairline only */
.ui-eva:hover{background:rgba(111,103,96,.06);box-shadow:0 0 0 1px rgba(111,103,96,.18)}
/* dark surfaces: text only, never the background */
.addon-list div:hover{background:transparent;padding-left:2px;color:#FBFAF8}

/* ===== v97: key/value cell hover barely registers ===== */
.ui-grid2>div:hover{background:rgba(16,14,10,.008)}

/* ===== v98: softer ink, lighter weights (DS: body is Inter 300–400) ===== */
[data-theme="light"]{--ink:#2A2723;--ink-2:#4A4F55;--ink-3:#6A7078}
/* product-window text: was 550/600 near-black, now lighter and warmer */
.ui-r b,.cx-win-b b,.ln-mini-row b{color:#2A2723;font-weight:500}
.ui-grid2 b{color:#2A2723;font-weight:500}
.ui-k{font-weight:500;color:#6A7078}
.ui-r>div>span,.ui-r .r,.ln-mini-sub{color:#5A6068;font-weight:400}
.ui-eva p,.ln-tx p{color:#4A4F55;font-weight:400}
.ln-tx p:hover{color:#2A2723}
/* headings across the site: shed a step of weight */
.h1,.h2,.h-sec{font-weight:600}
.ghero .hero-2col .display.hxd{font-weight:600!important}
.cx-copy h3,.ln-card h3,.tier h3,.addon h3,.ft-grp-hd h3{font-weight:550}
.ft-item b,.ln-faq summary{font-weight:500}
.tier li b,.addon-list div b,.ct-aside h3{font-weight:550}
/* metric numerals: large but not bold-black */
.ln-metrics b{font-weight:550;color:#2A2723}
.dz-stats b{font-weight:550}
/* buttons + labels stay legible but lose the heavy edge */
.btn{font-weight:500}
.ct-f label,.eyebrow,.cx-num,.ln-tag,.tier-flag{font-weight:550}

/* ===== v99: mild page atmosphere behind every page ===== */
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(58% 44% at 12% 0%,rgba(191,167,131,.055),transparent 62%),
    radial-gradient(52% 40% at 92% 18%,rgba(150,158,170,.04),transparent 66%),
    radial-gradient(60% 46% at 50% 100%,rgba(191,167,131,.035),transparent 64%),
    linear-gradient(180deg,#FAF9F7,#F7F6F3 46%,#F9F8F6);
}
body[data-page="realty.html"]::before,body[data-page="explore.html"]::before{background:
  radial-gradient(56% 42% at 8% 2%,rgba(191,167,131,.06),transparent 62%),
  radial-gradient(50% 38% at 94% 22%,rgba(150,158,170,.035),transparent 66%),
  linear-gradient(180deg,#FAF9F7,#F7F6F2 50%,#F9F8F5)}
body[data-page="management.html"]::before,body[data-page="features.html"]::before{background:
  radial-gradient(56% 42% at 90% 2%,rgba(150,158,170,.05),transparent 62%),
  radial-gradient(52% 40% at 6% 26%,rgba(191,167,131,.04),transparent 66%),
  linear-gradient(180deg,#FAF9F8,#F6F7F5 50%,#F9F9F7)}
body[data-page="security.html"]::before{background:
  radial-gradient(58% 44% at 50% 0%,rgba(150,158,170,.05),transparent 64%),
  radial-gradient(48% 38% at 8% 30%,rgba(191,167,131,.03),transparent 66%),
  linear-gradient(180deg,#FAFAF8,#F7F7F5 50%,#F9F9F8)}
/* sections stay exactly as authored — atmosphere only shows where the page is bare */
.sect,.sect-tight,.hero,.ghero,.band-soft,.cta-box-wrap,.foot{background:transparent}
.band-soft{background:var(--paper-deep)}

/* ===== v100: atmosphere reaches every page-level section; soft band is deeper again ===== */
body>.sect,body>.sect-tight,body>.hero,body>.ghero,body>.split,body>.wht,body>.cta-band,body>.cta-box-wrap,body>.rw,body>.foot,body>.dz-sect,body>section,body>header{background:transparent}
body>.sect.band-soft,body>section.band-soft{background:var(--paper-deep)}

/* ===== v101: visible-but-quiet page structure — rails + contour ===== */
body::before{
  background:
    radial-gradient(58% 40% at 10% 0%,rgba(191,167,131,.10),transparent 62%),
    radial-gradient(50% 36% at 94% 16%,rgba(150,158,170,.075),transparent 64%),
    radial-gradient(64% 44% at 50% 102%,rgba(191,167,131,.07),transparent 62%),
    linear-gradient(180deg,#FAF8F5,#F5F3EF 44%,#F8F7F4)!important;
}
/* vertical rails aligned to the content container, running the full page */
body::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(90deg,rgba(16,14,10,.055) 0 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,14,10,.055) 0 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,14,10,.028) 0 1px,transparent 1px);
  background-repeat:no-repeat;
  background-position:
    calc(50% - min(46vw, 620px)) 0,
    calc(50% + min(46vw, 620px)) 0,
    50% 0;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 84%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 84%,transparent 100%);
}
/* a single soft contour drifting down the page */
.pg-contour{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.pg-contour svg{position:absolute;left:0;top:0;width:100%;height:100%}
.pg-contour path{fill:none;stroke:rgba(16,14,10,.07);stroke-width:1}
.pg-contour path.b{stroke:rgba(191,167,131,.16)}
@media(max-width:900px){body::after{display:none}.pg-contour{opacity:.5}}
@media (prefers-reduced-motion:reduce){.pg-contour{opacity:.6}}

/* ===== v102: soft band drops its fill; atmosphere scrolls with the page ===== */
body{position:relative}
body>.sect.band-soft,body>section.band-soft{background:transparent}
.band-soft{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body::before,body::after,.pg-contour{position:absolute!important;inset:0!important;height:100%!important}
body::before{background-attachment:local}
.pg-contour svg{height:100%}
.pg-contour path{vector-effect:non-scaling-stroke}

/* ===== v103: product plan switcher ===== */
.plan-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:620px;margin:0 0 clamp(22px,2.6vw,34px)}
.ps-b{font:inherit;text-align:left;cursor:pointer;padding:13px 16px;border-radius:10px;background:transparent;border:1px solid var(--line);transition:border-color var(--dur-2) ease,background var(--dur-2) ease}
.ps-b b{display:block;font-size:14.5px;font-weight:550;letter-spacing:-.015em;color:var(--ink-2);transition:color var(--dur-1) ease}
.ps-b span{display:block;font-size:12px;font-weight:400;color:var(--ink-3);margin-top:3px}
.ps-b:hover{border-color:rgba(16,14,10,.2)}
.ps-b:hover b{color:var(--ink)}
.ps-b.on{border-color:rgba(16,14,10,.42);background:rgba(16,14,10,.02)}
.ps-b.on b{color:var(--ink)}
.plan-set{display:none}
.plan-set.on{display:block}
.tier-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.tier-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.plan-switch{grid-template-columns:1fr}.tier-grid-3{grid-template-columns:1fr}}

/* ===== v104: scroll-reactive atmosphere — drifting contours + a line that follows you ===== */
.pg-contour{will-change:transform}
.pg-contour svg{transform:translate3d(0,var(--drift,0px),0)}
.pg-contour path{transition:none}
.pg-contour path.b{stroke:rgba(191,167,131,.18)}

/* the spine: a hairline that draws down the page as you scroll, with a node per section */
.pg-spine{position:absolute;top:0;bottom:0;left:calc(50% - min(46vw,620px));width:1px;z-index:-1;pointer-events:none}
.pg-spine .sp-track{position:absolute;inset:0;background:rgba(16,14,10,.055)}
.pg-spine .sp-fill{position:absolute;left:0;top:0;width:1px;height:var(--sp,0px);background:linear-gradient(180deg,rgba(16,14,10,.06),rgba(16,14,10,.26));transition:height .12s linear}
.pg-spine .sp-dot{position:absolute;left:-2.5px;width:6px;height:6px;border-radius:999px;background:var(--paper);box-shadow:0 0 0 1px rgba(16,14,10,.14);transition:box-shadow .5s var(--ease-std),background .5s ease,transform .5s var(--ease-std)}
.pg-spine .sp-dot.on{background:#2A2723;box-shadow:0 0 0 1px rgba(42,39,35,.9),0 0 0 5px rgba(191,167,131,.14);transform:scale(1.12)}
.pg-spine .sp-head{position:absolute;left:-3.5px;width:8px;height:8px;border-radius:999px;background:#2A2723;box-shadow:0 0 0 6px rgba(191,167,131,.12);top:var(--sp,0px);opacity:0;transition:opacity .4s ease}
.pg-spine.live .sp-head{opacity:1}
@media(max-width:1100px){.pg-spine{display:none}}
@media (prefers-reduced-motion:reduce){
  .pg-contour svg{transform:none}
  .pg-spine .sp-fill{height:100%!important;transition:none}
  .pg-spine .sp-head{display:none}
  .pg-spine .sp-dot{background:#2A2723;box-shadow:0 0 0 1px rgba(42,39,35,.9)}
}

/* ===== v105: flowing spine, no wave lines, no top progress bar ===== */
.sprog{display:none!important}
.pg-contour{display:none!important}
/* the spine becomes a drawn curve that meanders down the page */
.pg-spine{left:0;right:0;width:auto}
.pg-spine .sp-track,.pg-spine .sp-fill,.pg-spine .sp-head{display:none}
.pg-spine svg{position:absolute;inset:0;width:100%;height:100%}
.pg-spine .sp-base{fill:none;stroke:rgba(16,14,10,.07);stroke-width:1;vector-effect:non-scaling-stroke}
.pg-spine .sp-draw{fill:none;stroke:rgba(42,39,35,.30);stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linecap:round}
.pg-spine .sp-node{fill:var(--paper);stroke:rgba(16,14,10,.16);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .5s var(--ease-std),stroke .5s ease,r .5s var(--ease-std)}
.pg-spine .sp-node.on{fill:#2A2723;stroke:rgba(191,167,131,.5);stroke-width:4;vector-effect:non-scaling-stroke}
@media(max-width:1100px){.pg-spine{display:none}}
@media (prefers-reduced-motion:reduce){.pg-spine .sp-draw{stroke-dasharray:none!important;stroke-dashoffset:0!important}.pg-spine .sp-node{fill:#2A2723}}

/* ===== v106: fainter, flowier spine — no nodes ===== */
.pg-spine .sp-node,.pg-spine .sp-nodes{display:none!important}
.pg-spine .sp-base{stroke:rgba(16,14,10,.035);stroke-width:1}
.pg-spine .sp-draw{stroke:rgba(16,14,10,.085);stroke-width:1}

/* ===== v107: contact aside stays put; rw band on sub-pages ===== */
.ct-aside{position:static!important;top:auto}
body[data-page="contact.html"] .pg-spine{display:none}

/* ===== v108: bento cards align — minis bottom-anchored, equal link baseline ===== */
.ln-bento{align-items:stretch}
.ln-card-art{display:flex;flex-direction:column;justify-content:flex-end}
.ln-card-top p{min-height:calc(1.62em * 2)}
.ln-mini-q{min-height:calc(1.5em * 1)}
.ln-go{margin-top:auto}

/* ===== v109: management tier note ===== */
.tier-note{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.tier-note p{margin:0;display:flex;align-items:baseline;gap:12px;font-size:13.5px}
.tier-note p b{font-weight:550;color:var(--ink);white-space:nowrap}
.tier-note p span{font-weight:400;color:var(--ink-2)}
.tier-note .tn-inc{display:block;font-size:12.5px;font-weight:400;color:var(--ink-3);line-height:1.65;max-width:720px}

/* ===== v111: Eva Voice band goes light — warm Eva wash instead of dark ===== */
.addon{background:linear-gradient(160deg,#F2EDE3,#E8E1D3);color:#2A2723;box-shadow:inset 0 0 0 1px rgba(111,103,96,.20)}
.addon h3{color:#2A2723}
.addon p{color:#4A4F55}
.addon .k{color:#8A8178}
.addon-list div{border-top:1px solid rgba(111,103,96,.22);color:#4A4F55}
.addon-list div b{color:#2A2723}
.addon-list div:hover{color:#2A2723}

/* ===== v112: expensive gradient surfaces on the light bands ===== */
.addon{position:relative;overflow:hidden;background:
  radial-gradient(72% 90% at 8% 0%,rgba(255,255,255,.75),transparent 58%),
  radial-gradient(55% 70% at 96% 100%,rgba(154,136,110,.28),transparent 62%),
  radial-gradient(40% 55% at 78% 8%,rgba(215,208,196,.5),transparent 66%),
  linear-gradient(158deg,#F4EFE6 0%,#EDE6D8 48%,#E3DAC8 100%);
  box-shadow:inset 0 0 0 1px rgba(111,103,96,.22),inset 0 1px 0 rgba(255,255,255,.6),0 24px 56px -32px rgba(42,39,35,.25)}
.addon::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.16) 46%,transparent 60%)}
.addon>*{position:relative;z-index:1}
.tier-note{border-radius:12px;padding:18px 22px;background:
  radial-gradient(60% 100% at 4% 0%,rgba(255,255,255,.7),transparent 60%),
  linear-gradient(160deg,#F5F1E9,#EAE3D4);
  box-shadow:inset 0 0 0 1px rgba(111,103,96,.18),inset 0 1px 0 rgba(255,255,255,.55)}

/* ===== v113: de-yellowed — neutral warm taupe, premium like the dark bands ===== */
.addon{background:
  radial-gradient(70% 90% at 10% 0%,rgba(255,255,255,.8),transparent 58%),
  radial-gradient(52% 68% at 96% 100%,rgba(111,103,96,.16),transparent 64%),
  linear-gradient(158deg,#F5F3F0 0%,#ECE9E4 52%,#E2DED7 100%);
  box-shadow:inset 0 0 0 1px rgba(111,103,96,.18),inset 0 1px 0 rgba(255,255,255,.65),0 24px 56px -32px rgba(42,39,35,.22)}
.addon::after{background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.12) 47%,transparent 60%)}
.addon .k{color:#8A857D}
.tier-note{background:
  radial-gradient(60% 100% at 4% 0%,rgba(255,255,255,.75),transparent 60%),
  linear-gradient(160deg,#F6F4F1,#EAE7E1);
  box-shadow:inset 0 0 0 1px rgba(111,103,96,.15),inset 0 1px 0 rgba(255,255,255,.6)}

/* ==================================================================
   v114: ONE COLOR SYSTEM — warm neutrals, one black, one accent family
   Neutrals: single warm hue family (no cool blue-greys)
   Blacks:   two values only — object #1F1C18, deep stop #17140F
   Accents:  equal-saturation muted set, all legible on warm paper
   ================================================================== */
:root,[data-theme="light"]{
  /* --- warm paper ramp --- */
  --paper:#FAF9F7;--paper-deep:#F3F1ED;--card:#FDFCFB;--card-2:#F3F1ED;
  /* --- warm ink ramp --- */
  --ink:#2A2723;--ink-2:#5C574F;--ink-3:#8A857C;
  /* --- warm hairlines --- */
  --line:rgba(31,27,22,0.12);--line-2:rgba(31,27,22,0.065);--line-3:rgba(31,27,22,0.22);
  /* --- one black, two stops --- */
  --obj:#1F1C18;--obj-hi:#26221D;--obj-lo:#17140F;--obj-deep:#12100C;
  --obj-ink:#F4F2EE;--obj-ink2:rgba(244,242,238,0.66);--obj-ink3:rgba(244,242,238,0.46);
  --obj-line:rgba(244,242,238,0.10);
  /* --- accent family: same muted register, complementary to the taupe anchor --- */
  --ac-eva:#6F6760;--ac-blue:#4A6FA5;--ac-green:#3F7D5C;--ac-amber:#9A7434;--ac-red:#A85340;
  --ac-blue-d:#8FAFDC;--ac-green-d:#82BFA0;--ac-amber-d:#D6B478;--ac-red-d:#DC9F8E;
  /* --- state dots: tints of the same family --- */
  --st-new:#A9BFDD;--st-active:#A7C8B4;--st-stale:#DCC79A;--st-atrisk:#DBB2A6;
  --eva:#2A2723;
}
/* ---------- collapse every stray black to the one object black ---------- */
.invert,.cta-band,.split-dark{background:var(--obj);color:var(--obj-ink)}
.nav-in{background:var(--card)}
.nav .btn-cta,.btn-cta,.btn-solid{background:var(--obj);color:var(--obj-ink);border-color:var(--obj)}
.nav .btn-cta:hover,.btn-cta:hover,.btn-solid:hover{background:#2A2621;border-color:#2A2621;color:var(--obj-ink)}
.nav-links a{color:var(--ink-2)}
.nav-links a:hover,.nav-links a.on,.nav-signin:hover{color:var(--ink)}
.nav-signin{color:var(--ink-2)}
.hdk-c.live,.cfr{background:linear-gradient(170deg,var(--obj-hi) 0%,var(--obj) 55%,var(--obj-lo) 100%)}
.gfx,.gfx-in,.prod-media,.prodx-media{background:linear-gradient(168deg,var(--obj-hi),var(--obj) 60%)}
.sap-side,.sap-eva-go{background:var(--obj-lo)}
.sap-task,.pl-bd,.pl-ev.dark,.smx-pill.on,.pl-filters button.on,.pl-selbar,.pl-assign,.pxa-cal,.ho-b.pri{background:var(--obj)}
.pl-filters button.on{border-color:var(--obj)}
.stage-tab.on,.sc-tab.on{color:var(--obj)}
.hflow-s.on .fd,.gfx-task:hover .gttl::before{background-color:var(--obj);border-color:var(--obj)}
.gln b,.gttl,.gkv b,.gnum,.gtl b,.pxa-b b,.pl-eva p b,.sap-eva-q.filled,.pl-bl,.sap-btn.pri,.smx{color:var(--ink)}
.gfx-card{color:var(--ink)}
/* ---------- accents: one family everywhere ---------- */
.sap-dash i.f.b,.gtr i.f.b,.dl.blu,.sap-task-meta i{background:var(--ac-blue)}
.sap-dash i.f.g,.gtr i.f.g,.dl.grn,.pl-task.dn .pl-ck,.pxa-live i,.on-dot{background:var(--ac-green)}
.sap-dash i.f.a,.gblock i,.pxa-live.amb i{background:var(--ac-amber)}
.dl.red{background:var(--ac-red)}
.sap-counts .dn b,.smx .vs.g,.pxa-client b em{color:var(--ac-green)}
.sap-counts .ov b,.pl-when.red,.pxa-task em,.hcon-kick em,.hdk-when,.rk.red,.hx-chip{color:var(--ac-red)}
.pl-ev span{color:var(--ac-amber)}
.pl-task.dn .pl-ck{border-color:var(--ac-green)}
.pl-eva-k,.sap-eva .sp,.hflow-s.on .fe{color:var(--ac-eva)}
.pxa-task:hover .pxa-ck,.cfr-row:hover .cfr-ck{border-color:var(--ac-green);background:color-mix(in srgb,var(--ac-green) 8%,transparent)}
.cfr-ck:hover{background:var(--ac-green)!important;border-color:var(--ac-green)!important}
/* status chips: text + 12% fill + 30% border, one formula for all four */
.plc-risk,.ui-chip.r{color:var(--ac-red);background:color-mix(in srgb,var(--ac-red) 12%,transparent);border:1px solid color-mix(in srgb,var(--ac-red) 30%,transparent)}
.plc-active,.ui-chip.g{color:var(--ac-green);background:color-mix(in srgb,var(--ac-green) 12%,transparent);border:1px solid color-mix(in srgb,var(--ac-green) 30%,transparent)}
.plc-stale,.ui-chip.a{color:var(--ac-amber);background:color-mix(in srgb,var(--ac-amber) 12%,transparent);border:1px solid color-mix(in srgb,var(--ac-amber) 30%,transparent)}
.ui-chip.b{color:var(--ac-blue);background:color-mix(in srgb,var(--ac-blue) 12%,transparent);border:1px solid color-mix(in srgb,var(--ac-blue) 30%,transparent)}
.plc-eva,.ui-chip.e{color:var(--ac-eva);background:color-mix(in srgb,var(--ac-eva) 10%,transparent);border:1px solid color-mix(in srgb,var(--ac-eva) 26%,transparent)}
.ui-chip.n{color:var(--ink-2);background:rgba(31,27,22,0.045);border:1px solid var(--line)}
/* on dark objects, the same family in its lighter register */
.hdk-c.live .hdk-when,.cfr .rk.red{color:var(--ac-red-d)}
.hdk-c.live .dl.blu,.cfr .dl.blu,.cfr .gtr i.f.b{background:var(--ac-blue-d)}
.hdk-c.live .dl.grn,.cfr .dl.grn,.cfr .gtr i.f.g,.cfr .pxa-live i{background:var(--ac-green-d)}
.cfr .gblock i,.cfr .pxa-live.amb i{background:var(--ac-amber-d)}
.hdk-brand i,.hdk-eva i,.asg-why i{color:#D7D0C4}
/* ---------- page atmosphere: one warm family, per-page angle only ---------- */
body::before{background:
  radial-gradient(58% 40% at 10% 0%,rgba(111,103,96,.075),transparent 62%),
  radial-gradient(50% 36% at 94% 16%,rgba(111,103,96,.05),transparent 64%),
  linear-gradient(180deg,#FAF9F7,#F5F3EF 46%,#F8F7F4)!important}
body[data-page="management.html"]::before,body[data-page="features.html"]::before,body[data-page="security.html"]::before{background:
  radial-gradient(56% 42% at 90% 2%,rgba(111,103,96,.06),transparent 62%),
  radial-gradient(52% 40% at 6% 26%,rgba(111,103,96,.045),transparent 66%),
  linear-gradient(180deg,#FAF9F7,#F5F4F0 50%,#F8F8F5)!important}
/* ---------- faint surfaces: warm, one value ---------- */
.ft-field,.cx-tile{background:linear-gradient(168deg,#F7F6F3,#F1EFEB)!important}
.ft-item:hover,.ln-metrics>div:hover{background:#FCFBF9}
.ft-item,.ln-metrics>div{background:var(--paper)}
/* ---------- Eva bands: the taupe anchor, one recipe ---------- */
.addon{background:
  radial-gradient(70% 90% at 10% 0%,rgba(255,255,255,.8),transparent 58%),
  radial-gradient(52% 68% at 96% 100%,rgba(111,103,96,.16),transparent 64%),
  linear-gradient(158deg,#F5F3F0 0%,#ECE9E4 52%,#E2DED7 100%)}
.tier-note{background:
  radial-gradient(60% 100% at 4% 0%,rgba(255,255,255,.75),transparent 60%),
  linear-gradient(160deg,#F6F4F1,#EAE7E1)}
.ui-eva,.pl-eva{background:color-mix(in srgb,var(--ac-eva) 6%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ac-eva) 16%,transparent);border:0}
.ui-eva:hover{background:color-mix(in srgb,var(--ac-eva) 8%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ac-eva) 20%,transparent)}
.ui-eva span,.ui-eva>span:first-child{color:var(--ac-eva)}
/* ---------- window interiors inherit the warm ramp ---------- */
.cx-win,.ln-mini,.pnl,.pxa,.ui-r,.pl-stats>div,.pl-task,.pl-contact,.pl-ev,.smx-pills,.sap-eva,.hxp-card{background:var(--card)}
.ui-r{box-shadow:0 0 0 1px rgba(31,27,22,0.10)}
.ui-r:hover{box-shadow:0 0 0 1px rgba(31,27,22,0.17)}
.cx-win-bar{background:rgba(31,27,22,0.02)}
.ui-r>div>span,.ui-r .r,.ln-mini-sub{color:var(--ink-2)}
.ui-eva p,.ln-tx p{color:var(--ink-2)}
.ln-tx p:hover{color:var(--ink)}
.ui-k,.ln-tag,.eyebrow,.cx-num,.tier-flag,.ct-f label,.dz-cap,.plx-cap{color:var(--ink-3)}

/* v115: selectors v114 missed */
.ln-dot.b{background:var(--ac-blue)}
.ln-dot.g{background:var(--ac-green)}
.ln-dot.a{background:var(--ac-amber)}
.ln-dot.r{background:var(--ac-red)}
.r.late,.ui-r .r.late{color:var(--ac-red)}
.ui-ck.on{background:var(--ac-green);border-color:var(--ac-green)}
.ui-r:hover .ui-ck{border-color:color-mix(in srgb,var(--ac-green) 55%,transparent)}

/* v116: tighten the first section now that the metric strips are gone */
body:not([data-page="index.html"]) header.hero{padding-bottom:clamp(14px,1.8vw,26px)!important}
body:not([data-page="index.html"]) header.hero + section.sect{padding-top:clamp(28px,3.4vw,52px)}
body[data-page="index.html"] .dz-sect + section.sect{padding-top:clamp(30px,3.6vw,56px)}

/* ===== v117: no layout shift on load — reserve nav height and logo box ===== */
#site-nav{display:block;height:var(--nav-h)}
.nav-logo{width:68px;height:19px}
.nav-logo img{height:19px;width:68px;aspect-ratio:1902/535;object-fit:contain;object-position:left center}
.foot-brand img{height:20px;width:71px;aspect-ratio:1902/535;object-fit:contain;object-position:left center}

/* ===== v118: scope the placeholder reservation; metric-matched font fallback ===== */
#site-nav{display:block;height:calc(var(--nav-h) + 1px)}
body[data-page="index.html"] #site-nav,body[data-page="realty.html"] #site-nav,body[data-page="management.html"] #site-nav{height:0}

/* ==================================================================
   v119: marketing UI mocks adopt the real dashboard language
   Source of truth (Task Deck Redesign): borderless white cards,
   18-20px radii, 0 1px 2px rgba(31,26,18,.04) contact shadow,
   11px/600 chips with 10-12% fills and no border, taupe Eva wash.
   ================================================================== */
:root,[data-theme="light"]{
  --ac-green:#0B7A55;--ac-red:#B4552D;--ac-amber:#8A6A2F;--ac-blue:#3E6491;--ac-eva:#6F6760;
  --dash-card:#FFFFFF;--dash-sh:0 1px 2px rgba(31,26,18,.04);
  --dash-ink:#17150F;--dash-ink2:#4B463D;--dash-ink3:#6B6659;--dash-hair:rgba(31,26,18,.06);
}
/* --- window shell: the dashboard's own elevation, no ring --- */
.cx-win{background:#FBFAF8!important;border:0!important;border-radius:20px!important;
  box-shadow:0 20px 52px rgba(31,26,18,.10),0 2px 6px rgba(31,26,18,.05)!important;color:var(--dash-ink)}
.cx-win:hover{transform:none;box-shadow:0 24px 60px rgba(31,26,18,.13),0 2px 6px rgba(31,26,18,.05)!important}
.cx-win-bar{background:transparent!important;border-bottom:1px solid var(--dash-hair);padding:13px 18px}
.cx-win-bar s{background:rgba(31,26,18,.14)}
.cx-win-bar em{color:var(--dash-ink3);font-size:11.5px;font-weight:500;letter-spacing:.2px}
.cx-win-b{padding:16px 18px 18px}
/* --- rows: borderless white cards --- */
.ui-r{background:var(--dash-card)!important;border:0!important;border-radius:14px!important;
  box-shadow:var(--dash-sh)!important;padding:13px 16px;gap:12px;margin-top:8px;
  transition:box-shadow var(--dur-2) ease}
.ui-r:hover{box-shadow:0 2px 8px rgba(31,26,18,.07)!important;transform:none}
.ui-r:first-child{margin-top:0}
.ui-r b{font-size:14px;font-weight:600;letter-spacing:-.005em;color:var(--dash-ink)}
.ui-r>div>span{font-size:12.5px;font-weight:400;color:var(--dash-ink3);margin-top:3px}
.ui-r .r{font-size:12.5px;font-weight:600;color:var(--dash-ink3)}
.ui-r .r.late,.ui-r .r[class*="late"]{color:var(--ac-red)}
/* rows the markup flattens (border:0 inline) stay flat */
.ui-r[style*="border:0"]{box-shadow:none!important;background:transparent!important;padding-left:2px;padding-right:2px}
/* --- avatars: dashboard sizes and tones --- */
.ui-av{width:30px;height:30px;border-radius:999px;background:#EAE6DF;color:var(--ac-eva);
  font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none;border:0}
.ui-av.dk{background:#1B1917;color:#F4F2EE}
/* --- checkbox: 26px ring, green when done --- */
.ui-ck{width:26px;height:26px;border-radius:999px;border:0;background:transparent;
  box-shadow:inset 0 0 0 1.5px #D6D1C6;flex:none;position:relative;cursor:pointer;
  transition:box-shadow var(--dur-1) ease,background var(--dur-1) ease}
.ui-r:hover .ui-ck{box-shadow:inset 0 0 0 1.5px #B9B3A6}
.ui-ck.on{background:var(--ac-green);box-shadow:none}
.ui-ck.on::after{content:'';position:absolute;left:8px;top:9px;width:8px;height:5px;
  border:solid #fff;border-width:0 0 1.8px 1.8px;transform:rotate(-45deg)}
/* --- chips: 11px/600, tinted fill, no border --- */
.ui-chip{font-size:11px;font-weight:600;border-radius:999px;padding:2px 9px;border:0!important;
  white-space:nowrap;letter-spacing:0}
.ui-chip.g{color:var(--ac-green);background:rgba(11,122,85,.10)}
.ui-chip.r{color:var(--ac-red);background:rgba(180,85,45,.12)}
.ui-chip.a{color:var(--ac-amber);background:rgba(138,106,47,.12)}
.ui-chip.b{color:var(--ac-blue);background:rgba(62,100,145,.11)}
.ui-chip.e{color:var(--ac-eva);background:rgba(111,103,96,.10)}
.ui-chip.n{color:var(--dash-ink3);background:rgba(31,26,18,.055)}
/* --- Eva panel: the taupe wash from the app --- */
.ui-eva{background:linear-gradient(160deg,rgba(215,208,196,.30),rgba(215,208,196,.10))!important;
  border:0!important;box-shadow:none!important;border-radius:18px!important;padding:16px 18px;margin-top:12px}
.ui-eva:hover{background:linear-gradient(160deg,rgba(215,208,196,.38),rgba(215,208,196,.14))!important;box-shadow:none!important}
.ui-eva span,.ui-eva>span:first-child{font-size:10px;font-weight:700;letter-spacing:1.1px;color:var(--ac-eva);text-transform:uppercase}
.ui-eva p{font-size:13px;font-weight:400;line-height:1.6;color:var(--dash-ink2);margin-top:9px}
.ui-eva p b{font-weight:600;color:var(--dash-ink)}
/* --- key/value grid: dashboard stat cards --- */
.ui-grid2{background:transparent!important;border:0!important;gap:8px}
.ui-grid2>div{background:var(--dash-card);border:0;border-radius:16px;padding:15px 17px;box-shadow:var(--dash-sh)}
.ui-grid2>div:hover{background:var(--dash-card)}
.ui-k{font-size:10px;font-weight:700;letter-spacing:1.1px;color:var(--dash-ink3);text-transform:uppercase}
.ui-grid2 b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--dash-ink);margin-top:6px}
/* --- transcript: dashboard message tone --- */
.ln-tx p{font-size:13px;font-weight:400;color:var(--dash-ink2);line-height:1.6}
.ln-tx p b{color:var(--dash-ink);font-weight:600}
.ln-tx p:hover{color:var(--dash-ink2)}
/* --- bars + legend --- */
.ui-bars i{border-radius:4px;background:rgba(31,26,18,.12)}
.ui-bars i.on{background:var(--dash-ink)}
.ui-legend{font-size:11.5px;font-weight:500;color:var(--dash-ink3)}
/* --- mini cards in the bento --- */
.ln-mini{background:var(--dash-card)!important;border:0!important;border-radius:16px!important;box-shadow:var(--dash-sh)!important}
.ln-mini-row b{font-size:13.5px;font-weight:600;color:var(--dash-ink)}
.ln-mini-sub{font-size:12px;font-weight:400;color:var(--dash-ink3)}
/* --- feature lists + metric cells: same borderless card --- */
.ft-item{background:var(--dash-card);border:0}
.ft-item:hover{background:#FEFDFC}
.ft-item b{color:var(--dash-ink);font-weight:600}
.ft-item p{color:var(--dash-ink2);font-weight:400}
.ln-metrics{border:0}
.ln-metrics>div{background:var(--dash-card)}
.ln-metrics>div:hover{background:#FEFDFC}
.ln-metrics b{color:var(--dash-ink)}

/* v120: chip/avatar specificity + clear the legacy ring */
.ui-r .ui-chip,.ui-chip{font-size:11px;font-weight:600;letter-spacing:0;box-shadow:none!important;border:0!important;padding:2px 9px;border-radius:999px}
.ui-r .ui-av,.ui-av{font-size:10.5px;font-weight:700;color:var(--ac-eva)}
.ui-r .ui-av.dk,.ui-av.dk{color:#F4F2EE}
.ui-r .ui-chip.g{color:var(--ac-green);background:rgba(11,122,85,.10)}
.ui-r .ui-chip.r{color:var(--ac-red);background:rgba(180,85,45,.12)}
.ui-r .ui-chip.a{color:var(--ac-amber);background:rgba(138,106,47,.12)}
.ui-r .ui-chip.b{color:var(--ac-blue);background:rgba(62,100,145,.11)}
.ui-r .ui-chip.e{color:var(--ac-eva);background:rgba(111,103,96,.10)}
.ui-r .ui-chip.n{color:var(--dash-ink3);background:rgba(31,26,18,.055)}
.ft-item .ui-chip{box-shadow:none!important;border:0!important}

/* ==================================================================
   v121: transcript + field grid read cleanly at every width
   ================================================================== */
.ln-tx{display:flex;flex-direction:column;gap:10px}
.ln-tx p{display:block;margin:0;padding:11px 14px;border-radius:14px;background:var(--dash-card);
  box-shadow:var(--dash-sh);font-size:13px;font-weight:400;line-height:1.55;color:var(--dash-ink2);
  max-width:88%;align-self:flex-start}
.ln-tx p b{display:block;margin:0 0 5px;font-size:9.5px;font-weight:700;letter-spacing:1.1px;
  text-transform:uppercase;color:var(--dash-ink3)}
.ln-tx p:nth-child(odd){background:linear-gradient(160deg,rgba(215,208,196,.34),rgba(215,208,196,.16));box-shadow:none}
.ln-tx p:nth-child(odd) b{color:var(--ac-eva)}
.ln-tx p:nth-child(even){align-self:flex-end;max-width:86%}
.ui-grid2>div{padding:14px 16px;min-width:0}
.ui-grid2 b{font-size:14px;font-weight:600;line-height:1.35;letter-spacing:-.008em;margin-top:5px;text-wrap:pretty}
.ui-k{font-size:9.5px;letter-spacing:1.05px}
@media(max-width:1000px){
  .ui-grid2{grid-template-columns:1fr!important}
  .ui-grid2>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 15px}
  .ui-grid2 b{margin-top:0;text-align:right;font-size:13.5px}
  .ln-tx p{max-width:94%}
  .ln-tx p:nth-child(even){max-width:92%}
}

/* ==================================================================
   v122: rows stop wrapping three lines deep at narrow widths
   The trailing time/status drops under the text so the title
   gets the full column, the way the app does on a phone.
   ================================================================== */
@media(max-width:1000px){
  .ui-r{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:7px;align-items:start;padding:12px 14px}
  .ui-r>.ui-ck,.ui-r>.ui-av,.ui-r>.ui-k{grid-column:1;grid-row:1;align-self:center}
  .ui-r>div{grid-column:2;grid-row:1;min-width:0}
  .ui-r>.r,.ui-r>.ui-chip,.ui-r>span.r{grid-column:2;grid-row:2;justify-self:start}
  .ui-r b{font-size:13.5px;line-height:1.3;text-wrap:pretty}
  .ui-r>div>span{font-size:12px;line-height:1.4;margin-top:4px}
  .ui-r>.r{font-size:12px}
  /* rows with no control: text spans both columns */
  .ui-r[style*="border:0"]>div{grid-column:1/-1}
  .ui-r[style*="border:0"]>.r,.ui-r[style*="border:0"]>.ui-chip{grid-column:1/-1}
}
@media(max-width:600px){
  .ui-r b{font-size:13px}
  .cx-win-b{padding:14px 14px 16px}
}

/* ==================================================================
   v123: stacking keys off the WINDOW, not the viewport
   .cx-row collapses to one column under 1000px, so the window is
   widest in 601-1000px — exactly where v122 was stacking. Gate on
   the element instead, so it is correct on both axes.
   ================================================================== */
.cx-win{container-type:inline-size}
/* undo the viewport-gated stacking: rows stay inline at any viewport */
@media(max-width:1000px){
  .ui-r{display:flex;grid-template-columns:none;align-items:center;column-gap:0;row-gap:0;gap:12px;padding:13px 16px}
  .ui-r>.ui-ck,.ui-r>.ui-av,.ui-r>.ui-k,.ui-r>div,.ui-r>.r,.ui-r>.ui-chip,.ui-r>span.r{grid-column:auto;grid-row:auto;justify-self:auto}
  .ui-r>.r,.ui-r>.ui-chip{margin-left:auto}
  .ui-r b{font-size:14px;line-height:1.35}
  .ui-r>div>span{font-size:12.5px;line-height:1.45;margin-top:3px}
}
/* stack only when the window itself is genuinely narrow */
@container (max-width:470px){
  .ui-r{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:7px;align-items:start;padding:12px 14px}
  .ui-r>.ui-ck,.ui-r>.ui-av,.ui-r>.ui-k{grid-column:1;grid-row:1;align-self:center}
  .ui-r>div{grid-column:2;grid-row:1;min-width:0}
  .ui-r>.r,.ui-r>.ui-chip,.ui-r>span.r{grid-column:2;grid-row:2;justify-self:start;margin-left:0}
  .ui-r b{font-size:13.5px;line-height:1.3;text-wrap:pretty}
  .ui-r>div>span{font-size:12px;line-height:1.4;margin-top:4px}
  .ui-r>.r{font-size:12px}
  .ui-r[style*="border:0"]>div,.ui-r[style*="border:0"]>.r,.ui-r[style*="border:0"]>.ui-chip{grid-column:1/-1}
  .ui-grid2{grid-template-columns:1fr!important}
  .ui-grid2>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 15px}
  .ui-grid2 b{margin-top:0;text-align:right;font-size:13.5px}
  .cx-win-b{padding:14px 14px 16px}
}
/* the viewport rule for the field grid was wrong on the same axis */
@media(max-width:1000px){
  .ui-grid2{grid-template-columns:1fr 1fr!important}
  .ui-grid2>div{display:block;padding:14px 16px}
  .ui-grid2 b{margin-top:5px;text-align:left;font-size:14px}
}
@supports not (container-type:inline-size){
  @media(max-width:620px){
    .ui-r{display:grid;grid-template-columns:auto minmax(0,1fr);row-gap:7px;align-items:start}
    .ui-r>div{grid-column:2;grid-row:1;min-width:0}
    .ui-r>.r,.ui-r>.ui-chip{grid-column:2;grid-row:2;justify-self:start;margin-left:0}
    .ui-grid2{grid-template-columns:1fr!important}
  }
}

/* v124: container rule outranks the viewport reverts by specificity (0,2,0) */
@container (max-width:470px){
  .cx-win-b .ui-grid2{grid-template-columns:1fr!important}
  .cx-win-b .ui-grid2>div{display:flex!important;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 15px!important}
  .cx-win-b .ui-grid2 b{margin-top:0!important;text-align:right!important;font-size:13.5px!important}
  .cx-win-b .ui-r b{font-size:13.5px}
}

/* v124: flat rows only span full width when there is no leading avatar/checkbox */
@container (max-width:470px){
  .ui-r[style*="border:0"]>div{grid-column:2}
  .ui-r[style*="border:0"]>div:first-child{grid-column:1/-1}
  .ui-r[style*="border:0"]>.r,.ui-r[style*="border:0"]>.ui-chip{grid-column:2}
  .ui-r[style*="border:0"]>div:first-child~.r,.ui-r[style*="border:0"]>div:first-child~.ui-chip{grid-column:1/-1}
}
@supports not (container-type:inline-size){
  @media(max-width:620px){
    .ui-r[style*="border:0"]>div{grid-column:2}
    .ui-r[style*="border:0"]>div:first-child{grid-column:1/-1}
  }
}

/* v125: decisive — a row with a leading avatar/checkbox never lets its text span column 1 */
@container (max-width:470px){
  .ui-r:has(> .ui-av) > div,
  .ui-r:has(> .ui-ck) > div,
  .ui-r:has(> .ui-k) > div{grid-column:2!important;grid-row:1!important}
  .ui-r:has(> .ui-av) > .r,
  .ui-r:has(> .ui-av) > .ui-chip,
  .ui-r:has(> .ui-ck) > .r,
  .ui-r:has(> .ui-ck) > .ui-chip{grid-column:2!important;grid-row:2!important;justify-self:start;margin-left:0}
}
@media(max-width:620px){
  .ui-r:has(> .ui-av) > div,
  .ui-r:has(> .ui-ck) > div{grid-column:2!important;grid-row:1!important}
}
/* no-:has fallback: flat rows with an avatar stay inline flex instead of grid */
@supports not selector(:has(*)){
  @container (max-width:470px){
    .ui-r[style*="border:0"]{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px}
    .ui-r[style*="border:0"]>div{flex:1 1 60%;min-width:0}
  }
}

/* ==================================================================
   v126: mobile menu is a fixed overlay, not an in-flow block
   It was rendered in normal flow beneath the sticky nav, so it stayed
   at the top of the document (invisible once scrolled) and its first
   link sat behind the nav bar.
   ================================================================== */
.mnav{position:fixed;top:0;left:0;right:0;z-index:70;display:block;
  padding:calc(var(--nav-h) + 8px) var(--pad) 20px;
  background:var(--paper);border-bottom:1px solid var(--line);
  box-shadow:0 18px 40px rgba(31,26,18,.10);
  transform:translateY(-102%);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .34s var(--ease-out),opacity .24s ease,visibility 0s .34s}
.mnav.open{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .34s var(--ease-out),opacity .2s ease,visibility 0s}
.mnav a{display:block;padding:13px 2px;font-size:16px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line-2)}
.mnav a:last-of-type{border-bottom:0}
.mnav .m-lab{font-size:10px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--ink-3);padding:14px 2px 4px;border:0}
.mnav .m-cta{margin-top:14px}
.mnav-scrim{position:fixed;inset:0;z-index:69;background:rgba(31,26,18,.28);
  opacity:0;visibility:hidden;transition:opacity .28s ease,visibility 0s .28s}
.mnav-scrim.open{opacity:1;visibility:visible;transition:opacity .28s ease,visibility 0s}
body.mnav-lock{overflow:hidden}
.nav-burger{position:relative;z-index:71}
@media (min-width:1181px){.mnav,.mnav-scrim{display:none!important}}

/* v127: nav sits above the mobile panel (sticky+z-index:60 makes .nav its own
   stacking context, so the burger's z-index was capped inside it) */
.nav{z-index:80}
.nav-burger{position:relative}
.mnav{z-index:70}
.mnav-scrim{z-index:69}
html.mnav-lock,html.mnav-lock body{overflow:hidden!important}

/* v128: the panel scrolls internally so the CTA is always reachable */
.mnav{max-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding-bottom:calc(20px + env(safe-area-inset-bottom))}

/* ==================================================================
   v129: product cards lead with photography
   ================================================================== */
.ln-bento{gap:16px}
.ln-card{display:flex;flex-direction:column;padding:0!important;overflow:hidden;
  background:var(--dash-card)!important;border:0!important;border-radius:18px!important;
  box-shadow:0 1px 2px rgba(31,26,18,.05),0 12px 32px -18px rgba(31,26,18,.16)!important;
  transition:box-shadow .5s var(--ease-out),transform .5s var(--ease-out)}
.ln-card:hover{transform:translateY(-2px);
  box-shadow:0 1px 2px rgba(31,26,18,.05),0 20px 44px -18px rgba(31,26,18,.22)!important}
.ln-photo{position:relative;aspect-ratio:16/9;overflow:hidden;background:#EFECE6}
.ln-photo img{width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.86) contrast(.97);transition:transform 1.1s var(--ease-out)}
.ln-card:hover .ln-photo img{transform:scale(1.03)}
.ln-photo::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(31,26,18,0) 55%,rgba(31,26,18,.10) 100%);
  box-shadow:inset 0 -1px 0 rgba(31,26,18,.06)}
.ln-card-top{padding:22px 24px 0;flex:1}
.ln-card-top .ln-tag{display:block;margin-bottom:10px}
.ln-card-top h3{margin:0 0 8px;font-size:19px;font-weight:600;letter-spacing:-.022em;color:var(--dash-ink)}
.ln-card-top p{margin:0;font-size:14px;font-weight:400;line-height:1.6;color:var(--dash-ink2);max-width:42ch}
.ln-go{display:inline-flex;align-items:center;gap:8px;margin:18px 24px 22px;
  font-size:13.5px;font-weight:600;color:var(--dash-ink)}
.ln-go span[data-icon]{transition:transform .35s var(--ease-out)}
.ln-card:hover .ln-go span[data-icon]{transform:translateX(3px)}
@media(max-width:900px){.ln-card-top{padding:18px 20px 0}.ln-go{margin:16px 20px 20px}}

/* ==================================================================
   v130: product cards are the photograph — text sits on the image
   ================================================================== */
.ln-bento{gap:16px}
.ln-card{position:relative;display:block;padding:0!important;overflow:hidden;
  aspect-ratio:4/5;min-height:400px;
  background:#EFECE6!important;border:0!important;border-radius:20px!important;
  box-shadow:0 1px 2px rgba(31,26,18,.05),0 14px 36px -20px rgba(31,26,18,.22)!important;
  transition:box-shadow .55s var(--ease-out),transform .55s var(--ease-out)}
.ln-card:hover{transform:translateY(-3px);
  box-shadow:0 1px 2px rgba(31,26,18,.05),0 26px 56px -22px rgba(31,26,18,.3)!important}
.ln-photo{position:absolute;inset:0;aspect-ratio:auto;overflow:hidden}
.ln-photo img{width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.82) contrast(.98);transition:transform 1.3s var(--ease-out)}
.ln-card:hover .ln-photo img{transform:scale(1.04)}
.ln-photo::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(23,21,15,0) 34%,rgba(23,21,15,.34) 62%,rgba(23,21,15,.82) 100%)}
.ln-card-body{position:absolute;left:0;right:0;bottom:0;z-index:1;
  padding:clamp(22px,2.4vw,30px);color:#FFFFFF}
.ln-card-body h3{margin:0 0 8px;font-size:clamp(24px,2.4vw,32px);font-weight:600;
  letter-spacing:-.03em;line-height:1.05;color:#FFFFFF}
.ln-card-body p{margin:0;font-size:14px;font-weight:400;line-height:1.6;
  color:rgba(255,255,255,.78);max-width:34ch}
.ln-card .ln-go{display:inline-flex;align-items:center;gap:8px;margin:16px 0 0;
  font-size:13px;font-weight:600;letter-spacing:.01em;color:#FFFFFF;
  padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:background .3s ease,border-color .3s ease}
.ln-card:hover .ln-go{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.4)}
.ln-card:hover .ln-go span[data-icon]{transform:translateX(3px)}
.ln-go span[data-icon]{transition:transform .35s var(--ease-out)}
@media(max-width:900px){.ln-card{aspect-ratio:3/2;min-height:320px}}

/* v131: squarer product cards */
.ln-card{aspect-ratio:1/1;min-height:340px}
@media(max-width:900px){.ln-card{aspect-ratio:5/4;min-height:300px}}

/* v132: contact aside photograph */
.ct-photo{border-radius:16px;overflow:hidden;background:#EFECE6;aspect-ratio:4/3;
  box-shadow:0 1px 2px rgba(31,26,18,.05),0 12px 32px -20px rgba(31,26,18,.2)}
.ct-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(.98)}
@media(max-width:900px){.ct-photo{display:none}}

/* v133: contact aside is one composed panel, photo as its header */
.ct-panel{overflow:hidden;border-radius:18px;background:var(--dash-card);
  box-shadow:0 1px 2px rgba(31,26,18,.05),0 14px 36px -22px rgba(31,26,18,.2)}
.ct-panel .ct-photo{border-radius:0;box-shadow:none;aspect-ratio:16/10;margin:0}
.ct-panel .ct-photo::after{content:'';position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 -1px 0 rgba(31,26,18,.08)}
.ct-photo{position:relative}
.ct-panel-b{display:flex;flex-direction:column;gap:22px;padding:22px 24px 24px}
.ct-panel-b>div+div{padding-top:20px;border-top:1px solid rgba(31,26,18,.07)}
.ct-panel-b .ct-steps li:first-child{border-top:0;padding-top:2px}
@media(max-width:900px){.ct-panel .ct-photo{display:block;aspect-ratio:16/7}}

/* v134: photo becomes a slim header band on the panel */
.ct-hdr{position:relative;height:96px;overflow:hidden;background:#EFECE6}
.ct-hdr img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block;filter:saturate(.78) contrast(.97)}
.ct-hdr::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(31,26,18,0) 55%,rgba(31,26,18,.06) 100%);
  box-shadow:inset 0 -1px 0 rgba(31,26,18,.08)}
@media(max-width:900px){.ct-hdr{height:78px}}

/* v135: contact hero carries the photograph, faint behind the type */
.ct-hero{position:relative;isolation:isolate}
.ct-hero .hero-art{display:none}
.ct-hero-photo{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ct-hero-photo img{position:absolute;right:0;top:0;width:56%;height:100%;object-fit:cover;object-position:50% 46%;
  filter:saturate(.6) contrast(.96);opacity:.5;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 42%,#000 82%),linear-gradient(180deg,#000 0%,#000 62%,transparent 98%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 42%,#000 82%),linear-gradient(180deg,#000 0%,#000 62%,transparent 98%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
@media(max-width:900px){.ct-hero-photo img{width:100%;opacity:.22}}

/* v136: photo bleeds under the transparent nav — no seam at the nav boundary */
.ct-hero-photo{top:calc(-1 * var(--nav-h));height:calc(100% + var(--nav-h))}
.ct-hero-photo img{height:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 42%,#000 82%),linear-gradient(180deg,#000 0%,#000 62%,transparent 98%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 42%,#000 82%),linear-gradient(180deg,#000 0%,#000 62%,transparent 98%)}

/* v137: hero must not clip the bleeding photograph */
.ct-hero{overflow:visible}

/* v138: unclip must out-specify header.hero */
header.hero.ct-hero{overflow:visible}

/* v139: shared page-hero photograph (how it works) */
header.hero.ph-hero{overflow:visible;position:relative;isolation:isolate}
.ph-hero .hero-art{display:none}
.ph-hero-photo{position:absolute;left:0;right:0;top:calc(-1 * var(--nav-h));height:calc(100% + var(--nav-h));z-index:-1;overflow:hidden;pointer-events:none}
.ph-hero-photo img{position:absolute;right:0;top:0;width:56%;height:100%;object-fit:cover;object-position:50% 44%;
  filter:saturate(.6) contrast(.96);opacity:.5;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 42%,#000 82%),linear-gradient(180deg,#000 0%,#000 62%,transparent 98%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 42%,#000 82%),linear-gradient(180deg,#000 0%,#000 62%,transparent 98%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
@media(max-width:900px){.ph-hero-photo img{width:100%;opacity:.2}}

/* v140: hero photographs read stronger — less desaturation, more presence */
.ct-hero-photo img,.ph-hero-photo img{filter:saturate(.92) contrast(1.02);opacity:.82;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 38%,#000 74%),linear-gradient(180deg,#000 0%,#000 68%,transparent 99%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 38%,#000 74%),linear-gradient(180deg,#000 0%,#000 68%,transparent 99%)}
@media(max-width:900px){.ct-hero-photo img,.ph-hero-photo img{opacity:.3}}

/* v141: photo heroes sit tighter to the nav; Sign in reads on the photograph */
body[data-page="explore.html"] header.hero.ph-hero,
body[data-page="contact.html"] header.hero.ct-hero{padding-top:calc(var(--nav-h) + clamp(6px,1vw,14px))!important}
.nav-signin{color:var(--ink);font-weight:500}
.nav-signin:hover{color:var(--ink)}

/* v142: Sign in gets a surface so it holds over photography; heroes tighter still */
.nav-signin{padding:7px 14px;border-radius:999px;background:rgba(251,250,248,.72);
  box-shadow:inset 0 0 0 1px rgba(31,26,18,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:background .2s ease,box-shadow .2s ease}
.nav-signin:hover{background:rgba(251,250,248,.92);box-shadow:inset 0 0 0 1px rgba(31,26,18,.2)}
.nav.scrolled .nav-signin{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.nav.scrolled .nav-signin:hover{background:rgba(31,26,18,.05)}
body[data-page="explore.html"] header.hero.ph-hero,
body[data-page="contact.html"] header.hero.ct-hero{padding-top:calc(var(--nav-h) - 6px)!important}

/* v143: hero photographs read more present */
.ct-hero-photo img,.ph-hero-photo img{filter:saturate(1) contrast(1.04);opacity:.96;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 34%,#000 68%),linear-gradient(180deg,#000 0%,#000 74%,transparent 99%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 34%,#000 68%),linear-gradient(180deg,#000 0%,#000 74%,transparent 99%)}
@media(max-width:900px){.ct-hero-photo img,.ph-hero-photo img{opacity:.34}}

/* ==================================================================
   v144: home hero — photographic, editorial, bleeds under the nav
   ================================================================== */
header.ghero.gh-photo{overflow:visible;position:relative;isolation:isolate;
  padding-top:calc(var(--nav-h) + clamp(30px,4.4vw,74px))!important;
  padding-bottom:clamp(34px,4.4vw,64px)!important}
.gh-photo-wrap{position:absolute;left:0;right:0;top:calc(-1 * var(--nav-h));height:calc(100% + var(--nav-h));
  z-index:-1;overflow:hidden;pointer-events:none}
.gh-photo-wrap img{position:absolute;right:0;top:0;width:62%;height:100%;object-fit:cover;object-position:52% 46%;
  filter:saturate(.96) contrast(1.03);opacity:.96;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 26%,#000 58%),linear-gradient(180deg,#000 0%,#000 76%,transparent 99%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 26%,#000 58%),linear-gradient(180deg,#000 0%,#000 76%,transparent 99%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.gh-photo .hero-2col{grid-template-columns:minmax(0,1fr);gap:0}
.gh-left{max-width:620px}
.gh-kick{margin:0 0 16px;font-size:10.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-3)}
.gh-photo .display.hxd{font-size:clamp(32px,3.5vw,50px)!important;line-height:1.06!important;
  letter-spacing:-.036em!important;max-width:16ch;margin:0 0 24px!important}
.gh-photo .hx-side{max-width:360px;padding-top:0}
@media(max-width:900px){
  .gh-photo-wrap img{width:100%;opacity:.28}
  .gh-left{max-width:none}
}

/* v145: nav links get the same at-rest surface as Sign in, so they hold over photography */
.nav-links{background:rgba(251,250,248,.7);border-radius:999px;padding:3px 6px;
  box-shadow:inset 0 0 0 1px rgba(31,26,18,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:background .2s ease,box-shadow .2s ease}
.nav.scrolled .nav-links{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
@supports not (backdrop-filter:blur(1px)){.nav-links{background:rgba(251,250,248,.9)}}

/* v146: photo hero headline scale + prose flow for the secondary line */
.ghero.gh-photo .hero-2col .display.hxd{font-size:clamp(32px,3.5vw,50px)!important;line-height:1.06!important;
  letter-spacing:-.036em!important;font-weight:600!important;max-width:16ch;margin:0 0 24px!important}
.gh-photo .hx-note{display:block;padding:0;gap:0}
@media(max-width:900px){.ghero.gh-photo .hero-2col .display.hxd{font-size:clamp(28px,6.4vw,36px)!important}}

/* v147: photo-hero headline has no measure cap — the .mask spans define the breaks */
.ghero.gh-photo .hero-2col .display.hxd{max-width:none!important}

/* v148: new home photograph crop; email capture sits under the headline */
.gh-photo-wrap img{object-position:62% 52%}
.gh-photo .hero-2col{display:block}
.gh-photo .hx-side{max-width:360px;margin-top:0}
.gh-photo .hx-mail{margin-top:0}

/* v149: the capture aligns to the headline, not the old right column */
.gh-photo .hx-side{justify-self:start;margin-left:0;margin-right:auto}

/* v150: the photograph's lower edge dissolves over a longer, softer ramp */
.gh-photo-wrap img{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 26%,#000 58%),linear-gradient(180deg,#000 0%,#000 46%,rgba(0,0,0,.86) 62%,rgba(0,0,0,.55) 76%,rgba(0,0,0,.24) 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 26%,#000 58%),linear-gradient(180deg,#000 0%,#000 46%,rgba(0,0,0,.86) 62%,rgba(0,0,0,.55) 76%,rgba(0,0,0,.24) 88%,transparent 100%)}
.ghero.gh-photo::after{height:200px;background:linear-gradient(180deg,transparent,rgba(250,249,247,.65) 55%,var(--paper))}

/* v151: active/hover pill follows the nav-links container radius */
.nav-links a{border-radius:999px}
.nav-links>a:first-child{border-top-left-radius:999px;border-bottom-left-radius:999px}
.nav-links>a:last-child{border-top-right-radius:999px;border-bottom-right-radius:999px}

/* v152: dropdown rows follow the panel radius */
.ndp a{border-radius:12px}

/* v153: dropdown rows keep a single uniform radius */
.ndp a,.ndp>a:first-child,.ndp>a:last-child{border-radius:10px!important}

/* v154: first/last pill clears the container's own curve */
.nav-links{padding:3px 12px}

/* v155: Québec section carries the photograph */
.qc-media{position:relative;overflow:hidden;border-radius:16px;background:#EFECE6;min-height:340px}
.qc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 48%;
  filter:saturate(.94) contrast(1.02)}
.qc-media::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(31,26,18,0) 62%,rgba(31,26,18,.06) 100%);
  box-shadow:inset 0 0 0 1px rgba(31,26,18,.08)}
@media(max-width:900px){.qc-media{min-height:260px}}

/* v156: nav labels never wrap; bleeding media rounds only its inner side */
.nav-links a,.nav-signin{white-space:nowrap}
.qc-media{border-radius:16px 0 0 16px}

/* v157: hero photograph holds more of its own light */
.gh-photo-wrap img{filter:saturate(1) contrast(1.06);opacity:1;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 18%,#000 44%),linear-gradient(180deg,#000 0%,#000 54%,rgba(0,0,0,.9) 68%,rgba(0,0,0,.6) 80%,rgba(0,0,0,.26) 91%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 18%,#000 44%),linear-gradient(180deg,#000 0%,#000 54%,rgba(0,0,0,.9) 68%,rgba(0,0,0,.6) 80%,rgba(0,0,0,.26) 91%,transparent 100%)}
@media(max-width:900px){.gh-photo-wrap img{opacity:.32}}

/* v160: nav geometry untouched — hover fill just gets a full pill radius */
.nav-links a:hover,.nav-links a.on,.nav-drop>a:hover{border-radius:999px}

/* v161: hover fill reaches the container's edge via a pseudo-element — item size unchanged */
.nav-links>a,.nav-drop>a{position:relative;background:transparent!important}
.nav-links>a::before,.nav-drop>a::before{content:'';position:absolute;top:-3px;bottom:-3px;left:0;right:0;
  border-radius:999px;background:transparent;transition:background .12s ease;z-index:-1}
.nav-links>a:hover::before,.nav-links>a.on::before,.nav-drop>a:hover::before,.nav-drop>a.on::before{background:rgba(31,26,18,.055)}
.nav-links>a:first-child::before,.nav-drop:first-child>a::before{left:-12px}
.nav-links>a:last-child::before{right:-12px}
.ndp a::before{display:none}

/* v163: plans hero photograph crop + tighter top like the other photo heroes */
body[data-page="plans.html"] .ph-hero-photo img{object-position:56% 54%}
body[data-page="plans.html"] header.hero.ph-hero{padding-top:calc(var(--nav-h) - 6px)!important}

/* v164: features hero photograph */
body[data-page="features.html"] .ph-hero-photo img{object-position:58% 50%}
body[data-page="features.html"] header.hero.ph-hero{padding-top:calc(var(--nav-h) - 6px)!important}

/* v165: realty hero photograph */
body[data-page="realty.html"] .ph-hero-photo img{object-position:56% 56%}
body[data-page="realty.html"] header.hero.ph-hero{padding-top:calc(var(--nav-h) - 6px)!important}

/* v166: management hero photograph */
body[data-page="management.html"] .ph-hero-photo img{object-position:58% 54%}
body[data-page="management.html"] header.hero.ph-hero{padding-top:calc(var(--nav-h) - 6px)!important}

/* v167: plans hero crop for the boardroom photograph */
body[data-page="plans.html"] .ph-hero-photo img{object-position:62% 50%}

/* v168: sub-page photo heroes get more height so the fade has room to breathe */
body:not([data-page="index.html"]) header.hero.ph-hero,
body[data-page="contact.html"] header.hero.ct-hero{padding-bottom:clamp(96px,11vw,180px)!important}
.ph-hero-photo img,.ct-hero-photo img{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 34%,#000 68%),linear-gradient(180deg,#000 0%,#000 40%,rgba(0,0,0,.86) 58%,rgba(0,0,0,.56) 74%,rgba(0,0,0,.24) 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 34%,#000 68%),linear-gradient(180deg,#000 0%,#000 40%,rgba(0,0,0,.86) 58%,rgba(0,0,0,.56) 74%,rgba(0,0,0,.24) 88%,transparent 100%)}
header.hero.ph-hero::after,header.hero.ct-hero::after{display:none}

/* v170: the home hero loses its paper wash too, matching the sub-pages */
.ghero.gh-photo::after{display:none}

/* v171: taller home hero */
header.ghero.gh-photo{padding-top:calc(var(--nav-h) + clamp(52px,6.4vw,104px))!important;
  padding-bottom:clamp(96px,11vw,180px)!important}

/* v172: home hero grows downward — people stay level with the headline */
header.ghero.gh-photo{padding-top:calc(var(--nav-h) + clamp(30px,3.6vw,58px))!important;
  padding-bottom:clamp(150px,17vw,280px)!important}
.gh-photo-wrap img{object-position:62% 32%}

/* v173: crop lifts the group level with the headline */
.gh-photo-wrap img{object-position:62% 76%}

/* v174: home hero copy sits lower */
header.ghero.gh-photo{padding-top:calc(var(--nav-h) + clamp(70px,8.4vw,140px))!important}

/* v175: every hover pill gets the same generous width */
.nav-links>a::before,.nav-drop>a::before{left:-12px;right:-12px}
.nav-links>a:first-child::before,.nav-drop:first-child>a::before{left:-14px}
.nav-links>a:last-child::before{right:-14px}
.nav-links{gap:6px}

/* v176: gap exceeds the pill's outward reach, so fills never overlap */
.nav-links{gap:26px}
.nav-links>a::before,.nav-drop>a::before{left:-11px;right:-11px}
.nav-links>a:first-child::before,.nav-drop:first-child>a::before{left:-12px}
.nav-links>a:last-child::before{right:-12px}

/* v177: sub-page hero copy drops to sit level with the photograph's subject */
body:not([data-page="index.html"]) header.hero.ph-hero,
body[data-page="contact.html"] header.hero.ct-hero{padding-top:calc(var(--nav-h) + clamp(52px,6vw,96px))!important}

/* v178: sub-page hero copy sits lower still */
body:not([data-page="index.html"]) header.hero.ph-hero,
body[data-page="contact.html"] header.hero.ct-hero{padding-top:calc(var(--nav-h) + clamp(88px,10vw,164px))!important}

/* v179: sub-page heroes are shorter overall */
body:not([data-page="index.html"]) header.hero.ph-hero,
body[data-page="contact.html"] header.hero.ct-hero{padding-top:calc(var(--nav-h) + clamp(44px,5vw,80px))!important;
  padding-bottom:clamp(52px,6vw,96px)!important}

/* v180: sub-page heroes are compact */
body:not([data-page="index.html"]) header.hero.ph-hero,
body[data-page="contact.html"] header.hero.ct-hero{padding-top:calc(var(--nav-h) + clamp(20px,2.4vw,36px))!important;
  padding-bottom:clamp(26px,3vw,46px)!important}

/* v181: more air between a compact hero and the first content section */
body[data-page="features.html"] header.hero+.sect,
body[data-page="features.html"] header.hero+.sect-tight,
body[data-page="plans.html"] header.hero+.sect-tight,
body[data-page="plans.html"] header.hero+.sect,
body[data-page="contact.html"] header.hero+.sect-tight,
body[data-page="contact.html"] header.hero+.sect{padding-top:clamp(56px,7vw,110px)!important}

/* v182: management card crop centres the key handover */
.ln-card[href="management.html"] .ln-photo img{object-position:52% 44%}

/* v183: management card crop for the street-side handover */
.ln-card[href="management.html"] .ln-photo img{object-position:56% 48%}

/* v184: Québec panel crop for the skyline meeting */
.qc-media img{object-position:50% 46%}

/* v185: plans hero crop for the table meeting */
body[data-page="plans.html"] .ph-hero-photo img{object-position:58% 52%}

/* v186: hero copy block — real subline, two clear actions */
.gh-photo .hx-side{max-width:520px;padding-top:0}
.gh-lead{margin:0 0 26px;font-size:16px;font-weight:400;line-height:1.62;color:var(--ink-2);max-width:44ch}
.gh-cta{display:flex;flex-wrap:wrap;gap:10px}
.gh-cta .btn{font-size:13.5px;padding:11px 22px}
@media(max-width:900px){.gh-lead{font-size:15px;margin-bottom:22px}}

/* v187: realty card crop for the driveway conversation */
.ln-card[href="realty.html"] .ln-photo img{object-position:52% 50%}

/* v187: management plan notes + slim tier cards (no repeated feature lists) */
.plan-note{margin:0 0 6px;font-size:14.5px;font-weight:550;letter-spacing:-.01em;color:var(--ink)}
.plan-note-sub{margin:0 0 22px;font-size:13px;font-weight:400;line-height:1.6;color:var(--ink-3);max-width:68ch}
.tier-grid-slim .tier{padding-bottom:22px}
.tier-grid-slim .tier .who{margin-bottom:26px}
.tier-grid-slim .tier .btn{margin-top:auto}

/* v188: slim tier cards balance top and bottom */
.tier-grid-slim .tier{padding-bottom:24px}
.tier-grid-slim .tier .btn{margin-bottom:0}

/* v189: video frame — the dashboard's own elevation language */
.rv-frame{border-radius:20px;overflow:hidden;background:#FBFAF8;
  box-shadow:0 20px 52px rgba(31,26,18,.10),0 2px 6px rgba(31,26,18,.05);max-width:960px}
.rv-frame video{display:block;width:100%;height:auto}

/* v190: management tier cards carry the full capability list */
.tier-grid-mgmt{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.tier-grid-mgmt .tier{padding:22px 20px 24px}
.tier-grid-mgmt .tier ul{margin:16px 0 20px}
.tier-grid-mgmt .tier li{padding:9px 0;font-size:12.5px;line-height:1.45}
.tier-grid-mgmt .tier li b{display:block;font-size:13px;font-weight:550;color:var(--ink);margin-bottom:3px}
.tier-grid-mgmt .tier li span{display:block;font-size:12px;font-weight:400;color:var(--ink-2);line-height:1.5}
.tier-grid-mgmt .tier .btn{margin-top:auto;margin-bottom:0}
@media(max-width:1100px){.tier-grid-mgmt{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tier-grid-mgmt{grid-template-columns:1fr}}

/* v192: management cards match the Realty tier density */
.tier-grid-mgmt .tier ul{margin:16px 0 20px}
.tier-grid-mgmt .tier li{padding:8px 0;font-size:13px}
.tier-grid-mgmt .tier li b{display:block;font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:0}

/* v193: realty tier rows match the compressed management density */
.plan-set[data-set="realty"] .tier li{padding:8px 0;font-size:13px}
.plan-set[data-set="realty"] .tier li b{display:block;font-size:13px;font-weight:500;color:var(--ink-2)}

/* ==================================================================
   v194: closing CTA band — typographic, no decorative graphic
   ================================================================== */
.band-plan{display:none!important}
.cta-band{position:relative;border-top:1px solid var(--line);background:var(--paper)}
.cta-band-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,72px);
  align-items:end;padding-top:clamp(56px,6.5vw,104px);padding-bottom:clamp(56px,6.5vw,104px)}
.cta-band .h2{margin:0 0 12px;max-width:22ch}
.cta-band .lead{margin:0;max-width:38ch}
.cta-band-act{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.cta-mail{font-size:13px;font-weight:400;color:var(--ink-3);transition:color var(--dur-1) ease}
.cta-mail:hover{color:var(--ink)}
@media(max-width:820px){
  .cta-band-in{grid-template-columns:1fr;align-items:start;gap:26px}
  .cta-band .h2,.cta-band .lead{max-width:none}
}
/* section rhythm on the plans page */
body[data-page="plans.html"] .sect{padding-top:clamp(56px,6.5vw,96px);padding-bottom:clamp(56px,6.5vw,96px)}
body[data-page="plans.html"] .sect-tight{padding-bottom:clamp(20px,2.4vw,36px)}
.plan-switch{margin-bottom:clamp(24px,3vw,40px)}
.tier-note{margin-top:22px}

/* ==================================================================
   v195: Instrument Sans — sharper terminals, narrower set, more
   editorial authority than Inter. Optical corrections below.
   ================================================================== */
body{font-size:15.5px;letter-spacing:0}
.display,.h1,.h2,.h-sec,.rw-h{letter-spacing:-.026em}
.ghero .hero-2col .display.hxd,.ghero.gh-photo .hero-2col .display.hxd{letter-spacing:-.03em!important}
.eyebrow,.kick,.cx-num,.ln-tag,.tier-flag,.ct-f label,.ui-k,.dz-cap,.plx-cap{letter-spacing:.14em}
.btn{letter-spacing:-.002em}
.lead{letter-spacing:-.004em}
.ln-metrics b,.dz-stats b,.ui-grid2 b,.cx-win-b b{font-variant-numeric:tabular-nums;letter-spacing:-.02em}

/* v196: sub-page hero photographs read stronger — later, tighter left fade */
.ph-hero-photo img,.ct-hero-photo img{opacity:1;filter:saturate(1.04) contrast(1.08);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 22%,#000 48%),linear-gradient(180deg,#000 0%,#000 76%,rgba(0,0,0,.55) 90%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 22%,#000 48%),linear-gradient(180deg,#000 0%,#000 76%,rgba(0,0,0,.55) 90%,transparent 100%)}
.ph-hero-photo,.ct-hero-photo{opacity:1}
.ph-hero-photo img{width:60%}
@media(max-width:1100px){.ph-hero-photo img,.ct-hero-photo img{opacity:.85}}
@media(max-width:900px){.ph-hero-photo img,.ct-hero-photo img{opacity:.34}}

/* v198: home hero crop centres the meeting at the marble table */
.gh-photo-wrap img{object-position:58% 56%}

/* v199: language toggle */
.nav-lang{display:inline-flex;align-items:center;padding:2px;border-radius:999px;background:rgba(31,26,18,.05);margin-right:2px}
.nav-lang .lang-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;width:76px;height:40px;padding:0;border-radius:999px;background:transparent;color:var(--ink-3);box-shadow:none;overflow:hidden;isolation:isolate}
.lang-switch-thumb{position:absolute;z-index:0;inset:0 auto 0 0;width:50%;border-radius:999px;background:var(--paper);box-shadow:0 1px 3px rgba(31,26,18,.12);transition:transform var(--dur-2) var(--ease-std),box-shadow var(--dur-1) ease}
.lang-switch.is-fr .lang-switch-thumb{transform:translateX(100%)}
.lang-switch-label{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:600;letter-spacing:.04em;transition:color var(--dur-2) ease}
.lang-switch.is-en .lang-switch-en,.lang-switch.is-fr .lang-switch-fr{color:var(--ink)}
.lang-switch.is-en .lang-switch-fr,.lang-switch.is-fr .lang-switch-en{color:var(--ink-3)}
.nav-lang .lang-switch:hover .lang-switch-thumb{box-shadow:0 2px 7px rgba(31,26,18,.16)}
.nav-lang .lang-switch:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.nav-lang .lang-switch::before{display:none}
.m-lang{padding:14px 0 4px;border-top:1px solid var(--line-2);margin-top:10px}
.m-lang .nav-lang .lang-switch{width:84px}
.m-lang .lang-switch-label{font-size:13px}
/* breakpoint owned by v200 */

/* ==================================================================
   v200: nav fits the widest rendered row (French labels + toggle)
   The desktop row measures ~1105px in FR, so the burger has to take
   over well above the old 900px breakpoint.
   ================================================================== */
@media (max-width:1180px){
  .nav-links,.nav-signin,.nav-right .nav-lang{display:none!important}
  .nav-burger{display:flex!important}
  .nav-in{gap:16px;justify-content:space-between}
  .nav-right{gap:10px}
  .m-lang .nav-lang{display:inline-flex!important}
}
@media (max-width:1320px){
  .nav-in{gap:22px}
  .nav-links{gap:18px}
  .nav-signin{padding:7px 11px}
}
@media (max-width:560px){
  .nav .btn-cta{padding:8px 13px!important;font-size:12.5px}
  .nav-in{gap:10px}
}

/* ==================================================================
   v202: pill reach is always less than half the gap, at every width
   ================================================================== */
.nav-links{gap:26px}
.nav-links>a::before,.nav-drop>a::before{left:-10px;right:-10px}
.nav-links>a:first-child::before,.nav-drop:first-child>a::before{left:-12px}
.nav-links>a:last-child::before{right:-12px}
@media (max-width:1320px){.nav-links{gap:26px}}
/* --- FR mobile panel: fits, scrolls, and never clips the CTA --- */
.mnav{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;
  padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.mnav a{padding:12px 2px;font-size:15.5px;line-height:1.3}
.mnav .m-lang{padding:16px 0 6px}
.mnav .m-cta{margin-top:16px}
.mnav .m-cta .btn{padding:13px 20px;font-size:14px}
@media (max-width:400px){.mnav a{font-size:15px;padding:11px 2px}}

/* v203: explore hero crop centres the agent at the desk */
body[data-page="explore.html"] .ph-hero-photo img{object-position:56% 54%}

/* v204: explore hero crop for the floor-plan review */
body[data-page="explore.html"] .ph-hero-photo img{object-position:64% 52%}

/* ==================================================================
   v205: closing CTA — compact, editorial, one clear action
   Was: oversized display type on a wide two-column band.
   Now: a tight measure, a rule, and the action inline with the copy.
   ================================================================== */
.cta-band{border-top:1px solid var(--line)}
.cta-band-in{grid-template-columns:minmax(0,1fr) auto;gap:clamp(28px,5vw,80px);
  align-items:end;
  padding-top:clamp(44px,4.6vw,68px);padding-bottom:clamp(44px,4.6vw,68px)}
.cta-band .h2{font-size:clamp(21px,1.9vw,28px);line-height:1.2;letter-spacing:-.02em;
  margin:0 0 8px;max-width:26ch}
.cta-band .lead{font-size:14.5px;line-height:1.6;max-width:42ch;color:var(--ink-2)}
.cta-band-act{flex-direction:row;align-items:center;gap:18px;padding-bottom:2px}
.cta-band .btn-lg{padding:11px 22px;font-size:13.5px}
.cta-mail{font-size:12.5px;white-space:nowrap}
@media(max-width:820px){
  .cta-band-in{grid-template-columns:1fr;align-items:start;gap:22px}
  .cta-band .h2,.cta-band .lead{max-width:none}
  .cta-band-act{flex-wrap:wrap;gap:14px}
}

/* ==================================================================
   v206: band height governed in ONE place; readable secondary link
   ================================================================== */
.cta-band{padding:0!important;color:var(--ink)}
.cta-band-in{padding-top:clamp(46px,4.8vw,72px)!important;padding-bottom:clamp(46px,4.8vw,72px)!important}
.cta-mail{font-size:13px;color:var(--ink-2)}
.cta-mail:hover{color:var(--ink)}

/* v207: the language toggle reads on photography, not just on paper */
.nav-lang{background:rgba(251,250,248,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:inset 0 0 0 1px rgba(31,26,18,.10)}
.nav.scrolled .nav-lang{background:rgba(31,26,18,.05);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.m-lang .nav-lang{background:rgba(31,26,18,.05);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}

/* v208: features hero crop centres the handshake */
body[data-page="features.html"] .ph-hero-photo img{object-position:60% 50%}

/* v209: align the three desktop header controls to one visual weight */
.nav-in{--nav-control-height:40px}
.nav-signin,.nav .btn-cta,.nav-lang{height:var(--nav-control-height);box-sizing:border-box}
.nav-signin{display:inline-flex;align-items:center;padding:0 14px;line-height:1}
.nav .btn-cta{padding-top:0!important;padding-bottom:0!important;line-height:1}
.nav-lang .lang-switch{height:100%}

/* ==================================================================
   v209: consent notice — quiet card, bottom left, Law 25 compliant
   (refuse is as prominent as accept; nothing fires before a choice)
   ================================================================== */
.ckb{position:fixed;right:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);z-index:80;width:min(384px,calc(100vw - 28px));
  background:var(--paper);border-radius:14px;padding:18px 20px 16px;
  box-shadow:0 1px 2px rgba(31,26,18,.05),0 18px 44px rgba(31,26,18,.13),inset 0 0 0 1px rgba(31,26,18,.10);
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity .42s var(--ease-std),transform .42s var(--ease-std)}
.ckb.in{opacity:1;transform:none;pointer-events:auto}
.ckb h4{margin:0 0 7px;font-size:13.5px;font-weight:600;letter-spacing:-.008em;color:var(--ink)}
.ckb p{margin:0 0 14px;font-size:12.5px;font-weight:400;line-height:1.6;color:var(--ink-2)}
.ckb-row{display:flex;align-items:center;gap:8px}
.ckb .btn{font-size:12.5px;padding:8px 16px}
.ckb-more{margin-left:auto;font-size:12px;color:var(--ink-3);transition:color var(--dur-1) ease}
.ckb-more:hover{color:var(--ink)}
@media(max-width:520px){.ckb{left:12px;right:12px;width:auto;bottom:12px;padding:16px 17px 14px}
  .ckb-row{flex-wrap:wrap}.ckb-more{margin-left:0;width:100%;padding-top:4px}}
@media (prefers-reduced-motion:reduce){.ckb{transition:opacity .2s ease}.ckb,.ckb.in{transform:none}}

/* v210: the consent card yields to the mobile menu */
body.mnav-lock .ckb{opacity:0;pointer-events:none;transition:opacity .2s ease}

/* ==================================================================
   v211: legal document pages (privacy, terms, security)
   ================================================================== */
.legal{max-width:760px}
.legal h2{font-size:clamp(18px,1.6vw,22px);font-weight:600;letter-spacing:-.015em;color:var(--ink);margin:46px 0 12px;scroll-margin-top:96px}
.legal h3{font-size:15px;font-weight:600;letter-spacing:-.008em;color:var(--ink);margin:28px 0 8px}
.legal p{font-size:14px;font-weight:400;line-height:1.75;color:var(--ink-2);margin:0 0 14px}
.legal ul,.legal ol{margin:0 0 16px;padding-left:22px}
.legal li{font-size:14px;font-weight:400;line-height:1.7;color:var(--ink-2);margin:6px 0}
.legal strong{font-weight:600;color:var(--ink)}
.legal a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
.legal a:hover{text-decoration-color:var(--ink)}
.legal code{font-size:12px;background:rgba(31,26,18,.055);border-radius:5px;padding:1px 6px;color:var(--ink-2);white-space:nowrap}
.legal hr{border:0;border-top:1px solid var(--line-2);margin:38px 0}
.lg-tw{overflow-x:auto;margin:18px 0 24px}
.legal table{width:100%;border-collapse:collapse;font-size:12.5px}
.legal th{text-align:left;font-weight:600;color:var(--ink);padding:8px 12px;border-bottom:1px solid var(--line-3);white-space:nowrap}
.legal td{padding:9px 12px;border-top:1px solid var(--line-2);color:var(--ink-2);line-height:1.55;vertical-align:top;min-width:150px}
.legal td code{white-space:normal}
.lg-note{background:rgba(111,103,96,.07);border-radius:10px;padding:13px 16px;font-size:13px;line-height:1.6;color:var(--ink-2);margin:0 0 30px}
.foot-legal-links{display:inline-flex;gap:14px;margin-left:14px}
.foot-legal-links a,.foot-consent{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-3);transition:color var(--dur-1) ease}
.foot-consent{appearance:none;border:0;background:none;padding:0;font:inherit;cursor:pointer}
.foot-legal-links a:hover,.foot-consent:hover{color:var(--ink)}
.foot-consent:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:3px}

/* v212: long URLs and emails in legal text never force horizontal overflow on mobile */
.legal a{overflow-wrap:anywhere}
.legal td{overflow-wrap:break-word}

/* ==================================================================
   v213: scroll-jank causes removed (no visual change)

   1. [data-rv] carried will-change:opacity,transform permanently. With
      40+ reveal elements per page that pins 40+ compositor layers for
      the life of the page, long after each reveal has finished — a
      known cause of stutter on fast scroll. Keep the hint only while
      an element is still waiting to animate, drop it once settled.
   2. .grainy declared will-change:opacity but its opacity is never
      animated, so the promotion bought nothing and cost memory on
      every card that carries a grain overlay.
   ================================================================== */
[data-rv].in{will-change:auto}
.grainy{will-change:auto!important}

/* ==================================================================
   v214: hero copy stays clear of the photograph

   The photo layer is 60% wide, right-aligned, and its mask makes it
   opaque from ~34% into itself — so it becomes visible at roughly 60%
   of the hero width. The lead's inline max-width:560px let its last
   line run past that line and sit on the image. Cap the copy measure
   to the clear zone instead. Inline styles need !important to lose.
   ================================================================== */
header.hero.ph-hero .lead,
header.hero.ct-hero .lead{max-width:46ch!important}
header.hero.ph-hero>.wrap>div,
header.hero.ct-hero>.wrap>div{max-width:min(680px,56%)!important}
@media (max-width:900px){
  header.hero.ph-hero .lead,
  header.hero.ct-hero .lead,
  header.hero.ph-hero>.wrap>div,
  header.hero.ct-hero>.wrap>div{max-width:none!important}
}

/* ==================================================================
   v215: contact page inline scheduling
   ================================================================== */
.ct-f input,.ct-f select{min-height:44px}
.ct-panel-calendar{background:var(--paper);box-shadow:0 1px 2px rgba(31,26,18,.05),0 14px 36px -22px rgba(31,26,18,.2)}
.ct-panel-calendar>.ct-panel-b:first-child{padding-bottom:18px}
.ct-panel-b-tail{border-top:1px solid rgba(31,26,18,.08)}
.calendly-inline-host{position:relative;width:100%;height:720px;min-width:0;overflow:hidden;background:var(--paper);scroll-margin-top:calc(var(--nav-h) + 20px)}
.calendly-inline-host::before{content:attr(data-loading);position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;padding:24px;color:var(--ink-3);font-size:13px;font-weight:400;text-align:center;transition:opacity var(--dur-2) ease;pointer-events:none}
.calendly-inline-host.is-ready::before{opacity:0}
.calendly-inline-host iframe{position:relative;z-index:1;width:100%!important;height:100%!important;border:0}
.calendly-inline-host:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.calendly-inline-host.is-failed{height:auto;min-height:200px;display:flex;align-items:center;justify-content:center;padding:24px}
.calendly-inline-fallback{position:relative;z-index:1;text-align:center}
.calendly-inline-host.is-idle{height:auto;min-height:240px;display:flex;align-items:center;justify-content:center;padding:24px}
.calendly-inline-host.is-idle::before{opacity:0}
.calendly-inline-activate{position:relative;z-index:1}
.calendly-inline-host.demo-calendly{height:min(800px,calc(100vh - var(--demo-modal-spacing) - var(--demo-modal-spacing)));height:min(800px,calc(100dvh - var(--demo-modal-spacing) - var(--demo-modal-spacing)));min-height:min(700px,calc(100vh - var(--demo-modal-spacing) - var(--demo-modal-spacing)));min-height:min(700px,calc(100dvh - var(--demo-modal-spacing) - var(--demo-modal-spacing)));max-height:calc(100vh - var(--demo-modal-spacing) - var(--demo-modal-spacing));max-height:calc(100dvh - var(--demo-modal-spacing) - var(--demo-modal-spacing));border:0;border-radius:13px;background:var(--paper)}
.ct-calendar-noscript{padding:0 24px 24px;margin:0}
@media(max-width:900px){
  body[data-page="contact.html"] .ct-aside{order:-1}
  .calendly-inline-host{height:730px}
}
@media(max-width:560px){
  .calendly-inline-host{height:700px}
  .ct-panel-calendar>.ct-panel-b{padding-left:20px;padding-right:20px}
}
@media(max-width:700px){
  .dov{padding:0}
  .dcard.dcard-calendar{width:100%;max-width:none;height:100vh;height:100dvh;border:0;border-radius:0}
  .dcard-calendar .dx{top:12px;right:12px;width:40px;height:40px;font-size:26px}
  .calendly-inline-host.demo-calendly{height:100%;min-height:0;max-height:none;border-radius:0}
}

/* ==================================================================
   Support guide — public, task-focused help surface
   ================================================================== */
.support-page{background:var(--paper);min-height:100vh}
.support-page strong{font-weight:600;color:var(--ink)}
.support-page a:focus-visible,.support-page button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.support-nav{position:sticky;top:0;z-index:60;padding:clamp(10px,1.4vw,18px) clamp(10px,1.4vw,18px) 0;pointer-events:none}
.support-nav-in{height:var(--nav-h);display:flex;align-items:center;gap:24px;padding:0 clamp(16px,2.4vw,28px);border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow);pointer-events:auto}
.support-brand{display:inline-flex;align-items:center;gap:14px;min-height:44px}
.support-brand img{width:auto;height:22px}
.support-brand>span{width:1px;height:22px;background:var(--line-3)}
.support-brand strong{font-size:14px;letter-spacing:-.01em}
.support-nav-links{margin-left:auto;display:flex;align-items:center;gap:20px}
.support-nav-links>a:not(.btn){display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--ink-2);transition:color .25s ease}
.support-nav-links>a:not(.btn):hover{color:var(--ink)}
.support-hero{padding:clamp(64px,8vw,116px) 0 clamp(44px,5.5vw,76px)}
.support-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(42px,7vw,100px);align-items:end}
.support-hero-copy{max-width:760px}
.support-hero-copy>.eyebrow{margin-bottom:18px}
.support-hero-copy h1{max-width:12ch;margin:0;font-size:clamp(42px,6vw,76px);font-weight:600;letter-spacing:-.048em;line-height:1.01;text-wrap:balance}
.support-hero-copy>.lead{max-width:590px;margin-top:24px}
.support-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:30px}
.support-preflight{padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}
.support-card-label{margin:0 0 10px;font-size:12px;font-weight:500;letter-spacing:.055em;text-transform:uppercase;color:var(--ink-3)}
.support-preflight h2{margin:0 0 20px;font-size:21px;font-weight:600;letter-spacing:-.025em}
.support-preflight ul{display:flex;flex-direction:column;gap:13px;margin:0;padding:0;list-style:none}
.support-preflight li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--ink-2)}
.support-preflight li>[data-icon]{margin-top:2px;color:var(--ink);flex:0 0 auto}
.support-time{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line-2);font-size:12.5px;color:var(--ink-3)}
.support-tour-section{padding:0 0 clamp(72px,9vw,128px)}
.support-tour-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow-lg)}
.support-tour-preview{position:relative;overflow:hidden;aspect-ratio:2/1;background:var(--paper-deep)}
.support-tour-preview img{width:100%;height:100%;object-fit:cover}
.support-tour-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:clamp(24px,3.2vw,38px)}
.support-tour-caption h2{margin:0 0 8px;font-size:clamp(22px,2.2vw,30px);font-weight:600;letter-spacing:-.03em;line-height:1.18}
.support-tour-caption p:not(.support-card-label){max-width:690px;margin:0;font-size:14.5px;line-height:1.65;color:var(--ink-2)}
.support-tour-dialog{width:min(1200px,calc(100vw - 32px));max-width:none;height:min(760px,calc(100dvh - 32px));max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);box-shadow:var(--shadow-lg)}
.support-tour-dialog::backdrop{background:rgba(8,10,14,.72);backdrop-filter:blur(6px)}
.support-tour-dialog-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}
.support-tour-dialog-header{display:flex;align-items:center;gap:20px;min-height:64px;padding:10px 10px 10px 22px;border-bottom:1px solid var(--line);background:var(--card)}
.support-tour-dialog-header h2{min-width:0;margin:0;font-size:15px;font-weight:600;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.support-tour-dialog-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.support-tour-dialog-actions>a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;font-size:13px;color:var(--ink-2)}
.support-tour-dialog-actions>a:hover{color:var(--ink)}
.support-tour-dialog-actions>button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:25px;font-weight:300;line-height:1;cursor:pointer}
.support-tour-dialog-actions>button:hover{border-color:var(--line-3);background:var(--paper-deep)}
.support-tour-frame-wrap{min-height:0;background:var(--paper-deep)}
.support-tour-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:var(--paper)}
.support-noscript{margin:18px 0 0;font-size:14px;color:var(--ink-2)}
.support-guide-section{padding:clamp(68px,8vw,116px) 0 clamp(80px,10vw,148px);border-top:1px solid var(--line);background:var(--card)}
.support-guide-heading{max-width:720px;margin-bottom:clamp(44px,6vw,78px)}
.support-guide-heading>.eyebrow{margin-bottom:16px}
.support-guide-heading h2{margin:0;font-size:clamp(32px,4.3vw,54px);font-weight:600;letter-spacing:-.042em;line-height:1.06;text-wrap:balance}
.support-guide-heading>.lead{margin-top:18px;max-width:620px}
.support-guide-layout{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,790px);gap:clamp(48px,7vw,100px);align-items:start}
.support-guide-index{position:sticky;top:calc(var(--nav-h) + 42px);padding:22px;border-radius:12px;background:var(--paper)}
.support-guide-index ol{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;counter-reset:support-index}
.support-guide-index li{counter-increment:support-index}
.support-guide-index li a{display:grid;grid-template-columns:22px 1fr;gap:4px;align-items:start;padding:8px 0;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.support-guide-index li a::before{content:counter(support-index,decimal-leading-zero);font-size:10.5px;font-weight:500;letter-spacing:.02em;color:var(--ink-3);padding-top:2px}
.support-guide-index li a:hover{color:var(--ink)}
.support-guide-index>p:last-child{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.6;color:var(--ink-3)}
.support-guide-index>p:last-child a{text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
.support-guide-content{min-width:0}
.support-step-group{scroll-margin-top:calc(var(--nav-h) + 56px)}
.support-step-group+.support-step-group{margin-top:clamp(64px,8vw,104px)}
.support-step-group-heading{padding-bottom:20px;border-bottom:1px solid var(--line-3)}
.support-step-group-heading h3{margin:0;font-size:clamp(24px,2.8vw,34px);font-weight:600;letter-spacing:-.035em;line-height:1.15}
.support-steps{margin:0;padding:0;list-style:none}
.support-steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:20px;padding:25px 0;border-bottom:1px solid var(--line-2)}
.support-step-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line-3);border-radius:999px;font-size:12.5px;font-weight:500;color:var(--ink)}
.support-steps h4{margin:1px 0 7px;font-size:16px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.support-steps p{margin:0;max-width:670px;font-size:14.5px;line-height:1.68;color:var(--ink-2);text-wrap:pretty}
.support-security-note{display:grid;gap:4px;margin:24px 0 4px;padding:16px 18px;border-radius:10px;background:var(--paper);font-size:13px;line-height:1.55}
.support-security-note span{color:var(--ink-2)}
.support-help{padding:clamp(68px,8vw,108px) 0;background:var(--paper-deep)}
.support-help-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
.support-help h2{margin:0 0 10px;font-size:clamp(27px,3.3vw,42px);font-weight:600;letter-spacing:-.037em;line-height:1.1}
.support-help p:not(.support-card-label){max-width:620px;margin:0;font-size:14.5px;line-height:1.65;color:var(--ink-2)}
.support-footer{border-top:1px solid var(--line);background:var(--paper-deep)}
.support-footer-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;font-size:12.5px;color:var(--ink-3)}
.support-footer nav{display:flex;align-items:center;gap:18px}
.support-footer a,.support-footer button{display:inline-flex;align-items:center;min-height:44px;border:0;background:none;padding:0;font:inherit;color:var(--ink-3);cursor:pointer;transition:color .25s ease}
.support-footer a:hover,.support-footer button:hover{color:var(--ink)}
@media(max-width:900px){
  .support-hero-grid{grid-template-columns:1fr;align-items:start}
  .support-preflight{max-width:620px}
  .support-guide-layout{grid-template-columns:1fr}
  .support-guide-index{position:static;display:none}
}
@media(max-width:700px){
  .support-nav-links>a:not(.btn){display:none}
  .support-nav-links{gap:8px}
  .support-tour-caption,.support-help-in{grid-template-columns:1fr;align-items:start}
  .support-tour-caption .btn,.support-help-in>.btn{justify-self:start}
  .support-tour-dialog{width:100vw;height:100dvh;border:0;border-radius:0}
  .support-tour-dialog-header{min-height:58px;padding-left:14px}
  .support-tour-dialog-header h2{font-size:13px}
  .support-tour-dialog-actions>a{display:none}
  .support-footer-in{align-items:flex-start;flex-direction:column;padding:24px 0}
  .support-footer nav{flex-wrap:wrap;gap:4px 16px}
}
@media(max-width:520px){
  .support-nav{padding-left:8px;padding-right:8px}
  .support-nav-in{padding:0 12px}
  .support-brand{gap:9px}
  .support-brand img{height:19px}
  .support-brand strong{font-size:13px}
  .support-nav .btn{padding:9px 12px;font-size:12.5px}
  .support-hero{padding-top:54px}
  .support-hero-copy h1{font-size:clamp(38px,12vw,52px)}
  .support-hero-actions{align-items:stretch;flex-direction:column}
  .support-hero-actions .btn{width:100%}
  .support-preflight{padding:23px 20px}
  .support-tour-card{border-radius:12px}
  .support-tour-caption{padding:22px 20px}
  .support-tour-caption .btn{width:100%}
  .support-steps li{grid-template-columns:38px minmax(0,1fr);gap:14px;padding:22px 0}
  .support-step-number{width:36px;height:36px}
}
