:root{--product-line:rgba(11,11,11,.2);--salon:#11110f;--cream:#f1efe7}.product-page{background:var(--paper);color:var(--ink)}.product-page *{box-sizing:border-box}.product-page [hidden]{display:none!important}
.product-header{position:sticky;top:0;z-index:25;height:76px;padding:0 1.4rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--product-line);background:rgba(241,239,231,.92);backdrop-filter:blur(15px)}.product-wordmark{width:clamp(8rem,12vw,10.5rem)}.product-wordmark .brand-crop{width:100%}.back-link{justify-self:center;text-decoration:none}.header-request{justify-self:end;border:0;border-bottom:1px solid currentColor;padding:.45rem 0;background:transparent;cursor:pointer}.back-link,.header-request{text-transform:uppercase;letter-spacing:.12em;font-size:.63rem}
.product-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(23rem,.8fr);align-items:start}.product-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#111;border-right:1px solid #111}.product-media{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:#d7d4cb}.product-lead{grid-column:1/-1;aspect-ratio:16/10}.product-media img,.product-media video{width:100%;height:100%;display:block;object-fit:cover}.product-media video{object-fit:contain;background:#000}.product-media figcaption{position:absolute;left:1rem;bottom:1rem;padding:.45rem .55rem;color:#fff;background:rgba(0,0,0,.24);backdrop-filter:blur(6px);text-transform:uppercase;letter-spacing:.13em;font-size:.56rem}
.product-info{position:sticky;top:76px;min-height:calc(100svh - 76px);padding:clamp(2.5rem,5vw,5rem) clamp(1.2rem,4vw,4rem) 2rem;display:flex;flex-direction:column}.product-kicker{margin:0;color:var(--green);text-transform:uppercase;letter-spacing:.15em;font-size:.63rem;font-weight:600}.product-info h1{margin:clamp(2rem,7vh,5rem) 0 1.8rem;color:var(--blue);font-size:clamp(3.8rem,6vw,6.7rem);line-height:.82}.product-description{max-width:31rem;font-size:1rem;line-height:1.55}.house-spec{margin-top:1.3rem;padding:1rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.house-spec span,.product-price{text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.house-spec p{margin:.55rem 0 0;max-width:31rem;font-size:.8rem;line-height:1.5}.product-price{margin:1rem 0 0}.purchase-actions{display:grid;gap:.55rem;margin:1.6rem 0}.purchase-actions button{width:100%;padding:1rem 1.1rem;display:flex;justify-content:space-between;border:1px solid var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;cursor:pointer}.primary-cta{background:var(--blue);color:#fff}.secondary-cta{background:transparent;color:var(--blue)}.product-notes{margin-top:auto;border-top:1px solid var(--product-line)}.product-notes details{border-bottom:1px solid var(--product-line);padding:1rem 0}.product-notes summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none;text-transform:uppercase;letter-spacing:.11em;font-size:.62rem}.product-notes summary::-webkit-details-marker{display:none}.product-notes details[open] summary span{transform:rotate(45deg)}.product-notes p{margin:1rem 0 .2rem;max-width:30rem;color:#555;font-size:.8rem;line-height:1.55}
.story-panel{min-height:78svh;padding:clamp(4rem,9vw,9rem) 6vw;display:grid;grid-template-columns:.65fr 2fr;align-content:center;gap:2rem}.story-panel>p{color:var(--yellow);text-transform:uppercase;letter-spacing:.15em;font-size:.65rem}.story-panel h2{margin:0;font-size:clamp(5rem,10vw,11rem);line-height:.8}.story-panel>span,.story-panel>button{grid-column:2;max-width:34rem}.story-panel>span{font-size:1rem;line-height:1.6}.story-panel>button{justify-self:start;border:0;border-bottom:1px solid currentColor;padding:.7rem 0;color:inherit;background:transparent;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;cursor:pointer}.story-blue{background:var(--blue);color:#fff}.story-yellow{background:var(--yellow);color:var(--blue)}.story-yellow>p{color:var(--green)}.story-image{position:relative;height:100svh;margin:0;overflow:hidden;background:#111}.story-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.story-image p{position:absolute;left:1.5rem;bottom:1.5rem;margin:0;color:#fff;text-transform:uppercase;letter-spacing:.13em;font-size:.6rem}
.request-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--cream);color:var(--ink)}.request-dialog::backdrop{background:rgba(0,0,0,.7)}.request-dialog[open]{animation:dialog-in .35s ease both}.dialog-shell{min-height:100%}.dialog-header{height:76px;padding:0 1.4rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--product-line)}.dialog-header div{display:grid}.dialog-header span{text-transform:uppercase;letter-spacing:.13em;font-size:.55rem;color:var(--green)}.dialog-header strong{font-family:var(--serif);font-size:1.25rem;font-weight:400}.dialog-header button{border:0;border-bottom:1px solid currentColor;padding:.4rem 0;background:transparent;text-transform:uppercase;letter-spacing:.12em;font-size:.6rem;cursor:pointer}
.commission-form{min-height:calc(100dvh - 76px);display:grid;grid-template-columns:minmax(19rem,.8fr) minmax(28rem,1.2fr);background:var(--cream)}.builder-preview{position:sticky;top:0;height:calc(100dvh - 76px);padding:1.2rem;background:var(--salon);color:#fff}.pendant-viewport{height:calc(100% - 2rem);display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#343129 0,#11110f 63%)}.pendant-svg{width:min(72%,28rem);height:82%;filter:saturate(.95)}.preview-caption{height:2rem;display:flex;justify-content:space-between;align-items:end;text-transform:uppercase;letter-spacing:.13em;font-size:.55rem;color:#999}
.builder-flow{min-height:calc(100dvh - 76px);padding:clamp(2rem,6vw,6rem);display:flex;flex-direction:column}.flow-progress{display:flex;gap:1rem;align-items:center;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem}.flow-progress i{height:1px;flex:1;background:#bbb}.flow-progress b{display:block;width:25%;height:1px;background:var(--blue);transition:width .25s}.form-step{max-width:48rem;margin:auto 0}.form-step[hidden]{display:none}.step-kicker{margin:0 0 1.2rem;color:var(--green);text-transform:uppercase;letter-spacing:.15em;font-size:.62rem}.form-step h2{margin:0 0 2.5rem;color:var(--blue);font-size:clamp(4rem,7vw,7.5rem);line-height:.84}.finish-grid,.choice-grid,.budget-grid{display:grid;gap:.55rem}.finish-grid{grid-template-columns:repeat(3,1fr)}.choice-grid,.budget-grid{grid-template-columns:repeat(2,1fr)}.finish-grid input,.choice-grid input,.budget-grid input{position:absolute;opacity:0}.finish-grid span,.choice-grid span,.budget-grid span{height:100%;padding:1rem;display:flex;align-items:center;gap:.65rem;border:1px solid #aaa;background:#faf9f5;cursor:pointer}.choice-grid span{display:block}.choice-grid small{display:block;margin-top:.35rem;color:#777;text-transform:none;letter-spacing:0}.finish-grid input:checked+span,.choice-grid input:checked+span,.budget-grid input:checked+span{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--yellow)}.finish-grid label,.choice-grid label,.budget-grid label,.field-label,.check-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.swatch{width:1rem;height:1rem;border:1px solid #555;border-radius:50%}.gold{background:#c9952e}.silver{background:#c8cdd0}.rose{background:#c99182}.field-label{display:block;margin-top:1rem}.field-label small{color:#777;text-transform:none;letter-spacing:0;font-weight:400}.field-label input,.field-label select,.field-label textarea{width:100%;margin-top:.5rem;padding:.9rem;border:1px solid #aaa;border-radius:0;background:#fff;color:var(--ink);font:400 .88rem var(--sans)}.check-label{margin-top:1rem;padding:1rem;display:flex;gap:.6rem;align-items:flex-start;border:1px solid #aaa;background:#fff;line-height:1.4}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.submission-note{margin:1.3rem 0 0;padding:1rem;border-left:4px solid var(--green);background:#fff;font-size:.76rem;line-height:1.5}.flow-actions{margin-top:auto;padding-top:2rem;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--product-line)}.flow-actions button{padding:.85rem 0;border:0;border-bottom:1px solid currentColor;background:transparent;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;cursor:pointer}.flow-next,.flow-submit{margin-left:auto;color:var(--blue)}.flow-back[disabled]{opacity:.25}.form-status{min-height:1rem;margin:.7rem 0 0;font-size:.76rem}.form-status.success{padding:.8rem;background:var(--green);color:#fff}.form-status.error{color:#a21b1b}.honeypot{position:absolute!important;left:-9999px!important}
.product-footer{padding:1.4rem;display:flex;justify-content:space-between;border-top:1px solid var(--ink);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.product-footer a{text-decoration:none}
.header-preview{justify-self:end;text-transform:uppercase;letter-spacing:.12em;font-size:.63rem;color:var(--green)}
.preview-product-info h1{font-size:clamp(3.2rem,5.5vw,6.4rem);line-height:.86;overflow-wrap:anywhere}
.preview-variants{margin-top:1.3rem}.preview-variants>p{margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.preview-variants>div{display:flex;flex-wrap:wrap;gap:.4rem}.preview-variants span{padding:.55rem .7rem;border:1px solid var(--product-line);font-size:.67rem;line-height:1;text-transform:uppercase;letter-spacing:.09em;background:#faf9f5}
.preview-notice{margin:1.2rem 0 1.8rem;padding:1rem;border-left:4px solid var(--green);display:grid;gap:.45rem;background:#fff}.preview-notice strong{color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.preview-notice span{font-size:.78rem;line-height:1.5}
.preview-panel{min-height:66svh;padding:clamp(4rem,9vw,9rem) 6vw;display:grid;grid-template-columns:.65fr 2fr;align-content:center;gap:2rem;background:var(--blue);color:#fff}.preview-panel>p{margin:0;color:var(--yellow);text-transform:uppercase;letter-spacing:.15em;font-size:.65rem}.preview-panel h2{margin:0;font-size:clamp(4.5rem,9vw,10rem);line-height:.82}.preview-panel>span{grid-column:2;max-width:35rem;font-size:1rem;line-height:1.6}
@keyframes dialog-in{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}
@media(max-width:960px){.product-layout{grid-template-columns:1fr}.product-gallery{border:0}.product-info{position:relative;top:0;min-height:auto;padding:4rem 1.1rem}.product-notes{margin-top:2rem}.story-panel,.preview-panel{grid-template-columns:1fr}.story-panel h2,.story-panel>span,.story-panel>button,.preview-panel h2,.preview-panel>span{grid-column:1}.commission-form{grid-template-columns:1fr}.builder-preview{position:relative;height:36vh;padding:.7rem}.pendant-viewport{height:calc(100% - 1.6rem)}.preview-caption{height:1.6rem}.builder-flow{min-height:calc(64dvh - 76px);padding:2rem 1rem}}
@media(max-width:600px){.product-header{height:66px;padding:0 .9rem;grid-template-columns:1fr auto}.back-link{display:none}.product-gallery{display:flex;gap:1px;overflow:auto;scroll-snap-type:x mandatory;background:#111}.product-media,.product-lead{flex:0 0 88vw;aspect-ratio:4/5;scroll-snap-align:start}.product-info h1{font-size:4.2rem}.preview-product-info h1{font-size:3.3rem}.story-panel,.preview-panel{min-height:68svh;padding:4rem 1rem}.story-panel h2,.preview-panel h2{font-size:4.6rem}.story-image{height:78svh}.dialog-header{height:66px;padding:0 .9rem}.commission-form{min-height:calc(100dvh - 66px)}.builder-preview{height:30vh}.builder-flow{min-height:calc(70dvh - 66px)}.form-step h2{font-size:3.7rem;margin-bottom:1.8rem}.finish-grid,.choice-grid,.budget-grid,.two-col{grid-template-columns:1fr}.finish-grid{gap:.4rem}.finish-grid span,.choice-grid span,.budget-grid span{padding:.75rem}.flow-actions{position:sticky;bottom:0;margin:1.5rem -1rem -2rem;padding:1rem;background:var(--cream);z-index:2}.product-footer{padding:1.1rem .9rem 5.6rem;display:grid;gap:.4rem}}
@media(prefers-reduced-motion:reduce){.request-dialog[open]{animation:none}.flow-progress b{transition:none}}
