/* ---------- shared bits ---------- */
.polaroid{background:#fdfdfb;padding:6% 6% 22%;box-shadow:0 1px 1px rgba(0,0,0,.08),4px 12px 20px -10px rgba(20,25,15,.5)}
.polaroid>div{aspect-ratio:4/3;overflow:hidden;background:#cfd8de}
.polaroid>div svg,.polaroid img{width:100%;height:100%;object-fit:cover;display:block}
.secure{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--graphite)}
.label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.crop{position:absolute;width:20px;height:20px;border-color:#a3aaa4;border-style:solid;border-width:0}
.crop.tl{top:14px;left:14px;border-top-width:1px;border-left-width:1px}
.crop.tr{top:14px;right:14px;border-top-width:1px;border-right-width:1px}
.crop.bl{bottom:14px;left:14px;border-bottom-width:1px;border-left-width:1px}
.crop.br{bottom:14px;right:14px;border-bottom-width:1px;border-right-width:1px}
.console{display:block;width:100%;height:auto;overflow:visible}

/* ---------- home ---------- */
.hero{padding-block:48px 96px}
.hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:64px;align-items:end}
.hero-copy{display:flex;flex-direction:column;gap:28px;min-width:0;padding-bottom:40px}
.hero h1{font-size:clamp(54px,6.6vw,100px);line-height:.92;letter-spacing:-.035em}
.hero h1 em{display:block}
.hero-lede{font-size:18px;line-height:1.5;color:var(--graphite);max-width:36ch}
.hero-cta{display:flex;gap:28px;flex-wrap:wrap;align-items:center}
.hero-fine{font-size:14px;color:var(--graphite);max-width:40ch;padding-top:20px;border-top:1px solid var(--rule)}
.hero-room{margin:0;display:flex;flex-direction:column;gap:14px}
.hr-room{aspect-ratio:1/1.06}
.hr-print{position:absolute!important;left:33%;top:12%;width:44%}
.hr-photo{position:absolute!important;left:9%;top:46%;width:20%;transform:rotate(-4deg)}
.tape{position:absolute;left:50%;top:-6%;width:44%;height:12%;transform:translateX(-50%) rotate(3deg);background:rgba(240,234,214,.78);box-shadow:0 1px 1px rgba(0,0,0,.06);z-index:2}
.hr-cap{display:flex;justify-content:space-between;gap:20px}
.hr-cap-r{text-align:right}
.closeup{padding-block:0 112px}
.closeup-loupe{height:clamp(320px,38vw,560px);border-block:1px solid var(--rule)}
.closeup-cap{padding-top:18px}
.closeup-cap p{font-size:14px;color:var(--graphite);max-width:64ch}
.closeup-cap b{color:var(--ink);font-weight:600}

.proof-band{background:var(--paper);padding-block:112px;border-block:1px solid var(--rule)}
.pb-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:64px;align-items:center}
.pb-copy{display:flex;flex-direction:column;gap:20px}
.pb-copy h2{font-size:clamp(38px,4.2vw,58px)}
.pb-copy p{color:var(--graphite);font-size:17px;max-width:40ch}
.pb-seq{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:6px;font-size:15px;counter-reset:s}
.pb-seq li{counter-increment:s;display:flex;gap:12px}
.pb-seq li::before{content:counter(s);font-family:var(--display);font-style:italic;color:var(--soft);width:12px}
.pb-sheet{position:relative;background:#fdfdf9;padding:32px 32px 28px;box-shadow:0 0 0 1px rgba(0,0,0,.06),10px 30px 50px -30px rgba(20,25,15,.45);color:#1d2320}
.pb-meta{display:none}
.pb-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:end}
.pb-row figure{margin:0;display:flex;flex-direction:column;gap:10px;position:relative}
.pb-row figcaption{font-size:13px;color:#4c544e}
.pb-row figcaption b{font-family:var(--display);font-weight:400;font-size:17px;color:#1d2320;margin-right:6px}
.pb-ref-photo{aspect-ratio:3/4;overflow:hidden;filter:saturate(.95)}
.pb-ref-photo svg{width:100%;height:100%}
.pb-picked{outline:2px solid var(--accent);outline-offset:8px}
.pb-row .sel,.sel{font-family:var(--display);font-style:italic;font-size:15px;color:#9a6a0b;margin-left:4px}

.styles-sec{padding-block:120px}
.ss-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center}
.ss-copy h2{font-size:clamp(40px,4.6vw,64px);margin-bottom:20px}
.ss-lede{font-size:17px;color:var(--graphite);max-width:40ch;margin-bottom:36px}
.ss-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ss-tabs button{display:flex;flex-direction:column;gap:4px;text-align:left;background:none;border:0;padding:0;cursor:pointer;color:var(--ink)}
.ss-thumb{display:block;aspect-ratio:1/1;background:#fbfaf5;box-shadow:inset 0 0 0 1px var(--rule);margin-bottom:10px;overflow:hidden;transition:box-shadow .15s}
.ss-thumb svg{width:100%;height:100%;display:block}
.ss-tabs b{font-weight:600;font-size:15px}
.ss-tabs small{font-size:13px;color:var(--graphite)}
.ss-tabs button:hover .ss-thumb{box-shadow:inset 0 0 0 1px var(--soft)}
.ss-tabs button[aria-selected="true"] .ss-thumb{box-shadow:0 0 0 2px var(--accent)}
.ss-wall{aspect-ratio:1/1;display:grid;place-items:center}
.ss-print{width:46%}

.salon{padding-block:24px 120px}
.salon-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.salon-head h2{font-size:clamp(40px,4.6vw,64px)}
.salon-wall{border-block:1px solid var(--rule);padding-block:96px 64px}
.salon-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:40px;align-items:start}
.salon-row a{text-decoration:none;display:flex;flex-direction:column;gap:22px}
.salon-row a:hover .frame{transform:translateY(-3px)}
.salon-row .frame{transition:transform .25s}

.pricing{padding-block:0 120px}
.pr-h{font-size:clamp(40px,4.6vw,64px);margin-bottom:40px}
.price-table{border-top:1px solid var(--ink)}
.pt-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--rule);align-items:baseline;font-size:15px}
.pt-row>span:not(:first-child){font-family:var(--display);font-size:30px;font-weight:300}
.pt-row>span:not(:first-child){font-family:var(--body)!important;font-size:24px!important;font-weight:500}
.pt-row em{display:block;font-style:normal;font-size:13px;font-weight:600;color:var(--accent);margin-top:2px}
.pt-note{font-size:14px;color:var(--graphite);margin-top:18px;max-width:70ch}
.pt-head>span,.pt-foot>span{font-family:var(--body)!important;font-size:14px!important;color:var(--graphite)}
.pt-head b{display:block;font-family:var(--display);font-weight:400;font-size:26px;color:var(--ink);letter-spacing:-.01em}
.pt-foot{border-bottom:0}

