/* Homepage refinement layer. Film presentation deliberately unchanged. */
.header{gap:28px}.header .primary-nav{margin-left:auto;margin-right:38px;gap:27px}.header .primary-nav a{position:relative;color:var(--muted);font-size:12px}.primary-nav a::after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}.primary-nav a:hover::after,.primary-nav a[aria-current]::after{transform:scaleX(1)}.primary-nav a[aria-current]{color:var(--stone)}
.small-cta{position:relative;overflow:hidden;isolation:isolate;border-color:var(--coral);background:var(--coral);color:var(--plum);min-height:46px}.small-cta::before{content:'';position:absolute;inset:0;background:var(--lilac);transform:translateY(105%);transition:transform .35s var(--ease);z-index:-1}.cta-label{display:grid;overflow:hidden;line-height:1.4}.cta-label>span{grid-area:1/1;transition:transform .35s var(--ease),opacity .35s var(--ease)}.cta-label>span+span{transform:translateY(130%);opacity:0}.small-cta svg{transition:transform .35s var(--ease)}.small-cta:active{transform:scale(.97)}
@media(hover:hover){.small-cta:hover::before{transform:translateY(0)}.small-cta:hover .cta-label>span:first-child{transform:translateY(-130%);opacity:0}.small-cta:hover .cta-label>span+span{transform:translateY(0);opacity:1}.small-cta:hover svg{transform:rotate(45deg)}}
.small-cta:focus-visible::before{transform:none}
.hero{min-height:0;padding-top:56px;align-items:start;grid-template-rows:auto auto}.hero-copy{align-self:start}.sculpture{height:470px;min-height:0;margin-top:-28px}.sculpture canvas{min-height:0}.hero-baseline{margin-top:28px;padding:20px 0}.hero-bottom{margin-top:28px}
.section-rail{position:fixed;z-index:20;left:4px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;background:var(--plum);border:1px solid var(--line);border-radius:30px;padding:9px 0}.section-rail a{position:relative;width:36px;height:34px;display:grid;place-items:center;text-decoration:none;color:var(--stone)}.section-rail i{width:5px;height:5px;border-radius:10px;background:var(--muted);transition:transform .2s,background .2s}.section-rail [aria-current] i{background:var(--coral);transform:scale(1.65)}.section-rail span{position:absolute;left:43px;padding:6px 12px;background:var(--plum);border:1px solid var(--line);border-radius:7px;font-size:11px;white-space:nowrap;opacity:0;transform:translateX(-4px);pointer-events:none;transition:opacity .2s,transform .2s}.section-rail a:hover span,.section-rail a:focus-visible span{opacity:1;transform:none}
.preloader{position:fixed;inset:0;background:var(--plum);z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;pointer-events:none;animation:loader-exit .5s var(--ease) 1.05s forwards}.loader-logo{display:flex;align-items:baseline;font-size:clamp(48px,10vw,100px)}.loader-logo .loader-letter{font:inherit;letter-spacing:inherit;vertical-align:baseline;margin:0;animation:letter-hop .7s var(--ease) both;animation-delay:calc(var(--i)*45ms)}.loader-logo .loader-dot{width:10px;height:10px;background:var(--coral);border-radius:50%;margin:0 0 10px 10px;animation:dot-hop .9s var(--ease) both}.loader-track{width:100px;height:2px;background:var(--line);overflow:hidden}.loader-track i{display:block;height:100%;background:var(--coral);transform-origin:left;animation:track-in 1s var(--ease) both}
@keyframes letter-hop{0%{opacity:0;transform:translateY(28px) rotate(8deg)}65%{opacity:1;transform:translateY(-7px) rotate(-3deg)}100%{opacity:1;transform:none}}@keyframes dot-hop{0%{transform:translateY(-55px) scale(.4);opacity:0}55%{transform:translateY(4px) scale(1.25,.75);opacity:1}78%{transform:translateY(-10px) scale(.8,1.1)}100%{transform:none}}@keyframes loader-exit{to{opacity:0;visibility:hidden;transform:translateY(-12px)}}@keyframes track-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Native details retain their semantics; short isolated height animations use WAAPI. */
.deal-list details,.questions details{overflow:hidden}.deal-list details p,.questions details p{animation:none!important}.deal-list summary,.questions summary{position:relative;z-index:1}.deal-list details[data-closing] summary svg,.questions details[data-closing] summary svg{transform:none}
.build-heading{position:relative;width:max-content;max-width:100%}.build-heading>span{position:relative;display:inline-block}.build-heading>span::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:3px;background:currentColor;transform:scaleX(0);transform-origin:left}.build-spark{position:absolute;right:-42px;top:0;width:34px;height:34px;stroke:var(--plum);stroke-width:3;opacity:0}.contact.in-view .build-heading>span{animation:build-in .8s var(--ease) both}.contact.in-view .build-heading>span::after{animation:track-in .7s var(--ease) .3s forwards}.contact.in-view .build-spark{animation:spark-in 1s var(--ease) .3s forwards}@keyframes build-in{from{opacity:0;transform:translateY(18px) rotate(-3deg)}to{opacity:1;transform:none}}@keyframes spark-in{from{opacity:0;transform:scale(.2) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.play-layout{grid-template-columns:310px minmax(0,1fr);gap:46px;align-items:start}.controls{display:block}.controls-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:20px}.controls-heading h3{font-size:23px;margin:0}.controls-heading .text-button{margin:0;font-size:11px;flex:none}.control-group{border-top:1px solid #bdaabb}.control-group summary{font:600 12px Manrope,sans-serif;padding:18px 0;gap:12px}.control-group summary svg{width:16px}.control-body{padding:2px 0 18px}.control-body>label{display:block;font-size:12px;font-weight:600;margin:14px 0 8px}.control-body input{color-scheme:light}.controls fieldset{margin-bottom:22px}.controls legend{font-weight:500;color:#6d586c;font-size:11px;margin-bottom:10px}.mood-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px}.mood-buttons button{font-size:11px;padding:7px 8px;gap:8px}.mood-buttons i{width:19px;height:19px;flex:none}.option-grid{display:flex;flex-wrap:wrap;gap:6px}.option-grid button{background:transparent;color:var(--plum);padding:8px 11px;border:1px solid #bdaabb;border-radius:7px;font-size:11px;min-height:38px}.option-grid [aria-pressed=true]{background:var(--plum);color:var(--stone);border-color:var(--plum)}.controls input[type=range]{padding:0;border:0;accent-color:var(--plum);height:28px}.range-label{display:flex!important;justify-content:space-between;gap:12px}.range-label output{font-weight:400;color:#6d586c;font-variant-numeric:tabular-nums}.control-help{font-size:11px;color:#6d586c;padding:0;margin-bottom:12px}.sample-features{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sample-features label{display:flex;gap:8px;align-items:center;min-height:36px;font-size:11px}.sample-features input{width:16px;height:16px;accent-color:var(--plum);flex:none}.specimen-wrap{position:sticky;top:24px}.specimen-space{min-height:540px}.specimen{--spec-size:1;--spec-space:28px;--spec-radius:6px;border-radius:var(--spec-radius);transition:background .2s,color .2s}.spec-text{padding-left:var(--spec-space);padding-top:var(--spec-space)}.spec-text h3{font-size:calc(clamp(32px,5.8cqw,65px)*var(--spec-size))!important;overflow-wrap:anywhere}.specimen[data-layout=bold] .spec-text h3{font-size:calc(clamp(30px,5.5cqw,60px)*var(--spec-size))!important}.spec-nav,.spec-footer{padding-left:var(--spec-space);padding-right:var(--spec-space)}
.specimen[data-mood=ink]{--spec-bg:#333348;--spec-ink:#f4ece6;--spec-shape:#a89cda;--spec-accent:#eeb294}.specimen[data-mood=rose]{--spec-bg:#efd0d3;--spec-ink:#592b43;--spec-shape:#a45473;--spec-accent:#f7e5aa}.specimen[data-mood=forest]{--spec-bg:#bccdad;--spec-ink:#243d2b;--spec-shape:#51704d;--spec-accent:#eec891}.specimen[data-mood=butter]{--spec-bg:#f4df8b;--spec-ink:#493822;--spec-shape:#b89049;--spec-accent:#c9bbdc}.specimen[data-mood=paper]{--spec-bg:#f1eee5;--spec-ink:#34342f;--spec-shape:#999a8a;--spec-accent:#cf8b6e}
.specimen[data-layout=split] .spec-text{grid-column:2;padding-right:var(--spec-space);padding-left:12px}.specimen[data-layout=split] .spec-art{grid-row:1;grid-column:1}.specimen[data-layout=poster] .spec-content{grid-template-columns:1fr}.specimen[data-layout=poster] .spec-text{text-align:center;padding:var(--spec-space)}.specimen[data-layout=poster] .spec-text button{margin-left:auto;margin-right:auto}.specimen[data-layout=poster] .spec-text h3 br{display:none}.specimen[data-layout=poster] .spec-art{min-height:170px;height:170px}.specimen[data-layout=poster] .arch{width:38%;height:180%;left:24%;top:0}.specimen[data-layout=poster] .arch-two{left:48%;top:25%;width:25%}.specimen[data-layout=poster] .art-caption{display:none}
.specimen[data-font=serif] .spec-text h3{font-family:Georgia,serif;font-weight:400}.specimen[data-font=sans] .spec-text h3{font-family:Manrope,sans-serif}.specimen[data-font=mono] .spec-text h3{font-family:Consolas,monospace;letter-spacing:-.07em}.specimen[data-button=soft] .spec-text button{border-radius:8px}.specimen[data-button=sharp] .spec-text button{border-radius:0}.specimen[data-texture=dots] .spec-art{background-image:radial-gradient(var(--spec-shape) .8px,transparent .8px);background-size:13px 13px}.specimen[data-texture=grid] .spec-art{background-image:linear-gradient(90deg,color-mix(in srgb,var(--spec-ink) 12%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--spec-ink) 12%,transparent) 1px,transparent 1px);background-size:24px 24px}.specimen[data-art=orbit] .arch{border-radius:50%;height:70%;width:85%;top:16%;left:8%;border-width:18px;transform:rotate(-35deg) scaleY(.6)}.specimen[data-art=orbit] .arch-two{transform:rotate(40deg) scaleY(.6);top:23%;border-color:var(--spec-accent)}.specimen[data-art=tiles] .arch{border-radius:14px;width:65%;height:48%;top:12%;left:4%;transform:rotate(-12deg)}.specimen[data-art=tiles] .arch-two{left:33%;top:40%;transform:rotate(15deg)}
.spec-modules{border-top:1px solid color-mix(in srgb,var(--spec-ink) 25%,transparent);padding:18px var(--spec-space);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sample-module{border:1px solid color-mix(in srgb,var(--spec-ink) 30%,transparent);border-radius:8px;padding:12px;font-size:10px;min-width:0}.sample-module h4{font-size:12px;margin:0 0 9px}.sample-module p{font-size:10px;margin:0 0 7px}.sample-module button{background:var(--spec-ink);color:var(--spec-bg);font-size:10px;border-radius:5px;padding:7px 8px;min-height:32px}.sample-module label{display:block;font-size:10px}.sample-module input{width:100%;background:transparent;border:1px solid currentColor;color:inherit;padding:6px;font-size:11px;margin:5px 0 8px}.sample-gallery{display:flex;gap:5px}.sample-gallery i{background:var(--spec-shape);height:40px;flex:1;border-radius:3px}.sample-gallery i+ i{background:var(--spec-accent)}.sample-module summary{font:inherit;padding:6px 0}.sample-module details p{color:inherit;padding:6px 0;animation:none}.sample-slots{display:flex;gap:4px;flex-wrap:wrap}.sample-slots button[aria-pressed=true]{outline:2px solid var(--spec-ink);outline-offset:2px}.sample-note{display:block;margin-top:8px;font-size:9px}
[data-paused] .art-ball,[data-paused] .key-card{animation-play-state:paused}
@media(min-width:761px) and (max-width:1100px){.header .primary-nav{margin-right:12px;gap:20px}.hero{padding-top:45px}.hero-bottom{flex-direction:column;align-items:start;gap:20px}.sculpture{height:370px;margin-top:0}.section-rail{display:none}.play-layout{grid-template-columns:260px minmax(0,1fr);gap:28px}.build-spark{right:-25px;width:24px}}
@media(max-width:760px){.header .primary-nav,.section-rail{display:none}.hero{padding-top:38px}.hero-bottom{margin-top:22px}.sculpture{height:300px;margin:2px -4% 0}.hero-baseline{margin-top:16px;padding:18px 0}.play-layout{grid-template-columns:1fr;gap:24px}.controls-heading h3{font-size:24px}.controls{display:contents}.controls-heading,.control-group,.controls>#use-style,.control-note{grid-column:1}.controls-heading{margin-bottom:-10px}.control-group{margin-top:-16px}.specimen-wrap{position:relative;top:auto;grid-column:1;grid-row:2}.control-group:nth-of-type(1){grid-row:3}.control-group:nth-of-type(2){grid-row:4}.control-group:nth-of-type(3){grid-row:5}.control-group:nth-of-type(4){grid-row:6}.controls>#use-style{margin:0}.control-note{margin-top:-22px}.mood-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.mood-buttons button{display:flex;flex-direction:column;padding:8px 2px;font-size:10px;gap:4px}.option-grid button{min-height:42px}.specimen-space{min-height:390px}.specimen{--spec-space:20px}.specimen .spec-text h3{font-size:calc(34px*var(--spec-size))!important}.specimen[data-layout=bold] .spec-text h3{font-size:calc(30px*var(--spec-size))!important}.build-spark{right:-32px;width:26px;height:26px}.control-group summary{min-height:52px}.sample-features label{min-height:44px}}
@media(max-width:360px){.build-spark{right:-16px;top:-18px;width:22px}.specimen .spec-text h3{font-size:calc(29px*var(--spec-size))!important}.spec-modules{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.preloader{display:none!important}.build-heading>span::after{transform:scaleX(1)}.build-spark{opacity:1}*,*::before,*::after{animation:none!important;transition:none!important}}
