/* NaltWeb — generated from site-v8.html by tools/build-assets.php. Do not edit; edit the source and rebuild. */
/* Self-hosted (SIL Open Font License): Geist, Geist Mono, Instrument Serif. No requests to Google. */
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/geist-normal-latin-ext-0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/geist-normal-latin-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/geist-normal-latin-ext-0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/geist-normal-latin-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/geist-normal-latin-ext-0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/geist-normal-latin-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-normal-latin-ext-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-normal-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-normal-latin-ext-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-normal-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/instrument-serif-italic-latin-ext-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/instrument-serif-italic-latin-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/instrument-serif-normal-latin-ext-6.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/instrument-serif-normal-latin-7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{--blue:#0297DE;--orange:#FC734D;--black:#02070A}
*{box-sizing:border-box;margin:0;padding:0}

/* ============ THEME TOKENS ============ */
.t-dark{--bg:#02070A;--ink:#F3F5F7;--ink2:rgba(243,245,247,.7);--ink3:rgba(243,245,247,.42);--line:rgba(255,255,255,.12);
  --pill:rgba(10,18,26,.5);--pillb:rgba(255,255,255,.13);--seg:rgba(255,255,255,.07);
  --cta:#F3F5F7;--ctaink:#02070A;--bz:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.05) 70%);--bzb:rgba(255,255,255,.26);
  --bzs:0 30px 80px rgba(0,0,0,.55);color-scheme:dark}
.t-light{--bg:#F4F2EE;--ink:#02070A;--ink2:rgba(2,7,10,.66);--ink3:rgba(2,7,10,.42);--line:rgba(2,7,10,.1);
  --pill:rgba(255,255,255,.55);--pillb:rgba(2,7,10,.08);--seg:rgba(2,7,10,.05);
  --cta:#02070A;--ctaink:#F4F2EE;--bz:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.6));--bzb:rgba(2,7,10,.07);
  --bzs:0 30px 70px rgba(30,45,70,.18)}

.hero,.m{position:relative;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Geist,sans-serif}
.hero{width:1440px;height:900px}
.m{width:393px;height:852px}

/* ============ LIGHTING ============ */
.lx,.lx i{position:absolute;inset:0;pointer-events:none}
.lx i{display:block}
.t-dark .l-base{background:
  radial-gradient(ellipse 36% 60% at 50% 30%,rgba(2,151,222,.62),rgba(2,151,222,.2) 45%,transparent 75%),
  radial-gradient(ellipse 75% 55% at 50% 48%,rgba(16,44,128,.55),transparent 72%)}
.l-streaks{-webkit-mask-image:radial-gradient(ellipse 34% 72% at 50% 26%,#000 12%,transparent 76%);mask-image:radial-gradient(ellipse 34% 72% at 50% 26%,#000 12%,transparent 76%)}
.t-dark .l-streaks{mix-blend-mode:screen;background:
  repeating-linear-gradient(90deg,transparent 0 5px,rgba(150,215,255,.2) 5px 6px,transparent 6px 11px),
  repeating-linear-gradient(90deg,transparent 0 13px,rgba(2,151,222,.38) 13px 15px,transparent 15px 23px),
  repeating-linear-gradient(90deg,transparent 0 31px,rgba(170,225,255,.22) 31px 34px,transparent 34px 47px),
  linear-gradient(90deg,transparent 30%,rgba(150,215,255,.22) 42%,transparent 46%,rgba(170,225,255,.3) 50%,transparent 55%,rgba(150,215,255,.18) 61%,transparent 70%)}
.l-core{left:50%!important;width:24%;transform:translateX(-50%);height:78%;filter:blur(14px);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 58%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 58%,transparent)}
.t-dark .l-core{background:linear-gradient(90deg,transparent,rgba(170,225,255,.32) 50%,transparent)}
.t-dark .l-warm{mix-blend-mode:screen;background:
  radial-gradient(ellipse 34% 42% at 50% 92%,rgba(252,115,77,.95),rgba(252,115,77,.6) 34%,rgba(252,115,77,.18) 64%,transparent 82%),
  radial-gradient(ellipse 14% 26% at 50% 66%,rgba(255,196,176,.4),transparent 72%),
  radial-gradient(ellipse 34% 40% at 0% 104%,rgba(252,115,77,.5),transparent 72%),
  radial-gradient(ellipse 34% 40% at 100% 104%,rgba(252,115,77,.5),transparent 72%)}
.t-dark .l-vig{background:
  radial-gradient(1.2px 1.2px at 12% 18%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 22% 41%,rgba(255,255,255,.5),transparent),
  radial-gradient(1px 1px at 81% 22%,rgba(255,255,255,.6),transparent),radial-gradient(1.2px 1.2px at 91% 37%,rgba(255,255,255,.5),transparent),
  radial-gradient(1px 1px at 70% 9%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 6% 52%,rgba(255,255,255,.4),transparent),
  radial-gradient(ellipse 85% 85% at 50% 50%,transparent 55%,rgba(2,7,10,.7) 100%),
  linear-gradient(180deg,rgba(2,7,10,.7),transparent 16%)}
.l-warm{z-index:1}
.l-grain{z-index:2;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:.09;mix-blend-mode:overlay}

/* light-mode lighting: daylight haze, not inverted */
.t-light .l-base{background:
  radial-gradient(ellipse 36% 62% at 50% 28%,rgba(2,151,222,.30),rgba(2,151,222,.1) 45%,transparent 75%),
  radial-gradient(ellipse 80% 60% at 50% 45%,rgba(190,215,235,.35),transparent 75%)}
.t-light .l-streaks{background:
  repeating-linear-gradient(90deg,transparent 0 5px,rgba(255,255,255,.4) 5px 6px,transparent 6px 11px),
  repeating-linear-gradient(90deg,transparent 0 13px,rgba(2,151,222,.13) 13px 15px,transparent 15px 23px),
  repeating-linear-gradient(90deg,transparent 0 31px,rgba(255,255,255,.35) 31px 34px,transparent 34px 47px)}
.t-light .l-core{background:linear-gradient(90deg,transparent,rgba(255,255,255,.85) 50%,transparent)}
.t-light .l-warm{background:
  radial-gradient(ellipse 30% 36% at 50% 104%,rgba(252,115,77,.62),rgba(252,115,77,.25) 38%,transparent 72%),
  radial-gradient(ellipse 26% 28% at 0% 104%,rgba(252,115,77,.18),transparent 70%),
  radial-gradient(ellipse 26% 28% at 100% 104%,rgba(252,115,77,.18),transparent 70%)}
.t-light .l-vig{background:radial-gradient(ellipse 90% 80% at 50% 40%,transparent 55%,rgba(222,218,210,.55) 100%)}
.t-light .l-grain{mix-blend-mode:multiply;opacity:.06}

/* ============ LOGO (exact asset; blend only hides the baked-in background) ============ */
.logo{display:block;height:28px;width:auto;clip-path:inset(.6%)}
.t-dark .logo{mix-blend-mode:screen}
.t-light .logo{mix-blend-mode:multiply}

/* ============ NAV ============ */
.nav{position:absolute;top:28px;left:48px;right:48px;height:52px;display:flex;align-items:center;justify-content:space-between}
.pill{display:flex;align-items:center;gap:6px;padding:6px;border-radius:99px;background:var(--pill);border:1px solid var(--pillb);
  backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 30px rgba(0,0,0,.18)}
.nav .pill{position:absolute;left:50%;transform:translateX(-50%)}
.pb{height:40px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:99px;color:var(--ink);font:500 14px Geist}
.pb.menu{padding:0 18px 0 14px}
.pb.ic{width:40px;border:1px solid var(--line)}
.pb svg{width:17px;height:17px}
.seg{display:flex;padding:3px;border-radius:99px;background:var(--seg);font:500 12px 'Geist Mono',monospace}
.seg span{height:34px;min-width:40px;display:flex;align-items:center;justify-content:center;border-radius:99px;color:var(--ink3)}
.seg span.on{background:var(--ink);color:var(--bg)}
.vr{width:1px;height:20px;background:var(--line)}
.cta{display:flex;align-items:center;gap:12px;height:46px;padding:0 6px 0 22px;border-radius:99px;background:var(--cta);color:var(--ctaink);font:600 14px Geist;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.cta i,.mcta i{width:34px;height:34px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;color:#fff}
.cta svg,.mcta svg{width:15px;height:15px}

/* ============ HERO COPY ============ */
.copy{position:absolute;z-index:5;top:128px;left:0;right:0;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 12px 'Geist Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 10px var(--blue)}
h1{font:400 112px/.94 'Instrument Serif',serif;letter-spacing:-.025em;margin-top:20px}
.t-dark h1{text-shadow:0 0 60px rgba(2,151,222,.25)}
h1 em,.mh em{font-style:italic;letter-spacing:-.015em}
.ln{display:block;overflow:hidden;padding:0 .1em .1em;margin-bottom:-.1em}
.ln>span{display:inline-block}
.sub{max-width:540px;margin:24px auto 0;font:400 18px/1.55 Geist;color:var(--ink2)}
.orb{position:relative;width:116px;height:116px;margin:30px auto 0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;
  font:500 14px/1.2 Geist;color:#fff;text-align:center;
  background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.42),rgba(255,255,255,.1) 62%),rgba(252,115,77,.12);
  border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 0 0 11px rgba(255,255,255,.04),0 0 0 12px rgba(255,255,255,.16),0 24px 60px rgba(252,115,77,.35),inset 0 1px 0 rgba(255,255,255,.6)}
.t-light .orb{color:var(--black);background:radial-gradient(circle at 50% 30%,#fff,rgba(255,255,255,.7) 65%);border-color:rgba(2,7,10,.08);
  box-shadow:0 0 0 11px rgba(255,255,255,.35),0 0 0 12px rgba(2,7,10,.06),0 24px 50px rgba(252,115,77,.28)}
.orb svg{width:14px;height:14px;margin-top:4px}
.side{position:absolute;z-index:5;top:400px;font:500 11px/1.7 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.side.l{left:48px}.side.r{right:48px;text-align:right}
.side b{display:block;color:var(--ink2);font-weight:500}
.side.r::after{content:"";display:block;width:1px;height:44px;background:linear-gradient(var(--ink3),transparent);margin:10px 0 0 auto}

/* ============ PANELS (desktop) ============ */
.pnl{position:absolute;z-index:4}
.tilt{position:relative}
.plbl{position:absolute;top:-26px;left:6px;display:flex;align-items:center;gap:8px;font:500 11px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}
.plbl::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.bz{padding:10px;border-radius:24px;background:var(--bz);border:1px solid var(--bzb);box-shadow:var(--bzs),inset 0 1px 0 rgba(255,255,255,.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.scr{border-radius:15px;overflow:hidden;position:relative;height:340px}
.p1{left:64px;top:662px;width:410px}.p1 .tilt{transform:rotate(-5deg);transform-origin:100% 100%}
.p2{left:500px;top:650px;width:440px}
.p3{right:64px;top:662px;width:410px}.p3 .tilt{transform:rotate(5deg);transform-origin:0 100%}

/* --- web panel: hotel site --- */
.pw{height:100%;background:#0b1622;display:flex;flex-direction:column}
.bar{height:30px;flex:none;display:flex;align-items:center;gap:6px;padding:0 12px;background:#0e1b27;border-bottom:1px solid rgba(255,255,255,.06)}
.bar>i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18)}
.url{margin:0 auto;transform:translateX(-14px);display:flex;gap:6px;align-items:center;font:500 10px 'Geist Mono',monospace;color:rgba(255,255,255,.6);background:rgba(255,255,255,.06);padding:4px 14px;border-radius:6px}
.url svg{width:9px;height:9px}
.site{flex:1;position:relative;overflow:hidden}
.site>svg{position:absolute;inset:0;width:100%;height:100%}
.snav{position:absolute;top:14px;left:16px;right:14px;display:flex;align-items:center;gap:14px;color:#fff;font-size:9.5px}
.snav b{font:600 10px 'Geist Mono',monospace;letter-spacing:.24em;margin-right:auto}
.snav span{opacity:.78}
.snav em{font-style:normal;background:#fff;color:#0b1622;padding:5px 11px;border-radius:99px;font-weight:600}
.stitle{position:absolute;left:18px;top:56px;color:#fff}
.stitle small{font:500 8.5px 'Geist Mono',monospace;letter-spacing:.18em;text-transform:uppercase;opacity:.75}
.stitle h4{font:400 40px/.95 'Instrument Serif',serif;margin-top:8px;font-weight:400}
.stitle h4 em{font-style:italic}
.book{position:absolute;left:14px;right:14px;top:166px;display:grid;grid-template-columns:1fr 1fr 1fr auto;background:rgba(255,255,255,.93);border-radius:12px;padding:7px;color:#0b1622;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.book div{padding:1px 9px;border-right:1px solid rgba(0,0,0,.08)}
.book div:nth-child(3){border:0}
.book small{display:block;font:500 7.5px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#6b7785}
.book b{font:600 10.5px Geist}
.book span{background:#0b1622;color:#fff;border-radius:8px;padding:0 13px;display:flex;align-items:center;font:600 10px Geist}

/* --- shop panel --- */
.ps{height:100%;background:#F7F4F0;color:#16130f;position:relative}
.ps .top{height:42px;display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid rgba(0,0,0,.06);font-size:10px;color:#5d564e}
.ps .brand{font:400 22px 'Instrument Serif',serif;color:#16130f;margin-right:auto}
.ps .bag{position:relative;width:26px;height:26px;border-radius:50%;background:#16130f;color:#fff;display:flex;align-items:center;justify-content:center}
.ps .bag svg{width:12px;height:12px}
.ps .bag b{position:absolute;top:-4px;right:-5px;width:15px;height:15px;border-radius:50%;background:var(--orange);font:600 8.5px/15px Geist;text-align:center;border:2px solid #F7F4F0;box-sizing:content-box}
.ps .body{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;padding:14px 16px}
.ps .img{height:214px;border-radius:12px;background:radial-gradient(circle at 50% 38%,#fff6ee,#efdccb 58%,#e2c2a9);position:relative;overflow:hidden}
.btl{position:absolute;left:50%;top:44px;transform:translateX(-50%);width:74px}
.btl .cp{width:30px;height:26px;margin:0 auto;border-radius:5px 5px 2px 2px;background:linear-gradient(90deg,#141414,#3d3a38 45%,#121212)}
.btl .nk{width:18px;height:7px;margin:0 auto;background:linear-gradient(90deg,#b98d6d,#e5c3a6,#b98d6d)}
.btl .gl{height:86px;border-radius:15px;position:relative;background:linear-gradient(140deg,rgba(255,255,255,.9) 0%,rgba(252,115,77,.6) 38%,#d65a37 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),inset -9px -12px 22px rgba(110,35,15,.35),0 22px 26px -12px rgba(140,60,30,.55)}
.btl .gl::before{content:"";position:absolute;left:9px;top:8px;width:9px;height:60px;border-radius:9px;background:linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,0))}
.btl .gl::after{content:"NATA 02";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);font:600 6.5px 'Geist Mono',monospace;letter-spacing:.22em;color:#fff;background:rgba(40,15,5,.22);padding:4px 6px;white-space:nowrap}
.ps .shadow{position:absolute;left:50%;top:170px;width:96px;height:14px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(rgba(120,60,30,.35),transparent 70%)}
.ps .dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:4px}
.ps .dots i{width:5px;height:5px;border-radius:50%;background:rgba(0,0,0,.18)}.ps .dots i:first-child{background:#16130f;width:14px;border-radius:3px}
.ps .crumb{font:500 8px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#8a8178}
.ps h5{font:400 30px/1 'Instrument Serif',serif;margin-top:8px;font-weight:400}
.ps .notes{font-size:9.5px;color:#7a7168;margin-top:5px}
.ps .price{font:600 17px Geist;margin-top:12px}
.ps .sizes{display:flex;gap:5px;margin-top:10px}
.ps .sizes span{font:500 9px Geist;padding:5px 8px;border-radius:7px;border:1px solid rgba(0,0,0,.12)}
.ps .sizes span.on{background:#16130f;color:#fff;border-color:#16130f}
.ps .add{margin-top:12px;height:34px;border-radius:9px;background:#16130f;color:#fff;font:600 10px Geist;display:flex;align-items:center;justify-content:center;gap:8px}
.ps .ship{font-size:8.5px;color:#8a8178;margin-top:8px}
.tst{position:absolute;top:50px;right:14px;display:flex;align-items:center;gap:7px;background:#02070A;color:#fff;font:500 9.5px Geist;padding:6px 11px 6px 6px;border-radius:99px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.tst i{width:16px;height:16px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center}
.tst svg{width:9px;height:9px}

/* --- admin panel --- */
.pa{height:100%;background:#0A1219;color:#E6EDF3;display:grid;grid-template-columns:46px 1fr}
.pa .sb{background:#070D13;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:12px}
.pa .mk{width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,#0297DE,#0a5f97);margin-bottom:8px}
.pa .sb span{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4)}
.pa .sb span.on{background:rgba(2,151,222,.16);color:#5cc3f2}
.pa .sb svg{width:14px;height:14px}
.pa .mn{padding:13px 15px;min-width:0}
.pa .hd{display:flex;align-items:center;gap:8px}
.pa .hd h6{font:600 15px Geist}
.pa .chip{font:500 8.5px 'Geist Mono',monospace;color:#5cc3f2;background:rgba(2,151,222,.14);padding:3px 7px;border-radius:99px}
.pa .srch{margin-left:auto;font:400 9px 'Geist Mono',monospace;color:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.1);border-radius:7px;padding:5px 9px;width:96px}
.pa .tabs{display:flex;gap:14px;margin-top:12px;border-bottom:1px solid rgba(255,255,255,.07);font-size:9.5px;color:rgba(255,255,255,.45)}
.pa .tabs span{padding-bottom:7px}.pa .tabs span.on{color:#fff;box-shadow:inset 0 -1.5px 0 #0297DE}
.pa .rw{display:grid;grid-template-columns:22px 1fr auto auto;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.05);position:relative}
.pa .rw.sel{background:rgba(2,151,222,.08);border-radius:8px}
.pa .rw.sel::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:#0297DE}
.pa .av{width:22px;height:22px;border-radius:50%;font:600 8px/22px Geist;text-align:center;background:#1c2a36;color:#9fb3c4}
.pa .nm b{display:block;font:600 10px Geist}.pa .nm small{font-size:8.5px;color:rgba(255,255,255,.45)}
.pa .dt{font:400 8.5px 'Geist Mono',monospace;color:rgba(255,255,255,.4)}
.pa .st{font:500 8.5px Geist;padding:3px 8px;border-radius:99px;white-space:nowrap}
.st.n{background:rgba(2,151,222,.16);color:#5cc3f2}.st.p{background:rgba(252,115,77,.15);color:#ff9d80}.st.c{background:rgba(255,255,255,.08);color:#dfe6ec}

/* ============ WHATSAPP (desktop) ============ */
.wa{position:absolute;z-index:20;right:32px;bottom:28px;display:flex;align-items:center;gap:10px;height:48px;padding:0 18px 0 6px;border-radius:99px;
  background:var(--pill);border:1px solid var(--pillb);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font:500 13px Geist;color:var(--ink);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.wa i,.dock .w{width:36px;height:36px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center}
.wa svg,.dock .w svg{width:19px;height:19px}

/* ============ MOBILE ============ */
.sbar{position:absolute;z-index:30;top:0;left:0;right:0;height:50px;display:flex;align-items:center;justify-content:space-between;padding:6px 34px 0 38px;font:600 15px Geist;color:var(--ink)}
.sbar svg{height:12px}
.mnav{position:absolute;top:58px;left:18px;right:14px;display:flex;align-items:center;justify-content:space-between}
.mnav .logo{height:21px}
.mnav .pill{padding:4px;gap:4px}
.mnav .pb.ic{width:38px;height:38px}
.mnav .seg span{height:30px;min-width:34px;font-size:11px}
.mnav .pb.burger{width:38px;height:38px;background:var(--ink);color:var(--bg)}
.m .l-streaks{-webkit-mask-image:radial-gradient(ellipse 58% 50% at 50% 24%,#000 12%,transparent 78%);mask-image:radial-gradient(ellipse 58% 50% at 50% 24%,#000 12%,transparent 78%)}
.t-dark.m .l-base{background:radial-gradient(ellipse 62% 42% at 50% 26%,rgba(2,151,222,.62),rgba(2,151,222,.2) 45%,transparent 75%),radial-gradient(ellipse 100% 50% at 50% 45%,rgba(16,44,128,.5),transparent 72%)}
.t-light.m .l-base{background:radial-gradient(ellipse 62% 42% at 50% 26%,rgba(2,151,222,.3),rgba(2,151,222,.1) 45%,transparent 75%)}
.m .l-core{width:50%;height:62%}
.t-dark.m .l-warm{mix-blend-mode:screen;background:radial-gradient(ellipse 70% 30% at 50% 100%,rgba(252,115,77,1),rgba(252,115,77,.5) 35%,rgba(252,115,77,.12) 65%,transparent 80%)}
.t-light.m .l-warm{background:radial-gradient(ellipse 70% 30% at 50% 100%,rgba(252,115,77,.6),rgba(252,115,77,.22) 40%,transparent 75%)}
.mcopy{position:absolute;z-index:5;top:142px;left:20px;right:20px;text-align:center}
.mcopy .eyebrow{font-size:10.5px;letter-spacing:.14em}
.mh{font:400 47px/.98 'Instrument Serif',serif;letter-spacing:-.02em;margin-top:16px}
.t-dark .mh{text-shadow:0 0 40px rgba(2,151,222,.3)}
.msub{max-width:310px;margin:16px auto 0;font:400 15px/1.5 Geist;color:var(--ink2)}
.mcta{display:inline-flex;align-items:center;gap:14px;height:54px;margin-top:24px;padding:0 7px 0 24px;border-radius:99px;font:600 15px Geist;color:#fff;
  background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.3),rgba(255,255,255,.08) 70%);border:1px solid rgba(255,255,255,.4);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 0 6px rgba(255,255,255,.04),0 16px 40px rgba(252,115,77,.25),inset 0 1px 0 rgba(255,255,255,.5)}
.t-light .mcta{color:var(--black);background:#fff;border-color:rgba(2,7,10,.06);box-shadow:0 0 0 6px rgba(255,255,255,.5),0 16px 40px rgba(252,115,77,.2)}
.mcard{position:absolute;z-index:4;top:540px;left:50%;width:252px;margin-left:-126px}
.mcard .bz{padding:7px;border-radius:20px}
.mcard .scr{height:330px;border-radius:14px}
.mcard .scr>div{width:390px;height:515px;transform:scale(.6103);transform-origin:0 0}
.mcard.a .tilt{transform:translateX(-104px) translateY(26px) rotate(-9deg) scale(.86)}
.mcard.c .tilt{transform:translateX(104px) translateY(26px) rotate(9deg) scale(.86)}
.mcard.a,.mcard.c{z-index:3}
.mcard .plbl{font-size:9.5px;top:-22px}
.mcard.a .plbl,.mcard.c .plbl{display:none}
.dock{position:absolute;z-index:20;left:14px;right:14px;bottom:28px;height:62px;padding:6px;display:flex;gap:6px;border-radius:99px;background:var(--pill);border:1px solid var(--pillb);
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 16px 40px rgba(0,0,0,.35)}
.dock .q{flex:1;border-radius:99px;background:var(--cta);color:var(--ctaink);font:600 15px Geist;display:flex;align-items:center;justify-content:center;gap:10px}
.dock .q svg{width:15px;height:15px;color:var(--orange)}
.dock .w{width:50px;height:50px}
.dock .w svg{width:23px;height:23px}
.hbar{position:absolute;z-index:30;bottom:8px;left:50%;width:134px;height:5px;margin-left:-67px;border-radius:3px;background:var(--ink);opacity:.55}

/* ============ ENTRANCE (preview of choreography) ============ */
@keyframes fade{from{opacity:0}}
@keyframes rise{from{opacity:0;transform:scaleY(.35)}}
@keyframes lineup{from{transform:translateY(110%)}}
@keyframes up{from{opacity:0;transform:translateY(24px)}}
@keyframes pin{from{opacity:0;transform:translateY(170px) perspective(1200px) rotateX(24deg)}}
.go .l-base{animation:fade 1.4s ease-out both}
.go .l-streaks{transform-origin:50% 100%;animation:rise 1.9s cubic-bezier(.2,.7,.1,1) .1s both}
.go .l-core{animation:fade 1.6s ease-out .3s both}
.go .l-warm{animation:fade 1.8s ease-out .5s both}
.go .ln>span{animation:lineup 1.15s cubic-bezier(.2,.75,.1,1) both}
.go .ln:nth-child(1)>span{animation-delay:.55s}.go .ln:nth-child(2)>span{animation-delay:.7s}.go .ln:nth-child(3)>span{animation-delay:.85s}
.go .eyebrow{animation:up .8s cubic-bezier(.2,.7,.1,1) .4s both}
.go .sub,.go .msub{animation:up .9s cubic-bezier(.2,.7,.1,1) 1.05s both}
.go .orb,.go .mcta{animation:up .9s cubic-bezier(.2,.7,.1,1) 1.2s both}
.go .nav .pill,.go .nav .cta,.go .mnav .pill,.go .logo,.go .side,.go .wa,.go .dock{animation:fade 1s ease-out 1.2s both}
.go .p2,.go .mcard.b{animation:pin 1.4s cubic-bezier(.16,.8,.2,1) 1.3s both}
.go .p1,.go .mcard.a{animation:pin 1.4s cubic-bezier(.16,.8,.2,1) 1.45s both}
.go .p3,.go .mcard.c{animation:pin 1.4s cubic-bezier(.16,.8,.2,1) 1.6s both}
@media (prefers-reduced-motion:reduce){.go *{animation:none!important}}

/* ===================== v2 · HOMEPAGE PROTOTYPE (Services + Portfolio) ===================== */
@property --ba{syntax:'<percentage>';inherits:true;initial-value:100%}
.frame{position:relative;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Geist,sans-serif}
.fd{width:1440px;height:900px}.fm{width:393px;height:852px;border-radius:48px}
.fm>.sbar,.fm>.hbar{z-index:60}
.scroller{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;isolation:isolate;scrollbar-width:none}
.scroller::-webkit-scrollbar,.case::-webkit-scrollbar,.msv-c::-webkit-scrollbar{display:none}
.scroller .m{border-radius:0!important}
.settled *{animation:none!important}
.pill{transition:background .4s}
.t-dark.scrolled .pill{background:rgba(6,12,18,.82)}.t-light.scrolled .pill{background:rgba(255,255,255,.9)}
.pb.ic,.seg span,.sv-all,.pf-all,.ps .sizes span,.ps .add,.pa .st,.pa .rw{cursor:pointer}
.shot{display:block;width:100%;height:100%;object-fit:cover}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font:500 10.5px 'Geist Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);border:1px solid var(--line);padding:6px 10px;border-radius:99px}

/* --- services · desktop: the hero hands off into one sticky stage --- */
.sv{position:relative;height:4200px}
.sv>.hero{position:sticky;top:0}
.pnl{transform-origin:0 0}
.plbl{transition:opacity .5s}
.sv-on[data-ch="3"] .plbl{opacity:1!important}
.sv-on .copy,.sv-on .side{pointer-events:none}
.svui{position:absolute;z-index:6;left:96px;top:172px;width:440px;opacity:0;pointer-events:none}
.sv-on .svui{pointer-events:auto}
.sv-ey{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}
.sv-n{font:500 12px 'Geist Mono',monospace;color:var(--ink3)}.sv-n b{color:var(--ink);font-weight:500}
.sv-list{list-style:none}.sv-list li{border-bottom:1px solid var(--line)}
.sv-t{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:baseline;gap:16px;width:100%;padding:17px 0 15px;font:400 40px/1.05 'Instrument Serif',serif;letter-spacing:-.015em;color:var(--ink3);transition:color .6s}
.sv-t:hover{color:var(--ink2)}
li.on .sv-t{color:var(--ink);font-style:italic}
.sv-i{flex:none;width:22px;font:500 11px 'Geist Mono',monospace;font-style:normal;letter-spacing:.08em;color:var(--ink3);transition:color .6s}
li.on .sv-i{color:var(--blue)}
.sv-d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .9s cubic-bezier(.7,0,.2,1)}
li.on .sv-d{grid-template-rows:1fr}
.sv-d>div{overflow:hidden;padding-left:38px}
.sv-d p{font:400 16px/1.55 Geist;color:var(--ink2);max-width:390px}
.sv-d .chips{padding:14px 0 22px}
.sv-all{display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding-bottom:6px;font:500 14px Geist;color:var(--ink);border-bottom:1px solid var(--ink3)}
.sv-all svg,.pf-all svg{width:14px;height:14px}
.sv-hint{position:absolute;z-index:6;left:1000px;top:826px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;font:500 11px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);opacity:0;transition:opacity .5s}
.sv-hint i{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(252,115,77,.18)}
.sv-on .sv-hint{opacity:1}.sv-on[data-ch="3"] .sv-hint{opacity:0}
.sv-net{position:absolute;left:0;top:0;width:1440px;height:900px;z-index:3;pointer-events:none}
.sv-net path{fill:none;stroke:rgba(2,151,222,.6);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s cubic-bezier(.7,0,.2,1) .25s}
.sv-on[data-ch="3"] .sv-net path{stroke-dashoffset:0}
.sv-nodes span{position:absolute;z-index:7;transform:translate(-50%,-50%) scale(.8);opacity:0;transition:opacity .6s,transform .9s cubic-bezier(.16,.8,.2,1);display:flex;align-items:center;gap:8px;height:36px;padding:0 15px 0 12px;border-radius:99px;background:var(--pill);border:1px solid var(--pillb);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:500 11px 'Geist Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);white-space:nowrap;pointer-events:none}
.sv-on[data-ch="3"] .sv-nodes span{opacity:1;transform:translate(-50%,-50%)}
.sv-nodes i,.hub-n i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.sv-nodes i.o,.hub-n i.o{background:var(--orange)}.sv-nodes i.w,.hub-n i.w{background:#25D366}

/* --- before / after redesign slider --- */
.ba{position:absolute;inset:0;z-index:3;opacity:0;pointer-events:none;user-select:none;touch-action:pan-y;transition:opacity .5s,--ba 1.5s cubic-bezier(.7,0,.2,1)}
.ba.drag{transition:opacity .5s}
.sv-on[data-ch="0"] .ba,.ms .ba{opacity:1;pointer-events:auto;cursor:ew-resize}
.ba-old{position:absolute;inset:0;background:#e9e8e2;color:#222;font-family:'Times New Roman',serif;clip-path:inset(0 calc(100% - var(--ba)) 0 0)}
.old-top{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:linear-gradient(#5677bd,#2c4a85);color:#fff;font:9px Arial,sans-serif}
.old-top b{font:bold 15px 'Times New Roman',serif}
.old-body{display:flex;gap:12px;padding:14px 12px}
.old-img{flex:none;width:130px;height:96px;display:flex;align-items:center;justify-content:center;border:2px solid #9a9a9a;background:repeating-linear-gradient(45deg,#cfcfcf 0 6px,#dadada 6px 12px);font:bold 10px Arial;color:#777}
.old-txt h3{font:bold 14px/1.2 'Times New Roman',serif;color:#2c4a85;text-decoration:underline}
.old-txt p{margin-top:6px;font:9.5px/1.45 Arial,sans-serif;color:#333}
.old-btn{display:inline-block;margin-top:9px;padding:4px 9px;border:1px solid #888;border-radius:3px;background:linear-gradient(#fafafa,#cdcdcd);font:bold 9px Arial}
.old-foot{position:absolute;left:0;right:0;bottom:0;padding:6px 12px;background:#2c4a85;color:#dfe6f3;font:8px Arial}
.ba-h{position:absolute;top:0;bottom:0;left:var(--ba);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 14px rgba(0,0,0,.45)}
.ba-h i{position:absolute;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.ba-h i::before{content:"‹ ›";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:600 13px Geist;color:#02070A;letter-spacing:2px}
.ba-l,.ba-r{position:absolute;bottom:30px;font:500 8.5px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(2,7,10,.72);padding:4px 8px;border-radius:99px}
.ba-l{left:10px}.ba-r{right:10px}

/* --- concept covers (portfolio) --- */
.cv{width:420px;height:275px;transform-origin:0 0;transform:scale(var(--k,1))}
.cv>div{height:100%}
.bar.lt{background:#e6e0d6;border-color:rgba(0,0,0,.06)}.bar.lt>i{background:rgba(0,0,0,.14)}.bar.lt .url{color:rgba(0,0,0,.55);background:rgba(0,0,0,.05)}
.cva{display:flex;flex-direction:column;background:#ECE6DC;color:#1d1a16}
.cva-b{flex:1;position:relative;padding:14px 18px}
.cva-n{display:flex;gap:14px;font-size:9.5px;color:#6d655b}.cva-n b{margin-right:auto;font:600 10px 'Geist Mono',monospace;letter-spacing:.24em;color:#1d1a16}
.cva h4{margin-top:40px;font:400 44px/.95 'Instrument Serif',serif}.cva h4 em{font-style:italic}
.cva small{display:block;margin-top:16px;font:500 8.5px 'Geist Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#8b8276}
.cva-img{position:absolute;right:20px;top:42px;width:140px;height:175px}
.cvd{display:flex;flex-direction:column;background:#F5F8FA;color:#0d2230}
.cvd .bar.lt{background:#e9eef2}
.cvd-b{flex:1;display:grid;grid-template-columns:1fr 158px;gap:16px;align-items:center;padding:0 18px}
.cvd .k{font:500 8.5px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#5c7a8c}
.cvd h4{margin:10px 0 16px;font:600 23px/1.08 Geist;letter-spacing:-.025em}.cvd h4 em{font:italic 400 27px 'Instrument Serif',serif;letter-spacing:0}
.cvd .btn{display:inline-block;padding:8px 14px;border-radius:99px;background:#0F7C8C;color:#fff;font:600 10px Geist}
.cal{padding:10px;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(13,34,48,.1)}
.cal-h{display:flex;justify-content:space-between;font-size:10px;color:#5c7a8c}.cal-h b{color:#0d2230}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:8px}
.cal-g i{height:16px;border-radius:4px;font:500 7.5px/16px Geist;font-style:normal;text-align:center;color:#3d5a6b}
.cal-g i.on{background:#0F7C8C;color:#fff}.cal-g i.off{opacity:.3}
.slots{display:flex;gap:4px;margin-top:9px}.slots span{flex:1;padding:4px 0;border-radius:6px;border:1px solid rgba(13,34,48,.12);font:500 8.5px Geist;text-align:center}.slots span.on{background:#0d2230;border-color:#0d2230;color:#fff}

/* --- portfolio: dimensional ring --- */
.pf{position:relative;height:1080px;overflow:hidden;background:var(--bg)}
.t-dark .pf-lx{background:radial-gradient(ellipse 42% 30% at 50% 0%,rgba(2,151,222,.24),transparent 70%),radial-gradient(ellipse 48% 13% at 50% 67%,rgba(2,151,222,.3),transparent 72%),radial-gradient(ellipse 24% 6% at 50% 67%,rgba(252,115,77,.32),transparent 70%)}
.t-light .pf-lx{background:radial-gradient(ellipse 42% 30% at 50% 0%,rgba(2,151,222,.14),transparent 70%),radial-gradient(ellipse 48% 13% at 50% 67%,rgba(2,151,222,.14),transparent 72%),radial-gradient(ellipse 24% 6% at 50% 67%,rgba(252,115,77,.2),transparent 70%)}
.pf-h{position:absolute;z-index:2;top:112px;left:0;right:0;text-align:center}
.pf-h h2{margin-top:18px;font:400 92px/.95 'Instrument Serif',serif;letter-spacing:-.025em}.pf-h h2 em,.msv-h h2 em,.tail h4 em{font-style:italic}
.pf-h p{max-width:470px;margin:18px auto 0;font:400 14px/1.55 Geist;color:var(--ink3)}
.pf-h>*{opacity:0;transform:translateY(26px);transition:opacity .9s,transform 1.1s cubic-bezier(.16,.8,.2,1)}
.pf-h>:nth-child(2){transition-delay:.1s}.pf-h>:nth-child(3){transition-delay:.2s}
.pf.in .pf-h>*{opacity:1;transform:none}
.ring-wrap{position:absolute;z-index:1;left:0;right:0;top:372px;height:440px;perspective:2000px;perspective-origin:50% 35%;user-select:none;touch-action:pan-y;cursor:grab;opacity:0;transition:opacity 1s .15s}
.pf.in .ring-wrap{opacity:1}
.ring{position:absolute;left:50%;top:0;width:520px;height:346px;margin-left:-260px;transform-style:preserve-3d;transition:transform 1.8s cubic-bezier(.16,.8,.2,1)}
.fd .ring{transform:translateZ(-1250px)}.fd .pf:not(.in) .ring{transform:translateZ(-1250px) rotateY(48deg)}
.pc{position:absolute;inset:0;padding:8px;border-radius:20px;background:var(--bz);border:1px solid var(--bzb);box-shadow:var(--bzs);backface-visibility:hidden;cursor:pointer;transition:transform 1.05s cubic-bezier(.7,0,.2,1);-webkit-box-reflect:below 14px linear-gradient(transparent 62%,rgba(255,255,255,.2))}
.pc::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--bg);opacity:var(--dim,0);transition:opacity .9s;pointer-events:none}
.pc-in{height:100%;border-radius:13px;overflow:hidden}
.pc .cv{--k:1.2}
.pc-b{position:absolute;top:18px;left:18px;z-index:2;padding:5px 9px;border-radius:99px;background:rgba(2,7,10,.68);color:#fff;font:500 9px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(6px)}
.pf-cap{position:absolute;z-index:2;top:832px;left:50%;width:760px;margin-left:-380px;display:flex;justify-content:space-between;align-items:center}
.pf-num{font:500 11px 'Geist Mono',monospace;letter-spacing:.12em;color:var(--ink3)}
.pf-name{margin-top:6px;font:400 42px/1 'Instrument Serif',serif}
.pf-cat{display:block;margin-top:6px;font:400 14px Geist;color:var(--ink2)}
.pf-ctrl{display:flex;gap:10px;align-items:center}
.pf-ctrl button{height:52px;width:52px;padding:0;border-radius:99px;border:1px solid var(--line);background:var(--pill);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
.pf-ctrl svg{width:16px;height:16px}.pf-prev svg{transform:rotate(180deg)}
.pf-ctrl .pf-open{width:auto;gap:12px;padding:0 6px 0 22px;background:var(--cta);color:var(--ctaink);border:0;font:600 14px Geist}
.pf-open i{width:38px;height:38px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center}
.pf-all{position:absolute;z-index:2;top:968px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;font:500 14px Geist;color:var(--ink);border-bottom:1px solid var(--ink3);white-space:nowrap}

/* --- project expansion --- */
.case{position:absolute;inset:0;z-index:50;display:none;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
.case.open{display:block}
.case-bg{position:absolute;left:0;top:0;width:100%;min-height:100%;background:radial-gradient(ellipse 50% 40% at 30% 40%,rgba(2,151,222,.16),transparent 70%),var(--bg)}
.case-card{position:absolute;padding:8px;border-radius:22px;background:var(--bz);border:1px solid var(--bzb);box-shadow:var(--bzs);transform-origin:0 0}
.case-card .pc-in{border-radius:15px}
.case-gal{position:absolute;display:flex;gap:16px}
.case-gal .g{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--line)}
.case-gal .cv{position:absolute;left:0;top:0}
.case-info{position:absolute;left:920px;top:116px;width:456px}
.case-info h3{margin-top:22px;font:400 80px/.95 'Instrument Serif',serif;letter-spacing:-.02em}
.case-cat{display:block;margin-top:12px;font:400 15px Geist;color:var(--ink2)}
.case-info p{margin-top:26px;font:400 17px/1.6 Geist;color:var(--ink2)}
.case-info small{display:block;margin-top:28px;font:500 11px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.case-info .chips{margin-top:12px}
.case-act{display:flex;align-items:center;gap:22px;margin-top:36px}
.case-act .cta{cursor:pointer}
.case-next{border:0;background:none;cursor:pointer;font:500 14px Geist;color:var(--ink2)}
.case-x{position:absolute;top:28px;right:48px;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--pill);color:var(--ink);font:300 26px/1 Geist;cursor:pointer;backdrop-filter:blur(10px)}

/* --- tail (end of prototype) --- */
.tail{position:relative;padding:110px 24px 150px;text-align:center;border-top:1px solid var(--line);background:var(--bg)}
.tail span{font:500 11px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.tail h4{margin-top:16px;font:400 52px/1 'Instrument Serif',serif}

/* --- mobile: services as a dealt, swipeable deck --- */
.msv{position:relative;padding:70px 0 40px}
.t-dark .msv{background:radial-gradient(ellipse 80% 22% at 50% 0%,rgba(252,115,77,.2),transparent 70%),radial-gradient(ellipse 90% 40% at 70% 42%,rgba(2,151,222,.16),transparent 70%),var(--bg)}
.t-light .msv{background:radial-gradient(ellipse 80% 22% at 50% 0%,rgba(252,115,77,.14),transparent 70%),radial-gradient(ellipse 90% 40% at 70% 42%,rgba(2,151,222,.1),transparent 70%),var(--bg)}
.msv-h{padding:0 20px}.msv-h h2{margin-top:14px;font:400 46px/.98 'Instrument Serif',serif;letter-spacing:-.02em}
.msv-c{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:28px calc(50% - 150px) 10px;scrollbar-width:none}
#vp button{font:inherit;margin-left:6px;padding:5px 10px;border-radius:99px;border:1px solid #2a3038;background:#15181d;color:#7d8794;cursor:pointer}#vp button.on{color:#e6edf3;border-color:#56606b}
.ms{flex:0 0 300px;min-width:0;scroll-snap-align:center;opacity:0;transform:translateY(90px) rotate(calc((var(--i) - .5) * 5deg)) scale(.92);transition:transform 1.1s cubic-bezier(.16,.8,.2,1) calc(var(--i)*90ms),opacity .8s ease calc(var(--i)*90ms)}
.msv.in .ms{opacity:1;transform:none}
.ms-top{margin-bottom:10px;font:500 10.5px 'Geist Mono',monospace;letter-spacing:.12em;color:var(--ink3)}
.ms-dev{padding:7px;border-radius:20px}.ms-dev .scr{height:260px;border-radius:14px}
.ms-in{width:390px;height:355px;transform:scale(.7333);transform-origin:0 0}
.ms h3{margin-top:18px;font:400 31px/1 'Instrument Serif',serif}
.ms p{margin-top:8px;font:400 14px/1.5 Geist;color:var(--ink2)}
.ms .chips{margin-top:12px}.ms .chips span{font-size:9.5px}
.ms-hint{display:block;margin-top:12px;font:500 9.5px 'Geist Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.msv-prog{display:flex;gap:6px;justify-content:center;margin-top:22px}
.msv-prog i{width:22px;height:3px;border-radius:2px;background:var(--line);transition:background .4s,width .4s}.msv-prog i.on{width:40px;background:var(--ink)}
.sv-all--m{margin:26px 20px 0}
.hub{position:relative;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(2,151,222,.28),transparent 62%),#06101a}
.t-light .hub{background:radial-gradient(circle at 50% 50%,rgba(2,151,222,.16),transparent 62%),#fff}
.hub svg{position:absolute;inset:0;width:100%;height:100%}
.hub path{stroke:rgba(2,151,222,.55);stroke-width:1;stroke-dasharray:3 3}.hub circle{fill:none;stroke:rgba(2,151,222,.35)}
.hub-c{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:9px 14px;border-radius:99px;background:var(--cta);color:var(--ctaink);font:600 11px Geist;white-space:nowrap;box-shadow:0 0 30px rgba(2,151,222,.45)}
.hub-n{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:99px;background:var(--pill);border:1px solid var(--pillb);font:500 7.5px 'Geist Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.t-dark .hub-n{color:#F3F5F7}

/* --- mobile portfolio + case --- */
.fm .pf{height:822px}
.fm .pf-lx{-webkit-mask-image:linear-gradient(transparent,#000 160px);mask-image:linear-gradient(transparent,#000 160px)}
.fm .pf-h{top:64px;padding:0 20px}.fm .pf-h h2{font-size:50px}.fm .pf-h p{font-size:13px;max-width:300px}
.fm .ring-wrap{top:318px;height:260px;perspective:1100px}
.fm .ring{width:280px;height:189px;margin-left:-140px;transform:translateZ(-480px)}.fm .pf:not(.in) .ring{transform:translateZ(-480px) rotateY(48deg)}
.fm .pc{border-radius:16px}.fm .pc .cv{--k:.6286}.fm .pc-b{top:14px;left:14px;font-size:8px}
.fm .pf-cap{top:560px;left:20px;right:20px;width:auto;margin:0;flex-direction:column;align-items:stretch;gap:20px}
.fm .pf-name{font-size:34px}
.fm .pf-ctrl .pf-open{flex:1;justify-content:space-between}
.fm .pf-all{top:760px}
.fm .case-info{left:20px;right:20px;top:470px;width:auto;padding-bottom:130px}
.fm .case-info h3{font-size:50px}.fm .case-info p{font-size:15px}
.fm .case-act{flex-direction:column;align-items:flex-start;gap:14px}
.fm .case-gal{gap:7px}.fm .case-gal .g{border-radius:10px}
.fm .case-x{top:52px;right:16px;width:44px;height:44px}
.fm .tail h4{font-size:34px}.fm .tail{padding:84px 24px 170px}

/* ===================== v3 · PROCESS · PRICING · FINAL CTA ===================== */
.pr-h h2 em,.prc-h h2 em,.fin h2 em{font-style:italic}
/* --- process: one browser frame evolving through 4 stages --- */
.pr{position:relative}.fd .pr{height:2980px}
.pr-st{position:sticky;top:0;height:900px;overflow:hidden}
.pr-lx,.pr-hz{position:absolute;inset:0;pointer-events:none}
.t-dark .pr-lx{background:radial-gradient(ellipse 34% 48% at 66% 50%,rgba(2,151,222,.22),transparent 70%),radial-gradient(ellipse 60% 40% at 66% 50%,rgba(16,44,128,.3),transparent 72%)}
.t-light .pr-lx{background:radial-gradient(ellipse 34% 48% at 66% 50%,rgba(2,151,222,.13),transparent 70%)}
.pr-hz{opacity:0;transition:opacity 1.4s;background:radial-gradient(ellipse 46% 22% at 66% 100%,rgba(252,115,77,.5),transparent 72%)}
.t-light .pr-hz{background:radial-gradient(ellipse 46% 22% at 66% 100%,rgba(252,115,77,.3),transparent 72%)}
.pr[data-st="3"] .pr-hz{opacity:1}
.pr-h{position:absolute;left:96px;top:130px}
.pr-h h2{margin-top:18px;font:400 72px/.95 'Instrument Serif',serif;letter-spacing:-.02em}
.pr-num{position:absolute;left:96px;top:420px;height:1em;overflow:hidden;font:italic 400 150px/1 'Instrument Serif',serif;color:var(--blue)}
.pr-num>div{transition:transform 1s cubic-bezier(.7,0,.2,1)}.pr-num span{display:block;height:1em}
.pr-tx{position:absolute;left:96px;top:596px;width:390px;height:150px}
.pr-tx>div{position:absolute;inset:0;opacity:0;transform:translateY(16px);transition:opacity .45s,transform .7s cubic-bezier(.16,.8,.2,1)}
.pr-tx>div.on{opacity:1;transform:none;transition-delay:.25s}
.pr-tx h4{font:400 36px/1.05 'Instrument Serif',serif}.pr-tx p{margin-top:10px;font:400 16px/1.55 Geist;color:var(--ink2)}
.pr-fr{position:absolute;left:560px;top:180px;width:800px;opacity:0;transform:perspective(1400px) translateY(120px) rotateX(18deg);transition:opacity 1s,transform 1.4s cubic-bezier(.16,.8,.2,1)}
.pr.in .pr-fr{opacity:1;transform:none}
.pr-fr .bz{border-radius:26px}.pr-fr .scr{height:520px}
.pr-prog{position:absolute;left:560px;top:778px;width:800px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pr-prog button{all:unset;cursor:pointer;display:block;font:500 11px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);transition:color .5s}
.pr-prog i{position:relative;display:block;height:2px;margin-bottom:12px;overflow:hidden;background:var(--line)}
.pr-prog i::after{content:"";position:absolute;inset:0;background:var(--blue);transform:scaleX(0);transform-origin:0 50%;transition:transform .8s cubic-bezier(.7,0,.2,1)}
.pr-prog .done i::after{transform:none;background:var(--ink3)}.pr-prog .on i::after{transform:none}.pr-prog .on{color:var(--ink)}
.pz{position:relative;width:600px;height:400px;transform-origin:0 0;background:#F7F5F1;color:#0d1620;font-family:Geist,sans-serif}
.fd .pz{transform:scale(1.3)}
.pz-bar{position:relative;height:32px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#ECE8E1;border-bottom:1px solid rgba(0,0,0,.06)}
.pz-bar>i{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.15)}
.pz-url{margin:0 auto;display:flex;align-items:center;font:500 10px 'Geist Mono',monospace;color:rgba(0,0,0,.55);background:rgba(0,0,0,.05);padding:4px 14px;border-radius:6px}
.pz-lock{display:inline-flex;width:0;overflow:hidden;color:#0297DE;transition:width .5s,margin .5s}.pz-lock svg{flex:none;width:9px;height:9px}
.pr[data-st="3"] .pz-lock{width:9px;margin-right:6px}
.pz-live{position:absolute;right:12px;display:flex;align-items:center;gap:5px;font:600 9px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#0297DE;opacity:0;transition:opacity .5s .3s}
.pz-live i{width:6px;height:6px;border-radius:50%;background:#0297DE;box-shadow:0 0 0 3px rgba(2,151,222,.2)}
.pr[data-st="3"] .pz-live{opacity:1}
.pz-body{position:absolute;left:0;right:0;top:32px;bottom:0;overflow:hidden}
.pz-b{position:absolute}
.pz-nav{left:20px;top:14px;width:560px;height:28px}.pz-hero{left:20px;top:52px;width:560px;height:160px}
.pz-c1,.pz-c2,.pz-c3{top:224px;width:176px;height:92px}.pz-c1{left:20px}.pz-c2{left:212px}.pz-c3{left:404px}
.pz-foot{left:20px;top:328px;width:560px;height:26px}
.pz-b .w{position:absolute;inset:0;padding:5px 7px;border:1px dashed rgba(2,151,222,.7);border-radius:8px;background:rgba(2,151,222,.05);font:500 8px 'Geist Mono',monospace;letter-spacing:.14em;color:#0297DE;opacity:0;transform:scale(.96);transition:opacity .5s calc(var(--d)*90ms),transform .7s cubic-bezier(.16,.8,.2,1) calc(var(--d)*90ms)}
.pr:not([data-st="0"]) .pz-b .w{opacity:1;transform:none}
.pz-b .r{position:absolute;inset:0;overflow:hidden;border-radius:8px;clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.7,0,.2,1) calc(var(--d)*140ms + .35s)}
.pr[data-st="2"] .pz-b .r,.pr[data-st="3"] .pz-b .r{clip-path:inset(0)}
.pz-nav .r{display:flex;align-items:center;gap:10px;padding:0 10px;background:#0b1622}
.pz-nav .r b{width:14px;height:14px;margin-right:auto;border-radius:4px;background:#0297DE}
.pz-nav .r i{width:34px;height:4px;border-radius:2px;background:rgba(255,255,255,.4)}.pz-nav .r em{width:52px;height:14px;border-radius:99px;background:#fff}
.pz-hero .r{background:linear-gradient(160deg,#071426 0%,#163e66 55%,#e07e5c 100%)}
.pz-hero h5{position:absolute;left:22px;top:34px;font:400 38px/.95 'Instrument Serif',serif;color:#fff}.pz-hero h5 em{font-style:italic}
.pz-hero .r>em{position:absolute;left:22px;bottom:22px;width:76px;height:22px;border-radius:99px;background:#fff}
.pz-c .r{background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.06)}
.pz-c .r i{display:block;height:52px;background:linear-gradient(135deg,#1b4470,#f0a07a)}
.pz-c .r b{display:block;width:70%;height:6px;margin:10px 10px 0;border-radius:3px;background:rgba(13,22,32,.7)}.pz-c .r b.s{width:45%;margin-top:7px;background:rgba(13,22,32,.25)}
.pz-foot .r{background:#0b1622}
.pz-brief{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .6s}
.pr[data-st="0"] .pz-brief{opacity:1}
.pz-doc{position:absolute;left:26px;top:24px;width:330px;height:300px;padding:20px 22px;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(13,22,32,.1)}
.pz-doc small{font:500 9px 'Geist Mono',monospace;letter-spacing:.16em;color:#8a8f96}
.pz-doc p{display:flex;align-items:center;gap:10px;margin-top:20px;font:500 14px Geist;color:#0d1620;opacity:0;transform:translateY(8px);transition:opacity .5s calc(var(--d)*.35s + .3s),transform .6s calc(var(--d)*.35s + .3s)}
.pr.in[data-st="0"] .pz-doc p{opacity:1;transform:none}
.pz-doc p i{flex:none;width:18px;height:18px;border-radius:50%;background:#0297DE;display:flex;align-items:center;justify-content:center}.pz-doc p svg{width:10px;height:10px}
.pz-note{position:absolute;width:190px;padding:12px 14px;border-radius:6px;font:500 12.5px/1.35 Geist;color:#0d1620;box-shadow:0 10px 24px rgba(13,22,32,.1);opacity:0;transform:translateY(14px);transition:opacity .6s 1.6s,transform .9s cubic-bezier(.16,.8,.2,1) 1.6s}
.pz-note.n1{left:380px;top:48px;background:#FFE1D6}.pz-note.n2{left:396px;top:158px;background:#D9EEF9;transition-delay:1.9s}
.pr.in[data-st="0"] .pz-note.n1{opacity:1;transform:rotate(3deg)}.pr.in[data-st="0"] .pz-note.n2{opacity:1;transform:rotate(-4deg)}
.pz-kit{position:absolute;right:26px;bottom:20px;display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(13,22,32,.16);opacity:0;transform:translateY(14px);transition:opacity .5s .6s,transform .8s cubic-bezier(.16,.8,.2,1) .6s}
.pz-kit i{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.pz-kit b{margin-left:6px;font:400 26px/1 'Instrument Serif',serif}
.pr[data-st="1"] .pz-kit{opacity:1;transform:none}
.pz-code{position:absolute;left:0;top:0;bottom:0;width:250px;padding:20px 16px;background:#0A121A;box-shadow:20px 0 40px rgba(0,0,0,.25);transform:translateX(-102%);transition:transform .9s cubic-bezier(.7,0,.2,1)}
.pr[data-st="2"] .pz-code{transform:none}
.pz-code p{display:flex;gap:6px;height:8px;margin-bottom:17px;transform:scaleX(0);transform-origin:0 50%;transition:transform .5s calc(var(--d)*80ms + .5s)}
.pr[data-st="2"] .pz-code p{transform:none}
.pz-code i{height:8px;border-radius:4px}.pz-code .k0{background:#5cc3f2}.pz-code .k1{background:rgba(255,255,255,.35)}.pz-code .k2{background:#ff9d80}.pz-code .k3{background:rgba(255,255,255,.16)}
.pz-toast{position:absolute;z-index:2;top:14px;right:14px;display:flex;align-items:center;gap:7px;padding:7px 12px 7px 7px;border-radius:99px;background:#02070A;color:#fff;font:500 11px Geist;opacity:0;transform:translateY(-8px);transition:opacity .5s .6s,transform .7s cubic-bezier(.16,.8,.2,1) .6s}
.pz-toast i{width:18px;height:18px;border-radius:50%;background:#FC734D;display:flex;align-items:center;justify-content:center}.pz-toast svg{width:10px;height:10px}
.pz-care{position:absolute;z-index:2;left:50%;bottom:44px;transform:translate(-50%,10px);padding:7px 14px;border-radius:99px;background:#fff;border:1px solid rgba(2,151,222,.3);color:#0577b0;font:600 9.5px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;box-shadow:0 10px 24px rgba(13,22,32,.14);opacity:0;transition:opacity .5s 1s,transform .7s 1s}
.pz-glow{position:absolute;left:-10%;right:-10%;bottom:-60%;height:100%;background:radial-gradient(ellipse 50% 50% at 50% 100%,rgba(252,115,77,.6),transparent 70%);opacity:0;pointer-events:none;transition:opacity 1.2s .3s}
.pr[data-st="3"] .pz-toast{opacity:1;transform:none}.pr[data-st="3"] .pz-care{opacity:1;transform:translate(-50%,0)}.pr[data-st="3"] .pz-glow{opacity:1}

/* --- pricing: a darker scene in both themes (inset panel in light mode) --- */
.prc{position:relative;overflow:hidden;background:var(--bg);color:var(--ink)}
.t-light .prc{margin:0 24px;border-radius:36px}.t-light.fm .prc{margin:0 10px;border-radius:28px}
.t-light.hd-dark>.nav .logo,.t-light.hd-dark>.mnav .logo{mix-blend-mode:screen}.t-light.hd-dark>.sbar{color:#F3F5F7}
.prc-lx{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 40% 42% at 50% 0%,rgba(2,151,222,.42),rgba(2,151,222,.1) 50%,transparent 75%),radial-gradient(ellipse 70% 50% at 50% 40%,rgba(16,44,128,.35),transparent 70%),radial-gradient(ellipse 40% 12% at 50% 100%,rgba(252,115,77,.35),transparent 72%)}
.prc-lx::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 5px,rgba(150,215,255,.14) 5px 6px,transparent 6px 11px),repeating-linear-gradient(90deg,transparent 0 13px,rgba(2,151,222,.25) 13px 15px,transparent 15px 23px);-webkit-mask-image:radial-gradient(ellipse 30% 50% at 50% 0%,#000,transparent 75%);mask-image:radial-gradient(ellipse 30% 50% at 50% 0%,#000,transparent 75%)}
.prc-in{position:relative;z-index:1;padding:120px 160px 100px}
.prc-h{text-align:center}.prc-h h2{margin-top:18px;font:400 92px/.95 'Instrument Serif',serif;letter-spacing:-.025em}
.prc-h p{margin-top:16px;font:400 14px Geist;color:var(--ink3)}
.prc-a{margin-top:76px}
.prc-lbl{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line);font:500 12px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.prc-lbl span:last-child{color:var(--ink3)}
.prc-cols{display:grid;grid-template-columns:repeat(3,1fr)}
.prc-col{position:relative;padding:36px 40px 34px;border-right:1px solid var(--line)}.prc-col:last-child{border-right:0}
.prc-col::before{content:"";position:absolute;left:12%;right:12%;top:0;bottom:0;background:linear-gradient(180deg,rgba(2,151,222,.28),rgba(2,151,222,.05) 60%,transparent);opacity:0;transition:opacity .6s;pointer-events:none}
.prc-col::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--blue);transform:scaleX(0);transition:transform .7s cubic-bezier(.7,0,.2,1)}
.prc-col:hover::before{opacity:1}.prc-col:hover::after{transform:none}
.prc-n{position:relative;font:500 12px 'Geist Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.prc-pw{position:relative;margin-top:20px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end}
.prc-from{margin-bottom:4px;font:500 11px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.prc-p{display:block;overflow:hidden;padding-bottom:.04em;font:400 124px/.95 'Instrument Serif',serif;letter-spacing:-.03em}
.prc-p>span{display:inline-flex;align-items:flex-start;transform:translateY(105%);transition:transform 1.2s cubic-bezier(.2,.75,.1,1) calc(.2s + var(--i)*.12s)}
.prc.in .prc-p>span{transform:none}
.prc-p sup,.prc-mp sup{margin:.16em .08em 0 0;font-size:.4em;line-height:1;color:var(--ink2)}
.prc-col:hover .prc-p{font-style:italic}
.prc-l{position:relative;display:inline-block;margin-top:22px;padding-bottom:4px;border-bottom:1px solid var(--line);font:500 13px Geist;color:var(--ink2);cursor:pointer}
.prc-b{margin-top:44px;display:grid;grid-template-columns:1.1fr repeat(3,1fr);align-items:center;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);opacity:0;transform:translateY(30px);transition:opacity 1s .5s,transform 1.2s cubic-bezier(.16,.8,.2,1) .5s}
.prc.in .prc-b{opacity:1;transform:none}
.prc-bl{padding:26px 32px}.prc-bl span{display:block;font:500 12px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}.prc-bl small{display:block;margin-top:6px;font:400 13px Geist;color:var(--ink3)}
.prc-m{padding:22px 30px;border-left:1px solid rgba(255,255,255,.08)}
.prc-mp{display:flex;align-items:flex-start;margin-top:6px;font:400 54px/1 'Instrument Serif',serif;letter-spacing:-.02em}
.prc-mp small{align-self:flex-end;margin:0 0 .5em .2em;font:400 14px Geist;letter-spacing:0;color:var(--ink3)}
.prc-f{margin-top:54px;display:flex;justify-content:space-between;align-items:center}.prc-f .sv-all{margin:0}
.prc-f .cta{cursor:pointer}

/* --- final CTA + footer: the light rises fully --- */
.fin{position:relative;overflow:hidden;padding-top:190px;text-align:center;background:var(--bg)}
.pr{background:var(--bg)}
.fin-lx{position:absolute;inset:0;pointer-events:none;opacity:.35;transform:translateY(14%) scale(.92);transition:transform 2.4s cubic-bezier(.16,.8,.2,1),opacity 1.6s}
.fin.in .fin-lx{opacity:1;transform:none}
.t-dark .fin-lx{background:linear-gradient(180deg,transparent 72%,rgba(2,7,10,.92)),radial-gradient(ellipse 26% 22% at 50% 54%,rgba(255,200,180,.3),transparent 70%),radial-gradient(ellipse 62% 44% at 50% 62%,rgba(252,115,77,.92),rgba(252,115,77,.38) 42%,transparent 74%),radial-gradient(ellipse 50% 60% at 50% 20%,rgba(2,151,222,.16),transparent 70%)}
.t-light .fin-lx{background:linear-gradient(180deg,transparent 72%,rgba(244,242,238,.9)),radial-gradient(ellipse 62% 44% at 50% 62%,rgba(252,115,77,.5),rgba(252,115,77,.16) 45%,transparent 74%),radial-gradient(ellipse 50% 60% at 50% 20%,rgba(2,151,222,.1),transparent 70%)}
.fin-st{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 13px,rgba(2,151,222,.26) 13px 15px,transparent 15px 23px),repeating-linear-gradient(90deg,transparent 0 5px,rgba(255,220,200,.12) 5px 6px,transparent 6px 11px);-webkit-mask-image:radial-gradient(ellipse 34% 50% at 50% 62%,#000,transparent 75%);mask-image:radial-gradient(ellipse 34% 50% at 50% 62%,#000,transparent 75%);mix-blend-mode:screen}
.t-light .fin-st{mix-blend-mode:normal;opacity:.5}
.fin-c{position:relative;z-index:2}
.fin h2{margin-top:22px;font:400 140px/.9 'Instrument Serif',serif;letter-spacing:-.03em}
.t-dark .fin h2{text-shadow:0 0 60px rgba(252,115,77,.25)}
.fin .ln>span{transform:translateY(110%);transition:transform 1.2s cubic-bezier(.2,.75,.1,1)}.fin .ln:nth-child(2)>span{transition-delay:.12s}
.fin.in .ln>span{transform:none}
.fin-c>p,.fin-q,.fin-act{opacity:0;transform:translateY(20px);transition:opacity .9s,transform 1.1s cubic-bezier(.16,.8,.2,1)}
.fin-c>p{max-width:540px;margin:26px auto 0;font:400 18px/1.55 Geist;color:var(--ink2);transition-delay:.35s}.fin-q{transition-delay:.5s}.fin-act{transition-delay:.65s}
.fin.in .fin-c>p,.fin.in .fin-q,.fin.in .fin-act{opacity:1;transform:none}
.fin-q{margin-top:40px}.fin-q small{font:500 11px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.fin-q div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.fin-q button{all:unset;cursor:pointer;padding:11px 18px;border-radius:99px;border:1px solid var(--line);background:var(--pill);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:500 14px Geist;color:var(--ink);transition:background .3s,color .3s,border-color .3s}
.fin-q button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.fin-act{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:44px}
.fin .orb{margin:0;width:136px;height:136px;cursor:pointer;text-decoration:none}
.fin-sel{display:block;max-width:104px;font:500 9px 'Geist Mono',monospace;font-style:normal;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.fin-sel:empty{display:none}
.fin-wa{display:flex;align-items:center;gap:12px;height:60px;padding:0 24px 0 8px;border-radius:99px;background:var(--pill);border:1px solid var(--pillb);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);text-decoration:none;text-align:left}
.fin-wa i{width:44px;height:44px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center}.fin-wa svg{width:22px;height:22px}
.fin-wa span{font:500 16px Geist}.fin-wa small{display:block;font:500 10px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.ft{position:relative;margin-top:140px;padding:44px 96px 34px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;text-align:left;border-top:1px solid var(--line)}
.ft .logo{height:26px}.ft p{margin-top:16px;max-width:300px;font:400 14px/1.6 Geist;color:var(--ink2)}
.ft h6{margin-bottom:12px;font:500 11px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.ft a,.ft span{display:block;font:400 15px/2 Geist;color:var(--ink2);text-decoration:none;cursor:pointer}
.ft-bot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--line)}
.ft-bot span{font:500 11px/1 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.ft-top{all:unset;cursor:pointer;font:500 11px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.dock{transition:transform .6s cubic-bezier(.7,0,.2,1),opacity .4s}.fm.fin-in .dock{transform:translateY(140%);opacity:0}
.wa{transition:transform .6s cubic-bezier(.7,0,.2,1),opacity .4s}.fd.fin-in .wa{transform:translateY(20px);opacity:0;pointer-events:none}

/* --- mobile versions --- */
.fm .pr{padding:76px 20px 64px}
.fm .pr-st{position:relative;height:auto;overflow:visible;display:flex;flex-direction:column}
.fm .pr-h,.fm .pr-num,.fm .pr-tx,.fm .pr-fr,.fm .pr-prog{position:relative;left:auto;top:auto;width:auto}
.fm .pr-h h2{font-size:46px}
.fm .pr-fr{order:1;margin-top:30px}.fm .pr-fr .bz{padding:7px;border-radius:20px}.fm .pr-fr .scr{border-radius:14px}
.fm .pr-prog{order:2;margin-top:20px;gap:8px}.fm .pr-prog button{font-size:8.5px;letter-spacing:.06em}
.fm .pr-num{order:3;margin-top:26px;font-size:56px}
.fm .pr-tx{order:4;height:118px;margin-top:6px}.fm .pr-tx h4{font-size:28px}.fm .pr-tx p{font-size:14px}
.fm .prc-in{padding:70px 20px 56px}.fm .prc-h h2{font-size:48px}.fm .prc-h p{font-size:13px}
.fm .prc-a{margin-top:44px}.fm .prc-lbl{font-size:10px}
.fm .prc-cols{grid-template-columns:1fr}
.fm .prc-col{display:grid;grid-template-columns:1fr auto;align-items:end;padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}
.fm .prc-col::after{display:none}.fm .prc-n{grid-column:1;grid-row:1;align-self:start}.fm .prc-l{grid-column:1;grid-row:2;justify-self:start;margin-top:10px;font-size:12px}
.fm .prc-pw{grid-column:2;grid-row:1/3;margin:0;min-height:0;align-items:flex-end}.fm .prc-p{font-size:66px}
.fm .prc-b{grid-template-columns:1fr;margin-top:30px}.fm .prc-bl{padding:20px 20px 10px}
.fm .prc-m{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-left:0;border-top:1px solid rgba(255,255,255,.08)}.fm .prc-mp{margin:0;font-size:38px}
.fm .prc-f{flex-direction:column;align-items:stretch;gap:18px}.fm .prc-f .cta{justify-content:space-between}
.fm .fin{padding-top:110px}.fm .fin-c{padding:0 20px}.fm .fin h2{font-size:50px}.fm .fin-c>p{font-size:15px}
.fm .fin-q button{padding:9px 14px;font-size:13px}
.fm .fin-act{flex-direction:column;align-items:stretch;gap:12px}
.fm .fin .orb{width:auto;height:58px;flex-direction:row;gap:10px;border-radius:99px;font-size:15px}.fm .fin .orb br{display:none}.fm .fin .orb svg{margin:0}.fm .fin-sel{max-width:none}
.fm .ft{margin-top:90px;padding:36px 20px 40px;grid-template-columns:1fr 1fr;gap:28px}.fm .ft-brand{grid-column:1/-1}
.fm .ft-bot{flex-direction:column;align-items:flex-start;gap:14px}

/* ===================== v4 · INTERACTIVE PRICING CARDS ===================== */
.prc{--spring:cubic-bezier(.2,1.25,.35,1)}
.pk-group{margin-top:68px}.pk-group+.pk-group{margin-top:60px}
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px;perspective:1600px}
.pk-w{opacity:0;transform:translateY(50px);transition:opacity .9s calc(.15s + var(--i)*.1s),transform 1.2s cubic-bezier(.16,.8,.2,1) calc(.15s + var(--i)*.1s)}
.prc.in .pk-w{opacity:1;transform:none}
.pk{position:relative;height:100%;padding:1px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.03) 60%);box-shadow:0 20px 50px rgba(0,0,0,.3);
 transform:translateY(var(--ty,0px)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--s,1));transition:transform .8s var(--spring),opacity .5s,box-shadow .6s}
.pk-feat{background:linear-gradient(180deg,rgba(92,195,242,.6),rgba(2,151,222,.12) 35%,rgba(255,255,255,.03) 70%)}
.pk-in{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:25px;background:linear-gradient(180deg,#0c1621,#060c12 80%)}
.pk-feat .pk-in{background:radial-gradient(ellipse 80% 40% at 50% 0%,rgba(2,151,222,.17),transparent 70%),linear-gradient(180deg,#0c1621,#060c12 80%)}
.pk-spot{position:absolute;inset:0;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(2,151,222,.17),transparent 62%);opacity:0;transition:opacity .5s}
.pk-edge{position:absolute;inset:0;z-index:2;border-radius:26px;padding:1px;pointer-events:none;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(120,210,255,.95),transparent 62%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s}
.fd .pk:hover,.fd .pk:focus-within{--ty:-12px;--s:1.015;box-shadow:0 46px 90px rgba(0,0,0,.6),0 0 60px rgba(2,151,222,.12)}
.fd .pk:hover .pk-spot,.fd .pk:hover .pk-edge,.fd .pk:focus-within .pk-edge{opacity:1}
.fd .pk-grid:hover .pk:not(:hover){opacity:.55;--s:.98}
.pk-head{all:unset;box-sizing:border-box;position:relative;display:block;padding:30px 30px 0;cursor:default}
.pk-top{display:flex;justify-content:space-between;align-items:center;min-height:26px}
.pk-idx{font:500 11px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#5cc3f2}
.pk-badge{padding:5px 10px;border-radius:99px;background:rgba(2,151,222,.18);border:1px solid rgba(92,195,242,.45);font:500 10px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#bfe7fb}
.pk-name{display:block;margin-top:18px;font:400 46px/1 'Instrument Serif',serif;letter-spacing:-.015em;color:var(--ink)}
.pk-desc{display:block;margin-top:8px;font:400 15px/1.45 Geist;color:var(--ink2)}
.pk-price{display:flex;align-items:flex-end;gap:10px;margin-top:26px}
.pk-price small{margin-bottom:.9em;font:500 11px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.pk-price b{display:flex;align-items:flex-start;font:400 92px/.9 'Instrument Serif',serif;letter-spacing:-.03em;color:var(--ink)}
.pk-price sup{margin:.14em .06em 0 0;font-size:.4em;line-height:1;color:var(--ink2)}
.pk-pm{margin-bottom:.5em;font:400 15px Geist;font-style:normal;color:var(--ink3)}
.pk-per{display:block;margin-top:10px;font:500 11px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.pk-chev{display:none}
.pk-body{flex:1;display:grid;grid-template-rows:1fr}
.pk-body>div{display:flex;min-height:0;overflow:hidden}
.pk-bi{flex:1;display:flex;flex-direction:column;padding:24px 30px 28px}
.pk-list{list-style:none;padding-top:18px;border-top:1px solid var(--line)}
.pk-list li{display:flex;align-items:flex-start;gap:12px;padding:7px 0;font:400 15px/1.4 Geist;color:var(--ink2);transition:color .4s calc(var(--j)*50ms)}
.pk-list li i{flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:background .45s calc(var(--j)*70ms),border-color .45s calc(var(--j)*70ms)}
.pk-list svg{width:9px;height:9px;opacity:.45;transition:opacity .45s calc(var(--j)*70ms)}
.fd .pk:hover .pk-list li,.pk.open .pk-list li{color:var(--ink)}
.fd .pk:hover .pk-list li i,.pk.open .pk-list li i{background:var(--blue);border-color:var(--blue)}
.fd .pk:hover .pk-list svg,.pk.open .pk-list svg{opacity:1}
.pk-excl{display:flex;gap:10px;margin-top:4px;padding:11px 13px;border-radius:12px;background:rgba(252,115,77,.08);border:1px solid rgba(252,115,77,.22);font:400 13.5px/1.45 Geist;color:#ffc1ad}
.pk-excl i{font-style:normal;color:var(--orange)}
.pk-mb{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;margin-top:16px;font:500 11px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);transition:color .3s}
.pk-mb:hover{color:var(--ink)}
.pk-mb::after{content:"+";font:400 16px/1 Geist;transition:transform .5s var(--spring)}.pk.more .pk-mb::after{transform:rotate(45deg)}
.pk-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.7,0,.2,1)}.pk.more .pk-more{grid-template-rows:1fr}
.pk-more>div{min-height:0;overflow:hidden}.pk-more p{padding-top:10px;font:400 13.5px/1.5 Geist;color:var(--ink2)}
.rv{display:inline-block;padding:3px 8px;border:1px dashed rgba(252,115,77,.6);border-radius:6px;font:500 9.5px 'Geist Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#ff9d80}
.pk-more .rv{margin-top:10px}
.pk-sp{flex:1;min-height:22px}
.pk-cta{display:flex;align-items:center;justify-content:space-between;height:50px;padding:0 6px 0 20px;border-radius:99px;border:1px solid var(--line);color:var(--ink);font:600 14px Geist;cursor:pointer;transition:background .5s,color .5s,border-color .5s}
.pk-cta i{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .5s,transform .6s var(--spring)}.pk-cta svg{width:15px;height:15px}
.fd .pk:hover .pk-cta,.pk.open .pk-cta,.pk-feat .pk-cta{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.fd .pk:hover .pk-cta i,.pk.open .pk-cta i,.pk-feat .pk-cta i{background:var(--orange);color:#fff}
.fd .pk:hover .pk-cta i{transform:translateX(3px)}
.pk-mo .pk{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.02))}
.pk-mo .pk-in{background:linear-gradient(180deg,rgba(14,24,34,.9),rgba(6,12,18,.9))}
.pk-mo .pk-name{margin-top:14px;font-size:34px}.pk-mo .pk-price{margin-top:18px}.pk-mo .pk-price b{font-size:60px}
.pk-mo .pk-bi{padding-top:16px}
.t-light.hd-dark>.nav .cta{background:#F3F5F7;color:#02070A;transition:background .4s,color .4s}.t-light.hd-dark>.wa{background:rgba(255,255,255,.92)}
/* contact additions */
.fin-mail{display:flex;align-items:center;gap:12px;height:60px;padding:0 24px 0 8px;border-radius:99px;background:var(--pill);border:1px solid var(--pillb);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);text-decoration:none;text-align:left}
.fin-mail i{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:center}.fin-mail svg{width:20px;height:20px}
.fin-mail span{font:500 16px Geist}.fin-mail small{display:block;font:500 10px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.fin-act{gap:18px}
.rv-note{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}
.ft .ft-legal{display:flex;flex-wrap:wrap;gap:20px}.ft .ft-legal a{display:inline;font:500 11px/1 'Geist Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.ft .ft-legal a:hover{color:var(--ink)}.ft .ft-cookie{color:var(--ink2)!important}
/* mobile: tap-to-expand cards */
.fm .pk-group{margin-top:42px}.fm .pk-group+.pk-group{margin-top:40px}
.fm .pk-grid{grid-template-columns:1fr;gap:10px;margin-top:16px;perspective:none}
.fm .pk{border-radius:22px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .6s var(--spring),box-shadow .5s}
.fm .pk:active{--s:.985}
.fm .pk-in{border-radius:21px}.fm .pk-edge{border-radius:22px;--mx:50%;--my:0%}
.fm .pk-head{display:grid;grid-template-columns:1fr auto;column-gap:14px;padding:18px 18px 16px;cursor:pointer}
.fm .pk-top{grid-column:1/-1;padding-right:38px}
.fm .pk-name{grid-column:1;margin-top:8px;font-size:32px}
.fm .pk-desc{grid-column:1;margin-top:4px;font-size:13.5px}
.fm .pk-price{grid-column:2;grid-row:2/4;align-self:end;flex-direction:column;align-items:flex-end;gap:0;margin:0}
.fm .pk-price small{margin:0 0 2px}.fm .pk-price b{font-size:52px}.fm .pk-pm{margin:2px 0 0}
.fm .pk-per{grid-column:1/-1;margin-top:10px;font-size:9.5px}
.fm .pk-chev{display:block;position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);transition:transform .55s var(--spring),background .4s,border-color .4s}
.fm .pk-chev::before,.fm .pk-chev::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;margin:-.75px 0 0 -5px;background:var(--ink2)}.fm .pk-chev::after{transform:rotate(90deg)}
.fm .pk.open .pk-chev{transform:rotate(45deg);background:var(--blue);border-color:var(--blue)}.fm .pk.open .pk-chev::before,.fm .pk.open .pk-chev::after{background:#fff}
.fm .pk-body{grid-template-rows:0fr;transition:grid-template-rows .65s cubic-bezier(.7,0,.2,1)}
.fm .pk.open .pk-body{grid-template-rows:1fr}
.fm .pk-bi{padding:0 18px 18px}
.fm .pk-list li{font-size:14px;opacity:0;transform:translateY(8px);transition:opacity .5s calc(.15s + var(--j)*60ms),transform .6s var(--spring) calc(.15s + var(--j)*60ms),color .4s}
.fm .pk.open .pk-list li{opacity:1;transform:none}
.fm .pk.open{--ty:-2px;box-shadow:0 24px 50px rgba(0,0,0,.45),0 0 40px rgba(2,151,222,.12)}
.fm .pk.open .pk-edge{opacity:.9}
.fm .pk-sp{display:none}.fm .pk-cta{height:48px;margin-top:16px}
.fm .pk-mo .pk-name{font-size:28px}.fm .pk-mo .pk-price b{font-size:40px}.fm .pk-mo .pk-bi{padding-top:0}
.fm .fin-mail{justify-content:flex-start}.fm .ft .ft-legal{gap:12px 16px}

/* ===================== v5 · SHARED ===================== */
.frame{--spring:cubic-bezier(.2,1.25,.35,1)}
#pg button{font:inherit;margin-left:6px;padding:6px 12px;border-radius:99px;border:1px solid #2a3038;background:#15181d;color:#7d8794;cursor:pointer}#pg button.on{color:#e6edf3;border-color:#56606b}
.pb{cursor:pointer;outline:none}.pb:focus-visible,.nwm a:focus-visible,.fl-ok input:focus-visible+i{box-shadow:0 0 0 3px rgba(2,151,222,.55)}
.nav .logo,.mnav .logo{cursor:pointer}
[data-rv]{opacity:0;transform:translateY(24px);transition:opacity .9s,transform 1.1s cubic-bezier(.16,.8,.2,1)}[data-rv].in{opacity:1;transform:none}

/* ===================== v5 · FULL-SCREEN MENU ===================== */
.nwm{position:absolute;inset:0;visibility:hidden;pointer-events:none;color:var(--ink);transition:visibility 0s .95s}
.menu-open .nwm{visibility:visible;pointer-events:auto;transition:visibility 0s}
.mn-instant .nwm,.mn-instant .nwm *{transition:none!important}
.mn-bg{position:absolute;inset:0;overflow:hidden;background:var(--bg);clip-path:circle(0% at 50% 54px);transition:clip-path .95s cubic-bezier(.7,0,.2,1)}
.menu-open .mn-bg{clip-path:circle(150% at 50% 54px)}
.mn-bg>i{position:absolute;inset:0;display:block}
.mn-cols{opacity:0;transform:scaleY(.5);transform-origin:50% 100%;transition:opacity 1.1s .25s,transform 1.6s cubic-bezier(.16,.8,.2,1) .25s,filter .6s;
 -webkit-mask-image:radial-gradient(ellipse 26% 72% at 75% 38%,#000 10%,transparent 76%);mask-image:radial-gradient(ellipse 26% 72% at 75% 38%,#000 10%,transparent 76%)}
.t-dark .mn-cols{background:repeating-linear-gradient(90deg,transparent 0 5px,rgba(150,215,255,.16) 5px 6px,transparent 6px 11px),repeating-linear-gradient(90deg,transparent 0 13px,rgba(2,151,222,.32) 13px 15px,transparent 15px 23px),radial-gradient(ellipse 22% 60% at 75% 40%,rgba(2,151,222,.3),transparent 72%)}
.t-light .mn-cols{background:repeating-linear-gradient(90deg,transparent 0 5px,rgba(255,255,255,.7) 5px 6px,transparent 6px 11px),repeating-linear-gradient(90deg,transparent 0 13px,rgba(2,151,222,.14) 13px 15px,transparent 15px 23px),radial-gradient(ellipse 22% 60% at 75% 40%,rgba(2,151,222,.16),transparent 72%)}
.menu-open .mn-cols{opacity:1;transform:none}.nwm.hov .mn-cols{filter:brightness(1.25)}
.mn-warm{opacity:0;transition:opacity 1.4s .4s}.menu-open .mn-warm{opacity:1}
.t-dark .mn-warm{background:radial-gradient(ellipse 42% 32% at 4% 104%,rgba(252,115,77,.38),transparent 72%)}.t-light .mn-warm{background:radial-gradient(ellipse 42% 32% at 4% 104%,rgba(252,115,77,.22),transparent 72%)}
.mn-in{position:absolute;inset:0}
.mn-ey{position:absolute;left:120px;top:124px;font:500 11px 'Geist Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);opacity:0;transition:opacity .6s}
.menu-open .mn-ey{opacity:1;transition-delay:.4s}
.mn-list{position:absolute;left:120px;top:156px;width:660px}
.mn-row{position:absolute;left:-120px;right:-80px;top:0;height:140px;pointer-events:none;opacity:0;transform:translateY(0);background:radial-gradient(ellipse 40% 50% at 32% 50%,rgba(2,151,222,.2),transparent 72%);transition:transform .8s var(--spring),opacity .5s}
.t-light .mn-row{background:radial-gradient(ellipse 40% 50% at 32% 50%,rgba(2,151,222,.12),transparent 72%)}
.nwm.hov .mn-row{opacity:1}
.mn-a{position:relative;display:grid;grid-template-columns:56px 1fr auto;align-items:center;height:94px;color:var(--ink2);text-decoration:none;outline:none;transition:opacity .45s,color .45s}
.mn-a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.menu-open .mn-a::after{transform:none;transition:transform .9s cubic-bezier(.7,0,.2,1) calc(.25s + var(--i)*.06s)}
.mn-n{display:flex;align-items:center;gap:8px;font:500 12px 'Geist Mono',monospace;letter-spacing:.1em;color:var(--ink3);transition:color .4s}
.mn-a.on .mn-n::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 10px var(--blue)}
.mn-t{display:block;overflow:hidden;padding:.06em 0 .12em;font:400 80px/1 'Instrument Serif',serif;letter-spacing:-.025em}
.mn-t>span{display:inline-block;transform:translateY(115%);transition:transform .45s cubic-bezier(.7,0,.2,1)}
.menu-open .mn-t>span{transform:none;transition:transform 1s cubic-bezier(.2,.75,.1,1) calc(.28s + var(--i)*.06s)}
.menu-open .mn-a:hover .mn-t>span,.menu-open .mn-a:focus-visible .mn-t>span{transform:translateX(26px);font-style:italic;transition:transform .7s var(--spring)}
.mn-a:hover,.mn-a:focus-visible,.mn-a.on{color:var(--ink)}.mn-a:hover .mn-n,.mn-a:focus-visible .mn-n{color:var(--blue)}
.mn-list:hover .mn-a:not(:hover){opacity:.32}
.mn-here{padding:5px 10px;border-radius:99px;border:1px solid rgba(2,151,222,.45);font:500 10px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);opacity:0;transition:opacity .5s}
.menu-open .mn-here{opacity:1;transition-delay:.8s}
.mn-pv{position:absolute;left:860px;top:180px;width:480px;height:440px;opacity:0;transform:translateY(40px);transition:opacity .4s,transform .6s}
.menu-open .mn-pv{opacity:1;transform:none;transition:opacity .8s .5s,transform 1.2s cubic-bezier(.16,.8,.2,1) .5s}
.mn-p{position:absolute;inset:0;opacity:0;transform:translateY(26px) rotate(2.5deg) scale(.95);transition:opacity .45s,transform .9s var(--spring);pointer-events:none}
.mn-p.on{opacity:1;transform:rotate(-2deg)}
.mn-p .bz{padding:10px;border-radius:24px}.mn-p .scr{height:301px;border-radius:15px}
.mn-p p{margin:26px 0 0 8px;max-width:420px;font:400 16px/1.55 Geist;color:var(--ink2)}
.mn-ft{position:absolute;left:120px;right:120px;bottom:52px;display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(14px);transition:opacity .4s,transform .5s}
.menu-open .mn-ft{opacity:1;transform:none;transition:opacity .8s .7s,transform 1s cubic-bezier(.16,.8,.2,1) .7s}
.mn-ft .fin-wa,.mn-ft .fin-mail{height:54px}.mn-ft .fin-wa i,.mn-ft .fin-mail i{width:40px;height:40px}
.mn-loc{margin-left:auto;font:500 11px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.menu-open .dock{transform:translateY(140%);opacity:0;pointer-events:none}.menu-open .wa{opacity:0;pointer-events:none}
.pv-c{height:100%;display:flex;flex-direction:column;padding:28px;color:#F3F5F7;background:radial-gradient(ellipse 60% 60% at 72% 0%,rgba(2,151,222,.38),transparent 70%),#07101a}
.pv-price small{font:500 9px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#5cc3f2}
.pv-price b{margin-top:16px;font:400 54px/1 'Instrument Serif',serif}.pv-price span{display:flex;align-items:flex-start;margin-top:10px;font:400 98px/.9 'Instrument Serif',serif;letter-spacing:-.03em}
.pv-price sup{margin:.14em .06em 0 0;font-size:.4em;opacity:.7}.pv-price em{margin-top:10px;font:500 9px 'Geist Mono',monospace;font-style:normal;letter-spacing:.12em;text-transform:uppercase;opacity:.55}
.pv-steps{justify-content:center;gap:16px}.pv-steps div{display:grid;grid-template-columns:36px 1fr;align-items:center;row-gap:7px}
.pv-steps b{font:500 11px 'Geist Mono',monospace;color:#5cc3f2}.pv-steps span{font:400 26px/1 'Instrument Serif',serif}
.pv-steps i{grid-column:2;position:relative;height:2px;background:rgba(255,255,255,.12)}.pv-steps i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);background:#0297DE}
.pv-ct{justify-content:flex-end;gap:10px}.pv-bub{align-self:flex-start;max-width:80%;margin-bottom:auto;padding:12px 14px;border-radius:16px 16px 16px 4px;background:#25D366;color:#04200f;font:500 12px/1.4 Geist}
.pv-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font:500 9.5px 'Geist Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.pv-row span b{display:block;margin-top:2px;font:500 14px Geist;letter-spacing:0;text-transform:none;color:#fff}
.pv-row>i{flex:none;width:36px;height:36px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center}.pv-row>i.m{background:#F3F5F7;color:#02070A}.pv-row svg{width:18px;height:18px}
/* mobile menu: links in the thumb zone, no previews */
.fm .mn-bg{clip-path:circle(0% at calc(100% - 38px) 80px)}.fm.menu-open .mn-bg{clip-path:circle(160% at calc(100% - 38px) 80px)}
.fm .mn-cols{-webkit-mask-image:radial-gradient(ellipse 70% 42% at 60% 8%,#000 10%,transparent 76%);mask-image:radial-gradient(ellipse 70% 42% at 60% 8%,#000 10%,transparent 76%)}
.fm .mn-ey{left:22px;top:auto;bottom:536px}
.fm .mn-list{left:20px;right:20px;top:auto;bottom:118px;width:auto}
.fm .mn-row{left:-20px;right:-20px;height:110px}
.fm .mn-a{grid-template-columns:38px 1fr auto;height:64px}.fm .mn-t{font-size:44px}
.fm.menu-open .mn-a:hover .mn-t>span{transform:translateX(12px)}
.fm .mn-here{font-size:8.5px;padding:4px 8px}
.fm .mn-pv{display:none}
.fm .mn-ft{left:16px;right:16px;bottom:30px;gap:8px}.fm .mn-ft .fin-wa{flex:1;height:58px}.fm .mn-ft .fin-mail{width:58px;height:58px;padding:0;justify-content:center}.fm .mn-ft .fin-mail span,.fm .mn-loc{display:none}
.fm .mn-ft .fin-mail i{width:44px;height:44px}

/* ===================== v5 · SERVICES PAGE ===================== */
.sp-hero{position:relative;overflow:hidden;padding:190px 0 96px;text-align:center;background:var(--bg)}
.sp-hero .l-warm{opacity:.5}
.sp-hero>:not(.lx){position:relative;z-index:3}
.sp-h1{margin-top:20px;font:400 104px/.94 'Instrument Serif',serif;letter-spacing:-.025em}.sp-h1 em,.ct-h em{font-style:italic}
.sp-sub{max-width:580px;margin:24px auto 0;font:400 18px/1.55 Geist;color:var(--ink2)}
.sp-search{width:560px;margin:36px auto 0;display:flex;align-items:center;gap:12px;height:62px;padding:0 22px;border-radius:99px;background:var(--pill);border:1px solid var(--pillb);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:text;transition:border-color .3s,box-shadow .3s}
.sp-search:focus-within{border-color:rgba(2,151,222,.6);box-shadow:0 0 0 4px rgba(2,151,222,.14)}
.sp-search svg{flex:none;width:18px;height:18px;color:var(--ink3)}
.sp-search input{all:unset;flex:1;text-align:left;font:400 16px Geist;color:var(--ink)}.sp-search input::placeholder{color:var(--ink3)}
.sp-search span{font:500 11px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);white-space:nowrap}
.sp-nav{position:sticky;top:96px;z-index:6;display:flex;justify-content:center;margin-top:-28px;pointer-events:none}
.sp-chips{display:flex;gap:4px;padding:5px;border-radius:99px;background:var(--pill);border:1px solid var(--pillb);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 12px 30px rgba(0,0,0,.2);pointer-events:auto;scrollbar-width:none}
.sp-chips::-webkit-scrollbar{display:none}
.sp-chips button{all:unset;flex:none;cursor:pointer;display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:99px;font:500 13px Geist;color:var(--ink2);transition:background .4s,color .4s}
.sp-chips b{font:500 10px 'Geist Mono',monospace;color:var(--ink3)}.sp-chips button.on{background:var(--ink);color:var(--bg)}.sp-chips button.on b{color:var(--bg);opacity:.6}
.sp-cat{position:relative;padding:120px 120px 30px;background:var(--bg)}
.sp-ch{display:grid;grid-template-columns:1fr 380px;align-items:end;gap:40px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.sp-ch span{font:500 12px 'Geist Mono',monospace;letter-spacing:.12em;color:var(--blue)}
.sp-ch h2{margin-top:14px;font:400 76px/.95 'Instrument Serif',serif;letter-spacing:-.02em}.sp-ch p{font:400 16px/1.55 Geist;color:var(--ink2)}
.sp-pk{margin-top:44px;border-radius:32px}.t-light .sp-pk{margin:44px 0 0;border-radius:32px}
.sp-pk .prc-in{padding:40px 44px 48px}.sp-pk .pk-group{margin-top:0}
.sps{display:grid;grid-template-columns:600px 1fr;gap:72px;align-items:center;margin-top:80px}
.sps.rev{grid-template-columns:1fr 600px}.sps.rev .sps-m{order:2}
.sps-m{min-width:0;transition:transform .9s var(--spring)}.sps-t{min-width:0}.fd .sps:hover .sps-m{transform:translateY(-8px) rotate(-.6deg)}
.sps-m .bz{border-radius:24px}.sps-m .scr{height:380px;border-radius:15px}
.sps-tag{display:inline-flex;align-items:center;gap:10px;font:500 11px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.sps-tag svg{width:16px;height:16px}
.sps h3{margin-top:18px;font:400 60px/.98 'Instrument Serif',serif;letter-spacing:-.015em}
.sps p{margin-top:16px;max-width:440px;font:400 17px/1.6 Geist;color:var(--ink2)}
.sps-p{margin-top:28px}
.spp-v{display:inline-flex;flex-wrap:wrap;align-items:flex-end;gap:4px 8px}
.spp-v small{margin-bottom:.5em;font:500 11px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.spp-v b{font:400 64px/.9 'Instrument Serif',serif;letter-spacing:-.02em;color:var(--ink)}
.spp-v em{margin-bottom:.4em;font:400 15px Geist;font-style:normal;color:var(--ink3)}
.spp-op{display:inline-flex;gap:30px}.spp-op>span{display:flex;flex-direction:column;gap:6px}
.spp-op small{font:500 10.5px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}.spp-op b{font:400 52px/.9 'Instrument Serif',serif;color:var(--ink)}
.spp-cu{font:italic 400 40px/1 'Instrument Serif',serif;color:var(--ink)}
.sps-cta,.sr-cta,.wkn-cta,.wx-cta{display:inline-flex;align-items:center;gap:14px;height:50px;padding:0 6px 0 22px;border-radius:99px;background:var(--cta);color:var(--ctaink);font:600 14px Geist;cursor:pointer;white-space:nowrap;transition:transform .6s var(--spring)}
.sps-cta{margin-top:30px}.wx-cta{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:14px;height:50px;padding:0 6px 0 22px;border-radius:99px;background:var(--cta);color:var(--ctaink);font:600 14px Geist;cursor:pointer;text-decoration:none}.sps-cta i,.sr-cta i,.wkn-cta i,.wx-cta i{width:38px;height:38px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .6s var(--spring)}
.sps-cta svg,.sr-cta svg,.wkn-cta svg,.wx-cta svg{width:15px;height:15px}.sps-cta:hover i,.sr-cta:hover i,.wkn-cta:hover i,.wx-cta:hover i{transform:translateX(3px)}
.sp-list{margin-top:64px;border-top:1px solid var(--line)}
.sr{position:relative;border-bottom:1px solid var(--line)}
.sr::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(2,151,222,.13),transparent 62%);opacity:0;transition:opacity .5s}
.sr:hover::before,.sr.open::before{opacity:1}
.sr-h{all:unset;box-sizing:border-box;position:relative;display:grid;grid-template-columns:56px 44px 1fr auto 40px;align-items:center;gap:0 18px;width:100%;min-height:90px;padding:14px 10px;cursor:pointer}
.sr-h:focus-visible{box-shadow:inset 0 0 0 2px rgba(2,151,222,.6);border-radius:12px}
.sr-n{font:500 11px 'Geist Mono',monospace;letter-spacing:.1em;color:var(--ink3)}
.sr-ic{width:42px;height:42px;border-radius:13px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink2);transition:border-color .4s,color .4s,background .4s}.sr-ic svg{width:19px;height:19px}
.sr:hover .sr-ic,.sr.open .sr-ic{border-color:rgba(2,151,222,.6);color:var(--blue);background:rgba(2,151,222,.08)}
.sr-t{font:400 34px/1.05 'Instrument Serif',serif;color:var(--ink);transition:transform .7s var(--spring)}.sr:hover .sr-t,.sr.open .sr-t{transform:translateX(8px)}
.sr-p{justify-self:end;text-align:right}.sr-p .spp-v b{font-size:34px}.sr-p .spp-op{gap:20px}.sr-p .spp-op b{font-size:28px}.sr-p .spp-cu{font-size:24px}
.sr-x{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);transition:transform .55s var(--spring),background .4s,border-color .4s}
.sr-x::before,.sr-x::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;margin:-.75px 0 0 -5.5px;background:var(--ink2)}.sr-x::after{transform:rotate(90deg)}
.sr.open .sr-x{transform:rotate(45deg);background:var(--blue);border-color:var(--blue)}.sr.open .sr-x::before,.sr.open .sr-x::after{background:#fff}
.sr-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.7,0,.2,1)}.sr.open .sr-b{grid-template-rows:1fr}
.sr-b>div{min-height:0;overflow:hidden}.sr-bi{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 70px 26px 128px}
.sr-bi p{max-width:560px;font:400 16px/1.6 Geist;color:var(--ink2)}
.hide{display:none!important}
.sp-empty{display:none;padding:90px 20px 40px;text-align:center;font:400 32px 'Instrument Serif',serif;color:var(--ink2);background:var(--bg)}.sp-empty.on{display:block}
.sp-clear{all:unset;cursor:pointer;margin-left:10px;font:500 12px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);border-bottom:1px solid currentColor}
.pg-services .fin{margin-top:40px}
.tour{position:relative;height:100%;overflow:hidden;background:#0b1622;touch-action:pan-y;cursor:ew-resize}
.tour-pan{position:absolute;top:0;bottom:0;left:0;width:200%;transform:translateX(calc(var(--pan,.3) * -50%));transition:transform .5s cubic-bezier(.2,.7,.1,1)}.tour-pan svg{width:100%;height:100%}
.tour-b{position:absolute;top:14px;left:14px;padding:5px 10px;border-radius:99px;background:rgba(2,7,10,.6);color:#fff;font:600 10px 'Geist Mono',monospace;letter-spacing:.1em;backdrop-filter:blur(6px)}
.tour-c{position:absolute;top:12px;right:14px;width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);transform:rotate(calc(var(--pan,.3) * 360deg));transition:transform .5s}
.tour-c i{position:absolute;left:50%;top:4px;width:2px;height:10px;margin-left:-1px;border-radius:2px;background:#FC734D}
.tour-h{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.92);color:#0b1622;font:600 8.5px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.brnd{position:relative;height:100%;overflow:hidden;background:radial-gradient(circle at 30% 30%,#2a3a4d,#0b1622 70%)}
.bc{position:absolute;width:210px;height:124px;padding:16px;border-radius:8px;box-shadow:0 24px 40px rgba(0,0,0,.45);transition:transform .9s var(--spring)}
.b1{left:46px;top:58px;background:#1d1a16;color:#ECE6DC;transform:rotate(-8deg)}.b1 b{display:block;font:400 24px 'Instrument Serif',serif}
.b1 small{font:500 7px 'Geist Mono',monospace;letter-spacing:.18em;text-transform:uppercase;opacity:.6}.b1 i{position:absolute;left:16px;right:16px;bottom:16px;height:1px;background:#b6875a}
.b2{left:168px;top:110px;background:#ECE6DC;color:#1d1a16;transform:rotate(6deg)}.b2 b{display:block;font:italic 400 30px 'Instrument Serif',serif}
.b2 span{display:block;width:60%;height:4px;margin-top:9px;border-radius:2px;background:rgba(29,26,22,.5)}.b2 span.s{width:40%;background:rgba(29,26,22,.25)}
.fd .sps:hover .b1{transform:rotate(-11deg) translate(-8px,-5px)}.fd .sps:hover .b2{transform:rotate(9deg) translate(10px,5px)}
.brnd-sw{position:absolute;right:18px;top:18px;display:flex;align-items:center;gap:5px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.92)}
.brnd-sw i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.brnd-sw b{margin-left:4px;font:400 20px/1 'Instrument Serif',serif;color:#1d1a16}
/* services · mobile */
.fm .sp-hero{padding:132px 20px 76px}.fm .sp-h1{font-size:50px}.fm .sp-sub{font-size:15px}
.fm .sp-search{width:auto;height:54px;margin-top:28px;padding:0 18px}.fm .sp-search span{display:none}
.fm .sp-nav{top:110px;justify-content:flex-start;margin-top:-26px;padding:0 12px}
.fm .sp-chips{max-width:100%;overflow-x:auto}.fm .sp-chips button{height:36px;padding:0 13px;font-size:12.5px}
.fm .sp-cat{padding:84px 16px 20px}.fm .sp-ch{grid-template-columns:1fr;gap:12px;padding-bottom:20px}.fm .sp-ch h2{font-size:44px}.fm .sp-ch p{font-size:14px}
.fm .sp-pk{margin-top:26px;border-radius:26px}.fm .sp-pk .prc-in{padding:18px 12px 12px}
.fm .sps,.fm .sps.rev{grid-template-columns:1fr;gap:22px;margin-top:46px}.fm .sps.rev .sps-m{order:0}
.fm .sps-m .bz{padding:7px;border-radius:20px}.fm .sps-m .scr{border-radius:14px}
.fm .sps h3{font-size:40px}.fm .sps p{font-size:15px}.fm .spp-v b{font-size:48px}.fm .spp-op b{font-size:36px}.fm .spp-op{gap:22px}.fm .spp-cu{font-size:30px}
.fm .sps-cta{margin-top:22px}
.fm .sp-list{margin-top:40px}
.fm .sr-h{grid-template-columns:38px 1fr 32px;gap:6px 12px;min-height:76px;padding:14px 2px}
.fm .sr-n{display:none}.fm .sr-ic{grid-column:1;grid-row:1/3;width:38px;height:38px}.fm .sr-t{grid-column:2;grid-row:1;font-size:25px}
.fm .sr-p{grid-column:2;grid-row:2;justify-self:start;text-align:left}.fm .sr-x{grid-column:3;grid-row:1/3;width:30px;height:30px}
.fm .sr-p .spp-v b{font-size:24px}.fm .sr-p .spp-op b{font-size:22px}.fm .sr-p .spp-cu{font-size:18px}
.fm .sr-bi{flex-direction:column;align-items:flex-start;gap:16px;padding:0 4px 22px 52px}.fm .sr-bi p{font-size:14.5px}
.fm .sr:hover .sr-t{transform:none}

/* ===================== v5 · CONTACT PAGE ===================== */
.ct{position:relative;overflow:hidden;min-height:900px;padding:160px 96px 120px;background:var(--bg)}
.ct-lx{position:absolute;inset:0;pointer-events:none}.ct-lx>i{position:absolute;inset:0;display:block}
.t-dark .ct-lx{background:radial-gradient(ellipse 36% 60% at 74% 28%,rgba(2,151,222,.3),transparent 70%),radial-gradient(ellipse 80% 60% at 60% 40%,rgba(16,44,128,.3),transparent 72%),radial-gradient(ellipse 40% 34% at 6% 104%,rgba(252,115,77,.42),transparent 72%)}
.t-light .ct-lx{background:radial-gradient(ellipse 36% 60% at 74% 28%,rgba(2,151,222,.16),transparent 70%),radial-gradient(ellipse 40% 34% at 6% 104%,rgba(252,115,77,.24),transparent 72%)}
.ct-cols{-webkit-mask-image:radial-gradient(ellipse 24% 62% at 74% 18%,#000 10%,transparent 76%);mask-image:radial-gradient(ellipse 24% 62% at 74% 18%,#000 10%,transparent 76%)}
.t-dark .ct-cols{background:repeating-linear-gradient(90deg,transparent 0 5px,rgba(150,215,255,.15) 5px 6px,transparent 6px 11px),repeating-linear-gradient(90deg,transparent 0 13px,rgba(2,151,222,.3) 13px 15px,transparent 15px 23px)}
.t-light .ct-cols{background:repeating-linear-gradient(90deg,transparent 0 5px,rgba(255,255,255,.7) 5px 6px,transparent 6px 11px),repeating-linear-gradient(90deg,transparent 0 13px,rgba(2,151,222,.12) 13px 15px,transparent 15px 23px)}
.ct-in{position:relative;z-index:2;display:grid;grid-template-columns:1fr 620px;gap:80px;align-items:start}
.ct-h{margin-top:20px;font:400 124px/.9 'Instrument Serif',serif;letter-spacing:-.03em}
.ct-sub{max-width:440px;margin-top:26px;font:400 18px/1.55 Geist;color:var(--ink2)}
.ct-ways{display:grid;gap:10px;max-width:470px;margin-top:44px}
.ct-w{display:flex;align-items:center;gap:16px;padding:14px 18px 14px 14px;border-radius:20px;background:var(--pill);border:1px solid var(--pillb);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);text-decoration:none;transition:transform .7s var(--spring),border-color .4s}
a.ct-w:hover{transform:translateX(6px);border-color:rgba(2,151,222,.5)}
.ct-w>i:first-child{flex:none;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--seg);color:var(--ink)}.ct-w>i:first-child svg{width:22px;height:22px}
.ct-wa{padding:18px 18px 18px 14px}.ct-wa>i:first-child{background:#25D366;color:#fff}
.ct-w span{flex:1;display:flex;flex-direction:column;gap:2px}.ct-w small{font:500 10px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.ct-w b{font:500 17px Geist}.ct-wa b{font-size:20px}.ct-w em{font:400 14px Geist;font-style:normal;color:var(--ink2)}
.ct-arr{width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:center}.ct-arr svg{width:14px;height:14px}
.rv-note.left{justify-content:flex-start}
.ct-f{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:34px;border-radius:30px;border:1px solid var(--pillb);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 40px 90px rgba(0,0,0,.35)}
.t-light .ct-f{background:rgba(255,255,255,.75);box-shadow:0 30px 70px rgba(30,45,70,.12)}
.ct-fh,.ct-pre,.fl-bud,.fl-ta,.fl-okw,.ct-sub-b,.ct-msg{grid-column:1/-1}
.ct-fh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.ct-fh b{font:400 36px/1 'Instrument Serif',serif}.ct-fh span{font:500 10px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.ct-pre{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;background:rgba(2,151,222,.1);border:1px solid rgba(2,151,222,.32);font:500 15px Geist}
.ct-pre small{font:500 10px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.fl{position:relative}
.fl>input,.fl>select,.fl>textarea{all:unset;box-sizing:border-box;display:block;width:100%;height:62px;padding:25px 16px 8px;border-radius:14px;background:var(--seg);border:1px solid var(--line);font:400 16px Geist;color:var(--ink);transition:border-color .3s,background .3s,box-shadow .3s}
.fl>select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px}.fl>select option,.fl>select optgroup{color:#02070A;background:#fff}
.fl>textarea{height:150px;padding-top:30px;white-space:pre-wrap;overflow:auto;resize:none}
.fl:not(.fl-okw)>label{position:absolute;left:17px;top:21px;font:400 15px Geist;color:var(--ink3);pointer-events:none;transform-origin:0 0;transition:transform .4s var(--spring),color .3s}
.fl>input:focus+label,.fl>input:not(:placeholder-shown)+label,.fl>textarea:focus+label,.fl>textarea:not(:placeholder-shown)+label,.fl-sel>label{transform:translateY(-12px) scale(.76);color:var(--ink2)}
.fl>input:focus,.fl>select:focus,.fl>textarea:focus{border-color:rgba(2,151,222,.7);background:var(--pill);box-shadow:0 0 0 4px rgba(2,151,222,.15)}
.fl.err>input,.fl.err>select,.fl.err>textarea{border-color:rgba(252,115,77,.85);box-shadow:0 0 0 4px rgba(252,115,77,.12)}
.fl-e{display:block;padding:6px 4px 0;font:500 12.5px Geist;color:#ff9d80}.t-light .fl-e{color:#c8492a}.fl-e:empty{display:none}
.fl-chev{position:absolute;right:20px;top:25px;width:8px;height:8px;border-right:1.5px solid var(--ink2);border-bottom:1.5px solid var(--ink2);transform:rotate(45deg);pointer-events:none}
.fl-c{position:absolute;right:14px;top:10px;font:500 10px 'Geist Mono',monospace;color:var(--ink3)}
.fl-lab{display:block;margin:6px 2px 10px;font:500 10.5px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.fl-bud>div{display:flex;flex-wrap:wrap;gap:6px}
.fl-bud button{all:unset;cursor:pointer;padding:10px 15px;border-radius:99px;border:1px solid var(--line);font:500 13.5px Geist;color:var(--ink2);transition:background .3s,color .3s,border-color .3s,transform .5s var(--spring)}
.fl-bud button:hover{border-color:var(--ink3)}.fl-bud button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.fl-bud button:active{transform:scale(.96)}
.fl-ok{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font:400 13.5px/1.5 Geist;color:var(--ink2)}
.fl-ok input{position:absolute;opacity:0;width:1px;height:1px}
.fl-ok>i{position:relative;flex:none;width:22px;height:22px;margin-top:1px;border-radius:7px;border:1px solid var(--line);background:var(--seg);transition:background .3s,border-color .3s}
.fl-ok input:checked+i{background:var(--blue);border-color:var(--blue)}.fl-ok input:checked+i::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fl-okw.err .fl-ok>i{border-color:#FC734D}.fl-ok a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.ct-sub-b{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between;height:62px;margin-top:6px;padding:0 7px 0 26px;border-radius:99px;background:var(--cta);color:var(--ctaink);font:600 16px Geist;transition:transform .5s var(--spring)}
.ct-sub-b i{width:48px;height:48px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .6s var(--spring)}.ct-sub-b svg{width:16px;height:16px}
.ct-sub-b:hover i{transform:translateX(3px)}.ct-sub-b:active{transform:scale(.985)}.ct-sub-b:focus-visible{box-shadow:0 0 0 4px rgba(2,151,222,.45)}
.ct-msg{padding:18px;border-radius:16px;border:1px dashed rgba(252,115,77,.55);background:rgba(252,115,77,.07);font:400 14px/1.55 Geist;color:var(--ink2)}.ct-msg:empty{display:none}
.ct-msg b{display:block;margin-bottom:6px;font-weight:600;color:var(--ink)}.ct-msg .fin-wa{display:inline-flex;height:52px;margin-top:14px}.ct-msg .fin-wa i{width:38px;height:38px}
.ft-wrap{position:relative;background:var(--bg)}.ft-wrap .ft{margin-top:0}
/* contact · mobile */
.fm .ct{min-height:0;padding:124px 16px 56px}.fm .ct-in{grid-template-columns:1fr;gap:36px}
.fm .ct-h{font-size:70px}.fm .ct-sub{font-size:15px}.fm .ct-ways{margin-top:28px}
.fm .ct-f{grid-template-columns:1fr;padding:22px 16px 18px;border-radius:24px}.fm .ct-fh b{font-size:30px}
.fm .ft-wrap .ft{padding-bottom:120px}

/* ===================== v6 · LIGHT-MODE PRICING (no forced dark) ===================== */
.t-light .prc{background:linear-gradient(180deg,#E9F0F5,#F4F2EE 62%);box-shadow:inset 0 0 0 1px rgba(2,7,10,.05)}
.t-light .prc-lx{background:radial-gradient(ellipse 40% 42% at 50% 0%,rgba(2,151,222,.16),transparent 72%),radial-gradient(ellipse 40% 12% at 50% 100%,rgba(252,115,77,.16),transparent 72%)}
.t-light .prc-lx::before{background:repeating-linear-gradient(90deg,transparent 0 5px,rgba(255,255,255,.8) 5px 6px,transparent 6px 11px),repeating-linear-gradient(90deg,transparent 0 13px,rgba(2,151,222,.1) 13px 15px,transparent 15px 23px)}
.t-light .pk{background:linear-gradient(180deg,rgba(2,7,10,.11),rgba(2,7,10,.03) 60%);box-shadow:0 18px 40px rgba(30,45,70,.09)}
.t-light .pk-feat{background:linear-gradient(180deg,rgba(2,151,222,.75),rgba(2,151,222,.16) 38%,rgba(2,7,10,.05) 75%)}
.t-light .pk-in{background:linear-gradient(180deg,#fff,#FBFAF7 80%)}
.t-light .pk-feat .pk-in{background:radial-gradient(ellipse 80% 40% at 50% 0%,rgba(2,151,222,.09),transparent 70%),linear-gradient(180deg,#fff,#FBFAF7 80%)}
.t-light .pk-mo .pk{background:linear-gradient(180deg,rgba(2,7,10,.09),rgba(2,7,10,.03))}.t-light .pk-mo .pk-in{background:rgba(255,255,255,.88)}
.t-light .pk-idx{color:#0577b0}.t-light .pk-badge{background:rgba(2,151,222,.1);border-color:rgba(2,151,222,.35);color:#0577b0}
.t-light .pk-spot{background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(2,151,222,.08),transparent 62%)}
.t-light .pk-edge{background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(2,151,222,.85),transparent 62%)}
.t-light.fd .pk:hover,.t-light.fd .pk:focus-within{box-shadow:0 36px 70px rgba(30,45,70,.17),0 0 40px rgba(2,151,222,.1)}
.t-light .pk-cta i{background:rgba(2,7,10,.06)}.t-light .pk-list li i{background:rgba(2,7,10,.03)}.t-light .pk-list svg{stroke:#02070A}
.t-light.fd .pk:hover .pk-list svg,.t-light .pk.open .pk-list svg{stroke:#fff}
.t-light .pk-excl{color:#b8492c}.t-light.fm .pk{box-shadow:0 8px 24px rgba(30,45,70,.08)}.t-light.fm .pk.open{box-shadow:0 20px 44px rgba(30,45,70,.15),0 0 30px rgba(2,151,222,.08)}
/* social */
.soc{display:flex;gap:8px;margin-top:20px}
.soc a,.ft .soc a{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line);color:var(--ink2);line-height:1;transition:transform .5s var(--spring),color .3s,border-color .3s,background .3s}
.soc a:hover,.soc a:focus-visible{transform:translateY(-3px);color:var(--ink);border-color:rgba(2,151,222,.6);background:rgba(2,151,222,.08);outline:none}.soc svg{width:18px;height:18px}
.ct-l .soc{margin-top:16px}

/* ===================== v6 · LEGAL ===================== */
.lg{position:relative;overflow-x:clip;padding:170px 120px 120px;background:var(--bg)}
.lg-lx{position:absolute;left:0;right:0;top:0;height:640px;pointer-events:none}
.t-dark .lg-lx{background:radial-gradient(ellipse 40% 60% at 82% 0%,rgba(2,151,222,.24),transparent 70%),radial-gradient(ellipse 30% 40% at 0% 0%,rgba(252,115,77,.12),transparent 70%)}
.t-light .lg-lx{background:radial-gradient(ellipse 40% 60% at 82% 0%,rgba(2,151,222,.12),transparent 70%),radial-gradient(ellipse 30% 40% at 0% 0%,rgba(252,115,77,.08),transparent 70%)}
.lg-in{position:relative;max-width:1200px;margin:0 auto}
.lg-h{margin-top:18px;font:400 96px/.95 'Instrument Serif',serif;letter-spacing:-.025em}
.lg-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:30px}
.lg-tabs a{padding:10px 16px;border-radius:99px;border:1px solid var(--line);font:500 13px Geist;color:var(--ink2);text-decoration:none;transition:background .3s,color .3s,border-color .3s}
.lg-tabs a:hover{border-color:var(--ink3);color:var(--ink)}.lg-tabs a.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.lg-meta{margin-top:20px;font:500 11px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
mark.ph{padding:0 4px;border-radius:4px;background:rgba(252,115,77,.14);border-bottom:1px dashed rgba(252,115,77,.7);color:inherit}
.lg-warn{display:flex;gap:12px;align-items:flex-start;max-width:780px;margin-top:22px;padding:14px 16px;border-radius:14px;border:1px dashed rgba(252,115,77,.5);background:rgba(252,115,77,.06);font:400 14px/1.55 Geist;color:var(--ink2)}
.lg-grid{display:grid;grid-template-columns:280px 1fr;gap:80px;align-items:start;margin-top:70px}
.lg-toc{position:sticky;top:110px;display:flex;flex-direction:column}
.lg-toc small{margin-bottom:10px;font:500 10.5px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.lg-toc a{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font:400 14px/1.35 Geist;color:var(--ink2);text-decoration:none;transition:color .3s,padding .5s var(--spring)}
.lg-toc a span{font:500 10px 'Geist Mono',monospace;color:var(--ink3);padding-top:2px}.lg-toc a:hover{color:var(--ink);padding-left:6px}
.lg-doc{max-width:720px}.lg-doc section{padding:34px 0;border-bottom:1px solid var(--line)}.lg-doc section:first-child{padding-top:0}
.lg-doc h2{display:flex;align-items:baseline;gap:16px;font:400 40px/1.05 'Instrument Serif',serif;letter-spacing:-.01em}.lg-doc h2 span{font:500 12px 'Geist Mono',monospace;color:var(--blue)}
.lg-doc p{margin-top:14px;font:400 17px/1.75 Geist;color:var(--ink2)}
.lg-tw{margin-top:22px;overflow-x:auto}.lg-t{width:100%;min-width:620px;border-collapse:collapse;font:400 14px/1.5 Geist}
.lg-t th{padding:10px;text-align:left;border-bottom:1px solid var(--line);font:500 10px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.lg-t td{padding:12px 10px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top}.lg-t td:first-child{font:500 12.5px 'Geist Mono',monospace;color:var(--ink)}
.fm .lg{padding:120px 18px 70px}.fm .lg-h{font-size:52px}.fm .lg-grid{grid-template-columns:1fr;gap:24px;margin-top:40px}
.fm .lg-toc{position:relative;top:auto;flex-direction:row;gap:6px;overflow-x:auto;scrollbar-width:none}.fm .lg-toc small,.fm .lg-toc a span{display:none}
.fm .lg-toc a{flex:none;padding:8px 12px;border:1px solid var(--line);border-radius:99px;font-size:12px}.fm .lg-toc a:hover{padding-left:12px}
.fm .lg-doc h2{font-size:30px}.fm .lg-doc p{font-size:15.5px}.fm .lg-tabs a{padding:9px 13px;font-size:12px}

/* ===================== v6 · WORK ===================== */
.wk-idx{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:960px;margin:34px auto 0}
.wk-idx button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;height:44px;padding:0 18px;border-radius:99px;background:var(--pill);border:1px solid var(--pillb);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:500 14px Geist;color:var(--ink);transition:transform .5s var(--spring),border-color .3s}
.wk-idx button span{font:500 10px 'Geist Mono',monospace;color:var(--blue)}.wk-idx button:hover,.wk-idx button:focus-visible{transform:translateY(-2px);border-color:rgba(2,151,222,.55)}
.wx{position:relative;display:grid;grid-template-columns:440px 1fr;gap:64px;align-items:center;min-height:860px;padding:100px 120px;background:var(--bg);overflow:hidden}
.wx[data-rv]{opacity:1;transform:none}.wx.rev{grid-template-columns:1fr 440px}.wx.rev .wx-t{order:2}
.wx::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1.4s;background:radial-gradient(ellipse 42% 52% at 68% 52%,color-mix(in srgb,var(--acc) 24%,transparent),transparent 72%)}
.wx.rev::before{background:radial-gradient(ellipse 42% 52% at 32% 52%,color-mix(in srgb,var(--acc) 24%,transparent),transparent 72%)}.wx.in::before{opacity:1}
.t-light .wx::before{background:radial-gradient(ellipse 42% 52% at 68% 52%,color-mix(in srgb,var(--acc) 14%,transparent),transparent 72%)}.t-light .wx.rev::before{background:radial-gradient(ellipse 42% 52% at 32% 52%,color-mix(in srgb,var(--acc) 14%,transparent),transparent 72%)}
.wx-t{position:relative;z-index:2}.wx-t>*{opacity:0;transform:translateY(22px);transition:opacity .9s,transform 1.1s cubic-bezier(.16,.8,.2,1)}.wx.in .wx-t>*{opacity:1;transform:none}
.wx-t>:nth-child(2){transition-delay:.06s}.wx-t>:nth-child(3){transition-delay:.12s}.wx-t>:nth-child(4){transition-delay:.18s}.wx-t>:nth-child(5){transition-delay:.24s}.wx-t>:nth-child(6){transition-delay:.3s}
.wx-n{display:block;font:italic 400 150px/.8 'Instrument Serif',serif;color:transparent;-webkit-text-stroke:1px var(--ink3)}
.wx-cat{display:block;margin-top:22px;font:500 11px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.wx-t h2{margin-top:12px;font:400 80px/.95 'Instrument Serif',serif;letter-spacing:-.02em}
.wx-t p{margin-top:18px;font:400 17px/1.6 Geist;color:var(--ink2)}
.wx-f{list-style:none;display:grid;gap:9px;margin-top:22px}.wx-f li{display:flex;align-items:center;gap:10px;font:400 15px/1.4 Geist;color:var(--ink)}.wx-f li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.wx-act{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px}
.wx-live{padding-bottom:4px;border-bottom:1px solid var(--ink3);font:500 14px Geist;color:var(--ink);text-decoration:none;transition:border-color .3s}.wx-live:hover{border-color:var(--acc)}
.wx-s{position:relative;height:640px}
.wx-d{position:absolute;right:0;top:20px;width:700px;padding:10px;border-radius:24px;opacity:0;transform:perspective(1600px) translateY(80px) rotateX(12deg) rotateY(-10deg);transition:opacity 1s .1s,transform 1.4s cubic-bezier(.16,.8,.2,1) .1s}
.wx.in .wx-d{opacity:1;transform:perspective(1600px) rotateY(-5deg)}.fd .wx.in .wx-d:hover{transform:perspective(1600px) rotateY(0) translateY(-6px);transition:transform .9s var(--spring)}
.wx.rev .wx-d{right:auto;left:0;transform:perspective(1600px) translateY(80px) rotateX(12deg) rotateY(10deg)}.wx.rev.in .wx-d{transform:perspective(1600px) rotateY(5deg)}
.wx-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px}.wx-bar>i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.wx-bar>span{display:flex;align-items:center;gap:6px;margin:0 auto;font:500 10.5px 'Geist Mono',monospace;color:var(--ink3)}.wx-bar svg{width:9px;height:9px}
.wx-scr{position:relative;height:420px;overflow:hidden;border-radius:0 0 14px 14px;background:#0b0f14}
.wx-scr img,.wx-ms img{display:block;width:100%;height:auto;max-width:none}
.wx-m{position:absolute;z-index:3;left:30px;bottom:0;width:214px;padding:9px;border-radius:38px;background:#0b0f14;box-shadow:0 40px 80px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.12);opacity:0;transform:translateY(120px) rotate(-4deg);transition:opacity 1s .35s,transform 1.5s cubic-bezier(.16,.8,.2,1) .35s}
.wx.in .wx-m{opacity:1;transform:rotate(-3deg)}.wx.rev .wx-m{left:auto;right:30px}.wx.rev.in .wx-m{transform:rotate(3deg)}
.wx-ms{aspect-ratio:390/844;overflow:hidden;border-radius:30px;background:#fff}
.wx-ph{height:100%;min-height:200px;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;border:1px dashed rgba(252,115,77,.5);font:500 11px 'Geist Mono',monospace;color:#ff9d80}
.wx-live-m{position:relative;overflow:hidden;pointer-events:none}.wx-mini{width:1440px;transform-origin:0 0}.wx-mini.m{width:393px}
.wkn{padding-top:170px}
.wkn-ghost{width:640px;max-width:100%;margin:44px auto 0;opacity:0;transform:translateY(30px) scale(.96);transition:opacity 1s .45s,transform 1.4s cubic-bezier(.16,.8,.2,1) .45s}.fin.in .wkn-ghost{opacity:1;transform:none}
.wkn-f{overflow:hidden;border-radius:22px;border:1.5px dashed color-mix(in srgb,var(--ink) 28%,transparent);background:rgba(255,255,255,.03);backdrop-filter:blur(10px);transition:border-color .5s,transform .8s var(--spring)}
.fd .wkn-f:hover{border-color:var(--orange);transform:translateY(-4px)}
.wkn-cur{display:inline-block;width:1px;height:12px;margin-left:2px;background:var(--orange);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
.wkn-b{height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.wkn-b span{font:italic 400 92px/1 'Instrument Serif',serif;color:transparent;-webkit-text-stroke:1px var(--ink3)}.wkn-b em{font:500 11px 'Geist Mono',monospace;font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.wcs{position:absolute;inset:0;z-index:50;display:none;overflow-y:auto;overflow-x:hidden;background:var(--bg);scrollbar-width:none}.wcs.open{display:block}
.wcs-top{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:24px 48px;background:linear-gradient(var(--bg) 60%,transparent)}
.wcs-top>div{display:flex;gap:10px}.wcs-next,.wcs-x{all:unset;cursor:pointer;height:48px;display:flex;align-items:center;justify-content:center;border-radius:99px;border:1px solid var(--line);background:var(--pill);backdrop-filter:blur(10px);color:var(--ink);font:500 14px Geist}
.wcs-next{padding:0 20px}.wcs-x{width:48px;font:300 24px/1 Geist}.wcs-next:focus-visible,.wcs-x:focus-visible{box-shadow:0 0 0 3px rgba(2,151,222,.5)}
.wcs-in{position:relative;padding:40px 120px 110px}
.wcs-in::before{content:"";position:absolute;left:0;right:0;top:-100px;height:760px;pointer-events:none;background:radial-gradient(ellipse 50% 60% at 72% 0%,color-mix(in srgb,var(--acc) 22%,transparent),transparent 72%)}
.wcs-h{position:relative;display:grid;grid-template-columns:1fr 440px;gap:60px;align-items:end}
.wcs-h h2{margin-top:14px;font:400 128px/.88 'Instrument Serif',serif;letter-spacing:-.03em}.wcs-h p{font:400 17px/1.6 Geist;color:var(--ink2)}
.wcs-media{position:relative;display:grid;grid-template-columns:1fr 260px;gap:30px;align-items:end;margin-top:60px}
.wcs-d{padding:10px;border-radius:24px}.wcs-scroll{height:560px;overflow-y:auto;border-radius:0 0 14px 14px;background:#0b0f14;scrollbar-width:thin}.wcs-scroll img,.wcs-ms img{display:block;width:100%}
.wcs-hint{display:block;margin-top:12px;font:500 10.5px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.wcs-m{padding:9px;border-radius:38px;background:#0b0f14;box-shadow:0 40px 80px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.12)}.wcs-ms{aspect-ratio:390/844;overflow-y:auto;border-radius:30px;background:#fff;scrollbar-width:none}
.wcs-cols{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:80px}
.wcs-cols h3{margin-bottom:16px;font:500 11px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.wcs-f{list-style:none;border-top:1px solid var(--line)}.wcs-f li{display:flex;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font:400 18px/1.4 Geist;color:var(--ink)}.wcs-f li span{font:500 11px 'Geist Mono',monospace;color:var(--acc)}
.wcs-demo{margin-top:40px}.wcs-demo .bz{padding:8px;border-radius:20px}.wcs-demo .scr{border-radius:13px}.wcs-demo .rv{margin-top:12px}
/* work · mobile */
.fm .wk-idx button{height:40px;padding:0 14px;font-size:13px}
.fm .wx,.fm .wx.rev{grid-template-columns:1fr;gap:30px;min-height:0;padding:80px 16px 60px}.fm .wx.rev .wx-t{order:0}
.wx-t,.wx-s,.wcs-h>*{min-width:0}.fm .wx-n{font-size:84px}.fm .wx-t h2{font-size:42px;overflow-wrap:anywhere}.fm .wcs-h h2{overflow-wrap:anywhere}.fm .wx-t p{font-size:15px}
.fm .wx-s{height:auto;padding-bottom:56px}
.fm .wx-d,.fm .wx.rev .wx-d{position:relative;top:0;left:auto;right:auto;width:auto;padding:7px;border-radius:20px;transform:translateY(60px)}.fm .wx.in .wx-d,.fm .wx.rev.in .wx-d{transform:none}
.fm .wx-scr{--sh:220px;height:220px}.fm .wx-m,.fm .wx.rev .wx-m{left:auto;right:4px;width:124px;padding:6px;border-radius:24px}.fm .wx-ms{border-radius:19px}
.fm .wkn{padding-top:110px}.fm .wkn-b{height:160px}.fm .wkn-b span{font-size:64px}
.fm .wcs-top{padding:56px 16px 12px}.fm .wcs-next{padding:0 14px;font-size:13px;height:44px}.fm .wcs-x{width:44px;height:44px}
.fm .wcs-in{padding:16px 16px 90px}.fm .wcs-h{grid-template-columns:1fr;gap:20px}.fm .wcs-h h2{font-size:48px}
.fm .wcs-media{grid-template-columns:1fr;gap:24px}.fm .wcs-d{padding:7px;border-radius:20px}.fm .wcs-scroll{height:300px}.fm .wcs-m{width:200px;margin:0 auto}
.fm .wcs-cols{grid-template-columns:1fr;gap:36px;margin-top:50px}.fm .wcs-f li{font-size:16px}

/* ===================== v6 · PROCESS PAGE (5-stage journey) ===================== */
.fd .pp{height:3500px}.pp .pr-prog{grid-template-columns:repeat(5,1fr);gap:10px}.pp .pr-tx{height:260px}
.pp-you{margin-top:14px!important;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--seg);font:400 14px/1.5 Geist!important;color:var(--ink2)}
.pp-you b{display:block;margin-bottom:4px;font:500 10px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.pp[data-st="4"] .pz-lock{width:9px;margin-right:6px}.pp[data-st="4"] .pz-live{opacity:1}
.qs{position:relative;width:600px;height:400px;transform-origin:0 0;background:#F7F5F1;color:#0d1620;font-family:Geist,sans-serif}.fd .qs{transform:scale(1.3)}
.qs-body{position:absolute;left:0;right:0;top:32px;bottom:0;overflow:hidden}
.ql{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.pp[data-st="0"] .q0,.pp[data-st="1"] .q1,.pp[data-st="2"] .q2,.pp[data-st="3"] .q3,.pp[data-st="4"] .q4{opacity:1}
.q-a{opacity:0;transform:translateY(10px);transition:opacity .5s calc(var(--d,0)*.4s + .3s),transform .8s var(--spring) calc(var(--d,0)*.4s + .3s)}
.pp[data-st="0"] .q0 .q-a,.pp[data-st="1"] .q1 .q-a,.pp[data-st="2"] .q2 .q-a,.pp[data-st="3"] .q3 .q-a,.pp[data-st="4"] .q4 .q-a{opacity:1;transform:none}
.q-chat{position:absolute;left:22px;top:22px;width:320px;display:flex;flex-direction:column;gap:10px}
.q-chat p{max-width:250px;padding:10px 13px;border-radius:14px 14px 14px 4px;background:#fff;box-shadow:0 6px 16px rgba(13,22,32,.07);font:500 12.5px/1.4 Geist}
.q-chat p.me{align-self:flex-end;border-radius:14px 14px 4px 14px;background:#0297DE;color:#fff}
.q-typing{display:inline-flex;align-self:flex-start;gap:4px;padding:11px 13px;border-radius:12px;background:#fff}.q-typing i{width:5px;height:5px;border-radius:50%;background:#9aa4ad}
.q-brief{position:absolute;right:22px;top:22px;width:210px;padding:16px;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(13,22,32,.1)}
.q-brief small{font:500 9px 'Geist Mono',monospace;letter-spacing:.16em;color:#8a8f96}.q-brief div{margin-top:12px}.q-brief span{font:500 12px Geist}
.q-brief i{position:relative;display:block;height:4px;margin-top:6px;border-radius:2px;background:rgba(2,151,222,.14);overflow:hidden}
.q-brief i::after{content:"";position:absolute;inset:0;background:#0297DE;transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.7,0,.2,1) .2s}
.pp[data-st="0"] .q-brief div:nth-of-type(1) i::after{transform:scaleX(.9);transition-delay:.9s}.pp[data-st="0"] .q-brief div:nth-of-type(2) i::after{transform:scaleX(.7);transition-delay:1.3s}
.pp[data-st="0"] .q-brief div:nth-of-type(3) i::after{transform:scaleX(.8);transition-delay:1.7s}.pp[data-st="0"] .q-brief div:nth-of-type(4) i::after{transform:scaleX(.6);transition-delay:2.1s}
.q-map{position:absolute;left:0;top:10px;width:600px;height:170px}.q-map path{fill:none;stroke:rgba(2,151,222,.6);stroke-width:1.5;stroke-dasharray:640;stroke-dashoffset:640;transition:stroke-dashoffset 1.2s cubic-bezier(.7,0,.2,1) .4s}
.pp[data-st="1"] .q-map path{stroke-dashoffset:0}
.q-node{position:absolute;width:110px;padding:7px 0;border-radius:99px;background:#fff;border:1px solid rgba(2,151,222,.35);text-align:center;font:600 11px Geist}
.q-node.n0{left:245px;top:28px;background:#0b1622;color:#fff;border-color:#0b1622}.q-node.n1{left:75px;top:120px}.q-node.n2{left:245px;top:120px}.q-node.n3{left:415px;top:120px}
.q-board{position:absolute;left:70px;top:176px;width:460px;height:180px;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(13,22,32,.1)}
.q-board>i{position:absolute;display:block;border-radius:5px}.q-board .b1{left:16px;top:14px;width:428px;height:16px;background:#0b1622}
.q-board .b2{left:16px;top:40px;width:270px;height:78px;background:linear-gradient(160deg,#071426,#163e66 55%,#e07e5c)}.q-board .b3{left:16px;top:128px;width:130px;height:38px;background:#eef1f4}.q-board .b4{left:156px;top:128px;width:130px;height:38px;background:#eef1f4}
.q-sw{position:absolute;left:304px;top:44px;display:flex;gap:6px;align-items:center}.q-sw i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.q-sw b{margin-left:4px;font:400 28px/1 'Instrument Serif',serif}
.q-pin{position:absolute;left:248px;top:96px;width:22px;height:22px;border-radius:50%;background:#FC734D;color:#fff;font:700 11px/22px Geist;text-align:center;box-shadow:0 0 0 4px rgba(252,115,77,.2)}
.q-fb{position:absolute;left:280px;top:92px;padding:7px 10px;border-radius:10px 10px 10px 2px;background:#0b1622;color:#fff;font:500 10.5px Geist;white-space:nowrap}
.q-ok{position:absolute;left:304px;top:136px;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;background:rgba(2,151,222,.12);color:#0577b0;font:600 10.5px Geist}.q-ok svg{width:10px;height:10px;stroke:#0577b0}
.q-code{position:absolute;left:0;top:0;bottom:0;width:230px;padding:22px 18px;background:#0A121A}.q-code i{display:block;height:7px;margin-bottom:14px;border-radius:4px}
.q-code .k0{background:#5cc3f2}.q-code .k1{background:rgba(255,255,255,.35)}.q-code .k2{background:#ff9d80}.q-code .k3{background:rgba(255,255,255,.16)}
.q-dev{position:absolute;overflow:hidden;background:#fff;border:6px solid #0b1622}.q-dev i{position:absolute;inset:0;display:block;background:linear-gradient(160deg,#071426,#163e66 55%,#e07e5c);clip-path:inset(100% 0 0 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1) calc(var(--d)*.35s + .4s)}
.pp[data-st="2"] .q-dev i{clip-path:inset(0)}.q-dev.d1{left:252px;top:30px;width:324px;height:200px;border-radius:10px}.q-dev.d2{left:290px;top:250px;width:130px;height:100px;border-radius:10px}.q-dev.d3{left:440px;top:244px;width:62px;height:112px;border-radius:12px}
.q-check{position:absolute;left:36px;top:34px;width:250px;padding:16px 18px;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(13,22,32,.1)}
.q-check div{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(13,22,32,.06);font:500 13px Geist}.q-check div:last-child{border:0}
.q-check i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(13,22,32,.15);display:flex;align-items:center;justify-content:center;transition:background .4s calc(var(--d)*.4s + .6s),border-color .4s calc(var(--d)*.4s + .6s)}.q-check svg{width:10px;height:10px}
.pp[data-st="3"] .q-check i{background:#0297DE;border-color:#0297DE}
.q-live{position:absolute;right:30px;top:80px;width:240px;padding:18px;border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(13,22,32,.12);display:flex;flex-direction:column;gap:14px}
.q-lk{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;background:#F1EFEA;font:500 11px 'Geist Mono',monospace;color:#0577b0}.q-lk svg{width:10px;height:10px}
.q-pub{display:flex;align-items:center;gap:8px;font:600 14px Geist}.q-pub i{width:22px;height:22px;border-radius:50%;background:#FC734D;display:flex;align-items:center;justify-content:center}.q-pub svg{width:11px;height:11px}
.q-glow{position:absolute;left:-10%;right:-10%;bottom:-55%;height:100%;background:radial-gradient(ellipse 50% 50% at 60% 100%,rgba(252,115,77,.55),transparent 70%);opacity:0;transition:opacity 1.2s .6s}.pp[data-st="3"] .q-glow{opacity:1}
.q-opt{position:absolute;left:26px;top:24px;font:500 9.5px 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#8a8f96}
.q-pk{position:absolute;left:26px;top:46px;display:flex;gap:6px}.q-pk span{padding:6px 12px;border-radius:99px;background:#0b1622;color:#fff;font:600 11px Geist}.q-pk span:nth-child(2){background:#0297DE}
.q-months{position:absolute;left:26px;right:26px;top:104px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.q-months div{padding:14px;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(13,22,32,.08)}.q-months b{display:block;margin-bottom:10px;font:400 22px 'Instrument Serif',serif}
.q-months span{display:block;margin-top:7px;padding:6px 9px;border-radius:8px;background:rgba(2,151,222,.08);font:500 11px Geist;color:#0577b0}
.fm .pp .pr-tx{height:290px}.fm .pp .pr-prog{gap:5px}.fm .pp .pr-prog button{font-size:7.5px;letter-spacing:.04em}
.pp-hero .wk-idx button{height:40px;font-size:13px}

/* ===================== v7 · SCREENSHOT CROP + CAPTURE MODE ===================== */
.wx-scr img,.wx-ms img{transform:translateY(calc(var(--y0,0%) * -1))}


/* ===================== PRODUCTION SHELL (site/app/assets-src/shell.css) ===================== */
/* The approved compositions are drawn on a fixed canvas (desktop 1440 wide, mobile 360–440 wide) that boot.js scales to the screen. */
html,body{margin:0;background:#02070A}
html.nw-light,html.nw-light body{background:#F4F2EE}
html.js,html.js body{height:100%;overflow:hidden;overscroll-behavior:none}
#nw-root{position:fixed;inset:0;overflow:hidden}
#nw-root>.stage{position:absolute;top:0;left:0;transform-origin:0 0}
#nw-root .fm{border-radius:0}
#nw-root .fm>.sbar,#nw-root .fm>.hbar{display:none}
#nw-root .scroller:focus{outline:none}
/* review flags are mockup-only; the kept ones are real content (status chip, illustration note, legal draft warning) */
.rv-note,.rv:not(.rv-keep){display:none!important}

/* ---------- cookie consent (real-screen scale, outside the canvas) ---------- */
.nwc{position:fixed;z-index:2147483000;left:20px;bottom:20px;width:min(420px,calc(100vw - 32px));padding:20px;border-radius:20px;
  background:rgba(8,14,20,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 80px rgba(0,0,0,.55);color:#F3F5F7;font:400 14px/1.5 Geist,system-ui,sans-serif;animation:nwcIn .6s cubic-bezier(.16,.8,.2,1)}
html.nw-light .nwc{background:rgba(255,255,255,.92);border-color:rgba(2,7,10,.08);color:#02070A;box-shadow:0 30px 70px rgba(30,45,70,.2)}
@keyframes nwcIn{from{opacity:0;transform:translateY(16px)}}
.nwc-t{font:400 26px/1.05 'Instrument Serif',serif;margin:0 0 6px}
.nwc-d{margin:0;color:inherit;opacity:.78}
.nwc-d a{color:#0297DE}
.nwc-cats{display:none;margin-top:14px;border-top:1px solid rgba(127,127,127,.25)}
.nwc-open .nwc-cats{display:block}
.nwc-cat{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(127,127,127,.2);cursor:pointer}
.nwc-cat b{display:block;font-weight:600}.nwc-cat small{display:block;opacity:.66;font-size:12.5px}
.nwc-cat input{flex:none;width:18px;height:18px;accent-color:#0297DE}
.nwc-b{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.nwc-btn{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:42px;padding:6px 10px;border-radius:99px;text-align:center;
  border:1px solid rgba(255,255,255,.22);font:600 12.5px/1.2 Geist,sans-serif;cursor:pointer;transition:background .25s,border-color .25s}
html.nw-light .nwc-btn{border-color:rgba(2,7,10,.18)}
.nwc-btn:hover{border-color:#0297DE;background:rgba(2,151,222,.12)}
.nwc-btn:focus-visible{outline:2px solid #0297DE;outline-offset:2px}
@media (max-width:600px){.nwc{left:0;right:0;bottom:0;width:auto;border-radius:22px 22px 0 0;padding:20px 16px calc(16px + env(safe-area-inset-bottom))}.nwc-b{grid-template-columns:1fr}}

/* ---------- server-rendered content (SEO + no-JS fallback). Hidden once the interactive site boots. ---------- */
html.js #nw-ssr{display:none}
#nw-ssr{max-width:860px;margin:0 auto;padding:32px 20px 80px;color:#F3F5F7;font:400 17px/1.6 Geist,system-ui,sans-serif}
html.nw-light #nw-ssr{color:#02070A}
#nw-ssr a{color:#0297DE}
#nw-ssr header{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid rgba(127,127,127,.25)}
#nw-ssr header img{height:28px;width:auto}
#nw-ssr nav{display:flex;flex-wrap:wrap;gap:14px;font-size:15px}
#nw-ssr h1,#nw-ssr h2{font-family:'Instrument Serif',serif;font-weight:400;line-height:1.05}
#nw-ssr h1{font-size:52px;margin:40px 0 14px}#nw-ssr h2{font-size:34px;margin:44px 0 10px}#nw-ssr h3{font-size:18px;margin:22px 0 4px}
#nw-ssr .eyebrow{font:500 12px 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
#nw-ssr ul{padding-left:20px}#nw-ssr table{border-collapse:collapse;width:100%;font-size:14px}#nw-ssr td,#nw-ssr th{border:1px solid rgba(127,127,127,.3);padding:6px;text-align:left;vertical-align:top}
#nw-ssr footer{margin-top:60px;padding-top:20px;border-top:1px solid rgba(127,127,127,.25);font-size:14px;opacity:.85}
#nw-ssr mark.ph{background:none;color:#FC734D}


/* ===================== v1.1 PRODUCTION POLISH (site/app/assets-src/polish.css) ===================== */
/* Layout fit: boot.js scales the 1440×900 desktop scene to fit width AND height and sets
   --cw (canvas width), --fh (canvas height), --ox/--oy (offset of the centred scene). */
.nw-c{position:absolute;left:var(--ox,0px);top:var(--oy,0px);width:1440px;height:900px}
.fd .sv{height:calc(var(--fh,900px) + 2700px)}
.fd .sv>.hero{width:auto;height:var(--fh,900px)}
.fd .pr{height:calc(var(--fh,900px) + 1760px)}
.fd .pp{height:calc(var(--fh,900px) + 2200px)}
.fd .pr-st{height:var(--fh,900px)}

/* ---------- header: its own quiet band once the page scrolls, so content never runs under the logo/pill/CTA ---------- */
/* a separate layer placed just before the nav (no stacking context on the nav, so the logo's blend mode keeps working) */
.nw-hd{position:absolute;left:0;right:0;top:0;height:112px;pointer-events:none;opacity:0;transition:opacity .5s cubic-bezier(.2,.7,.1,1);
  background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 80%,transparent) 55%,transparent 100%);
  backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);
  -webkit-mask-image:linear-gradient(180deg,#000 58%,transparent);mask-image:linear-gradient(180deg,#000 58%,transparent)}
.fm>.nw-hd{height:118px}
.frame.scrolled>.nw-hd{opacity:1}
.frame.menu-open>.nw-hd{opacity:0}
.t-light.hd-dark>.nw-hd{background:linear-gradient(180deg,#02070A 0%,rgba(2,7,10,.8) 55%,transparent)}

/* ---------- floating controls: slimmer, one family ---------- */
.frame>.nav .pill{gap:4px;padding:4px}
.frame>.nav .pb{height:34px;gap:8px;font-size:13.5px;transition:background .25s,color .25s,border-color .25s,transform .2s}
.frame>.nav .pb.menu{padding:0 14px 0 11px}
.frame>.nav .pb.ic{width:34px}
.frame>.nav .pb svg{width:15px;height:15px}
.frame>.nav .seg{padding:2px;font-size:11.5px}
.frame>.nav .seg span{height:30px;min-width:36px;transition:background .3s,color .3s}
.frame>.nav .vr{height:16px}
.frame>.nav .pb:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.frame>.nav .pb.ic:hover{border-color:color-mix(in srgb,var(--ink) 30%,transparent)}
.frame>.nav .pb:active{transform:scale(.95)}
.frame>.nav .seg span:not(.on){cursor:pointer}.frame>.nav .seg span:not(.on):hover{color:var(--ink)}
.frame>.nav .cta{height:40px;gap:10px;padding:0 4px 0 18px;font-size:13.5px;letter-spacing:-.005em;cursor:pointer;
  transition:transform .35s var(--spring,cubic-bezier(.2,1.25,.35,1)),box-shadow .35s,background .4s,color .4s}
.frame>.nav .cta i{width:32px;height:32px;transition:transform .45s var(--spring,cubic-bezier(.2,1.25,.35,1)),background .3s}
.frame>.nav .cta svg{width:14px;height:14px;transition:transform .45s cubic-bezier(.2,.7,.1,1)}
.frame>.nav .cta:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.24)}
.frame>.nav .cta:hover i{transform:scale(1.06)}.frame>.nav .cta:hover svg{transform:translateX(2px) rotate(-45deg)}
.frame>.nav .cta:active{transform:scale(.97)}
.frame>.wa{height:40px;gap:8px;padding:0 14px 0 4px;font-size:12.5px;font-weight:500;text-decoration:none;cursor:pointer;
  transition:transform .6s cubic-bezier(.7,0,.2,1),opacity .4s,box-shadow .35s,border-color .35s}
.frame>.wa i{width:32px;height:32px;transition:transform .45s var(--spring,cubic-bezier(.2,1.25,.35,1))}
.frame>.wa svg{width:16px;height:16px}
.frame>.wa:hover{border-color:rgba(37,211,102,.55);box-shadow:0 14px 34px rgba(0,0,0,.3),0 0 0 4px rgba(37,211,102,.08)}
.frame>.wa:hover i{transform:scale(1.07) rotate(-8deg)}
.frame>.wa:active{scale:.96}
.frame :is(.cta,.wa,.orb,.mcta,.pb,.seg span):focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* mobile: header pill + bottom dock, slimmer but still ≥44 px touch targets (canvas px ≈ CSS px on phones) */
.frame>.mnav .pill{padding:3px;gap:3px}
.frame>.mnav .pb.ic,.frame>.mnav .pb.burger{width:36px;height:36px}
.frame>.mnav .seg span{height:30px;min-width:34px}
.frame>.dock{height:56px;padding:5px;gap:5px;bottom:22px}
.frame>.dock .q{font-size:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:scale .3s var(--spring,cubic-bezier(.2,1.25,.35,1))}
.frame>.dock .w{width:46px;height:46px;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:scale .3s var(--spring,cubic-bezier(.2,1.25,.35,1))}
.frame>.dock .w svg{width:21px;height:21px}
.frame>.dock .q:active,.frame>.dock .w:active{scale:.95}

/* ---------- section seams: the hero melts into the next scene instead of ending on a hard edge ---------- */
.scroller>.m::after{content:"";position:absolute;left:0;right:0;bottom:0;height:190px;z-index:7;pointer-events:none;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg) 70%,transparent) 55%,var(--bg))}

/* Each section's lighting was clipped at the section edge (overflow:hidden), leaving hard horizontal lines and blank bands.
   Lighting now fades in/out over ~200px at both edges, and the seam glows sit just inside the section, so one scene's light
   hands over to the next. */
:is(.pf-lx,.prc-lx,.fin-lx,.pr-lx,.pr-hz){
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 200px,#000 calc(100% - 220px),transparent);
          mask-image:linear-gradient(180deg,transparent,#000 200px,#000 calc(100% - 220px),transparent)}
.t-dark .prc-lx{background:radial-gradient(ellipse 44% 420px at 50% 150px,rgba(2,151,222,.42),rgba(2,151,222,.1) 50%,transparent 75%),
  radial-gradient(ellipse 70% 50% at 50% 40%,rgba(16,44,128,.35),transparent 70%),radial-gradient(ellipse 44% 220px at 50% calc(100% - 150px),rgba(252,115,77,.32),transparent 72%)}
.t-light .prc-lx{background:radial-gradient(ellipse 44% 420px at 50% 150px,rgba(2,151,222,.16),transparent 72%),radial-gradient(ellipse 44% 220px at 50% calc(100% - 150px),rgba(252,115,77,.16),transparent 72%)}
.prc-lx::before{-webkit-mask-image:radial-gradient(ellipse 34% 520px at 50% 120px,#000,transparent 75%);mask-image:radial-gradient(ellipse 34% 520px at 50% 120px,#000,transparent 75%)}
.t-dark .pr-hz{background:radial-gradient(ellipse 46% 26% at 66% 84%,rgba(252,115,77,.42),transparent 72%)}
.t-light .pr-hz{background:radial-gradient(ellipse 46% 26% at 66% 84%,rgba(252,115,77,.26),transparent 72%)}
.t-dark .pf-lx{background:radial-gradient(ellipse 42% 420px at 50% 160px,rgba(2,151,222,.24),transparent 70%),radial-gradient(ellipse 48% 13% at 50% 67%,rgba(2,151,222,.3),transparent 72%),radial-gradient(ellipse 24% 6% at 50% 67%,rgba(252,115,77,.32),transparent 70%)}
/* hero → next scene: once the services view has taken over, the hero's lower light melts into the page background */
.sv>.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:240px;z-index:2;pointer-events:none;opacity:0;transition:opacity .9s ease;
  background:linear-gradient(180deg,transparent,var(--bg))}
.sv>.hero.sv-on::after{opacity:1}

/* dedicated pages: the page-hero lighting fades out before the first content block instead of ending on a line */
.sp-hero>.lx{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 260px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 260px),transparent)}
/* mobile services: its warm glow continues the hero's, starting just below the seam instead of on it */
.t-dark .msv{background:linear-gradient(180deg,var(--bg),transparent 170px),radial-gradient(ellipse 80% 240px at 50% 140px,rgba(252,115,77,.2),transparent 70%),radial-gradient(ellipse 90% 40% at 70% 42%,rgba(2,151,222,.16),transparent 70%),var(--bg)}
.t-light .msv{background:linear-gradient(180deg,var(--bg),transparent 170px),radial-gradient(ellipse 80% 240px at 50% 140px,rgba(252,115,77,.14),transparent 70%),radial-gradient(ellipse 90% 40% at 70% 42%,rgba(2,151,222,.1),transparent 70%),var(--bg)}

/* ---------- circular CTA: magnetic hover, press, focus ---------- */
.copy .orb,.mcta{cursor:pointer;-webkit-tap-highlight-color:transparent}
.orb{transition:translate .5s cubic-bezier(.2,.7,.1,1),box-shadow .5s,scale .35s var(--spring,cubic-bezier(.2,1.25,.35,1)),background .5s}
.orb.mag{transition:translate .12s linear,box-shadow .5s,scale .35s var(--spring,cubic-bezier(.2,1.25,.35,1))}
.orb svg{transition:transform .5s cubic-bezier(.2,.7,.1,1)}
.orb:hover{box-shadow:0 0 0 10px rgba(2,151,222,.08),0 0 60px rgba(2,151,222,.35),0 0 120px rgba(252,115,77,.18);scale:1.04}
.orb:hover svg{transform:translateX(4px)}
.orb:active,.mcta:active{scale:.95}
.mcta{transition:scale .35s var(--spring,cubic-bezier(.2,1.25,.35,1)),box-shadow .4s}

/* ---------- hero atmosphere (dark): wider electric-blue beam field, layered blue depth, warm cantaloupe light rising from below ---------- */
:is(.hero,.m).t-dark>.lx .l-base{background:
  radial-gradient(ellipse 30% 58% at 50% 26%,rgba(40,170,255,.62),rgba(2,151,222,.24) 46%,transparent 76%),
  radial-gradient(ellipse 62% 70% at 50% 34%,rgba(8,92,200,.5),transparent 70%),
  radial-gradient(ellipse 90% 60% at 50% 0%,rgba(14,52,150,.55),transparent 72%),
  radial-gradient(ellipse 40% 50% at 8% 40%,rgba(10,40,120,.4),transparent 70%),
  radial-gradient(ellipse 40% 50% at 92% 40%,rgba(10,40,120,.4),transparent 70%)}
:is(.hero,.m).t-dark>.lx .l-streaks{
  -webkit-mask-image:radial-gradient(ellipse 58% 88% at 50% 18%,#000 18%,rgba(0,0,0,.55) 48%,transparent 82%);
          mask-image:radial-gradient(ellipse 58% 88% at 50% 18%,#000 18%,rgba(0,0,0,.55) 48%,transparent 82%);
  background:
  repeating-linear-gradient(90deg,transparent 0 5px,rgba(150,215,255,.22) 5px 6px,transparent 6px 11px),
  repeating-linear-gradient(90deg,transparent 0 13px,rgba(20,160,255,.42) 13px 15px,transparent 15px 23px),
  repeating-linear-gradient(90deg,transparent 0 31px,rgba(170,225,255,.26) 31px 34px,transparent 34px 47px),
  repeating-linear-gradient(90deg,transparent 0 71px,rgba(60,180,255,.3) 71px 74px,transparent 74px 97px),
  linear-gradient(90deg,transparent 22%,rgba(150,215,255,.2) 38%,transparent 44%,rgba(170,225,255,.32) 50%,transparent 56%,rgba(150,215,255,.2) 62%,transparent 78%)}
:is(.hero,.m).t-dark>.lx .l-warm{background:
  radial-gradient(ellipse 40% 62% at 50% 102%,rgba(252,115,77,.98),rgba(252,128,88,.62) 34%,rgba(252,140,100,.2) 62%,transparent 82%),
  radial-gradient(ellipse 18% 26% at 50% 66%,rgba(255,180,150,.5),transparent 72%),
  radial-gradient(ellipse 60% 30% at 50% 100%,rgba(236,120,150,.22),transparent 72%),
  radial-gradient(ellipse 36% 44% at 0% 106%,rgba(252,115,77,.55),transparent 72%),
  radial-gradient(ellipse 36% 44% at 100% 106%,rgba(252,115,77,.55),transparent 72%)}
.m.t-dark>.lx .l-warm{background:
  radial-gradient(ellipse 80% 40% at 50% 104%,rgba(252,115,77,.95),rgba(252,128,88,.5) 40%,transparent 80%),
  radial-gradient(ellipse 40% 24% at 50% 70%,rgba(255,190,160,.32),transparent 72%)}

@media (prefers-reduced-motion:reduce){.orb,.frame>.nav .cta,.frame>.wa,.mcta{transition:none!important;translate:none!important}}
