@import url("https://fonts.googleapis.com/css2?family=Syne:wght@400;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap");
:root {
  --bg: #050505;
  --surface: #121212;
  --paper: #0d0d0d;
  --ink: #f3f4f6;
  --brand-ink: #0a0a0a;
  --muted: #a0a0a2;
  --line: rgba(255,255,255,.10);
  --accent: #30488a;
  --accent-2: #c48a5a;
  --accent-ink: #5a77c6;
  --on-accent: #ffffff;
  --on-ink: #0d0f12;
  --contact-bg: #0f0f0f;
  --contact-ink: #f3f4f6;
  --contact-muted: #afafb1;
  --radius: 24px;
  --radius-lg: 34px;
  --display: 'Syne', system-ui, sans-serif;
  --sans: 'JetBrains Mono', system-ui, sans-serif;
  --hand: 'Syne', system-ui, sans-serif;
  --display-weight: 700;
  --fs-hero: clamp(3.36rem, 7.70vw, 7.00rem);
  --fs-h2: clamp(2.10rem, 4.02vw, 3.50rem);
  --fs-h3: clamp(1.25rem, 2vw, 1.6rem);
  --fs-text: 1.125rem;
  --space: clamp(5rem, 11vw, 9.5rem);
  --space-s: clamp(2.5rem, 5vw, 4rem);
  --gutter: clamp(1.1rem, 5vw, 4.5rem);
  --max: 1240px;
  --ease: cubic-bezier(.2,.7,.2,1);
  --shadow: 0 1px 2px rgba(10,10,10,.06), 0 18px 44px -24px rgba(10,10,10,.35);
  --shadow-lg: 0 30px 80px -30px rgba(10,10,10,.45);
  --scheme: dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--fs-text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:var(--display-weight);line-height:1.04;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere;hyphens:manual}
p{margin:0}
::selection{background:var(--accent);color:var(--on-accent)}
.k-wrap{width:min(var(--max),calc(100% - 2*var(--gutter)));margin-inline:auto}
.k-section{padding-block:var(--space);position:relative}
.k-section--s{padding-block:var(--space-s)}
.k-alt{background:var(--paper)}
.k-dark{--bg:var(--contact-bg);--surface:color-mix(in srgb,var(--contact-bg) 88%,#fff);--paper:color-mix(in srgb,var(--contact-bg) 92%,#fff);--ink:var(--contact-ink);--muted:var(--contact-muted);--line:rgba(255,255,255,.14);background:var(--bg);color:var(--ink)}
.k-skip{position:absolute;left:-999px}.k-skip:focus{left:1rem;top:1rem;z-index:99;background:var(--ink);color:var(--on-ink);padding:.6rem 1rem;border-radius:8px}

.k-eyebrow{display:inline-flex;align-items:center;gap:.8rem;font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 1.2rem}
.k-eyebrow::before{content:'';width:34px;height:1px;background:var(--accent)}
.k-h1{font-size:var(--fs-hero);line-height:.96;letter-spacing:-.035em;text-wrap:balance}
.k-h1 .accent{color:var(--accent-ink);font-style:italic;font-weight:calc(var(--display-weight) - 100)}
.k-h2{font-size:var(--fs-h2);text-wrap:balance;max-width:22ch}
.k-lead{font-size:clamp(1.1rem,1.5vw,1.3rem);color:var(--muted);max-width:52ch;line-height:1.55}
.k-text{color:var(--muted);max-width:62ch}
.k-head{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin-bottom:clamp(2rem,4vw,3.4rem)}
.k-head.center{align-items:center;text-align:center;margin-inline:auto}
.k-head .k-h2{margin:0}
.k-head p{color:var(--muted);max-width:56ch;font-size:1.05rem}
.k-index{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);font-weight:700;display:flex;gap:.8rem;align-items:center}
.k-index::before{content:'';width:28px;height:1px;background:var(--accent)}

.k-btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.7rem;border-radius:999px;font-weight:700;text-decoration:none;font-size:.98rem;border:1px solid transparent;transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s;position:relative;overflow:hidden;cursor:pointer;font-family:var(--sans)}
.k-btn--primary{background:var(--ink);color:var(--on-ink);box-shadow:var(--shadow)}
.k-btn--primary::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translateX(-130%);transition:transform .7s var(--ease)}
.k-btn--primary:hover::before{transform:translateX(130%)}
.k-btn--accent{background:var(--accent);color:var(--on-accent)}
.k-btn--ghost{border-color:var(--line);background:transparent;color:inherit}
.k-btn--ghost:hover{border-color:currentColor}
.k-btn:hover{transform:translateY(-2px)}
.k-btn--arrow::after{content:'';width:.55em;height:.55em;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--ease)}
.k-btn--arrow:hover::after{transform:rotate(45deg) translate(2px,-2px)}
.k-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}

