:root{--bg:#F4F4EC;--surface:#E7E8DD;--ink:#22251F;--muted:#5A5F50;--accent:#D1DE59;--accent-ink:#22251F;--line:#C2C6B6;--display:'Barlow Condensed';--body:'Public Sans';color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.65 var(--body),sans-serif}a{color:inherit;text-underline-offset:4px}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}html[data-direction=signal] :focus-visible{outline-color:#546108}.wrap{width:min(1440px,100%);padding-inline:clamp(24px,5vw,80px);margin-inline:auto}.skip{position:absolute;left:24px;top:-80px;z-index:4;background:var(--ink);color:var(--bg);padding:10px 20px}.skip:focus{top:10px}.review-tools{padding:14px clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--surface);font-size:12px}.review-label{line-height:1.4;max-width:145px}.picker{display:flex;gap:4px;flex-wrap:wrap}.picker button{border:1px solid transparent;background:transparent;padding:8px 12px;white-space:nowrap;font-size:12px}.picker button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.picker button:hover{border-color:var(--muted)}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:18px;font-weight:600;letter-spacing:-.05em;text-decoration:none;white-space:nowrap}.brand span{font-size:10px;letter-spacing:.16em;margin-left:8px}.site-header nav{display:flex;gap:28px;font-size:12px}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:22px;min-height:min(720px,calc(100svh - 147px));padding-block:30px 60px}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:12px;margin:0 0 24px;color:var(--muted)}h1,h2,h3,.display-sample{font-family:var(--display),sans-serif}h1{font-size:clamp(64px,7.8vw,112px);line-height:.96;letter-spacing:-.02em;font-weight:600;margin:0;max-width:780px}.hero-description{max-width:370px;font-size:15px;margin:25px 0 28px}.cta{display:inline-flex;align-items:center;gap:25px;white-space:nowrap;border:0;background:var(--accent);color:var(--accent-ink);padding:15px 23px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s}.cta:hover{transform:translateY(-3px)}.cta:active{transform:translateY(1px)}.hero-art{min-width:0}.stage{position:relative;height:clamp(310px,34vw,480px);isolation:isolate}.stage img{width:100%;height:100%;object-fit:cover;display:block}.stage canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .4s;pointer-events:none}.stage.live canvas{opacity:1}.art-controls{display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);font-size:10px;margin-top:12px}.art-controls button{background:none;border:1px solid var(--line);padding:6px 10px;font-size:10px}.services{padding-block:72px 100px;border-top:1px solid var(--line)}h2{font-size:clamp(38px,4.6vw,66px);line-height:1.04;font-weight:500;letter-spacing:-.03em;margin:0 0 35px}h3{font-size:24px;font-weight:500;line-height:1.2;margin:0 0 22px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.service-list details{padding:22px 0;border-top:1px solid var(--line)}.service-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-size:20px;list-style:none}.service-list summary::-webkit-details-marker{display:none}.service-list summary span:last-child{font-size:24px;font-weight:400}.service-list details[open] summary span:last-child{transform:rotate(45deg)}.service-list p{max-width:470px;margin:17px 32px 0 0;color:var(--muted);font-size:14px}.direction{padding-block:80px;background:var(--surface)}.direction-intro{max-width:730px;margin-bottom:50px}.direction-intro h2{margin-bottom:22px}.direction-intro p{color:var(--muted);font-size:17px}.spec-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px}.display-sample{font-size:clamp(38px,4vw,64px);line-height:1.1;letter-spacing:-.03em;margin:24px 0}.body-sample{max-width:490px;font-size:18px;margin:30px 0 20px}.muted{color:var(--muted);font-size:12px}.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.swatch{background:none;border:0;padding:0;text-align:left;min-width:0}.chip{display:block;height:85px;border:1px solid var(--line)}.swatch-code{display:block;font-size:10px;margin-top:8px;white-space:nowrap}.swatch-role{display:block;font-size:10px;color:var(--muted);margin-block:3px 15px}.color-spec h3:nth-of-type(2){margin-top:35px}#motion-note{font-size:14px;max-width:480px}.concept-note{margin:50px 0 0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;max-width:880px}.compare{padding-block:100px}.section-description{max-width:590px;color:var(--muted);margin:-10px 0 40px}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.comparison-card{display:block;text-decoration:none}.comparison-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.comparison-card h3{font-family:var(--body);font-size:18px;margin:17px 0 7px}.comparison-card p{font-size:12px;margin:0;color:var(--muted)}.comparison-card:hover h3{text-decoration:underline}.review{background:var(--surface);padding-block:65px}.review h2{margin-bottom:25px}.review p{max-width:760px}.review-signature{color:var(--muted);font-size:12px;margin-bottom:28px}footer{display:flex;justify-content:space-between;gap:24px;padding-block:36px;font-size:10px;color:var(--muted)}footer div{display:flex;gap:20px;flex-wrap:wrap}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;padding:10px 20px;background:var(--ink);color:var(--bg);margin:0;font-size:12px;opacity:0;pointer-events:none;max-width:90vw;text-align:center}.toast.show{opacity:1}
/* Four independent compositions, rather than recoloring one hero. */
html[data-direction=nocturne]{color-scheme:dark}html[data-direction=nocturne] .hero{grid-template-columns:1.05fr 1fr;gap:60px}html[data-direction=nocturne] .hero-art{grid-column:1;grid-row:1}html[data-direction=nocturne] .hero-copy{grid-column:2;grid-row:1}html[data-direction=nocturne] h1{font-size:clamp(36px,3.7vw,54px);font-weight:500;line-height:1.15;letter-spacing:-.035em}html[data-direction=nocturne] h2{font-size:clamp(30px,3.4vw,48px);line-height:1.2;letter-spacing:-.05em}html[data-direction=nocturne] .service-list{display:block;max-width:900px;margin-left:auto}html[data-direction=nocturne] .service-list summary{font-size:24px}html[data-direction=nocturne] .service-list p{max-width:650px}
html[data-direction=garnet]{color-scheme:dark}html[data-direction=garnet] .hero{grid-template-columns:1.12fr 1fr;gap:0}html[data-direction=garnet] h1{font-size:clamp(65px,7.8vw,110px);font-weight:500;line-height:.94;letter-spacing:-.05em}html[data-direction=garnet] .hero-art{margin-left:-30px}html[data-direction=garnet] .hero-description{max-width:330px}html[data-direction=garnet] .stage{height:clamp(340px,36vw,510px)}html[data-direction=garnet] .service-list{grid-template-columns:1.3fr 1fr;gap:0 100px}html[data-direction=garnet] .service-list details:nth-child(even){margin-top:38px}html[data-direction=garnet] .service-list summary{font:500 32px/1.1 var(--display)}html[data-direction=garnet] .comparison-grid{gap:65px 45px}
html[data-direction=ember]{color-scheme:dark}html[data-direction=ember] .hero{display:flex;flex-direction:column;text-align:center;gap:0;padding-block:20px 40px;min-height:0}html[data-direction=ember] .hero-copy{max-width:900px}html[data-direction=ember] h1{font-size:clamp(42px,5.6vw,80px);font-weight:500;letter-spacing:-.045em;line-height:1.02}html[data-direction=ember] .eyebrow{margin-bottom:12px}html[data-direction=ember] .hero-description{max-width:600px;margin:16px auto 20px}html[data-direction=ember] .hero-art{width:min(780px,85%);margin-top:12px}html[data-direction=ember] .stage{height:clamp(250px,25vw,340px)}html[data-direction=ember] .service-list{grid-template-columns:1fr 1fr;gap:28px}html[data-direction=ember] .service-list details{padding:26px;background:var(--surface);border:0}html[data-direction=ember] .service-list details:first-child{grid-row:span 2}html[data-direction=ember] .service-list details:last-child{grid-column:1/-1}html[data-direction=ember] .services{padding-top:80px}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:enter .65s cubic-bezier(.2,.7,.2,1) both}.hero-art{animation:enter .85s cubic-bezier(.2,.7,.2,1) both}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1050px){.review-tools{gap:10px}.review-label{max-width:100px}.picker button{padding:7px 8px}.site-header nav{gap:16px}.spec-grid{gap:40px}.hero{gap:10px}html[data-direction=nocturne] .hero{gap:20px}html[data-direction=garnet] .service-list{gap:0 45px}}
@media(max-width:767px){.review-tools{display:block;padding-block:12px}.review-label{max-width:none;margin-bottom:8px}.review-tools>a{display:inline-block;margin-top:8px}.picker{display:grid;grid-template-columns:1fr 1fr}.picker button{border-color:var(--line);text-align:left;padding:10px}.site-header{height:70px}.site-header nav{gap:14px}.site-header nav a:last-child{display:none}.site-header nav a{font-size:10px}.brand{font-size:15px}.brand span{font-size:8px;margin-left:4px}.hero,html[data-direction=nocturne] .hero,html[data-direction=garnet] .hero{display:flex;flex-direction:column;align-items:stretch;gap:25px;min-height:0;padding-block:30px 40px}.hero-copy{order:0}.hero-art{order:1;width:100%;margin:0!important}.stage,html[data-direction=garnet] .stage{height:300px}h1{font-size:clamp(48px,12.8vw,88px)}html[data-direction=nocturne] h1{font-size:clamp(27px,7.8vw,44px)}html[data-direction=garnet] h1{font-size:clamp(49px,13.4vw,94px)}html[data-direction=ember] .hero{display:flex;text-align:left;align-items:stretch;padding-top:30px;gap:20px}html[data-direction=ember] h1{font-size:clamp(36px,10vw,64px)}html[data-direction=ember] .hero-art{width:100%}html[data-direction=ember] .hero-description{margin-inline:0}html[data-direction=ember] .stage{height:260px}.hero-description{max-width:330px;margin-block:20px 22px}.eyebrow{margin-bottom:18px;font-size:10px}.services{padding-block:50px}.service-list,html[data-direction=garnet] .service-list,html[data-direction=ember] .service-list{display:block}.service-list details,html[data-direction=garnet] .service-list details:nth-child(even){margin-top:0}html[data-direction=ember] .service-list details{margin-bottom:12px}.service-list summary{font-size:17px}html[data-direction=nocturne] .service-list summary{font-size:20px}.direction{padding-block:50px}.spec-grid{grid-template-columns:1fr;gap:40px}.palette{gap:6px}.chip{height:70px}.swatch-code{font-size:9px}.direction-intro{margin-bottom:35px}.direction-intro p{font-size:15px}.compare{padding-block:60px}.comparison-grid{grid-template-columns:1fr;gap:35px!important}.review{padding-block:45px}footer{display:block}footer div{margin-top:18px;gap:15px}.art-controls{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.cta:hover{transform:none}}
