.page-creation{background:var(--ivory)}.page-creation .page-head{border-bottom:1px solid var(--line);padding:10rem 3rem 4rem}.page-creation .page-head .mono{color:var(--ink-soft);margin-bottom:2rem;display:block}.page-creation .page-head h1{font-family:var(--f-display);letter-spacing:-.035em;max-width:14ch;font-size:clamp(3rem,8vw,8rem);font-weight:300;line-height:.92}.page-creation .page-head h1 em{color:var(--brass);font-style:italic}.page-creation .page-head .sub{color:var(--ink-soft);max-width:52ch;margin-top:2rem;font-size:1.05rem;line-height:1.6}.configurator{border-bottom:1px solid var(--line);grid-template-columns:5fr 4fr;min-height:100vh;display:grid}.stage{background:linear-gradient(#f8f3e9 0%,#eae0cc 100%);justify-content:center;align-items:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.stage-grid{background-image:linear-gradient(#0e0d0b09 1px,#0000 1px),linear-gradient(90deg,#0e0d0b09 1px,#0000 1px);background-position:50%;background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.stage-shadow{filter:blur(22px);pointer-events:none;z-index:1;background:radial-gradient(#0e0d0b59,#0000 70%);width:380px;height:40px;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.stage-label{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--ink-soft);z-index:3;font-size:.65rem;position:absolute}.stage-label.tl{top:2rem;left:2rem}.stage-label.tr{gap:1rem;display:flex;top:2rem;right:2rem}.stage-label.bl{bottom:2rem;left:2rem}.stage-label.br{align-items:center;gap:.5rem;display:flex;bottom:2rem;right:2rem}.stage-label .accent{color:var(--brass)}.composition{z-index:2;width:420px;height:640px;position:relative}.composition .layer{transition:opacity .5s var(--ease-out),transform .6s var(--ease-out);filter:drop-shadow(0 24px 32px #0000002e);background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;inset:0}.composition .layer.bottle{z-index:1}.composition .layer.cap{z-index:2;filter:drop-shadow(0 4px 8px #0000001f)}.composition .layer.swap-out{opacity:0}.dim{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--ink-soft);z-index:3;font-size:.6rem;position:absolute}.dim-height{transform-origin:0;top:50%;right:-56px;transform:translateY(-50%)rotate(90deg)}.dim-height:before{content:"";background:var(--ink-soft);opacity:.35;width:40px;height:1px;margin-right:8px;position:absolute;top:50%;right:100%}.panel{background:var(--ivory);border-left:1px solid var(--line);flex-direction:column;padding:3rem;display:flex}.panel-step{border-bottom:1px solid var(--line);padding:2rem 0}.panel-step:first-child{padding-top:0}.panel-step-head{justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;display:flex}.panel-step-title{font-family:var(--f-display);letter-spacing:-.02em;font-size:1.75rem;font-weight:300}.panel-step-title em{color:var(--brass);font-style:italic}.panel-step-num{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--ink-soft);font-size:.7rem}.bottle-row{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.bottle-opt{aspect-ratio:3/4;border:1px solid var(--line);transition:all .3s var(--ease-out);cursor:pointer;background:#f8f3e9;flex-direction:column;justify-content:flex-end;align-items:center;gap:.5rem;padding:.5rem;display:flex;position:relative}.bottle-opt:hover{border-color:var(--ink)}.bottle-opt.active{background:var(--ink);border-color:var(--ink);color:var(--ivory)}.bottle-opt .thumb{background-position:50%;background-repeat:no-repeat;background-size:contain;flex:1;width:100%}.bottle-opt .label{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.55rem}.cap-row{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.cap-opt-img{aspect-ratio:1;border:1px solid var(--line);transition:all .3s var(--ease-out);cursor:pointer;background:#f8f3e9;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.5rem;display:flex;position:relative}.cap-opt-img:hover{border-color:var(--ink)}.cap-opt-img.active{background:var(--ink);border-color:var(--ink);color:var(--ivory)}.cap-opt-img .thumb{background-position:50%;background-repeat:no-repeat;background-size:contain;flex:1;width:100%}.cap-opt-img .label{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.55rem}.size-row{gap:.5rem;display:flex}.size-chip{border:1px solid var(--line);text-align:center;font-family:var(--f-mono);letter-spacing:.15em;transition:all .3s var(--ease-out);background:#f8f3e9;flex:1;padding:1rem 0;font-size:.7rem}.size-chip:hover{border-color:var(--ink)}.size-chip.active{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.toggle-row{flex-direction:column;gap:.5rem;display:flex}.toggle{border:1px solid var(--line);transition:all .3s var(--ease-out);text-align:left;background:#f8f3e9;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.toggle:hover{border-color:var(--ink)}.toggle.active{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.toggle .name{font-family:var(--f-sans);font-size:.95rem}.toggle .desc{font-family:var(--f-mono);letter-spacing:.15em;text-transform:uppercase;opacity:.7;margin-top:.25rem;font-size:.6rem}.toggle .check{border:1px solid;border-radius:50%;flex-shrink:0;width:18px;height:18px;position:relative}.toggle.active .check:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:3px}.summary{background:var(--ink);color:var(--ivory);margin:auto -3rem -3rem;padding:2rem}.summary-row{justify-content:space-between;padding:.5rem 0;font-size:.85rem;display:flex}.summary-row .k{font-family:var(--f-mono);letter-spacing:.15em;text-transform:uppercase;color:#f4efe68c;font-size:.65rem}.summary-row .v{font-family:var(--f-sans)}.summary hr{border:none;border-top:1px solid #f4efe626;margin:1rem 0}.summary .btn-light{justify-content:space-between;width:100%}.btn-download{width:100%;color:var(--ivory);font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .4s var(--ease-out);background:0 0;border:1px solid #f4efe633;justify-content:space-between;align-items:center;margin-top:.5rem;padding:1rem 1.5rem;font-size:.7rem;display:flex}.btn-download:hover{border-color:var(--brass);color:var(--brass)}.btn-download .dl-icon{transition:transform .4s var(--ease-out);font-size:1rem}.btn-download:hover .dl-icon{transform:translateY(3px)}.btn-download:disabled{opacity:.5;pointer-events:none}.btn-download.is-done{border-color:var(--brass);color:var(--brass)}.summary .ref{font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:#f4efe666;justify-content:space-between;margin-bottom:1.5rem;font-size:.6rem;display:flex}.process{background:var(--ink);color:var(--ivory);padding:10rem 3rem}.process-head{grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:6rem;display:grid}.process-head h2{font-family:var(--f-display);letter-spacing:-.03em;font-size:clamp(2.5rem,5.5vw,5.5rem);font-weight:300;line-height:.95}.process-head h2 em{color:var(--brass);font-style:italic}.process-head p{color:#f4efe6b3;align-self:end;max-width:44ch;font-size:1rem;line-height:1.6}.steps{border-top:1px solid var(--line-dark)}.step{border-bottom:1px solid var(--line-dark);transition:padding .4s var(--ease-out);grid-template-columns:80px 1fr 2fr 200px;align-items:start;gap:3rem;padding:3rem 0;display:grid}.step:hover{padding-left:1rem}.step .num{font-family:var(--f-display);color:var(--brass);font-size:3rem;font-style:italic;font-weight:300;line-height:1}.step h3{font-family:var(--f-display);letter-spacing:-.02em;font-size:2rem;font-weight:300}.step p{color:#f4efe6a6;max-width:52ch;font-size:.95rem;line-height:1.6}.step .duration{font-family:var(--f-mono);letter-spacing:.15em;text-transform:uppercase;color:#f4efe680;text-align:right;font-size:.7rem}@media (max-width:1100px){.configurator{grid-template-columns:1fr}.stage{height:75vh;position:relative}.composition{width:280px;height:440px}.panel{padding:2rem 1.5rem}.summary{margin-bottom:-2rem;margin-left:-1.5rem;margin-right:-1.5rem}.page-creation .page-head{padding:8rem 1.5rem 3rem}.process{padding:5rem 1.5rem}.process-head{grid-template-columns:1fr}.step{grid-template-columns:60px 1fr;gap:1rem}.step p,.step .duration{grid-column:1/-1}}
