:root{--demo-bg:#111518;--demo-panel:#171c20;--demo-line:#30383e;--demo-gold:#d2af68;--demo-text:#f2f0ea;--demo-dim:#aab2b6;--demo-red:#e07064;--demo-green:#74c69a}*{box-sizing:border-box}body{margin:0;background:var(--demo-bg);color:var(--demo-text);font-family:Archivo,Arial,sans-serif}.demo-ribbon{position:sticky;top:0;z-index:30;display:flex;justify-content:center;align-items:center;gap:1.2rem;padding:.55rem 1rem;background:#f4c95d;color:#151719;font:600 .72rem 'Space Mono',monospace;letter-spacing:.04em}.demo-ribbon strong{text-transform:uppercase}.demo-ribbon button{border:1px solid #151719;background:none;padding:.25rem .55rem;font:600 .62rem 'Space Mono',monospace;text-transform:uppercase;cursor:pointer}.demo-header{display:flex;align-items:center;gap:1.2rem;max-width:1260px;margin:auto;padding:1.15rem 1.5rem;border-bottom:1px solid var(--demo-line)}.demo-mark{margin-right:auto;color:var(--demo-text);font:600 1rem Cinzel,serif;text-transform:uppercase;letter-spacing:.18em;text-decoration:none}.demo-header>span{color:var(--demo-dim);font:400 .65rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.demo-cart-count{color:var(--demo-gold)!important}.demo-main{max-width:1260px;margin:auto;padding:0 1.5rem 5rem}.demo-progress{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;margin:1.5rem 0 2rem;border:1px solid var(--demo-line)}.demo-progress li{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem;color:#68737b;border-right:1px solid var(--demo-line);font:600 .63rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.demo-progress li:last-child{border:0}.demo-progress b{display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%}.demo-progress li.is-on,.demo-progress li.is-done{color:var(--demo-gold)}.demo-progress li.is-done b{background:var(--demo-gold);color:var(--demo-bg)}.demo-message{border-left:3px solid var(--demo-red);background:#251b1b;color:#f3c0b9;padding:.8rem 1rem;margin-bottom:1rem}.demo-panel h1,.demo-panel h2{font-family:Cinzel,serif;font-weight:600;letter-spacing:.02em}.demo-panel h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:.5rem 0 1rem}.demo-panel h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:.35rem 0 1.5rem}.demo-panel h3{font:600 .8rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--demo-gold)}.demo-eyebrow{margin:0;color:var(--demo-gold);font:600 .64rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.12em}.product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:clamp(2rem,5vw,5rem)}.product-stage{position:relative;margin-top:1rem;background:#f5f4f0;min-height:620px;display:grid;place-items:center;overflow:hidden}.product-stage img{display:block;width:min(80%,600px);height:580px;object-fit:contain}.product-mark{position:absolute;left:49.5%;top:46%;width:210px;height:185px;transform:translate(-50%,-50%);display:grid;place-items:center;color:#f7f7f5;filter:drop-shadow(0 1px 1px #111) drop-shadow(0 0 1px #111);pointer-events:none}.product-mark svg{width:100%;height:100%;overflow:visible}.product-scale{position:absolute;left:1rem;bottom:1rem;color:#222;background:rgba(255,255,255,.86);padding:.35rem .5rem;font:400 .58rem 'Space Mono',monospace}.preview-coordinates{padding:.65rem;background:var(--demo-panel);border:1px solid var(--demo-line);border-top:0;color:var(--demo-gold);font:400 .65rem 'Space Mono',monospace}.product-copy{padding-top:3rem}.product-copy>p:not(.demo-eyebrow){color:var(--demo-dim);line-height:1.7}.demo-price{display:flex;align-items:baseline;gap:.75rem;margin:1rem 0}.demo-price strong{font:600 1.5rem 'Space Mono',monospace}.demo-price span{color:var(--demo-dim);font-size:.8rem}.demo-callout{border-left:2px solid var(--demo-gold);background:var(--demo-panel);padding:.8rem 1rem;margin:1rem 0;color:var(--demo-dim);font-size:.83rem}.demo-callout strong{color:var(--demo-text)}form>label,.demo-fields label{display:flex;flex-direction:column;gap:.4rem;color:var(--demo-dim);font:600 .62rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;margin:1rem 0}input,select,textarea{width:100%;border:1px solid var(--demo-line);background:#0d1114;color:var(--demo-text);padding:.72rem .8rem;font:400 .92rem Archivo,Arial,sans-serif;border-radius:0}textarea{min-height:80px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--demo-gold);outline-offset:1px}input[type=range]{padding:0;accent-color:var(--demo-gold)}output{color:var(--demo-gold)}.demo-fields{display:grid;gap:.8rem}.demo-fields.two{grid-template-columns:1fr 1fr}.demo-fields.three{grid-template-columns:repeat(3,1fr)}.demo-button{border:1px solid var(--demo-gold);padding:.75rem 1.1rem;background:transparent;color:var(--demo-gold);font:600 .68rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.demo-button.primary{background:var(--demo-gold);color:#131619}.demo-button:hover{filter:brightness(1.1)}.demo-button:disabled{opacity:.35;cursor:not-allowed}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:2rem}.cart-line{display:grid;grid-template-columns:110px 1fr 75px auto;gap:1rem;align-items:center;border:1px solid var(--demo-line);background:var(--demo-panel);padding:1rem}.cart-line img{width:100%;height:100px;object-fit:contain;background:#f4f3ef}.cart-line div{display:grid;gap:.4rem}.cart-line span{color:var(--demo-dim);font-size:.8rem}.cart-line label{font:600 .6rem 'Space Mono',monospace;color:var(--demo-dim);text-transform:uppercase}.text-button{justify-self:start;border:0;background:none;padding:0;color:var(--demo-gold);cursor:pointer}.order-summary{align-self:start;position:sticky;top:80px;border:1px solid var(--demo-line);background:var(--demo-panel);padding:1.2rem}.order-summary h3{margin-top:0}.summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;color:var(--demo-dim);font-size:.85rem}.summary-row.total{border-top:1px solid var(--demo-line);margin-top:.5rem;padding-top:1rem;color:var(--demo-text);font-weight:600}.summary-row b{font-family:'Space Mono',monospace}.demo-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.5rem}.delivery-methods{border:0;padding:0;margin:1rem 0}.delivery-methods legend{font:600 .62rem 'Space Mono',monospace;text-transform:uppercase;color:var(--demo-dim);letter-spacing:.08em}.delivery-methods label{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;border:1px solid var(--demo-line);padding:1rem;margin:.6rem 0;cursor:pointer}.delivery-methods input{width:auto}.delivery-methods span{display:grid;gap:.3rem}.delivery-methods small{color:var(--demo-dim)}.payment-warning{display:grid;gap:.35rem;border:2px solid var(--demo-red);background:#251b1b;padding:1rem;margin:1rem 0;color:#f3c0b9}.demo-confirm{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:.6rem!important;text-transform:none!important;font-family:Archivo,Arial,sans-serif!important;font-size:.82rem!important}.demo-confirm input{width:auto}.complete-head{text-align:center;max-width:720px;margin:2rem auto}.complete-check{display:grid;place-items:center;margin:0 auto 1rem;width:60px;height:60px;border-radius:50%;background:var(--demo-green);color:#101512;font-size:2rem}.complete-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:1rem}.complete-grid article{border:1px solid var(--demo-line);background:var(--demo-panel);padding:1.2rem}.confirmation-list{display:grid;gap:.6rem;margin:1rem 0}.confirmation-list div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--demo-line);padding-bottom:.55rem;color:var(--demo-dim)}.confirmation-list strong{color:var(--demo-text);text-align:right}.production-warning{border-left:3px solid var(--demo-red);background:#251b1b;padding:.8rem 1rem;color:#f3c0b9;font-size:.82rem}.release-checks{display:grid;gap:.6rem;margin:1rem 0}.release-checks label{display:flex;gap:.6rem;color:var(--demo-dim);font-size:.82rem}.release-checks input{width:auto}.output-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.output-status{color:var(--demo-gold);font:400 .65rem 'Space Mono',monospace}.demo-footer{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--demo-line);padding:1.5rem;color:var(--demo-dim);font-size:.75rem}.demo-footer a{color:var(--demo-gold)}@media(max-width:900px){.product-layout,.checkout-layout,.complete-grid{grid-template-columns:1fr}.product-copy{padding-top:0}.product-stage{min-height:480px}.product-stage img{height:450px}.order-summary{position:static}.demo-progress li{font-size:0}.demo-progress b{font-size:.65rem}.demo-fields.three{grid-template-columns:1fr 1fr}}@media(max-width:600px){.demo-ribbon{align-items:flex-start;gap:.35rem;flex-direction:column}.demo-ribbon button{position:absolute;right:.5rem;top:.5rem}.demo-header{padding:1rem}.demo-header>span:not(.demo-cart-count){display:none}.demo-main{padding:0 1rem 3rem}.product-stage{min-height:380px}.product-stage img{height:360px}.product-mark{width:140px;height:125px}.demo-fields.two,.demo-fields.three{grid-template-columns:1fr}.cart-line{grid-template-columns:80px 1fr}.cart-line label,.cart-line>strong{grid-column:2}.demo-actions{display:grid;grid-template-columns:1fr 1fr}.output-buttons{grid-template-columns:1fr}.complete-grid article{padding:1rem}}
@media print{.demo-ribbon,.demo-header,.demo-progress,.demo-actions,.output-buttons,.release-checks,.production-warning,.demo-footer{display:none!important}body{background:#fff;color:#000}.demo-main{max-width:none}.demo-panel:not([data-panel="complete"]){display:none!important}.complete-grid{display:block}.complete-grid article:last-child{display:none}.complete-grid article{border:1px solid #aaa;background:#fff}.complete-head{margin:0 auto}.confirmation-list div{color:#333}.confirmation-list strong{color:#000}}

/* Official brand mark. */
.demo-mark{display:inline-flex;align-items:center;gap:.6rem}
.demo-mark img{display:block;width:34px;height:34px;object-fit:contain;flex:0 0 auto}

/* Direct-manipulation engraving placement. These late rules intentionally
   override the original read-only preview behavior. */
.product-mark{pointer-events:auto;cursor:grab;touch-action:none;user-select:none;outline:1px dashed transparent;outline-offset:5px}.product-mark:hover,.product-mark:focus,.product-mark.is-dragging{outline-color:rgba(210,175,104,.85)}.product-mark.is-dragging{cursor:grabbing}.product-mark svg{pointer-events:none}.preview-position{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:.75rem;background:var(--demo-panel);border:1px solid var(--demo-line);border-top:0}.preview-position>div:first-child{display:grid;gap:.2rem}.preview-position strong{font:600 .68rem 'Space Mono',monospace;text-transform:uppercase;color:var(--demo-text)}.preview-position span{color:var(--demo-gold);font:400 .65rem 'Space Mono',monospace}.preview-position small{color:var(--demo-dim);font-size:.68rem}.preview-nudge{display:grid;grid-template-columns:repeat(5,auto);gap:.25rem}.preview-nudge button{min-width:34px;height:34px;border:1px solid var(--demo-line);background:#0d1114;color:var(--demo-gold);cursor:pointer;font:600 .68rem 'Space Mono',monospace}.preview-nudge button:hover,.preview-nudge button:focus{border-color:var(--demo-gold)}
@media(max-width:600px){.preview-position{grid-template-columns:1fr}.preview-nudge{grid-template-columns:repeat(5,1fr)}}

/* Multi-product private catalog and image gallery. */
.catalog-heading{display:grid;grid-template-columns:1fr minmax(280px,520px);gap:2rem;align-items:end;margin:0 0 1rem}.catalog-heading h2{margin:.35rem 0 0}.catalog-heading>p{color:var(--demo-dim);line-height:1.6;margin:0}.demo-catalog-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:3rem}.catalog-card{position:relative;display:grid;grid-template-rows:140px auto;border:1px solid var(--demo-line);background:var(--demo-panel);padding:0;color:var(--demo-text);text-align:left;cursor:pointer}.catalog-card:hover,.catalog-card:focus,.catalog-card.is-selected{border-color:var(--demo-gold);outline:0}.catalog-card.is-selected:after{content:'SELECTED';position:absolute;top:.45rem;right:.45rem;background:var(--demo-gold);color:#111;padding:.2rem .35rem;font:700 .5rem 'Space Mono',monospace}.catalog-card img{width:100%;height:140px;object-fit:contain;background:#f5f4f0}.catalog-card span{display:grid;gap:.25rem;padding:.65rem}.catalog-card strong{font-size:.75rem;line-height:1.3}.catalog-card small{color:var(--demo-dim);font:400 .55rem 'Space Mono',monospace}.catalog-card b{color:var(--demo-gold);font:700 .65rem 'Space Mono',monospace}.product-gallery{display:flex;gap:.65rem;padding:.65rem 0}.gallery-thumb{display:grid;grid-template-columns:64px auto;align-items:center;gap:.55rem;min-width:150px;border:1px solid var(--demo-line);background:var(--demo-panel);color:var(--demo-dim);padding:.35rem;text-align:left;cursor:pointer}.gallery-thumb:hover,.gallery-thumb:focus,.gallery-thumb.is-selected{border-color:var(--demo-gold);color:var(--demo-gold);outline:0}.gallery-thumb img{width:64px;height:54px;object-fit:contain;background:#f5f4f0}.gallery-thumb span{font:600 .56rem 'Space Mono',monospace;text-transform:uppercase}.validation-badge{display:inline-block;color:var(--demo-red);font:700 .58rem 'Space Mono',monospace;text-transform:uppercase}
@media(max-width:1050px){.demo-catalog-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.catalog-heading{grid-template-columns:1fr}.demo-catalog-grid{grid-template-columns:repeat(2,1fr)}.catalog-card{grid-template-rows:110px auto}.catalog-card img{height:110px}.product-gallery{overflow-x:auto}}
[hidden]{display:none!important}

/* Batch personalization: one shared design or a deliberate per-item workflow. */
.batch-personalization{border:0;padding:0;margin:1.2rem 0}.batch-personalization>legend{margin-bottom:.65rem;color:var(--demo-text);font:700 .66rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em}.batch-modes{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.batch-mode{position:relative;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.75rem;min-height:88px;margin:0!important;padding:.9rem;border:1px solid var(--demo-line);background:linear-gradient(145deg,#171c20,#111619);color:var(--demo-dim)!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important}.batch-mode:hover{border-color:#766540}.batch-mode.is-selected{border-color:var(--demo-gold);box-shadow:inset 0 0 0 1px rgba(210,175,104,.24);background:linear-gradient(145deg,rgba(210,175,104,.13),#151a1d)}.batch-mode.is-disabled{opacity:.38;cursor:not-allowed}.batch-mode input{position:absolute;opacity:0;pointer-events:none}.batch-mode__icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #596168;border-radius:50%;color:var(--demo-gold);font:700 .68rem 'Space Mono',monospace}.batch-mode.is-selected .batch-mode__icon{border-color:var(--demo-gold);background:var(--demo-gold);color:#111518}.batch-mode>span:nth-of-type(2){display:grid;gap:.25rem}.batch-mode strong{color:var(--demo-text);font:600 .84rem Archivo,Arial,sans-serif}.batch-mode small{color:var(--demo-dim);font:400 .69rem Archivo,Arial,sans-serif;line-height:1.35}.batch-mode>b{align-self:start;border:1px solid #485158;padding:.2rem .35rem;color:#889298;font:700 .48rem 'Space Mono',monospace;text-transform:uppercase}.batch-mode.is-selected>b{border-color:rgba(210,175,104,.55);color:var(--demo-gold)}
.unit-editor{margin-top:.7rem;border:1px solid var(--demo-line);background:#0d1114;padding:.9rem}.unit-editor__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--demo-line)}.unit-editor__head>div{display:grid;gap:.2rem}.unit-editor__head span{color:var(--demo-gold);font:700 .52rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.1em}.unit-editor__head strong{font:600 .86rem Archivo,Arial,sans-serif}.unit-copy{border:1px solid #695b3d;background:transparent;color:var(--demo-gold);padding:.5rem .7rem;font:700 .55rem 'Space Mono',monospace;text-transform:uppercase;cursor:pointer}.unit-copy:hover,.unit-copy:focus{border-color:var(--demo-gold);outline:0}.unit-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:.75rem;max-height:222px;overflow:auto}.unit-tab{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:.5rem;min-width:0;padding:.55rem;border:1px solid #293137;background:#151a1e;color:var(--demo-dim);text-align:left;cursor:pointer}.unit-tab:hover,.unit-tab:focus{border-color:#74643f;outline:0}.unit-tab.is-active{border-color:var(--demo-gold);background:rgba(210,175,104,.1);color:var(--demo-text)}.unit-tab>b{display:grid;place-items:center;width:30px;height:30px;border:1px solid #454f55;border-radius:50%;font:700 .57rem 'Space Mono',monospace}.unit-tab.is-active>b{background:var(--demo-gold);border-color:var(--demo-gold);color:#111518}.unit-tab>span{display:grid;min-width:0;font:600 .7rem Archivo,Arial,sans-serif}.unit-tab small{overflow:hidden;color:#778188;font:400 .55rem 'Space Mono',monospace;text-overflow:ellipsis;white-space:nowrap}.unit-tab>i{color:#59646a;font-style:normal}.unit-tab.is-ready>i{color:var(--demo-green)}.unit-editor__hint{margin:.7rem 0 0;color:#818b91;font-size:.68rem;line-height:1.5}.product-unit-badge{position:absolute;top:1rem;left:1rem;z-index:2;border:1px solid #111;background:var(--demo-gold);color:#111;padding:.38rem .55rem;font:700 .58rem 'Space Mono',monospace;text-transform:uppercase;box-shadow:0 5px 18px rgba(0,0,0,.18)}.logo-file-state{display:flex;justify-content:space-between;align-items:center;gap:.6rem;min-height:20px;text-transform:none;letter-spacing:0}.logo-file-state small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-file-state .text-button{flex:0 0 auto;font:600 .6rem 'Space Mono',monospace}.cart-designs{margin:1rem 0;border:1px solid var(--demo-line);background:#101518}.cart-designs__head{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border-bottom:1px solid var(--demo-line)}.cart-designs__head span{color:var(--demo-gold);font:700 .55rem 'Space Mono',monospace;text-transform:uppercase}.cart-designs__head strong{font-size:.78rem}.cart-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--demo-line)}.cart-design-grid article{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:.65rem;min-width:0;padding:.7rem;background:var(--demo-panel)}.cart-design-grid article.is-shared{grid-column:1/-1}.cart-design-grid article>b{display:grid;place-items:center;width:36px;height:36px;border:1px solid #5a6063;border-radius:50%;color:var(--demo-gold);font:700 .58rem 'Space Mono',monospace}.cart-design-grid article>span{display:grid;gap:.15rem;min-width:0}.cart-design-grid article strong{font-size:.73rem}.cart-design-grid article small{overflow:hidden;color:var(--demo-dim);font:400 .58rem 'Space Mono',monospace;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.batch-modes{grid-template-columns:1fr}.unit-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-editor__head{align-items:flex-start;flex-direction:column}.cart-design-grid{grid-template-columns:1fr}.cart-designs__head{align-items:flex-start;flex-direction:column}}
.art-proof{margin:1rem 0;border:1px solid var(--demo-line);background:#0d1114;padding:1rem}.art-proof__head{display:flex;justify-content:space-between;gap:1rem;align-items:start}.art-proof__head>div{display:grid;gap:.2rem}.art-proof__head span,.art-proof figcaption{color:var(--demo-gold);font:700 .54rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.art-proof__head strong{font-size:.86rem}.art-proof__head>b{border:1px solid var(--demo-red);color:#f3a79d;padding:.25rem .4rem;font:700 .5rem 'Space Mono',monospace;text-transform:uppercase}.art-proof__head>b.is-tested{border-color:var(--demo-green);color:var(--demo-green)}.art-proof__compare{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:.8rem 0}.art-proof figure{margin:0;border:1px solid var(--demo-line);background:#f4f2ed}.art-proof figure img{display:block;width:100%;height:150px;object-fit:contain;background:linear-gradient(45deg,#dedede 25%,transparent 25%),linear-gradient(-45deg,#dedede 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dedede 75%),linear-gradient(-45deg,transparent 75%,#dedede 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.art-proof figcaption{display:block;background:#161c20;padding:.45rem}.art-proof__status{border-left:2px solid var(--demo-green);padding:.55rem .7rem;background:#142019;color:#a9ddbd;font-size:.75rem}.art-proof__status.is-warning{border-color:var(--demo-red);background:#251b1b;color:#f3c0b9}.art-proof p,.art-proof>small{display:block;color:var(--demo-dim);font-size:.72rem;line-height:1.55}.art-proof p{margin:.65rem 0}.art-proof>small{border-top:1px solid var(--demo-line);padding-top:.65rem}@media(max-width:600px){.art-proof__compare{grid-template-columns:1fr}.art-proof__head{display:grid}}
.material-advice{display:grid;gap:.28rem;margin:.85rem 0;padding:.75rem .9rem;border-left:2px solid var(--demo-gold);background:rgba(210,175,104,.08)}.material-advice span{color:var(--demo-gold);font:700 .52rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.material-advice strong{font-size:.8rem}.material-advice p{margin:0;color:var(--demo-dim);font-size:.7rem;line-height:1.5}
.product-stage .product-mark[data-material="glass"]{opacity:.84;filter:drop-shadow(0 0 .55px rgba(68,78,84,.62)) drop-shadow(0 .25px .35px rgba(255,255,255,.92))}
.product-stage>img{transform-origin:center}.product-mark{opacity:.84;filter:none}.product-mark[data-material="glass"]{opacity:.68;filter:drop-shadow(0 0 .35px rgba(75,85,92,.55)) drop-shadow(0 .25px .35px rgba(255,255,255,.9))}.product-mark[data-material="wood"]{opacity:.82;filter:drop-shadow(0 .2px .35px rgba(45,20,7,.42));mix-blend-mode:multiply}.product-mark[data-material="leatherette"]{opacity:.78;filter:drop-shadow(0 0 .4px rgba(70,42,18,.42))}.product-mark[data-material="anodized_metal"],.product-mark[data-material="coated_metal"]{opacity:.82;filter:drop-shadow(0 0 .32px rgba(255,255,255,.5))}.product-mark[data-material="slate"]{opacity:.76;filter:drop-shadow(0 0 .4px rgba(255,246,220,.4))}.preview-zoom{position:absolute;right:.75rem;top:.75rem;z-index:5;display:grid;grid-template-columns:auto 32px 48px 32px 42px;align-items:center;gap:.25rem;padding:.38rem;border:1px solid rgba(32,37,40,.22);background:rgba(250,249,246,.92);box-shadow:0 5px 18px rgba(20,22,24,.12);color:#222}.preview-zoom>span{grid-column:1/-1;color:#555;font:700 .48rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.preview-zoom button{height:30px;border:1px solid #a3a09a;background:#fff;color:#181b1d;cursor:pointer;font:700 .64rem 'Space Mono',monospace}.preview-zoom button:hover,.preview-zoom button:focus{border-color:#9a742f;outline:0}.preview-zoom output{text-align:center;color:#70531d;font:700 .56rem 'Space Mono',monospace}.preview-zoom small{grid-column:1/-1;text-align:right;color:#777;font:400 .46rem 'Space Mono',monospace}@media(max-width:600px){.preview-zoom{right:.4rem;top:.4rem;grid-template-columns:28px 42px 28px 36px}.preview-zoom>span,.preview-zoom small{display:none}}
.template-studio{margin:1.25rem 0;padding:1rem;border:1px solid #394047;background:linear-gradient(145deg,#171c20,#111518)}
.template-studio__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.template-studio__head span,.template-studio__head b,.template-grid small,.template-license{font:700 .68rem/1.4 "Space Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:#d5ac59}.template-studio__head strong{display:block;margin-top:.2rem;font:600 1.15rem/1.25 Cinzel,serif;color:#f4f0e8}.template-studio>p{margin:.65rem 0 1rem;color:#b9c3ca;line-height:1.55}
.template-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}.template-card{position:relative;min-width:0;padding:.55rem;border:1px solid #343b41;background:#f4f2ed;color:#111;text-align:left;cursor:pointer;transition:.18s ease}.template-card:hover,.template-card:focus-visible{transform:translateY(-2px);border-color:#d5ac59}.template-card.is-selected{outline:2px solid #d5ac59;outline-offset:2px}.template-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain}.template-card strong{display:block;margin-top:.45rem;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-grid small{color:#6f5d3c;font-size:.55rem}
.template-editor{display:grid;grid-template-columns:1fr 1fr auto auto;gap:.65rem;align-items:end;margin-top:1rem;padding-top:1rem;border-top:1px solid #343b41}.template-editor label{margin:0}.template-editor .demo-button{width:auto;margin:0;padding:.8rem 1rem}.template-editor .text-button{padding:.8rem}.template-license{display:block;margin-top:.8rem;color:#7f8d96;text-transform:none;letter-spacing:0}
@media(max-width:900px){.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.template-editor{grid-template-columns:1fr 1fr}.template-editor .demo-button,.template-editor .text-button{width:100%}}
@media(max-width:560px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-editor{grid-template-columns:1fr}}

/* Keep product discovery compact so the personalized proof remains the focus. */
.demo-catalog-grid{display:flex;gap:.65rem;overflow-x:auto;scroll-snap-type:x proximity;padding:0 0 .8rem;margin-bottom:1.35rem;scrollbar-color:var(--demo-gold) var(--demo-panel)}
.catalog-card{grid-template-rows:120px auto;flex:0 0 205px;scroll-snap-align:start}
.catalog-card img{height:120px}
.catalog-card strong{min-height:2.6em}
.catalog-card:hover,.catalog-card:focus,.catalog-card.is-selected{transform:translateY(-1px)}
.product-gallery{overflow-x:auto}
.companion-marks{position:absolute;inset:0;z-index:2;pointer-events:none}
.companion-mark{position:absolute;display:grid;place-items:center;transform-origin:center;color:#f0e6da;opacity:.76;mix-blend-mode:screen;filter:drop-shadow(0 0 .6px rgba(255,249,240,.95)) drop-shadow(0 .7px .8px rgba(35,24,17,.75));pointer-events:auto;touch-action:none;cursor:grab}
.companion-mark svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.product-mark{z-index:3}
.product-stage .product-mark[data-material="glass"]{color:#f0e6da;opacity:.76;mix-blend-mode:screen;filter:drop-shadow(0 0 .6px rgba(255,249,240,.95)) drop-shadow(0 .7px .8px rgba(35,24,17,.75))}

#piece-proof-mark.piece-proof-mark{opacity:.88;filter:drop-shadow(0 0 .7px rgba(255,255,255,1)) drop-shadow(0 1px 1px rgba(20,14,10,.88))}

/* A boxed set has independently editable physical engraving surfaces. */
.back-side-option{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;margin:1rem 0!important;padding:.9rem;border:1px solid #5e5136;background:linear-gradient(145deg,rgba(210,175,104,.1),#111619);color:var(--demo-dim)!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}.back-side-option[hidden]{display:none!important}.back-side-option input{width:auto}.back-side-option span{display:grid;gap:.2rem}.back-side-option strong{color:var(--demo-text);font-size:.82rem}.back-side-option small{font-size:.68rem;line-height:1.45}.back-side-option>b{color:var(--demo-gold);font:700 .53rem 'Space Mono',monospace;text-transform:uppercase}
.companion-mark[data-surface="back"],.companion-mark[data-surface="front"],.surface-hotspot[data-piece-label^="Back side"],.surface-hotspot[data-piece-label="Front side"]{display:none}
.surface-personalization{border:1px solid var(--demo-line);background:#0d1114;margin:1rem 0;padding:1rem}.surface-personalization>legend{padding:0 .45rem;color:var(--demo-gold);font:700 .64rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.surface-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.surface-mode-row label{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;margin:0!important;padding:.75rem;border:1px solid #343c42;background:#151a1e;color:var(--demo-dim)!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}.surface-mode-row label:has(input:checked){border-color:var(--demo-gold);background:rgba(210,175,104,.1)}.surface-mode-row input{margin-top:.18rem;width:auto}.surface-mode-row span{display:grid;gap:.2rem}.surface-mode-row strong{color:var(--demo-text);font-size:.78rem}.surface-mode-row small{font-size:.66rem;line-height:1.4}.surface-editor{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--demo-line)}.surface-editor__head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.surface-editor__head>div{display:grid;gap:.2rem}.surface-editor__head span{color:var(--demo-gold);font:700 .52rem 'Space Mono',monospace;text-transform:uppercase}.surface-editor__head strong{font-size:.84rem}.surface-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.7rem}.surface-tab{display:grid;grid-template-columns:32px 1fr;gap:.55rem;align-items:center;border:1px solid #364047;background:#151a1e;color:var(--demo-dim);padding:.6rem;text-align:left;cursor:pointer}.surface-tab:hover,.surface-tab:focus{border-color:#7a6842;outline:0}.surface-tab.is-active{border-color:var(--demo-gold);background:rgba(210,175,104,.13);color:var(--demo-text)}.surface-tab b{display:grid;place-items:center;width:32px;height:32px;border:1px solid #515b62;border-radius:50%;color:var(--demo-gold);font:700 .58rem 'Space Mono',monospace}.surface-tab span{display:grid;gap:.12rem;font-size:.72rem}.surface-tab small{overflow:hidden;color:#7f8990;font:400 .52rem 'Space Mono',monospace;text-overflow:ellipsis;white-space:nowrap}.surface-editor>p{margin:.65rem 0 0;color:var(--demo-dim);font-size:.68rem;line-height:1.5}.product-mark.is-surface-active{outline-color:rgba(210,175,104,.9)}.companion-mark.is-surface-muted{opacity:.58}.product-unit-badge.is-surface{display:block;background:#111a20;color:var(--demo-gold);border-color:var(--demo-gold)}
@media(max-width:700px){.surface-mode-row{grid-template-columns:1fr}.surface-tabs{grid-template-columns:1fr}.surface-editor__head{align-items:flex-start;flex-direction:column}}

.product-visual,.product-copy{min-width:0}
@media(max-width:600px){.piece-proof>header{align-items:flex-start;flex-direction:column}.piece-proof>header b{align-self:flex-start}.preview-zoom{right:.25rem;padding:.25rem;gap:.15rem;grid-template-columns:26px 38px 26px 32px}.preview-zoom button{min-width:0;padding:0}.piece-proof-stage{height:360px}}

/* The set overview communicates coordination. This calibrated close-up makes
   the selected physical piece inspectable without presenting a lifestyle
   image as exact production geometry. */
.surface-hotspots{position:absolute;inset:0;z-index:4;pointer-events:none}.surface-hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(15,18,20,.82);color:#fff;padding:.32rem .55rem;box-shadow:0 3px 12px rgba(0,0,0,.35);font:700 .48rem 'Space Mono',monospace;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(4px)}.surface-hotspot:hover,.surface-hotspot:focus,.surface-hotspot.is-active{border-color:var(--demo-gold);background:#171b1e;color:var(--demo-gold);outline:0}.piece-proof{margin-top:.75rem;border:1px solid #3a4348;background:#0d1114}.piece-proof>header,.piece-proof>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem}.piece-proof>header{border-bottom:1px solid #3a4348}.piece-proof>header>div{display:grid;gap:.2rem}.piece-proof>header span{color:var(--demo-gold);font:700 .52rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.piece-proof>header strong{font:600 .9rem Archivo,Arial,sans-serif}.piece-proof>header b{border:1px solid #77643b;color:var(--demo-gold);padding:.25rem .42rem;font:700 .48rem 'Space Mono',monospace;text-transform:uppercase}.piece-proof-stage{position:relative;height:390px;overflow:hidden;background:#2b2824;isolation:isolate;cursor:crosshair;touch-action:none}.piece-proof-stage>img{position:absolute;display:block;max-width:none;object-fit:fill;filter:saturate(.86) contrast(1.04);pointer-events:none}.piece-proof-window{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;border:1px dashed rgba(210,175,104,.7);box-shadow:0 0 0 999px rgba(7,9,10,.08);pointer-events:none}.piece-proof-window span{position:absolute;left:0;top:-1.45rem;background:rgba(13,17,20,.85);color:var(--demo-gold);padding:.25rem .38rem;font:700 .45rem 'Space Mono',monospace;text-transform:uppercase;white-space:nowrap}.piece-proof-mark{position:absolute;z-index:3;display:grid;place-items:center;opacity:.70;mix-blend-mode:screen;filter:drop-shadow(0 0 .45px rgba(255,255,255,.95)) drop-shadow(0 .7px .8px rgba(31,23,18,.72));transform-origin:center}.product-mark,.piece-proof-mark{pointer-events:auto;touch-action:none;cursor:grab;user-select:none}.product-stage.is-placement-dragging,.piece-proof-stage.is-placement-dragging,.product-stage.is-placement-dragging .product-mark,.product-stage.is-placement-dragging .companion-mark{cursor:grabbing}.product-mark:focus-visible,.piece-proof-mark:focus-visible{outline:2px solid var(--demo-gold);outline-offset:4px}.piece-proof-mark svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.piece-proof>footer{border-top:1px solid #3a4348;color:#8f999e;font-size:.65rem}.piece-proof>footer span{font-family:'Space Mono',monospace}.piece-proof>footer strong{color:#c9ced0;font-weight:400;text-align:right}@media(max-width:700px){.piece-proof-stage{height:320px}.piece-proof>footer{align-items:flex-start;flex-direction:column}.surface-hotspot{font-size:.42rem;padding:.26rem .4rem}}
.ai-preview{margin-top:.75rem;border:1px solid #3a4348;background:#0d1114}.ai-preview>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border-bottom:1px solid #3a4348}.ai-preview>header>div{display:grid;gap:.2rem}.ai-preview>header span,.ai-preview figcaption{color:var(--demo-gold);font:700 .52rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.ai-preview>header strong{font-size:.9rem}.ai-preview>header b{color:#9ba5aa;font:700 .48rem 'Space Mono',monospace;text-transform:uppercase}.ai-preview__comparison{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#3a4348}.ai-preview figure{margin:0;background:#f4f2ed}.ai-preview figure img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#f4f2ed}.ai-preview figcaption{display:block;padding:.55rem .65rem;background:#151a1e}.ai-preview__action{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem}.ai-preview__action>div{display:grid;gap:.25rem}.ai-preview__action strong{font-size:.8rem}.ai-preview__action p{max-width:52ch;margin:0;color:var(--demo-dim);font-size:.68rem;line-height:1.5}.ai-preview__action button{flex:none}.ai-preview[data-busy="true"] .ai-preview__comparison{opacity:.55}@media(max-width:700px){.ai-preview__comparison{grid-template-columns:1fr}.ai-preview__action,.ai-preview>header{align-items:flex-start;flex-direction:column}.ai-preview__action button{width:100%}}
.ai-preview__head-actions{display:flex!important;grid-auto-flow:column;align-items:center;gap:.65rem!important}.ai-preview__head-actions button{border:1px solid #655735;background:transparent;color:var(--demo-gold);padding:.38rem .55rem;font:700 .5rem 'Space Mono',monospace;text-transform:uppercase;cursor:pointer}.ai-preview.is-fullscreen{position:fixed;inset:0;z-index:1000;margin:0;overflow:auto;background:#0b0f12}.ai-preview.is-fullscreen .ai-preview__comparison{min-height:calc(100vh - 330px)}.ai-preview.is-fullscreen figure img{max-height:calc(100vh - 390px);aspect-ratio:auto;object-fit:contain}.ai-design-assistant{display:grid;gap:.75rem;padding:1rem;border-bottom:1px solid #343c42;background:linear-gradient(145deg,rgba(210,175,104,.09),#101518)}.ai-design-assistant label{display:grid;gap:.4rem;margin:0!important}.ai-design-assistant label>span{color:var(--demo-gold);font:700 .58rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.ai-design-assistant textarea{min-height:92px;resize:vertical}.ai-command-chips{display:flex;flex-wrap:wrap;gap:.4rem}.ai-command-chips button{border:1px solid #4a5359;background:#161c20;color:#cbd0d2;padding:.38rem .55rem;font:600 .55rem 'Space Mono',monospace;cursor:pointer}.ai-command-chips button:hover{border-color:var(--demo-gold);color:var(--demo-gold)}.ai-design-assistant__actions{display:flex;flex-wrap:wrap;gap:.55rem}.ai-design-assistant__actions .demo-button{width:auto;margin:0}.ai-design-assistant>p{margin:0;color:var(--demo-dim);font-size:.68rem;line-height:1.5}@media(max-width:700px){.ai-preview__head-actions{grid-auto-flow:row!important;justify-items:start}.ai-design-assistant__actions{display:grid}.ai-design-assistant__actions .demo-button{width:100%}.ai-preview.is-fullscreen .ai-preview__comparison{min-height:0}}

/* Final AI studio layout overrides. */
.ai-preview__comparison{grid-template-columns:1fr}
.ai-design-assistant__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ai-design-assistant__actions .demo-button{width:100%}
@media(max-width:700px){.ai-design-assistant__actions{grid-template-columns:1fr}}

/* Interactive AI artwork intake and explicit variant selection. */
.ai-reference-upload{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;padding:.8rem;border:1px solid #3b454b;background:#101518}.ai-reference-upload>div:first-child{display:grid;gap:.2rem}.ai-reference-upload span,.ai-variant-picker__head span{color:var(--demo-gold);font:700 .52rem 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.ai-reference-upload strong{font-size:.76rem}.ai-reference-upload small,.ai-variant-picker>small{color:#8f999e;font-size:.62rem;line-height:1.45}.ai-reference-upload__button{display:block!important;margin:0!important;border:1px solid var(--demo-gold);padding:.65rem .8rem;color:var(--demo-gold)!important;background:rgba(210,175,104,.08);font:700 .55rem 'Space Mono',monospace!important;text-transform:uppercase!important;cursor:pointer}.ai-reference-upload__button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ai-reference-upload__preview{grid-column:1/-1;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:.7rem;padding:.55rem;border-top:1px solid #30383d}.ai-reference-upload__preview[hidden]{display:none}.ai-reference-upload__preview img{width:52px;height:52px;object-fit:contain;background:#fff}.ai-reference-upload__preview span{overflow:hidden;color:#d7dcde;text-transform:none;text-overflow:ellipsis;white-space:nowrap}.ai-reference-upload__preview button{border:0;background:transparent;color:#e28b80;font:700 .5rem 'Space Mono',monospace;text-transform:uppercase;cursor:pointer}.ai-variant-picker{display:grid;gap:.75rem;padding-top:.8rem;border-top:1px solid #3b454b}.ai-variant-picker__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ai-variant-picker__head>div{display:grid;gap:.2rem}.ai-variant-picker__head strong{font-size:.85rem}.ai-variant-picker__head .demo-button{width:auto;margin:0;padding:.65rem .85rem}.ai-variant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.ai-variant-card{position:relative;display:grid;gap:.45rem;border:1px solid #465158;background:#f4f2ed;padding:.45rem;color:#20262a;cursor:pointer}.ai-variant-card:hover,.ai-variant-card:focus-visible{border-color:var(--demo-gold);outline:0}.ai-variant-card.is-selected{border-color:var(--demo-gold);box-shadow:0 0 0 2px rgba(210,175,104,.3)}.ai-variant-card img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#fff}.ai-variant-card span{display:flex;align-items:center;justify-content:space-between;color:#2b3033;font:700 .52rem 'Space Mono',monospace;text-transform:uppercase}.ai-variant-card span:after{content:'Select';color:#80672f}.ai-variant-card.is-selected span:after{content:'Selected';color:#5c4619}@media(max-width:700px){.ai-reference-upload{grid-template-columns:1fr}.ai-reference-upload__button{width:max-content}.ai-variant-grid{grid-template-columns:1fr}.ai-variant-picker__head{align-items:flex-start;flex-direction:column}.ai-variant-picker__head .demo-button{width:100%}}
