:root{--plum:#351234;--plum2:#5f234c;--gold:#c7a35a;--blush:#f2dce1;--ivory:#fff8ed;--ink:#261d25;--muted:#766675;--line:rgba(53,18,52,.16);--shadow:0 24px 70px rgba(53,18,52,.18);--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.6}button,input{font:inherit}img{max-width:100%;display:block}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:999;background:#fff;padding:.8rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,248,237,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}.brand{color:var(--plum);text-decoration:none;font-weight:800;letter-spacing:.04em}.brand span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;margin-right:.55rem;background:var(--plum);color:var(--gold);font-family:var(--serif);font-size:1.4rem}.nav-links{display:flex;gap:1rem;align-items:center}.nav-links a,.footer button{color:var(--ink);text-decoration:none;background:0;border:0;cursor:pointer}.nav-toggle{display:none}.section-pad{padding:6rem 1.25rem;max-width:1180px;margin:auto}.hero{display:grid;grid-template-columns:1fr .82fr;gap:4rem;align-items:center;min-height:calc(100vh - 74px)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:800;font-size:.78rem}.hero h1,.section-heading h2,.mirror-cta h2,.about h2{font-family:var(--serif);font-size:clamp(3rem,7vw,6.8rem);line-height:.9;margin:.2rem 0 1rem;color:var(--plum)}.section-heading h2,.mirror-cta h2,.about h2{font-size:clamp(2.4rem,5vw,4.5rem)}.lead{font-size:1.14rem;color:var(--muted);max-width:640px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--plum);background:var(--plum);color:#fff;padding:.9rem 1.25rem;border-radius:999px;text-decoration:none;cursor:pointer;box-shadow:0 12px 30px rgba(53,18,52,.18)}.btn:hover{transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--plum);box-shadow:none}.btn-small{padding:.58rem .9rem;font-size:.9rem}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:2rem 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.stats div,.cards article,.step-grid article,.contact-card,.credential-list article{background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:24px;padding:1.2rem}.stats b{display:block;font-family:var(--serif);font-size:2rem;color:var(--plum)}.hero-art{position:relative}.hero-art img{border-radius:36px;box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover}.floating-card{position:absolute;left:-2rem;bottom:2rem;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem 1.2rem;box-shadow:var(--shadow)}.floating-card span{display:block;color:var(--muted);font-size:.9rem}.section-heading{max-width:760px;margin-bottom:2rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.cards article{transition:.2s}.cards article:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.cards h3{font-family:var(--serif);font-size:2rem;color:var(--plum);margin:.2rem 0}.fee{color:var(--gold);font-weight:800}.mirror-cta{max-width:1180px;margin:2rem auto;border-radius:34px;padding:3rem;background:linear-gradient(135deg,var(--plum),#7d345f);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:var(--shadow)}.mirror-cta h2,.mirror-cta .eyebrow{color:#fff8ed}.mirror-cta .btn{background:var(--gold);border-color:var(--gold);color:var(--plum)}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.step-grid b{color:var(--gold)}.step-grid h3{color:var(--plum)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden}.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover}.gallery figcaption{padding:1rem;color:var(--muted)}.credential-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.credential-list h3{font-family:var(--serif);font-size:1.8rem;color:var(--plum);margin:.1rem 0}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.contact-card{text-decoration:none;color:var(--plum);font-weight:800}.contact-card span{display:block;color:var(--muted);font-size:.9rem;font-weight:500}.footer{padding:2rem 1.25rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer div{display:flex;gap:.8rem;flex-wrap:wrap}.modal{border:0;padding:0;background:transparent;max-width:min(960px,94vw)}.modal::backdrop{background:rgba(24,10,23,.62);backdrop-filter:blur(6px)}.modal-shell{background:var(--ivory);border:1px solid var(--line);border-radius:28px;padding:1.5rem;box-shadow:var(--shadow);position:relative;max-height:90vh;overflow:auto}.big-modal{width:min(1040px,96vw)}.close{position:absolute;right:1rem;top:1rem;border:0;background:#fff;border-radius:50%;width:38px;height:38px;cursor:pointer}.stepbar{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;list-style:none;padding:0;margin:1rem 0}.stepbar li{padding:.7rem;border-radius:999px;background:#fff;border:1px solid var(--line);text-align:center;color:var(--muted);font-size:.9rem}.stepbar li.active{background:var(--plum);color:#fff}.mirror-step{display:none}.mirror-step.active{display:block}.thumbs{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.thumbs img{width:86px;height:86px;object-fit:cover;border-radius:16px;border:3px solid transparent;cursor:pointer}.thumbs img.active{border-color:var(--gold)}.check{display:block;background:#fff;border:1px solid var(--line);padding:1rem;border-radius:18px}.check button{background:none;border:0;color:var(--plum);text-decoration:underline;cursor:pointer}.look-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.look-picker button{padding:1rem;border:1px solid var(--line);background:#fff;border-radius:18px;text-align:left;cursor:pointer}.look-picker button.active{outline:3px solid rgba(199,163,90,.35);border-color:var(--gold)}#previewCanvas{width:100%;max-height:55vh;background:#fff;border-radius:22px;object-fit:contain}.result-wrap{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1rem}.result-wrap img{max-height:52vh;border-radius:18px}.hidden{display:none!important}.unlock{display:flex;gap:.6rem;margin:1rem 0}.unlock input,.modal input{padding:.85rem 1rem;border-radius:14px;border:1px solid var(--line);background:#fff;max-width:100%;width:100%}.modal-actions{display:flex;justify-content:space-between;margin-top:1rem}.policy-body{color:var(--muted)}.policy-body h3{color:var(--plum)}.tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.6rem 1rem}.tabs button.active{background:var(--plum);color:#fff}.tab{display:none}.tab.active{display:grid;gap:.8rem}.muted{color:var(--muted);font-size:.92rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.btn{transition:none}.reveal{opacity:1;transform:none}}@media (max-width:860px){.nav-toggle{display:block;background:transparent;border:0;font-size:1.6rem}.nav-links{display:none;position:absolute;left:1rem;right:1rem;top:66px;flex-direction:column;background:var(--ivory);border:1px solid var(--line);border-radius:22px;padding:1rem}.nav-links.open{display:flex}.hero,.about{grid-template-columns:1fr}.cards,.gallery,.credential-list,.contact-grid,.step-grid{grid-template-columns:1fr}.mirror-cta{flex-direction:column;align-items:flex-start;margin:1rem}.stats{grid-template-columns:1fr}.floating-card{left:1rem}.look-picker{grid-template-columns:1fr}.section-pad{padding:4rem 1rem}.footer{display:block}.stepbar{grid-template-columns:1fr 1fr}}
