:root{
  --color-background:#FAF8F4;--color-surface:#FFFFFF;--color-section:#F3F0EA;--color-text:#1E1E1C;--color-text-secondary:#4B4B47;--color-text-muted:#7B7770;--color-primary:#1E1E1C;--color-secondary:#B08D57;--color-gold-dark:#8E6F3E;--color-gold-light:#D6BE8A;--color-border:#DDD4C8;--color-border-light:#E9E4DB;--shadow:0 24px 70px rgba(30,30,28,.09);--radius:28px;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,-apple-system,Segoe UI,sans-serif
}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--sans);font-size:16px;line-height:1.7;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:inherit}.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.75rem 1rem;z-index:999}.skip-link:focus{left:1rem;top:1rem}.topbar{background:#050607;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;font-weight:600;padding:.72rem 1rem}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem 1.1rem;background:rgba(250,248,244,.91);border-bottom:1px solid rgba(221,212,200,.72);backdrop-filter:blur(18px)}.brand img{width:178px;height:auto}.site-header nav{position:absolute;inset:100% 0 auto 0;display:grid;gap:.2rem;padding:1rem 1.25rem;background:rgba(250,248,244,.98);border-bottom:1px solid var(--color-border);transform-origin:top;transform:scaleY(0);opacity:0;pointer-events:none;transition:.2s ease}.site-header nav.open{transform:scaleY(1);opacity:1;pointer-events:auto}.site-header nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:600;padding:.85rem .35rem;color:var(--color-text-secondary)}.site-header nav a:hover{color:var(--color-gold-dark)}.menu-toggle{width:44px;height:44px;border:1px solid var(--color-border);border-radius:50%;background:rgba(255,255,255,.5);display:grid;place-content:center;gap:4px}.menu-toggle span{display:block;width:18px;height:1px;background:var(--color-text)}.nav-cta{border:1px solid var(--color-secondary)!important;padding:.78rem 1.05rem!important;color:var(--color-text)!important;text-align:center}.section-pad{padding:4.8rem 1.25rem}.eyebrow{margin:0 0 1rem;color:var(--color-gold-dark);text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:700}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.02em;margin:0;color:var(--color-text)}h1{font-size:clamp(3.2rem,14vw,7.4rem);max-width:11ch}h1 em{font-style:italic;color:var(--color-gold-dark)}h2{font-size:clamp(2.55rem,9vw,5rem)}h3{font-size:1.75rem}.hero{position:relative;overflow:hidden;min-height:82vh;display:grid;gap:2.5rem;align-items:center;background:radial-gradient(circle at 90% 10%,rgba(214,190,138,.35),transparent 30%),linear-gradient(125deg,#FAF8F4 0%,#FAF8F4 44%,#F3F0EA 44%,#F3F0EA 100%)}.hero:before{content:"";position:absolute;inset:auto -20% -30% 30%;height:420px;background:radial-gradient(circle,rgba(176,141,87,.13),transparent 70%);pointer-events:none}.hero-copy,.hero-visual{position:relative}.hero-text{max-width:620px;margin:1.25rem 0 0;color:var(--color-text-secondary);font-size:1.05rem}.actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.95rem 1.35rem;border:1px solid var(--color-secondary);text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:700;transition:.2s ease;background:transparent;color:var(--color-text)}.btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn.primary:hover{background:#2D2D2B}.btn.secondary:hover,.nav-cta:hover{background:var(--color-secondary);color:#fff!important}.editorial-card{position:relative;margin-inline:auto;max-width:510px;border:1px solid var(--color-border);background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(243,240,234,.74));padding:1rem;box-shadow:var(--shadow);border-radius:var(--radius)}.editorial-card p{margin:.9rem 0 .2rem;text-align:center;text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);font-size:.68rem;font-weight:700}.perfume-scene{position:relative;min-height:440px;border-radius:calc(var(--radius) - 8px);overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f4eee4 54%,#e1d2bd 100%)}.perfume-scene:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 38% 24%,rgba(255,255,255,.9) 0 9%,transparent 25%),radial-gradient(circle at 73% 76%,rgba(176,141,87,.18),transparent 33%)}.bottle{position:absolute;background:linear-gradient(165deg,rgba(255,255,255,.88),rgba(255,255,255,.35));border:1px solid rgba(176,141,87,.72);box-shadow:0 30px 75px rgba(30,30,28,.14);display:grid;place-items:center;color:var(--color-text);font-family:var(--serif);text-align:center}.bottle span{position:relative;z-index:1}.bottle.tall{left:22%;bottom:17%;width:120px;height:250px;border-radius:52px 52px 18px 18px;font-size:2.2rem;letter-spacing:.12em}.bottle.tall:before{content:"";position:absolute;top:-44px;width:56px;height:52px;border:1px solid rgba(176,141,87,.7);border-bottom:0;border-radius:16px 16px 0 0;background:rgba(250,248,244,.8)}.bottle.round{right:18%;bottom:12%;width:170px;height:170px;border-radius:50%;font-size:2.3rem;color:var(--color-gold-dark)}.botanical{position:absolute;border:1px solid rgba(142,111,62,.48);border-radius:50%;transform:rotate(-24deg);opacity:.8}.botanical:before,.botanical:after{content:"";position:absolute;border:1px solid rgba(142,111,62,.46);border-radius:50%}.botanical.one{width:210px;height:78px;left:-42px;top:56px}.botanical.one:before{width:120px;height:45px;right:-54px;top:48px}.botanical.two{width:170px;height:62px;right:-42px;top:105px;transform:rotate(24deg)}.botanical.two:after{width:98px;height:35px;left:-38px;top:70px}.section-heading{max-width:820px;margin:0 auto 2.6rem;text-align:center}.section-heading p:not(.eyebrow){color:var(--color-text-secondary);margin:1rem auto 0;max-width:620px}.cards{display:grid;gap:1rem}.service-card{position:relative;background:rgba(255,255,255,.78);border:1px solid var(--color-border);border-radius:24px;padding:2rem 1.35rem;text-align:center;box-shadow:0 18px 60px rgba(30,30,28,.04);transition:.25s ease}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-icon{display:inline-grid;place-items:center;width:54px;height:54px;margin-bottom:1rem;border:1px solid var(--color-gold-light);border-radius:50%;font-family:var(--serif);font-size:1.5rem;color:var(--color-gold-dark)}.service-card p{color:var(--color-text-secondary);margin:.9rem 0 1.1rem}.service-card strong{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--color-gold-dark)}.experience{background:#050607;color:#fff}.experience h2,.experience h3{color:#fff}.experience .eyebrow{color:var(--color-gold-light)}.steps{display:grid;gap:1rem}.step{padding:1.35rem 1.15rem;border-left:1px solid rgba(214,190,138,.56);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}.step b{font-family:var(--serif);font-size:2.2rem;color:var(--color-secondary);font-weight:500}.step p{color:rgba(255,255,255,.68);margin:.7rem 0 0}.split{display:grid;background:var(--color-surface)}.photo-panel{position:relative;min-height:460px;overflow:hidden;background:linear-gradient(135deg,rgba(30,30,28,.12),rgba(255,255,255,.4)),radial-gradient(circle at 30% 22%,#fff 0 8%,transparent 24%),linear-gradient(145deg,#d9c9b2,#faf8f4 50%,#1e1e1c 140%)}.photo-panel:before{content:"";position:absolute;left:17%;bottom:11%;width:180px;height:260px;border:1px solid rgba(176,141,87,.65);border-radius:90px 90px 28px 28px;background:linear-gradient(150deg,rgba(255,255,255,.65),rgba(255,255,255,.16));box-shadow:0 28px 90px rgba(30,30,28,.15)}.photo-panel:after{content:"EAU";position:absolute;left:calc(17% + 49px);bottom:29%;font-family:var(--serif);font-size:2.3rem;letter-spacing:.15em;color:#1e1e1c}.photo-caption{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(250,248,244,.8);backdrop-filter:blur(10px);padding:.8rem 1rem;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--color-gold-dark)}.split-copy{padding:4.6rem 1.25rem}.split-copy p:not(.eyebrow){color:var(--color-text-secondary);max-width:620px}.testimonials{background:#fff}.quotes{display:grid;gap:1rem}.quotes blockquote{margin:0;padding:1.5rem;border:1px solid var(--color-border);background:linear-gradient(180deg,#fff,#fdfbf8);font-family:var(--serif);font-size:1.45rem;line-height:1.25;color:var(--color-text);border-radius:22px}.quotes cite{display:block;margin-top:1rem;font-family:var(--sans);font-size:.76rem;font-style:normal;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.recommendations{display:grid;gap:2rem;background:var(--color-background)}.recommendation-copy p:not(.eyebrow){color:var(--color-text-secondary);max-width:620px}.affiliate-note{font-size:.8rem;color:var(--color-text-muted)}.product-grid{display:grid;gap:1rem}.product-card{overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:24px;box-shadow:0 18px 60px rgba(30,30,28,.05)}.product-card a{text-decoration:none}.product-art{min-height:210px;display:grid;place-items:center;background:radial-gradient(circle,#fff 0 18%,#f7f3ec 18% 60%,#efe4d6 100%)}.product-bottle{width:70px;height:150px;border:1px solid var(--color-secondary);border-radius:34px 34px 16px 16px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.3));position:relative}.product-bottle:before{content:"";position:absolute;left:18px;top:-24px;width:32px;height:26px;border:1px solid var(--color-secondary);border-bottom:0;border-radius:10px 10px 0 0}.product-bottle:after{content:attr(data-initial);position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:1.6rem;color:var(--color-gold-dark)}.product-body{padding:1.15rem}.product-body h3{font-size:1.35rem}.product-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:.6rem 0;color:var(--color-text-muted);font-size:.82rem}.stars{color:var(--color-gold-dark);letter-spacing:.04em}.price{font-weight:700;color:var(--color-text);font-size:1.05rem}.shop-link{display:inline-flex;margin-top:.9rem;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;color:var(--color-gold-dark)}.contact{display:grid;gap:2rem;background:var(--color-section)}.contact-copy>p:not(.eyebrow){color:var(--color-text-secondary);max-width:620px}form{display:grid;gap:.95rem;margin-top:1.4rem}label{display:grid;gap:.35rem}label span{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;color:var(--color-text-muted)}input,textarea,select{width:100%;min-height:50px;padding:.94rem 1rem;border:1px solid var(--color-border);border-radius:0;background:#fff;color:var(--color-text);font:inherit;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(176,141,87,.12)}textarea{min-height:150px;resize:vertical}.contact-card{align-self:start;border:1px solid var(--color-border);background:#fff;border-radius:24px;padding:2rem;box-shadow:var(--shadow)}.contact-card img{width:96px;margin-bottom:1.25rem}.contact-card p{color:var(--color-text-secondary)}.contact-card a{text-decoration:none;color:var(--color-gold-dark)}footer{background:#050607;color:#fff;padding:3rem 1.25rem;display:grid;gap:1.5rem}footer img{width:210px;filter:invert(1) brightness(2) grayscale(1)}footer p{color:rgba(255,255,255,.62);margin:.5rem 0 0}footer nav{display:flex;flex-wrap:wrap;gap:1rem}footer a{text-decoration:none;color:rgba(255,255,255,.72);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}footer small{color:rgba(255,255,255,.5)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@media (min-width:720px){.section-pad{padding:6rem 7vw}.brand img{width:220px}.menu-toggle{display:none}.site-header{padding:.95rem 7vw}.site-header nav{position:static;display:flex;align-items:center;gap:1.3rem;padding:0;background:transparent;border:0;transform:none;opacity:1;pointer-events:auto}.site-header nav a{padding:.4rem 0}.hero{grid-template-columns:1fr .86fr;padding-top:6.5rem;padding-bottom:6.5rem}.cards{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(4,1fr)}.split{grid-template-columns:1fr 1fr}.split-copy{padding:6rem 7vw}.quotes{grid-template-columns:repeat(3,1fr)}.recommendations{grid-template-columns:.72fr 1.28fr;align-items:start}.product-grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1.15fr .85fr}form{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}footer{grid-template-columns:1fr auto;align-items:start;padding:3.2rem 7vw}footer small{grid-column:1/-1}}@media (min-width:1120px){.cards{grid-template-columns:repeat(4,1fr)}.product-grid{grid-template-columns:repeat(4,1fr)}.hero-text{font-size:1.15rem}.perfume-scene{min-height:520px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{transition:none;opacity:1;transform:none}}
.product-art img{width:100%;height:210px;object-fit:contain;padding:1rem;background:#fff}

/* High-fidelity mockup image pass */
.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#fbf7f0 0%,#fbf7f0 45%,#f1e6d6 100%)}
.editorial-card{padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;max-width:760px;overflow:visible}
.editorial-card img{display:block;width:100%;height:auto;aspect-ratio:16/9.8;object-fit:cover;border-radius:0;box-shadow:0 22px 80px rgba(30,30,28,.10)}
.editorial-card figcaption{margin:.85rem 0 0;text-align:center;text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);font-size:.68rem;font-weight:700}
.perfume-scene,.bottle,.botanical{display:none!important}
.photo-panel{background-image:linear-gradient(90deg,rgba(30,30,28,.08),rgba(255,255,255,.08)),url('/assets/generated/about-memory-fragrance.webp');background-size:cover;background-position:center;min-height:540px}
.photo-panel:before,.photo-panel:after{display:none!important}.photo-caption{background:rgba(250,248,244,.84)}
.product-art{background:#fff;min-height:260px}.product-art img{height:260px;object-fit:contain;padding:0;background:#fff}
.product-card{border-radius:0;box-shadow:none;transition:.2s ease}.product-card:hover{transform:translateY(-3px);box-shadow:0 18px 55px rgba(30,30,28,.08)}
.service-card{border-radius:0}.quotes blockquote{border-radius:0}.contact-card{border-radius:0}
.contact-card{background:#fff url('/assets/generated/botanical-line-art.webp') no-repeat right bottom / 46%;}
@media (min-width:720px){.hero{grid-template-columns:.82fr 1.18fr}.hero-visual{margin-right:-7vw}.editorial-card img{min-height:520px}.product-grid{align-items:stretch}.product-card a{height:100%;display:flex;flex-direction:column}.product-body{display:flex;flex-direction:column;flex:1}.shop-link{margin-top:auto}}
@media (max-width:719px){.hero{padding-top:2.5rem}.hero-visual{order:-1;margin:0 -1.25rem}.editorial-card img{max-height:360px}.editorial-card figcaption{display:none}.photo-panel{min-height:320px}.product-art img{height:230px}}

/* ============================================================
   POLISH PASS v2 — FULL MOCKUP FIDELITY
   ============================================================ */

/* Logo */
.brand img{width:130px;height:auto}
@media(min-width:720px){.brand img{width:155px}}

/* H1 */
h1{font-size:clamp(2.4rem,5.5vw,4.6rem);max-width:16ch;line-height:1.06}

/* Gold rule */
.gold-rule{width:50px;height:1px;background:var(--color-secondary);margin:.9rem auto 0}
.section-heading{margin-bottom:2.8rem}
.section-heading h2{margin-bottom:0}

/* Hero — full bleed two-column */
.hero{display:grid;padding:0;min-height:88vh;grid-template-columns:1fr 1fr;background:linear-gradient(90deg,#faf8f4 0%,#faf8f4 50%,#f0e6d6 50%,#f0e6d6 100%);overflow:hidden}
.hero-copy{padding:4.5rem 6vw;display:flex;flex-direction:column;justify-content:center}
.hero-visual{position:relative;height:88vh;overflow:hidden;margin:0}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.editorial-card{display:contents}
.editorial-card figcaption,.perfume-scene,.bottle,.botanical{display:none!important}
@media(max-width:719px){
  .hero{grid-template-columns:1fr;min-height:auto;background:#faf8f4}
  .hero-copy{padding:2.5rem 1.25rem 2rem;order:2}
  .hero-visual{height:58vw;min-height:260px;order:1}
}

/* Service icon circles */
.service-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin:0 auto 1.2rem;border:1px solid var(--color-gold-light);border-radius:50%;color:var(--color-gold-dark)}
.service-icon svg{width:24px;height:24px}
.service-card{text-align:center;padding:2rem 1.1rem;border-radius:0;border:1px solid var(--color-border-light)}
.service-card h3{font-size:1.3rem;margin:.3rem 0 .6rem}
.service-card p{font-size:.86rem}
.service-card strong{font-size:.75rem}
@media(min-width:900px){.cards{grid-template-columns:repeat(5,1fr)}}
@media(min-width:720px) and (max-width:899px){.cards{grid-template-columns:repeat(3,1fr)}}

/* Experience steps */
.steps{gap:0}
.step-arrow{display:none}
.step{text-align:center;padding:1.5rem 1rem;border-left:none;background:transparent}
.step-icon{width:62px;height:62px;border:1px solid rgba(214,190,138,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:var(--color-gold-light)}
.step-icon svg{width:28px;height:28px}
.step b{display:block;font-family:var(--serif);font-size:1.55rem;color:var(--color-secondary);font-weight:400;margin-bottom:.3rem}
.step h3{color:#fff;font-size:1.05rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.5rem}
.step p{font-size:.84rem;color:rgba(255,255,255,.62);margin:0}
@media(min-width:720px){
  .steps{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:start}
  .step-arrow{display:flex;align-items:center;padding-top:1.5rem;color:var(--color-secondary);font-size:1.3rem;opacity:.55}
}

/* Recommendations layout */
.recommendations{gap:2.5rem;align-items:start}
.recommendation-copy h2{font-size:clamp(2rem,4vw,3.2rem);margin:.5rem 0 1rem}
.recommendation-copy p:not(.eyebrow):not(.affiliate-note){color:var(--color-text-secondary);max-width:420px}
.view-all-btn{margin-top:1.5rem;display:inline-flex}
.affiliate-note{font-size:.75rem;color:var(--color-text-muted);margin-top:1.2rem}

/* About — real photo */
.photo-panel{position:relative;overflow:hidden;min-height:520px;background:none;padding:0}
.photo-panel img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;min-height:520px}
.photo-panel:before,.photo-panel:after{display:none!important}
.photo-caption{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(250,248,244,.84);backdrop-filter:blur(10px);padding:.7rem 1rem;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;color:var(--color-gold-dark)}
.split-copy{padding:4.5rem 1.5rem}
.split-copy p:not(.eyebrow){color:var(--color-text-secondary);max-width:560px}
@media(min-width:720px){.split-copy{padding:5.5rem 7vw}}
.signature{font-family:var(--serif);font-size:2.1rem;font-style:italic;color:var(--color-gold-dark);margin-top:1.5rem;letter-spacing:.04em}

/* Testimonials */
.quotes blockquote{position:relative;padding:2.5rem 1.8rem 1.8rem;font-size:1.1rem;line-height:1.55;border-radius:0;border:1px solid var(--color-border-light);font-family:inherit}
.quotes blockquote p{margin:0 0 1.1rem;font-family:var(--serif);font-size:1.2rem;line-height:1.45}
.quote-mark{font-family:Georgia,serif;font-size:5rem;line-height:1;color:var(--color-gold-light);position:absolute;top:.1rem;left:1rem;font-style:italic;pointer-events:none}
cite{display:block;font-style:normal;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}
cite span{display:block;color:var(--color-gold-dark);margin-top:.25rem;font-size:.68rem}

/* Product cards — Amazon style */
.product-card{position:relative;border-radius:0;box-shadow:0 2px 20px rgba(30,30,28,.07);border:1px solid var(--color-border-light);transition:.2s ease;overflow:hidden}
.product-card:hover{transform:translateY(-4px);box-shadow:0 14px 44px rgba(30,30,28,.1)}
.amazon-badge{position:absolute;top:.7rem;right:.7rem;background:#FF9900;color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.22rem .5rem;border-radius:2px;z-index:2;line-height:1.4}
.product-art{background:#fff;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-art img{width:100%;height:220px;object-fit:contain;padding:1.2rem;background:#fff}
.product-body{padding:1rem 1.1rem 1.3rem}
.product-body h3{font-size:1.1rem;margin-bottom:.15rem;line-height:1.2}
.product-brand{font-size:.76rem;color:var(--color-text-muted);margin:.1rem 0 .55rem;font-family:var(--sans)}
.product-meta{display:flex;align-items:center;gap:.25rem;margin-bottom:.5rem;flex-wrap:wrap}
.stars{color:#FF9900;font-size:.82rem;letter-spacing:.02em}
.rating-val{font-size:.78rem;font-weight:600;color:var(--color-text)}
.review-count{font-size:.74rem;color:var(--color-text-muted)}
.price-row{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}
.price{font-size:1.25rem;font-weight:700;color:var(--color-text);line-height:1}
.price sup{font-size:.68em;vertical-align:super}
.prime-badge{font-family:Arial,sans-serif;font-size:.68rem;font-style:italic;font-weight:700;color:#00A8E0;border:1.5px solid #00A8E0;padding:.1rem .3rem;border-radius:2px;letter-spacing:.02em}
.amazon-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;background:var(--color-primary);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:700;padding:.65rem 1rem;transition:.15s ease}
.product-card a:hover .amazon-btn{background:#2D2D2B}
.shop-link{display:none!important}

/* Contact info column */
.contact{gap:3rem}
.contact-info{display:grid;gap:1.7rem;align-content:start;padding:2.4rem;background:#fff;border:1px solid var(--color-border-light)}
.contact-info-item{display:flex;gap:.9rem;align-items:flex-start}
.contact-info-icon{flex-shrink:0;width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-gold-dark)}
.contact-info-item strong{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;color:var(--color-text-muted);margin-bottom:.25rem}
.contact-info-item a,.contact-info-item span{font-size:.88rem;color:var(--color-text);text-decoration:none;display:block;line-height:1.6}
.contact-info-item a:hover{color:var(--color-gold-dark)}
.social-links{display:flex;gap:.65rem;margin-top:.2rem}
.social-links a{color:var(--color-text);transition:.15s;display:flex}
.social-links a:hover{color:var(--color-gold-dark)}

/* Form */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.95rem}
@media(max-width:719px){.form-row{grid-template-columns:1fr}}
input::placeholder,textarea::placeholder{color:var(--color-text-muted);font-size:.86rem}
.send-btn{width:100%;margin-top:.5rem;grid-column:1/-1}

/* Footer 3-column */
footer{display:grid;grid-template-columns:1fr;gap:2rem;padding:3.5rem 1.25rem 2rem;background:#050607;color:#fff}
.footer-brand img{width:145px;filter:invert(1) brightness(2) grayscale(1);display:block}
.footer-brand p{font-size:.76rem;color:rgba(255,255,255,.48);margin:.5rem 0 0}
.footer-links{display:flex;gap:2.5rem}
.footer-links strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.6rem;color:rgba(255,255,255,.38);margin-bottom:.8rem;white-space:nowrap}
.footer-links a{display:block;margin-bottom:.5rem;text-decoration:none;color:rgba(255,255,255,.68);text-transform:uppercase;letter-spacing:.1em;font-size:.67rem}
.footer-links a:hover{color:var(--color-gold-light)}
.footer-newsletter strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;color:rgba(255,255,255,.5);margin-bottom:.4rem}
.footer-newsletter p{font-size:.8rem;color:rgba(255,255,255,.45);margin:0 0 .9rem;line-height:1.6}
.newsletter-form{display:flex}
.newsletter-form input{flex:1;min-height:42px;padding:.55rem .9rem;border:1px solid rgba(255,255,255,.2);border-right:0;background:rgba(255,255,255,.05);color:#fff;font-size:.8rem;border-radius:0}
.newsletter-form input::placeholder{color:rgba(255,255,255,.38)}
.newsletter-form button{min-height:42px;width:44px;background:var(--color-secondary);border:0;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.newsletter-form button:hover{background:var(--color-gold-dark)}
footer>small{grid-column:1/-1;color:rgba(255,255,255,.32);font-size:.66rem;border-top:1px solid rgba(255,255,255,.07);padding-top:1.4rem;margin-top:.4rem;display:block}
footer>nav,footer>p,footer>div:not(.footer-brand):not(.footer-newsletter){display:none}
footer>.footer-brand,footer>.footer-links,footer>.footer-newsletter{display:block}
.footer-links{display:flex}
@media(min-width:720px){footer{grid-template-columns:auto 1fr 1fr;gap:3rem;padding:4rem 7vw 2.5rem;align-items:start}}

/* ============================================================
   POLISH PASS v2 — FULL MOCKUP FIDELITY
   ============================================================ */

/* Logo sizing */
.brand img { width:130px; height:auto; }
@media (min-width:720px) { .brand img { width:155px; } }

/* Topbar */
.topbar { font-size:.61rem; letter-spacing:.15em; }

/* Nav */
@media (min-width:720px) {
  .site-header nav a { font-size:.67rem; letter-spacing:.1em; }
  .nav-cta { white-space:nowrap; padding:.65rem 1.2rem !important; }
}

/* H1 */
h1 { font-size:clamp(2.4rem,5.5vw,4.6rem); max-width:16ch; line-height:1.06; }

/* Gold rule */
.gold-rule { width:50px; height:1px; background:var(--color-secondary); margin:.9rem auto 0; }
.section-heading { margin-bottom:2.8rem; }
.section-heading h2 { margin-bottom:0; }

/* Hero — full bleed right column */
.hero {
  display:grid;
  padding:0;
  min-height:88vh;
  grid-template-columns:1fr 1fr;
  background:linear-gradient(90deg,#faf8f4 0%,#faf8f4 50%,#f0e6d6 50%,#f0e6d6 100%);
  overflow:hidden;
}
.hero-copy {
  padding:4.5rem 6vw 4.5rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0;
}
.hero-visual {
  position:relative;
  height:88vh;
  overflow:hidden;
  margin:0;
}
.hero-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.editorial-card { display:contents; }
.editorial-card figcaption { display:none; }
.perfume-scene,.bottle,.botanical { display:none !important; }

@media (max-width:719px) {
  .hero {
    grid-template-columns:1fr;
    min-height:auto;
    background:#faf8f4;
  }
  .hero-copy { padding:2.5rem 1.25rem 2rem; order:2; }
  .hero-visual { height:58vw; min-height:260px; order:1; }
}

/* Services — 5 cards */
.service-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  margin:0 auto 1.2rem;
  border:1px solid var(--color-gold-light);
  border-radius:50%;
  color:var(--color-gold-dark);
}
.service-icon svg { width:24px; height:24px; }
.service-card { text-align:center; padding:2rem 1.1rem; border-radius:0; border:1px solid var(--color-border-light); }
.service-card h3 { font-size:1.3rem; margin:.3rem 0 .6rem; }
.service-card p { font-size:.86rem; }
.service-card strong { font-size:.75rem; }
@media (min-width:900px) { .cards { grid-template-columns:repeat(5,1fr); } }
@media (min-width:720px) and (max-width:899px) { .cards { grid-template-columns:repeat(3,1fr); } }

/* Experience steps — circular icons + arrows */
.steps { gap:0; }
.step-arrow { display:none; }
.step { text-align:center; padding:1.5rem 1rem; border-left:none; background:transparent; }
.step-icon {
  width:62px;
  height:62px;
  border:1px solid rgba(214,190,138,.45);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 1rem;
  color:var(--color-gold-light);
}
.step-icon svg { width:28px; height:28px; }
.step b { display:block; font-family:var(--serif); font-size:1.55rem; color:var(--color-secondary); font-weight:400; margin-bottom:.3rem; }
.step h3 { color:#fff; font-size:1.05rem; text-transform:uppercase; letter-spacing:.14em; margin-bottom:.5rem; }
.step p { font-size:.84rem; color:rgba(255,255,255,.62); margin:0; }
@media (min-width:720px) {
  .steps { grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:start; }
  .step-arrow { display:flex; align-items:center; padding-top:1.5rem; color:var(--color-secondary); font-size:1.3rem; opacity:.55; }
}

/* Recommendations */
.recommendations { gap:2.5rem; align-items:start; }
.recommendation-copy { }
.recommendation-copy h2 { font-size:clamp(2rem,4vw,3.2rem); margin:.5rem 0 1rem; }
.recommendation-copy p:not(.eyebrow):not(.affiliate-note) { color:var(--color-text-secondary); max-width:420px; }
.view-all-btn { margin-top:1.5rem; display:inline-flex; }
.affiliate-note { font-size:.75rem; color:var(--color-text-muted); margin-top:1.2rem; }

/* About photo panel — real image */
.photo-panel { position:relative; overflow:hidden; min-height:520px; background:none; padding:0; }
.photo-panel img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; min-height:520px; }
.photo-panel:before,.photo-panel:after { display:none !important; }
.photo-caption { position:absolute; left:1.2rem; bottom:1.2rem; background:rgba(250,248,244,.84); backdrop-filter:blur(10px); padding:.7rem 1rem; text-transform:uppercase; letter-spacing:.15em; font-size:.65rem; color:var(--color-gold-dark); }
.split-copy { padding:4.5rem 1.5rem; }
.split-copy p:not(.eyebrow) { color:var(--color-text-secondary); max-width:560px; }
@media (min-width:720px) { .split-copy { padding:5.5rem 7vw; } }

/* Signature */
.signature {
  font-family:var(--serif);
  font-size:2.1rem;
  font-style:italic;
  color:var(--color-gold-dark);
  margin-top:1.5rem;
  letter-spacing:.04em;
}

/* Testimonials — large decorative quote mark */
.quotes blockquote {
  position:relative;
  padding:2.5rem 1.8rem 1.8rem;
  font-size:1.1rem;
  line-height:1.55;
  border-radius:0;
  border:1px solid var(--color-border-light);
  font-family:inherit;
}
.quotes blockquote p { margin:0 0 1.1rem; font-family:var(--serif); font-size:1.25rem; line-height:1.4; }
.quote-mark {
  font-family:Georgia,serif;
  font-size:5rem;
  line-height:1;
  color:var(--color-gold-light);
  position:absolute;
  top:.1rem;
  left:1rem;
  font-style:italic;
  pointer-events:none;
}
cite { display:block; font-style:normal; font-size:.74rem; text-transform:uppercase; letter-spacing:.12em; color:var(--color-text-muted); }
cite span { display:block; color:var(--color-gold-dark); margin-top:.25rem; font-size:.68rem; }

/* Product cards — Amazon style */
.product-card { position:relative; border-radius:0; box-shadow:0 2px 20px rgba(30,30,28,.07); border:1px solid var(--color-border-light); transition:.2s ease; overflow:hidden; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 14px 44px rgba(30,30,28,.1); }
.amazon-badge {
  position:absolute;
  top:.7rem;
  right:.7rem;
  background:#FF9900;
  color:#fff;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:.22rem .5rem;
  border-radius:2px;
  z-index:2;
  line-height:1.4;
}
.product-art { background:#fff; min-height:220px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.product-art img { width:100%; height:220px; object-fit:contain; padding:1.2rem; background:#fff; }
.product-body { padding:1rem 1.1rem 1.3rem; }
.product-body h3 { font-size:1.1rem; margin-bottom:.15rem; line-height:1.2; }
.product-brand { font-size:.76rem; color:var(--color-text-muted); margin:.1rem 0 .55rem; font-family:var(--sans); }
.product-meta { display:flex; align-items:center; gap:.25rem; margin-bottom:.5rem; flex-wrap:wrap; }
.stars { color:#FF9900; font-size:.82rem; letter-spacing:.02em; }
.rating-val { font-size:.78rem; font-weight:600; color:var(--color-text); }
.review-count { font-size:.74rem; color:var(--color-text-muted); }
.price-row { display:flex; align-items:center; gap:.7rem; margin-bottom:.9rem; }
.price { font-size:1.25rem; font-weight:700; color:var(--color-text); line-height:1; }
.price sup { font-size:.68em; vertical-align:super; }
.prime-badge { font-family:Arial,sans-serif; font-size:.68rem; font-style:italic; font-weight:700; color:#00A8E0; border:1.5px solid #00A8E0; padding:.1rem .3rem; border-radius:2px; letter-spacing:.02em; }
.amazon-btn { display:flex; align-items:center; justify-content:center; gap:.35rem; background:var(--color-primary); color:#fff; text-transform:uppercase; letter-spacing:.1em; font-size:.65rem; font-weight:700; padding:.65rem 1rem; cursor:pointer; text-align:center; transition:.15s ease; }
.product-card a:hover .amazon-btn { background:#2D2D2B; }
.shop-link { display:none !important; }

/* Contact info column */
.contact { gap:3rem; background:var(--color-section); }
.contact-info {
  display:grid;
  gap:1.7rem;
  align-content:start;
  padding:2.4rem;
  background:#fff;
  border:1px solid var(--color-border-light);
}
.contact-info-item { display:flex; gap:.9rem; align-items:flex-start; }
.contact-info-icon {
  flex-shrink:0;
  width:36px;
  height:36px;
  border:1px solid var(--color-border);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--color-gold-dark);
}
.contact-info-item strong { display:block; text-transform:uppercase; letter-spacing:.13em; font-size:.62rem; color:var(--color-text-muted); margin-bottom:.25rem; }
.contact-info-item a, .contact-info-item span { font-size:.88rem; color:var(--color-text); text-decoration:none; display:block; line-height:1.6; }
.contact-info-item a:hover { color:var(--color-gold-dark); }
.social-links { display:flex; gap:.65rem; margin-top:.2rem; }
.social-links a { color:var(--color-text); transition:.15s; display:flex; }
.social-links a:hover { color:var(--color-gold-dark); }

/* Form polish */
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:.95rem; }
@media (max-width:719px) { .form-row { grid-template-columns:1fr; } }
form label span { font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--color-text-muted); font-weight:700; }
input::placeholder, textarea::placeholder { color:var(--color-text-muted); font-size:.86rem; }
.send-btn { width:100%; margin-top:.5rem; }

/* Footer — 3 column */
footer {
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
  padding:3.5rem 1.25rem 2rem;
  background:#050607;
  color:#fff;
}
.footer-brand img { width:145px; filter:invert(1) brightness(2) grayscale(1); display:block; }
.footer-brand p { font-size:.76rem; color:rgba(255,255,255,.48); margin:.5rem 0 0; }
.footer-links { display:flex; gap:2.5rem; }
.footer-links strong { display:block; text-transform:uppercase; letter-spacing:.12em; font-size:.6rem; color:rgba(255,255,255,.38); margin-bottom:.8rem; white-space:nowrap; }
.footer-links a { display:block; margin-bottom:.5rem; text-decoration:none; color:rgba(255,255,255,.68); text-transform:uppercase; letter-spacing:.1em; font-size:.67rem; }
.footer-links a:hover { color:var(--color-gold-light); }
.footer-newsletter strong { display:block; text-transform:uppercase; letter-spacing:.12em; font-size:.62rem; color:rgba(255,255,255,.5); margin-bottom:.4rem; }
.footer-newsletter p { font-size:.8rem; color:rgba(255,255,255,.45); margin:0 0 .9rem; line-height:1.6; }
.newsletter-form { display:flex; }
.newsletter-form input { flex:1; min-height:42px; padding:.55rem .9rem; border:1px solid rgba(255,255,255,.2); border-right:0; background:rgba(255,255,255,.05); color:#fff; font-size:.8rem; border-radius:0; min-height:42px; }
.newsletter-form input::placeholder { color:rgba(255,255,255,.38); }
.newsletter-form button { min-height:42px; width:44px; background:var(--color-secondary); border:0; color:#fff; font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.newsletter-form button:hover { background:var(--color-gold-dark); }
footer > small { grid-column:1/-1; color:rgba(255,255,255,.32); font-size:.66rem; border-top:1px solid rgba(255,255,255,.07); padding-top:1.4rem; margin-top:.4rem; display:block; }
footer > nav, footer > p { display:none; }
@media (min-width:720px) {
  footer { grid-template-columns:auto 1fr 1fr; gap:3rem; padding:4rem 7vw 2.5rem; align-items:start; }
}

/* ============================================================
   FIX PASS — logo, h1, hero, footer, section tweaks
   ============================================================ */

/* Logo: multiply blend erases white PNG background on any light bg */
.brand img { mix-blend-mode: multiply; width:130px; }
@media(min-width:720px){ .brand img{ width:150px; } }

/* Footer PNG logo: invert already handles it, but blend-mode for crisp render */
.footer-brand img { mix-blend-mode: screen; }

/* H1: reduce — was 66px at 1200px viewport, too wide for 50% column */
h1 { font-size: clamp(1.85rem, 3.2vw, 3.4rem); line-height: 1.08; max-width: 18ch; }

/* Hero: vertically center copy, prevent overflow */
.hero { align-items: stretch; }
.hero-copy { justify-content: center; min-height: 0; }
.hero-text { font-size:.95rem; line-height:1.7; margin:.9rem 0 0; }
.hero-text br { display:none; }

/* Footer: fix nav visibility — class wins over element but reinforce */
footer > nav.footer-links { display: flex !important; }
footer > .footer-links { display: flex !important; }

/* Restore footer small to be full-width */
footer small { display:block; grid-column: 1 / -1; }

/* ============================================================
   FIX PASS v2 — mobile, nav, hero, cache-busted
   ============================================================ */

/* Mobile nav CTA: shorten label via CSS content trick not possible,
   but ensure it fits on one line */
@media(max-width:479px){
  .nav-cta { font-size:.58rem !important; padding:.55rem .7rem !important; letter-spacing:.08em !important; }
}

/* Mobile hero: ensure image has minimum visible height */
@media(max-width:719px){
  .hero-visual { min-height: 320px !important; height: 65vw !important; }
}

/* Service cards: 3-col on mid-range tablets, 5-col only at 1200+ */
@media(min-width:900px) and (max-width:1199px){ .cards { grid-template-columns: repeat(3,1fr) !important; } }
@media(min-width:1200px){ .cards { grid-template-columns: repeat(5,1fr) !important; } }

/* Product cards: smaller image on mobile */
@media(max-width:719px){
  .product-art img { height: 180px; }
  .product-art { min-height: 180px; }
}

/* Contact inputs: guaranteed tap target */
input, textarea, select { min-height: 50px; }
select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237B7770' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }

/* Contact form: service select full width */
#contactForm select { width: 100%; }

/* Testimonial quote mark: scale down on narrow screens */
@media(max-width:400px){ .quote-mark { font-size: 3.5rem; top: .2rem; } }

/* Footer mobile padding for iOS keyboard */
@media(max-width:719px){ footer { padding-bottom: 3rem; } }

/* Scroll-to-top button */
.scroll-top { position:fixed; bottom:1.5rem; right:1.5rem; width:44px; height:44px; background:var(--color-primary); color:#fff; border:none; border-radius:50%; font-size:1.1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:.25s ease; z-index:40; box-shadow:0 4px 20px rgba(30,30,28,.2); }
.scroll-top.visible { opacity:1; pointer-events:auto; }
.scroll-top:hover { background:var(--color-secondary); }