.k-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.k-nav.is-stuck{border-bottom-color:var(--line);box-shadow:0 10px 30px -24px rgba(0,0,0,.4)}
.k-nav .k-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0}
.k-logo{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-family:var(--display);font-weight:var(--display-weight);font-size:1.15rem;letter-spacing:-.02em}
.k-logo img{height:40px;width:auto;max-width:180px;object-fit:contain}
.k-logo .mark{width:2.2rem;height:2.2rem;border-radius:10px;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-size:1rem}
.k-menu{display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0}
.k-menu a{text-decoration:none;font-weight:600;font-size:.92rem;color:var(--muted);position:relative}
.k-menu a:not(.k-btn)::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.k-menu a:not(.k-btn):hover::after,.k-menu a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.k-menu a:hover,.k-menu a[aria-current]{color:var(--ink)}
.k-menu .k-btn{padding:.62rem 1.15rem;font-size:.88rem;color:var(--on-ink)}
.k-burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:transparent;cursor:pointer;place-items:center}
.k-burger span{display:block;width:18px;height:2px;background:var(--ink);box-shadow:0 -6px 0 var(--ink),0 6px 0 var(--ink)}
@media (max-width:860px){
  .k-menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem var(--gutter) 1rem}
  .k-menu.open{display:flex}
  .k-menu li{width:100%}
  .k-menu a{display:block;padding:.8rem 0;font-size:1.05rem}
  .k-menu .k-btn{display:inline-flex;margin-top:.6rem}
  .k-burger{display:grid}
}

.k-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.8rem 1.6rem;box-shadow:var(--shadow);transition:transform .3s var(--ease),box-shadow .3s}
.k-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.k-check{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.6rem}
.k-check li{position:relative;padding-left:1.8rem}
.k-check li::before{content:'';position:absolute;left:0;top:.5em;width:.9rem;height:.5rem;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.k-quote{margin:1.6rem 0 0;padding:1.2rem 1.4rem;border-left:3px solid var(--accent);background:var(--paper);border-radius:0 var(--radius) var(--radius) 0;font-family:var(--display);font-size:1.15rem;font-style:italic;line-height:1.4}
.k-num{font-family:var(--display);font-weight:800;color:var(--accent-2);letter-spacing:-.03em;line-height:1}
.k-pill{display:inline-block;padding:.35rem .8rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-ink);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.k-img{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(140deg,var(--brand-ink),var(--accent) 60%,var(--accent-2))}
.k-img img{width:100%;height:100%;object-fit:cover;display:block}
.k-img--plx img{transform:translate3d(0,var(--plx,0px),0) scale(1.08)}
.img-duotone .k-img img{filter:grayscale(1) contrast(1.08)}
.img-duotone .k-img::after{content:'';position:absolute;inset:0;background:var(--accent);mix-blend-mode:multiply;opacity:.5;pointer-events:none}

.tx-grain::before{content:'';position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.tx-grain[data-scheme="dark"]::before{mix-blend-mode:screen;opacity:.09}
.tx-lines .k-alt{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ink) 5%,transparent) 0 1px,transparent 1px 22px),var(--paper)}
.tx-dots .k-alt{background:radial-gradient(color-mix(in srgb,var(--ink) 10%,transparent) 1px,transparent 1.1px) 0 0/18px 18px,var(--paper)}
.tx-blob .k-alt{background:radial-gradient(900px 400px at 50% 0%,color-mix(in srgb,var(--accent-2) 14%,transparent),transparent 70%),var(--paper)}

