@font-face {
font-family: 'Frank Ruhl Libre';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts/frank-ruhl-libre-400-hebrew.woff2) format('woff2');
unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
font-family: 'Frank Ruhl Libre';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts/frank-ruhl-libre-400-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Frank Ruhl Libre';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts/frank-ruhl-libre-500-hebrew.woff2) format('woff2');
unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
font-family: 'Frank Ruhl Libre';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts/frank-ruhl-libre-500-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Frank Ruhl Libre';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts/frank-ruhl-libre-700-hebrew.woff2) format('woff2');
unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
font-family: 'Frank Ruhl Libre';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts/frank-ruhl-libre-700-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts/heebo-300-hebrew.woff2) format('woff2');
unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts/heebo-300-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts/heebo-400-hebrew.woff2) format('woff2');
unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts/heebo-400-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts/heebo-500-hebrew.woff2) format('woff2');
unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts/heebo-500-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts/heebo-600-hebrew.woff2) format('woff2');
unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts/heebo-600-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts/heebo-700-hebrew.woff2) format('woff2');
unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
font-family: 'Heebo';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts/heebo-700-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
--ivory:#FBF7F0;
--sand:#EFE6D8;
--card:#F6F0E6;
--ink:#211C17;
--ink-soft:#4A423A;
--gold:#AD8A55;
--gold-deep:#8A6B3D;
--gold-light:#D9C3A0;
--espresso:#1C1610;
--line: rgba(33,28,23,0.12);
--shadow: 0 20px 60px -25px rgba(28,22,16,0.35);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
background:var(--ivory);
color:var(--ink);
font-family:'Heebo',sans-serif;
font-weight:300;
line-height:1.7;
overflow-x:hidden;
}
h1,h2,h3,.serif{font-family:'Frank Ruhl Libre',serif;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 32px;}
.eyebrow{
font-family:'Heebo',sans-serif;
font-size:12.5px;
letter-spacing:.28em;
font-weight:600;
color:var(--gold-deep);
display:flex;
align-items:center;
gap:14px;
}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);display:inline-block;}
.reveal{opacity:0; transform:translateY(28px); transition:opacity .9s cubic-bezier(.2,.7,.3,1), transform .9s cubic-bezier(.2,.7,.3,1);}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
.reveal{opacity:1; transform:none; transition:none;}
html{scroll-behavior:auto;}
}
@media print{
.reveal{opacity:1 !important; transform:none !important;}
header.nav{position:absolute;}
.hero-bg{animation:none; transform:none;}
*{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; color-adjust:exact !important; }
.hero, .ritual, .cta, .texture-banner, footer{ break-inside:avoid; }
.product-card{ break-inside:avoid; }
}
.stats-bar{
position:relative; z-index:2; background:var(--ivory); border-top:1px solid var(--line);
-webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.stats-inner{ display:grid; grid-template-columns:repeat(3,1fr); text-align:center; }
.stat-item{ padding:36px 20px; border-left:1px solid var(--line); }
.stat-item:last-child{ border-left:none; }
.stat-num{ font-family:'Frank Ruhl Libre',serif; font-size:36px; font-weight:600; color:var(--gold-deep); }
.stat-label{ font-size:12.5px; letter-spacing:.08em; color:var(--ink-soft); margin-top:6px; }
@media (max-width:700px){ .stats-inner{grid-template-columns:1fr;} .stat-item{border-left:none; border-top:1px solid var(--line);} .stat-item:first-child{border-top:none;} }
.reviews{ padding:120px 0 130px; background:var(--card); }
.reviews-head{ text-align:center; max-width:560px; margin:0 auto 60px; }
.reviews-head .eyebrow{ justify-content:center; }
.reviews-head h2{ font-size:clamp(30px,4vw,44px); font-weight:500; margin-top:16px; }
.review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line); }
.review-card{ background:var(--ivory); padding:36px 32px; display:flex; flex-direction:column; }
.review-stars{ color:var(--gold-deep); letter-spacing:3px; font-size:14px; margin-bottom:18px; }
.review-card p{ font-size:15px; color:var(--ink); flex:1; margin-bottom:22px; line-height:1.75; }
.review-name{ font-size:13.5px; color:var(--ink-soft); font-weight:500; }
.review-name b{ color:var(--ink); }
@media (max-width:900px){ .review-grid{grid-template-columns:1fr;} }
header.nav{
position:fixed; top:0; right:0; left:0; z-index:100;
padding:22px 0;
transition:background .4s ease, padding .4s ease, box-shadow .4s ease;
}
header.nav.scrolled{
background:rgba(251,247,240,0.92);
backdrop-filter:blur(10px);
padding:14px 0;
box-shadow:0 1px 0 var(--line);
}
.nav-inner{display:flex; align-items:center; justify-content:space-between;}
.logo{
font-family:'Frank Ruhl Libre',serif;
font-size:24px; letter-spacing:.12em; font-weight:600;
color:var(--ivory);
transition:color .4s ease;
}
header.nav.scrolled .logo{color:var(--ink);}
.nav-links{display:flex; gap:38px; font-size:14.5px; letter-spacing:.02em;}
.nav-links a{
color:var(--ivory); opacity:.88; position:relative; padding-bottom:4px; transition:color .4s ease, opacity .3s ease;
}
header.nav.scrolled .nav-links a{color:var(--ink-soft);}
.nav-links a::after{content:'';position:absolute;right:0;bottom:0;width:0;height:1px;background:var(--gold-deep);transition:width .35s ease;}
.nav-links a:hover::after{width:100%;}
.nav-links a:hover{opacity:1;}
.nav-cta{
border:1px solid var(--ivory); color:var(--ivory);
padding:10px 24px; font-size:13px; letter-spacing:.08em; border-radius:2px;
transition:all .4s ease;
}
header.nav.scrolled .nav-cta{border-color:var(--ink); color:var(--ink);}
.nav-cta:hover{background:var(--ivory); color:var(--espresso);}
header.nav.scrolled .nav-cta:hover{background:var(--ink); color:var(--ivory);}
.burger{display:none;}
@media (max-width:680px){
.nav-cta{ display:none; }
.logo{ font-size:19px; }
.nav-login{ padding:8px 12px; font-size:11.5px; }
.nav-actions{ gap:8px; }
.container{ padding:0 16px; }
}
.hero{
position:relative; height:100vh; min-height:640px;
display:flex; align-items:flex-end;
overflow:hidden;
}
.hero-bg{
position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 25%;
transform:scale(1.08);
animation:heroZoom 16s ease-out forwards;
}
@keyframes heroZoom{ to{ transform:scale(1); } }
.hero-scrim{
position:absolute; inset:0;
background:linear-gradient(180deg, rgba(20,15,10,.42) 0%, rgba(20,15,10,.18) 32%, rgba(20,15,10,.55) 78%, rgba(15,11,7,.86) 100%);
}
.hero-content{
position:relative; z-index:2; width:100%;
padding:0 32px 96px;
max-width:1180px; margin:0 auto;
color:var(--ivory);
}
.hero-eyebrow{
font-size:12.5px; letter-spacing:.32em; font-weight:500; color:var(--gold-light);
display:flex; align-items:center; gap:14px; margin-bottom:22px;
}
.hero-eyebrow::before{content:'';width:36px;height:1px;background:var(--gold-light);}
.hero h1{
font-size:clamp(52px, 9vw, 108px);
font-weight:500; letter-spacing:.03em;
line-height:.95;
margin-bottom:22px;
}
.hero h1 em{font-style:italic; font-weight:300; color:var(--gold-light);}
.hero p{
font-size:18px; font-weight:300; max-width:480px; color:rgba(251,247,240,.88);
margin-bottom:38px;
}
.hero-actions{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.btn-primary{
background:var(--ivory); color:var(--espresso);
padding:16px 36px; font-size:14px; letter-spacing:.1em; font-weight:500;
border-radius:2px; display:inline-block; transition:all .35s ease;
border:1px solid var(--ivory);
}
.btn-primary:hover{background:transparent; color:var(--ivory);}
.link-underline{
font-size:14px; letter-spacing:.05em; border-bottom:1px solid rgba(251,247,240,.5); padding-bottom:6px;
transition:border-color .3s ease;
}
.link-underline:hover{border-color:var(--ivory);}
.scroll-cue{
position:absolute; bottom:34px; left:32px; z-index:2;
color:var(--ivory); font-size:11px; letter-spacing:.2em; opacity:.75;
display:flex; flex-direction:column; align-items:center; gap:10px;
}
.scroll-cue .line{width:1px; height:46px; background:linear-gradient(180deg, rgba(251,247,240,.9), transparent); animation:scrollLine 2.2s ease-in-out infinite;}
@keyframes scrollLine{0%{transform:scaleY(0); transform-origin:top;} 50%{transform:scaleY(1); transform-origin:top;} 51%{transform-origin:bottom;} 100%{transform:scaleY(0); transform-origin:bottom;}}
.story{
padding:140px 0 90px;
background:var(--ivory);
}
.founder-section{ padding-top:0; }
.story-grid{
display:grid; grid-template-columns:0.9fr 1.1fr; gap:80px; align-items:center;
}
.story-img-wrap{position:relative;}
.story-img-wrap img{
width:100%; border-radius:2px; box-shadow:var(--shadow);
}
.story-img-wrap::before{
content:''; position:absolute; top:-24px; right:-24px; width:70%; height:70%;
border:1px solid var(--gold); z-index:-1;
}
.story h2{
font-size:clamp(32px,4vw,46px); font-weight:500; line-height:1.25; margin:20px 0 26px;
}
.story p{color:var(--ink-soft); font-size:16.5px; margin-bottom:18px; max-width:480px;}
.story-quote{
margin-top:32px; padding-right:22px; border-right:2px solid var(--gold);
font-family:'Frank Ruhl Libre',serif; font-style:italic; font-size:19px; color:var(--ink);
}
.founder-grid{ grid-template-columns:1.1fr 0.9fr; }
.founder-eyebrow-wrap{ display:flex; align-items:center; gap:18px; margin-bottom:26px; flex-wrap:wrap; }
.founder-eyebrow{
font-family:'Frank Ruhl Libre',serif;
font-size:clamp(30px, 3.6vw, 42px);
font-weight:600;
letter-spacing:.02em;
line-height:1.15;
background:linear-gradient(100deg, var(--gold-deep) 20%, #f2d9a8 38%, #fff6e0 48%, #f2d9a8 58%, var(--gold-deep) 80%);
background-size:250% auto;
-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
animation:shimmer 4.5s linear infinite;
}
.twinkle-stars{ display:flex; align-items:center; gap:6px; }
.twinkle-star{
color:var(--gold); font-size:15px; line-height:1; display:inline-block;
animation:twinkle 2.4s ease-in-out infinite;
}
.twinkle-star:nth-child(1){ animation-delay:0s; font-size:11px; }
.twinkle-star:nth-child(2){ animation-delay:.5s; font-size:19px; }
.twinkle-star:nth-child(3){ animation-delay:1.1s; font-size:13px; }
@keyframes shimmer{ 0%{ background-position:0% center; } 100%{ background-position:-250% center; } }
@keyframes twinkle{ 0%,100%{ opacity:.15; transform:scale(.75); } 50%{ opacity:1; transform:scale(1.1); } }
@media (prefers-reduced-motion: reduce){ .founder-eyebrow{ animation:none; } .twinkle-star{ animation:none; opacity:.8; } }
@media (max-width:480px){ .founder-eyebrow{ font-size:26px; } }
.founder-img-wrap{ order:2; }
.founder-img-wrap::before{ right:auto; left:-24px; }
.founder-sign{
margin-top:22px; font-family:'Frank Ruhl Libre',serif; font-style:italic; font-size:16px; color:var(--gold-deep);
}
.founder-social{
margin-top:34px; display:flex; align-items:center; gap:22px; flex-wrap:wrap;
background:linear-gradient(120deg, rgba(173,138,85,.12), rgba(173,138,85,.04));
border:1px solid var(--gold); border-radius:4px; padding:24px 26px;
}
.founder-social-label{ font-size:16px; font-weight:600; color:var(--ink); letter-spacing:.01em; }
.social-icon{
display:flex; align-items:center; justify-content:center; width:60px; height:60px;
border:1px solid var(--gold); border-radius:50%; color:var(--gold-deep); background:var(--ivory);
transition:all .3s ease; box-shadow:0 6px 18px -6px rgba(173,138,85,.4);
}
.social-icon svg{ width:27px; height:27px; }
.social-icon:hover{ background:var(--gold-deep); border-color:var(--gold-deep); color:var(--ivory); transform:translateY(-3px) scale(1.05); box-shadow:0 10px 26px -6px rgba(173,138,85,.55); }
@media (max-width:480px){ .founder-social{ padding:20px; gap:16px; } .founder-social-label{ font-size:14.5px; } .social-icon{ width:52px; height:52px; } .social-icon svg{ width:23px; height:23px; } }
.nav-social{ width:38px; height:38px; border-color:rgba(251,247,240,.35); background:transparent; box-shadow:none; color:var(--ivory); }
.nav-social svg{ width:17px; height:17px; }
header.nav.scrolled .nav-social{ border-color:var(--line); color:var(--ink); }
@media (max-width:640px){ .nav-social{ display:none; } }
@media (max-width:900px){ .founder-grid{ grid-template-columns:1fr; } .founder-img-wrap{ order:0; } }
.ritual{ position:relative; background:var(--espresso); color:var(--ivory); padding:130px 0 120px; overflow:hidden;}
.ritual .container{position:relative; z-index:2;}
.ritual-head{text-align:center; max-width:640px; margin:0 auto 76px;}
.ritual-head .eyebrow{justify-content:center; color:var(--gold-light);}
.ritual-head .eyebrow::before{background:var(--gold-light);}
.ritual-head h2{font-size:clamp(30px,4vw,44px); font-weight:500; margin-top:18px; line-height:1.3;}
.ritual-split{
display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(251,247,240,.15);
}
.ritual-panel{
padding:56px 48px; position:relative;
transition:background .5s ease;
}
.ritual-panel.day{ background:linear-gradient(160deg, rgba(217,195,160,.14), transparent); border-left:1px solid rgba(251,247,240,.15);}
.ritual-panel.night{ background:linear-gradient(160deg, rgba(0,0,0,.25), transparent);}
.ritual-time{ font-family:'Frank Ruhl Libre',serif; font-size:15px; letter-spacing:.15em; color:var(--gold-light); margin-bottom:14px;}
.ritual-panel h3{font-size:30px; font-weight:500; margin-bottom:16px;}
.ritual-panel p{color:rgba(251,247,240,.72); font-size:15.5px; margin-bottom:26px; max-width:360px;}
.ritual-tag{
display:inline-flex; align-items:center; gap:10px; font-size:13px; letter-spacing:.06em; color:var(--gold-light);
}
.ritual-tag::before{content:'●'; font-size:8px;}
.collection{ padding:140px 0 120px; }
.collection-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:64px; flex-wrap:wrap; gap:24px;}
.collection-head h2{font-size:clamp(32px,4vw,48px); font-weight:500; margin-top:18px;}
.collection-head p{max-width:400px; color:var(--ink-soft); font-size:15.5px;}
.product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--line);}
.product-card{
background:var(--card); padding:0; position:relative; overflow:hidden;
display:flex; flex-direction:column; min-height:520px;
transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.product-card .p-img{ height:290px; overflow:hidden; position:relative;}
.product-card .p-img img{ width:100%; height:100%; object-fit:cover; transition:transform .7s ease;}
.product-card:hover .p-img img{transform:scale(1.07);}
.p-body{ padding:28px 26px 32px; display:flex; flex-direction:column; flex:1;}
.p-step{ font-size:12px; letter-spacing:.18em; color:var(--gold-deep); font-weight:600; margin-bottom:10px;}
.p-body h3{ font-family:'Frank Ruhl Libre',serif; font-size:21px; font-weight:500; margin-bottom:10px; line-height:1.3;}
.p-body p{ font-size:14px; color:var(--ink-soft); flex:1; margin-bottom:18px;}
.p-footer{ display:flex; align-items:center; justify-content:space-between; gap:12px;}
.p-price{ font-family:'Frank Ruhl Libre',serif; font-size:20px; font-weight:600; color:var(--gold-deep); white-space:nowrap;}
.p-link{ font-size:12.5px; letter-spacing:.08em; border-bottom:1px solid var(--gold); padding-bottom:4px; align-self:flex-start; color:var(--gold-deep); font-weight:500;}
.bundle-note{
margin-top:2px; background:var(--espresso); color:var(--ivory); text-align:center;
padding:34px 24px; display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap;
}
.bundle-note span{font-size:15px; color:rgba(251,247,240,.8);}
.bundle-note b{font-family:'Frank Ruhl Libre',serif; font-size:24px; color:var(--gold-light); font-weight:600;}
.bundle-feature{ padding:0 0 140px; }
.bundle-card{
position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:stretch;
background:var(--espresso); color:var(--ivory); border-radius:2px; overflow:hidden; box-shadow:var(--shadow);
}
.bundle-img-wrap{ position:relative; min-height:420px; }
.bundle-img-wrap img{ width:100%; height:100%; object-fit:cover; display:block; }
.bundle-badge{
position:absolute; top:26px; right:26px; background:var(--gold); color:var(--espresso);
font-size:12px; letter-spacing:.1em; font-weight:700; padding:9px 18px; border-radius:2px;
box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.bundle-content{ padding:56px 52px; display:flex; flex-direction:column; justify-content:center; }
.bundle-content .eyebrow{ color:var(--gold-light); margin-bottom:16px; }
.bundle-content .eyebrow::before{ background:var(--gold-light); }
.bundle-content h3{ font-family:'Frank Ruhl Libre',serif; font-size:clamp(28px,3vw,38px); font-weight:500; margin-bottom:16px; line-height:1.25; }
.bundle-content > p{ color:rgba(251,247,240,.72); font-size:15px; margin-bottom:28px; max-width:420px; }
.bundle-list{ list-style:none; margin-bottom:32px; display:flex; flex-direction:column; gap:12px; }
.bundle-list li{ display:flex; align-items:center; gap:12px; font-size:14.5px; color:rgba(251,247,240,.88); }
.bundle-list li::before{ content:'✓'; color:var(--gold-light); font-weight:700; font-size:13px; }
.bundle-price-row{ display:flex; align-items:baseline; gap:14px; margin-bottom:26px; }
.bundle-price-row .price-now{ font-family:'Frank Ruhl Libre',serif; font-size:40px; font-weight:600; color:var(--gold-light); }
.bundle-price-row .price-label{ font-size:13px; color:rgba(251,247,240,.6); }
.bundle-add-btn{
background:var(--gold); color:var(--espresso); border:none; padding:18px 32px; font-size:14.5px;
font-weight:600; letter-spacing:.04em; border-radius:2px; cursor:pointer; font-family:'Heebo',sans-serif;
width:fit-content; transition:all .35s ease;
}
.bundle-add-btn:hover{ background:var(--gold-light); }
@media (max-width:860px){
.bundle-card{ grid-template-columns:1fr; }
.bundle-img-wrap{ min-height:300px; }
.bundle-content{ padding:40px 30px; }
}
.nav-login{
background:transparent; border:1px solid var(--ivory); color:var(--ivory);
padding:10px 22px; font-size:13px; letter-spacing:.06em; border-radius:2px; cursor:pointer;
font-family:'Heebo',sans-serif; transition:all .35s ease;
}
header.nav.scrolled .nav-login{border-color:var(--ink); color:var(--ink);}
.nav-login:hover{background:var(--ivory); color:var(--espresso);}
header.nav.scrolled .nav-login:hover{background:var(--ink); color:var(--ivory);}
.nav-actions{display:flex; align-items:center; gap:14px;}
.cart-btn{
position:relative; background:transparent; border:none; cursor:pointer;
color:var(--ivory); padding:8px; display:flex; align-items:center;
transition:color .4s ease;
}
header.nav.scrolled .cart-btn{color:var(--ink);}
.cart-btn svg{width:22px; height:22px;}
.cart-count{
position:absolute; top:-2px; left:-2px; background:var(--gold-deep); color:var(--ivory);
font-size:10.5px; font-weight:600; width:18px; height:18px; border-radius:50%;
display:flex; align-items:center; justify-content:center; line-height:1;
}
.cart-overlay{
position:fixed; inset:0; background:rgba(20,15,10,.5); z-index:200;
opacity:0; pointer-events:none; transition:opacity .4s ease;
}
.cart-overlay.open{opacity:1; pointer-events:auto;}
.join-modal{
position:fixed; top:50%; left:50%; transform:translate(-50%,-46%); z-index:301;
width:min(440px, 90vw); background:var(--ivory); border-radius:4px; box-shadow:0 30px 80px rgba(0,0,0,.3);
opacity:0; pointer-events:none; transition:opacity .4s ease, transform .4s ease;
padding:40px 36px;
}
.join-modal.open{ opacity:1; pointer-events:auto; transform:translate(-50%,-50%); }
.join-close{ position:absolute; top:18px; left:18px; background:none; border:none; font-size:20px; cursor:pointer; color:var(--ink-soft); }
.join-modal h3{ font-family:'Frank Ruhl Libre',serif; font-size:26px; font-weight:500; margin-bottom:10px; }
.join-modal p.join-sub{ color:var(--ink-soft); font-size:14.5px; margin-bottom:26px; }
.join-modal input{
width:100%; background:var(--card); border:1px solid var(--line); color:var(--ink);
padding:15px 16px; font-family:'Heebo',sans-serif; font-size:14.5px; border-radius:2px; margin-bottom:14px;
}
.join-modal input:focus{ outline:none; border-color:var(--gold); }
.join-modal button[type="submit"]{
width:100%; background:var(--espresso); color:var(--ivory); border:none; padding:16px;
font-size:14px; letter-spacing:.06em; font-weight:500; border-radius:2px; cursor:pointer; margin-top:6px;
font-family:'Heebo',sans-serif; transition:opacity .3s ease;
}
.join-modal button[type="submit"]:hover{ opacity:.85; }
.join-modal button[type="submit"]:disabled{ opacity:.6; cursor:not-allowed; }
.join-success{ display:none; text-align:center; padding:20px 0; }
.join-success h3{ margin-bottom:12px; }
.join-success p{ color:var(--ink-soft); font-size:15px; }
.join-hp{ position:absolute; left:-9999px; }
.join-overlay{
position:fixed; inset:0; background:rgba(20,15,10,.55); z-index:300;
opacity:0; pointer-events:none; transition:opacity .4s ease;
}
.join-overlay.open{ opacity:1; pointer-events:auto; }
.cart-drawer{
position:fixed; top:0; right:0; height:100%; width:min(420px, 92vw);
background:var(--ivory); z-index:201; box-shadow:-20px 0 60px rgba(0,0,0,.2);
transform:translateX(100%); transition:transform .45s cubic-bezier(.2,.7,.3,1);
display:flex; flex-direction:column;
}
.cart-drawer.open{transform:translateX(0);}
.cart-head{ display:flex; align-items:center; justify-content:space-between; padding:26px 28px; border-bottom:1px solid var(--line);}
.cart-head h3{font-family:'Frank Ruhl Libre',serif; font-size:22px; font-weight:500;}
.cart-close{background:none; border:none; font-size:22px; cursor:pointer; color:var(--ink-soft); line-height:1;}
.cart-items{ flex:1; overflow-y:auto; padding:10px 28px;}
.cart-empty{ text-align:center; padding:60px 20px; color:var(--ink-soft); font-size:14.5px;}
.cart-item{ display:flex; gap:16px; padding:20px 0; border-bottom:1px solid var(--line);}
.cart-item img{width:64px; height:64px; object-fit:cover; border-radius:2px; flex-shrink:0;}
.ci-info{flex:1; min-width:0;}
.ci-info h4{font-size:14.5px; font-weight:500; margin-bottom:4px;}
.ci-price{font-size:13px; color:var(--gold-deep); font-weight:600;}
.ci-controls{display:flex; align-items:center; gap:10px; margin-top:10px;}
.ci-qty-btn{ width:24px; height:24px; border:1px solid var(--line); background:none; border-radius:50%; cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; color:var(--ink);}
.ci-qty{ font-size:13.5px; min-width:16px; text-align:center;}
.ci-remove{ margin-right:auto; font-size:12px; color:var(--ink-soft); background:none; border:none; cursor:pointer; text-decoration:underline;}
.cart-foot{ padding:24px 28px 30px; border-top:1px solid var(--line);}
.cart-subtotal{ display:flex; justify-content:space-between; font-size:15.5px; margin-bottom:18px;}
.cart-subtotal b{font-family:'Frank Ruhl Libre',serif; font-size:21px; color:var(--gold-deep);}
.cart-checkout{
display:flex; align-items:center; justify-content:center; gap:10px; width:100%;
background:#25D366; color:#fff; border:none; padding:16px; font-size:14.5px; font-weight:600;
border-radius:2px; cursor:pointer; font-family:'Heebo',sans-serif; letter-spacing:.02em;
transition:opacity .3s ease;
}
.cart-checkout:hover{opacity:.9;}
.cart-checkout:disabled{background:var(--line); color:var(--ink-soft); cursor:not-allowed;}
.cart-note{font-size:11.5px; color:var(--ink-soft); text-align:center; margin-top:12px;}
.p-add{
font-size:12.5px; letter-spacing:.06em; color:var(--ivory); background:var(--ink);
border:none; padding:9px 18px; border-radius:2px; cursor:pointer; font-family:'Heebo',sans-serif;
transition:background .3s ease;
}
.p-add:hover{background:var(--gold-deep);}
.texture-banner{ position:relative; height:64vh; min-height:440px; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.texture-banner img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.texture-banner .scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(27,20,13,.3), rgba(27,20,13,.5));}
.texture-content{position:relative; z-index:2; text-align:center; color:var(--ivory); max-width:680px; padding:0 24px;}
.texture-content h2{font-size:clamp(30px,5vw,52px); font-weight:500; line-height:1.25; margin-top:16px;}
.texture-content .eyebrow{justify-content:center; color:var(--gold-light);}
.texture-content .eyebrow::before{background:var(--gold-light);}
.proof{ padding:130px 0; background:var(--sand);}
.proof-grid{ display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
.proof-img{ border-radius:2px; overflow:hidden; box-shadow:var(--shadow);}
.proof-img img{width:100%; display:block;}
.stars{ color:var(--gold-deep); letter-spacing:4px; font-size:16px; margin-bottom:22px;}
.proof blockquote{ font-family:'Frank Ruhl Libre',serif; font-size:26px; font-style:italic; line-height:1.5; margin-bottom:24px;}
.proof-name{ font-size:14px; letter-spacing:.05em; color:var(--ink-soft);}
.proof-name b{color:var(--ink); font-weight:600;}
.cta{ padding:140px 0; background:var(--espresso); color:var(--ivory); text-align:center;}
.cta .eyebrow{justify-content:center; color:var(--gold-light);}
.cta .eyebrow::before{background:var(--gold-light);}
.cta h2{ font-size:clamp(34px,5vw,56px); font-weight:500; margin:20px auto 26px; max-width:720px; line-height:1.25;}
.cta p{ color:rgba(251,247,240,.75); max-width:520px; margin:0 auto 44px; font-size:16px;}
.cta-form{ max-width:520px; margin:0 auto; display:flex; flex-direction:column; gap:14px;}
.cta-form input, .cta-form textarea{
background:transparent; border:1px solid rgba(251,247,240,.3); color:var(--ivory);
padding:16px 18px; font-family:'Heebo',sans-serif; font-size:14.5px; border-radius:2px; width:100%;
transition:border-color .3s ease;
}
.cta-form input::placeholder, .cta-form textarea::placeholder{color:rgba(251,247,240,.5);}
.cta-form input:focus, .cta-form textarea:focus{outline:none; border-color:var(--gold-light);}
.cta-form textarea{resize:vertical; min-height:100px;}
.cta-form button{
margin-top:8px; background:var(--ivory); color:var(--espresso); border:1px solid var(--ivory);
padding:17px; font-size:14px; letter-spacing:.1em; font-weight:500; border-radius:2px; cursor:pointer;
transition:all .35s ease;
}
.cta-form button:hover{background:transparent; color:var(--ivory);}
.form-note{font-size:12.5px; color:rgba(251,247,240,.5); margin-top:10px;}
footer{ background:var(--ink); color:rgba(251,247,240,.6); padding:56px 0 30px;}
.footer-top{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(251,247,240,.12);}
.footer-logo{ font-family:'Frank Ruhl Libre',serif; font-size:26px; color:var(--ivory); letter-spacing:.1em; margin-bottom:14px;}
.footer-col h4{ color:var(--ivory); font-size:13px; letter-spacing:.1em; margin-bottom:16px; font-weight:500;}
.footer-col a{ display:block; font-size:14px; margin-bottom:10px; color:rgba(251,247,240,.62); transition:color .3s ease;}
.footer-col a:hover{color:var(--gold-light);}
.footer-bottom{ display:flex; justify-content:space-between; padding-top:26px; font-size:12.5px; flex-wrap:wrap; gap:10px;}
@media (max-width:900px){
.nav-links{display:none;}
.story-grid{grid-template-columns:1fr; gap:48px;}
.story-img-wrap::before{display:none;}
.ritual-split{grid-template-columns:1fr;}
.ritual-panel.day{border-left:none; border-bottom:1px solid rgba(251,247,240,.15);}
.product-grid{grid-template-columns:1fr 1fr;}
.proof-grid{grid-template-columns:1fr; gap:40px;}
.proof blockquote{font-size:21px;}
}
@media (max-width:560px){
.product-grid{grid-template-columns:1fr;}
.hero-content{padding-bottom:70px;}
.container{padding:0 22px;}
.footer-top{gap:28px;}
}
@media (max-width:380px){
.join-modal{ padding:30px 22px; }
.cart-head, .cart-foot{ padding-left:20px; padding-right:20px; }
.cart-items{ padding-left:20px; padding-right:20px; }
.hero h1{ font-size:44px; }
.bundle-content{ padding:32px 22px; }
.story{ padding:80px 0 70px; }
.founder-section{ padding-top:0; }
}
:root{
--focus: #6B4E24;
--ok: #2F6B4F;
--err: #9B3B2E;
--radius: 3px;
--ease: cubic-bezier(.2,.7,.3,1);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
outline: 2px solid var(--focus);
outline-offset: 3px;
border-radius: var(--radius);
}
.hero a:focus-visible,
.hero button:focus-visible,
header.nav:not(.scrolled) a:focus-visible,
header.nav:not(.scrolled) button:focus-visible,
footer a:focus-visible,
.texture-banner a:focus-visible,
.cart-drawer button:focus-visible,
.cart-drawer a:focus-visible{
outline-color: var(--gold-light);
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible){ outline: none; }
.skip-link{
position: absolute;
top: -100px;
right: 16px;
z-index: 300;
background: var(--espresso);
color: var(--ivory);
padding: 12px 22px;
font-size: 14px;
letter-spacing: .06em;
border-radius: var(--radius);
transition: top .2s var(--ease);
}
.skip-link:focus{ top: 16px; }
.founder-eyebrow{
font-family: 'Frank Ruhl Libre', serif;
font-size: 15px;
letter-spacing: .18em;
font-weight: 500;
color: var(--gold-deep);
margin: 0;
}
img{ height: auto; }
.p-img img,
.story-img-wrap img,
.founder-img-wrap img,
.proof-img img,
.bundle-img-wrap img{ width: 100%; }
.burger{
display: none;
flex-direction: column;
justify-content: center;
gap: 5px;
width: 42px;
height: 42px;
background: none;
border: 0;
cursor: pointer;
padding: 0;
}
.burger span{
display: block;
width: 22px;
height: 1.5px;
margin: 0 auto;
background: var(--ivory);
transition: transform .3s var(--ease), opacity .2s ease, background .4s ease;
}
header.nav.scrolled .burger span{ background: var(--ink); }
.burger[aria-expanded="true"] span{ background: var(--ink); }
.burger[aria-expanded="true"] span:nth-child(1){ transform: translateY(6.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform: translateY(-6.5px) rotate(-45deg); }
.mobile-menu{
position: fixed;
inset: 0;
z-index: 120;
background: var(--ivory);
padding: 96px 32px 40px;
display: flex;
flex-direction: column;
gap: 4px;
transform: translateX(-100%);
visibility: hidden;
transition: transform .45s var(--ease), visibility .45s;
overflow-y: auto;
}
.mobile-menu.open{ transform: translateX(0); visibility: visible; }
header.nav{ z-index: 140; }
header.nav.menu-open{ background: var(--ivory); box-shadow: 0 1px 0 var(--line); }
header.nav.menu-open .logo{ color: var(--ink); }
.mobile-menu a{
font-family: 'Frank Ruhl Libre', serif;
font-size: 26px;
color: var(--ink);
padding: 14px 0;
border-bottom: 1px solid var(--line);
}
.mobile-menu .mm-cta{
margin-top: 26px;
background: var(--espresso);
color: var(--ivory);
text-align: center;
border: 0;
border-radius: var(--radius);
padding: 16px;
font-family: 'Heebo', sans-serif;
font-size: 15px;
letter-spacing: .08em;
cursor: pointer;
}
.field{ display: flex; flex-direction: column; gap: 7px; text-align: right; }
.field label,
.consent-label{
font-size: 13.5px;
font-weight: 500;
letter-spacing: .02em;
color: var(--ink-soft);
}
.field .hint{ font-size: 12px; color: var(--ink-soft); opacity: .8; }
.consent{
display: flex;
align-items: flex-start;
gap: 11px;
text-align: right;
margin: 4px 0 2px;
}
.consent input[type="checkbox"]{
flex: 0 0 auto;
width: 19px;
height: 19px;
margin-top: 3px;
accent-color: var(--gold-deep);
cursor: pointer;
}
.consent-label{
font-size: 13px;
line-height: 1.6;
font-weight: 400;
cursor: pointer;
}
.consent-label a{
color: var(--gold-deep);
border-bottom: 1px solid currentColor;
}
.form-error{
display: none;
font-size: 13px;
color: var(--err);
background: rgba(155,59,46,.07);
border: 1px solid rgba(155,59,46,.25);
border-radius: var(--radius);
padding: 10px 14px;
text-align: right;
}
.form-error.show{ display: block; }
.hp-field{
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
}
button[disabled]{ opacity: .55; cursor: not-allowed; }
.cart-item img{ width: 68px; height: 68px; object-fit: cover; border-radius: var(--radius); }
.ci-qty-btn{
width: 26px; height: 26px;
border: 1px solid var(--line);
background: transparent;
color: var(--ink);
border-radius: var(--radius);
cursor: pointer;
font-size: 15px;
line-height: 1;
}
.ci-qty-btn:hover{ border-color: var(--gold); color: var(--gold-deep); }
.ci-remove{
background: none; border: 0; cursor: pointer;
font-size: 12.5px; color: var(--ink-soft);
text-decoration: underline; margin-inline-start: auto;
}
.ci-remove:hover{ color: var(--err); }
.cart-fields{
display: flex;
flex-direction: column;
gap: 12px;
margin: 16px 0 14px;
padding-top: 16px;
border-top: 1px solid var(--line);
}
.cart-fields input{
width: 100%;
padding: 11px 14px;
font-family: inherit;
font-size: 15px;
color: var(--ink);
background: var(--ivory);
border: 1px solid var(--line);
border-radius: var(--radius);
}
.cart-fields input:focus{ border-color: var(--gold); }
.cart-checkout span{ display: inline-block; }
.toast{
position: fixed;
inset-inline-start: 50%;
bottom: 28px;
transform: translate(-50%, 20px);
z-index: 400;
background: var(--espresso);
color: var(--ivory);
padding: 13px 26px;
border-radius: 40px;
font-size: 14px;
box-shadow: var(--shadow);
opacity: 0;
pointer-events: none;
transition: opacity .3s ease, transform .3s var(--ease);
}
.toast.show{ opacity: 1; transform: translate(-50%, 0); }
.legal{
padding: 148px 0 96px;
background: var(--ivory);
}
.legal .container{ max-width: 760px; }
.legal h1{
font-size: clamp(34px, 5.5vw, 52px);
font-weight: 500;
letter-spacing: .02em;
line-height: 1.15;
margin-bottom: 12px;
}
.legal .legal-updated{
font-size: 13px;
color: var(--ink-soft);
opacity: .85;
margin-bottom: 44px;
padding-bottom: 26px;
border-bottom: 1px solid var(--line);
}
.legal h2{
font-size: 23px;
font-weight: 500;
letter-spacing: .01em;
margin: 44px 0 14px;
color: var(--ink);
}
.legal h3{
font-family: 'Heebo', sans-serif;
font-size: 16px;
font-weight: 600;
margin: 26px 0 8px;
color: var(--ink);
}
.legal p,
.legal li{ font-size: 16px; color: var(--ink-soft); line-height: 1.85; }
.legal p{ margin-bottom: 14px; }
.legal ul, .legal ol{ margin: 0 0 18px; padding-inline-start: 22px; }
.legal li{ margin-bottom: 8px; }
.legal a{ color: var(--gold-deep); border-bottom: 1px solid currentColor; }
.legal .callout{
background: var(--card);
border-inline-start: 3px solid var(--gold);
border-radius: var(--radius);
padding: 20px 24px;
margin: 26px 0;
}
.legal .callout p:last-child{ margin-bottom: 0; }
.legal-back{
display: inline-block;
margin-bottom: 30px;
font-size: 14px;
color: var(--gold-deep);
letter-spacing: .04em;
}
.legal-contact{
margin-top: 46px;
padding-top: 28px;
border-top: 1px solid var(--line);
font-size: 15px;
}
.footer-legal{
display: flex;
flex-wrap: wrap;
gap: 8px 22px;
margin-top: 26px;
padding-top: 22px;
border-top: 1px solid rgba(251,247,240,.14);
font-size: 13px;
}
.footer-legal a{ opacity: .82; }
.footer-legal a:hover{ opacity: 1; }
.footer-business{
margin-top: 18px;
font-size: 12.5px;
line-height: 1.9;
opacity: .68;
}
.product-card{
transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.product-card:hover{
transform: translateY(-5px);
box-shadow: 0 26px 60px -32px rgba(28,22,16,.5);
}
.p-img{ overflow: hidden; }
.p-img img{ transition: transform .8s var(--ease); }
.product-card:hover .p-img img{ transform: scale(1.045); }
.p-add, .bundle-add-btn, .cta-form button, .join-modal button[type="submit"]{
transition: background .35s ease, color .35s ease, border-color .35s ease, transform .2s ease;
}
.p-add:active, .bundle-add-btn:active{ transform: scale(.985); }
::selection{ background: var(--gold-light); color: var(--espresso); }
html{ -webkit-text-size-adjust: 100%; }
body{ text-rendering: optimizeLegibility; }
@media (max-width: 900px){
.nav-links{ display: none; }
.nav-social{ display: none; }
.nav-cta{ display: none; }
.nav-login{ display: none; }
.burger{ display: flex; }
.nav-actions{ gap: 8px; }
}
@media (min-width: 901px){
.mobile-menu{ display: none; }
}
@media (max-width: 640px){
.container{ padding: 0 20px; }
.legal{ padding: 118px 0 70px; }
.footer-legal{ flex-direction: column; gap: 10px; }
}
.footer-col h2{
color: var(--ivory);
font-family: 'Heebo', sans-serif;
font-size: 13px;
letter-spacing: .1em;
margin-bottom: 16px;
font-weight: 500;
}
.footer-tagline{ max-width: 280px; font-size: 14px; }
.cart-head h2{ font-family: 'Frank Ruhl Libre', serif; font-size: 22px; font-weight: 500; }
.join-modal h2{ font-family: 'Frank Ruhl Libre', serif; font-size: 26px; font-weight: 500; margin-bottom: 10px; }
.join-success h2{ margin-bottom: 12px; }
.ci-info h3{ font-family: 'Heebo', sans-serif; font-size: 14.5px; font-weight: 500; margin-bottom: 4px; }
.cart-count{ display: none; }
.a11y-toggle{
position: fixed;
inset-inline-start: 20px;
bottom: 20px;
z-index: 500;
width: 52px;
height: 52px;
border-radius: 50%;
border: 2px solid var(--ivory);
background: var(--espresso);
color: var(--ivory);
cursor: pointer;
box-shadow: 0 8px 26px -8px rgba(28,22,16,.6);
display: flex;
align-items: center;
justify-content: center;
transition: transform .3s var(--ease), background .3s ease;
}
.a11y-toggle svg{ width: 27px; height: 27px; }
.a11y-toggle:hover{ transform: scale(1.07); background: var(--gold-deep); }
.a11y-panel{
position: fixed;
inset-inline-start: 20px;
bottom: 84px;
z-index: 501;
width: min(310px, calc(100vw - 40px));
max-height: min(76vh, 620px);
overflow-y: auto;
background: var(--ivory);
color: var(--ink);
border: 1px solid var(--line);
border-radius: 8px;
box-shadow: 0 26px 70px -26px rgba(28,22,16,.62);
padding: 18px;
text-align: right;
}
.a11y-panel[hidden]{ display: none; }
.a11y-head{
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 14px;
padding-bottom: 12px;
border-bottom: 1px solid var(--line);
}
.a11y-head h2{
font-family: 'Frank Ruhl Libre', serif;
font-size: 19px;
font-weight: 500;
margin: 0;
}
.a11y-close{
background: none;
border: 0;
font-size: 17px;
line-height: 1;
color: var(--ink-soft);
cursor: pointer;
padding: 6px;
}
.a11y-close:hover{ color: var(--err); }
.a11y-group{ margin-bottom: 14px; }
.a11y-group-label{
display: block;
font-size: 11.5px;
letter-spacing: .16em;
font-weight: 600;
color: var(--gold-deep);
margin-bottom: 8px;
}
.a11y-zoom{ display: flex; align-items: center; gap: 8px; }
.a11y-zoom button{
flex: 1;
padding: 9px 0;
font-family: inherit;
font-size: 15px;
font-weight: 500;
color: var(--ink);
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
cursor: pointer;
}
.a11y-zoom button:hover{ border-color: var(--gold); color: var(--gold-deep); }
.a11y-zoom output{
min-width: 62px;
text-align: center;
font-size: 14px;
font-variant-numeric: tabular-nums;
color: var(--ink-soft);
}
.a11y-opt{
display: block;
width: 100%;
text-align: right;
padding: 10px 13px;
margin-bottom: 6px;
font-family: inherit;
font-size: 14.5px;
color: var(--ink);
background: #fff;
border: 1px solid var(--line);
border-radius: var(--radius);
cursor: pointer;
position: relative;
transition: border-color .25s ease, background .25s ease;
}
.a11y-opt:hover{ border-color: var(--gold); }
.a11y-opt::after{
content: '';
position: absolute;
inset-inline-end: 12px;
top: 50%;
transform: translateY(-50%);
width: 9px;
height: 9px;
border-radius: 50%;
background: transparent;
border: 1px solid var(--line);
}
.a11y-opt[aria-pressed="true"]{
border-color: var(--gold-deep);
background: var(--card);
font-weight: 500;
}
.a11y-opt[aria-pressed="true"]::after{
background: var(--ok);
border-color: var(--ok);
}
.a11y-reset{
display: block;
width: 100%;
padding: 11px;
margin-top: 4px;
font-family: inherit;
font-size: 14.5px;
color: var(--ivory);
background: var(--espresso);
border: 0;
border-radius: var(--radius);
cursor: pointer;
}
.a11y-reset:hover{ background: var(--gold-deep); }
.a11y-link{
display: block;
margin-top: 12px;
font-size: 13.5px;
color: var(--gold-deep);
border-bottom: 1px solid currentColor;
width: fit-content;
}
.a11y-note{
margin-top: 12px;
font-size: 11.5px;
line-height: 1.6;
color: var(--ink-soft);
opacity: .85;
}
@media (max-width: 640px){
.a11y-toggle{ width: 46px; height: 46px; bottom: 16px; inset-inline-start: 16px; }
.a11y-toggle svg{ width: 24px; height: 24px; }
.a11y-panel{ bottom: 72px; }
}
html[data-a11y-contrast="1"]{
--ivory: #FFFFFF;
--sand: #FFFFFF;
--card: #FFFFFF;
--ink: #000000;
--ink-soft: #1A1A1A;
--gold: #000000;
--gold-deep: #00408A;
--gold-light: #FFFFFF;
--espresso: #000000;
--line: rgba(0,0,0,.55);
}
html[data-a11y-contrast="1"] body{ background: #fff; color: #000; }
html[data-a11y-contrast="1"] .hero-scrim,
html[data-a11y-contrast="1"] .texture-banner .scrim{ background: rgba(0,0,0,.72); }
html[data-a11y-contrast="1"] a{ color: #00408A; text-decoration: underline; }
html[data-a11y-contrast="1"] .hero a,
html[data-a11y-contrast="1"] footer a,
html[data-a11y-contrast="1"] .texture-banner a{ color: #FFE9A8; }
html[data-a11y-contrast="1"] header.nav{
background: #fff;
box-shadow: 0 1px 0 #000;
}
html[data-a11y-contrast="1"] header.nav .logo,
html[data-a11y-contrast="1"] header.nav .nav-links a,
html[data-a11y-contrast="1"] header.nav .nav-cta,
html[data-a11y-contrast="1"] header.nav .nav-login,
html[data-a11y-contrast="1"] header.nav .cart-btn,
html[data-a11y-contrast="1"] header.nav .social-icon,
html[data-a11y-contrast="1"] header.nav .burger span{ color: #000; }
html[data-a11y-contrast="1"] header.nav .burger span{ background: #000; }
html[data-a11y-contrast="1"] header.nav .nav-cta,
html[data-a11y-contrast="1"] header.nav .nav-login{ border-color: #000; }
html[data-a11y-contrast="1"] header.nav .nav-links a{ text-decoration: underline; }
html[data-a11y-contrast="1"] .hero .btn-primary,
html[data-a11y-contrast="1"] .btn-primary{
background: #000;
color: #fff;
border-color: #000;
text-decoration: underline;
}
html[data-a11y-contrast="1"] .hero h1,
html[data-a11y-contrast="1"] .hero p,
html[data-a11y-contrast="1"] .hero-eyebrow,
html[data-a11y-contrast="1"] .scroll-cue,
html[data-a11y-contrast="1"] .texture-content h2,
html[data-a11y-contrast="1"] .texture-content .eyebrow{ color: #fff; }
html[data-a11y-contrast="1"] .review-card,
html[data-a11y-contrast="1"] .product-card,
html[data-a11y-contrast="1"] .a11y-opt{ border: 1px solid #000; }
html[data-a11y-grayscale="1"]::after{
content: '';
position: fixed;
inset: 0;
z-index: 9999;
pointer-events: none;
-webkit-backdrop-filter: grayscale(1);
backdrop-filter: grayscale(1);
}
html[data-a11y-readable="1"] body,
html[data-a11y-readable="1"] h1,
html[data-a11y-readable="1"] h2,
html[data-a11y-readable="1"] h3,
html[data-a11y-readable="1"] .serif,
html[data-a11y-readable="1"] .logo{
font-family: Arial, 'Segoe UI', Tahoma, sans-serif !important;
letter-spacing: normal !important;
}
html[data-a11y-readable="1"] body{ font-weight: 400; }
html[data-a11y-links="1"] a{
text-decoration: underline !important;
text-underline-offset: 3px;
outline: 1px dashed currentColor;
outline-offset: 2px;
}
html[data-a11y-nomotion="1"] *,
html[data-a11y-nomotion="1"] *::before,
html[data-a11y-nomotion="1"] *::after{
animation: none !important;
transition: none !important;
scroll-behavior: auto !important;
}
html[data-a11y-nomotion="1"] .hero-bg{ transform: none !important; }
html[data-a11y-nomotion="1"] .reveal{ opacity: 1 !important; transform: none !important; }
html[data-a11y-bigcursor="1"],
html[data-a11y-bigcursor="1"] *{
cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M8 2l26 19-11 2 7 14-5 3-7-14-10 8z' fill='%23fff' stroke='%23000' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") 6 2, auto !important;
}
html[data-a11y-bigcursor="1"] a,
html[data-a11y-bigcursor="1"] button,
html[data-a11y-bigcursor="1"] input,
html[data-a11y-bigcursor="1"] textarea{
cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M18 4a3 3 0 0 1 6 0v16h2v-6a3 3 0 0 1 6 0v6h2v-4a3 3 0 0 1 6 0v16c0 6-4 12-11 12h-6c-5 0-8-3-11-9l-5-9a3 3 0 0 1 5-3l4 5z' fill='%23fff' stroke='%23000' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") 12 2, pointer !important;
}
@media (prefers-reduced-motion: reduce){
*, *::before, *::after{
animation-duration: .001ms !important;
animation-iteration-count: 1 !important;
transition-duration: .001ms !important;
}
.hero-bg{ animation: none; transform: none; }
}
@media (prefers-contrast: more){
:root{ --ink-soft: #322C25; --line: rgba(33,28,23,.3); }
}
