html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--color-paper);overflow-x:clip}main{overflow:clip}a{color:inherit}img{max-width:100%;height:auto;display:block}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}.shell{width:min(100%, var(--page-max));padding-inline:var(--page-gutter);margin-inline:auto}h1,h2{color:var(--color-ink);font-family:var(--font-body);letter-spacing:-.035em;font-weight:700;line-height:1.02}h1{font-size:clamp(2.6rem,5.2vw,4.6rem)}h2{font-size:clamp(2rem,3.6vw,3.1rem)}.eyebrow{color:var(--color-accent-deep);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.lede{max-width:38ch;color:var(--color-muted);font-size:var(--text-lg);line-height:1.5}.note{font-family:var(--font-display);color:var(--color-muted);line-height:1.25;rotate:-4deg}.scroll-progress{z-index:calc(var(--z-sticky) + 1);transform-origin:0;height:3px;transform:scaleX(var(--progress,0));background:linear-gradient(90deg, var(--color-honey), var(--color-accent), var(--color-lilac));pointer-events:none;position:fixed;inset:0 0 auto}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-lg);min-height:3.4rem;font-weight:600;font-size:var(--text-sm);white-space:nowrap;transition:transform var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);border:1px solid #0000;padding:.55rem 1.4rem;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn svg{fill:currentColor;flex:none;width:1.35rem;height:1.35rem}.btn__text{text-align:left;line-height:1.15;display:grid}.btn__text small{color:inherit;opacity:.7;font-size:var(--text-xs);font-weight:500}.btn--dark{background:var(--color-ink);color:var(--color-paper-raised);box-shadow:0 .6rem 1.4rem color-mix(in oklch, var(--color-ink) 28%, transparent)}.btn--dark:hover{box-shadow:0 1rem 2rem color-mix(in oklch, var(--color-ink) 34%, transparent);transform:translateY(-3px)}.btn--dark:active{transform:translateY(0)}.btn--dark:before{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,oklch(100% 5.96046e-8 none/.3),#0000);width:40%;position:absolute;inset:0 auto 0 -60%;transform:skew(-20deg)}.btn--dark:hover:before{animation:shine .7s var(--ease-out)}.btn--ghost{background:var(--color-paper-raised);border-color:var(--color-rule);color:var(--color-ink);cursor:default}.btn--sm{border-radius:var(--radius-pill);min-height:2.6rem;padding-inline:1rem}.btn--sm svg{width:1.1rem;height:1.1rem}.nav{z-index:var(--z-sticky);padding-block:var(--space-md);transition:background var(--dur-long), box-shadow var(--dur-long), padding var(--dur-long);position:fixed;inset:0 0 auto}.nav.is-scrolled{padding-block:var(--space-xs);background:color-mix(in oklch, var(--color-paper) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);box-shadow:0 1px 0 var(--color-rule)}.nav__inner{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.nav__inner .btn{justify-self:end}.nav__brand{justify-self:start;width:7.5rem}.nav__links{gap:var(--space-xl);display:flex}.nav__links a{font-size:var(--text-sm);padding-block:var(--space-xs);font-weight:500;text-decoration:none;position:relative}.nav__links a:after{content:"";background:var(--color-accent);height:2px;transition:transform var(--dur-short) var(--ease-out);border-radius:2px;position:absolute;inset:auto 0 0;transform:scaleX(0)}.nav__links a:hover:after{transform:scaleX(1)}.hero{padding-block:7.5rem var(--space-2xl);background:radial-gradient(60% 70% at 78% 30%, color-mix(in oklch, var(--color-honey) 38%, transparent), transparent 70%), var(--color-paper);position:relative}.hero__grid{align-items:center;gap:var(--space-xl);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid}.hero__copy{justify-items:start;gap:var(--space-lg);animation:settle .7s var(--ease-out) both;display:grid}.hero__actions{gap:var(--space-md);flex-wrap:wrap;display:flex}.hero__icons{gap:var(--space-lg);margin-top:var(--space-md);display:flex}.hero__icons li{justify-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-muted);text-align:center;line-height:1.25;display:grid}.hero__icons img{width:3rem;transition:transform var(--dur-long) var(--ease-out)}.hero__icons li:hover img{transform:translateY(-6px)rotate(-6deg)scale(1.1)}.hero__art{perspective:1000px;animation:settle .8s var(--ease-out) .1s both;margin:0}.hero__art img{width:100%;transform:translate3d(var(--px,0), var(--py,0), 0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease-out);filter:drop-shadow(0 1.5rem 2rem color-mix(in oklch, var(--color-ink) 14%, transparent));margin-inline:auto;animation:7s ease-in-out infinite float}.sparkles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sparkles i{left:var(--x);top:var(--y);color:var(--color-honey);font-size:var(--s);opacity:0;animation:twinkle var(--d) ease-in-out var(--delay,0s) infinite;font-style:normal;position:absolute}.strip{padding-block:var(--space-lg) var(--space-2xl)}.strip__grid{border-radius:var(--radius-card);background:color-mix(in oklch, var(--color-paper-raised) 70%, var(--color-paper-muted));border:1px solid var(--color-rule);padding:var(--space-lg);gap:var(--space-md);max-width:calc(var(--page-max) - 2 * var(--page-gutter));grid-template-columns:repeat(4,1fr);display:grid}.strip__grid article{align-items:center;gap:var(--space-md);padding-inline:var(--space-sm);display:flex}.strip__grid article+article{border-inline-start:1px solid var(--color-rule)}.strip__grid img{width:3.75rem;transition:transform var(--dur-long) var(--ease-out);flex:none}.strip__grid article:hover img{transform:translateY(-5px)rotate(-5deg)scale(1.08)}.strip__grid h3{font-size:var(--text-sm);font-weight:700;line-height:1.25}.strip__grid p{margin-top:var(--space-2xs);font-size:var(--text-xs);color:var(--color-muted);line-height:1.4}.create{padding-block:var(--space-xl) var(--space-3xl)}.create__grid{align-items:center;gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,.7fr);display:grid}.create__copy{gap:var(--space-md);justify-items:start;display:grid}.cat-grid{gap:var(--space-sm);margin-top:var(--space-md);grid-template-columns:repeat(3,1fr);width:100%;max-width:22rem;display:grid}.cat-grid li{align-content:center;justify-items:center;gap:var(--space-xs);aspect-ratio:1;padding:var(--space-sm);border-radius:var(--radius-lg);background:var(--color-paper-raised);border:1px solid var(--color-rule);font-size:var(--text-xs);transition:transform var(--dur-long) var(--ease-out), box-shadow var(--dur-long) var(--ease-out);font-weight:600;display:grid}.cat-grid img{object-fit:contain;width:auto;max-width:100%;height:3.4rem;transition:transform var(--dur-long) var(--ease-out)}.cat-grid li:hover{box-shadow:0 1rem 1.6rem color-mix(in oklch, var(--color-ink) 12%, transparent);transform:translateY(-6px)}.cat-grid li:hover img{transform:scale(1.15)rotate(-4deg)}.create__phone{margin:0}.create__phone img{width:min(100%,24rem);filter:drop-shadow(0 2rem 2.5rem color-mix(in oklch, var(--color-ink) 20%, transparent));margin-inline:auto}.create__floaters{gap:var(--space-md);grid-template-columns:1fr 1fr;align-content:center;min-height:26rem;display:grid;position:relative}.note--drag{align-items:flex-start;gap:var(--space-xs);font-size:var(--text-base);text-align:right;grid-column:1/-1;justify-self:end;display:flex;rotate:3deg}.note--drag svg{width:3.2rem;color:var(--color-ink);margin-top:var(--space-md);flex:none}.floater{border-radius:var(--radius-card);background:var(--color-paper-raised);border:1px solid var(--color-rule);box-shadow:0 1rem 2rem color-mix(in oklch, var(--color-ink) 10%, transparent);transition:transform var(--dur-long) var(--ease-out);place-items:center;animation:6s ease-in-out infinite float;display:grid}.floater img{object-fit:contain;width:70%;max-height:80%}.floater--big{aspect-ratio:1.3;grid-column:1/-1;justify-self:center;width:70%}.floater--s1{aspect-ratio:1;animation-delay:-1.5s}.floater--s2{aspect-ratio:1;animation-delay:-3s}.floater--s3{aspect-ratio:1;grid-column:1/-1;justify-self:center;width:50%;animation-delay:-4.5s}.floater:hover{transform:scale(1.06)rotate(-2deg)}.colours{padding-block:0 var(--space-3xl)}.colours__panel{align-items:center;gap:var(--space-xl);padding:var(--space-xl);border-radius:var(--radius-card);background:color-mix(in oklch, var(--color-paper-raised) 60%, var(--color-paper-muted));border:1px solid var(--color-rule);max-width:calc(var(--page-max) - 2 * var(--page-gutter));grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);display:grid}.colours__copy{gap:var(--space-md);justify-items:start;display:grid}.tabs{gap:var(--space-xs);margin-top:var(--space-md);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.tabs b,.tabs span{border-radius:var(--radius-pill);padding:.4rem 1rem;font-weight:600}.tabs b{background:var(--color-ink);color:var(--color-paper-raised)}.tabs span{color:var(--color-muted)}.swatches{gap:var(--space-xs);flex-wrap:wrap;display:flex}.swatch{aspect-ratio:1;width:3.5rem;padding:var(--space-xs);border-radius:var(--radius-md);background:var(--color-paper-raised);cursor:pointer;transition:transform var(--dur-short) var(--ease-out), border-color var(--dur-short), box-shadow var(--dur-short);border:2px solid #0000;place-items:center;display:grid}.swatch img{width:100%}.swatch:hover{transform:translateY(-4px)scale(1.06)}.swatch[aria-pressed=true]{border-color:var(--color-ink);box-shadow:0 .5rem 1rem color-mix(in oklch, var(--color-ink) 16%, transparent)}.colours__art{margin:0;position:relative}.colours__art img{width:100%;filter:drop-shadow(0 1.5rem 2rem color-mix(in oklch, var(--color-ink) 14%, transparent));transition:transform .8s var(--ease-out)}.colours__art:hover img{transform:scale(1.03)rotate(-.8deg)}.colours__art .note{text-align:right;animation:6s ease-in-out infinite wobble;position:absolute;inset:auto 0 0 auto}.gallery{padding-block:0 var(--space-3xl)}.section-head{gap:var(--space-md);margin-bottom:var(--space-xl);display:grid}.gallery__grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.room{margin:0}.room div{aspect-ratio:3/2;border-radius:var(--radius-card);background:var(--color-paper-muted);box-shadow:0 1rem 2rem color-mix(in oklch, var(--color-ink) 10%, transparent);transition:transform var(--dur-long) var(--ease-out), box-shadow var(--dur-long) var(--ease-out);overflow:clip}.room img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-out)}.room:hover div{box-shadow:0 2rem 3rem color-mix(in oklch, var(--color-ink) 18%, transparent);transform:translateY(-8px)}.room:hover img{transform:scale(1.07)}.room figcaption{gap:var(--space-3xs);padding-block-start:var(--space-md);display:grid}.room figcaption strong{font-size:var(--text-sm)}.room figcaption span{font-size:var(--text-xs);color:var(--color-muted)}.banner{padding-block:0 var(--space-3xl)}.banner__card{border-radius:var(--radius-card);align-items:center;min-height:15rem;display:grid;position:relative;overflow:clip}.banner__img{object-fit:cover;object-position:left center;width:100%;height:100%;transition:transform 1.2s var(--ease-out);position:absolute;inset:0}.banner__card:hover .banner__img{transform:scale(1.04)}.banner__copy{width:min(100%,28rem);padding:var(--space-xl);justify-self:end;gap:var(--space-sm);display:grid;position:relative}.banner__copy h2{font-size:clamp(1.8rem,3vw,2.6rem)}.banner__copy p{color:var(--color-muted)}.faq{padding-block:0 var(--space-3xl)}.faq__grid{gap:var(--space-xl);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;display:grid}.faq__grid>div:first-child{gap:var(--space-sm);display:grid;position:sticky;top:6rem}.faq__items{gap:var(--space-sm);display:grid}.faq details{border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-raised);transition:box-shadow var(--dur-long), border-color var(--dur-short)}.faq details:hover{border-color:var(--color-accent)}.faq details[open]{box-shadow:0 1rem 2rem color-mix(in oklch, var(--color-ink) 8%, transparent)}.faq summary{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);font-size:var(--text-sm);cursor:pointer;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary i{flex:none;width:.9rem;height:.9rem;position:relative}.faq summary i:before,.faq summary i:after{content:"";background:var(--color-ink);height:2px;transition:transform var(--dur-short) var(--ease-out);border-radius:2px;margin-top:-1px;position:absolute;inset:50% 0 auto}.faq summary i:after{transform:rotate(90deg)}.faq details[open] summary i:after{transform:rotate(0)}.faq details p{padding:0 var(--space-lg) var(--space-lg);color:var(--color-muted);max-width:55ch;animation:settle .4s var(--ease-out) both;line-height:1.55}.final{padding-block:0 var(--space-3xl)}.final__grid{align-items:center;gap:var(--space-xl);padding-block:var(--space-xl);border-radius:var(--radius-card);background:linear-gradient(120deg, color-mix(in oklch, var(--color-honey) 35%, var(--color-paper-raised)), color-mix(in oklch, var(--color-accent-soft) 70%, var(--color-paper-raised)));max-width:calc(var(--page-max) - 2 * var(--page-gutter));grid-template-columns:minmax(0,1fr) minmax(0,.9fr);display:grid}.final__grid img{width:100%;max-width:30rem;filter:drop-shadow(0 1.5rem 2rem color-mix(in oklch, var(--color-ink) 16%, transparent));margin-inline:auto;animation:8s ease-in-out infinite float}.final__copy{gap:var(--space-md);justify-items:start;padding-inline-end:var(--space-xl);display:grid}.final__copy p{color:var(--color-muted);max-width:36ch}.footer{padding-block:var(--space-lg) var(--space-lg);border-top:1px solid var(--color-rule)}.footer__row{justify-content:space-between;align-items:center;gap:var(--space-md) var(--space-lg);padding-block:var(--space-sm);flex-wrap:wrap;display:flex}.footer__brand{width:6.5rem;transition:transform var(--dur-long) var(--ease-out)}.footer__brand:hover{transform:rotate(-3deg)scale(1.06)}.footer p,.footer span{font-size:var(--text-sm);color:var(--color-muted)}.footer nav{gap:var(--space-md) var(--space-lg);flex-wrap:wrap;display:flex}.footer nav a{font-size:var(--text-sm);color:var(--color-muted);text-decoration:none}.footer nav a:hover{color:var(--color-ink)}.footer__row--credit{border-top:1px dashed var(--color-rule);margin-top:var(--space-sm);padding-block-start:var(--space-md)}.credit{align-items:center;gap:var(--space-2xs);font-family:var(--font-display);display:flex}.credit__heart{color:var(--color-accent);animation:2.4s ease-in-out infinite heartbeat;display:inline-block}.credit a{color:var(--color-ink);font-weight:600;text-decoration:none;position:relative}.credit a:after{content:"";background:linear-gradient(90deg, var(--color-accent), var(--color-honey));transform-origin:0;height:2px;transition:transform var(--dur-long) var(--ease-out);border-radius:2px;position:absolute;inset:auto 0 -2px;transform:scaleX(.35)}.credit a:hover:after{transform:scaleX(1)}.js [data-reveal]{opacity:0;translate:0 var(--space-lg);filter:blur(4px);transition:opacity .7s var(--ease-out), translate .7s var(--ease-out), scale .7s var(--ease-out), filter .7s var(--ease-out);transition-delay:var(--delay,0s);scale:.98}.js [data-reveal=left]{translate:calc(var(--space-xl) * -1) 0}.js [data-reveal].is-in{opacity:1;filter:none;translate:0;scale:1}@keyframes settle{0%{opacity:0;transform:translateY(var(--space-md))}to{opacity:1;transform:none}}@keyframes shine{to{inset-inline-start:130%}}@keyframes float{0%,to{translate:0}50%{translate:0 -.6rem}}@keyframes wobble{0%,to{rotate:-2deg}50%{rotate:2deg}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4)rotate(0)}50%{opacity:.95;transform:scale(1)rotate(25deg)}}@keyframes heartbeat{0%,60%,to{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.2)}}@media (width<=64rem){.create__grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.create__floaters{grid-column:1/-1;grid-template-columns:repeat(4,1fr);min-height:0}.note--drag{grid-column:1/-1}.floater--big,.floater--s3{aspect-ratio:1;grid-column:auto;width:100%}.strip__grid{grid-template-columns:repeat(2,1fr)}.strip__grid article:nth-child(3){border-inline-start:0}}@media (width<=52rem){.nav__links{display:none}.nav__inner{grid-template-columns:1fr auto}.hero{padding-top:6rem}.hero__grid,.create__grid,.colours__panel,.faq__grid,.final__grid{grid-template-columns:minmax(0,1fr)}.hero__icons{flex-wrap:wrap}.create__phone img{width:min(100%,20rem)}.create__floaters{grid-template-columns:repeat(2,1fr)}.gallery__grid{grid-template-columns:minmax(0,1fr)}.colours__panel{padding:var(--space-lg)}.banner__card{align-items:end;min-height:22rem}.banner__img{object-position:20% top;height:60%}.banner__copy{padding:var(--space-lg);background:linear-gradient(transparent, color-mix(in oklch, var(--color-paper-raised) 94%, transparent) 30%);justify-self:start}.faq__grid>div:first-child{position:static}.final__copy{padding:0 var(--space-lg) var(--space-md)}.final__grid{gap:var(--space-md)}}@media (width<=34rem){.strip__grid{grid-template-columns:minmax(0,1fr)}.strip__grid article+article{border-inline-start:0}.footer__row{flex-direction:column;align-items:flex-start}.hero__actions .btn{justify-content:flex-start;width:100%}.sparkles i:nth-child(n+3){display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.js [data-reveal]{opacity:1;filter:none;translate:none;scale:none}.scroll-progress{display:none}html{scroll-behavior:auto}}