.js .k-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0)*80ms)}
.js .k-reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
  .js .k-hero .k-h1 .w{display:inline-block;opacity:0;transform:translateY(.5em) rotate(1.2deg);animation:k-word .75s var(--ease) forwards;animation-delay:calc(.1s + var(--i,0)*60ms)}
  @keyframes k-word{to{opacity:1;transform:none}}
  .js .k-hero .k-lead,.js .k-hero .k-actions,.js .k-hero .k-eyebrow,.js .k-hero .k-hero-meta{opacity:0;animation:k-up .8s var(--ease) forwards}
  .js .k-hero .k-eyebrow{animation-delay:.05s}.js .k-hero .k-lead{animation-delay:.5s}.js .k-hero .k-actions{animation-delay:.65s}.js .k-hero .k-hero-meta{animation-delay:.8s}
  .js .k-hero .k-img,.js .k-hero .k-fact{opacity:0;animation:k-in 1s var(--ease) .25s forwards}
  @keyframes k-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes k-in{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.k-footer{position:relative;padding:var(--space-s) 0 2.5rem;border-top:1px solid var(--line);background:var(--paper)}
.k-footer .mark{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,9vw,8rem);line-height:.9;letter-spacing:-.05em;color:color-mix(in srgb,var(--ink) 12%,transparent);margin:0 0 1.6rem;word-break:break-word}
.k-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;align-items:start}
.k-footer h4{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 .8rem}
.k-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.k-footer a{text-decoration:none;font-weight:600}
.k-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.k-footer .copy{margin-top:2.2rem;font-size:.84rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;justify-content:space-between}
@media (max-width:760px){.k-footer .cols{grid-template-columns:1fr 1fr}.k-footer .cols>:first-child{grid-column:1/-1}}

.k-form{display:grid;gap:1.3rem}
.k-form input,.k-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,currentColor 35%,transparent);color:inherit;padding:1rem 0;font:inherit;font-size:1.05rem;border-radius:0}
.k-form input::placeholder,.k-form textarea::placeholder{color:color-mix(in srgb,currentColor 55%,transparent)}
.k-form input:focus,.k-form textarea:focus{outline:none;border-bottom-color:var(--accent)}
.k-form button{justify-self:start}

.k-call{position:fixed;right:16px;bottom:16px;z-index:60;display:none;align-items:center;gap:.5rem;padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:700;background:var(--accent);color:var(--on-accent);box-shadow:0 10px 30px rgba(0,0,0,.28)}
@media (max-width:760px){.k-call{display:inline-flex}}

.ph-missing{font-style:italic;opacity:.7;border-bottom:1px dashed currentColor;cursor:help}
.legal{max-width:72ch}.legal h1{font-size:clamp(2rem,4vw,2.8rem);margin:0 0 1.5rem}.legal h2{font-size:1.35rem;margin:2.2rem 0 .6rem;letter-spacing:0}.legal h3{font-size:1.1rem;margin:1.8rem 0 .5rem}.legal p,.legal li{line-height:1.7}.legal p{margin:0 0 1rem}.legal a{text-decoration:underline;text-underline-offset:3px}
.faq{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:var(--radius);padding:2px 18px;background:var(--surface)}.faq-item summary{cursor:pointer;padding:16px 0;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";font-size:1.4rem;opacity:.5;transition:transform .2s}.faq-item[open] summary::after{transform:rotate(45deg)}.faq-a{padding:0 0 16px;opacity:.85;line-height:1.6}

.k-hero{position:relative;overflow:hidden}
.k-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:center;position:relative;z-index:1}
.k-hero-copy .k-lead{margin-top:1.3rem}
.k-hero-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin-top:2.2rem;font-size:.88rem;color:var(--muted)}
.k-hero-meta b{color:var(--ink);font-weight:600}
.k-scroll{position:absolute;left:50%;bottom:1.3rem;transform:translateX(-50%);z-index:2;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}
.k-scroll::after{content:'';width:1px;height:34px;background:linear-gradient(var(--accent),transparent);animation:k-sc 1.8s ease-in-out infinite}
@keyframes k-sc{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.k-fact{position:absolute;left:clamp(-2.4rem,-3vw,-1rem);bottom:2rem;z-index:2;background:var(--surface);color:var(--ink);padding:1.1rem 1.4rem 1.2rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:220px;max-width:280px;border:1px solid var(--line)}
.k-fact .k{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.k-fact .v{display:block;font-family:var(--display);font-weight:700;font-size:1.25rem;line-height:1.15}
.k-fact .s{display:block;margin-top:.55rem;font-size:.9rem;color:var(--muted)}
.k-mark{position:absolute;right:-3vw;top:-9vw;font-family:var(--display);font-weight:800;font-size:46vw;line-height:1;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--ink) 11%,transparent);pointer-events:none;user-select:none;z-index:0}

