@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f2efe9;--paper-2:#e8e4db;--ink:#17161b;--ink-soft:#5f5b66;--line:#17161b29;--accent:#bba8ff;--accent-deep:#5a3fe0;--wa:#25d366;--font-display:"Space Grotesk Variable", "Space Grotesk", system-ui, sans-serif;--font-body:"Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--pad:clamp(20px, 4vw, 56px);--max:1360px;--nav-h:68px;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5;overflow-x:clip}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit}a{color:inherit}img,svg{max-width:100%}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:3px solid var(--accent-deep);outline-offset:3px;border-radius:4px}.on-dark :focus-visible{outline-color:var(--accent)}.container{width:min(100% - 2 * var(--pad), var(--max));margin-inline:auto}section[id]{scroll-margin-top:var(--nav-h)}.display{font-family:var(--font-display);letter-spacing:-.045em;text-transform:uppercase;font-weight:700;line-height:.9}.h2{font-size:clamp(2.7rem,8.2vw,7.4rem)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lede{font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:500;line-height:1.35}.muted{color:var(--ink-soft)}.skip-link{z-index:100;background:var(--ink);color:var(--paper);border-radius:999px;padding:.7em 1.1em;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.nav{z-index:50;height:var(--nav-h);border-bottom:1px solid #0000;align-items:center;transition:background-color .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:fixed;inset:0 0 auto}.nav--solid{background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}.nav__row{justify-content:space-between;align-items:center;gap:16px;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:.03em;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark__glyph{width:22px;height:22px;fill:var(--ink)}.wordmark__glyph rect{transition:transform .4s var(--ease)}.wordmark:hover .wordmark__glyph rect:first-child{transform:translate(-1.5px)}.wordmark:hover .wordmark__glyph rect:nth-child(3){transform:translate(1.5px)}.nav__right{align-items:center;gap:clamp(14px,2.4vw,32px);display:flex}.nav__link{color:var(--ink-soft);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s}.nav__link:hover{color:var(--ink)}.nav__cta{background:var(--ink);min-height:44px;color:var(--paper);font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;transition:transform .25s var(--ease), background-color .2s;border-radius:999px;align-items:center;gap:.6em;padding:0 1.25em;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.nav__cta:hover{background:#2b2933;transform:translateY(-1px)}.nav__arrow{transition:transform .25s var(--ease)}.nav__cta:hover .nav__arrow{transform:translate(3px)}@media (width<=720px){.nav__link{display:none}}.btn{min-height:52px;font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:transform .25s var(--ease), background-color .25s, color .25s, border-color .25s;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.7em;padding:.95em 1.6em;font-size:.95rem;font-weight:600;line-height:1;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn__arrow{transition:transform .25s var(--ease);display:inline-block}.btn:hover .btn__arrow{transform:translate(4px)}.btn:hover .btn__arrow--up{transform:translate(3px,-3px)}.btn--primary.btn--light{background:var(--ink);color:var(--paper)}.btn--primary.btn--light:hover{background:#2b2933}.btn--ghost.btn--light{border-color:var(--ink);color:var(--ink)}.btn--ghost.btn--light:hover{background:var(--ink);color:var(--paper)}.btn--accent{background:var(--accent);color:var(--ink)}.btn--accent:hover{background:#cdbfff}.btn--ghost.btn--dark{color:var(--paper);border-color:#f2efe980}.btn--ghost.btn--dark:hover,.btn--primary.btn--dark{background:var(--paper);color:var(--ink)}.display .line{margin:-.07em 0;padding:.07em 0;display:block;overflow:hidden}.display .line__inner{transition:transform .95s var(--ease);will-change:transform;display:block;transform:translateY(108%)}.display.is-shown .line__inner{transform:none}@media (prefers-reduced-motion:reduce){.display .line__inner{transition:none;transform:none}}.viewer{width:100%;height:100%;position:relative}.viewer__mount{position:absolute;inset:0}.viewer__canvas{width:100%;height:100%;display:block}.viewer--preview .viewer__canvas{cursor:grab;touch-action:pan-y}.viewer--preview .viewer__canvas:active{cursor:grabbing}.viewer__fallback{background:repeating-linear-gradient(180deg, var(--c) 0 5px, color-mix(in srgb, var(--c) 82%, #000) 5px 7px);opacity:.9;border-radius:46% 46% 38% 38%/30% 30% 22% 22%;transition:background .4s;position:absolute;inset:12% 22%}.hero{--p:0;min-height:100svh;padding-top:var(--nav-h);position:relative;overflow:clip}.hero__inner{min-height:calc(100svh - var(--nav-h));grid-template-rows:1fr auto;padding-bottom:clamp(22px,4.5vh,48px);display:grid}.hero__title{z-index:1;white-space:nowrap;grid-row:1;align-self:center;font-size:clamp(2.7rem,9.4vw,10rem);line-height:.88;position:relative}.hero__title .line:nth-child(2){transform:translateX(calc(var(--p) * -3vw))}.hero__title .line:nth-child(3){transform:translateX(calc(var(--p) * 4vw))}.hero__stage{z-index:2;pointer-events:none;width:min(54%,860px);position:absolute;top:0;bottom:0;right:0}.hero__stage .viewer{height:auto;position:absolute;inset:0}.hero__foot{z-index:3;flex-wrap:wrap;grid-row:2;justify-content:space-between;align-items:flex-end;gap:24px 40px;display:flex;position:relative}.hero__copy{gap:10px;max-width:34ch;display:grid}.hero__meta{color:var(--ink-soft);letter-spacing:.04em;font-size:.85rem;font-weight:500}.hero__actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=860px){.hero__inner{grid-template-rows:auto 1fr auto;row-gap:0}.hero__title{align-self:start;padding-top:clamp(18px,4vh,36px);font-size:min(14.2vw,6rem)}.hero__stage{width:auto;min-height:240px;margin-inline:calc(var(--pad) * -1);grid-row:2;position:relative;inset:auto}.hero__foot{flex-direction:column;grid-row:3;align-items:stretch;gap:16px}.hero__actions{grid-template-columns:1fr;display:grid}.hero__actions .btn{width:100%}}@media (width<=860px) and (height<=700px){.hero__copy .lede{font-size:.98rem}.hero__actions .btn{min-height:48px}}.drop-wrap,.chip-wrap{gap:14px;display:grid}.drop{border:1.5px solid var(--ink);background:var(--paper);text-align:center;cursor:pointer;min-height:clamp(340px,46vw,520px);transition:background-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);border-radius:32px;place-items:center;padding:32px 24px;display:grid;position:relative;overflow:hidden}.drop:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px #17161b80}.drop:focus-within{outline:3px solid var(--accent-deep);outline-offset:4px}.drop.is-dragging{background:var(--accent);transform:scale(1.012)}.drop.is-loading{cursor:progress;box-shadow:none;transform:none}.drop.has-error{border-color:#c1272d}.drop__body{justify-items:center;gap:10px;max-width:26rem;display:grid}.drop__icon{width:56px;height:56px;transition:transform .4s var(--ease);margin-bottom:8px}.drop:hover .drop__icon,.drop.is-dragging .drop__icon{transform:translateY(-6px)}.drop__title.display{font-size:clamp(2rem,4.4vw,3.4rem);line-height:.95}.drop__or{color:var(--ink-soft);font-size:.95rem}.drop__browse{background:var(--ink);min-height:48px;color:var(--paper);font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 1.6em;font-size:.92rem;font-weight:600;display:inline-flex}.drop__formats{color:var(--ink-soft);letter-spacing:.06em;margin-top:6px;font-size:.85rem;font-weight:500}.drop__title:not(.display){font-family:var(--font-display);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.drop__name{color:var(--ink-soft);font-size:.95rem}.drop__layers{flex-direction:column-reverse;gap:4px;width:88px;margin-bottom:14px;display:flex}.drop__layers i{background:var(--ink);transform-origin:0;height:7px;animation:layer-in .9s var(--ease) infinite alternate;border-radius:4px;display:block;transform:scaleX(0)}@keyframes layer-in{to{transform:scaleX(1)}}.drop__error{color:#7c1318;background:#fbe3e1;border-radius:18px;padding:14px 18px;font-size:.95rem}.drop__sample{text-align:center;color:var(--ink-soft);font-size:.95rem}.link-btn{font:inherit;text-underline-offset:3px;cursor:pointer;color:var(--ink);background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.link-btn:hover{color:var(--accent-deep)}.chip{background:var(--paper-2);animation:chip-in .6s var(--ease) both;border-radius:24px;align-items:center;gap:14px;padding:14px 18px;display:flex}@keyframes chip-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.chip__tick{background:var(--ink);width:34px;height:34px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.chip__text{flex:1;min-width:0}.chip__name{font-family:var(--font-display);overflow-wrap:anywhere;font-weight:600}.chip__meta{color:var(--ink-soft);font-size:.82rem}.chip__actions{gap:14px;font-size:.9rem;display:flex}@media (width<=520px){.chip{flex-wrap:wrap}.chip__actions{width:100%;padding-left:48px}}.swatches{gap:14px;display:grid}.swatches__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.swatches__label{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.swatches__name{color:var(--ink-soft);font-weight:500}.swatches__row{scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;margin:-8px -6px -14px;padding:8px 6px 14px;display:flex;overflow-x:auto}.swatches__row::-webkit-scrollbar{display:none}.swatch{--size:44px;width:var(--size);height:var(--size);background:var(--swatch);cursor:pointer;scroll-snap-align:center;transition:transform .3s var(--ease), box-shadow .3s var(--ease);border:0;border-radius:50%;flex:none;padding:0;position:relative;box-shadow:inset 0 0 0 1px #17161b2e}.swatch:hover{transform:scale(1.12)}.swatch.is-selected{box-shadow:inset 0 0 0 1px #17161b2e, 0 0 0 3px var(--paper), 0 0 0 5px var(--ink);transform:scale(1.04)}.swatch__tip{background:var(--ink);color:var(--paper);pointer-events:none;opacity:0;transition:opacity .2s, transform .2s var(--ease);border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:600;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}@media (hover:hover){.swatch:hover .swatch__tip{opacity:1;transform:translate(-50%)}}.swatches--lg .swatches__row{flex-wrap:wrap;gap:16px;margin:-10px -6px;padding:10px 6px;overflow:visible}.swatches--lg .swatch{--size:clamp(52px, 6vw, 72px)}.swatches--lg .swatches__head{display:none}@media (width<=760px){.swatches--lg .swatches__row{flex-wrap:nowrap;margin-top:-26px;padding-top:36px;overflow-x:auto}}@media (width>=761px){.swatches--md .swatches__row{flex-wrap:wrap;overflow:visible}}.qc{background:var(--accent);color:var(--ink);border-radius:30px;gap:18px;padding:clamp(22px,3vw,34px);display:grid}.qc__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.qc__title{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;font-size:1.25rem;font-weight:700}.qc__tag{border:1.5px solid var(--ink);border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600}.qc__rows{margin:0;display:grid}.qc__row{border-bottom:1px solid #17161b38;justify-content:space-between;gap:16px;padding:9px 0;font-size:1rem;display:flex}.qc__row dt{color:#17161bad}.qc__row dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.qc__price{padding-top:4px}.qc__amount{font-family:var(--font-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(3.6rem,9vw,5.6rem);font-weight:700;line-height:1;display:block}.qc__cta{width:100%}.qc__note{color:#17161bb8;font-size:.85rem;line-height:1.4}.order{background:var(--paper);width:min(520px,100vw - 32px);max-height:calc(100svh - 32px);color:var(--ink);border:0;border-radius:32px;padding:0;overflow:auto}.order::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#17161b80}.order[open]{animation:order-in .45s var(--ease)}.order[open]::backdrop{animation:.35s order-fade}@keyframes order-in{0%{opacity:0;transform:translateY(24px)scale(.97)}}@keyframes order-fade{0%{opacity:0}}.order__panel{gap:18px;padding:clamp(24px,5vw,38px);display:grid}.order__title{font-size:clamp(2.4rem,8vw,3.4rem)}.order__lede{font-size:1.1rem;font-weight:500}.order__summary{background:var(--paper-2);border-radius:22px;align-items:center;gap:16px;padding:16px 18px;display:flex}.order__dot{border-radius:50%;flex:none;width:44px;height:44px;box-shadow:inset 0 0 0 1px #17161b33}.order__spec{font-weight:600}.order__price{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.6rem;font-weight:700}.order__price span{font-family:var(--font-body);letter-spacing:0;color:var(--ink-soft);font-size:.95rem;font-weight:500}.order__note{color:var(--ink-soft);font-size:.88rem}.order__actions{gap:10px;display:grid}.order__actions .btn{width:100%}.order__change{text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:center;padding:10px;font-weight:600;text-decoration:underline}.cfg{animation:cfg-in .7s var(--ease) both;gap:clamp(22px,3vw,32px);display:grid}@keyframes cfg-in{0%{opacity:0;transform:translateY(18px)}}.cfg__title{font-size:clamp(1.9rem,3.4vw,2.8rem)}.cfg__pair{grid-template-columns:1fr auto;align-items:start;gap:20px;display:grid}.cfg__field{border:0;gap:14px;min-width:0;margin:0;padding:0;display:grid}.cfg__field legend,.cfg__legend{font-family:var(--font-display);padding:0;font-size:1.05rem;font-weight:600}.seg{background:var(--paper-2);border-radius:999px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid;position:relative}.seg__thumb{background:var(--ink);width:calc(33.3333% - 2.66667px);transform:translateX(calc(var(--i) * 100%));transition:transform .4s var(--ease);border-radius:999px;position:absolute;top:4px;bottom:4px;left:4px}.seg__opt{cursor:pointer;place-items:center;min-height:48px;padding:0 8px;display:grid;position:relative}.seg__opt input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg__opt span{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);font-size:.82rem;font-weight:600;transition:color .3s;position:relative}.seg__opt input:checked+span{color:var(--paper)}.seg__opt input:focus-visible+span{outline:3px solid var(--accent-deep);outline-offset:6px;border-radius:6px}.qty{background:var(--paper-2);border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.qty button{cursor:pointer;width:48px;height:48px;transition:background-color .2s, transform .2s var(--ease);background:0 0;border:0;border-radius:50%;font-size:1.5rem;line-height:1}.qty button:hover:not(:disabled){background:var(--ink);color:var(--paper);transform:scale(1.06)}.qty button:disabled{opacity:.3;cursor:not-allowed}.qty output{text-align:center;min-width:2.2ch;font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700}@media (width<=520px){.cfg__pair{grid-template-columns:1fr}.qty{justify-self:start}}.quote{border-top:1px solid var(--line);padding:clamp(72px,12vw,160px) 0}.quote__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(32px,6vw,96px);display:grid}.quote__left{gap:22px;display:grid}.quote__heading{font-size:clamp(3.4rem,9vw,8.6rem)}.quote__file{gap:12px;margin-top:8px;display:grid}.quote__preview{aspect-ratio:1/.9;background:var(--paper-2);border-radius:32px;position:relative;overflow:hidden}.quote__caption{color:var(--ink-soft);font-size:.85rem}@media (width>=901px){.quote__left{top:calc(var(--nav-h) + 24px);position:sticky}}@media (width<=900px){.quote__grid{grid-template-columns:1fr}.quote__right{scroll-margin-top:calc(var(--nav-h) + 8px)}.quote__preview{aspect-ratio:1/.8}}.quote__preview .viewer{height:auto;position:absolute;inset:0}.quote__nopreview{background:repeating-linear-gradient(180deg, color-mix(in srgb, var(--c) 22%, var(--paper-2)) 0 10px, var(--paper-2) 10px 16px);place-items:center;display:grid;position:absolute;inset:0}.quote__nopreview span{background:var(--ink);color:var(--paper);font-family:var(--font-display);letter-spacing:.04em;border-radius:999px;padding:.5em 1em;font-size:1.6rem;font-weight:700}.printer{background:var(--accent);padding:clamp(64px,10vw,140px) 0}.printer__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:clamp(28px,5vw,80px);display:grid}.printer__copy{gap:26px;display:grid}.printer__heading{font-size:clamp(2.7rem,7.4vw,7rem)}.printer__list{flex-wrap:wrap;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.printer__list li{border:1.5px solid var(--ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.7em 1.2em;font-size:.9rem;font-weight:600}.printer__visual{place-items:center;display:grid}.printer__art{width:min(100%,520px);height:auto}.printer__head{animation:9s ease-in-out infinite alternate head-drift}@keyframes head-drift{0%{transform:translate(-90px)}to{transform:translate(90px)}}.printer__layer{transform-box:fill-box;transform-origin:50%;animation:layer-pop 4.5s var(--ease) infinite}@keyframes layer-pop{0%,12%{opacity:0;transform:scaleX(.6)}30%,88%{opacity:1;transform:none}to{opacity:0;transform:scaleX(.6)}}@media (width<=860px){.printer__grid{grid-template-columns:1fr}}.colours{padding:clamp(72px,11vw,150px) 0}.colours__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:clamp(28px,5vw,80px);display:grid}.colours__copy{gap:28px;display:grid}.colours__heading{font-size:clamp(3.2rem,9vw,8.4rem)}.colours__name{color:var(--ink);animation:name-in .5s var(--ease) both;font-size:clamp(1.8rem,4vw,3.2rem)}@keyframes name-in{0%{opacity:0;transform:translateY(10px)}}.colours__stage{aspect-ratio:1/1.05;background:var(--paper-2);border-radius:40px;position:relative;overflow:hidden}@media (width<=860px){.colours__grid{grid-template-columns:1fr}.colours__stage{aspect-ratio:1/.9;order:-1}}.colours__stage .viewer{height:auto;position:absolute;inset:0}.process{border-top:1px solid var(--line);padding:clamp(64px,9vw,130px) 0 clamp(48px,6vw,90px)}.process__heading{margin-bottom:clamp(36px,6vw,80px);font-size:clamp(3rem,9vw,8.4rem)}.process__steps{grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,40px);margin:0;padding:0;list-style:none;display:grid;position:relative}.process__steps:before{content:"";background:var(--ink);transform-origin:0;height:3px;transition:transform 1.4s var(--ease);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.process__steps.is-shown:before{transform:scaleX(1)}.step{opacity:.18;transition:opacity .7s var(--ease);transition-delay:calc(var(--i) * .26s);gap:18px;padding-top:22px;display:grid}.is-shown .step{opacity:1}.step__n{font-family:var(--font-display);color:var(--ink-soft);font-size:.95rem;font-weight:600}.step__glyph{fill:none;width:44px;height:48px;stroke:var(--ink);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.step__label{font-size:clamp(1.9rem,4.2vw,3.6rem)}@media (width<=720px){.process__steps{grid-template-columns:1fr;gap:0}.process__steps:before{transform-origin:top;width:3px;height:auto;bottom:0;right:auto;transform:scaleY(0)}.process__steps.is-shown:before{transform:scaleY(1)}.step{border-bottom:1px solid var(--line);grid-template-columns:2.4rem 44px 1fr;align-items:center;padding:18px 0 18px 20px}.step__label{font-size:2.2rem}}.local{padding:clamp(36px,6vw,80px) 0 clamp(72px,10vw,140px)}.local__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:clamp(24px,5vw,80px);display:grid}.local__copy{gap:12px;display:grid}.local__heading{margin-bottom:14px;font-size:clamp(2.8rem,8vw,7.2rem)}.local__art{justify-items:end;gap:8px;margin:0;display:grid}.local__art svg{width:min(100%,460px);height:auto}.local__art figcaption{color:var(--ink-soft);letter-spacing:.04em;font-size:.85rem;font-weight:500}.local__pulse{transform-box:fill-box;transform-origin:50%;animation:pin-pulse 3.2s var(--ease) infinite}@keyframes pin-pulse{0%{opacity:.9;transform:scale(.6)}70%,to{opacity:0;transform:scale(2.4)}}@media (width<=760px){.local__grid{grid-template-columns:1fr}.local__art{justify-items:start}}.contact{background:var(--ink);color:var(--paper);padding:clamp(80px,12vw,170px) 0 clamp(56px,7vw,90px)}.contact__heading{font-size:clamp(3rem,10vw,9.6rem);line-height:.88}.contact__actions{flex-wrap:wrap;gap:12px;margin-top:clamp(32px,5vw,56px);display:flex}.contact__details{border-top:1px solid #f2efe938;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:28px 40px;margin-top:clamp(56px,9vw,120px);padding-top:28px;font-size:1rem;line-height:1.6;display:grid}.contact__brand{font-family:var(--font-display);letter-spacing:.03em;font-weight:700}.contact__details a{text-underline-offset:4px}.contact__details a:hover{color:var(--accent)}@media (width<=760px){.contact__details{grid-template-columns:1fr}.contact__actions .btn{width:100%}}.footer{background:var(--ink);color:var(--paper);padding:0 0 36px}.footer__row{border-top:1px solid #f2efe938;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px;padding-top:28px;display:flex}.footer__brand{font-family:var(--font-display);letter-spacing:.03em;font-weight:700}.footer__tag,.footer__copy,.footer__soon{color:#f2efe9b3;font-size:.85rem}.footer__links{flex-wrap:wrap;gap:8px 24px;font-size:.95rem;display:flex}.footer__links a{text-underline-offset:4px}.footer__links a:hover{color:var(--accent)}@media (width<=760px){.footer{padding-bottom:48px}}.wa-dot{background:var(--wa);border-radius:50%;width:9px;height:9px;animation:2.8s infinite wa-pulse;box-shadow:0 0 #25d36699}@keyframes wa-pulse{70%{box-shadow:0 0 0 9px #25d36600}to{box-shadow:0 0 #25d36600}}.wa-pill{z-index:60;background:var(--ink);min-height:46px;color:var(--paper);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease), background-color .2s;border-radius:999px;align-items:center;gap:.7em;padding:0 1.3em;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex;position:fixed;bottom:24px;right:24px;transform:translateY(24px);box-shadow:0 10px 30px -12px #17161b8c}.wa-pill.is-ready{opacity:1;transform:none}.wa-pill.is-ready:hover{background:#2b2933;transform:translateY(-2px)}.wa-bar{display:none}@media (width<=760px){.wa-pill{display:none}.wa-bar{z-index:60;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--ink);color:var(--paper);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;transition:transform .6s var(--ease);grid-template-columns:1fr auto;font-size:.9rem;font-weight:600;display:grid;position:fixed;inset:auto 0 0;transform:translateY(100%)}.wa-bar.is-ready{transform:none}.wa-bar a{justify-content:center;align-items:center;gap:.7em;text-decoration:none;display:flex}.wa-bar__call{background:var(--accent);min-width:112px;color:var(--ink)}body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}}
