@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Outfit:wght@300;400;500&display=swap";:root{--gold: #A67C00;--gold-light: #B8860B;--bg-warm: #D6D4C8;--card-ivory: #FBFAEF;--text-primary: #1F1F1C;--text-secondary: #2A2A26;--cta-bg: #3d3b38;--cta-text: #ffffff;--font-display: "Cormorant Garamond", serif;--font-body: "Outfit", sans-serif;--transition-editorial: all .7s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-warm);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.welcome-screen{height:calc(100vh - 85px);display:flex;align-items:center;justify-content:center;position:relative;opacity:0;transform:translateY(20px);transition:var(--transition-editorial);padding:2rem}.welcome-screen.visible{opacity:1;transform:translateY(0)}.narrative-welcome{background-color:var(--bg-warm);text-align:center}.narrative-welcome .hero-title{font-size:clamp(56px,6vw,84px);letter-spacing:.05em;margin-bottom:2rem;animation:fadeUpIn 1.2s cubic-bezier(.4,0,.2,1) forwards}.narrative-welcome .hero-subtitle{font-family:var(--font-display);font-size:1.85rem;max-width:850px;line-height:1.4;font-style:italic;font-weight:400;color:var(--text-primary);opacity:0;margin-bottom:0;animation:fadeIn 1.5s ease .3s forwards}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.portrait-icon-img{width:100px;height:100px;object-fit:contain;background:var(--card-ivory);margin:0 1rem;border-radius:50%;padding:10px;box-shadow:0 4px 15px #0000000d;transition:var(--transition-editorial)}.portrait-icon-img:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 10px 25px #0000001a;background:#fff}.welcome-content{text-align:center;max-width:900px;z-index:10;padding:4rem 2rem}.brand-mark{margin-bottom:2rem;display:flex;justify-content:center}.brand-logo-img{height:auto;object-fit:contain;filter:brightness(0)!important}.main-hub-logo{width:450px;margin-bottom:3rem}.header-logo{width:140px}.welcome-hero{margin-bottom:2.5rem}.hero-title{font-family:var(--font-display);font-size:clamp(48px,5vw,64px);font-weight:500;text-transform:uppercase;color:var(--text-primary);margin-bottom:1.5rem;letter-spacing:.01em}.hero-subtitle{font-size:1.1rem;line-height:1.6;color:var(--text-secondary);font-weight:300;max-width:650px;margin:0 auto}.decorative-elements{position:absolute;inset:0;pointer-events:none}.corner-ornament{position:absolute;font-size:2rem;color:var(--gold);opacity:.3}.corner-ornament.top-left{top:2rem;left:2rem}.corner-ornament.top-right{top:2rem;right:2rem;transform:scaleX(-1)}.corner-ornament.bottom-left{bottom:2rem;left:2rem;transform:scaleY(-1)}.corner-ornament.bottom-right{bottom:2rem;right:2rem;transform:scale(-1)}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%;margin:1.5rem auto}.hub-card{background:var(--card-ivory);border:none;padding:2.5rem 2rem;cursor:pointer;transition:var(--transition-editorial);display:flex;flex-direction:column;align-items:center;gap:1.5rem;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000026}.hub-card:hover{transform:scale(1.02);box-shadow:0 10px 30px #0003}.hub-card:before{display:none}.hub-icon-img{width:120px;height:120px;object-fit:contain;margin-bottom:.5rem}.hub-title{font-family:var(--font-body);font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);font-weight:600}.hub-description{font-size:13px;color:var(--text-secondary);font-weight:300;line-height:1.6;max-width:240px}.hub-arrow{margin-top:1rem;color:var(--text-primary);font-size:12px;text-transform:uppercase;letter-spacing:.15em;opacity:.7;transition:var(--transition-editorial)}.hub-card:hover .hub-arrow{opacity:1;transform:translate(5px)}.start-button{background:var(--cta-bg);color:var(--cta-text);border:none;padding:1.25rem 3.5rem;font-family:var(--font-body);font-size:14px;text-transform:uppercase;letter-spacing:.25em;font-weight:500;cursor:pointer;transition:var(--transition-editorial);margin-top:2rem;box-shadow:0 10px 30px #0000001a;opacity:0;animation:fadeIn 1s ease 1.2s forwards}.start-button:hover{transform:scale(1.05);box-shadow:0 15px 40px #0003;background:#2a2a26}.time-estimate{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary);opacity:0;margin-top:1.5rem;animation:fadeIn 1s ease 1.5s forwards}.portraits-preview{margin:3rem 0;opacity:0;animation:fadeIn 1s ease .5s forwards}.quiz-step{height:calc(100vh - 85px);display:flex;flex-direction:column;padding:1rem 2rem;box-sizing:border-box;overflow:hidden;max-width:1400px;margin:0 auto;transition:background-color .8s ease}.quiz-step.animating{pointer-events:none}.layout-step-1,.layout-step-2,.layout-step-3,.layout-step-4,.layout-step-5,.layout-step-6,.layout-step-7,.layout-step-8{background-color:var(--bg-warm)}.step-header{text-align:center;margin-bottom:2rem;padding-top:1rem}.step-counter{font-family:var(--font-body);font-size:1.25rem;text-transform:uppercase;letter-spacing:.15em;color:#555550;background:#00000008;padding:.6rem 2rem;border-radius:2px;border:1px solid rgba(0,0,0,.05)}.step-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:contentFadeUp 1.2s cubic-bezier(.2,.8,.2,1) forwards}@keyframes contentFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-question{font-family:var(--font-display);font-size:clamp(32px,4vw,42px);font-weight:500;text-transform:uppercase;text-align:center;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:.05em}.layout-step-4 .step-question{letter-spacing:.05em;font-style:italic;text-transform:none}.layout-step-6 .step-question{font-weight:300;letter-spacing:.1em}.step-subtitle{font-family:var(--font-display);font-size:1.1rem;color:var(--text-secondary);font-weight:300;margin-bottom:2rem;opacity:.8;font-style:italic}@media(max-width:480px){.quiz-step{padding:1rem 1.5rem;height:calc(100vh - 70px)}.step-header{margin-bottom:1rem}.step-counter{font-size:1rem}.step-question{font-size:1.75rem;margin-bottom:.5rem}.step-subtitle{font-size:.95rem;margin-bottom:1.25rem}}.option-cards{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:600px}.option-cards.grid-layout{flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:1300px}.layout-compact .option-card{flex:0 1 calc(33.33% - 1.5rem);min-width:280px;padding:1rem 1.5rem}.layout-compact .option-image-container{flex:0 0 80px;height:80px;margin-right:1.25rem}.option-card{background:var(--card-ivory);border:none;padding:1.25rem 2rem;display:flex;align-items:center;gap:1.5rem;cursor:pointer;transition:var(--transition-editorial);text-align:left;box-shadow:0 4px 15px #0000001a;animation:fadeSlideUp 1s cubic-bezier(.2,.8,.2,1) forwards;opacity:0}.option-card:nth-child(1){animation-delay:0s}.option-card:nth-child(2){animation-delay:.1s}@media(max-width:480px){.option-cards{gap:.75rem;padding:0 .5rem}.option-card{padding:.75rem 1rem;gap:1rem}.option-image-container{width:60px;height:60px;margin-right:0}.option-label{font-size:13px}.option-desc{font-size:.75rem}.layout-compact .option-cards{flex-direction:column;align-items:stretch}.layout-compact .option-card{flex:1 1 auto;min-width:0}}.option-card:nth-child(3){animation-delay:.2s}.option-card:nth-child(4){animation-delay:.3s}.option-card:nth-child(5){animation-delay:.4s}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.option-card:hover{transform:scale(1.02);box-shadow:0 8px 25px #00000026}.option-card.selected{background:#f0eedd;box-shadow:0 8px 25px #0003}.option-image-container,.scent-image-container{width:100%;max-width:280px;aspect-ratio:1;background:#fffef3;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.step-option-image{width:100%;height:100%;object-fit:contain}.option-image-container{width:120px;height:120px;margin-bottom:0;margin-right:1.5rem}.option-label{font-family:var(--font-body);font-size:14px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.option-desc{font-size:.85rem;color:var(--charcoal-light);font-weight:300}.character-cards{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;width:100%;max-width:1400px;overflow:hidden;padding:1rem;justify-content:center;margin:0 auto}.layout-step-4 .character-cards{flex-wrap:nowrap;gap:.75rem;max-width:1200px}.layout-step-4 .character-card{flex:0 1 20%;min-width:160px;padding:1rem .5rem}.layout-step-4 .character-animal{font-size:2.5rem;margin-bottom:.5rem}.layout-step-4 .character-desc{font-size:.75rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}@media(max-width:768px){.character-cards{justify-content:center}}.character-card{flex:0 1 calc(33.33% - 1rem);min-width:250px;background:var(--card-ivory);border:none;padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:var(--transition-editorial);box-shadow:0 4px 15px #0000001a;animation:fadeSlideUp 1s cubic-bezier(.2,.8,.2,1) forwards;opacity:0}.character-card:nth-child(1){animation-delay:0s}.character-card:nth-child(2){animation-delay:.1s}.character-card:nth-child(3){animation-delay:.2s}.character-card:nth-child(4){animation-delay:.3s}.character-card:nth-child(5){animation-delay:.4s}.character-card:hover{transform:scale(1.02) translateY(-5px);box-shadow:0 8px 25px #00000026}.character-card.selected{background:#f0eedd;box-shadow:0 8px 25px #0003}@media(max-width:480px){.layout-step-4 .character-cards{flex-wrap:wrap;justify-content:center;gap:.75rem}.layout-step-4 .character-card{flex:0 1 calc(50% - .75rem);min-width:140px;padding:1rem .5rem}.layout-step-4 .character-animal{font-size:2rem}.layout-step-4 .character-desc{font-size:.7rem;-webkit-line-clamp:2;line-clamp:2}}.character-animal{font-size:3rem;margin-bottom:1rem}.character-label{font-family:var(--font-body);font-size:14px;text-transform:uppercase;letter-spacing:.15em;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.character-traits{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin-bottom:1rem}.character-desc{font-size:.8rem;color:var(--charcoal-light);font-weight:300;line-height:1.5}.scent-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;max-width:1200px}.layout-step-6 .scent-cards{flex-wrap:nowrap;gap:.75rem;max-width:1200px}.layout-step-6 .scent-card{flex:0 1 20%;min-width:160px;padding:1.5rem 1rem}.layout-compact .scent-card{flex:0 1 calc(33.33% - 1rem);min-width:250px}.scent-card{background:var(--card-ivory);border:none;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:var(--transition-editorial);box-shadow:0 4px 15px #0000001a;animation:fadeSlideUp 1s cubic-bezier(.2,.8,.2,1) forwards;opacity:0}.scent-card:hover{transform:scale(1.02);box-shadow:0 8px 25px #00000026}.scent-card.selected{background:#f0eedd;box-shadow:0 8px 25px #0003}@media(max-width:480px){.layout-step-6 .scent-cards{flex-wrap:wrap;justify-content:center;gap:.75rem}.layout-step-6 .scent-card{flex:0 1 calc(50% - .75rem);min-width:140px;padding:1rem}.scent-visual{font-size:2rem;margin-bottom:.5rem}}.scent-visual{font-size:3rem;margin-bottom:1rem}.scent-label{font-family:var(--font-body);font-size:14px;text-transform:uppercase;letter-spacing:.15em;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.scent-desc{font-size:.85rem;color:var(--charcoal-light);font-weight:300;font-style:italic}.step-navigation-wrapper{margin-top:auto;padding-bottom:2rem;display:flex;justify-content:center;width:100%}.step-navigation{display:flex;justify-content:center;align-items:center;gap:2rem;max-width:600px;width:100%}.nav-button{font-family:var(--font-display);font-size:1rem;padding:1rem 2rem;border:none;cursor:pointer;transition:var(--transition-smooth);letter-spacing:.05em}.nav-button.back{background:transparent;color:var(--charcoal-light)}.nav-button.back:hover{color:var(--charcoal)}.nav-button.next{background:var(--cta-bg);color:var(--cta-text);margin-left:auto;text-transform:uppercase;letter-spacing:.25em;font-size:14px;font-weight:500;padding:1.25rem 3rem;box-shadow:0 4px 15px #bdbcaf4d}.nav-button.next:hover:not(:disabled){transform:scale(1.02);box-shadow:0 6px 20px #bdbcaf66}.nav-button.skip{background:transparent;color:var(--text-secondary);text-decoration:underline;text-transform:uppercase;font-size:11px;letter-spacing:.15em;opacity:.6;border:none;cursor:pointer;transition:var(--transition-editorial)}.nav-button.skip:hover{opacity:1;color:var(--text-primary)}@media(max-width:480px){.step-navigation-wrapper{padding:1rem}.step-navigation{flex-direction:column-reverse;gap:.75rem}.nav-button{width:100%;justify-content:center;padding:.85rem}.nav-button.skip{position:absolute;top:-40px;left:50%;transform:translate(-50%)}}.app-container{display:flex;flex-direction:column}.site-header{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 4rem;border-bottom:1px solid rgba(0,0,0,.05);position:fixed;top:0;left:0;right:0;z-index:1000}@media(max-width:768px){.site-header{padding:1rem 1.5rem;height:70px}}.main-content{margin-top:85px}.header-left{display:flex;align-items:center;gap:2rem}.header-logo-img{height:40px}.site-nav{display:flex;gap:1.5rem}.nav-link{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);text-decoration:none;opacity:.8;transition:opacity .3s ease}.nav-link:hover{opacity:1}.nav-link.active{color:var(--gold)}.nav-link.locked{opacity:.3;cursor:not-allowed}.header-right{display:flex;gap:1rem;font-size:11px;font-weight:600;letter-spacing:.1em}.character-reveal{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,var(--savannah-green-dark) 0%,var(--savannah-green) 100%)}.character-reveal{background:var(--bg-warm);height:calc(100vh - 85px);display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.reveal-container{text-align:center;color:var(--text-primary);max-width:800px;padding:2rem}.reveal-pretext{font-family:var(--font-display);font-style:italic;font-size:1.5rem;opacity:.7}.character-name{font-family:var(--font-display);font-size:clamp(48px,6vw,72px);margin:1rem 0;text-transform:uppercase;color:var(--text-primary)}.character-description{font-family:var(--font-display);font-size:1.4rem;line-height:1.6;margin:2rem 0;color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reveal-pretext{font-family:var(--font-display);font-size:1.5rem;font-style:italic;opacity:.9}.reveal-character{margin-top:2rem;animation:revealUp 1s ease}@keyframes revealUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.character-portrait{width:220px;height:220px;margin:0 auto 2rem;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px solid var(--gold);overflow:hidden;box-shadow:0 10px 30px #0000001a}.character-portrait img{width:110%;height:110%;object-fit:contain}.portrait-animal{font-size:6rem}.character-name{font-family:var(--font-display);font-size:3rem;font-weight:400;margin-bottom:.5rem}.character-image-container{width:100%;aspect-ratio:1;background:#fffef3;display:flex;align-items:center;justify-content:center;overflow:hidden}.character-card{padding:0;overflow:hidden}.character-info{padding:1.5rem;text-align:center}.character-traits{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.character-title{font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.reveal-details{margin-top:2rem;animation:fadeIn 1s ease .5s backwards}.character-description{font-size:1.1rem;line-height:1.8;font-weight:300;margin-bottom:1.5rem;opacity:.95}.character-traits-list{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-bottom:2rem}.trait-badge{background:#0000000d;padding:.5rem 1rem;font-size:.8rem;letter-spacing:.1em;border:1px solid rgba(0,0,0,.1);color:var(--text-primary)}.reveal-continue{background:var(--gold);color:var(--charcoal);border:none;padding:1rem 2.5rem;font-family:var(--font-display);font-size:1.1rem;cursor:pointer;transition:var(--transition-smooth)}.reveal-continue:hover{background:var(--gold-light);transform:translateY(-2px)}.recommendation-display{min-height:100vh;padding:2rem 4rem;max-width:1400px;margin:0 auto;background-color:var(--bg-warm)}.recommendation-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.5rem;margin-bottom:3rem;border-bottom:1px solid rgba(0,0,0,.08)}.header-match-label{font-family:var(--font-display);font-size:1.25rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary)}.recommendation-main-content{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem;align-items:start}.recommendation-left{position:sticky;top:120px}.product-medallion{display:flex;flex-direction:column;align-items:center;gap:2rem}.medallion-circle{width:450px;height:450px;background:#fff;border-radius:50%;border:5px solid var(--gold);display:flex;justify-content:center;align-items:center;overflow:hidden;box-shadow:0 20px 60px #00000014;padding:3rem}.medallion-circle img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}.medallion-circle:hover img{transform:scale(1.05)}.medallion-badge{font-family:var(--font-body);font-size:11px;letter-spacing:.2em;font-weight:600;color:var(--gold)}.recommendation-right{display:flex;flex-direction:column;gap:4rem}.product-info-panel .collection-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.25em;color:var(--gold);margin-bottom:1rem}.product-title{font-family:var(--font-display);font-size:3.5rem;line-height:1.1;margin-bottom:2rem;color:var(--text-primary)}.product-summary{font-size:1.1rem;line-height:1.8;color:var(--charcoal-light);margin-bottom:3rem;font-weight:300}.olfactory-pyramid{display:flex;gap:3rem;margin-bottom:2rem;padding:2rem 0;border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05)}.note-group{display:flex;flex-direction:column;gap:.5rem}.note-title{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}.note-name{font-size:1.1rem;color:var(--text-primary);font-weight:400}.price-tag{font-family:var(--font-display);font-size:2.5rem;color:var(--text-primary)}.ritual-upsell-section .section-title{font-family:var(--font-display);font-size:1.5rem;margin-bottom:.5rem}.ritual-upsell-section .section-subtitle{font-size:.95rem;color:var(--charcoal-light);margin-bottom:2rem}.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.ritual-card{background:#fff;border:1px solid transparent;padding:1rem;cursor:pointer;transition:all .3s ease;position:relative;text-align:center}.ritual-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000000d}.ritual-card.selected{border-color:var(--gold);background:#fffef0}.ritual-image{position:relative;margin-bottom:1rem;aspect-ratio:1}.ritual-image img{width:100%;height:100%;object-fit:contain}.ritual-add-badge{position:absolute;top:-5px;right:-5px;width:24px;height:24px;background:var(--gold);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.ritual-card.selected .ritual-add-badge{background:var(--savannah-green)}.ritual-info{display:flex;flex-direction:column;gap:.25rem}.ritual-name{font-size:12px;font-weight:600;text-transform:uppercase}.ritual-price{font-size:13px;color:var(--gold)}.personalization-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.personalize-btn{width:100%;display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border:1px solid #e0ddd0;font-family:var(--font-body);font-size:13px;cursor:pointer;transition:all .3s ease}.personalize-btn.active{background:#fdfcf4;border-color:var(--gold)}.personalize-btn .btn-icon{font-size:1.25rem}.personalize-input-box{margin-top:.75rem;animation:fadeIn .3s ease}.personalize-input-box input,.personalize-input-box textarea{width:100%;padding:1rem;background:#fff;border:1px solid var(--gold);font-family:inherit;font-size:14px}.final-action-bar{display:flex;justify-content:space-between;align-items:center;padding:2.5rem;background:#fff;border:1px solid var(--gold);margin-top:2rem}.action-total .label{display:block;font-size:12px;text-transform:uppercase;color:var(--charcoal-light)}.action-total .value{font-family:var(--font-display);font-size:2.5rem;color:var(--text-primary)}.checkout-btn{background:var(--cta-bg);color:var(--cta-text);border:none;padding:1.5rem 4rem;font-weight:600;letter-spacing:.2em;cursor:pointer;transition:all .3s ease}.checkout-btn:hover{background:#000;transform:translateY(-2px)}@media(max-width:1024px){.recommendation-main-content{grid-template-columns:1fr;gap:4rem}.recommendation-left{position:static}.medallion-circle{width:320px;height:320px}}@media(max-width:640px){.recommendation-display{padding:1rem}.product-title{font-size:2.5rem}.ritual-grid,.personalization-grid{grid-template-columns:1fr}.final-action-bar{flex-direction:column;gap:1.5rem;padding:1.5rem;text-align:center}}.personalization-section h3{font-family:var(--font-display);font-size:1.1rem;font-weight:500;margin-bottom:1rem;color:var(--charcoal)}.personalization-options{display:flex;gap:1rem;flex-wrap:wrap}.personalization-option{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;border:1px solid var(--cream-dark);cursor:pointer;font-size:.9rem;color:var(--charcoal);transition:var(--transition-smooth)}.personalization-option:hover{border-color:var(--gold);background:var(--cream)}.option-icon-small{width:48px;height:48px;background:#fffef3;display:flex;align-items:center;justify-content:center}.option-icon-small img{width:100%;height:100%;object-fit:contain}.add-to-bag:hover{background:#333;transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.start-button{background:var(--cta-bg);color:var(--cta-text);border:none;padding:1.25rem 3rem;font-family:var(--font-display);font-size:1.25rem;letter-spacing:.1em;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:1rem;transition:var(--transition-smooth);position:relative;overflow:hidden}.start-button:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .6s}.start-button:hover{background:var(--savannah-green-dark);transform:translateY(-2px);box-shadow:0 10px 30px #8899774d}.start-button:hover:before{transform:translate(100%)}.start-button .arrow{transition:transform .3s}.start-button:hover .arrow{transform:translate(5px)}.deep-gifting-wrapper{min-height:100vh;width:100%}.deep-gifting-onboarding{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;animation:fadeIn 1s ease}.onboarding-brand{font-size:.75rem;letter-spacing:.3em;color:var(--gold);margin-bottom:2rem;text-transform:uppercase}.onboarding-title{font-family:var(--font-display);font-size:3.5rem;font-weight:300;color:var(--savannah-green);line-height:1.1;margin-bottom:1.5rem}.onboarding-subtitle{font-size:1.1rem;color:var(--charcoal-light);max-width:600px;line-height:1.6;margin-bottom:4rem}.onboarding-steps{display:flex;justify-content:center;gap:3rem;margin-bottom:4rem;flex-wrap:wrap}.onboarding-step{text-align:left;max-width:250px}.onboarding-step .step-num{display:block;font-family:var(--font-display);font-size:2rem;color:var(--gold-light);margin-bottom:.5rem}.onboarding-step h3{font-size:1.1rem;color:var(--charcoal);margin-bottom:.5rem;font-family:var(--font-display)}.onboarding-step p{font-size:.9rem;color:var(--charcoal-light);font-weight:300}.deep-gifting-stage{min-height:100vh;padding:0 0 2rem}.stage-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;position:sticky;top:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid var(--cream-dark)}.brand-small{font-size:.7rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}.stage-indicator{font-size:.8rem;letter-spacing:.2em;color:var(--charcoal-light);text-transform:uppercase}.close-button,.back-nav{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--charcoal);transition:color .3s}.close-button:hover,.back-nav:hover{color:var(--burgundy)}.stage-content{max-width:800px;margin:0 auto;padding:3rem 1.5rem}.stage-content.wide{max-width:1200px}.intro-section{text-align:center;margin-bottom:3rem}.intro-section h2{font-family:var(--font-display);font-size:2.5rem;font-weight:400;color:var(--burgundy);margin-bottom:.5rem}.accordion-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}.accordion-item{background:#fff;border:1px solid var(--cream-dark);border-radius:4px;overflow:hidden;transition:all .4s ease}.accordion-item.expanded{border-color:var(--gold);box-shadow:0 5px 15px #0000000d}.accordion-item.completed{border-color:var(--burgundy-dark)}.accordion-header{width:100%;display:flex;align-items:center;padding:1.5rem;background:none;border:none;cursor:pointer;text-align:left;gap:1rem}.status-indicator{width:30px;height:30px;border-radius:50%;border:1px solid var(--cream-dark);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--charcoal-light);flex-shrink:0}.status-indicator.done{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}.header-text{flex:1}.header-text .title{font-family:var(--font-display);font-size:1.25rem;color:var(--charcoal)}.header-text .subtitle{font-size:.85rem;color:var(--charcoal-light);font-style:italic}.preview-text{font-size:.85rem;color:var(--charcoal-light);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7}.expand-icon{font-size:1.25rem;color:var(--gold)}.accordion-body{padding:0 1.5rem 1.5rem 4.5rem;animation:fadeIn .3s ease}.prompts{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.prompt-tag{background:var(--cream);padding:.5rem 1rem;font-size:.8rem;color:var(--charcoal-light);border-radius:20px;font-style:italic}.dg-textarea{width:100%;padding:1rem;border:1px solid var(--cream-dark);background:var(--cream);font-family:var(--font-body);font-size:1rem;color:var(--charcoal);min-height:120px;margin-bottom:1rem;resize:none}.dg-textarea:focus{outline:none;border-color:var(--gold);background:#fff}.accordion-actions{display:flex;justify-content:space-between}.text-button-small{background:none;border:none;color:var(--charcoal-light);cursor:pointer;font-size:.9rem;text-decoration:underline}.secondary-button-small{background:transparent;border:1px solid var(--burgundy);color:var(--burgundy);padding:.5rem 1.5rem;cursor:pointer;font-size:.9rem;transition:all .3s}.secondary-button-small:hover{background:var(--burgundy);color:#fff}.main-actions{text-align:center;margin-top:3rem}.primary-button{background:var(--charcoal);color:#fff;border:none;padding:1.25rem 3rem;font-family:var(--font-body);font-size:.85rem;letter-spacing:.25em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:var(--transition-smooth)}.primary-button:disabled{background:var(--charcoal-light);opacity:.3;cursor:not-allowed}.primary-button:hover:not(:disabled){background:#333;transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.hint-text{margin-top:1rem;font-size:.9rem;color:var(--charcoal-light)}.text-button{background:none;border:none;color:var(--charcoal-light);cursor:pointer;margin-top:2rem;font-size:.9rem;transition:color .3s}.text-button:hover{color:var(--burgundy)}.insights-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.insight-card{background:#fff;padding:1rem;border:1px solid var(--cream-dark);max-width:300px}.insight-cat{font-size:.7rem;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:.5rem}.insight-card p{font-size:.9rem;font-style:italic;color:var(--charcoal)}.section-label{font-size:.8rem;letter-spacing:.2em;color:var(--charcoal-light);text-transform:uppercase;margin-bottom:1rem}.recommendations-section{text-align:center}.recommendations-section h2{font-family:var(--font-display);font-size:2.5rem;color:var(--burgundy);margin-bottom:.5rem}.recs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.rec-card{background:#fff;border:1px solid var(--cream-dark);cursor:pointer;text-align:center;transition:var(--transition-smooth);display:flex;flex-direction:column}.rec-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px #0000000a;border-color:var(--charcoal)}.rec-image-container{height:350px;background-color:#fff;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:2rem}.rec-emoji{font-size:4rem}.match-badge{position:absolute;top:1.5rem;right:1.5rem;background:#fff;padding:.4rem .8rem;font-size:.65rem;color:var(--charcoal);border:1px solid #eee;text-transform:uppercase;letter-spacing:.15em;font-weight:500}.rec-details{padding:1.5rem}.match-reason{color:var(--gold);font-size:.65rem;text-transform:uppercase;letter-spacing:.3em;margin-bottom:.75rem;display:block}.rec-details h3{font-family:var(--font-display);font-size:1.8rem;color:var(--charcoal);margin-bottom:1rem;font-weight:400;line-height:1.2}.rec-details .narrative{font-family:var(--font-display);font-size:1.15rem;font-style:italic;color:var(--text-primary);line-height:1.6;margin-bottom:1.5rem;font-weight:400}.rec-details .narrative{font-size:.95rem;font-style:italic;margin-bottom:1.5rem;line-height:1.6}.rec-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--cream-dark);padding-top:1rem}.price{font-family:var(--font-display);font-size:1.25rem;color:var(--burgundy)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}@media(max-width:768px){.two-col{grid-template-columns:1fr}}.selected-product-card{background:#fff;border:1px solid var(--cream-dark);padding:2rem;text-align:center;margin-bottom:1.5rem}.product-visual-large{font-size:6rem;margin-bottom:1rem}.match-reason-small{text-transform:uppercase;font-size:.8rem;color:var(--gold);letter-spacing:.1em}.selected-product-card h2{font-family:var(--font-display);font-size:2rem;margin:.5rem 0;color:var(--charcoal)}.selected-addons-list{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--cream-dark)}.addon-tag{background:var(--cream);color:var(--burgundy);padding:.25rem .75rem;font-size:.8rem;margin:0 .25rem;display:inline-block}.addons-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.addon-btn{background:#fff;border:1px solid var(--cream-dark);padding:1rem;cursor:pointer;transition:all .3s}.addon-btn:hover{border-color:var(--gold)}.addon-btn.active{background:var(--cream);border-color:var(--burgundy)}.addon-icon{font-size:2rem;margin-bottom:.5rem}.addon-name{font-size:.9rem;color:var(--charcoal);margin-bottom:.25rem}.addon-price{font-size:.8rem;color:var(--gold)}.full-width{width:100%}.story-container{min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:700px;margin:0 auto;position:relative}.story-card{background:#fff;border:1px solid var(--cream-dark);padding:3rem 4rem;text-align:center;box-shadow:0 10px 40px #00000008;position:relative;width:100%;max-width:600px;animation:fadeInCard .6s ease;outline:4px double var(--cream-dark);outline-offset:-10px}@keyframes fadeInCard{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.story-chapter{font-family:var(--font-display);font-size:.9rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:2rem;display:block}.story-question{font-family:var(--font-display);font-size:2.25rem;color:var(--burgundy);line-height:1.2;margin-bottom:2rem;font-style:italic}.story-prompts{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem}.story-prompt-pill{border:1px solid var(--cream-dark);color:var(--charcoal-light);padding:.5rem 1rem;border-radius:50px;font-size:.85rem;font-style:italic;background:transparent;transition:all .3s}.story-prompt-pill:hover{border-color:var(--gold);color:var(--gold-dark)}.story-textarea{width:100%;border:none;border-bottom:1px solid var(--cream-dark);border-radius:0;padding:1rem;font-family:var(--font-body);font-size:1.1rem;color:var(--charcoal);background:transparent;resize:none;min-height:100px;text-align:center;transition:border-color .3s}.story-textarea:focus{outline:none;border-color:var(--burgundy)}.story-navigation{display:flex;justify-content:space-between;width:100%;margin-top:3rem;align-items:center}.nav-simple{background:none;border:none;font-family:var(--font-display);font-size:1rem;color:var(--charcoal-light);cursor:pointer;transition:color .3s;display:flex;align-items:center;gap:.5rem}.nav-simple:hover{color:var(--burgundy)}.nav-simple:disabled{opacity:.3;cursor:default}.consulting-archives{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;text-align:center}.archive-icon{font-size:4rem;color:var(--gold);margin-bottom:2rem;animation:pulseRotate 3s infinite ease-in-out}@keyframes pulseRotate{0%{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.1) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:.8}}.archive-text{font-family:var(--font-display);font-size:2rem;color:var(--burgundy);margin-bottom:1rem}.archive-sub{font-size:1rem;color:var(--charcoal-light);font-style:italic}.custom-wrap-container{border-top:1px solid var(--cream-dark);margin-top:3rem;padding-top:3rem;text-align:center}.wrap-upload-area{border:2px dashed var(--cream-dark);padding:2rem;margin:1.5rem auto;max-width:400px;cursor:pointer;transition:all .3s;background:var(--cream)}.wrap-upload-area:hover{border-color:var(--gold);background:#fff}.wrap-preview-box{width:200px;height:200px;margin:2rem auto;position:relative;box-shadow:0 20px 40px #0000001a;transform-style:preserve-3d;transform:rotateX(10deg) rotateY(10deg);transition:transform .5s}.wrap-preview-box:hover{transform:rotateX(5deg) rotateY(25deg) scale(1.05)}.wrap-face{position:absolute;inset:0;background-color:var(--cream);background-repeat:repeat;background-size:80px}.ribbon-vertical{position:absolute;left:50%;top:0;bottom:0;width:20px;background:var(--burgundy);transform:translate(-50%);z-index:2;box-shadow:0 0 5px #0003}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.ribbon-horizontal{position:absolute;top:50%;left:0;right:0;height:20px;background:var(--burgundy);transform:translateY(-50%);z-index:2;box-shadow:0 0 5px #0003}.alchemy-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;color:#897;font-family:Cormorant Garamond,serif;position:relative;overflow:hidden}.alchemy-flask{width:80px;height:80px;border:2px solid #BFA260;border-radius:50%;position:relative;margin-bottom:30px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px #bfa2604d;animation:breathe 3s infinite ease-in-out}.alchemy-liquid{width:60px;height:60px;background:radial-gradient(circle at 30% 30%,#e8e0d4,#897);border-radius:50%;opacity:.8;animation:swirl 4s infinite linear}.bubble{position:absolute;bottom:10px;background:#bfa260;border-radius:50%;opacity:0;animation:rise 2s infinite ease-in}.bubble:nth-child(1){width:6px;height:6px;left:30%;animation-delay:0s}.bubble:nth-child(2){width:8px;height:8px;left:50%;animation-delay:.5s}.bubble:nth-child(3){width:4px;height:4px;left:70%;animation-delay:1s}.alchemy-text{font-size:1.5rem;font-style:italic;font-weight:500;animation:fadeText 2s infinite alternate;text-align:center}@keyframes breathe{0%,to{transform:scale(1);box-shadow:0 0 20px #bfa2604d}50%{transform:scale(1.05);box-shadow:0 0 30px #bfa26080}}@keyframes swirl{0%{transform:rotate(0) scale(.9);border-radius:50% 40% 60% 50%}50%{transform:rotate(180deg) scale(1);border-radius:40% 60% 50%}to{transform:rotate(360deg) scale(.9);border-radius:50% 40% 60% 50%}}@keyframes rise{0%{bottom:10px;opacity:0;transform:translateY(0) scale(1)}50%{opacity:.8}to{bottom:60px;opacity:0;transform:translateY(-20px) scale(1.5)}}@keyframes fadeText{0%{opacity:.4}to{opacity:1}}