.k-hero--full{min-height:min(92vh,960px);display:grid;align-items:end;color:#fff}
.k-hero--full .k-hero-bg{position:absolute;inset:0;border-radius:0;z-index:0}
.k-hero--full .k-hero-bg::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.35) 45%,rgba(0,0,0,.78))}
.k-hero--full .k-hero-grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);padding:clamp(6rem,14vh,10rem) 0 clamp(3rem,8vh,5rem)}
.k-hero--full .k-eyebrow,.k-hero--full .k-h1,.k-hero--full .k-lead,.k-hero--full .k-hero-meta,.k-hero--full .k-hero-meta b{color:#fff}
.k-hero--full .k-lead{color:rgba(255,255,255,.82)}
.k-hero--full .k-h1 .accent{color:color-mix(in srgb,var(--accent) 55%,#fff)}
.k-hero--full .k-btn--primary{background:#fff;color:#111}
.k-hero--full .k-btn--ghost{border-color:rgba(255,255,255,.5);color:#fff}
.k-hero--full .k-scroll{color:rgba(255,255,255,.7)}

.k-hero--split{min-height:min(92vh,980px);display:grid;align-items:center;background:var(--bg)}
.k-hero--split .k-hero-grid{padding:clamp(3rem,7vh,6rem) 0}
.k-hero-media{position:relative}
.k-hero-media .k-img{aspect-ratio:4/5;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}

.k-hero--overlap{padding:clamp(1rem,3vw,2.5rem) 0 var(--space-s)}
.k-hero--overlap .k-hero-photo{margin-left:auto;width:min(92%,1500px)}
.k-hero--overlap .k-hero-photo .k-img{aspect-ratio:16/9;max-height:76vh;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}
.k-hero--overlap .k-hero-card{position:relative;z-index:2;margin-top:clamp(-14rem,-22vw,-6rem);max-width:720px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:clamp(1.6rem,3.5vw,3rem);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--line)}

.k-hero--typo{padding:clamp(5rem,12vh,9rem) 0 0;color:var(--ink)}
.k-hero--typo .k-blob{position:absolute;right:-10vw;top:-10vw;width:clamp(320px,52vw,760px);color:color-mix(in srgb,var(--accent-2) 22%,transparent);z-index:0;animation:k-float 16s ease-in-out infinite alternate}
@keyframes k-float{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(-3%,4%,0) rotate(8deg)}}
.k-hero--typo .k-wrap{position:relative;z-index:1}
.k-h1--xl{font-size:calc(var(--fs-hero)*1.12);max-width:12ch}
.k-hero-typo-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;margin:2rem 0 clamp(3rem,7vh,5rem)}
.k-hero-typo-row .k-actions{margin:0}

.k-hero--band .k-band-top{background:var(--accent);color:var(--on-accent);padding:clamp(4rem,10vh,7rem) 0 clamp(8rem,16vh,12rem)}
.k-hero--band .k-eyebrow,.k-hero--band .k-h1,.k-hero--band .k-lead{color:var(--on-accent)}
.k-hero--band .k-eyebrow::before{background:var(--on-accent)}
.k-hero--band .k-h1 .accent{color:var(--on-accent);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.12em}
.k-hero--band .k-lead{color:color-mix(in srgb,var(--on-accent) 80%,transparent)}
.k-hero--band .k-btn--primary{background:var(--on-accent);color:var(--accent)}
.k-hero--band .k-btn--ghost{border-color:color-mix(in srgb,var(--on-accent) 45%,transparent);color:var(--on-accent)}
.k-hero--band .k-band-photo{position:relative;margin-top:clamp(-6rem,-12vh,-9rem)}
.k-hero--band .k-band-photo .k-img{aspect-ratio:21/9;box-shadow:var(--shadow-lg)}
.k-hero--band .k-fact{left:auto;right:clamp(1rem,3vw,2.5rem);bottom:-1.6rem}

.k-hero--mesh{padding:clamp(5rem,12vh,8rem) 0;background:radial-gradient(60% 70% at 15% 20%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 70%),radial-gradient(50% 60% at 85% 80%,color-mix(in srgb,var(--accent-2) 55%,transparent),transparent 70%),var(--bg)}
.k-hero--mesh::after{content:'';position:absolute;inset:0;background:radial-gradient(40% 50% at 70% 20%,color-mix(in srgb,var(--accent-2) 30%,transparent),transparent 70%);filter:blur(40px);animation:k-float 14s ease-in-out infinite alternate;pointer-events:none}
.k-hero--mesh .k-hero-side{position:relative;z-index:1;display:grid;gap:1rem}
.k-hero--mesh .k-hero-side .k-img{aspect-ratio:4/5;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.12)}
.k-pills{display:flex;flex-wrap:wrap;gap:.6rem}
.k-pill-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);padding:.55rem 1rem;border-radius:999px;font-size:.88rem}
.k-pill-stat b{font-family:var(--display);font-size:1.05rem;margin-right:.3rem}