.ai-sec{padding-block:120px;border-top:1px solid var(--rule)}
.ai-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:80px;align-items:center}
.ai-quote{font-family:var(--display);font-weight:300;font-size:clamp(30px,3.2vw,46px);line-height:1.16;letter-spacing:-.02em}
.ai-quote em{font-style:italic;color:var(--accent)}
.ai-cols{display:flex;flex-direction:column;gap:14px;font-size:16px;color:var(--graphite);margin-top:32px;max-width:54ch}
.ai-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
.ai-pair figure{margin:0;display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--graphite)}
.ai-pair .arrow{font-family:var(--display);font-size:28px;color:var(--soft)}
.ai-ph{aspect-ratio:3/4;overflow:hidden}
.ai-ph svg{width:100%;height:100%;display:block}

.faq-sec{padding-block:120px}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.faq-grid h2{font-size:clamp(40px,4.6vw,64px)}
.faq{border-top:1px solid var(--ink)}

/* ---------- page heads ---------- */
.page-head{padding-block:72px 48px}
.page-head h1{font-size:clamp(52px,6.4vw,96px);letter-spacing:-.03em}
.ph-lede{font-size:19px;color:var(--graphite);max-width:46ch;margin-top:20px}
.page-title{font-size:clamp(40px,4.6vw,64px);margin-bottom:40px}

/* ---------- shop ---------- */
.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:20px;border-block:1px solid var(--rule);margin-bottom:48px}
.filter-right{display:flex;align-items:center;gap:20px}
.seg{display:inline-flex;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper);padding:3px}
.seg button{border:0;background:none;height:38px;padding:0 14px;font-size:14px;cursor:pointer;color:var(--graphite);border-radius:1px}
.seg button[aria-pressed="true"]{color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 1.5px var(--accent)}
.scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 40px}
.scene-card.feature{grid-column:span 2}
.scene-card.feature .scene-wall{padding:56px 30%}
.scene-card.feature .scene-meta h3{font-size:32px}
.scene-card{text-decoration:none;display:flex;flex-direction:column;gap:8px}
.scene-wall{background:var(--wall-2);padding:44px 22%;margin-bottom:14px;transition:background .2s}
.scene-card:hover .scene-wall{background:color-mix(in srgb, var(--wall-2) 85%, var(--ink) 5%)}
.scene-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.scene-meta h3{font-size:26px}
.scene-meta span{color:var(--graphite);font-size:14px;white-space:nowrap}
.scene-card p{color:var(--graphite);font-size:15px;max-width:38ch}
.scene-tags{font-size:13px;color:var(--soft)}
.shop-extra{padding-block:120px}
.se-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink)}
.se-item{display:flex;flex-direction:column;gap:18px;align-items:flex-start;padding:40px 48px 0 0}
.se-item+.se-item{padding-left:48px;border-left:1px solid var(--rule)}
.se-item h2{font-size:clamp(30px,3vw,40px)}
.se-item p{max-width:42ch}

