
:root { --paper:#faf7f0; --ivory:#f1e9dc; --ink:#2a201b; --muted:#756a62; --blue:#8daab1; --gold:#bd9960; --line:rgba(42,32,27,.16); --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans),Arial,sans-serif; }
body::selection { background:#d9c8aa; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.eyebrow { margin:0 0 18px; color:var(--gold); font-size:.69rem; font-weight:650; letter-spacing:.2em; text-transform:uppercase; }
.wordmark { width:190px; height:50px; display:block; overflow:hidden; }
.brand-logo { width:100%; height:100%; object-fit:cover; object-position:center; mix-blend-mode:multiply; }

.global-header { position:relative; z-index:20; height:88px; padding:0 clamp(22px,4vw,64px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); background:rgba(250,247,240,.94); backdrop-filter:blur(12px); }
.texture-note { margin:0; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; }
.global-nav { justify-self:end; display:flex; align-items:center; gap:clamp(18px,2.3vw,38px); font-size:.78rem; }
.global-nav a { padding:10px 0; border-bottom:1px solid transparent; }
.global-nav a:hover { border-color:var(--gold); }
.global-nav .nav-shop { padding:12px 18px; border:1px solid var(--ink); }
.menu-button { display:none; border:0; background:none; color:var(--ink); font:inherit; }

.home-hero { min-height:calc(100svh - 88px); display:grid; grid-template-columns:minmax(0,52%) minmax(420px,48%); background:radial-gradient(circle at 22% 20%,#fff 0,transparent 30%),linear-gradient(120deg,#faf7f0,#eee5d7); }
.hero-copy-block { position:relative; padding:clamp(80px,11vh,130px) clamp(36px,7vw,120px) 74px clamp(50px,9vw,150px); display:flex; flex-direction:column; justify-content:center; }
.hero-copy-block::before { content:""; position:absolute; left:clamp(22px,3.5vw,56px); top:11%; bottom:11%; width:1px; background:var(--gold); }
.hero-copy-block::after { content:"01 / 04"; position:absolute; left:clamp(10px,2.45vw,41px); bottom:7%; color:var(--gold); font:11px Georgia,serif; writing-mode:vertical-rl; }
.home-hero h1,.catalog-hero h1,.detail-copy h1,.section-heading h2,.ritual-title-block h2,.shop-banner h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.052em; }
.home-hero h1 { margin:0; font-size:clamp(3.7rem,6.5vw,7.3rem); line-height:.88; }
.home-hero h1 em,.catalog-hero h1 em { font-weight:400; color:#756457; }
.hero-lede { max-width:520px; margin:32px 0 0; font:clamp(1rem,1.25vw,1.2rem)/1.7 Georgia,serif; }
.hero-actions { margin-top:32px; display:flex; align-items:center; gap:26px; }
.primary-cta,.light-cta,.amazon-cta { min-height:58px; display:inline-flex; align-items:center; justify-content:space-between; gap:42px; padding:0 24px; background:var(--blue); color:white; font-size:.84rem; transition:.22s ease; }
.primary-cta:hover,.light-cta:hover,.amazon-cta:hover { transform:translateY(-2px); background:#718f97; }
.primary-cta span,.light-cta span,.amazon-cta span { font-size:1.35rem; }
.text-link { padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:.78rem; }
.hero-stat { margin-top:auto; padding-top:58px; display:flex; align-items:center; gap:16px; color:var(--muted); }
.hero-stat strong { color:var(--ink); font:2.3rem Georgia,serif; }
.hero-stat span { font-size:.72rem; line-height:1.45; text-transform:uppercase; letter-spacing:.1em; }
.hero-product-stage { position:relative; min-width:0; overflow:hidden; display:grid; place-items:center; background:#e9dfd1; border-left:1px solid var(--line); }
.hero-product-stage::before { content:""; position:absolute; width:74%; aspect-ratio:1; border:1px solid rgba(189,153,96,.38); border-radius:50%; }
.hero-product-stage img { position:relative; z-index:1; width:min(74%,760px); max-height:78vh; object-fit:contain; mix-blend-mode:multiply; filter:drop-shadow(0 24px 30px rgba(52,39,29,.12)); animation:float-in .8s ease-out both; }
.stage-label { position:absolute; z-index:2; top:26px; right:30px; margin:0; font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; writing-mode:vertical-rl; }
.stage-card { position:absolute; z-index:3; left:30px; bottom:30px; width:210px; padding:20px; display:grid; gap:9px; background:rgba(255,253,248,.9); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.6); }
.stage-card span { color:var(--gold); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; }
.stage-card strong { font:1.18rem/1.12 Georgia,serif; }
.stage-card a { margin-top:8px; font-size:.73rem; }

.collection-section,.related-section { padding:clamp(76px,9vw,130px) clamp(24px,5vw,82px); }
.section-heading { margin-bottom:42px; display:flex; justify-content:space-between; align-items:end; gap:30px; }
.section-heading h2 { margin:0; font-size:clamp(2.5rem,4.4vw,5rem); line-height:.95; }
.section-heading>a { flex:none; padding-bottom:6px; border-bottom:1px solid var(--ink); font-size:.76rem; }
.featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.product-card { min-width:0; animation:rise .5s var(--delay) ease both; }
.product-image-wrap { position:relative; aspect-ratio:.82; overflow:hidden; display:grid; place-items:center; background:#eee6da; }
.product-image-wrap img { width:88%; height:88%; object-fit:contain; mix-blend-mode:multiply; transition:transform .45s ease; }
.product-card:hover .product-image-wrap img { transform:scale(1.035); }
.product-index { position:absolute; z-index:2; top:15px; left:16px; color:var(--gold); font:11px Georgia,serif; }
.view-chip { position:absolute; right:12px; bottom:12px; padding:10px 13px; background:rgba(255,253,248,.9); font-size:.68rem; opacity:0; transform:translateY(7px); transition:.25s ease; }
.product-card:hover .view-chip { opacity:1; transform:none; }
.product-card-copy { padding:17px 2px 0; }
.product-card-copy>p { margin:0 0 7px; color:var(--gold); font-size:.61rem; letter-spacing:.13em; text-transform:uppercase; }
.product-card-copy h3 { min-height:44px; margin:0; font:1.07rem/1.2 Georgia,serif; }
.card-actions { margin-top:15px; padding-top:12px; display:flex; justify-content:space-between; border-top:1px solid var(--line); font-size:.7rem; }
.amazon-small { color:#6e5b46; }

.ritual-section { padding:clamp(80px,10vw,150px) clamp(30px,8vw,135px); display:grid; grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr); gap:9vw; background:#283a3b; color:#f9f4e9; }
.ritual-title-block h2 { margin:0; font-size:clamp(3rem,5vw,5.6rem); line-height:.9; }
.ritual-title-block>p:last-child { max-width:460px; margin:30px 0 0; color:#c7d0cd; font:1rem/1.75 Georgia,serif; }
.ritual-list { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.2); }
.ritual-list li { padding:28px 0; display:grid; grid-template-columns:68px 1fr; border-bottom:1px solid rgba(255,255,255,.2); }
.ritual-list li>span { color:#cfad74; font:12px Georgia,serif; }
.ritual-list strong { font:1.55rem Georgia,serif; }
.ritual-list p { max-width:520px; margin:9px 0 0; color:#c7d0cd; font-size:.82rem; line-height:1.65; }
.shop-banner { padding:clamp(80px,10vw,150px) 30px; text-align:center; background:linear-gradient(120deg,#ede3d4,#f8f2e8); }
.shop-banner>p { margin:0 0 17px; color:var(--gold); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; }
.shop-banner h2 { max-width:900px; margin:0 auto 38px; font-size:clamp(3rem,5.5vw,6rem); line-height:.92; }

.catalog-hero { padding:clamp(75px,10vw,145px) clamp(28px,8vw,132px) 72px; display:grid; grid-template-columns:1.2fr .8fr; align-items:end; background:radial-gradient(circle at 20% 10%,#fff,transparent 38%),var(--ivory); }
.catalog-hero .eyebrow { grid-column:1/-1; }
.catalog-hero h1 { margin:0; font-size:clamp(4rem,7vw,7.8rem); line-height:.86; }
.catalog-hero>p:last-child { max-width:520px; justify-self:end; margin:0; color:var(--muted); font:1rem/1.75 Georgia,serif; }
.catalog-section { padding:0 clamp(22px,5vw,80px) clamp(90px,10vw,150px); }
.catalog-toolbar { position:sticky; z-index:10; top:0; margin:0 calc(clamp(22px,5vw,80px)*-1) 38px; padding:22px clamp(22px,5vw,80px); display:flex; flex-wrap:wrap; align-items:center; gap:9px; background:rgba(250,247,240,.94); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.catalog-toolbar button { border:1px solid var(--line); background:transparent; color:var(--ink); padding:10px 15px; cursor:pointer; font:inherit; font-size:.7rem; }
.catalog-toolbar button.active { border-color:var(--ink); background:var(--ink); color:white; }
.catalog-toolbar>span { margin-left:auto; color:var(--muted); font-size:.7rem; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:42px 18px; }

.product-detail { min-height:calc(100svh - 88px); display:grid; grid-template-columns:minmax(0,54%) minmax(420px,46%); }
.detail-image { position:relative; min-height:700px; display:grid; place-items:center; overflow:hidden; background:#eee5d7; border-right:1px solid var(--line); }
.detail-image::before { content:""; position:absolute; width:70%; aspect-ratio:1; border:1px solid rgba(189,153,96,.35); border-radius:50%; }
.detail-image img { position:relative; z-index:1; width:78%; height:78%; object-fit:contain; mix-blend-mode:multiply; filter:drop-shadow(0 24px 28px rgba(50,37,28,.1)); }
.vertical-detail-label { position:absolute; z-index:2; left:25px; bottom:25px; margin:0; color:var(--gold); font-size:.62rem; letter-spacing:.14em; writing-mode:vertical-rl; }
.detail-copy { padding:clamp(60px,8vw,120px) clamp(35px,6vw,100px); align-self:center; }
.back-link { display:inline-block; margin-bottom:58px; color:var(--muted); font-size:.72rem; }
.detail-copy h1 { margin:0; font-size:clamp(3.2rem,5.2vw,6.1rem); line-height:.9; }
.detail-description { max-width:560px; margin:30px 0; font:1.05rem/1.72 Georgia,serif; color:#594b42; }
.detail-features { margin:0 0 36px; padding:0; list-style:none; border-top:1px solid var(--line); }
.detail-features li { padding:18px 0; display:grid; grid-template-columns:46px 1fr; gap:10px; border-bottom:1px solid var(--line); font-size:.78rem; line-height:1.55; }
.detail-features span { color:var(--gold); font:11px Georgia,serif; }
.product-detail-rich { min-height:0; grid-template-columns:minmax(0,52%) minmax(420px,48%); align-items:start; }
.product-gallery { position:sticky; top:0; min-height:calc(100svh - 1px); padding:clamp(30px,5vw,76px); display:flex; flex-direction:column; justify-content:center; gap:20px; background:#eee5d7; border-right:1px solid var(--line); }
.detail-main-image { width:100%; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; background:#fff; }
.detail-main-image img { width:100%; height:100%; object-fit:contain; transition:opacity .18s ease; }
.detail-thumbnails { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.gallery-thumbnail { position:relative; aspect-ratio:1; padding:0; overflow:hidden; border:1px solid transparent; background:#fff; cursor:pointer; }
.gallery-thumbnail img { width:100%; height:100%; object-fit:cover; }
.gallery-thumbnail.active { border-color:var(--gold); }
.gallery-thumbnail:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.rich-detail-copy { align-self:start; padding-top:clamp(60px,7vw,105px); }
.rich-detail-copy .back-link { margin-bottom:42px; }
.rich-detail-copy h1 { font-size:clamp(2.15rem,3.55vw,4.65rem); line-height:1.02; letter-spacing:-.038em; }
.amazon-bullets { margin:42px 0 36px; }
.section-kicker { margin:0 0 12px; color:var(--muted); font-size:.68rem; font-weight:650; letter-spacing:.16em; text-transform:uppercase; }
.amazon-bullets ul { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.amazon-bullets li { padding:17px 0; display:grid; grid-template-columns:42px 1fr; gap:10px; border-bottom:1px solid var(--line); }
.amazon-bullets li span { padding-top:3px; color:var(--gold); font:11px Georgia,serif; }
.amazon-bullets li p { margin:0; font-size:.76rem; line-height:1.58; }
.aplus-section { padding:clamp(80px,10vw,145px) clamp(20px,8vw,140px); background:var(--white); }
.aplus-heading { max-width:970px; margin:0 auto 38px; }
.aplus-heading h2 { max-width:720px; margin:0; font:400 clamp(2.6rem,5vw,5.4rem)/.95 Georgia,"Times New Roman",serif; letter-spacing:-.052em; }
.aplus-images { max-width:970px; margin:0 auto; display:grid; gap:20px; }
.aplus-images img { width:100%; height:auto; background:#fff; }
.amazon-cta { min-width:245px; background:#2b3d3e; }
.retailer-note { max-width:390px; margin:15px 0 0; color:var(--muted); font-size:.65rem; line-height:1.5; }
.related-section { background:#f1e9dc; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }

.site-footer { padding:64px clamp(24px,5vw,82px) 28px; display:grid; grid-template-columns:1fr auto; gap:40px; background:#211b18; color:#f4eee5; }
.footer-wordmark { display:block; margin-bottom:12px; }
.footer-wordmark .brand-logo { filter:invert(1); mix-blend-mode:screen; }
.site-footer p { margin:0; color:#a99f98; font-size:.75rem; }
.footer-links { display:flex; gap:32px; align-items:start; font-size:.73rem; }
.footer-note { grid-column:1/-1; padding-top:25px; border-top:1px solid rgba(255,255,255,.14); }

@keyframes float-in { from { opacity:0; transform:translateY(25px) scale(.96); } to { opacity:1; transform:none; } }
@keyframes rise { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }

@media (max-width:1050px) {
  .texture-note { display:none; }
  .global-header { grid-template-columns:1fr auto; }
  .home-hero { grid-template-columns:1fr 46%; }
  .hero-copy-block { padding-left:68px; }
  .featured-grid,.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .product-detail { grid-template-columns:1fr 1fr; }
  .product-detail-rich { grid-template-columns:1fr 1fr; }
  .product-gallery { padding:32px; }
}

@media (max-width:760px) {
  .global-header { height:72px; padding:0 20px; }
  .wordmark { width:154px; height:42px; }
  .menu-button { display:block; }
  .global-nav { position:absolute; top:72px; left:0; right:0; padding:22px; display:none; flex-direction:column; align-items:stretch; gap:2px; background:var(--paper); border-bottom:1px solid var(--line); }
  .global-nav.is-open { display:flex; }
  .global-nav a { padding:14px 0; }
  .global-nav .nav-shop { margin-top:10px; text-align:center; }
  .home-hero { min-height:auto; grid-template-columns:1fr; }
  .hero-copy-block { min-height:620px; padding:86px 34px 55px 55px; }
  .hero-copy-block::before { left:25px; }
  .hero-copy-block::after { left:13px; }
  .home-hero h1 { font-size:clamp(3.4rem,15vw,5.4rem); }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-stat { padding-top:55px; }
  .hero-product-stage { min-height:590px; border-left:0; border-top:1px solid var(--line); }
  .hero-product-stage img { width:88%; }
  .collection-section,.related-section { padding:76px 20px; }
  .section-heading { align-items:start; flex-direction:column; }
  .featured-grid,.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 12px; }
  .ritual-section { padding:80px 25px; grid-template-columns:1fr; gap:55px; }
  .catalog-hero { padding:75px 25px 60px; grid-template-columns:1fr; gap:30px; }
  .catalog-hero h1 { font-size:clamp(3.5rem,16vw,5.7rem); }
  .catalog-hero>p:last-child { justify-self:start; }
  .catalog-section { padding-inline:12px; }
  .catalog-toolbar { margin-inline:-12px; padding:15px 12px; overflow-x:auto; flex-wrap:nowrap; }
  .catalog-toolbar button { flex:none; }
  .catalog-toolbar>span { display:none; }
  .product-detail { min-height:auto; grid-template-columns:1fr; }
  .product-detail-rich { grid-template-columns:1fr; }
  .product-gallery { position:relative; min-height:0; padding:24px 16px 28px; border-right:0; border-bottom:1px solid var(--line); }
  .detail-thumbnails { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .detail-image { min-height:520px; border-right:0; border-bottom:1px solid var(--line); }
  .detail-copy { padding:55px 24px 75px; }
  .rich-detail-copy h1 { font-size:clamp(2.35rem,10.8vw,4.2rem); }
  .amazon-bullets { margin-top:34px; }
  .aplus-section { padding:75px 20px; }
  .back-link { margin-bottom:45px; }
  .detail-copy h1 { font-size:clamp(3rem,14vw,5rem); }
  .related-grid { grid-template-columns:1fr; gap:38px; }
  .site-footer { grid-template-columns:1fr; }
  .footer-links { flex-direction:column; gap:15px; }
  .footer-note { grid-column:1; }
}

@media (max-width:430px) {
  .featured-grid,.product-grid { grid-template-columns:1fr; }
  .product-image-wrap { aspect-ratio:1; }
  .product-card-copy h3 { min-height:0; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