.k-marquee{border-block:1px solid var(--line);overflow:hidden;padding:1.1rem 0;background:var(--bg)}
.k-marquee-track{display:flex;gap:3rem;width:max-content;animation:k-ticker 46s linear infinite;font-family:var(--display);font-weight:800;font-size:clamp(2rem,4.2vw,3.6rem);line-height:1;letter-spacing:-.02em;white-space:nowrap;color:var(--ink)}
.k-marquee-track span{display:inline-flex;align-items:center;gap:3rem}
.k-marquee-track span::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--accent)}
.k-marquee-track .o{color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--ink) 70%,transparent)}
@keyframes k-ticker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.k-marquee-track{animation:none}.k-scroll::after{animation:none}}

.k-reg{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.k-reg li{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;gap:1rem 2rem;align-items:start;padding:2.1rem 0;border-bottom:1px solid var(--line);transition:padding-left .35s var(--ease)}
.k-reg li:hover{padding-left:1.2rem}
.k-reg .k-num{font-size:clamp(2rem,3.2vw,2.8rem)}
.k-reg h3{font-size:clamp(1.45rem,2.3vw,2.1rem);margin:.1rem 0 .55rem}
.k-reg p{color:var(--muted);max-width:62ch;font-size:1.04rem}
.k-reg .arrow{width:3rem;height:3rem;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;align-self:center;transition:background .3s,color .3s,transform .3s}
.k-reg .arrow::before{content:'';width:.7rem;height:.7rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.k-reg li:hover .arrow{background:var(--accent);color:var(--on-accent);border-color:var(--accent);transform:rotate(45deg)}

.k-bento{display:grid;grid-template-columns:repeat(6,1fr);gap:1.3rem}
.k-bento-card{grid-column:span 2;padding:0;overflow:hidden;display:flex;flex-direction:column}
.k-bento-card .in{padding:1.6rem 1.5rem 1.7rem;display:grid;gap:.7rem}
.k-bento-card h3{font-size:var(--fs-h3)}
.k-bento-card p{color:var(--muted)}
.k-bento-card:first-child{grid-column:span 4;grid-row:span 2;color:#fff;background:linear-gradient(150deg,var(--brand-ink),color-mix(in srgb,var(--accent) 72%,var(--brand-ink)) 70%,var(--accent-2));border-color:transparent;min-height:420px;justify-content:flex-end;position:relative}
.k-bento-card:first-child .k-img{position:absolute;inset:0;border-radius:0;opacity:.42;mix-blend-mode:luminosity}
.k-bento-card:first-child .in{position:relative;z-index:1;padding:2.2rem 2rem}
.k-bento-card:first-child h3{font-size:clamp(1.8rem,3vw,2.6rem);color:#fff}
.k-bento-card:first-child p{color:rgba(255,255,255,.82);max-width:46ch;font-size:1.05rem}
.k-bento-card:first-child .k-pill{background:rgba(255,255,255,.16);color:#fff}
@media (max-width:900px){.k-bento{grid-template-columns:1fr 1fr}.k-bento-card,.k-bento-card:first-child{grid-column:span 2;grid-row:auto;min-height:0}}

.k-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.k-svc-card{display:grid;gap:.8rem;align-content:start;position:relative}
.k-svc-card::after{content:'';position:absolute;left:1.6rem;right:1.6rem;top:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.k-svc-card:hover::after{transform:scaleX(1)}
.k-svc-card .k-num{font-size:2rem}
.k-svc-card h3{font-size:var(--fs-h3)}
.k-svc-card p{color:var(--muted)}
.k-svc-card .more{margin-top:.4rem;font-weight:700;text-decoration:none;color:var(--accent-ink)}
.k-svc-card .more:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:900px){.k-cards3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.k-cards3{grid-template-columns:1fr}}

.k-zz{display:grid;gap:clamp(2.5rem,6vw,5rem)}
.k-zz-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.6rem,4vw,4rem);align-items:center}
.k-zz-row:nth-child(even) .k-img{order:2}
.k-zz-row .k-img{aspect-ratio:4/3;box-shadow:var(--shadow)}
.k-zz-text{display:grid;gap:.9rem;justify-items:start}
.k-zz-text .k-num{font-size:2.6rem}
.k-zz-text h3{font-size:clamp(1.6rem,2.6vw,2.4rem)}
.k-zz-text p{color:var(--muted);max-width:52ch;font-size:1.05rem}
@media (max-width:860px){.k-zz-row{grid-template-columns:1fr}.k-zz-row:nth-child(even) .k-img{order:0}}

.k-cols2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.k-sticky{position:sticky;top:6rem}
.k-collist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.k-collist li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1.4rem;padding:1.7rem 0;border-bottom:1px solid var(--line)}
.k-collist .k-num{font-size:1.8rem;padding-top:.2rem}
.k-collist h3{font-size:clamp(1.3rem,2vw,1.7rem);margin-bottom:.4rem}
.k-collist p{color:var(--muted)}
@media (max-width:860px){.k-cols2{grid-template-columns:1fr}.k-sticky{position:static}}

.k-about-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.k-statement{font-size:clamp(1.9rem,3.8vw,3.3rem);line-height:1.08;margin-bottom:1.3rem}
.k-about .k-text{margin-top:.8rem;font-size:1.06rem}
.k-text--lg{font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.5;max-width:46ch}
.k-h2--xl{font-size:clamp(2.6rem,5.4vw,4.6rem);max-width:16ch}
.k-collage{position:relative;aspect-ratio:1/1}
.k-collage .k-img{position:absolute;box-shadow:var(--shadow-lg)}
.k-collage .k-img:first-child{width:74%;height:80%;left:0;top:0}
.k-collage .c2{width:54%;height:54%;right:0;bottom:0;border:8px solid var(--bg)}
.k-stamp{position:absolute;left:58%;top:6%;width:7.5rem;height:7.5rem;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--accent);color:var(--on-accent);font-family:var(--display);font-weight:700;font-size:.95rem;line-height:1.15;padding:1rem;transform:rotate(-8deg);box-shadow:var(--shadow-lg)}
.k-about-photo .k-img{aspect-ratio:4/5;box-shadow:var(--shadow-lg)}
.k-stmt-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,5vw,5rem);margin-top:2.4rem;align-items:start}
.k-facts{display:grid;gap:1.2rem}
.k-facts div{border-top:1px solid var(--line);padding-top:1rem}
.k-facts b{display:block;font-family:var(--display);font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.03em;line-height:1}
.k-facts span{color:var(--muted);font-size:.95rem}
.k-tiles{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.k-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem 1.4rem;display:grid;gap:.4rem}
.k-tile:nth-child(2){transform:translateY(1.6rem)}
.k-tile:nth-child(4){transform:translateY(1.6rem)}
.k-tile b{font-family:var(--display);font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-.03em;line-height:1;color:var(--accent-ink)}
.k-tile span{color:var(--muted);font-size:.95rem}
@media (max-width:860px){.k-about-grid,.k-stmt-grid{grid-template-columns:1fr}.k-collage{max-width:560px}}

