: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); }

/* ============================================================
   FIX PASS v3 (2026-07-01) — service cards, image stretch,
   blog/journal, form status, newsletter
   ============================================================ */

/* --- Service cards: highlight the name, pin price to bottom-center --- */
.service-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 300px;
}
.service-card h3 {
  display: block;
  background: none;
  padding: 0;
  color: var(--color-text);
  margin: .3rem 0 .7rem;
  font-weight: 700;      /* bolder so the service name stands out */
  font-size: 1.55rem;    /* a touch larger than body headings */
  letter-spacing: -.01em;
}
@media (min-width:720px){ .service-card h3 { font-size: 1.6rem; } }
.service-card p { flex: 1 0 auto; }
.service-card strong {
  display: block;
  margin-top: auto;
  padding-top: 1rem;
  width: 100%;
  text-align: center;
  font-size: .82rem;
  letter-spacing: .14em;
  color: var(--color-gold-dark);
}

/* --- Image stretch fixes: consistent framing, never distort --- */
.hero-visual { height: auto; min-height: 0; }
.hero-visual img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}
@media (min-width:720px){
  .hero { align-items: stretch; }
  .hero-visual { height: auto; }
  .hero-visual img { height: 100%; aspect-ratio: auto; min-height: 520px; }
}

/* Product/Amazon images: contain (no crop, no stretch) on a clean field */
.product-art { min-height: 220px; background: #fff; }
.product-art img {
  width: 100%;
  height: 220px;
  object-fit: contain;
  padding: 1.1rem;
  background: #fff;
}
@media (max-width:719px){
  .product-art, .product-art img { height: 200px; min-height: 200px; }
}

/* About panel image: cover without squashing */
.photo-panel img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; height: 100%; }