/* ---------- product ---------- */
.pd{padding-block:24px 96px}
.crumbs{display:flex;gap:10px;font-size:14px;color:var(--graphite);margin-bottom:24px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.pd-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start}
.pd-stage{position:sticky;top:92px;display:flex;flex-direction:column;gap:14px}
.pd-room{aspect-ratio:1/1;display:grid;place-items:center}
.pd-print{width:44%}
.pd-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.pd-details figure{margin:0;display:flex;flex-direction:column;gap:8px}
.pd-details figcaption{font-size:13px;color:var(--graphite)}
.mini-proofs{aspect-ratio:1/1;background:#fdfdf9;box-shadow:inset 0 0 0 1px var(--rule);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:center;padding:12px}
.corner{aspect-ratio:1/1;position:relative;overflow:hidden;background:radial-gradient(120% 90% at 18% 0%,#f1f2ea,#d6dbcf)}
.corner .frame{box-shadow:16px 26px 40px -20px rgba(40,45,30,.5)}
.corner-frame{position:absolute;left:30%;top:30%;width:110%;height:110%;padding:22%;box-shadow:14px 22px 30px -16px rgba(40,45,30,.5)}
.corner-frame[data-frame="oak"]{background:repeating-linear-gradient(90deg,rgba(80,45,10,.09) 0 1px,transparent 1px 4px,rgba(80,45,10,.05) 4px 5px,transparent 5px 9px),linear-gradient(160deg,#cda172,#ad7c4c 50%,#bf9161)}
.corner-frame[data-frame="black"]{background:linear-gradient(160deg,#363633,#141413)}
.corner-frame[data-frame="white"]{background:linear-gradient(160deg,#fbfaf7,#e4e2db)}
.corner-mat{width:100%;height:100%;background:#fbfaf5;box-shadow:inset 3px 3px 6px rgba(0,0,0,.16),inset 0 0 0 1px rgba(0,0,0,.12)}
.pd-spec{border-top:1px solid var(--ink);margin-top:28px}
.ps-spec{border-top:1px solid var(--ink)}
.ps-spec dd{display:flex;justify-content:space-between;gap:12px}
.ps-spec .link{font-size:14px}
.pd-panel{display:flex;flex-direction:column;gap:28px}
.pd-panel h1{font-size:clamp(40px,4vw,58px);letter-spacing:-.03em}
.pd-blurb{font-size:18px;color:var(--graphite);max-width:40ch;margin-top:-12px}
.pd-price{display:flex;align-items:baseline;gap:12px;font-size:14px;padding-bottom:24px;border-bottom:1px solid var(--rule)}
.pd-price span:first-child{font-size:30px}
.pd-block{display:flex;flex-direction:column;gap:12px}
.pd-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.pd-thumb{border:1px solid var(--rule);background:var(--print-paper);padding:5px;cursor:pointer;border-radius:var(--r)}
.pd-thumb:hover{border-color:var(--soft)}
.pd-thumb[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.pd-thumb .sheet{padding:3%}
.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mode{text-align:left;border:1px solid var(--rule);background:var(--paper);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:6px;cursor:pointer}
.mode:hover{border-color:var(--soft)}
.mode b{font-size:16px;font-weight:600}
.mode span{font-size:14px;color:var(--graphite);line-height:1.45}
.mode em{font-style:normal;font-size:14px;font-weight:600;margin-top:8px}
.mode[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.pd-cta{display:flex;flex-direction:column;gap:12px}
.pd-fine{font-size:14px;color:var(--graphite)}
.pd-more{border-top:1px solid var(--rule)}

/* ---------- flow ---------- */
.flow{padding-block:40px 112px}
.flow-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:64px;align-items:start}
.flow-main{display:flex;flex-direction:column;gap:28px}
.flow-main h1,.ps-panel h1{font-size:clamp(40px,4.4vw,62px);letter-spacing:-.03em}
.flow-lede{font-size:18px;color:var(--graphite);max-width:50ch;margin-top:-12px}
.dropzone{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center;border:1px dashed var(--soft);border-radius:var(--r);padding:16px;cursor:pointer;background:var(--paper);transition:border-color .15s}
.dropzone:hover,.dropzone.drag{border-color:var(--ink)}
.dz-photo{aspect-ratio:4/3;overflow:hidden;background:var(--wall-2)}
.dz-photo svg,.dz-photo img{width:100%;height:100%;object-fit:cover;display:block}
.dz-copy{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.dz-copy b{font-size:18px;font-weight:600;margin-top:6px}
.photo-meta{font-size:14px;color:var(--graphite)}
.photo-meta.err{color:var(--bad)}
.dz-replace{font-weight:500;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:4px;margin-top:10px}
.dz-hint{font-size:13px;color:var(--soft);margin-top:12px;max-width:34ch}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.compare figure{margin:0;display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:start;font-size:14px;color:var(--graphite)}
.compare b{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
.cmp-img{aspect-ratio:4/3;overflow:hidden;position:relative}
.cmp-img>div,.cmp-img svg{width:100%;height:100%;display:block}
.cmp-img.bad svg{transform:scale(1.9) translate(4%,22%) rotate(-6deg);filter:saturate(1.8) contrast(1.15) hue-rotate(-12deg)}
.cmp-img::after{content:"";position:absolute;right:6px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--ok) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.5 6.4l2.3 2.3 4.7-5.2' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}
.cmp-img.bad::after{background:var(--bad) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M3 3l6 6M9 3l-6 6' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'/></svg>") center/10px no-repeat}
.flow-side{position:sticky;top:92px}
.side-card{display:flex;flex-direction:column;gap:20px}
.side-wall{background:var(--wall-2);padding:40px 26%}
.side-dl{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.side-dl div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule);font-size:15px}
.side-dl dt{color:var(--graphite)}
.side-dl dd{margin:0;text-align:right}
.side-dl .sd-total{border-bottom:0;font-weight:600;font-size:17px}
.side-dl .sd-total dt{color:var(--ink)}
.side-fine{font-size:13px;color:var(--graphite);text-align:center;margin-top:-6px}

/* proofs */
.proofs-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:40px}
.proofs-head h1{font-size:clamp(40px,4.4vw,62px);letter-spacing:-.03em}
.proofs-head p{font-size:17px;color:var(--graphite);max-width:46ch}
.contact-sheet{position:relative;background:#fdfdf9;color:#1d2320;padding:48px 48px 44px;box-shadow:0 1px 1px rgba(0,0,0,.06),10px 30px 50px -30px rgba(20,25,15,.45);transition:opacity .3s}
.contact-sheet.redrawing{opacity:.4}
.sheet-meta{display:flex;justify-content:space-between;font-size:14px;font-family:var(--display);font-style:italic;color:#6c736d;margin-bottom:26px;gap:16px;flex-wrap:wrap}
.sheet-row{display:grid;grid-template-columns:.8fr 1fr 1fr 1fr;gap:28px;align-items:start}
.sheet-ref{margin:0;display:flex;flex-direction:column;gap:12px;padding-top:10px}
.ref-img{aspect-ratio:3/4;overflow:hidden}
.ref-img svg{width:100%;height:100%;display:block}
.sheet-ref figcaption{font-size:13px;color:#4c544e;line-height:1.45}
.sheet-ref figcaption i{display:block;margin-top:6px;font-family:var(--display);font-size:15px;color:#4c544e}
.proof{position:relative;cursor:pointer;display:flex;flex-direction:column;gap:14px;padding:10px;outline:none;border-radius:1px;transition:box-shadow .15s}
.proof:hover{box-shadow:0 0 0 1px #b8beb9}
.proof[aria-checked="true"]{box-shadow:0 0 0 2px #9a6a0b}
.proof:focus-visible{box-shadow:0 0 0 2px #9a6a0b}
.proof-cap{display:flex;gap:10px;align-items:baseline;font-size:14px;color:#4c544e}
.proof-l{font-family:var(--display);font-size:22px;color:#1d2320;line-height:1}
.proof[aria-checked="true"] .proof-cap::after{content:"Selected";margin-left:auto;font-family:var(--display);font-style:italic;font-size:15px;color:#9a6a0b;white-space:nowrap}
.proof-actions{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:40px;flex-wrap:wrap}
.redraw-box{display:flex;flex-direction:column;gap:8px;flex:1 1 420px;max-width:600px}
.redraw-row{display:flex;gap:10px}
.redraw-row .input{flex:1 1 auto}
.approve-box{display:flex;align-items:center;gap:20px}
.pager{display:none}

/* personalise */
.ps-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start}
.ps-stage{position:sticky;top:92px;display:flex;flex-direction:column;gap:14px}
.ps-room{aspect-ratio:1/1;display:grid;place-items:center}
.ps-print{width:44%}
.ps-panel{display:flex;flex-direction:column;gap:26px}
.ps-buy{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--ink);padding-top:22px}
.ps-total{display:flex;flex-direction:column;gap:2px}
.ps-total .price{font-size:30px;line-height:1}
.ps-fine{font-size:14px;color:var(--graphite);margin-top:-12px}

/* cart */
.cart-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:72px;align-items:start}
.cart-main{display:flex;flex-direction:column;gap:56px}
.item{display:grid;grid-template-columns:200px minmax(0,1fr);gap:36px;padding-block:32px;border-block:1px solid var(--ink)}
.item-thumb{background:var(--wall-2);padding:26px}
.item-body{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.item-top{display:flex;justify-content:space-between;gap:16px;align-items:baseline;width:100%}
.item-top h2{font-size:32px;letter-spacing:-.02em}
.item-price{font-size:18px;font-weight:600}
.item-lines{display:flex;flex-direction:column;font-size:15px;color:var(--graphite)}
.item-actions{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;margin-top:auto;padding-top:12px}
.gift{display:flex;flex-direction:column;gap:18px;max-width:620px}
.gift-h{font-size:34px}
.cart-side{position:sticky;top:92px;display:flex;flex-direction:column;gap:28px}
.sum{display:flex;flex-direction:column;border-top:1px solid var(--ink);padding-top:10px}
.sum .btn-block{margin-top:22px}
.promo{display:flex;gap:8px;margin-top:14px}
.promo .input{height:46px}
.promo .btn{height:46px}
.promo-msg{font-size:13px;color:var(--graphite);margin-top:8px}
.assure{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.assure div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:14px}
.assure dt{color:var(--graphite)}
.assure dd{margin:0;text-align:right}

/* checkout */
.checkout-head .wrap{height:72px}
.checkout{padding-top:48px}
.co-title{font-size:clamp(40px,4.4vw,62px);letter-spacing:-.03em;margin-bottom:12px}
.co-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:80px;align-items:start}
.co-main{display:flex;flex-direction:column;gap:12px;max-width:640px}
.co-sec{border:0;border-top:1px solid var(--ink);margin:12px 0 0;padding:20px 0 24px;display:flex;flex-direction:column;gap:16px}
.co-sec legend{float:left;width:100%;font-family:var(--display);font-size:28px;font-weight:300;letter-spacing:-.02em;padding:0;margin-bottom:6px}
.co-sec legend+*{clear:both}
.ship-opts{display:flex;flex-direction:column;gap:8px}
.ship-opt{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper);cursor:pointer}
.ship-opt:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.ship-opt input{accent-color:var(--ink);width:18px;height:18px;margin:0}
.ship-opt span{display:flex;flex-direction:column;flex:1}
.ship-opt small{color:var(--graphite);font-size:14px}
.ship-opt em{font-style:normal;font-weight:600}
.card-box{display:flex;flex-direction:column;gap:16px}
.pay-btn{height:58px;font-size:16px;margin-top:8px}
.co-fine{font-size:13px;color:var(--graphite);text-align:center}
.form-alert{padding:14px 16px;border:1px solid var(--bad);color:var(--bad);border-radius:var(--r);background:var(--paper)}
.co-side{position:sticky;top:104px}
.co-side-in{display:flex;flex-direction:column;gap:10px}
.co-assure{margin-top:28px}
.co-wall{background:var(--wall-2);padding:40px 28%;margin-bottom:12px}
.co-name{font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:-.01em}
.co-rows{margin-top:16px;border-top:1px solid var(--rule);padding-top:8px}
.co-mobile-sum{display:none}
.co-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;padding-bottom:14px}
.co-thumb{background:var(--wall-2);padding:8px}

/* confirmation */
.confirm{padding-block:72px 112px}
.confirm-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:80px;align-items:start}
.confirm-main h1{font-size:clamp(44px,5.4vw,80px);letter-spacing:-.035em;margin:14px 0 20px}
.confirm-main h1 em{display:block}
.confirm-lede{font-size:18px;color:var(--graphite);max-width:44ch}
.timeline{list-style:none;margin:48px 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--ink);padding-top:24px}
.timeline li{display:grid;grid-template-columns:28px 1fr;gap:16px;padding-bottom:28px;position:relative}
.timeline li::before{content:"";position:absolute;left:8px;top:22px;bottom:0;width:1px;background:var(--rule)}
.timeline li:last-child::before{display:none}
.timeline li span:not(.t-dot){display:block;color:var(--graphite);font-size:15px}
.t-dot{width:17px;height:17px;border-radius:50%;border:1px solid var(--soft);background:var(--wall);margin-top:3px;position:relative;z-index:1}
.t-done .t-dot{background:var(--ink);border-color:var(--ink)}
.t-now .t-dot{border:5px solid var(--accent)}
.timeline b{display:block;font-size:17px;font-weight:600}
.confirm-actions{display:flex;gap:28px;flex-wrap:wrap;align-items:center}
.confirm-side{display:flex;flex-direction:column;gap:14px}
.confirm-room{aspect-ratio:1/1.08;display:grid;place-items:center}
.cf-print{width:48%}

/* account */
.acct-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:80px;align-items:start;padding-top:24px}
.acct-nav{position:sticky;top:92px;display:flex;flex-direction:column;gap:24px}
.acct-hello{font-family:var(--display);font-size:22px;line-height:1.25}
.acct-hello span{font-family:var(--body);font-size:13px;color:var(--graphite);word-break:break-all}
.acct-nav nav{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.acct-nav nav a{text-decoration:none;padding:12px 0;border-bottom:1px solid var(--rule);color:var(--graphite);font-size:15px}
.acct-nav nav a:hover{color:var(--ink)}
.acct-nav nav a[aria-current="page"]{color:var(--ink);font-weight:600}
.orders{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.order{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:32px;align-items:center;padding:24px 0;border-bottom:1px solid var(--rule)}
.order-thumb{width:104px}
.order-body{display:flex;flex-direction:column;gap:8px;font-size:15px}
.order-top{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.order-top h2{font-size:26px;letter-spacing:-.02em}
.progress{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-width:420px}
.progress li{font-size:12px;color:var(--soft);padding-top:8px;border-top:3px solid var(--rule)}
.progress li.on{border-top-color:var(--ink);color:var(--graphite)}
.progress li.now{border-top-color:var(--ink);color:var(--ink);font-weight:600;background:linear-gradient(90deg,var(--ink) 50%,transparent 50%) top/100% 3px no-repeat;border-top-color:var(--rule)}
.acct-h{font-size:40px;letter-spacing:-.02em;margin:88px 0 28px;scroll-margin-top:90px}
.saved{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.saved-item{text-decoration:none;display:flex;flex-direction:column;gap:4px}
.saved-wall{background:var(--wall-2);padding:36px 24%;margin-bottom:12px}
.saved-item b{font-family:var(--display);font-weight:400;font-size:21px;letter-spacing:-.01em}
.ph-item{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:24px;align-items:center;padding-block:20px;border-block:1px solid var(--rule)}
.ph-thumb{aspect-ratio:4/3;overflow:hidden}
.ph-thumb svg{width:100%;height:100%;display:block}
.ph-item b{display:block;font-weight:600}
.ph-item .muted{font-size:14px}
.ph-note{margin-top:14px}
.addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink)}
.addr{display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-size:15px;padding:22px 24px 22px 0}
.addr+.addr{padding-left:24px;border-left:1px solid var(--rule)}

/* help */
.help-grid{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:64px;align-items:start;padding-bottom:96px}
.help-side{position:sticky;top:92px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding-top:20px;border-top:1px solid var(--ink)}
.help-side h2{font-size:30px}
.help-side .contact-email{font-size:22px!important}
.help-nav{position:sticky;top:92px;display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.help-nav a{text-decoration:none;padding:11px 0;color:var(--graphite);border-bottom:1px solid var(--rule);font-size:15px}
.help-nav a:hover{color:var(--ink)}
.help-main{min-width:0}
.help-sec{margin-bottom:64px;scroll-margin-top:92px}
.help-sec h2{font-size:36px;letter-spacing:-.02em;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.contact-card{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding-top:24px}
.contact-email{font-family:var(--display);font-size:clamp(28px,3.4vw,44px);font-weight:300;letter-spacing:-.02em;user-select:all;word-break:break-all}

/* process */
.bench-wall{background:var(--wall-2);border-block:1px solid var(--rule);padding-block:80px 56px}
.bench-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px;align-items:end}
.bench-row figure{margin:0;display:flex;flex-direction:column;gap:20px}
.bench-row figcaption{font-size:14px;color:var(--graphite)}
.bench-row figcaption span{font-family:var(--display);font-style:italic;font-size:18px;color:var(--ink);margin-right:6px}
.bench-photo .polaroid{transform:rotate(-3deg)}
.essay{padding-block:96px 120px}
.essay-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px 80px}
.essay-step{display:flex;flex-direction:column;gap:16px;scroll-margin-top:92px;padding-top:24px;border-top:1px solid var(--ink)}
.essay-step h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.025em}
.essay-step h2 span{font-style:italic;color:var(--soft);margin-right:4px}
.essay-step p{font-size:17px;color:var(--graphite);max-width:50ch}
.checklist{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;font-size:15px}
.checklist li{padding:9px 0;border-bottom:1px solid var(--rule);display:flex;gap:12px}
.checklist li::before{content:"";flex:none;width:14px;height:14px;margin-top:4px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.5 6.4l2.3 2.3 4.7-5.2' fill='none' stroke='%232d6a46' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/14px no-repeat}
.spec{margin:6px 0 0;display:flex;flex-direction:column}
.spec div{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:15px}
.spec dt{font-weight:600}
.spec dd{margin:0;color:var(--graphite)}

/* ---------- responsive ---------- */
@media (max-width: 1100px){
  .help-grid{grid-template-columns:200px minmax(0,1fr)}
  .help-side{grid-column:2;position:static}
  .ai-grid{grid-template-columns:1fr;gap:40px}
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-copy{padding-bottom:0}
  .pd-grid,.ps-grid,.flow-grid,.cart-grid,.co-grid,.confirm-grid,.pb-grid,.ss-grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .pd-stage,.ps-stage,.flow-side,.cart-side,.co-side{position:static}
  .salon-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .salon-row a:nth-child(n+4){display:none}
}
@media (max-width: 860px){
  .scene-card.feature{grid-column:auto}
  .scene-card.feature .scene-wall{padding:44px 22%}
  .help-grid{grid-template-columns:1fr}
  .help-side{grid-column:auto}
  .scene-grid,.saved{grid-template-columns:1fr 1fr}
  .faq-grid,.proofs-head{grid-template-columns:1fr;gap:20px}
  .acct-grid,.help-grid{grid-template-columns:1fr;gap:32px}
  .acct-nav,.help-nav{position:static}
  .help-nav,.acct-nav nav{flex-direction:row;flex-wrap:wrap;gap:4px 20px;border:0}
  .help-nav a,.acct-nav nav a{border:0;padding:4px 0}
  .essay-grid,.se-grid{grid-template-columns:1fr;gap:48px}
  .se-item+.se-item{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .bench-row{grid-template-columns:1fr 1fr;gap:40px 28px}
  .pb-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sheet-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ai-cols{grid-template-columns:1fr;gap:20px}
  .co-side{display:none}
  .co-mobile-sum{display:block;border-block:1px solid var(--rule);margin:-24px 0 32px}
  .co-mobile-sum summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:15px}
  .cms-l{display:flex;align-items:center;gap:12px}
  .cms-thumb{width:34px;display:block}
  .co-mobile-sum[open] svg{transform:rotate(180deg)}
}
@media (max-width: 600px){
  .hero{padding-block:20px 72px}
  .hero h1{font-size:52px}
  .hero-room{order:-1}
  .hero-grid{gap:28px}
  .hero-cta .btn{flex:1}
  .hr-cap{flex-direction:column;gap:4px}
  .hr-cap-r{text-align:left}
  .pd-details{grid-template-columns:1fr 1fr}
  .grid-3.addr-row{grid-template-columns:1fr 1fr}
  .grid-3.addr-row>.field:first-child{grid-column:1/-1}
  .grid-2.keep-2{grid-template-columns:1fr 1fr}
  .ai-sec{padding-block:80px}
  .proof-band,.styles-sec,.faq-sec,.ai-sec,.shop-extra{padding-block:80px}
  .salon{padding-bottom:80px}
  .salon-wall{padding-block:48px 36px}
  .salon-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;padding-bottom:8px}
  .salon-row a{flex:0 0 62%;scroll-snap-align:start}
  .salon-row{scroll-padding-left:20px}
  .salon-row a:nth-child(n){display:flex}
  .ss-tabs{gap:10px}
  .pb-sheet{padding:32px 20px 24px}
  .pb-row{gap:16px}
  .pt-row{gap:12px}
  .pt-row>span:not(:first-child){font-size:22px}
  .pt-head b{font-size:18px}
  .pt-head small{display:none}
  .pt-foot{display:none}
  .scene-grid,.saved{grid-template-columns:1fr}
  .pd-thumbs{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
  .pd-thumb{padding:3px}
  .pd-block .opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .pd-block .opt{padding:0 10px;gap:8px;font-size:14px}
  .mode-cards{grid-template-columns:1fr}
  .opt.stack{min-width:0;flex:1}
  .dropzone{grid-template-columns:1fr}
  .compare{grid-template-columns:1fr}
  .contact-sheet{padding:28px 0 24px;box-shadow:none;background:none}
  .contact-sheet .crop,.sheet-meta{display:none}
  .sheet-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:4px 20px 12px;margin-inline:-20px}
  .sheet-row>*{flex:0 0 72%;scroll-snap-align:center;background:#fdfdf9}
  .sheet-ref{flex-basis:52%!important;padding:10px}
  .pager{display:flex;justify-content:center;gap:8px;margin-top:4px}
  .pager span{width:7px;height:7px;border-radius:50%;background:var(--rule)}
  .pager span.on{background:var(--ink)}
  .proof-actions{margin-top:24px;flex-direction:column-reverse;align-items:stretch;gap:28px}
  .approve-box{justify-content:space-between}
  .redraw-box{flex:none;max-width:none}
  .item{grid-template-columns:96px minmax(0,1fr);gap:18px}
  .item-thumb{padding:12px}
  .item-top{flex-direction:column;gap:4px}
  .item-top h2{font-size:24px}
  .order{grid-template-columns:72px minmax(0,1fr);gap:18px}
  .order .link{grid-column:2}
  .order-thumb{width:72px}
  .ph-item{grid-template-columns:96px minmax(0,1fr)}
  .ph-item .btn{grid-column:2;justify-self:start}
  .addr-grid{grid-template-columns:1fr}
  .addr+.addr{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .redraw-row{flex-direction:column}
  .redraw-row .input{flex:none;height:50px}
  .filter-bar{flex-direction:column;align-items:flex-start}
  .filter-bar>.opts{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px}
  .filter-bar .opt{flex:none}
  .bench-row{grid-template-columns:1fr 1fr}
  .checkout{padding-top:20px}
}
@media (max-width: 600px){
  .pd-grid{display:flex;flex-direction:column;gap:28px}
  .pd-stage{display:contents}
  .pd-room{order:1}
  #pd-placard{order:2;margin-top:-16px}
  .pd-panel{order:3}
  .pd-details{order:4}
  .pd-spec{order:5;margin-top:0}
  .pd-note{order:6;margin-top:0}
  .pd-block .opt:has(.sw-art){flex-direction:column;align-items:flex-start;height:auto;padding:8px;gap:6px}
  .pd-block .sw-art{width:100%;height:auto;aspect-ratio:1/1}
}

@media (max-width: 600px){
  .pd-room{width:100%}
  .ai-grid{grid-template-columns:1fr;gap:40px}
}
.help-more summary{font-size:16px}
.pb-steps{font-size:15px;color:var(--ink)!important;font-weight:500;padding-top:18px;border-top:1px solid var(--rule)}
.pd-note{font-size:14px;color:var(--graphite);margin-top:24px;max-width:56ch}
.co-promise{font-size:14px;color:var(--graphite);margin-top:20px;padding-top:16px;border-top:1px solid var(--rule)}

@media (max-width:600px){.ai-pair{align-items:end}.ai-ph{aspect-ratio:3/4}}

/* live API states */
.dz-empty{width:100%;height:100%;display:grid;place-items:center;color:var(--soft)}
.dz-empty svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.2}
.sheet .art img.real-art{width:100%;height:100%;object-fit:contain;display:block}
.ref-img img{width:100%;height:100%;object-fit:cover;display:block}
.contact-sheet[aria-busy="true"]{position:relative}
.contact-sheet[aria-busy="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:linear-gradient(90deg,transparent,var(--ink),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:oi-scan 1.6s linear infinite}
@keyframes oi-scan{from{background-position:-40% 0}to{background-position:140% 0}}
@media (prefers-reduced-motion: reduce){.contact-sheet[aria-busy="true"]::after{animation:none}}
.drawing-ph{margin:auto;font-family:var(--display);font-style:italic;font-size:18px;color:var(--soft)}
.contact-sheet[aria-busy="true"] .drawing-ph{animation:oi-breathe 1.8s ease-in-out infinite}
@keyframes oi-breathe{50%{opacity:.35}}
@media (prefers-reduced-motion: reduce){.contact-sheet[aria-busy="true"] .drawing-ph{animation:none}}
[hidden]{display:none!important}
.acct-live{grid-column:1/-1;max-width:640px;display:flex;flex-direction:column;gap:18px;padding:24px 0 64px}
.test-banner{background:var(--ink);color:var(--wall);font-size:13.5px;text-align:center;padding:8px 16px;position:relative;z-index:40}