.k-wall{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:1.2rem;height:clamp(440px,58vw,760px)}
.k-gal figure{position:relative;margin:0;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow);background:var(--paper)}
.k-gal figure img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.k-gal figure:hover img{transform:scale(1.05)}
.k-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.2rem 1rem;color:#fff;font-weight:600;font-size:.95rem;background:linear-gradient(to top,rgba(0,0,0,.72),transparent)}
.k-gal .fig-text{display:none}
.k-wall figure:first-child{grid-row:span 2}
@media (max-width:860px){.k-wall{grid-template-columns:1fr;grid-template-rows:none;height:auto}.k-wall figure{aspect-ratio:16/10}.k-wall figure:first-child{grid-row:auto;aspect-ratio:4/3}}
.k-strip{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 1.2rem;scrollbar-width:none}
.k-strip::-webkit-scrollbar{display:none}
.k-strip figure{flex:0 0 min(74vw,560px);aspect-ratio:4/3;scroll-snap-align:start}
.k-strip figure:nth-child(even){flex-basis:min(58vw,420px);margin-top:2rem}
.k-masonry{columns:3;column-gap:1.2rem}
.k-masonry figure{break-inside:avoid;margin:0 0 1.2rem;aspect-ratio:auto}
.k-masonry figure:nth-child(2) img{aspect-ratio:3/4}
.k-masonry figure img{aspect-ratio:4/3;height:auto}
@media (max-width:860px){.k-masonry{columns:2}}
@media (max-width:520px){.k-masonry{columns:1}}
.k-polaroids{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem 1.6rem;padding:1rem .5rem}
.k-polaroids figure{overflow:visible;background:#fff;padding:.75rem .75rem 1rem;border-radius:4px;box-shadow:0 1px 2px rgba(16,24,40,.08),0 18px 40px -22px rgba(16,24,40,.45);transform:rotate(-2deg);transition:transform .35s var(--ease)}
.k-polaroids figure:nth-child(2){transform:rotate(1.6deg) translateY(1.2rem)}
.k-polaroids figure:nth-child(3){transform:rotate(-1deg)}
.k-polaroids figure:hover{transform:rotate(0) scale(1.03);z-index:2}
.k-polaroids figure::before{content:'';position:absolute;top:-12px;left:50%;width:96px;height:28px;z-index:3;background:rgba(255,226,140,.78);transform:translateX(-50%) rotate(-3deg);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.k-polaroids figure img{height:auto;aspect-ratio:4/3;border-radius:2px;transition:none}
.k-polaroids figure:hover img{transform:none}
.k-polaroids figcaption{position:static;background:none;color:var(--ink);font-family:var(--hand);font-weight:600;font-size:1.45rem;padding:.7rem 0 0;text-align:center}
.k-polaroids .fig-text{display:block;margin:.2rem 0 0;font-size:.95rem;color:var(--muted);text-align:center}
@media (max-width:760px){.k-polaroids{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.k-polaroids{grid-template-columns:1fr}}

.k-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;counter-reset:s}
.k-step{position:relative;padding-top:1.6rem}
.k-step::before{content:'';position:absolute;top:1.15rem;left:0;right:0;height:2px;background:var(--line)}
.k-step .n{position:relative;z-index:1;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--accent);color:var(--on-accent);font-family:var(--display);font-weight:700;font-size:.95rem;box-shadow:0 0 0 6px var(--paper)}
.k-step h3{font-size:1.15rem;margin:1rem 0 .4rem}
.k-step p{color:var(--muted);font-size:.98rem}
@media (max-width:900px){.k-steps{grid-template-columns:1fr 1fr}.k-step::before{display:none}}
@media (max-width:520px){.k-steps{grid-template-columns:1fr}}
.k-timeline{list-style:none;margin:0;padding:.4rem 0 .4rem 1.8rem;border-left:2px solid color-mix(in srgb,var(--accent) 45%,var(--line));display:grid;gap:2rem}
.k-timeline li{position:relative;padding-left:1.2rem}
.k-timeline li::before{content:'';position:absolute;left:calc(-1.8rem - 8px);top:.5rem;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--bg)}
.k-timeline .t-k{display:block;font-family:var(--hand);color:var(--accent-ink);font-size:1.15rem;margin-bottom:.1rem}
.k-timeline h3{font-size:clamp(1.25rem,2vw,1.6rem);margin-bottom:.35rem}
.k-timeline p{color:var(--muted);max-width:60ch}
.k-proc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.k-proc-card{position:relative;overflow:hidden;display:grid;gap:.6rem;padding-top:3.4rem}
.k-proc-card .big{position:absolute;right:1rem;top:-1.2rem;font-size:6rem;color:color-mix(in srgb,var(--accent-2) 22%,transparent)}
.k-proc-card h3{font-size:var(--fs-h3)}
.k-proc-card p{color:var(--muted)}
@media (max-width:700px){.k-proc-grid{grid-template-columns:1fr}}

