:root{--ink: #191219;--ink-2: #271b2b;--cream: #fbf7f2;--sand: #f4ebe1;--sand-2: #eaddd0;--rose: #c8577c;--rose-deep: #b23f66;--rose-text: #982f53;--brass: #a8814f;--text: #2a1f2e;--text-soft: #6a5a6b;--on-dark: #f7efe9;--on-dark-soft: #c8b7bd;--line: rgb(42 31 46 / .12);--line-strong: rgb(42 31 46 / .2);--line-dark: rgb(247 239 233 / .16);--font-display: "Playfair Display", "Cormorant Garamond", "Times New Roman", serif;--font-body: "Inter", "Avenir Next", system-ui, "Segoe UI", sans-serif;--step--1: clamp(.78rem, .76rem + .1vw, .84rem);--step-0: clamp(.95rem, .92rem + .15vw, 1.02rem);--step-1: clamp(1.08rem, 1.02rem + .3vw, 1.25rem);--step-2: clamp(1.4rem, 1.25rem + .7vw, 1.95rem);--step-3: clamp(1.85rem, 1.5rem + 1.6vw, 2.9rem);--step-4: clamp(2.3rem, 1.7rem + 3vw, 4.2rem);--shell: 1180px;--gutter: clamp(1.15rem, 4vw, 2.4rem);--section-y: clamp(3.4rem, 7vw, 6.5rem);--r-sm: 8px;--r-md: 16px;--r-lg: 26px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgb(42 31 46 / .05), 0 4px 12px rgb(42 31 46 / .05);--shadow-md: 0 10px 30px -12px rgb(42 31 46 / .22), 0 2px 8px rgb(42 31 46 / .05);--shadow-lg: 0 30px 70px -30px rgb(42 31 46 / .42), 0 8px 24px -12px rgb(42 31 46 / .16);--ease: cubic-bezier(.22, .68, .34, 1);--tone-green: #3f7d5c;--tone-light-blue: #3d6ea8;--tone-sky-blue: #2b7f92;--tone-dark-blue: #2f4f86;--tone-teal: #2a7d77;--tone-pink: #b2496f;--tone-sand: #96703f}*{box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}html,body{margin:0;min-height:100%}body{font-family:var(--font-body);font-size:var(--step-0);line-height:1.7;color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased}.step-page{min-height:100vh;min-height:100svh;padding:1.1rem 1.1rem 2.5rem;background:radial-gradient(90rem 40rem at 50% -14rem,var(--sand) 0%,transparent 62%),var(--cream)}.content-wrap{max-width:58rem;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;margin-bottom:.9rem;padding:.4rem .95rem .4rem .75rem;border:1px solid var(--line);border-radius:var(--r-pill);background:#ffffffb3;color:var(--text-soft);font-size:.85rem;font-weight:600;text-decoration:none;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.back-link:before{content:"\2190";font-size:1rem;line-height:1}.step-header{padding:1.3rem 1.25rem;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}.step-heading-row h1{display:flex;align-items:baseline;gap:.55rem;margin:0;color:var(--ink);font-family:var(--font-display);font-size:var(--step-2);font-weight:700;line-height:1.14;letter-spacing:-.01em}.step-order{flex-shrink:0;color:var(--brass);font-family:var(--font-body);font-size:.82rem;font-weight:600;letter-spacing:.14em}.step-header p{margin:0;color:var(--text-soft)}.step-summary{margin-top:.5rem;line-height:1.6}.plans-intro{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}.plans-intro h2{margin:0;color:var(--ink);font-family:var(--font-display);font-size:var(--step-1);font-weight:700}.plans-intro p{margin:.35rem 0 0;color:var(--text-soft);font-size:.92rem}.details-card,.makeup-section,.package-group{margin-top:.85rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-sm)}.package-group-summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:3.6rem;padding:.95rem 1.05rem;cursor:pointer;list-style:none;background:#fff;-webkit-tap-highlight-color:transparent}.package-group-summary::-webkit-details-marker{display:none}.group-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.group-title{color:var(--ink);font-family:var(--font-display);font-size:1.06rem;font-weight:700;line-height:1.25}.group-description{color:var(--text-soft);font-size:.85rem;line-height:1.45}.group-link{align-self:flex-start;margin-top:.35rem;color:var(--rose-text);font-size:.84rem;font-weight:600;text-decoration:none;border-bottom:1px solid rgb(152 47 83 / .35)}.group-count{flex-shrink:0;margin-left:auto;padding:.25rem .6rem;border-radius:var(--r-pill);background:var(--sand);color:var(--text-soft);font-size:.74rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}.group-toggle-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--sand)}.group-toggle-icon:before{content:"";width:.42rem;height:.42rem;margin-top:-.14rem;border-right:1.8px solid var(--ink-2);border-bottom:1.8px solid var(--ink-2);transform:rotate(45deg);transition:transform .25s var(--ease),margin-top .25s var(--ease)}.package-group[open] .group-toggle-icon:before,.makeup-section[open] .group-toggle-icon:before,.details-card[open] .group-toggle-icon:before{margin-top:.12rem;transform:rotate(225deg)}.details-card-body,.makeup-section-body{padding:.25rem 1.05rem 1.2rem;border-top:1px solid var(--line)}.details-card-body ul,.makeup-section-body ul{margin:.9rem 0 0;padding:0;list-style:none;color:var(--text-soft)}.details-card-body li,.makeup-section-body li{position:relative;padding-left:1.25rem;line-height:1.6}.details-card-body li+li,.makeup-section-body li+li{margin-top:.55rem}.details-card-body li:before,.makeup-section-body li:before{content:"";position:absolute;left:0;top:.66em;width:.4rem;height:.4rem;border-radius:50%;background:var(--brass)}.details-card-body a,.makeup-section-body a{color:var(--rose-text);font-weight:600;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.youtube-placeholder{margin:.9rem 0 .2rem;padding:.85rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sand)}.youtube-placeholder-title{margin:0 0 .6rem;color:var(--ink);font-weight:600;font-size:.92rem}.youtube-embed-wrap{position:relative;width:100%;padding-top:56.25%;overflow:hidden;border-radius:var(--r-sm);background:var(--ink)}.youtube-embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.makeup-section-note,.policy-note{margin-top:.9rem;padding:.75rem .9rem;border-radius:var(--r-sm);font-size:.87rem;line-height:1.55;font-weight:500}.makeup-section-note{border-left:3px solid var(--brass);background:var(--sand);color:var(--ink-2)}.policy-note{border-left:3px solid var(--rose-deep);background:#c8577c14;color:var(--ink-2)}.step-header p.policy-note--in-header{margin-top:.9rem}.makeup-guide,.plans-catalog,.samples-catalog,.plans-magazine-album{margin-top:1.1rem}.package-grid{display:grid;grid-template-columns:1fr;gap:.85rem;padding:.95rem;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--cream),#fff)}.package-card{--tone: var(--brass);position:relative;display:flex;flex-direction:column;overflow:hidden;padding:1.15rem 1.15rem 1.15rem 1.35rem;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--text);box-shadow:var(--shadow-sm)}.package-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tone)}.package-card h3{margin:0;color:var(--ink);font-family:var(--font-display);font-size:var(--step-1);font-weight:700;line-height:1.2}.package-card ul{margin:.9rem 0 0;padding:0;list-style:none;color:var(--text-soft);font-size:.9rem}.package-card ul:empty{display:none}.package-card li{position:relative;padding-left:1.2rem;line-height:1.55}.package-card li+li{margin-top:.42rem}.package-card li:before{content:"";position:absolute;left:0;top:.6em;width:.38rem;height:.38rem;border-radius:50%;background:var(--tone);opacity:.75}.package-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.package-badge{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;padding:.3rem .7rem;border-radius:var(--r-pill);background:color-mix(in srgb,var(--tone) 12%,transparent);color:var(--tone);font-size:.72rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}.price-block{margin-top:auto;padding-top:1.1rem}.price-block p{display:flex;align-items:baseline;justify-content:space-between;gap:.85rem;margin:0}.price-block p+p{margin-top:.3rem}.price-block span{color:var(--text-soft);font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.price-block strong{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.single-price-row strong,.offline-price-row strong{color:var(--rose-text);font-size:1.5rem}.online-price-row strong{color:var(--text-soft);font-size:1rem;font-weight:500}.package-note{margin:.85rem 0 0;padding-top:.7rem;border-top:1px solid var(--line);color:var(--text-soft);font-size:.8rem;line-height:1.5}.package-card-actions{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}.package-card--green{--tone: var(--tone-green)}.package-card--light-blue{--tone: var(--tone-light-blue)}.package-card--sky-blue{--tone: var(--tone-sky-blue)}.package-card--dark-blue{--tone: var(--tone-dark-blue)}.package-card--teal{--tone: var(--tone-teal)}.package-card--pink{--tone: var(--tone-pink)}.package-card--sand{--tone: var(--tone-sand)}.package-grid--reference{margin-top:.95rem;padding:0;border-top:0;background:none}.package-card--reference{--tone: var(--rose);padding:1.4rem 1.35rem 1.4rem 1.55rem;border-color:transparent;background:linear-gradient(145deg,var(--ink-2) 0%,var(--ink) 100%);color:var(--on-dark);box-shadow:var(--shadow-md)}.package-card--reference h3{color:#fff;font-size:var(--step-2)}.package-card--reference .package-card-header{align-items:center}.package-card--reference .package-badge{border:1px solid var(--line-dark);background:#f7efe91a;color:var(--on-dark-soft)}.package-reference-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}.package-reference-links a{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:.5rem 1.15rem;border:1px solid var(--line-dark);border-radius:var(--r-pill);color:var(--on-dark);font-size:.88rem;font-weight:600;text-decoration:none;transition:background-color .2s ease,border-color .2s ease}.package-reference-links a:after{content:"\2197";opacity:.7}.location-intro{margin:1.6rem 0 .4rem}.location-intro h2{margin:0 0 .25rem;color:var(--ink);font-family:var(--font-display);font-size:var(--step-1);font-weight:700}.location-intro p{margin:0;color:var(--text-soft);font-size:.9rem}.sample-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.8rem;padding:.95rem;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--cream),#fff)}.sample-item-card{display:grid;gap:.65rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.sample-link-preview{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--r-sm);background:var(--ink)}.sample-link-preview img{width:100%;height:100%;display:block;object-fit:cover}.sample-link-preview--placeholder{display:flex;align-items:center;justify-content:center;background:var(--sand-2);color:var(--ink-2);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.sample-link-preview--instagram{background:linear-gradient(135deg,#feda75,#fa7e1e 28%,#d62976 58%,#962fbf 78%,#4f5bd5);color:#fff}.sample-link-copy strong{color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.4;word-break:break-word}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,9rem),1fr));gap:.5rem;padding:.95rem;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--cream),#fff)}.photo-tile{padding:0;overflow:hidden;aspect-ratio:1 / 1;border:0;border-radius:var(--r-sm);background:var(--sand-2);cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.photo-tile img{width:100%;height:100%;display:block;object-fit:cover}.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#191219f0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-figure{display:flex;flex-direction:column;align-items:center;gap:.6rem;max-width:100%;max-height:100%;margin:0}.lightbox-figure img{max-width:100%;max-height:calc(100svh - 7rem);border-radius:var(--r-sm);object-fit:contain}.lightbox-figure figcaption{color:var(--on-dark-soft);font-size:.82rem;letter-spacing:.04em}.lightbox-close,.lightbox-nav{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--line-dark);border-radius:var(--r-pill);background:#f7efe91f;color:var(--on-dark);line-height:1;cursor:pointer}.lightbox-close{position:absolute;top:.9rem;right:.9rem;width:2.75rem;height:2.75rem;font-size:1.5rem}.lightbox-nav{width:2.75rem;height:2.75rem;font-size:1.8rem}.timeline-metadata{margin-top:1.1rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}.timeline-metadata-header{margin-bottom:1rem}.timeline-metadata-header h2{margin:0;color:var(--ink);font-family:var(--font-display);font-size:var(--step-1);font-weight:700}.timeline-metadata-header p{margin:.3rem 0 0;color:var(--text-soft);font-size:.92rem}.timeline-table-wrap{display:grid;grid-template-columns:1fr;gap:.8rem}.timeline-table{padding:.95rem 1rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--cream)}.timeline-subheading{margin:0 0 .7rem;color:var(--brass);font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.timeline-row{display:flex;justify-content:space-between;align-items:baseline;gap:.7rem;color:var(--text-soft);font-size:.9rem}.timeline-row+.timeline-row{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--line)}.timeline-row strong{flex-shrink:0;color:var(--ink);font-weight:600}.timeline-notes{margin-top:1.1rem;padding-top:.95rem;border-top:1px solid var(--line)}.timeline-notes h3{margin:0;color:var(--brass);font-family:var(--font-body);font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.timeline-notes ul{margin:.6rem 0 0;padding:0;list-style:none;color:var(--text-soft);font-size:.9rem}.timeline-notes li{position:relative;padding-left:1.2rem;line-height:1.55}.timeline-notes li+li{margin-top:.45rem}.timeline-notes li:before{content:"";position:absolute;left:0;top:.6em;width:.38rem;height:.38rem;border-radius:50%;background:var(--brass)}.step-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}.nav-btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;color:var(--ink);font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),border-color .2s ease}.nav-btn.disabled{opacity:.4;box-shadow:none;pointer-events:none}.back-link:focus-visible,.package-reference-links a:focus-visible,.group-link:focus-visible,.nav-btn:focus-visible,.sample-item-card:focus-visible,.package-group-summary:focus-visible,.photo-tile:focus-visible,.lightbox-close:focus-visible,.lightbox-nav:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px}.lightbox-close:focus-visible,.lightbox-nav:focus-visible{outline-color:var(--on-dark)}@media(hover:hover)and (pointer:fine){.back-link:hover{border-color:var(--line-strong);background:#fff;color:var(--ink)}.package-group-summary:hover .group-title{color:var(--rose-text)}.group-link:hover{color:var(--rose-deep)}.nav-btn:hover{border-color:var(--line-strong);transform:translateY(-2px)}.sample-item-card:hover,.photo-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.package-reference-links a:hover{border-color:transparent;background:var(--rose-deep)}.lightbox-close:hover,.lightbox-nav:hover{background:#f7efe942}}@media(prefers-reduced-motion:reduce){.step-page *,.roadmap-page *{transition-duration:.001ms!important;animation-duration:.001ms!important}}@media(max-width:767px){.step-page,.roadmap-page{padding-bottom:6.5rem}}@media(max-width:420px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,6.5rem),1fr));gap:.4rem;padding:.65rem}.lightbox{gap:.25rem;padding:.5rem}.lightbox-nav{width:2.5rem;height:2.5rem;font-size:1.5rem}}@media(min-width:600px){.package-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem;padding:1.1rem}.timeline-table-wrap{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}}@media(min-width:768px){.step-page{padding:1.8rem clamp(1.1rem,3vw,2.4rem) 3rem}.step-header{padding:1.8rem 1.7rem}}