/* --- Contact form status colors --- */
.form-status { margin: .4rem 0 0; font-size: .85rem; font-weight: 600; }
.form-status--ok  { color: #2f7d3f; }
.form-status--err { color: #b3402f; }

/* --- Newsletter feedback --- */
.newsletter-form.nl-success input { border-color: #2f7d3f; }
.newsletter-form.nl-error input { border-color: #b3402f; }

/* ============================================================
   JOURNAL / BLOG
   ============================================================ */
.blog-hero .section-heading { text-align: center; }
.blog-grid { display: grid; gap: 1.5rem; margin-top: 2.5rem; }
@media (min-width:720px){ .blog-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width:1120px){ .blog-grid { grid-template-columns: repeat(3,1fr); } }
.blog-empty { text-align: center; color: var(--color-text-muted); grid-column: 1/-1; padding: 2rem 0; }

.blog-card { background:#fff; border:1px solid var(--color-border-light); overflow:hidden; transition:.2s ease; box-shadow:0 2px 20px rgba(30,30,28,.05); }
.blog-card:hover { transform: translateY(-4px); box-shadow:0 16px 48px rgba(30,30,28,.1); }
.blog-card a { text-decoration:none; color:inherit; display:flex; flex-direction:column; height:100%; }
.blog-card-art { aspect-ratio: 3/2; overflow:hidden; background:#f4eee4; }
.blog-card-art img { width:100%; height:100%; object-fit:cover; }
.blog-card-art--placeholder { display:grid; place-items:center; background:linear-gradient(145deg,#faf8f4,#e6dacb); }
.blog-card-art--placeholder span { font-family:var(--serif); font-size:2.4rem; letter-spacing:.2em; color:var(--color-gold-dark); }
.blog-card-body { padding:1.4rem; display:flex; flex-direction:column; flex:1; }
.blog-label { display:inline-block; align-self:flex-start; text-transform:uppercase; letter-spacing:.14em; font-size:.62rem; font-weight:700; color:var(--color-gold-dark); border:1px solid var(--color-gold-light); padding:.2rem .55rem; border-radius:999px; margin-bottom:.7rem; }
.blog-card-body h2 { font-size:1.55rem; line-height:1.1; margin:0 0 .5rem; }
.blog-meta { font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--color-text-muted); margin:0 0 .7rem; }
.blog-excerpt { color:var(--color-text-secondary); font-size:.92rem; margin:0 0 1rem; }
.blog-tags { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:auto; }
.blog-tag { font-size:.66rem; text-transform:lowercase; letter-spacing:.04em; color:var(--color-text-muted); background:#f3f0ea; padding:.2rem .5rem; border-radius:999px; }
.blog-readmore { margin-top:.9rem; text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; font-weight:700; color:var(--color-gold-dark); }

/* Article view */
.article-wrap { max-width:760px; margin:0 auto; padding:3rem 1.25rem 4rem; }
@media (min-width:720px){ .article-wrap { padding:4.5rem 1.25rem 5rem; } }
.article-back { display:inline-block; margin-bottom:2rem; text-decoration:none; text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; font-weight:700; color:var(--color-gold-dark); }
.article-head h1 { font-size:clamp(2rem,5vw,3.2rem); line-height:1.08; margin:.6rem 0; max-width:none; }
.article-cover { margin:2rem 0; }
.article-cover img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.article-body { font-size:1.08rem; line-height:1.85; color:var(--color-text-secondary); }
.article-body h2 { font-size:1.9rem; color:var(--color-text); margin:2.4rem 0 .8rem; }
.article-body h3 { font-size:1.4rem; color:var(--color-text); margin:1.8rem 0 .6rem; }
.article-body p { margin:0 0 1.2rem; }
.article-body ul { margin:0 0 1.4rem; padding-left:1.2rem; }
.article-body li { margin:.4rem 0; }
.article-body strong { color:var(--color-text); }
.article-body blockquote { margin:1.8rem 0; padding:1.2rem 1.5rem; border-left:2px solid var(--color-gold-light); font-family:var(--serif); font-size:1.35rem; line-height:1.35; color:var(--color-text); background:#fbf9f5; }
.article-tags { margin-top:2.5rem; }
.article-cta { margin-top:3.5rem; padding:2.5rem; text-align:center; background:#050607; color:#fff; }
.article-cta h3 { color:#fff; font-size:1.7rem; margin-bottom:1.2rem; }

/* ============================================================
   POLISH PASS v4 (2026-07-01) — secondary pages, sticky CTA,
   nav <360, dashboard tables, PWA
   ============================================================ */

/* Secondary-page hero (about / faq / gift / booking / 404) */
.page-hero { text-align:center; max-width:820px; margin:0 auto; }
.page-hero h1 { max-width:none; margin:.4rem auto .8rem; }
.page-lead { color:var(--color-text-secondary); font-size:1.08rem; max-width:620px; margin:0 auto; }
.page-lead a { color:var(--color-gold-dark); }

/* About: values + CTA band */
.values-cards .service-card { min-height:0; }
.about-cta-band { background:#faf8f4; text-align:center; }
.about-cta-band h2 { max-width:16ch; margin:0 auto 1.5rem; }

/* FAQ accordion */
.faq-list { max-width:760px; margin:0 auto; }
.faq-item { border-bottom:1px solid var(--color-border); padding:.4rem 0; }
.faq-item summary { list-style:none; cursor:pointer; padding:1.1rem .2rem; font-family:var(--serif); font-size:1.35rem; color:var(--color-text); display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; color:var(--color-gold-dark); font-size:1.6rem; font-family:var(--sans); transition:.2s ease; }
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-item p { color:var(--color-text-secondary); padding:0 .2rem 1.2rem; margin:0; max-width:64ch; }
.faq-item p a { color:var(--color-gold-dark); }

/* Gift page */
.gift-cards .service-card { min-height:0; }
.gift-cards .service-icon { font-size:1.4rem; color:var(--color-gold-dark); }
.btn-block { display:flex; margin-top:1.1rem; width:100%; }
.muted-note { text-align:center; color:var(--color-text-muted); font-size:.85rem; max-width:600px; margin:2rem auto 0; }

/* Booking */
.booking-embed-wrap { max-width:840px; margin:0 auto; }
.booking-embed:empty { display:none; }
.booking-card { border:1px solid var(--color-border); background:#fff; padding:2rem; box-shadow:var(--shadow); }
.booking-card h2 { font-size:1.9rem; margin-bottom:.5rem; }
.booking-card > p { color:var(--color-text-secondary); margin-bottom:.5rem; }

/* Legal pages */
.legal-wrap { max-width:760px; margin:0 auto; padding:3.5rem 1.25rem 4.5rem; }
.legal-wrap h1 { font-size:clamp(2.2rem,5vw,3.4rem); margin:.4rem 0 .3rem; max-width:none; }
.legal-meta { color:var(--color-text-muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:2rem; }
.legal-wrap h2 { font-size:1.6rem; margin:2.2rem 0 .6rem; }
.legal-wrap p, .legal-wrap li { color:var(--color-text-secondary); line-height:1.8; }
.legal-wrap ul { padding-left:1.2rem; margin:0 0 1.2rem; }
.legal-wrap li { margin:.4rem 0; }
.legal-wrap a { color:var(--color-gold-dark); }
.legal-back { margin-top:2.5rem; }

/* 404 */
.notfound { text-align:center; max-width:700px; margin:0 auto; min-height:52vh; display:flex; flex-direction:column; justify-content:center; }
.notfound h1 { max-width:none; margin:.4rem auto 1rem; }

/* Sticky "Book a Consultation" CTA */
.sticky-cta {
  position:fixed; left:1.5rem; bottom:1.5rem; z-index:39;
  background:var(--color-primary); color:#fff !important; text-decoration:none;
  padding:.9rem 1.4rem; text-transform:uppercase; letter-spacing:.11em; font-size:.7rem; font-weight:700;
  box-shadow:0 8px 30px rgba(30,30,28,.28); opacity:0; transform:translateY(12px); pointer-events:none; transition:.25s ease;
}
.sticky-cta.visible { opacity:1; transform:none; pointer-events:auto; }
.sticky-cta:hover { background:#2D2D2B; }
@media (max-width:600px){
  .sticky-cta { left:1rem; right:1rem; bottom:1rem; text-align:center; padding:1rem; }
  .scroll-top { bottom:5.2rem; }
}

/* Footer: 3-column link groups on wider screens */
@media (min-width:720px){
  footer > nav.footer-links { display:grid !important; grid-template-columns:repeat(3,auto); gap:2.5rem; }
}

/* Nav CTA on very narrow screens */
@media (max-width:400px){
  .nav-cta { font-size:.56rem !important; padding:.5rem .6rem !important; letter-spacing:.06em !important; }
}

/* Dashboard tables: horizontal scroll on mobile (issue #21) */
.table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
@media (min-width:700px){ .table { display:table; } }

/* ============================================================
   WORDMARK LOGO v5 (2026-07-01) — replaces raster PNG logo.
   Uses the site's own serif so the logo matches the site font,
   the tagline is legible, and there is no white background bleed.
   ============================================================ */
.brand { display:inline-flex; flex-direction:column; gap:.18rem; text-decoration:none; line-height:1; }
.brand .wordmark {
  font-family:var(--serif); font-weight:600; font-size:1.7rem; letter-spacing:.03em;
  color:var(--color-text); white-space:nowrap;
}
/* Ampersand matches the "EAU & Co" on the hero bottle: a clean, traditional
   serif ampersand. Cormorant's own & is an ornate swash glyph that does NOT
   match the bottle, so the ampersand uses Georgia (a plain book ampersand). */
.amp { font-family: Georgia, 'Times New Roman', 'Times', serif; font-style: normal; font-weight: 500; }
.brand .wordmark .amp { color:var(--color-gold-dark); padding:0 .04em; }
.signature .amp { color:inherit; }
.brand .wordmark-tag {
  font-family:var(--sans); font-size:.5rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.24em; color:var(--color-gold-dark); white-space:nowrap;
}
@media (min-width:720px){
  .brand .wordmark { font-size:2rem; }
  .brand .wordmark-tag { font-size:.56rem; letter-spacing:.28em; }
}
/* Footer + dark contexts */
.footer-brand .brand .wordmark { color:#fff; }
.footer-brand .brand .wordmark .amp { color:var(--color-gold-light); }
.footer-brand { display:flex; flex-direction:column; gap:.35rem; }
/* neutralize any legacy image-logo rules if an <img> lingers */
.brand img { mix-blend-mode:normal; }

/* ============================================================
   TOP-RATED FRAGRANCES v7 (2026-07-01) — editorial luxury cards
   replacing the Amazon-style chrome. Consistent elegant image tiles.
   ============================================================ */
.frag-card { position:relative; background:#fff; border:1px solid var(--color-border-light); overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; box-shadow:0 2px 22px rgba(30,30,28,.05); }
.frag-card:hover { transform:translateY(-5px); box-shadow:0 20px 55px rgba(30,30,28,.12); }
.frag-card a { text-decoration:none; color:inherit; display:flex; flex-direction:column; height:100%; }

/* Image tile: soft champagne pedestal, bottle centered on a consistent 4:5 */
.frag-art {
  position:relative; aspect-ratio:4/5; display:grid; place-items:center; overflow:hidden;
  background:
    radial-gradient(120% 80% at 50% 18%, #ffffff 0 34%, rgba(255,255,255,0) 60%),
    radial-gradient(90% 60% at 50% 108%, rgba(176,141,87,.16), transparent 60%),
    linear-gradient(160deg, #f7f2ea 0%, #efe6d7 100%);
}
.frag-art img {
  width:82%; height:82%; object-fit:contain; object-position:center;
  filter:drop-shadow(0 18px 26px rgba(30,30,28,.18)) saturate(1.04) contrast(1.03);
  transition:transform .4s ease;
}
.frag-card:hover .frag-art img { transform:scale(1.04); }
.frag-initial { font-family:var(--serif); font-size:3.4rem; color:var(--color-gold-dark); }

.frag-pick {
  position:absolute; top:.9rem; left:.9rem; z-index:2;
  background:var(--color-primary); color:#fff; font-size:.6rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.14em; padding:.34rem .7rem; border-radius:999px;
}

.frag-body { padding:1.25rem 1.3rem 1.4rem; display:flex; flex-direction:column; flex:1; }
.frag-brand { text-transform:uppercase; letter-spacing:.18em; font-size:.64rem; font-weight:700; color:var(--color-gold-dark); margin:0 0 .3rem; }
.frag-name { font-family:var(--serif); font-size:1.5rem; font-weight:600; line-height:1.1; margin:0 0 .4rem; color:var(--color-text); }
.frag-note { color:var(--color-text-secondary); font-size:.88rem; line-height:1.45; margin:0 0 .9rem; font-style:italic; }
.frag-meta { display:flex; align-items:center; gap:.5rem; margin-top:auto; font-size:.78rem; color:var(--color-text-muted); }
.frag-stars { color:var(--color-gold-dark); letter-spacing:.06em; }
.frag-rating { font-weight:700; color:var(--color-text); }
.frag-foot { display:flex; align-items:baseline; justify-content:space-between; gap:.8rem; margin-top:.9rem; padding-top:.9rem; border-top:1px solid var(--color-border-light); }
.frag-price { font-family:var(--serif); font-size:1.4rem; font-weight:600; color:var(--color-text); }
.frag-shop { font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; color:var(--color-gold-dark); white-space:nowrap; }
.frag-card:hover .frag-shop { color:var(--color-primary); }

/* ============================================================
   BOOKING CONCIERGE CHATBOT v8 (2026-07-01)
   ============================================================ */
/* The floating concierge supersedes the old sticky Book CTA */
.sticky-cta { display:none !important; }

.concierge-launcher {
  position:fixed; right:1.4rem; bottom:1.4rem; z-index:60;
  display:inline-flex; align-items:center; gap:.55rem;
  background:var(--color-primary); color:#fff; border:none; cursor:pointer;
  padding:.85rem 1.25rem; border-radius:999px; font-family:var(--sans);
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.11em;
  box-shadow:0 10px 34px rgba(30,30,28,.32); transition:transform .2s ease, background .2s ease;
}
.concierge-launcher:hover { transform:translateY(-2px); background:#2D2D2B; }
.concierge-launcher.hidden { display:none; }
.concierge-launcher .cc-launch-icon { color:var(--color-gold-light); font-size:.95rem; }
@media (max-width:520px){ .concierge-launcher .cc-launch-label{ display:none; } .concierge-launcher{ padding:1rem; } .concierge-launcher .cc-launch-icon{ font-size:1.2rem; } }

.concierge-panel {
  position:fixed; right:1.4rem; bottom:1.4rem; z-index:61;
  width:380px; max-width:calc(100vw - 2rem); height:560px; max-height:calc(100vh - 2rem);
  display:none; flex-direction:column; overflow:hidden;
  background:#fff; border:1px solid var(--color-border); border-radius:20px;
  box-shadow:0 30px 80px rgba(30,30,28,.28);
}
.concierge-panel.open { display:flex; animation:ccIn .22s ease; }
@keyframes ccIn { from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none;} }

/* Inline mode (on /booking) */
.concierge--inline { position:static; width:100%; max-width:640px; height:600px; margin:0 auto; display:flex; box-shadow:0 20px 60px rgba(30,30,28,.10); }

.cc-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.1rem; background:#050607; color:#fff; }
.cc-head-brand { display:flex; align-items:center; gap:.6rem; }
.cc-head-brand strong { font-family:var(--serif); font-size:1.05rem; display:block; line-height:1.1; }
.cc-head-brand small { color:rgba(255,255,255,.6); font-size:.68rem; }
.cc-dot { width:9px; height:9px; border-radius:50%; background:#57c26f; box-shadow:0 0 0 3px rgba(87,194,111,.25); }
.cc-close { background:none; border:none; color:rgba(255,255,255,.7); font-size:1.5rem; line-height:1; cursor:pointer; padding:0 .2rem; }
.cc-close:hover { color:#fff; }

.cc-msgs { flex:1; overflow-y:auto; padding:1.1rem; display:flex; flex-direction:column; gap:.6rem; background:linear-gradient(180deg,#faf8f4,#fff); }
.cc-msg { display:flex; }
.cc-msg.cc-user { justify-content:flex-end; }
.cc-bubble { max-width:82%; padding:.7rem .9rem; border-radius:16px; font-size:.9rem; line-height:1.45; }
.cc-bot .cc-bubble { background:#fff; border:1px solid var(--color-border-light); color:var(--color-text); border-bottom-left-radius:5px; box-shadow:0 2px 10px rgba(30,30,28,.04); }
.cc-user .cc-bubble { background:var(--color-primary); color:#fff; border-bottom-right-radius:5px; }
.cc-bubble a { color:var(--color-gold-dark); }
.cc-user .cc-bubble a { color:#fff; text-decoration:underline; }

.cc-typing { display:inline-flex; gap:4px; }
.cc-typing span { width:6px; height:6px; border-radius:50%; background:var(--color-text-muted); opacity:.5; animation:ccBlink 1s infinite; }
.cc-typing span:nth-child(2){ animation-delay:.2s; } .cc-typing span:nth-child(3){ animation-delay:.4s; }
@keyframes ccBlink { 0%,60%,100%{ opacity:.25; transform:translateY(0);} 30%{ opacity:.9; transform:translateY(-2px);} }

.cc-quick { display:none; flex-wrap:wrap; gap:.4rem; padding:.6rem 1.1rem; border-top:1px solid var(--color-border-light); }
.cc-quick-btn { background:#fff; border:1px solid var(--color-gold-light); color:var(--color-text); border-radius:999px; padding:.5rem .8rem; font-size:.78rem; cursor:pointer; transition:.15s ease; }
.cc-quick-btn:hover { background:var(--color-gold-dark); color:#fff; border-color:var(--color-gold-dark); }

.cc-form { display:none; align-items:center; gap:.5rem; padding:.7rem .8rem; border-top:1px solid var(--color-border-light); background:#fff; }
.cc-input { flex:1; min-height:42px; border:1px solid var(--color-border); border-radius:999px; padding:.6rem .9rem; font:inherit; font-size:.9rem; }
.cc-input.cc-invalid { border-color:#b3402f; }
.cc-skip { background:none; border:none; color:var(--color-text-muted); font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }
.cc-send { width:42px; height:42px; flex:none; border:none; border-radius:50%; background:var(--color-primary); color:#fff; font-size:1.1rem; cursor:pointer; }
.cc-send:hover { background:#2D2D2B; }

/* Keep scroll-top clear of the launcher */
.scroll-top { bottom:5.6rem; }
@media (max-width:600px){ .scroll-top { bottom:5.6rem; } }