.k-stats{border-block:1px solid var(--line);padding-block:clamp(2.4rem,5vw,4rem)}
.k-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem 3rem}
.k-stat b{display:block;font-family:var(--display);font-size:clamp(3rem,6.2vw,5.4rem);letter-spacing:-.04em;line-height:1}
.k-stat b i{font-style:normal;color:var(--accent-2);font-size:.55em}
.k-stat span{color:var(--muted);font-size:.95rem}

.k-faq-center{max-width:820px;margin:0 auto}

.k-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.k-crows{display:grid;gap:1.1rem;margin-top:2rem}
.k-crows div{display:grid;gap:.15rem}
.k-crows .k{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.k-crows a{color:inherit;font-weight:600}
.k-contact--card{position:relative;padding-top:0}
.k-contact-band{position:absolute;left:0;right:0;top:0;height:55%;background:var(--accent)}
.k-contact-cardbox{position:relative;z-index:1;margin-top:clamp(3rem,8vh,6rem);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:clamp(1.8rem,4vw,3.5rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}
.k-bigmail{display:inline-block;margin:1rem 0 2.5rem;font-family:var(--display);font-size:clamp(1.4rem,3.4vw,3rem);letter-spacing:-.02em;text-decoration:none;border-bottom:2px solid var(--accent);word-break:break-all}
.k-bigmail:hover{color:var(--accent-ink)}
@media (max-width:860px){.k-contact-grid,.k-contact-cardbox{grid-template-columns:1fr}}

.k-band{position:relative;overflow:hidden;height:clamp(300px,48vh,560px);display:grid;align-items:end}
.k-band .k-img{position:absolute;inset:-18% 0;border-radius:0;height:136%}
.k-band::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.62))}
.k-band .k-wrap{position:relative;z-index:1}
.k-band-claim{color:#fff;font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,4.6vw,3.8rem);line-height:1.02;letter-spacing:-.02em;max-width:20ch;padding-bottom:clamp(1.6rem,4vw,3rem);text-wrap:balance}
.fam .k-band-claim,.fam .k-eyebrow,.fam .k-index{font-family:var(--hand);text-transform:none;letter-spacing:0}
.fam .k-eyebrow,.fam .k-index{font-size:1.35rem;font-weight:600}
.fam .k-eyebrow::before,.fam .k-index::before{display:none}

.k-foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem}
.k-foot-nav{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.92rem}
.k-foot-nav a{text-decoration:none;font-weight:600}

.k-pagehead{padding:clamp(3rem,8vh,6rem) 0 clamp(1.6rem,4vw,2.6rem);background:linear-gradient(160deg,var(--paper),var(--bg) 70%);position:relative;overflow:hidden}
.k-pagehead .k-h1{font-size:clamp(2.4rem,5vw,4.2rem)}
.k-pagehead .k-lead{margin-top:1rem}
.k-pagehead .k-mark{font-size:30vw;top:-8vw}
@media (max-width:900px){.k-hero-grid,.k-hero--full .k-hero-grid{grid-template-columns:1fr}.k-hero-media .k-img{aspect-ratio:4/3}.k-fact{left:1rem;bottom:1rem}.k-mark{font-size:70vw;top:-14vw;right:-10vw}.k-hero-typo-row{grid-template-columns:1fr}.k-hero--overlap .k-hero-photo{width:100%}.k-hero--overlap .k-hero-photo .k-img{border-radius:0}.k-hero--overlap .k-hero-card{margin-top:-3rem}.k-scroll{display:none}.k-reg li{grid-template-columns:4rem minmax(0,1fr)}.k-reg .arrow{display:none}}
