*{box-sizing:border-box}html{scroll-behavior:smooth}body{--accent:#e46f3f;--ink:#17243a;--paper:#f7f0e5;--radius:24px;margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 'DM Sans',system-ui,sans-serif}body[data-family=dark-console]{--accent:#dfad52;--ink:#e9e7df;--paper:#14191f;--radius:8px}body[data-family=nordic-grid]{--accent:#38a08e;--ink:#17323b;--paper:#edf3f0;--radius:18px;font-family:Manrope,system-ui,sans-serif}body[data-family=warm-analog]{--accent:#bd5b51;--ink:#34242c;--paper:#f6ebe3;--radius:34px}a{color:inherit}img{display:block;max-width:100%;object-fit:cover}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px max(4vw,24px);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Syne,sans-serif;font-weight:700}.brand span{width:25px;height:25px;border:2px solid var(--accent);border-radius:50%}nav{display:flex;align-items:center;gap:24px}nav a{text-decoration:none;font-weight:600}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--accent);color:#121820!important;padding:13px 22px;text-decoration:none;font-weight:700;cursor:pointer}.menu{display:none;background:none;border:1px solid currentColor;border-radius:12px;padding:10px 14px;color:inherit}.hero{max-width:1280px;margin:auto;padding:72px 4vw 42px;display:grid;grid-template-columns:1fr 1.05fr;gap:62px;align-items:center}.hero h1,.page-hero h1,.detail-hero h1,.success h1{font:650 clamp(2.8rem,6vw,6.4rem)/.98 Syne,sans-serif;letter-spacing:-.055em;margin:.2em 0}.hero-image{height:520px;width:100%;border-radius:var(--radius)}.lead{font-size:clamp(1.08rem,2vw,1.35rem);max-width:700px}.eyebrow{font-weight:700;letter-spacing:.14em;font-size:.78rem;color:var(--accent)}.actions{display:flex;gap:24px;align-items:center;margin-top:28px}.text-link{font-weight:700;color:var(--accent);text-decoration:none}.ticker{overflow:hidden;white-space:nowrap;padding:12px;background:var(--ink);color:var(--paper);text-align:center;word-spacing:26px}.band,.contact-layout,.article,.legal{max-width:1280px;margin:auto;padding:76px 4vw}.band h2{font:600 clamp(2rem,4vw,4rem)/1.05 Syne,sans-serif;letter-spacing:-.04em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px}.facts{display:grid;gap:14px}.facts article{display:flex;justify-content:space-between;gap:20px;padding:22px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:var(--radius)}.facts strong{font:600 2rem Syne}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:var(--radius);overflow:hidden;text-decoration:none;background:color-mix(in srgb,var(--paper) 90%,white 10%);transition:.25s}.service-card:hover{transform:translateY(-5px)}.service-card img{height:220px;width:100%}.service-card div{padding:22px}.service-card span,.service-list span,.guide-grid span{color:var(--accent);font-weight:700}.process{background:var(--ink);color:var(--paper);max-width:none;padding-inline:max(4vw,calc((100vw - 1180px)/2))}.process ol{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;padding:0}.process li{border-top:1px solid color-mix(in srgb,var(--paper) 30%,transparent);padding-top:20px}.process b{color:var(--accent)}.location,.split,.detail-hero,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.location img,.split img,.detail-hero img{height:430px;width:100%;border-radius:var(--radius)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.guide-grid>a{display:block;padding:24px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:var(--radius);text-decoration:none}.guide-grid img{height:220px;width:100%;border-radius:calc(var(--radius)*.7);margin-bottom:20px}.faq-home details,.faq-list details{border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent);padding:18px 0}.faq-list{max-width:900px}.faq-list summary,.faq-home summary{font-weight:700;font-size:1.15rem;cursor:pointer}.final-cta{padding:90px 5vw;text-align:center;background:var(--accent);color:#111827}.final-cta h2{font:650 clamp(2.4rem,5vw,5rem)/1 Syne}.page-hero{max-width:1280px;margin:auto;padding:80px 4vw 45px}.page-hero p{max-width:760px;font-size:1.2rem}.service-list{display:grid;gap:28px}.service-list article{display:grid;grid-template-columns:330px 1fr;gap:34px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent);padding-bottom:28px}.service-list img{height:220px;width:100%;border-radius:var(--radius)}.detail-hero{max-width:1280px;margin:auto;padding:75px 4vw}.detail-grid{align-items:start}.detail-grid>div{padding:30px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:var(--radius)}.article{max-width:820px}.article h2,.legal h2{font:600 2rem Syne}.article aside{padding:28px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 16%,var(--paper))}.legal{max-width:880px}.contact-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:54px;align-items:start}.contact-layout form,.contact-layout aside{padding:32px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:var(--radius)}label{display:grid;gap:7px;margin:17px 0;font-weight:700}input,select,textarea{width:100%;padding:13px 15px;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-radius:12px;background:color-mix(in srgb,var(--paper) 90%,white 10%);color:var(--ink);font:inherit}.consent{grid-template-columns:auto 1fr;font-weight:400}.consent input{width:auto}.honey{position:absolute!important;left:-9999px!important}.form-note{font-size:.85rem;opacity:.75}.contact-layout aside img{height:230px;width:100%;border-radius:var(--radius);margin-top:25px}.success{max-width:850px;margin:70px auto;padding:80px 4vw;text-align:center}.success>span{display:grid;place-items:center;width:72px;height:72px;margin:auto;border-radius:50%;background:var(--accent);font-size:2rem}footer{padding:60px 5vw 30px;background:var(--ink);color:var(--paper)}.footer-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid>div{display:grid;align-content:start;gap:8px}.footer-grid a{text-decoration:none}.footer-brand{font:600 1.4rem Syne}.fine{max-width:1180px;margin:40px auto 10px;font-size:.8rem;opacity:.75}.manage-cookies{background:none;border:1px solid currentColor;color:inherit;border-radius:999px;padding:8px 13px}.cookie{position:fixed;z-index:40;left:24px;bottom:24px;width:min(480px,calc(100vw - 48px));padding:24px;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-radius:20px;background:var(--paper);box-shadow:0 18px 70px #0003}.cookie h2{margin:0;font:600 1.35rem Syne}.cookie-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.cookie button{padding:11px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-weight:700}.cookie .primary{background:var(--accent);color:#111827;border-color:var(--accent)}.cookie-settings{padding-top:14px}.cookie-settings label{display:flex}.cookie-settings input{width:auto}.reveal{animation:rise .55s ease both}@keyframes rise{from{opacity:.01;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:900px){nav{display:none;position:absolute;top:70px;left:0;right:0;padding:24px;background:var(--paper);flex-direction:column;align-items:stretch}#main-nav.open nav{display:flex}.menu{display:block}.hero,.intro,.location,.split,.detail-hero,.detail-grid,.contact-layout{grid-template-columns:1fr}.hero{padding-top:45px}.hero-image{height:400px}.service-grid,.guide-grid{grid-template-columns:repeat(2,1fr)}.process ol{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.service-list article{grid-template-columns:260px 1fr}}@media(max-width:600px){body{font-size:16px}.hero,.band,.page-hero,.detail-hero,.detail-grid,.contact-layout,.article,.legal{padding:44px 16px}.hero h1,.page-hero h1,.detail-hero h1,.success h1{font-size:clamp(2.35rem,12vw,4rem);overflow-wrap:anywhere}.hero-image{height:260px}.service-grid,.guide-grid,.process ol,.footer-grid{grid-template-columns:1fr}.service-list article{grid-template-columns:1fr}.service-list img{height:230px}.cookie-actions{grid-template-columns:1fr}.cookie{left:12px;bottom:12px;width:calc(100vw - 24px)}.actions{align-items:flex-start;flex-direction:column}.location img,.split img,.detail-hero img{height:300px}.contact-layout form,.contact-layout aside{padding:22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body[data-family=dark-console] header{border-bottom-color:color-mix(in srgb,var(--accent) 45%,transparent)}
body[data-family=dark-console] .hero{grid-template-columns:1.18fr .82fr}
body[data-family=dark-console] .hero-image,body[data-family=dark-console] .service-card{clip-path:polygon(0 0,96% 0,100% 8%,100% 100%,4% 100%,0 92%)}
body[data-family=nordic-grid] .hero{grid-template-columns:.82fr 1.18fr;gap:90px}
body[data-family=nordic-grid] .service-grid{grid-template-columns:repeat(2,1fr)}
body[data-family=nordic-grid] .service-card{display:grid;grid-template-columns:160px 1fr}
body[data-family=nordic-grid] .service-card img{height:100%}
body[data-family=warm-analog] .hero{grid-template-columns:1.12fr .88fr}
body[data-family=warm-analog] .hero-image{border-radius:48% 48% 24px 24px}
body[data-family=warm-analog] .service-card:nth-child(even){transform:translateY(28px)}
body[data-family=warm-analog] .service-card:nth-child(even):hover{transform:translateY(22px)}
@media(max-width:900px){body[data-family=dark-console] .hero,body[data-family=nordic-grid] .hero,body[data-family=warm-analog] .hero{grid-template-columns:1fr}body[data-family=nordic-grid] .service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body[data-family=nordic-grid] .service-grid{grid-template-columns:1fr}body[data-family=nordic-grid] .service-card{grid-template-columns:120px 1fr}body[data-family=warm-analog] .service-card:nth-child(even){transform:none}}
/* Keep cards aligned and give every clickable card the same interaction. */
.service-grid{align-items:stretch}
body[data-family=warm-analog] .service-card{height:100%}
.service-card,.guide-grid>a{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-card:hover,.service-card:focus-visible,.guide-grid>a:hover,.guide-grid>a:focus-visible{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 62%,transparent);box-shadow:0 18px 42px color-mix(in srgb,var(--ink) 16%,transparent);outline:none}
body[data-family=warm-analog] .service-card:nth-child(even){transform:none}
body[data-family=warm-analog] .service-card:nth-child(even):hover,
body[data-family=warm-analog] .service-card:nth-child(even):focus-visible{transform:translateY(-5px)}
/* Slower, softer content entrance and accordion transitions. */
:root{interpolate-size:allow-keywords}
.reveal{animation:rise 1.6s cubic-bezier(.22,1,.36,1) both}
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.faq-home details,.faq-list details{overflow:clip}
.faq-home summary,.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding-right:4px}
.faq-home summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}
.faq-home summary::after,.faq-list summary::after{content:'+';flex:0 0 auto;color:var(--accent);font:500 1.65rem/1 Syne,sans-serif;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.faq-home details[open] summary::after,.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-home details::details-content,.faq-list details::details-content{block-size:0;opacity:0;overflow:hidden;transition:block-size 1.25s cubic-bezier(.22,1,.36,1),opacity 1s ease,content-visibility 1.25s allow-discrete}
.faq-home details[open]::details-content,.faq-list details[open]::details-content{block-size:auto;opacity:1}
/* Continuous service-and-price ticker. */
.ticker{padding:0;text-align:left;word-spacing:normal}
.ticker-track{display:flex;width:max-content;will-change:transform;animation:ticker-scroll 38s linear infinite}
.ticker-group{display:flex;flex:0 0 auto;align-items:center;padding:13px 0}
.ticker-item{display:inline-flex;align-items:center;gap:28px;padding-left:28px;font-weight:700;letter-spacing:.02em}
.ticker-item::after{content:'•';color:var(--accent);font-size:1.15em}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes ticker-scroll{to{transform:translateX(-50%)}}
/* Business-specific metric treatments. */
.facts[data-theme=audio] article{border-left:4px solid var(--accent);border-radius:6px}
.facts[data-theme=coffee] article{background:color-mix(in srgb,var(--accent) 9%,transparent);border-style:dashed}
.facts[data-theme=coffee] strong{color:var(--accent)}
.facts[data-theme=architecture]{grid-template-columns:repeat(3,1fr)}
.facts[data-theme=architecture] article{display:grid;align-content:space-between;min-height:150px;border-top:5px solid var(--accent)}
.facts[data-theme=architecture] span{font-size:.92rem}
.facts[data-theme=movement] article{border-radius:999px;padding-inline:30px;background:color-mix(in srgb,var(--accent) 10%,var(--paper))}
@media(max-width:900px){.facts[data-theme=architecture]{grid-template-columns:1fr}}
@media(max-width:600px){.facts[data-theme=movement] article{border-radius:28px}}
/* A distinct, offline-safe type system for every brand. */
body[data-family=editorial-split]{--font-body:Arial,Helvetica,sans-serif;--font-display:"Arial Black",Arial,sans-serif}
body[data-family=dark-console]{--font-body:"Trebuchet MS",Tahoma,sans-serif;--font-display:Georgia,"Times New Roman",serif}
body[data-family=nordic-grid]{--font-body:"Segoe UI",Arial,sans-serif;--font-display:Bahnschrift,"Arial Narrow","Segoe UI",sans-serif}
body[data-family=warm-analog]{--font-body:Verdana,Geneva,sans-serif;--font-display:"Palatino Linotype",Palatino,Georgia,serif}
body[data-family]{font-family:var(--font-body)}
body[data-family] :is(h1,h2,h3,.brand,.facts strong,.footer-brand,.cookie h2){font-family:var(--font-display)}
body[data-family=editorial-split] :is(h1,h2,h3){letter-spacing:-.045em}
body[data-family=dark-console] :is(h1,h2,h3){letter-spacing:-.025em}
body[data-family=nordic-grid] :is(h1,h2,h3){letter-spacing:-.035em}
body[data-family=warm-analog] :is(h1,h2,h3){letter-spacing:-.03em}
/* Modern interaction and brand-motion layer. */
body[data-family]{isolation:isolate;overflow-x:hidden}
body[data-family]::before{content:'';position:fixed;z-index:-1;inset:0;pointer-events:none;opacity:.28}
body[data-family=editorial-split]::before{background:repeating-linear-gradient(90deg,transparent 0 7.5%,color-mix(in srgb,var(--accent) 7%,transparent) 7.5% 7.65%)}
body[data-family=dark-console]::before{background:radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 28%),radial-gradient(circle at 83% 72%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 24%)}
body[data-family=nordic-grid]::before{background-image:linear-gradient(color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px);background-size:48px 48px}
body[data-family=warm-analog]::before{background:radial-gradient(ellipse at 12% 28%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 32%),radial-gradient(ellipse at 88% 68%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 30%)}
.scroll-progress{position:fixed;z-index:80;top:0;left:0;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left center;will-change:transform}
#main-nav a{position:relative}
#main-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.22,1,.36,1)}
#main-nav a:hover::after,#main-nav a:focus-visible::after,#main-nav a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.button,.nav-cta{position:relative;overflow:hidden;gap:10px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}
.button::after,.nav-cta::after{content:'↗';display:inline-block;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.button:hover,.nav-cta:hover{transform:translateY(-3px);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 28%,transparent)}
.button:hover::after,.nav-cta:hover::after{transform:translate(3px,-3px)}
.button:active,.nav-cta:active{transform:translateY(0) scale(.98)}
.service-card img,.guide-grid img,.location img,.split img,.detail-hero img{transition:transform 1.1s cubic-bezier(.22,1,.36,1),filter .8s ease}
.service-card:hover img,.service-card:focus-visible img,.guide-grid>a:hover img,.guide-grid>a:focus-visible img,.location:hover img,.split:hover img,.detail-hero:hover img{transform:scale(1.045);filter:contrast(1.04) saturate(1.06)}
.guide-grid>a,.location,.split,.detail-hero{overflow:hidden}
main>.band:not(.process){position:relative}
main>.band:not(.process)::before{content:'';position:absolute;top:28px;left:4vw;width:54px;height:3px;background:var(--accent);transform-origin:left;animation:section-line 1.4s cubic-bezier(.22,1,.36,1) both}
body[data-family=dark-console] main>.band:not(.process)::before{width:82px;border-radius:999px}
body[data-family=nordic-grid] main>.band:not(.process)::before{height:1px;width:120px}
body[data-family=warm-analog] main>.band:not(.process)::before{width:38px;height:38px;border-radius:50%;background:transparent;border:2px solid var(--accent)}
@keyframes section-line{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
body[data-family=editorial-split] .brand span{animation:audio-pulse 2.8s ease-in-out infinite}
body[data-family=dark-console] .hero-image{animation:coffee-glow 6s ease-in-out infinite alternate}
body[data-family=nordic-grid] .hero::after{content:'';position:absolute;inset:42px 2vw auto auto;width:20%;height:2px;background:var(--accent);animation:blueprint-sweep 5s ease-in-out infinite alternate}
body[data-family=nordic-grid] .hero{position:relative}
body[data-family=warm-analog] .brand span{animation:organic-float 4.5s ease-in-out infinite}
@keyframes audio-pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 12%,transparent)}}
@keyframes coffee-glow{to{filter:saturate(1.08) brightness(1.04)}}
@keyframes blueprint-sweep{from{transform:translateX(-35%);opacity:.25}to{transform:translateX(35%);opacity:.85}}
@keyframes organic-float{50%{transform:translateY(-4px) rotate(8deg);border-radius:42% 58% 48% 52%}}
@media(max-width:900px){
 header:has(#main-nav.open){position:fixed;z-index:65;inset:0;display:block;padding:0;background:var(--paper);backdrop-filter:none;border:0}
 header:has(#main-nav.open) .brand{position:absolute;z-index:76;top:22px;left:24px}
 header:has(#main-nav.open) .menu{position:absolute;z-index:76;top:16px;right:16px}
 #main-nav.open{position:absolute;z-index:70;inset:0;background:color-mix(in srgb,var(--paper) 96%,transparent);display:grid;place-items:center;padding:88px 24px 30px}
 #main-nav.open nav{position:static;display:flex;width:min(560px,100%);padding:0;background:transparent;gap:8px}
 #main-nav.open nav a{font-family:var(--font-display);font-size:clamp(1.7rem,7vw,3.4rem);padding:8px 0;opacity:0;transform:translateY(18px);animation:menu-link-in .75s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--nav-index)*.08s)}
 #main-nav.open .nav-cta{justify-content:flex-start;background:transparent;color:var(--accent)!important;box-shadow:none}
 .menu{position:relative;z-index:75}
 body:has(#main-nav.open){overflow:hidden}
 @keyframes menu-link-in{to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){
 .ticker-track,.brand span,.hero-image,.hero::after,main>.band::before,#main-nav.open nav a{animation:none!important}
 .service-card img,.guide-grid img,.location img,.split img,.detail-hero img,.button,.nav-cta{transition:none!important}
}
