:root{--cream:#fffaf4;--paper:#fffefd;--ink:#272839;--muted:#696978;--line:#e7e0dc;--blush:#f8dcd9;--sky:#dcecf5;--butter:#f8edbd;--lilac:#e9e1f3;--peach:#f5cdbd;--blue:#334a68;--white:#fff;--shadow:0 18px 55px rgba(50,43,57,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #bd6270;outline-offset:4px}img{display:block;max-width:100%}[hidden]{display:none!important}.skip{position:fixed;left:16px;top:-90px;z-index:100;background:white;padding:12px 16px;border-radius:8px}.skip:focus{top:16px}.preview{text-align:center;font-size:.75rem;background:var(--butter);padding:4px}.social-bar{min-height:40px;padding:7px max(5%,calc((100vw - 1340px)/2));display:flex;align-items:center;justify-content:flex-end;gap:22px;background:var(--ink);color:white;font-size:.75rem;letter-spacing:.04em}.social-bar>span{opacity:.65;text-transform:uppercase}.social-bar nav,[data-social-links]{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.social-link{min-height:28px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}.social-link:hover{border-color:currentColor}header{max-width:1440px;margin:auto;padding:22px 5%;display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--cream)}.wordmark{font:2.45rem/1 Georgia,serif;letter-spacing:-.06em}.wordmark span{color:#d2707f;font-size:.8rem;margin-left:.45rem;vertical-align:middle}header nav{display:flex;gap:34px;font-size:.84rem}header nav a{padding:10px 0;border-bottom:1px solid transparent}header nav a:hover{border-color:var(--ink)}.hero{max-width:1440px;margin:auto;min-height:650px;padding:46px 5% 78px;display:grid;grid-template-columns:1.02fr .98fr;gap:78px;align-items:center;position:relative}.hero:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line) 15%,var(--line) 85%,transparent)}.hero-copy{max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:650;color:#8b5e68;margin:0 0 18px}.hero h1{font:clamp(3.2rem,5.7vw,5.7rem)/.98 Georgia,serif;letter-spacing:-.055em;margin:0 0 28px}.hero h1 em{font-weight:400;color:#a85f70}.lede{max-width:580px;color:var(--muted);font-size:1.08rem;line-height:1.75;margin:0 0 30px}.button,.quiet-button{min-height:49px;padding:13px 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font-size:.84rem}.button{background:var(--ink);border:1px solid var(--ink);color:white}.button:hover{background:#414258}.quiet-button{background:white;border:1px solid var(--line)}.quiet-button:hover{border-color:#b98a91}.hero-promise{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:16px 28px;flex-wrap:wrap;color:var(--muted);font-size:.75rem}.hero-promise span:before{content:"✦";color:#d2707f;margin-right:8px}.hero-image{margin:0;position:relative;isolation:isolate;background:var(--white);border-radius:48% 48% 24px 24px;padding:36px 36px 18px;box-shadow:var(--shadow);overflow:hidden;max-width:570px;justify-self:end;width:100%}.hero-image:before,.hero-image:after{content:"";position:absolute;border-radius:50%;z-index:-1;filter:blur(1px)}.hero-image:before{width:160px;height:160px;background:var(--butter);left:-40px;top:40px}.hero-image:after{width:130px;height:130px;background:var(--lilac);right:-25px;bottom:90px}.hero-image img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}.hero-image figcaption{text-align:center;font:italic 1rem/1.5 Georgia,serif;color:#696272;padding:12px 8px}.section{max-width:1340px;margin:auto;padding:90px 40px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:40px}.section-heading h2,.story h2,.contact h2,.follow h2{font:clamp(2.25rem,4vw,4.15rem)/1.03 Georgia,serif;letter-spacing:-.045em;margin:0}.section-heading>p{font-size:.9rem;line-height:1.8;color:var(--muted);margin:0 0 7px}.favorites{padding-top:100px}.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 22px}.product{min-width:0;display:flex;flex-direction:column}.product-picture{position:relative;overflow:hidden;background:var(--white);border-radius:22px;box-shadow:0 1px 0 var(--line)}.product-picture:after{content:"";position:absolute;inset:auto 12% -28px;height:45px;background:rgba(71,58,76,.09);filter:blur(18px);border-radius:50%}.product-picture img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;padding:10px;transition:transform .3s ease;position:relative;z-index:1}.product:hover .product-picture img{transform:translateY(-3px) scale(1.018)}.product-category{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#926776;margin:20px 0 7px}.product h3{font:1.42rem/1.18 Georgia,serif;letter-spacing:-.025em;margin:0 0 11px}.product-description{font-size:.84rem;color:var(--muted);line-height:1.65;margin:0 0 14px}.product-options{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.product-link{display:inline-flex;align-items:center;min-height:38px;padding:7px 11px;border:1px solid #ddd3d5;border-radius:999px;background:rgba(255,255,255,.6);font-size:.72rem;line-height:1.25}.product-link:hover{background:white;border-color:#c68490}.prop-note{font-size:.7rem;color:#85818a;line-height:1.5;margin:11px 0 0}.note-band{margin:25px 0;background:linear-gradient(100deg,var(--sky),#f7ebf2 50%,var(--butter));padding:62px 20px;text-align:center}.note-band>span:first-child{color:#c86475;font-size:1.4rem}.note-band p{font:clamp(2rem,4vw,3.6rem)/1.1 Georgia,serif;letter-spacing:-.035em;margin:14px 0 22px}.note-band>span:last-child{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:#696272}.collection{padding-top:100px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:32px 0 12px}.filters button{min-height:44px;padding:10px 17px;border-radius:999px;border:1px solid #ded5d5;background:rgba(255,255,255,.55);color:#585565;font-size:.78rem}.filters button:hover{background:white}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.result-count{font-size:.75rem;color:#85818a;margin:15px 0 28px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px}.shop-note{text-align:center;font-size:.78rem;color:var(--muted);margin:50px auto 0}.error,.empty{grid-column:1/-1;text-align:center;padding:34px;background:white;border:1px solid var(--line);border-radius:18px}.error h3{font:1.8rem Georgia,serif}.story{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.story-art{min-height:540px;background:linear-gradient(145deg,var(--sky),#fff 52%,var(--blush));border-radius:24px;position:relative;padding:38px;display:flex;align-items:center;justify-content:center}.story-art img{width:min(100%,470px);height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}.story-card{position:absolute;right:-24px;bottom:42px;background:white;padding:24px 28px;border-radius:14px;box-shadow:var(--shadow);font:italic 1.1rem/1.55 Georgia,serif}.story-copy{max-width:470px}.story-copy>p:not(.eyebrow){color:var(--muted);font-size:.94rem;line-height:1.9;margin:26px 0}.text-link{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid #c88994;font-size:.84rem}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--lilac);max-width:none;padding-left:max(40px,calc((100vw - 1260px)/2));padding-right:max(40px,calc((100vw - 1260px)/2))}.contact-copy{max-width:520px}.contact-copy>p{margin:0 0 25px;color:#5f5d6e;line-height:1.85}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.follow{text-align:center}.follow [data-social-links]{justify-content:center;margin-top:27px;gap:12px}.follow .social-link{background:white;border:1px solid var(--line);border-radius:999px;padding:10px 17px;min-height:44px;font-size:.8rem}.follow .social-link:hover{border-color:#c68490}.follow h2{max-width:800px;margin:auto}footer{background:var(--ink);color:white;padding:55px max(5%,calc((100vw - 1260px)/2));display:grid;grid-template-columns:1fr 1fr;gap:38px}footer .wordmark{font-size:2.25rem}footer p{color:#cbcbd2;font-size:.8rem;max-width:390px}footer nav{display:flex;justify-content:flex-end;gap:26px;font-size:.8rem}footer nav a{padding:10px 0}.footer-bottom{grid-column:1/-1;border-top:1px solid #4d4e60;padding-top:22px;display:flex;justify-content:space-between;color:#aaaab5;font-size:.7rem}.notfound{min-height:60vh;text-align:center;padding:100px 25px}.notfound h1{font:3.5rem Georgia,serif}.notfound p{color:var(--muted)}
@media(max-width:1050px){.hero{gap:40px}.hero h1{font-size:4.1rem}.featured-grid,.product-grid{grid-template-columns:repeat(3,1fr)}.story{gap:50px}.section{padding-left:30px;padding-right:30px}.contact{padding-left:30px;padding-right:30px}}
@media(max-width:760px){.social-bar{justify-content:flex-start;overflow-x:auto;padding:8px 20px;gap:16px;white-space:nowrap}.social-bar nav{flex-wrap:nowrap}.social-bar>span{display:none}header{padding:18px 20px}.wordmark{font-size:2rem}header nav{gap:16px;font-size:.75rem}header nav a:nth-child(2){display:none}.hero{grid-template-columns:1fr;gap:35px;padding:40px 22px 55px;min-height:0}.hero h1{font-size:clamp(3rem,14vw,4.2rem)}.lede{font-size:1rem}.hero-promise{gap:10px 18px}.hero-image{justify-self:center;max-width:520px;padding:24px 24px 12px}.section{padding:65px 22px}.section-heading{display:block}.section-heading>p{margin-top:20px}.featured-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 15px}.product h3{font-size:1.22rem}.product-description{font-size:.8rem}.product-link{font-size:.7rem}.note-band{padding:46px 22px}.story{grid-template-columns:1fr;gap:38px}.story-art{min-height:390px;padding:25px}.story-card{right:12px;bottom:16px;padding:17px;font-size:.95rem}.contact{grid-template-columns:1fr;gap:28px;padding:65px 22px}.follow [data-social-links]{gap:8px}footer{grid-template-columns:1fr;padding:42px 22px}footer nav{justify-content:flex-start;flex-wrap:wrap}.footer-bottom{grid-column:1;flex-direction:column;gap:7px}}
@media(max-width:390px){header nav{gap:11px}.hero{padding-left:17px;padding-right:17px}.section{padding-left:17px;padding-right:17px}.featured-grid,.product-grid{gap:30px 11px}.product h3{font-size:1.08rem}.product-category{font-size:.65rem}.filters button{padding:9px 12px}.contact{padding-left:17px;padding-right:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-picture img{transition:none}}

/* Editorial image system: emotion first, catalog second */
.hero{max-width:1600px;min-height:min(760px,78vh);padding:82px max(5%,calc((100vw - 1380px)/2));display:flex;align-items:center;position:relative;overflow:hidden;isolation:isolate;background:#ddd0be}
.hero:before{display:none}
.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(24,25,26,.7) 0%,rgba(30,28,25,.54) 35%,rgba(30,28,25,.08) 67%,rgba(30,28,25,.02) 100%)}
.hero-copy{max-width:610px;color:white;text-shadow:0 2px 25px rgba(20,18,16,.16)}
.hero .eyebrow{color:#f6e5d8}
.hero h1{font-size:clamp(3.4rem,6vw,6.5rem);line-height:.94}
.hero h1 em{color:#f2c7bb}
.hero .lede{max-width:530px;color:rgba(255,255,255,.9)}
.hero .button{background:white;color:var(--ink);border-color:white;text-shadow:none}
.hero .button:hover{background:#f7eee8}
.hero-caption{position:absolute;right:5%;bottom:28px;margin:0;color:rgba(255,255,255,.9);font:italic 1rem Georgia,serif;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.story-art{min-height:540px;background:#eee4d6;border-radius:24px;position:relative;padding:0;overflow:visible}
.story-art img{width:100%;height:100%;min-height:540px;position:absolute;inset:0;object-fit:cover;aspect-ratio:auto;mix-blend-mode:normal;border-radius:24px}

@media(max-width:760px){
  .hero{padding:62px 22px 76px;min-height:660px;align-items:flex-end}
  .hero-backdrop{object-position:62% center}
  .hero-shade{background:linear-gradient(0deg,rgba(24,22,20,.84) 0%,rgba(24,22,20,.56) 45%,rgba(24,22,20,.04) 78%)}
  .hero h1{font-size:clamp(3.05rem,14vw,4.35rem)}
  .hero-caption{display:none}
  .story-art,.story-art img{min-height:390px}
}

/* V4: four-product emotional carousel */
.hero-carousel{position:relative;max-width:1600px;margin:0 auto;background:#293027;color:white;overflow:hidden}
.carousel-track{position:relative;min-height:690px}
.carousel-slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(380px,42%) minmax(0,58%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
.carousel-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.slide-copy{padding:86px max(54px,calc((100vw - 1380px)/2));padding-right:70px;align-self:center}
.slide-copy .eyebrow{color:#bec9ad}
.slide-copy h1,.slide-copy h2{max-width:570px;font:clamp(3.7rem,5.8vw,6.8rem)/.91 Georgia,serif;letter-spacing:-.058em;margin:0 0 28px;color:white}
.slide-copy>p:not(.eyebrow){max-width:500px;color:rgba(255,255,255,.78);font-size:1.08rem;line-height:1.75;margin:0 0 31px}
.slide-copy .button{background:#f4f1ea;color:#20241f;border-color:#f4f1ea}
.slide-copy .button:hover{background:white}
.slide-image{display:block;min-width:0;min-height:690px;background:#e7e3da;overflow:hidden}
.slide-image img{width:100%;height:100%;min-height:690px;object-fit:cover;transition:transform .7s ease}
.slide-image:hover img{transform:scale(1.012)}
.carousel-controls{position:absolute;left:max(54px,calc((100vw - 1380px)/2));bottom:28px;z-index:4;display:flex;align-items:center;gap:15px}
.carousel-arrow{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);background:transparent;color:white;display:grid;place-items:center;font-size:1rem}
.carousel-arrow:hover{background:rgba(255,255,255,.1)}
.carousel-dots{display:flex;gap:9px}
.carousel-dots button{width:28px;height:3px;border:0;padding:0;background:rgba(255,255,255,.3)}
.carousel-dots button[aria-selected=true]{background:white}

@media(max-width:900px){
  .carousel-track{min-height:0}
  .carousel-slide{grid-template-columns:1fr}
  .slide-copy{padding:66px 34px 82px}
  .slide-copy h1,.slide-copy h2{font-size:clamp(3.6rem,10vw,5.7rem)}
  .slide-image{min-height:0}
  .slide-image img{min-height:0;aspect-ratio:1.25;object-position:center}
  .carousel-controls{left:34px;bottom:auto;top:calc(50% - 21px)}
}

@media(max-width:760px){
  .slide-copy{padding:55px 22px 78px}
  .slide-copy h1,.slide-copy h2{font-size:clamp(3.1rem,14vw,4.45rem)}
  .slide-copy>p:not(.eyebrow){font-size:1rem}
  .slide-image img{aspect-ratio:1.08;object-position:center}
  .carousel-controls{left:22px;top:auto;bottom:calc(51vw + 20px)}
  .carousel-arrow{width:38px;height:38px}
}

@media(prefers-reduced-motion:reduce){.carousel-slide,.slide-image img{transition:none}}

/* V3: rectangular, product-led editorial layout */
:root{--cream:#f4f1ea;--paper:#fbfaf7;--ink:#20241f;--muted:#62675f;--line:#d8d5cc;--olive:#59624b;--walnut:#4a3024;--white:#fff;--shadow:0 16px 42px rgba(31,35,29,.09)}
body{background:var(--paper)}
header{max-width:none;padding-left:max(5%,calc((100vw - 1380px)/2));padding-right:max(5%,calc((100vw - 1380px)/2));background:var(--paper);border-bottom:1px solid var(--line)}
.wordmark span{color:var(--olive)}
.hero.hero-product{max-width:none;min-height:690px;padding:0;display:grid;grid-template-columns:minmax(380px,42%) minmax(0,58%);background:#293027;color:white;overflow:hidden}
.hero-product .hero-copy{max-width:none;padding:86px max(54px,calc((100vw - 1380px)/2));padding-right:70px;align-self:center;color:white;text-shadow:none}
.hero-product .eyebrow{color:#bec9ad}
.hero-product h1{max-width:560px;font:clamp(3.7rem,5.8vw,6.8rem)/.91 Georgia,serif;letter-spacing:-.058em;margin:0 0 30px;color:#fff}
.hero-product .lede{max-width:510px;color:rgba(255,255,255,.78);font-size:1.08rem}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.hero-product .button{background:#f4f1ea;color:#20241f;border-color:#f4f1ea}
.hero-product .button:hover{background:#fff}
.hero-link{display:inline-flex;min-height:48px;align-items:center;border-bottom:1px solid rgba(255,255,255,.42);font-size:.84rem;color:white}
.hero-detail{margin:32px 0 0;color:#bec9ad;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.hero-visual{margin:0;min-width:0;position:relative;background:#e9e5dc}
.hero-visual img{width:100%;height:100%;min-height:690px;object-fit:cover;object-position:center}
.hero-visual figcaption{position:absolute;right:24px;bottom:20px;padding:9px 12px;background:rgba(249,247,241,.9);color:#293027;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.featured-devotion{max-width:1380px;margin:0 auto;padding:108px 40px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:9%;align-items:center;border-bottom:1px solid var(--line)}
.featured-devotion-image{background:#eeece6;padding:42px;aspect-ratio:1.15;display:flex;align-items:center;justify-content:center}
.featured-devotion-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.featured-devotion-copy{max-width:510px}
.featured-devotion-copy h2{font:clamp(2.7rem,4.4vw,4.8rem)/.98 Georgia,serif;letter-spacing:-.05em;margin:0 0 28px;color:var(--ink)}
.featured-devotion-copy>p:not(.eyebrow){color:var(--muted);line-height:1.9;margin:0 0 27px}
.eyebrow{color:var(--olive)}
.favorites{padding-top:90px}
.product-picture{border-radius:0;background:#f1efe9;box-shadow:none}
.product-picture img{padding:16px}
.note-band{background:#e3e6dc;color:#293027}
.note-band>span:first-child{color:var(--olive)}
.story-art,.story-art img{border-radius:0}
.story-card{right:22px;bottom:22px;border-radius:0;border-left:3px solid var(--olive)}
.filters button,.product-link{border-radius:2px}
.filters button[aria-pressed=true]{background:#293027;border-color:#293027}

@media(max-width:900px){
  .hero.hero-product{grid-template-columns:1fr;min-height:0}
  .hero-product .hero-copy{padding:66px 34px 58px}
  .hero-product h1{font-size:clamp(3.6rem,10vw,5.7rem)}
  .hero-visual img{min-height:0;aspect-ratio:1.25;object-position:center}
  .featured-devotion{grid-template-columns:1fr;gap:44px;padding:78px 30px}
  .featured-devotion-copy{max-width:660px}
}

@media(max-width:760px){
  .hero.hero-product{padding:0;display:grid;align-items:stretch;min-height:0}
  .hero-product .hero-copy{padding:56px 22px 48px}
  .hero-product h1{font-size:clamp(3.15rem,14vw,4.5rem)}
  .hero-product .lede{font-size:1rem}
  .hero-detail{line-height:1.7}
  .hero-visual img{aspect-ratio:1.08;object-position:58% center}
  .hero-visual figcaption{right:12px;bottom:12px}
  .featured-devotion{padding:64px 22px;gap:35px}
  .featured-devotion-image{padding:24px;aspect-ratio:1}
  .featured-devotion-copy h2{font-size:clamp(2.55rem,12vw,3.8rem)}
}

/* Phone layout: keep the product unobstructed and prevent narrow-screen overflow. */
@media(max-width:760px){
  header nav{display:none}
  .hero-carousel .carousel-controls{display:none}
  .hero-carousel .slide-copy{min-width:0;overflow:hidden}
  .hero-carousel .slide-copy>p:not(.eyebrow){width:calc(100vw - 44px);max-width:calc(100vw - 44px);overflow-wrap:anywhere}
}
