/* Graphite foundation, warm white typography, lavender actions. */
:root{--paper:#18191d;--ink:#f3f0e9;--lime:#b8a5e3;--line:#f3f0e922;--muted:#b1afb2;--surface:#202126;--raised:#292a31;color-scheme:dark}
body,.header,footer{background:var(--paper)}
.hero p,.section-top>p,.featured p,.discount-note,.old-price,.bubble small,.chat-nav small{color:var(--muted)}
.logo{color:var(--ink)}
.logo-star,.period,.discount,.savings,.steps article>span,.closing h2>span:last-child,.file-status,.bubble a,.chat-contact,.auth-secondary button,.account-logout{color:var(--lime)}
.hero-art{background:var(--surface)}
.hero-art img{mix-blend-mode:normal;opacity:1;filter:grayscale(1)}
.art-label{color:var(--ink)}
.button.lime,.button.dark,.cart-trigger span,.filter.active,.chat-compose button,.closing .button,.add:hover,.featured .add{background:var(--lime);color:var(--paper);border-color:var(--lime)}
.ticker{background:var(--surface);color:var(--ink);border-block:1px solid var(--line)}
.ticker b{color:var(--lime)}
.art-badge{background:var(--lime);color:var(--paper)}
.portfolio{background:var(--surface)}
.closing{background:var(--paper);border-block:1px solid var(--line)}
.service,.service.featured{background:var(--surface);color:var(--ink);border-color:var(--line)}
.service:hover,.service.featured:hover{background:var(--raised);border-color:#b8a5e366}
.service-tag,.featured .service-tag,.featured .service-bottom,.filter,.total{border-color:var(--line);color:var(--ink)}
.service-picker button{background:var(--raised);border-color:var(--line);color:var(--ink)}
.work-visual,.work-dialog>img{background:var(--surface)}
.work-arrow{background:var(--ink);color:var(--paper)}
.notice,.chat-hint{background:var(--raised);color:var(--ink);border-left:2px solid var(--lime)}
.chat-launch{background:var(--lime);color:var(--paper);border-color:var(--lime);box-shadow:0 8px 28px #18191d40}
.chat-panel,.chat-workspace,.chat-sidebar,.account-dialog{border-color:var(--line)}
.chat-panel{box-shadow:0 25px 70px #18191d80}
.chat-workspace,.chat-panel,.order-dialog,.orders-list,.account-dialog{background:var(--surface)}
.chat-sidebar,.order-info{background:var(--surface);border-color:var(--line)}
.chat-nav,.auth-tabs button{color:var(--muted);border-color:transparent}
.chat-nav.active,.auth-tabs button.active{background:#b8a5e314;border-color:#b8a5e333;color:var(--ink)}
.chat-nav.active>span:first-child{color:var(--lime)}
.chat-nav:hover{background:var(--raised)}
.bubble{background:var(--raised);color:var(--ink);border:1px solid var(--line)}
.bubble.mine{background:#b8a5e31a;color:var(--ink);border-color:#b8a5e344}
.quick-questions button{background:transparent;border-color:var(--line);color:var(--muted)}
.quick-questions button:hover{border-color:var(--lime);color:var(--ink)}
.order-card{background:var(--raised);border-color:var(--line);color:var(--ink)}
input,textarea,select{background:var(--paper);border-color:var(--line);color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.chat-compose{border-top:0}
.chat-compose textarea,.chat-compose button{border-radius:10px}
.account-button:hover,.close{background:var(--raised)}
.error-text,#auth-feedback{color:var(--ink)}
.auth-secondary button:disabled{color:var(--muted)}
button:focus-visible,a:focus-visible,input:focus,textarea:focus,.file-label:focus-within{outline-color:var(--lime)}
dialog::backdrop{background:#18191dcc}
::selection{background:var(--lime);color:var(--paper)}
/* Editorial composition and a native animated 3D sculpture. */
.header{height:92px}.hero-editorial{position:relative;grid-template-columns:1.2fr 1fr;padding-top:60px;gap:28px}.hero-editorial h1{font-size:clamp(62px,6.5vw,106px);line-height:1.03;letter-spacing:-.065em;margin:38px 0}.hero-editorial h1 .serif{color:var(--lime);font-size:.85em}.hero-editorial .period{margin:0}.hero-editorial .hero-copy{position:relative;z-index:2}.availability-dot{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin:0 10px 2px 0;box-shadow:0 0 16px #b8a5e355}.hero-intro{padding-left:5px;max-width:460px}.hero-intro p{font-size:15px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:26px}.text-link{font-size:13px;border-bottom:1px solid var(--line);padding:14px 0}.text-link span{margin-left:12px}.hero-editorial .hero-bottom{padding-top:32px;margin-top:25px;border-top:1px solid var(--line);align-items:center;gap:15px}.sculpture-stage{min-height:570px;perspective:1000px;border-radius:0;background:radial-gradient(ellipse at 50% 45%,#b8a5e318,transparent 65%);overflow:hidden}.stage-grid{position:absolute;inset:12% 0;border-radius:50%;border:1px solid var(--line);transform:rotate(-28deg) scaleY(.7)}.stage-grid:after{content:'';position:absolute;inset:15%;border:1px solid var(--line);border-radius:50%}.object-index{position:absolute;left:20px;top:18px;font-size:10px;letter-spacing:2px;color:var(--muted)}.sculpture-float{position:absolute;inset:0;display:grid;place-items:center;transform-style:preserve-3d;animation:sculpture-hover 9s ease-in-out infinite}.sculpture{position:relative;width:310px;height:310px;transform-style:preserve-3d;transform:rotateX(-24deg) rotateZ(-25deg);animation:sculpture-orbit 32s linear infinite}.orbit-ring{position:absolute;inset:0;border:15px solid transparent;border-radius:50%;background:linear-gradient(125deg,#f3f0e9 0%,#b8a5e3 22%,#46414f 48%,#b8a5e3 66%,#f3f0e9 82%,#57505f) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;transform:rotateY(calc(var(--i)*15deg));backface-visibility:visible;filter:drop-shadow(1px 2px 1px #18191d77)}.sculpture-core{position:absolute;inset:30%;border-radius:50%;background:radial-gradient(circle at 30% 24%,#f3f0e9,#b8a5e3 32%,#524b62 66%,#18191d 90%);box-shadow:0 0 40px #b8a5e322;transform:translateZ(3px)}.sculpture-shadow{position:absolute;bottom:65px;left:25%;width:50%;height:24px;background:#0006;filter:blur(17px);border-radius:50%}.object-caption{position:absolute;bottom:18px;left:20px;right:0;display:flex;justify-content:space-between;align-items:end;font-size:12px;color:var(--muted)}.object-caption span:last-child{font-size:9px;line-height:1.7;letter-spacing:1px;text-align:right}.ticker{margin-top:0;padding:15px 0;font-size:14px;letter-spacing:2px}.ticker b{font-size:19px;margin:0 26px}.section{padding:100px 5%}.section-top{margin-bottom:48px}.section h2{font-size:clamp(42px,5vw,76px)}.portfolio{background:var(--paper)}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}.work:nth-child(5n+1){grid-column:1/-1}.work:nth-child(5n+1) .work-visual{aspect-ratio:2.1}.work-visual{border-radius:14px;aspect-ratio:1.5;border:1px solid var(--line)}.work-meta{padding:4px 3px}.work h3{font-size:18px}.work-meta span{font-size:12px}.work-arrow{height:45px;width:45px;right:20px;bottom:20px}.filters{margin-bottom:32px}.filter{padding:12px 20px}#services{background:var(--surface);border-block:1px solid var(--line)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service{padding:32px;background:var(--paper);border-radius:14px}.service:last-child{grid-column:span 2}.service h3{font-size:27px}.service-icon{color:var(--lime)}.service p{max-width:440px}.service-total{margin-top:12px}.service .add{background:var(--lime);color:var(--paper);border-color:var(--lime)}.steps{counter-reset:step;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.steps article{border:0;border-right:1px solid var(--line);padding:28px;background:var(--surface)}.steps article:last-child{border-right:0}.steps article>span{font-family:inherit;font-size:14px;display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #b8a5e344;border-radius:50%}.steps h3{margin-top:36px}.chat-section{border-top:0;padding-top:25px}.chat-workspace{box-shadow:0 20px 70px #0002}.closing{padding:85px 5% 100px;background:radial-gradient(ellipse at 95% 100%,#b8a5e311,transparent 65%)}.closing h2{font-size:clamp(45px,6.6vw,102px)}.closing h2>span:last-child{font-size:145px;right:7%;top:28%}
@keyframes sculpture-orbit{to{transform:rotateX(-24deg) rotateZ(-25deg) rotateY(360deg)}}@keyframes sculpture-hover{50%{transform:translateY(-18px) rotate(5deg)}}
@media(min-width:1600px){.sculpture{width:390px;height:390px}.sculpture-stage{min-height:650px}}
@media(max-width:1000px){.hero-editorial{grid-template-columns:1.2fr 1fr}.hero-editorial h1{font-size:68px}.sculpture{width:250px;height:250px}.sculpture-stage{min-height:500px}.hero-actions{gap:16px}.hero-actions .button{gap:20px}.steps article{padding:22px}.hero-bottom span:nth-child(2){display:none}}
@media(max-width:650px){.hero-editorial{grid-template-columns:1fr;padding-top:34px;gap:15px}.hero-editorial h1{font-size:clamp(49px,12vw,76px);margin:28px 0}.hero-editorial .eyebrow{font-size:10px}.hero-intro p{font-size:14px}.hero-actions{flex-wrap:wrap}.sculpture-stage{min-height:370px}.sculpture{width:240px;height:240px}.orbit-ring{border-width:12px}.object-caption{left:0;font-size:11px}.hero-editorial .hero-bottom{margin-top:10px;padding-top:20px}.hero-bottom a{white-space:nowrap}.section{padding:65px 5%}.works-grid{grid-template-columns:1fr;gap:28px}.work:nth-child(5n+1){grid-column:auto}.work:nth-child(5n+1) .work-visual{aspect-ratio:1.5}.work h3{font-size:16px}.work-meta span{font-size:11px}.service-grid{grid-template-columns:1fr}.service:last-child{grid-column:auto}.service{padding:24px}.service h3{font-size:24px}.steps{grid-template-columns:1fr 1fr}.steps article{border-bottom:1px solid var(--line)}.steps article:nth-child(2){border-right:0}.steps article:nth-child(n+3){border-bottom:0}.steps h3{margin-top:24px}.chat-section{padding-top:0}.closing{padding:60px 5%}.closing h2>span:last-child{font-size:50px;top:auto;bottom:45px}.object-index{left:0}.hero-editorial .hero-bottom{font-size:9px}}
@media(prefers-reduced-motion:reduce){.sculpture,.sculpture-float{animation:none}}

/* Photoreal artwork and a consistent family of quiet outline symbols. */
.render-stage{background:transparent;perspective:none;overflow:hidden}
.render-frame{position:absolute;inset:0 0 42px;display:grid;place-items:center;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
.render-stage .sculpture-render{display:block;position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;filter:none;mix-blend-mode:normal;opacity:1;transform:scale(1);animation:render-breathe 18s ease-in-out infinite}
.render-stage .object-caption{left:18px;right:18px;bottom:12px;gap:20px}
.logo-mark{display:inline-flex;vertical-align:middle;margin-left:7px;color:var(--lime)}
.logo-mark svg{width:30px;height:30px;display:block;transform:rotate(-28deg)}
.ticker .ticker-mark{display:inline-flex;vertical-align:middle;margin:0 27px}
.ticker-mark svg{width:24px;height:24px;transform:rotate(-28deg)}
.service-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid var(--line);border-radius:13px;background:#b8a5e309;color:var(--lime)}
.service-icon svg,.chat-launch svg,.chat-nav svg{display:block;flex-shrink:0}
.chat-nav>span:first-child{display:flex;align-items:center;justify-content:center}
.closing-artwork{position:relative;overflow:hidden;min-height:510px;isolation:isolate;background:var(--paper)}
.closing-artwork>.eyebrow,.closing-artwork>h2,.closing-artwork>.button{position:relative;z-index:1}
.closing-artwork h2{font-size:clamp(45px,5.6vw,85px);max-width:66%}
.closing-artwork h2>.serif:last-child{position:static;display:inline;font-size:inherit;color:var(--ink);animation:none}
.closing-figure{position:absolute;width:43%;height:100%;right:-2%;top:50%;transform:translateY(-50%);z-index:0;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 12%,#000 85%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}
.closing-figure img{display:block;width:100%;height:100%;object-fit:contain}
@keyframes render-breathe{50%{transform:scale(1.035)}}
@media(max-width:1000px){.render-stage{min-height:500px}.closing-artwork{min-height:450px}.closing-artwork h2{font-size:clamp(42px,5.6vw,70px)}}
@media(max-width:650px){.render-stage{min-height:390px}.render-frame{inset:0 0 38px}.render-stage .object-caption{left:0;right:0;font-size:10px}.render-stage .object-caption span:last-child{font-size:8px}.service-icon{width:48px;height:48px}.closing-artwork{min-height:0;padding-bottom:25px}.closing-artwork h2{max-width:none;font-size:clamp(40px,10vw,60px)}.closing-figure{position:relative;right:auto;top:auto;width:min(100%,360px);margin:-5px auto 0;transform:none}.closing-artwork>.eyebrow{max-width:100%}.logo-mark svg{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.render-stage .sculpture-render{animation:none}}
@media(max-width:650px){.closing-figure{height:auto;aspect-ratio:1}.closing-figure img{height:auto}}
.closing-figure{display:flex;justify-content:center}.closing-figure img{width:auto;max-width:100%;mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}@media(max-width:650px){.closing-figure img{width:100%}}
.liquid-stage{isolation:isolate;background:radial-gradient(ellipse at 50% 48%,#b8a5e310,transparent 66%)}
.rings-canvas{position:absolute;inset:0 0 52px;opacity:0;transition:opacity .5s}
.rings-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline-offset:-4px}
.rings-canvas canvas.dragging{cursor:grabbing}
.rings-ready .rings-canvas{opacity:1}
.rings-ready .render-frame{visibility:hidden}
.rings-controls{align-items:center;min-height:36px;z-index:2}
.rings-controls #rings-hint{font-size:12px;line-height:1.5;letter-spacing:0;text-align:left}
#rings-toggle{font-size:12px;line-height:1;padding:10px 14px;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
#rings-toggle:hover{border-color:var(--lime)}
#rings-toggle[aria-pressed=true]{background:#b8a5e314;color:var(--lime)}
@media(max-width:650px){.liquid-stage{min-height:410px}.rings-controls #rings-hint{font-size:12px}.rings-canvas{inset:0 0 50px}}
@media(prefers-reduced-motion:reduce){.rings-canvas{transition:none}}
