
@font-face{font-family:"Bricolage Grotesque";src:url(fonts/display.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/grotesk.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(fonts/editorial.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Oswald";src:url(fonts/condensed.woff2) format("woff2");font-weight:200 700;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(fonts/didone.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/elegant.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo Black";src:url(fonts/heavy.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Fredoka";src:url(fonts/playful.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Caveat";src:url(fonts/script.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Pinyon Script";src:url(fonts/signature.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Abril Fatface";src:url(fonts/abril-fatface-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Albert Sans";src:url(fonts/albert-sans.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Anton";src:url(fonts/anton-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Antonio";src:url(fonts/antonio.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url(fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"Baloo 2";src:url(fonts/baloo-2.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/barlow-condensed-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/barlow-condensed-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/barlow-condensed-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/barlow-condensed-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/barlow-condensed-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Bebas Neue";src:url(fonts/bebas-neue-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Big Shoulders Display";src:url(fonts/big-shoulders-display.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(fonts/bodoni-moda.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Crimson Pro";src:url(fonts/crimson-pro.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url(fonts/dm-mono-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url(fonts/dm-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url(fonts/dm-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(fonts/dm-sans.woff2) format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:"DM Serif Display";src:url(fonts/dm-serif-display-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Darker Grotesque";src:url(fonts/darker-grotesque.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(fonts/eb-garamond.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Epilogue";src:url(fonts/epilogue.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Familjen Grotesk";src:url(fonts/familjen-grotesk.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url(fonts/figtree.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geologica";src:url(fonts/geologica.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Gloock";src:url(fonts/gloock-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Gochi Hand";src:url(fonts/gochi-hand-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(fonts/hanken-grotesk.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(fonts/ibm-plex-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(fonts/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(fonts/ibm-plex-mono-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"League Gothic";src:url(fonts/league-gothic.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url(fonts/libre-caslon-text-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url(fonts/libre-caslon-text-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Literata";src:url(fonts/literata.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url(fonts/manrope.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Martian Mono";src:url(fonts/martian-mono.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"Nanum Pen Script";src:url(fonts/nanum-pen-script-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(fonts/newsreader.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Onest";src:url(fonts/onest.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Outfit";src:url(fonts/outfit.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/plus-jakarta-sans.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(fonts/public-sans.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Red Hat Display";src:url(fonts/red-hat-display.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Schibsted Grotesk";src:url(fonts/schibsted-grotesk.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Sofia Sans Extra Condensed";src:url(fonts/sofia-sans-extra-condensed.woff2) format("woff2");font-weight:1 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Sora";src:url(fonts/sora.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Space Mono";src:url(fonts/space-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Space Mono";src:url(fonts/space-mono-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url(fonts/spectral-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url(fonts/spectral-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url(fonts/spectral-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url(fonts/spectral-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url(fonts/spectral-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Syne";src:url(fonts/syne.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Unbounded";src:url(fonts/unbounded.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Work Sans";src:url(fonts/work-sans.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Young Serif";src:url(fonts/young-serif-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Zilla Slab";src:url(fonts/zilla-slab-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Zilla Slab";src:url(fonts/zilla-slab-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Zilla Slab";src:url(fonts/zilla-slab-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary)}
h1,h2,h3{font-family:var(--font-heading);line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.25rem)}
h2{font-size:clamp(1.4rem,3vw,2rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.narrow{max-width:720px}
.section{padding:var(--section-pad) 0}
.wrap.section.narrow{padding-inline:0}
.alt{background:var(--soft)}
/* Two plain sections in a row: one gap between them, not two. */
.section:not(.alt):not(.cta):not(.hero):not(.band)+.section:not(.alt):not(.cta):not(.hero):not(.band){padding-top:calc(var(--section-pad) * .35)}
.lead{font-size:1.15rem}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-10000px;top:8px;z-index:100;background:var(--bg);padding:8px 12px;border-radius:var(--radius)}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;padding:0 1.1em;border-radius:var(--btn-radius);
  text-decoration:none;border:2px solid transparent;cursor:pointer;font:inherit;font-weight:600;transition:transform .15s ease,opacity .15s}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:none}
.btn-primary{background:var(--primary);color:var(--on-primary)}
.btn-accent{background:var(--accent);color:var(--on-accent)}
.btn-light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.6)}
.btn-ghost{color:var(--ink)}
.btn-large{min-height:52px;padding:0 1.5em;font-size:1.05rem}
.made-with{position:fixed;left:12px;bottom:12px;z-index:40;font:600 12px/1 system-ui,sans-serif;padding:8px 10px;border-radius:999px;background:#111;color:#fff;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.made-with:hover{background:#333}
@media print{.made-with{display:none}}
.preview-bar{text-align:center;padding:.6em 1em;font-weight:600;background:#fef9c3;color:#713f12}

.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--font-heading);font-weight:800;font-size:1.05rem;margin-right:auto}
/* The logo whole, as drawn: its height set by its shape, its width its own. */
.brand img{height:44px;width:auto;max-width:min(240px,50vw);object-fit:contain;border-radius:0}
.brand .logo-wide{height:40px}
.brand .logo-tall{height:52px}
.brand .logo-tile{border-radius:min(var(--radius),10px)}
@media (max-width:420px){.brand img{height:38px}.brand .logo-wide{height:32px}.brand .logo-tall{height:46px}}
/* The menu: one line of short links at a steady size, whatever the headings do. Past six links,
   the rest go under "More"; a long menu turns into the menu button sooner. */
.nav{display:flex;align-items:center;gap:clamp(14px,1.8vw,24px);min-width:0}
.nav a,.nav-more summary{color:var(--muted);text-decoration:none;font:600 .95rem/1.2 var(--font);letter-spacing:0;text-transform:none;white-space:nowrap}
.nav a[aria-current=page],.nav a:hover,.nav-more summary:hover{color:var(--primary)}
.nav-more{position:relative}
.nav-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:4px}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary::after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg)}
.nav-more .menu-panel{top:34px;z-index:30}
.nav-more .menu-panel a{color:var(--ink);font-weight:600}
.lang-switch{position:relative}
.lang-switch summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font:600 .9rem/1.2 var(--font);white-space:nowrap}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch summary::after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg)}
.lang-switch .menu-panel{top:46px;right:0;left:auto;z-index:30;min-width:160px}
.lang-switch .menu-panel a{color:var(--ink);font-weight:600}
.lang-switch .menu-panel a[aria-current]{color:var(--primary)}
.lang-switch-default{position:absolute;top:12px;right:16px;z-index:31}
@media (max-width:1100px){.nav-many{display:none}.nav-many~.menu{display:block}}
.header-actions{display:flex;gap:8px;align-items:center}
.header-actions .btn{white-space:nowrap}
@media (max-width:420px){.header-row{gap:10px}.brand{font-size:.95rem}.header-actions .btn{min-height:40px;padding:0 .85em;font-size:.9rem}}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 10px}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;height:2px;background:var(--ink);border-radius:2px}
.menu-panel{position:absolute;right:0;top:52px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px rgba(15,23,42,.12);padding:8px;min-width:220px;display:flex;flex-direction:column}
.menu-panel a{padding:12px 14px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600}
.menu-panel a:hover{background:var(--soft)}
@media (max-width:860px){.nav,.hide-sm{display:none}.menu{display:block}}

.hero{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 45%,#000));color:#fff;padding:calc(var(--section-pad) * 1.5) 0 calc(var(--section-pad) * 1.35)}
/* clip, not hidden: hidden makes a scroll box, and the parallax would follow it (never moving). */
.hero-image{position:relative;overflow:hidden;overflow:clip}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-image::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,23,42,.85),rgba(15,23,42,.35))}
.hero-center.hero-image::before{background:rgba(15,23,42,.62)}
@media (max-width:700px){.hero-image::before{background:linear-gradient(180deg,rgba(15,23,42,.7),rgba(15,23,42,.55))}}
.hero-image[data-ui=parallax] .hero-bg{height:130%;top:-15%;will-change:transform}
.hero-inner{position:relative;z-index:2}
.hero h1,.hero h2{max-width:18ch;color:#fff}
.hero .lead{max-width:48ch;color:rgba(255,255,255,.9)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-center .hero-inner{text-align:center}
.hero-center h1,.hero-center h2,.hero-center .lead{margin-inline:auto}
.hero-center .hero-actions{justify-content:center}

.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:24px}
.feature h3{color:var(--primary)}
.feature p{color:var(--muted);margin:0}

.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;align-items:center}
.split-image{border-radius:var(--radius);width:100%;object-fit:cover}
@media (min-width:700px){.split-left > img{order:-1}}
.prose p{color:var(--muted);font-size:1.05rem}

.faq-item{border-bottom:1px solid var(--line);padding:4px 0}
.faq-item summary{cursor:pointer;font-weight:600;padding:12px 0;min-height:44px}
.faq-item .prose{padding-bottom:8px}

.cta{background:var(--primary);color:var(--on-primary)}
.cta h2{color:var(--on-primary)}
.cta .lead{opacity:.9;margin:0}
.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}

.contact p>a:only-child,.site-footer p>a:only-child,.site-footer .social a{display:inline-flex;align-items:center;min-height:44px}
.section-error{border:2px dashed #dc2626;color:#b91c1c;border-radius:12px;padding:16px;margin-block:16px}

.site-footer{background:var(--footer-bg);color:rgba(255,255,255,.75);padding:48px 0 24px}
.site-footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.footer-name,.footer-title{color:#fff;font-weight:800}
.legal{margin-top:32px;font-size:.85rem;opacity:.7}

.not-found{text-align:center}
.btn-outline{border-color:var(--primary);color:var(--primary);background:transparent}

.grid{display:grid;gap:20px;margin-top:24px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
@media (min-width:900px){.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card-image{width:100%;aspect-ratio:4/3;object-fit:cover}
.card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-body h3,.card-body p{margin:0}
.card-link{margin-top:auto;font-weight:600;text-decoration:none}

.rich h2{margin-top:1.4em}.rich h3{margin-top:1.2em}
.rich ul,.rich ol{color:var(--muted);padding-left:1.3em}
.rich blockquote{border-left:4px solid var(--primary);margin:1em 0;padding:.2em 1em;color:var(--muted)}
.rich table{border-collapse:collapse;width:100%;margin:1.2em 0}.rich th,.rich td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}.rich th{background:color-mix(in srgb,var(--muted) 10%,transparent);font-weight:600}
.rich img{border-radius:var(--radius)}

.gallery{display:grid;gap:10px;margin-top:20px;grid-template-columns:repeat(2,1fr)}
@media (min-width:900px){.gallery.cols-3{grid-template-columns:repeat(3,1fr)}.gallery.cols-4{grid-template-columns:repeat(4,1fr)}}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}

.photo{margin:0 auto;padding-inline:16px}
.photo img{width:100%;border-radius:var(--radius)}
.photo-narrow{max-width:720px}.photo-wide{max-width:1120px}
.photo-full{padding-inline:0}.photo-full img{border-radius:0}
.photo figcaption{margin-top:8px;text-align:center}

.video{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.testimonial{padding:24px;margin:0;gap:16px}
.testimonial blockquote{margin:0}.testimonial blockquote p{margin:0;font-size:1.05rem}
.testimonial figcaption{display:flex;align-items:center;gap:12px;margin-top:auto}
.testimonial figcaption>span{display:flex;flex-direction:column}
.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}

.logos-title{text-align:center;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:32px 48px;margin-top:16px}
.logos img{max-height:48px;width:auto;max-width:160px;object-fit:contain;filter:grayscale(1);opacity:.75}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;margin:24px 0 0;text-align:center}
.stat{display:flex;flex-direction:column-reverse}
.stat dd{margin:0;font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:800;color:var(--primary);line-height:1.1}
.stat dt{color:var(--muted)}

.steps{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:step}
.step{counter-increment:step;position:relative;padding-top:52px}
.step::before{content:counter(step);position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:800}
.step h3{margin-bottom:.3em}

.plan{padding:24px;gap:12px}
.plan h3{margin:0}
.plan-price{font-family:var(--font-heading);font-size:2rem;font-weight:800;margin:0}
.plan-featured{border:2px solid var(--primary);box-shadow:0 12px 32px rgba(15,23,42,.08)}
.plan .btn{margin-top:auto}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.checks li{padding-left:1.6em;position:relative}
.checks li::before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:800}

.person{text-align:center}
.person-photo{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);margin-bottom:12px}
.person h3{margin:0}
.person-role{color:var(--primary);font-weight:600;margin:.2em 0 .5em}

.pull-quote{margin:0 auto;text-align:center}
.pull-quote blockquote{margin:0}
.pull-quote blockquote p{font-family:var(--font-heading);font-size:clamp(1.4rem,3.2vw,2.1rem);line-height:1.35;margin:0}
.pull-quote figcaption{margin-top:16px;color:var(--muted);font-weight:600}

.banner{padding:12px 0;text-align:center;font-weight:600}
.banner p{margin:0}.banner a{color:inherit}
.banner-accent{background:var(--accent);color:var(--on-accent)}
.banner-brand{background:var(--primary);color:var(--on-primary)}
.banner-soft{background:var(--soft);color:var(--ink);border-bottom:1px solid var(--line)}

.social-section{text-align:center}
.social-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

.map-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;align-items:center}
.map{width:100%;aspect-ratio:4/3;border:0;border-radius:var(--radius)}

.section-note{border:2px dashed var(--line);color:var(--muted);border-radius:12px;padding:16px;margin-block:16px;text-align:center}
.item-rows{list-style:none;padding:0;margin:16px 0 0}
.item-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.item-row h3{margin:0;font-size:1.1rem}.item-row p{margin:.25em 0 0}
.item-row a{text-decoration:none}
.item-price{font-weight:700;color:var(--ink);white-space:nowrap;margin:0}
.list-group{margin-top:1.6em;color:var(--primary)}
.list-more{margin-top:28px;text-align:center}
.card-title{color:inherit;text-decoration:none}
.card-title::after{content:"";position:absolute;inset:0}
.card{position:relative}
.item-page{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.item-head h1,.item-head h2{margin-top:0}
.item-photo{width:100%;border-radius:var(--radius);object-fit:cover}
.item-body{grid-column:1/-1;max-width:760px}
.item-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 24px;margin:24px 0}
.item-facts dt{font-size:.85rem;color:var(--muted)}.item-facts dd{margin:0;font-weight:600}


.form-section h2,.form-section h1{margin-bottom:.4em}
.site-form{display:grid;gap:16px;margin-top:20px}
.form-field{display:grid;gap:6px}
.form-field label{font-weight:600}
.form-field .req{color:var(--primary)}
.form-field input:not([type=checkbox]),.form-field select,.form-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:min(var(--radius),12px);background:var(--bg);color:var(--ink);font:inherit}
.form-field textarea{min-height:120px;resize:vertical}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.form-field .check{display:flex;gap:10px;align-items:center;font-weight:400;min-height:44px}
.form-field .check input{width:20px;height:20px;accent-color:var(--primary)}
.site-form .btn{justify-self:start}
.form-anchor{display:block;scroll-margin-top:16px}
.form-heading-alt{display:block;font-size:.6em;font-weight:400}
.form-label-alt{font-weight:400;opacity:.75}
.form-help{font-size:.875rem;color:var(--muted)}
.btn-alt{display:block;font-size:.75em;font-weight:400}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-done,.form-error{padding:14px 16px;border-radius:min(var(--radius),12px);margin-top:16px}
.form-done{background:var(--soft);border-left:4px solid var(--primary)}
.form-error{background:var(--soft);border-left:4px solid #b91c1c}


.booking{margin-top:20px}
.booking-step{display:grid;gap:10px;margin-bottom:20px}
.booking-step>strong{font-size:1.05rem}
.booking-services{display:grid;gap:8px}
.booking-services button,.booking-times button{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:min(var(--radius),12px);background:var(--bg);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.booking-services button{display:flex;justify-content:space-between;gap:12px}
.booking-services button span{color:var(--muted)}
.booking-services button[aria-pressed=true],.booking-times button[aria-pressed=true]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.booking-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.booking-days button{flex:0 0 auto;min-width:64px;min-height:56px;padding:6px 10px;border:1px solid var(--line);border-radius:min(var(--radius),12px);background:var(--bg);color:var(--ink);font:inherit;line-height:1.2;cursor:pointer}
.booking-days button small{display:block;color:var(--muted);font-size:.75rem}
.booking-days button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.booking-days button[aria-pressed=true] small{color:inherit}
.booking-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.booking-times button{text-align:center}
.booking-empty,.booking-note{color:var(--muted);margin:0}
.booking-done{padding:14px 16px;border-radius:min(var(--radius),12px);background:var(--soft);border-left:4px solid var(--primary)}
.booking-error{padding:12px 14px;border-radius:min(var(--radius),12px);background:var(--soft);border-left:4px solid #b91c1c;margin:0}

.chart{margin:1.6em 0;padding:0}
.chart-title{font-weight:700;color:var(--ink)}
.chart-note{margin:.2em 0 0;color:var(--muted);font-size:.9em}
.chart .chart-bars{list-style:none;margin:1em 0 0;padding:0;display:grid;gap:12px;color:var(--ink)}
.chart-row{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.chart .chart-label{color:var(--ink)}
.chart-track{display:flex;align-items:center;gap:10px;min-width:0}
.chart-bar{flex:none;height:1.7em;background:color-mix(in srgb,var(--muted) 35%,transparent);border-radius:min(var(--radius),4px)}
.chart-value{min-width:0;font-weight:700;color:var(--ink)}
.chart-aside{font-weight:400;color:var(--muted)}
.chart-row.is-key .chart-bar{background:var(--primary)}
.chart-row.is-key .chart-aside{color:var(--primary);font-weight:600}
.chart-source{margin:.8em 0 0;color:var(--muted);font-size:.85em}
@media (min-width:700px){.chart-row{grid-template-columns:minmax(8em,14em) minmax(0,1fr);gap:16px;align-items:center}.chart .chart-label{text-align:right}}

.ui-carousel{position:relative}
.ui-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px}
.ui-track::-webkit-scrollbar{display:none}
.ui-track>*{flex:0 0 100%;scroll-snap-align:start}
.ui-carousel>.ui-prev,.ui-carousel>.ui-next,.ui-lightbox .ui-prev,.ui-lightbox .ui-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.ui-prev{left:8px}.ui-next{right:8px}
.ui-tablist{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px}
.ui-tablist [role=tab]{min-height:44px;padding:0 14px;border:0;border-bottom:3px solid transparent;background:none;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}
.ui-tablist [aria-selected=true]{color:var(--ink);border-bottom-color:var(--primary)}
.ui-lightbox,.ui-modal{border:0;padding:0;max-width:min(92vw,1200px);max-height:92vh;background:transparent;overflow:visible}
.ui-lightbox::backdrop,.ui-modal::backdrop{background:rgba(0,0,0,.8)}
.ui-lightbox img{max-width:92vw;max-height:84vh;display:block;margin:auto;border-radius:6px}
.ui-lightbox .ui-caption{color:#fff;text-align:center;margin:8px 0 0}
.ui-close{position:absolute;top:-8px;right:-8px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#111;font-size:26px;cursor:pointer}
.ui-modal>:first-child{background:var(--bg);color:var(--ink);padding:24px;border-radius:var(--radius);max-width:640px}
.ui-hidden{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.ui-hidden.ui-shown{opacity:1;transform:none}
.ui-sticky{position:sticky;top:0;z-index:20;transition:box-shadow .2s}
.ui-sticky.scrolled{box-shadow:0 2px 12px rgba(0,0,0,.08)}
.ui-marquee{display:flex;overflow:hidden;gap:48px}
.ui-marquee-inner{display:flex;gap:48px;flex:none;animation:ui-marquee 30s linear infinite}
.ui-marquee:hover .ui-marquee-inner{animation-play-state:paused}
@keyframes ui-marquee{to{transform:translateX(calc(-100% - 48px))}}
.ui-ba{position:relative;display:grid}
.ui-ba>img,.ui-ba-top,.ui-ba-top img{grid-area:1/1;width:100%;display:block}
.ui-ba-top{position:relative}
.ui-ba input{position:absolute;inset:auto 0 12px;width:80%;margin:auto}
.ui-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ui-filter-search{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:min(var(--radius),12px);font:inherit;flex:1 1 220px}
.ui-filter button{min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--bg);font:inherit;cursor:pointer}
.ui-filter button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.ui-filter-status{color:var(--muted);font-size:.9rem}
.ui-chat-open{position:fixed;right:16px;bottom:16px;z-index:45;min-height:48px;padding:0 18px;border:0;border-radius:999px;background:var(--primary);color:var(--on-primary);font:inherit;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.2);cursor:pointer}
.ui-chat{position:fixed;right:16px;bottom:76px;z-index:46;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 110px));display:flex;flex-direction:column;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:min(var(--radius),16px);box-shadow:0 12px 40px rgba(0,0,0,.25);overflow:hidden}
.ui-chat[hidden]{display:none}
.ui-chat-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--primary);color:var(--on-primary)}
.ui-chat-close{width:40px;height:40px;border:0;background:none;color:inherit;font-size:24px;cursor:pointer}
.ui-chat-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.ui-chat-msg{margin:0;padding:8px 12px;border-radius:14px;max-width:85%;white-space:pre-wrap;overflow-wrap:anywhere}
.ui-chat-msg.them{background:var(--soft);align-self:flex-start}
.ui-chat-msg.me{background:var(--primary);color:var(--on-primary);align-self:flex-end}
.ui-chat-msg.typing{color:var(--muted);font-style:italic}
.ui-chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}
.ui-chat-form textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:10px;padding:8px;font:inherit;background:var(--bg);color:var(--ink)}
.ui-chat-note{margin:0;padding:0 10px 8px;font-size:.75rem;color:var(--muted)}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;margin:0 auto;padding:16px 18px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:min(var(--radius),14px);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.consent p{margin:0 0 12px}
.consent-actions{display:flex;flex-wrap:wrap;gap:8px}
.consent-reopen{text-align:center;margin:0;padding:8px 0 16px;background:var(--soft)}
.consent-reopen button{background:none;border:0;color:var(--muted);text-decoration:underline;font:inherit;font-size:.85rem;min-height:44px;cursor:pointer}


/* Layouts any style can use; the bold style (below) makes them louder. */
.hl{font-style:normal;color:var(--accent)}
.hero-split{background:var(--soft);color:var(--ink)}
.hero-split h1,.hero-split h2{color:var(--ink)}
.hero-split .lead{color:var(--muted)}
.hero-split .hl{color:var(--primary);background:linear-gradient(transparent 64%,color-mix(in srgb,var(--accent) 45%,transparent) 0)}
.hero-split-grid{display:grid;gap:36px;align-items:center;width:min(1120px,100% - 32px)}
.hero-figure{position:relative}
.hero-figure img{position:relative;z-index:1;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--radius) * 1.6);box-shadow:var(--shadow-lg)}
@media (min-width:860px){.hero-split-grid{grid-template-columns:1fr 1.1fr;gap:64px}.hero-figure img{aspect-ratio:auto;height:min(68vh,600px)}}
.hero-statement{background:color-mix(in srgb,var(--primary) 16%,#0b0b12);color:#fff}
.hero-statement:has(.hero-panel){padding-bottom:0}
.hero-statement h1,.hero-statement h2{font-size:clamp(2.6rem,8.5vw,6.75rem);line-height:.98;letter-spacing:-.035em;max-width:13ch}
.hero-statement .lead{font-size:clamp(1.1rem,1.8vw,1.35rem)}
.hero-panel{display:flow-root;margin-top:clamp(40px,6vw,72px);position:relative;overflow:hidden;overflow:clip;border-radius:calc(var(--radius) * 1.6) calc(var(--radius) * 1.6) 0 0;height:min(60vh,560px)}
.hero-panel img{width:100%;height:100%;object-fit:cover}
.hero-panel[data-ui=parallax] img{height:130%;margin-top:-15%;will-change:transform}

.band-soft{background:var(--soft)}
.band-brand{background:var(--primary);color:var(--on-primary)}
.band-dark{background:color-mix(in srgb,var(--primary) 14%,#0b0b12);color:#f8fafc}
.band-brand :is(h2,h3,.lead,.muted,p,dt,a:not(.btn)),.band-dark :is(h2,h3,.lead,.muted,p,dt,a:not(.btn)){color:inherit}
.band-brand :is(.muted,.feature p,.stat dt),.band-dark :is(.muted,.feature p,.stat dt){opacity:.82}
:root .band :is(.feature h3,.stat dd){background:none;color:inherit}
:root :is(.band-brand,.band-dark) .stat dd{color:var(--accent)}
:root .band-brand .stat dd{color:inherit}
.band-brand .btn-primary,.band-dark .btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.band .card{color:var(--ink)}
.band .card :is(h3,p,a:not(.btn)){color:inherit}

.features-numbered{grid-template-columns:1fr;gap:0 56px}
@media (min-width:860px){.features-numbered{grid-template-columns:1fr 1fr}}
.features-numbered .feature{display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:baseline;padding:26px 0;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.feature-num{grid-row:span 2;font:800 clamp(2.2rem,5vw,3.4rem)/1 var(--font-heading);letter-spacing:-.04em;color:var(--primary);min-width:2ch}
.features-numbered .feature h3{margin:0 0 .3em}

.strip{padding:22px 0;overflow:hidden;overflow:clip}
.strip-track{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px;padding-inline:16px;font:800 clamp(1.3rem,3vw,2.2rem)/1.15 var(--font-heading);letter-spacing:-.01em}
.strip-track.ui-marquee{flex-wrap:nowrap;justify-content:flex-start;padding:0;white-space:nowrap}
.strip-item{display:inline-flex;align-items:center;gap:40px}
.strip-item::after{content:"\2726";color:var(--accent);font-size:.55em}
.band-brand .strip-item::after{color:color-mix(in srgb,var(--on-primary) 70%,transparent)}


:root{--shadow:0 1px 2px rgba(15,23,42,.06),0 4px 14px rgba(15,23,42,.06);--shadow-lg:0 12px 32px rgba(15,23,42,.12)}
:root[data-style]{--shadow:0 2px 4px rgba(15,23,42,.04),0 12px 28px -10px rgba(15,23,42,.2);--shadow-lg:0 30px 60px -20px rgba(15,23,42,.32)}
:root[data-style=bold]{--shadow:0 4px 10px -4px rgba(0,0,0,.18),0 22px 48px -18px color-mix(in srgb,var(--primary) 60%,rgba(0,0,0,.5));--shadow-lg:0 40px 80px -24px color-mix(in srgb,var(--primary) 65%,rgba(0,0,0,.55))}

[data-style] h1{font-weight:800;letter-spacing:-.025em}
[data-style] h2{letter-spacing:-.02em}
[data-style] .card{border-color:transparent;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}
[data-style] .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
[data-style] .btn-primary{box-shadow:0 8px 20px -8px color-mix(in srgb,var(--primary) 80%,transparent)}
[data-style] .btn-accent{box-shadow:0 8px 20px -8px color-mix(in srgb,var(--accent) 80%,transparent)}
[data-style] .btn:hover{transform:translateY(-2px)}
[data-style] .split-image,[data-style] .photo:not(.photo-full) img,[data-style] .video,[data-style] .map{box-shadow:var(--shadow-lg)}
[data-style] .hero:not(.hero-image,.hero-split,.hero-statement,.hero-inline){background:radial-gradient(900px 500px at 85% -10%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 65%),linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 40%,#000))}
[data-style] .cta{background:linear-gradient(120deg,var(--primary),color-mix(in srgb,var(--primary) 70%,var(--accent)))}
[data-style] .plan-featured{box-shadow:var(--shadow-lg)}

[data-style=bold] h1{font-size:clamp(2.5rem,7vw,4.75rem);font-weight:900;line-height:1.05}
[data-style=bold] h2{font-size:clamp(1.7rem,4vw,2.75rem);font-weight:800}
[data-style=bold] .hero{min-height:min(86vh,860px);display:flex;align-items:center;padding-bottom:calc(var(--section-pad) * 1.6)}
[data-style=bold] .hero h1,[data-style=bold] .hero h2{max-width:16ch}
[data-style=bold] .hero-image h1,[data-style=bold] .hero-image h2{text-shadow:0 4px 30px rgba(0,0,0,.25)}
[data-style=bold] .hero:not(.hero-image,.hero-split,.hero-statement,.hero-inline){background:radial-gradient(700px 500px at 90% 0%,color-mix(in srgb,var(--accent) 70%,transparent),transparent 60%),radial-gradient(600px 500px at 0% 100%,color-mix(in srgb,var(--accent) 35%,var(--primary)),transparent 70%),linear-gradient(140deg,var(--primary),color-mix(in srgb,var(--primary) 35%,#000));background-size:140% 140%}
[data-style=bold] .hero-image::before{background:linear-gradient(100deg,rgba(10,10,20,.88),color-mix(in srgb,var(--primary) 45%,transparent))}
[data-style=bold] .btn{font-weight:700}
[data-style=bold] .btn-large{min-height:58px;padding:0 1.8em;font-size:1.1rem}
[data-style=bold] .btn-primary{box-shadow:0 14px 34px -10px color-mix(in srgb,var(--primary) 90%,transparent)}
[data-style=bold] .btn-accent{box-shadow:0 14px 34px -10px color-mix(in srgb,var(--accent) 90%,transparent)}
[data-style=bold] .btn-primary:hover,[data-style=bold] .btn-accent:hover{transform:translateY(-3px) scale(1.02)}
[data-style=bold] .card:hover{transform:translateY(-8px)}
[data-style=bold] .card-image,[data-style=bold] .gallery img{transition:transform .6s ease}
[data-style=bold] .card:hover .card-image,[data-style=bold] .gallery img:hover{transform:scale(1.06)}
[data-style=bold] .gallery img{box-shadow:var(--shadow)}
[data-style=bold] .alt{background:linear-gradient(180deg,var(--soft),color-mix(in srgb,var(--soft) 70%,var(--primary) 6%))}
[data-style=bold] .feature h3,[data-style=bold] .stat dd{background:linear-gradient(100deg,var(--primary),color-mix(in srgb,var(--primary) 45%,var(--accent)));-webkit-background-clip:text;background-clip:text;color:transparent}
[data-style=bold] .step::before{background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:var(--shadow)}
[data-style=bold] .cta{background:radial-gradient(600px 300px at 100% 0%,color-mix(in srgb,var(--accent) 60%,transparent),transparent 70%),linear-gradient(120deg,var(--primary),color-mix(in srgb,var(--primary) 50%,#000))}
[data-style=bold] .photo-full{overflow:hidden;overflow:clip}

/* Bold: the composition, not just the effects. */
[data-style=bold] .hero-split{overflow:hidden;overflow:clip;min-height:min(90vh,880px);background:radial-gradient(800px 600px at 100% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%),radial-gradient(700px 500px at 0% 100%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 70%),var(--bg)}
[data-style=bold] .hero-split h1,[data-style=bold] .hero-split h2{font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:1;letter-spacing:-.035em}
[data-style=bold] .hero-figure::before{content:"";position:absolute;inset:7% -5% -7% 9%;border-radius:calc(var(--radius) * 2);background:linear-gradient(135deg,var(--accent),var(--primary));transform:rotate(3deg)}
[data-style=bold] .hero-figure img{transform:rotate(-1.5deg)}
[data-style=bold] .hero-statement{min-height:0;display:block;padding-top:calc(var(--section-pad) * 1.6);background:radial-gradient(900px 600px at 95% -10%,color-mix(in srgb,var(--accent) 38%,transparent),transparent 65%),radial-gradient(700px 500px at -10% 40%,color-mix(in srgb,var(--primary) 55%,transparent),transparent 70%),color-mix(in srgb,var(--primary) 12%,#08080e)}
[data-style=bold] .hero-statement .hl{background:linear-gradient(100deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent}
[data-style=bold] :is(.hero-image,.hero-statement,.band-dark)::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
[data-style=bold] :is(.hero-statement,.band-dark){position:relative}
[data-style=bold] :is(.hero-statement,.band-dark)>*{position:relative;z-index:2}
[data-style=bold] .band-brand{background:radial-gradient(800px 400px at 100% 0%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%),var(--primary)}
[data-style=bold] .feature-num{color:transparent;-webkit-text-stroke:2px var(--accent);font-size:clamp(2.8rem,6vw,4.4rem)}
[data-style=bold] .strip{padding:30px 0}
[data-style=bold] .strip-track{text-transform:uppercase;font-size:clamp(1.6rem,4vw,3rem);letter-spacing:-.02em}
[data-style=bold] .strip-item:nth-child(even){color:transparent;-webkit-text-stroke:1.5px currentColor}
[data-style=bold] .band-brand .strip-item:nth-child(even){-webkit-text-stroke-color:var(--on-primary)}

@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){
@keyframes style-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes style-rise-big{from{opacity:0;transform:translateY(56px) scale(.97)}to{opacity:1;transform:none}}
@keyframes style-parallax{from{transform:translateY(-14%)}to{transform:translateY(14%)}}
@keyframes style-drift{from{background-position:0% 0%}to{background-position:100% 100%}}
[data-style] main>.section:not(.hero) .wrap>*,[data-style] main>section:not(.hero) .grid>*{animation:style-rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
[data-style=bold] main>.section:not(.hero) .wrap>*,[data-style=bold] main>section:not(.hero) .grid>*{animation-name:style-rise-big}
[data-style=bold] .hero-image:not([data-ui=parallax]) .hero-bg{height:130%;top:-15%;animation:style-parallax linear both;animation-timeline:view();animation-range:cover}
[data-style=bold] .photo-full img{transform-origin:center;scale:1.2;animation:style-parallax linear both;animation-timeline:view();animation-range:cover}
[data-style=bold] .hero-panel:not([data-ui=parallax]) img{height:130%;margin-top:-15%;animation:style-parallax linear both;animation-timeline:view();animation-range:cover}
[data-style=bold] .hero-figure img{animation:style-float linear both;animation-timeline:view();animation-range:cover}
@keyframes style-float{from{translate:0 4%}to{translate:0 -6%}}
}
[data-style=bold] .hero:not(.hero-image,.hero-split,.hero-statement,.hero-inline){animation:style-drift 18s ease-in-out infinite alternate}
}


/* Shapes. */
[data-shape=soft] :is(.split-image,.hero-figure img,.person-photo,.gallery img,.photo:not(.photo-full) img,.item-photo,.collage-photo img),[data-shape=soft] .card-image{border-radius:calc(var(--radius) * 2 + 12px)}
[data-shape=soft] .card{border-radius:calc(var(--radius) * 2 + 12px)}
[data-shape=arch] :is(.split-image,.hero-figure img,.person-photo,.item-photo){aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px var(--radius) var(--radius)/clamp(120px,22vw,320px) clamp(120px,22vw,320px) var(--radius) var(--radius)}
[data-shape=arch] :is(.gallery img,.collage-photo img){border-radius:999px 999px 8px 8px/45% 45% 8px 8px}
[data-shape=arch] .card-image{border-radius:999px 999px 0 0/60% 60% 0 0}
[data-shape=round] :is(.split-image,.person-photo,.collage-photo img,.gallery img){aspect-ratio:1;object-fit:cover;border-radius:50%}
[data-shape=round] .hero-figure img{aspect-ratio:1;height:auto;border-radius:50%}
[data-shape=round] .card-image,[data-shape=round] .grid-scroll .card-image{width:72%;margin:20px auto 0;aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 10px color-mix(in srgb,var(--bg) 70%,var(--soft))}
[data-shape=blob] :is(.split-image,.hero-figure img,.person-photo,.gallery img,.photo:not(.photo-full) img,.item-photo,.collage-photo img){object-fit:cover;border-radius:62% 38% 46% 54%/55% 48% 52% 45%}
[data-shape=blob] :is(.gallery img,.collage-photo img):nth-child(3n+2),[data-shape=blob] .collage-photo:nth-of-type(even) img{border-radius:42% 58% 63% 37%/41% 44% 56% 59%}
[data-shape=blob] :is(.gallery img):nth-child(3n){border-radius:55% 45% 38% 62%/62% 35% 65% 38%}
[data-shape=blob] .card-image{border-radius:0 0 46% 54%/0 0 14% 12%}
[data-shape=angled] :is(.split-image,.hero-figure img,.person-photo,.gallery img,.photo:not(.photo-full) img,.item-photo,.collage-photo img){clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);border-radius:0}
[data-shape=angled] .card-image{clip-path:polygon(0 0,100% 0,100% 88%,0 100%);border-radius:0}
[data-shape=angled] :is(.gallery img):nth-child(even){clip-path:polygon(0 0,93% 0,100% 100%,7% 100%)}

/* Textures. */
[data-texture]:not([data-texture=grid]) body::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none}
[data-texture=grain] body::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.07;mix-blend-mode:multiply}
[data-texture=paper] body::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.45' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .3 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");opacity:.5;mix-blend-mode:multiply}
[data-texture=paper] body{background-image:radial-gradient(1200px 800px at 20% 0%,color-mix(in srgb,var(--bg) 85%,#fff),transparent 70%)}
[data-texture=halftone] body::after{display:none}
[data-texture=halftone] :is(.hero,.band,.cta,.site-footer){position:relative;isolation:isolate}
[data-texture=halftone] :is(.hero,.band,.cta,.site-footer)::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(color-mix(in srgb,currentColor 22%,transparent) 1.1px,transparent 1.5px);background-size:9px 9px;-webkit-mask-image:linear-gradient(135deg,#000,transparent 70%);mask-image:linear-gradient(135deg,#000,transparent 70%)}
[data-texture=halftone] .hero-image::after{z-index:1}
@media (min-width:1200px){[data-texture=grid] body{background-image:linear-gradient(var(--line),var(--line)),linear-gradient(var(--line),var(--line));background-size:1px 100%;background-repeat:no-repeat;background-position:calc(50vw - 576px) 0,calc(50vw + 575px) 0;background-attachment:fixed}}
[data-texture=grid] .site-header{border-bottom-color:color-mix(in srgb,var(--ink) 30%,transparent)}
[data-texture=grid] .section+.section{border-top:1px solid var(--line)}
/* Technical designs are flat, whatever the style: rules and borders, no shadows or gradients. */
:root[data-details=technical]{--shadow:none;--shadow-lg:none}
[data-details=technical] .card{border-color:var(--line);box-shadow:none}
[data-details=technical] .card:hover{transform:none;border-color:var(--ink);box-shadow:none}
[data-details=technical] :is(.btn-primary,.btn-accent){box-shadow:none}
[data-details=technical] .btn:hover{transform:none}
[data-details=technical] .cta{background:var(--primary)}

/* Details: hand-drawn. */
.kicker{font-family:var(--font-accent);font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9em;opacity:.9}
[data-accent=script] .kicker{text-transform:none;letter-spacing:0;font-weight:400;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1;opacity:1;color:var(--accent)}
.hero-image .kicker,.hero-statement .kicker,.hero-wordmark .kicker,.hero-corners .kicker,.band-dark .kicker,.band-brand .kicker{color:inherit}
[data-accent=script] :is(.hero-image,.hero-statement,.hero-wordmark,.hero-corners) .kicker{color:var(--accent)}
[data-details=hand] .kicker{transform:rotate(-2deg);transform-origin:left}
[data-details=hand] .hl{font-style:normal;color:inherit;background:none;position:relative;white-space:nowrap}
[data-details=hand] .hl::after{content:"";position:absolute;left:-3%;right:-3%;bottom:-.12em;height:.32em;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 14 C 40 6, 80 4, 120 9 S 180 15, 197 6' fill='none' stroke='black' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 14 C 40 6, 80 4, 120 9 S 180 15, 197 6' fill='none' stroke='black' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;z-index:-1}
[data-details=hand] :is(h1,h2) .hl{-webkit-text-fill-color:currentColor}
[data-details=hand] :is(.btn-outline,.btn-light){border-color:transparent;position:relative}
[data-details=hand] :is(.btn-outline,.btn-light)::before{content:"";position:absolute;inset:-6px -10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M30 6 C 90 0, 175 2, 194 24 C 206 44, 150 57, 95 56 C 40 55, 2 48, 5 28 C 8 10, 50 4, 120 7' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M30 6 C 90 0, 175 2, 194 24 C 206 44, 150 57, 95 56 C 40 55, 2 48, 5 28 C 8 10, 50 4, 120 7' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;pointer-events:none}
[data-details=hand] .site-footer .footer-name{font-family:var(--font-accent)}

/* Details: technical. */
[data-details=technical] .kicker{font-family:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,monospace;font-weight:500;font-size:.75rem;letter-spacing:.08em}
[data-details=technical] main{counter-reset:sec}
[data-details=technical] main>.section:not(.hero) .wrap>h2:first-child,[data-details=technical] main>section.wrap:not(.hero)>h2:first-child{counter-increment:sec;border-top:1px solid color-mix(in srgb,currentColor 35%,transparent);padding-top:.7em}
[data-details=technical] main>.section:not(.hero) .wrap>h2:first-child::before,[data-details=technical] main>section.wrap:not(.hero)>h2:first-child::before{content:counter(sec,decimal-leading-zero) " / ";display:block;font:500 .75rem/1.6 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;opacity:.6;margin-bottom:.6em}
[data-details=technical] .nav a{font:500 .8rem/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase}
[data-details=technical] .btn{letter-spacing:.02em}

/* Heading case and scale. */
[data-case=upper] :is(h1,h2,.wordmark,.corners,.footer-wordmark){text-transform:uppercase;letter-spacing:.005em}
[data-case=upper] h3{text-transform:uppercase;letter-spacing:.04em;font-size:1rem}
[data-scale=large] h1{font-size:clamp(2.5rem,6.5vw,4.75rem);line-height:1.02;letter-spacing:-.02em}
[data-scale=large] h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.08}
[data-scale=huge] h1{font-size:clamp(3rem,10vw,8.5rem);line-height:.92;letter-spacing:-.035em}
[data-scale=huge] h2{font-size:clamp(2rem,6vw,4.5rem);line-height:1;letter-spacing:-.025em}
[data-scale=huge] .hero h1,[data-scale=huge] .hero h2{max-width:13ch}
[data-scale] .hero-inline h1,[data-scale] .hero-inline h2{max-width:none}

/* Big numbers stay visible on colour bands. */
:is(.band-dark,.band-brand) .feature-num{color:var(--accent)}
.band-accent .feature-num{color:inherit}

/* Bands: the accent colour. */
.band-accent{background:var(--accent);color:var(--on-accent)}
.band-accent :is(h2,h3,.lead,.muted,p,dt,a:not(.btn)){color:inherit}
.band-accent .btn-primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.band-accent .stat dd,.band-accent .feature h3,.band-accent .feature-num{color:inherit}

/* Hero: the giant name. */
.hero-wordmark{display:flex;flex-direction:column;min-height:min(88vh,860px);padding-bottom:0;position:relative}
.hero-wordmark .hero-inner{display:flex;flex-direction:column;justify-content:space-between;flex:1;gap:40px;width:100%;max-width:none;padding-inline:clamp(12px,2vw,28px)}
.hero-wordmark .hero-top{max-width:46ch}
.hero-wordmark .hero-actions{margin-top:20px}
.hero-wordmark .wordmark{margin:0 0 -.08em;padding-bottom:.06em;max-width:none;line-height:.86;letter-spacing:-.045em;font-weight:800;white-space:nowrap;overflow-x:clip;overflow-y:visible;color:inherit}
.wordmark.fit-xs{font-size:clamp(4rem,24vw,22rem)}
.wordmark.fit-s{font-size:clamp(3.5rem,15.5vw,16rem)}
.wordmark.fit-m{font-size:clamp(3rem,10vw,10.5rem);white-space:normal}
.wordmark.fit-l{font-size:clamp(2.6rem,7vw,7rem);white-space:normal;line-height:.92}
.hero-wordmark.hero-image::before{background:linear-gradient(180deg,rgba(10,10,14,.55),rgba(10,10,14,.1) 40%,rgba(10,10,14,.65))}
.hero-wordmark .hl{color:var(--accent)}

/* Hero: the name in two corners. */
.hero-corners{min-height:min(88vh,860px);display:flex;position:relative}
.hero-corners .hero-inner{flex:1;display:grid;grid-template-rows:1fr auto 1fr;width:100%;max-width:none;padding-inline:clamp(12px,2.5vw,32px)}
.hero-corners .corners{display:contents;margin:0}
.hero-corners .corner-a,.hero-corners .corner-b{font-family:var(--font-heading);font-size:clamp(3rem,11vw,10rem);line-height:.85;letter-spacing:-.03em;font-weight:700;color:#fff}
.hero-corners .corner-a{grid-row:1;align-self:start}
.hero-corners .corner-b{grid-row:3;align-self:end;justify-self:end;text-align:right}
.hero-corners .corner-copy{grid-row:2;max-width:42ch;padding-block:28px}
.hero-corners.hero-image::before{background:linear-gradient(180deg,rgba(10,10,14,.35),rgba(10,10,14,.2) 50%,rgba(10,10,14,.5))}
.hero-corners:not(.hero-image) .corner-a,.hero-corners:not(.hero-image) .corner-b{color:inherit}

/* Hero: photos in the headline. */
.hero-inline{background:var(--bg);color:var(--ink);padding:calc(var(--section-pad) * 1.3) 0 calc(var(--section-pad) * 1.1)}
.hero-inline h1,.hero-inline h2{color:var(--ink);font-size:clamp(2.2rem,5.6vw,4.6rem);line-height:1.12;max-width:22ch}
.hero-inline .lead{color:var(--muted)}
.hero-inline .hl{color:var(--primary)}
.inline-photo{display:inline-block;vertical-align:middle;margin:-.1em .04em 0}
.inline-photo img{display:inline-block;height:.82em;width:auto;max-width:2.4em;aspect-ratio:3/2;object-fit:cover;border-radius:calc(var(--radius) * .8 + 4px)}
[data-shape=round] .inline-photo img,[data-shape=blob] .inline-photo img{aspect-ratio:1;border-radius:999px}
[data-shape=arch] .inline-photo img{aspect-ratio:3/4;border-radius:999px 999px 6px 6px}

/* The round badge. */
.badge-ring{position:absolute;right:clamp(16px,4vw,56px);bottom:clamp(16px,4vw,56px);z-index:3;width:clamp(96px,11vw,132px);aspect-ratio:1;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;text-decoration:none;box-shadow:var(--shadow)}
.badge-ring .ring{position:absolute;inset:0;animation:ring-turn 18s linear infinite}
.badge-ring .ring>span{position:absolute;left:50%;top:7%;height:43%;transform-origin:0 100%;transform:rotate(calc(var(--i) * 360deg / var(--n)));font:700 clamp(.62rem,.9vw,.78rem)/1 var(--font);letter-spacing:.06em;text-transform:uppercase}
.badge-dot{font-size:1.2rem}
.hero-figure .badge-ring{right:-14px;bottom:-14px}
@keyframes ring-turn{to{transform:rotate(1turn)}}
@media (prefers-reduced-motion:reduce){.badge-ring .ring{animation:none}}

/* Tilted strip (the page clips what pokes past its sides, never scrolling sideways). */
main,.site-footer{overflow-x:clip}
.strip-tilted{transform:rotate(-2.2deg);margin-block:28px;width:104%;margin-left:-2%;box-shadow:var(--shadow)}
.strip-tilted+.section,.section+.strip-tilted{position:relative}

/* A statement that fills in as it's read. */
.statement{max-width:1120px}
.statement-text p{font-family:var(--font-heading);font-size:clamp(1.6rem,3.6vw,2.9rem);line-height:1.2;letter-spacing:-.015em;margin:0 0 .5em;max-width:28ch;color:var(--ink)}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
.statement-text p{color:transparent;background:linear-gradient(90deg,var(--ink) 50%,color-mix(in srgb,var(--ink) 22%,transparent) 50%) 100% 0/200% 100% no-repeat;-webkit-background-clip:text;background-clip:text;animation:fill-in linear both;animation-timeline:view();animation-range:entry 60% cover 55%}
@keyframes fill-in{to{background-position:0 0}}
}}

/* Collage. */
.collage{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.collage-copy{grid-column:1/-1;text-align:center;max-width:36ch;margin:0 auto 16px}
.collage-copy .btn{margin-top:8px}
.collage-photo{margin:0}
.collage-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
@media (min-width:900px){
.collage{position:relative;display:block;min-height:clamp(560px,52vw,720px)}
.collage-copy{position:absolute;inset:0;margin:auto;height:fit-content;z-index:2}
.collage-photo{position:absolute;width:clamp(150px,16vw,220px)}
.collage-1{left:2%;top:4%;rotate:-5deg}
.collage-2{right:4%;top:0;rotate:4deg;width:clamp(170px,19vw,260px)}
.collage-3{left:14%;bottom:2%;rotate:3deg}
.collage-4{right:16%;bottom:4%;rotate:-4deg}
.collage-5{left:37%;top:-2%;rotate:2deg;width:clamp(120px,11vw,160px)}
.collage-6{right:36%;bottom:-3%;rotate:-2deg;width:clamp(120px,11vw,160px)}
.collage-photo:hover{z-index:3}
}

/* Cards in one row that scrolls sideways. */
.grid-scroll{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:min(78vw,420px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.grid-scroll>*{scroll-snap-align:start}
@media (min-width:900px){.grid-scroll.cols-2,.grid-scroll.cols-3,.grid-scroll.cols-4{grid-template-columns:none;grid-auto-columns:min(42vw,460px)}}
.grid-scroll .card-image{aspect-ratio:4/5}

/* Index list: large names, the photo on hover. */
.item-list:has(.item-index){max-width:1120px}
.item-index{list-style:none;padding:0;margin:20px 0 0;counter-reset:idx}
.index-row{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:6px 18px;padding:16px 0;border-top:1px solid var(--line);counter-increment:idx}
.index-row::before{content:counter(idx,decimal-leading-zero);font:500 .8rem/1 ui-monospace,Menlo,Consolas,monospace;color:var(--muted)}
.index-name{font-family:var(--font-heading);font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.1;font-weight:600;color:var(--ink);text-decoration:none}
a.index-name::after{content:"";position:absolute;inset:0}
.index-note{grid-column:2/-1;font-size:.95rem}
.index-photo{position:absolute;right:8%;top:50%;width:220px;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);opacity:0;transform:translateY(-50%) rotate(3deg) scale(.92);transition:opacity .25s,transform .25s;pointer-events:none;z-index:2;box-shadow:var(--shadow-lg)}
.index-row:hover .index-photo,.index-row:focus-within .index-photo{opacity:1;transform:translateY(-50%) rotate(3deg)}
.index-row:hover .index-name{color:var(--primary)}
@media (hover:none){.index-photo{display:none}}

/* The footer's giant name. */
.footer-wordmark{margin:28px 0 -.12em;padding-inline:12px;font-family:var(--font-heading);font-weight:800;font-size:clamp(3rem,15vw,15rem);line-height:.8;letter-spacing:-.05em;color:#fff;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:clip}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
