@charset "UTF-8";
:root{--ink:#20351f;
  --green:#2b4626;
  --lime:#d8ed88;
  --lime-light:#eff5d8;
  --white:#fffefa;
  --muted:#626857;
  --line:#dce0d4;
  --brown:#945a35;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,Helvetica,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid var(--brown);outline-offset:6px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400}
h1,h2{font-family:var(--serif)}
em{font-weight:400}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;flex-shrink:0}
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:12px 20px;color:white;background:var(--ink)}
.skip-link:focus{top:12px}
.announcement{background:var(--lime);text-align:center;font-size:13px;letter-spacing:.06em;padding:8px 20px;color:var(--ink)}
.header{background:rgba(255,254,250,.97);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(32,53,31,.1)}
.header-inner{max-width:1440px;margin:auto;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark{font-family:var(--serif);font-weight:bold;font-size:36px;line-height:1.2;letter-spacing:-1.8px;white-space:nowrap}
.wordmark-dot{color:#81a92e}
.navigation{display:flex;gap:32px;font-size:14px}
.navigation a{position:relative}
.navigation a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:currentColor;transition:width .2s}
.navigation a:hover:after{width:100%}
.button{font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:17px 25px;min-height:52px;border:1px solid transparent;border-radius:3px;transition:background .2s,transform .2s,color .2s;line-height:1.4}
@media (hover: hover) and (pointer: fine) { .button:hover{transform:translateY(-2px)} }
.button-header{border-color:var(--ink);padding:11px 19px;min-height:44px;gap:18px}
@media (hover: hover) and (pointer: fine) { .button-header:hover,.button-outline:hover{background:var(--ink);color:white} }
.button-dark{background:var(--green);color:white}
@media (hover: hover) and (pointer: fine) { .button-dark:hover{background:#162a13} }
.button-outline{border-color:var(--ink)}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.17em;line-height:1.6}
.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;min-height:650px;padding:32px 5% 40px;gap:32px}
.hero-copy{padding:48px 0 25px;align-self:center}
.hero-copy>.eyebrow{display:flex;align-items:center;gap:13px}
.small-line{width:28px;height:1px;background:var(--brown)}
.hero h1{font-size:clamp(48px,5.3vw,78px);line-height:1.08;letter-spacing:-3.3px;margin:24px 0}
.hero h1 em{color:#607d30}
.hero-copy>p{font-size:17px;line-height:1.75;max-width:365px;color:var(--muted);margin-bottom:29px}
.hero-note{display:flex;gap:20px;align-items:center;margin-top:44px;color:var(--muted);font-size:12px;letter-spacing:.03em;max-width:390px}
.note-rule{height:1px;background:#b7c3a6;flex:1}
.hero-image{position:relative;min-height:565px;background:var(--lime);border-radius:4px 4px 100px 4px;isolation:isolate}
.hero-image>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:53% center;border-radius:inherit}
.image-label{position:absolute;top:25px;left:25px;color:#21391d;font-size:11px;font-weight:bold;letter-spacing:.14em;background:rgba(240,249,205,.85);padding:6px 10px;border-radius:2px}
.hero-stamp{position:absolute;bottom:30px;left:-37px;width:130px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-11deg);background:var(--lime);border:1px solid #334d28;border-radius:50%;outline:6px solid var(--lime);color:var(--ink);box-shadow:0 10px 30px #24391c15}
.hero-stamp>span{font-size:10px;letter-spacing:.13em;font-weight:bold}
.hero-stamp>em{font:italic 41px/1.15 var(--serif);margin-bottom:4px}
.brand-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:6%;padding:20px 5%;font-family:var(--serif);font-size:18px}
.strip-symbol{color:var(--brown);font-family:var(--sans);font-size:24px}
.section{max-width:1440px;padding:100px 8%;margin:auto}
.product{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.product-visual{position:relative;background:#e4ded0;overflow:hidden;border-radius:4px}
.product-visual>img{width:100%;height:auto;aspect-ratio:1238/1536;object-fit:cover}
.product-kicker{position:absolute;top:20px;left:20px;z-index:1;font-size:10px;font-weight:bold;letter-spacing:.13em;background:rgba(255,254,250,.82);padding:7px 12px}
.product-caption{position:absolute;bottom:15px;left:20px;font-size:12px;color:#54584d}
.product-copy h2{font-size:clamp(32px,3.4vw,48px);line-height:1.18;letter-spacing:-1.4px;margin:18px 0 22px}
.product-copy h2 em{color:#607d30}
.product-type{font-size:12px;font-weight:bold;letter-spacing:.13em;margin-bottom:15px;color:var(--brown)}
.product-copy>p:not(.product-type){max-width:420px;color:var(--muted);font-size:16px}
.product-information{padding:23px 0;margin:23px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:11px;font-size:14px}
.product-information>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px}
.product-information span{color:var(--muted)}
.product-information strong{font-weight:500;color:var(--ink);font-size:14px}
.text-link{display:block;width:fit-content;margin-top:21px;font-size:13px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#aeb7a3}
.text-link:hover{text-decoration-color:var(--ink)}
.conviction{max-width:1440px;margin:auto;padding:58px 8% 48px;background:var(--lime-light);border-top:1px solid #dce5c3;border-bottom:1px solid #dce5c3}
.conviction-intro{display:flex;align-items:center;justify-content:space-between;color:#52623c}
.conviction-index{font-size:10px;letter-spacing:.13em}
.conviction h2{font-size:clamp(36px,4.3vw,61px);line-height:1.18;letter-spacing:-1.8px;margin:36px 0}
.conviction h2 em{color:#607d30}
.conviction-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:24px;border-top:1px solid #cbd4b6}
.brand-monogram{font:bold 62px var(--serif);letter-spacing:-5px;line-height:1}
.conviction-bottom p{max-width:545px;font-size:15px;color:#586448;line-height:1.8}
.contact{padding-top:90px;padding-bottom:85px;display:grid;grid-template-columns:.75fr 1.7fr;gap:6%;align-items:start}
.contact-heading h2{font-size:clamp(34px,3.4vw,47px);line-height:1.13;letter-spacing:-1.3px;margin:20px 0}
.contact-heading h2 em{color:#607d30}
.contact-heading>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:265px}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;scroll-margin-top:115px}
.contact-card{padding:24px;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column}
.order-card{background:#f6f8ef}
.support-card{background:white}
.contact-top{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.contact-icon{border:1px solid #bdc9aa;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-icon svg{width:19px;height:19px}
.contact-top>.eyebrow{font-size:10px;letter-spacing:.1em}
.contact-card h3{font-family:var(--serif);font-size:24px;line-height:1.3;margin-bottom:13px;letter-spacing:-.5px}
.contact-card p{font-size:14px;color:var(--muted);line-height:1.8;flex-grow:1}
.contact-number{font-size:17px;font-weight:500;display:block;white-space:nowrap;margin:24px 0 20px;letter-spacing:.02em;width:fit-content}
.contact-number:hover{text-decoration:underline;text-underline-offset:4px}
.contact-card .button{padding:14px 13px;font-size:14px;gap:12px;min-height:49px;justify-content:space-between}
.contact-card .button svg{width:17px;height:17px}
.footer{background:var(--ink);color:var(--white);padding:44px max(5%,calc((100vw - 1210px)/2)) 23px}
.footer-top{display:flex;align-items:center;gap:40px;padding-bottom:35px}
.footer .wordmark{font-size:40px}
.footer .wordmark-dot{color:var(--lime)}
.footer-top p{font-size:14px;color:#c9d0c2}
.back-top{margin-left:auto;font-size:12px;display:flex;align-items:center;gap:15px}
.back-top span{font-size:22px}
.footer-bottom{border-top:1px solid #53644d;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#b9c3b1;font-size:12px}
.hero-copy{animation:rise .7s ease both}
.hero-image{animation:rise .9s ease both}
@keyframes rise{from{opacity:0;transform:translateY(15px)}
to{opacity:1;transform:translateY(0)}
}

@media(min-width:1500px){.hero{min-height:715px}
.hero-image{min-height:610px}
}

@media(max-width:1100px){.navigation{gap:20px}
.hero{gap:28px;min-height:610px}
.hero-image{min-height:525px}
.hero-copy{padding:30px 0}
.hero h1{font-size:clamp(42px,5.4vw,56px);letter-spacing:-2.5px}
.hero-note{margin-top:30px}
.section{padding:75px 6%}
.product{gap:6%}
.product-copy h2{font-size:36px}
.contact{grid-template-columns:1fr;gap:32px}
.contact-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:end}
.contact-heading>.eyebrow{grid-column:1/-1}
.contact-heading h2{margin-bottom:0;font-size:39px}
.contact-heading>p{max-width:320px}
.contact-card .button{font-size:14px}
.contact-top>.eyebrow{font-size:11px}
.contact-card{padding:28px}
.brand-strip{gap:4%;font-size:16px}
.conviction{padding:50px 6%}
}

@media(max-width:760px){html{scroll-padding-top:90px}
.header-inner{padding:16px 6%;gap:12px}
.wordmark{font-size:30px;letter-spacing:-1.5px}
.navigation{display:none}
.button-header{padding:10px 13px;min-height:42px;font-size:14px;gap:12px}
.button-header svg{width:18px;height:18px}
.announcement{font-size:12px;padding:7px 12px}
.hero{grid-template-columns:1fr;padding:0 6% 35px;gap:32px}
.hero-copy{padding:38px 0 0}
.hero-copy>.eyebrow{font-size:10px}
.hero h1{font-size:clamp(46px,9.5vw,64px);line-height:1.08;letter-spacing:-2px;margin:20px 0}
.hero-copy>p{font-size:16px;max-width:370px;margin-bottom:24px}
.hero-copy .button{padding:15px 21px}
.hero-note{margin-top:25px}
.hero-image{min-height:0;aspect-ratio:1/1.06;margin-left:14px;border-radius:4px 4px 75px 4px}
.hero-image>img{object-position:center 40%}
.hero-stamp{width:105px;height:105px;left:-15px;bottom:25px;outline-width:4px}
.hero-stamp>em{font-size:32px}
.hero-stamp>span{font-size:9px}
.image-label{top:18px;left:18px;font-size:9px;letter-spacing:.1em}
.brand-strip{flex-wrap:wrap;padding:19px 5%;gap:8px 18px;font-size:14px;line-height:1.3}
.brand-strip>span:last-child{display:none}
.brand-strip>.strip-symbol:nth-child(4){display:none}
.strip-symbol{font-size:20px}
.section{padding:55px 6%}
.product{grid-template-columns:1fr;gap:30px}
.product-visual{max-width:500px;width:100%;margin:auto}
.product-visual>img{aspect-ratio:1/1.1;object-fit:cover;object-position:center 49%}
.product-copy{max-width:500px;margin:auto;width:100%}
.product-copy h2{font-size:38px;letter-spacing:-1.2px;margin-top:15px}
.product-copy>.eyebrow{font-size:11px}
.product-information{font-size:14px}
.product-information>div{gap:5px 15px}
.product-information strong{font-size:14px}
.text-link{font-size:14px}
.conviction{padding:39px 6% 36px}
.conviction-intro .eyebrow{font-size:11px}
.conviction-index{display:none}
.conviction h2{font-size:clamp(31px,6.7vw,45px);letter-spacing:-1px;margin:28px 0}
.conviction-bottom{gap:25px;align-items:flex-start}
.brand-monogram{font-size:48px;letter-spacing:-4px}
.conviction-bottom p{font-size:14px}
.contact-heading{display:block}
.contact-heading h2{font-size:39px;margin:15px 0}
.contact-heading>p{font-size:16px;max-width:370px}
.contact-options{grid-template-columns:1fr;gap:16px}
.contact-card{padding:25px}
.contact-top{margin-bottom:17px}
.contact-top>.eyebrow{font-size:11px}
.contact-card h3{font-size:27px}
.contact-card p{font-size:15px}
.contact-number{font-size:20px;margin:20px 0}
.contact-card .button{font-size:14px;padding:15px 17px}
.contact-card .button svg{width:20px;height:20px}
.footer{padding:34px 6% 23px}
.footer-top{flex-wrap:wrap;gap:13px 20px;padding-bottom:26px}
.footer .wordmark{font-size:36px}
.footer-top p{order:3;width:100%;font-size:14px}
.back-top{font-size:12px}
.footer-bottom{font-size:12px;flex-direction:column;gap:8px}
.eyebrow{font-size:12px}
}

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


/* Botanical palette from the supplied Zack’care artwork. */
:root{--ink:#153622;
  --green:#28522c;
  --lime:#dce9b3;
  --lime-light:#eef1dc;
  --white:#fbf8ee;
  --muted:#626653;
  --line:#dcdcc8;
  --brown:#a17b32}

.header{background:#fff}
.header-inner{padding-top:5px;padding-bottom:5px}
.brand-logo{display:block;flex-shrink:0;width:166px;height:94px;overflow:hidden}
.brand-logo img{width:166px;height:94px;object-fit:cover;object-position:center}
.announcement{background:#234a29;color:#fff8e5;letter-spacing:.09em}
.hero{background:linear-gradient(110deg,#fbf8ee,#f2f0de)}
.hero h1 em,.product-copy h2 em,.contact-heading h2 em{color:#658347}
.hero-image{border-radius:5px 5px 80px 5px;border:1px solid #c6b879}
.hero-stamp{background:#f8f1d9;outline-color:#f8f1d9;border-color:#b08b3f}
.hero-note{color:#756d51}
.brand-strip{background:#fffdf6;border-top:3px solid #b79b55;border-bottom:1px solid #d9cca6}
.product-visual{border:1px solid #d6cfbc}
.product-visual>img{aspect-ratio:1125/1398;object-fit:contain}
.product-kicker{color:#6c542e}
.product-caption{background:#f8f5eac9;border-radius:2px;padding:1px 6px}
.button-dark{box-shadow:0 4px 14px #24462810}
.conviction{background:#edf1de;border-top:1px solid #c4bb8e;border-bottom:1px solid #c4bb8e}
.conviction h2 em{color:#6c8240}
.order-card{background:#f1f2e4}
.support-card{background:#fffcf3}
.footer{background:#193c26}
.routines{padding-top:30px;padding-bottom:85px}
.routines-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:37px}
.routines-heading h2{font-size:clamp(34px,3.7vw,52px);letter-spacing:-1.4px;line-height:1.18;margin-top:14px}
.routines-heading h2 em{color:#817138}
.routines-heading>p{max-width:330px;color:var(--muted);font-size:16px;line-height:1.8}
.routine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 25px}
.routine-card{min-width:0;background:#fffdf6;border:1px solid #e0dccb;border-radius:8px;overflow:hidden}
.routine-preview{display:block;position:relative;border:0;padding:0;background:transparent;cursor:zoom-in;width:100%;text-align:left;color:var(--ink);font:inherit}
.routine-preview:focus-visible{outline:3px solid var(--brown);outline-offset:-4px}
.routine-preview img{width:100%;height:auto;aspect-ratio:864/1536;object-fit:contain}
.enlarge-hint{position:absolute;right:12px;bottom:12px;background:#fffdf5f5;box-shadow:0 2px 9px #102a2426;color:var(--ink);border:1px solid #c8cbb0;border-radius:30px;padding:8px 13px;font-size:14px;line-height:1.3;transition:background .2s}
.routine-preview:hover .enlarge-hint{background:var(--lime)}
.routine-caption{padding:20px 20px 23px;border-top:3px solid #799750}
.routine-caption h3{font:28px/1.2 var(--serif);margin-bottom:7px}
.routine-caption p{font-size:14px;color:var(--muted)}
.routine-sensible .routine-caption{border-color:#bf7e8d;background:#fff6f5}
.routine-seche .routine-caption{border-color:#b9954b;background:#fff9e9}
.routine-grasse-simple .routine-caption{border-color:#446d3c}
.routines+.conviction .conviction-index{color:#66764a}
body.reading-routine{overflow:hidden}
#routine-dialog{padding:0;border:1px solid #d8d1b5;border-radius:10px;background:#fbf8ee;width:min(760px,94vw);max-width:94vw;max-height:90dvh;overflow:auto;color:var(--ink)}
#routine-dialog::backdrop{background:#102218cf;backdrop-filter:blur(5px)}
.dialog-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;background:#fffdf5;border-bottom:1px solid var(--line)}
.dialog-toolbar h2{font-size:25px}
.dialog-toolbar button{border:1px solid #b9c1a6;border-radius:4px;background:white;font:14px var(--sans);padding:12px 15px;min-height:44px;cursor:pointer;color:var(--ink)}
.dialog-toolbar button:focus-visible{outline:3px solid var(--brown);outline-offset:2px}
.dialog-image-wrap img{width:100%;height:auto}
#open-original{display:block;padding:20px;text-decoration:underline;text-underline-offset:4px;font-size:14px}
#routine-dialog:not([open]){display:none}

@media(max-width:1100px){.navigation{gap:17px;font-size:14px}
.routine-grid{gap:22px 18px}
.routines-heading{align-items:start}
.routines-heading>p{max-width:260px}
.routine-caption{padding:16px}
.routine-caption h3{font-size:25px}
}

@media(max-width:900px){.navigation a[href="#notre-conviction"]{display:none}
.routine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){.header-inner{padding:2px 6%}
.brand-logo,.brand-logo img{width:142px;height:81px}
.hero{padding-top:0}
.hero-image{border-radius:4px 4px 65px 4px}
.product-visual>img{aspect-ratio:1125/1398;object-fit:contain}
.routines{padding-top:5px;padding-bottom:55px}
.routines-heading{display:block;margin-bottom:26px}
.routines-heading h2{font-size:36px;letter-spacing:-1px}
.routines-heading>p{max-width:430px;margin-top:20px}
.routine-grid{gap:20px 14px}
.routine-caption{padding:15px 12px}
.routine-caption h3{font-size:23px}
.routine-caption p{font-size:14px;line-height:1.5}
.enlarge-hint{right:7px;bottom:7px;padding:6px 9px;font-size:12px}
.dialog-toolbar{padding:10px 13px}
.dialog-toolbar h2{font-size:23px}
}

@media(max-width:480px){.routine-grid{grid-template-columns:1fr}
.routine-card{max-width:400px;width:100%;margin:auto}
.routine-preview img{width:100%}
.enlarge-hint{font-size:14px;right:12px;bottom:12px;padding:9px 14px}
.routine-caption{padding:20px}
.routine-caption h3{font-size:28px}
}


/* Product, customer experience, routines, guidance, then contact. */
.hero-secondary{display:block;width:fit-content;margin-top:17px;font-size:14px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a9b88b}
.hero-note{margin-top:26px}
.customer-story{display:grid;grid-template-columns:.8fr 1.25fr;gap:6%;align-items:center;background:#edf1e2;border-top:1px solid #d7ddc5;border-bottom:1px solid #d7ddc5;padding-top:65px;padding-bottom:60px}
.customer-story h2,.support-story h2,.advice-story h2,.brand-story h2{font-size:clamp(34px,3.8vw,52px);line-height:1.15;letter-spacing:-1.5px;margin:18px 0 25px}
.customer-story h2 em,.support-story h2 em,.advice-story h2 em,.brand-story h2 em{color:#69824d}
.customer-story-copy>p,.support-story-intro>p,.advice-story>div>p,.brand-story>div>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:460px}
.comparison{margin:0;min-width:0}
.comparison-frame{position:relative;width:100%;aspect-ratio:1200/676;overflow:hidden;border-radius:7px;background:#426248;box-shadow:0 12px 30px #233b2520}
.comparison-frame img{position:absolute;left:50%;top:50%;width:56.333333%;height:auto;aspect-ratio:676/1200;max-width:none;transform:translate(-50%,-50%) rotate(-90deg)}
.comparison figcaption{font-size:12px;line-height:1.7;color:#606954;margin-top:14px}
.routines{padding-top:75px;padding-bottom:70px}
.routine-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;font-size:14px;color:#60704c}
.routine-navigation>div{display:flex;gap:10px}
.gallery-arrow{border:1px solid #b1bf97;border-radius:50%;background:#fffdf4;color:var(--ink);width:44px;height:44px;font-size:22px;cursor:pointer}
.gallery-arrow:hover{background:var(--lime)}
.gallery-arrow:focus-visible{outline:3px solid var(--brown);outline-offset:3px}
.routine-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:3px 2px 20px;scrollbar-color:#8b9f66 #ebeede;scrollbar-width:thin}
.routine-card{scroll-snap-align:start;max-width:none;width:100%;margin:0}
.support-story{display:grid;grid-template-columns:.8fr 1.25fr;gap:6%;align-items:center;background:#f1eedf;border-top:1px solid #d5ceb8;border-bottom:1px solid #d5ceb8}
.support-story-intro .button{margin-top:25px}
.support-story blockquote{margin:34px 0 0;padding:22px 0 0;border-top:1px solid #d2c8ad;font:italic 25px/1.45 var(--serif)}
.support-story cite{display:block;margin-top:9px;font:12px/1.5 var(--sans);color:var(--muted)}
.support-evidence{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.support-evidence>article:nth-child(2){padding-top:35px}
.editorial-preview{border-radius:6px;overflow:hidden;box-shadow:0 8px 24px #28312114}
.editorial-preview img{aspect-ratio:auto;width:100%;height:auto}
.support-evidence h3{font:19px/1.35 var(--serif);margin-top:15px}
.advice-story,.brand-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}
.advice-visual{border:1px solid #d3c9ac}
.brand-story{padding-top:25px}
.brand-story-visual{max-width:420px;justify-self:end}
.brand-story .brand-signature{font:italic 25px/1.4 var(--serif);color:var(--ink);margin-top:25px}
.brand-story .button{margin-top:25px}
.contact{border-top:1px solid #d4d9c5}
.is-landscape .dialog-image-wrap{aspect-ratio:1200/676;position:relative;overflow:hidden}
.is-landscape #dialog-image{position:absolute;left:50%;top:50%;width:56.333333%;height:auto;max-width:none;transform:translate(-50%,-50%) rotate(-90deg)}
.mobile-contact-bar{display:none}

@media(max-width:1100px){.customer-story,.support-story{grid-template-columns:1fr 1.25fr;gap:5%}
.support-evidence{gap:13px}
.support-story h2{font-size:37px}
.support-evidence h3{font-size:17px}
.support-story blockquote{font-size:23px}
.routine-grid{grid-auto-columns:calc((100% - 36px)/2.5);gap:18px}
}

@media(max-width:760px){.customer-story,.support-story,.advice-story,.brand-story{grid-template-columns:1fr;gap:30px;padding-top:45px;padding-bottom:45px}
.customer-story h2,.support-story h2,.advice-story h2,.brand-story h2{font-size:37px;margin:16px 0 20px}
.customer-story-copy>p,.support-story-intro>p,.advice-story>div>p,.brand-story>div>p{max-width:100%}
.comparison figcaption{font-size:12px}
.routines{padding-top:45px;padding-bottom:40px}
.routine-grid{grid-auto-columns:72%;grid-template-columns:none;gap:18px}
.support-evidence{gap:16px;max-width:560px;margin:auto}
.support-evidence h3{font-size:19px}
.support-story-intro blockquote{margin-top:25px}
.advice-story>div{grid-row:1}
.brand-story-visual{max-width:430px;justify-self:center}
.brand-story .brand-signature{font-size:24px}
.mobile-contact-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9;background:#fffdf5f5;border-top:1px solid #d4d8c4;padding:10px 5% max(10px,env(safe-area-inset-bottom));gap:10px;box-shadow:0 -3px 18px #1d362012}
.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:45px;border-radius:4px;padding:10px 14px;font-size:14px;font-weight:600;line-height:1.4}
.mobile-contact-bar a:first-child{background:var(--green);color:white;flex:1.2}
.mobile-contact-bar a:last-child{background:var(--lime);flex:1}
.footer{padding-bottom:110px}
.reading-routine .mobile-contact-bar{visibility:hidden}
#routine-dialog{max-height:86dvh}
}

@media(max-width:420px){.routine-grid{grid-auto-columns:87%}
.support-evidence{grid-template-columns:1fr 1fr;gap:12px}
.support-evidence .enlarge-hint{font-size:12px;padding:7px 9px;left:7px;right:auto;bottom:8px}
.support-evidence h3{font-size:17px}
.mobile-contact-bar a{padding:10px;font-size:13px}
}


/* Preserve the tall proportions of the new product presentation visual. */
.product-visual>img{aspect-ratio:1023/1536;object-fit:contain}


/* SEO content, FAQ and conversion form. */
.faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:8%;align-items:start;background:#f3f1e5;border-top:1px solid #d8d4c0;border-bottom:1px solid #d8d4c0}

.faq-heading h2{font-size:clamp(35px,3.8vw,53px);line-height:1.15;letter-spacing:-1.5px;margin:18px 0 20px}
.faq-heading h2 em{color:#69824d}
.faq-heading p{max-width:330px;color:var(--muted);line-height:1.8}

.faq-list{border-top:1px solid #cfcbb7}
.faq-list details{border-bottom:1px solid #cfcbb7;padding:0}
.faq-list summary{cursor:pointer;list-style:none;font:22px/1.35 var(--serif);padding:22px 42px 22px 0;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:3px;top:18px;font:28px/1 var(--sans);color:#7a8f51}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{color:var(--muted);font-size:15px;line-height:1.8;padding:0 30px 22px 0;max-width:680px}

.order-form{grid-column:2;padding:28px;background:#f1f2e4;border:1px solid #d6d9c6;border-radius:5px}
.form-heading h3{font:30px/1.25 var(--serif);margin:12px 0 8px}
.form-heading p{font-size:15px;color:var(--muted);line-height:1.7;max-width:640px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:23px 0 16px}
.order-form label{display:grid;gap:7px;font-size:14px;font-weight:600;color:var(--ink)}
.order-form input,.order-form select,.order-form textarea{width:100%;border:1px solid #c5ccb4;border-radius:3px;background:#fffdf6;color:var(--ink);font:16px/1.4 var(--sans);padding:12px 13px}
.order-form textarea{resize:vertical;min-height:88px}
.order-form input:focus,.order-form select:focus,.order-form textarea:focus{outline:3px solid #d3e79b;outline-offset:1px;border-color:#7b9651}
.order-form>.button{margin-top:18px}
.form-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:13px}
.form-note a{text-decoration:underline;text-underline-offset:3px}
.contact-options{grid-column:2}
.footer-links{display:flex;gap:18px}
.footer-links a{text-decoration:underline;text-underline-offset:3px}
.standalone-page{min-height:100vh;background:var(--white);color:var(--ink)}
.standalone-main{max-width:820px;margin:0 auto;padding:65px 6% 90px}
.standalone-main h1{font-size:clamp(38px,6vw,64px);line-height:1.1;margin:18px 0 24px}
.standalone-main h2{font-size:30px;margin:34px 0 10px}
.standalone-main p,.standalone-main li{font-size:16px;line-height:1.8;color:var(--muted)}
.standalone-main ul{padding-left:22px}
.standalone-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 6%;border-bottom:1px solid var(--line);background:#fff}
.standalone-header .wordmark{font-size:30px}
.standalone-header a:last-child{text-decoration:underline;text-underline-offset:4px;font-size:14px}
.thank-you-card,.not-found-card{padding:36px;background:#f1f2e4;border:1px solid #d6d9c6;border-radius:7px}
.standalone-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

@media(max-width:760px){.faq{grid-template-columns:1fr;gap:32px}
.faq-heading p{max-width:100%}
.faq-list summary{font-size:20px;padding-right:34px}
.faq-list details p{font-size:15px}
.order-form,.contact-options{grid-column:1}
.form-grid{grid-template-columns:1fr;gap:14px}
.order-form{padding:22px}
.form-heading h3{font-size:27px}
.footer-links{gap:14px;flex-wrap:wrap}
.standalone-main{padding-top:45px}
.standalone-header{padding:14px 6%}
.standalone-header .wordmark{font-size:27px}
}


@media(max-width:760px){.hero-copy>p{margin-bottom:17px}
}


/* Customer stories lead the journey; pricing closes it. */
.reviews-section{background:#edf1e2;border-block:1px solid #d7ddc5;padding-top:65px;padding-bottom:65px}

.reviews-heading{max-width:710px;margin-bottom:32px}

.reviews-heading h2,.team-copy h2,.order-heading h2{font-size:clamp(35px,3.8vw,54px);line-height:1.16;letter-spacing:-1.4px;margin:15px 0 20px}

.reviews-heading h2 em,.team-copy h2 em{color:#69824d}

.reviews-heading p,.team-copy p{font-size:16px;line-height:1.8;color:var(--muted)}

.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}

.review-card{display:flex;flex-direction:column;padding:27px;background:#fffdf6;border:1px solid #d6ddc7;border-radius:7px;min-width:0}

.review-card>.eyebrow{font-size:12px;letter-spacing:.09em;color:#637b47}

.review-card blockquote{font:27px/1.35 var(--serif);margin:20px 0 17px;flex:1}

.review-author{font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:20px}

.review-source{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:17px}

.review-source img{width:64px;height:64px;aspect-ratio:1;object-fit:contain;background:#f3f1e5;border:1px solid #dce0d4;border-radius:4px;flex-shrink:0}

.review-source-label{font-size:14px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}

.reviews-note{font-size:13px;color:var(--muted);margin-top:20px;line-height:1.7}

.review-comparison{display:grid;grid-template-columns:.8fr 1.25fr;gap:6%;align-items:center;margin-top:40px;padding-top:35px;border-top:1px solid #cad3b7}

.review-comparison h3{font:35px/1.2 var(--serif);margin:15px 0}

.review-comparison p{font-size:16px;color:var(--muted)}

.team-section{display:block;background:#f1eedf;border-block:1px solid #d5ceb8}
.team-copy{max-width:750px;margin-inline:auto}

.team-copy p+p{margin-top:18px}
.team-copy .button{margin-top:25px}

.inline-link{text-decoration:underline;text-underline-offset:4px}

.order-section{position:relative;background:#193c26;color:#fffdf5;scroll-margin-top:105px;padding-top:65px;padding-bottom:65px}

.anchor-target{position:absolute;top:0;scroll-margin-top:105px}

.order-heading{max-width:750px;margin-bottom:35px}
.order-heading .eyebrow{color:#dfc582}
.order-heading h2 em{color:#dce9b3}

.order-heading p{color:#e1e8db;font-size:16px}

.order-layout{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:start}

.order-single{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #597051}

.order-single>span{font-size:18px}
.order-single strong{font:42px/1.2 var(--serif)}

.order-single small{font:16px/1.5 var(--sans)}
.order-delivery{font-size:14px;line-height:1.7;color:#e1e8db;margin-top:20px}

.order-actions{background:#fffdf6;color:var(--ink);padding:30px;border-radius:7px;min-width:0}

.order-actions>h3{font:32px/1.25 var(--serif);margin-bottom:15px}
.order-actions>p{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:22px}

.order-actions>.button{display:flex;width:100%;margin-top:12px;font-size:16px}

.order-actions>.order-contacts{font-size:14px;margin:24px 0 0;overflow-wrap:anywhere}
.order-contacts a{text-decoration:underline;text-underline-offset:3px}

.order-form-toggle{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}

.order-form-toggle summary{cursor:pointer;font-size:16px;line-height:1.5;min-height:44px}
.order-form-toggle .order-form{margin-top:18px;padding:0;border:0;background:transparent}

.order-form-toggle .form-heading h3{font-size:25px}
.order-form-toggle .form-grid{grid-template-columns:1fr}
.order-form-toggle .button{width:100%;gap:12px}

.order-section:focus{outline:none}
.announcement{font-size:14px}

@media(max-width:1200px){.navigation{gap:13px;font-size:14px}
.review-card{padding:22px}
.review-card blockquote{font-size:24px}
}

@media(max-width:1000px){.navigation a[href="#contact"],.navigation a[href="#faq"]{display:none}
.order-layout{gap:25px}
.order-actions{padding:24px}
.review-source{align-items:flex-start}
.review-source img{width:48px;height:48px}
}

@media(max-width:760px){.reviews-section{padding-top:45px;padding-bottom:45px}
.reviews-grid{grid-template-columns:1fr;gap:16px}
.review-card{padding:24px}
.review-card blockquote{font-size:27px;margin:15px 0}
.review-source img{width:60px;height:60px}
.review-source{align-items:center}
.reviews-heading h2,.team-copy h2,.order-heading h2{font-size:37px}
.review-comparison{grid-template-columns:1fr;gap:25px;margin-top:30px;padding-top:30px}
.team-section{grid-template-columns:1fr;gap:30px}
.team-copy{grid-row:1}
.order-section{padding-top:45px;padding-bottom:45px}
.order-layout{grid-template-columns:1fr}
.order-heading{margin-bottom:28px}
.order-single strong{font-size:38px}
.order-actions{padding:24px}
.order-actions>h3{font-size:29px}
.mobile-contact-bar a:first-child{flex-direction:row;font-size:14px}
.announcement{font-size:14px;letter-spacing:.02em}
}


/* Accessible controls and progressive enhancement. */
[hidden] { display: none !important; }
:root { --focus: #28522c; }
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fffdf6;
}
.footer :focus-visible, .order-section > :focus-visible { --focus: #dce9b3; box-shadow: none; }
.routine-preview:focus-visible { outline: 3px solid var(--focus); outline-offset: -4px; }
.dialog-toolbar button:focus-visible, .gallery-arrow:focus-visible { outline-color: var(--focus); }
.order-form input, .order-form select, .order-form textarea { border-color: #718060; }
.order-form input:focus, .order-form select:focus, .order-form textarea:focus {
  outline: 3px solid var(--focus); outline-offset: 2px; border-color: var(--focus);
}
.product-type { color: #755923; }
button, summary { touch-action: manipulation; }
.navigation a { display: inline-flex; align-items: center; min-height: 44px; }
.form-note { font-size: 14px; }
#order-result { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
#order-result .button { margin-top: 16px; }
#prepared-message { min-height: 200px; }
.routine-transcript { padding: 16px 20px; border-top: 1px solid var(--line); font-size: 15px; }
.routine-transcript summary { cursor: pointer; min-height: 44px; line-height: 1.5; font-weight: 600; }
.routine-transcript ol, .routine-transcript ul { padding-left: 22px; }
.routine-transcript li + li, .routine-transcript p + p { margin-top: 10px; }
.advice-story .routine-transcript { margin-top: 24px; padding-inline: 0; }
.routine-grid { align-items: start; }
.routine-card .enlarge-hint { position: static; display: block; width: fit-content; margin: 12px auto; }
.gallery-arrow[aria-disabled="true"] { opacity: .45; cursor: default; }
.gallery-arrow[aria-disabled="true"]:hover { background: #fffdf4; }
.mobile-menu { display: none; }
.order-section, .anchor-target { scroll-margin-top: 12px; }
html { scroll-padding-top: 120px; }
:where(a, button, summary, input, select, textarea) { scroll-margin-block: 12px; }
.standalone-main, .form-grid > *, .hero-copy { min-width: 0; }
.standalone-main h1 { overflow-wrap: anywhere; }

/* Native disclosure works with keyboard, touch and without JavaScript. */
@media (max-width: 1000px) {
  .navigation { display: none; }
  .mobile-menu { display: block; margin-left: auto; }
  .mobile-menu summary { cursor: pointer; padding: 10px 12px; min-height: 44px; border: 1px solid var(--ink); border-radius: 3px; font-size: 14px; }
  .header-inner { position: relative; gap: 12px; }
  .mobile-menu nav { position: absolute; top: 100%; left: 0; right: 0; padding: 12px 6%; max-height: calc(100dvh - 190px); overflow-y: auto; background: #fffdf6; border-block: 1px solid var(--line); box-shadow: 0 8px 16px #15362218; }
  .mobile-menu nav a { display: block; padding: 10px 12px; min-height: 44px; }
  .mobile-menu nav a:hover { background: var(--lime-light); }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 100px; scroll-padding-bottom: calc(var(--mobile-contact-height, 110px + env(safe-area-inset-bottom)) + 12px); }
  .header-inner { padding-inline: 4%; gap: 8px; }
  .brand-logo, .brand-logo img { width: 106px; height: 76px; }
  .button-header { gap: 6px; padding: 10px; min-height: 44px; }
  .button-header svg { display: none; }
  .mobile-menu summary { padding-inline: 9px; }
  .mobile-contact-bar a { min-width: 0; }
  .mobile-contact-bar a:first-child { align-items: center; text-align: center; }
  .footer { padding-bottom: max(calc(125px + env(safe-area-inset-bottom)), calc(var(--mobile-contact-height, 0px) + 24px)); }
  .thank-you-card, .not-found-card { padding: 24px; }
  .dialog-toolbar { gap: 10px; }
  .dialog-toolbar h2 { font-size: 20px; overflow-wrap: anywhere; }
  .dialog-toolbar button { flex-shrink: 0; }
}
@media (max-height: 500px) {
  .header { position: relative; }
  html { scroll-padding-top: 12px; }
}

/* Focused polish: retain the existing palette, imagery and typography. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary { list-style: none; }
.menu-icon { width: 24px; height: 24px; stroke-width: 1.8; }
.mobile-menu[open] .menu-icon { color: var(--green); }
.support-gallery { min-width: 0; }
.support-evidence { align-items: start; }
.support-evidence > article { min-width: 0; }
.support-evidence > article:nth-child(2) { padding-top: 0; }
.support-evidence .editorial-preview { background: #fffdf6; }
.support-evidence .enlarge-hint { position: static; display: block; width: fit-content; margin: 12px auto; }
.support-evidence h3 { margin-top: 16px; }
.customer-gallery-controls { display: none; }
.order-channel-label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--muted); }
.order-form-toggle { margin-block: 20px; padding: 0; border: 1px solid #718060; border-radius: 5px; }
.order-form-toggle summary { padding: 16px; min-height: 60px; background: var(--lime-light); border-radius: 4px; }
.form-summary-hint { display: block; margin: 4px 0 0 18px; font-size: 14px; color: var(--muted); }
.order-form-toggle .order-form, .order-form-toggle > .form-note { margin: 0; padding: 20px 16px; }
.order-form-toggle .form-heading h3 { font-size: 25px; }
.order-form-toggle #quantity-field { grid-template-columns: minmax(0, 1fr) 90px; align-items: center; padding: 14px; border-radius: 4px; background: var(--lime-light); }
#quantity-field input { text-align: center; font-size: 20px; font-weight: 600; }
.order-form-toggle summary:focus-visible { outline-offset: 3px; }
.mobile-contact-bar.is-keyboard-visible { visibility: hidden; pointer-events: none; }
/* Keep the reserved bottom space stable while the virtual keyboard is open. */
@media (min-width: 761px) {
  .order-section { max-width: none; padding: 72px max(6%, calc((100vw - 1210px)/2)); }
  .order-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); }
  .order-heading { margin-bottom: 40px; }
  .order-heading h2 { font-size: clamp(36px, 3.4vw, 50px); }
  .order-pricing { padding-top: 6px; }
  .order-single { align-items: start; flex-direction: column; gap: 12px; }
  .footer { border-top: 1px solid #53644d; padding-top: 36px; }
}
@media (max-width: 1000px) {
  .header-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .mobile-menu { margin-left: 0; justify-self: start; }
  .mobile-menu summary { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border-color: transparent; }
  .brand-logo { justify-self: center; }
  .button-header { justify-self: end; }
  .support-story { grid-template-columns: 1fr; gap: 32px; }
  .support-story-intro { max-width: 680px; }
  .support-evidence { max-width: 700px; margin-inline: auto; }
}
@media (max-width: 760px) {
  .brand-logo, .brand-logo img { width: 106px; height: 76px; }
  .button-header { padding-inline: 8px; font-size: 13px; }
  .support-gallery { width: 100%; }
  .customer-gallery-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; font-size: 14px; color: var(--muted); }
  .customer-gallery-controls > div { display: flex; gap: 10px; }
  .support-evidence { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 92%; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 3px; padding: 4px 3px 18px; scrollbar-width: thin; scrollbar-color: #8b9f66 #ebeede; }
  .support-evidence > article { scroll-snap-align: start; }
  .support-evidence img { width: 100%; height: auto; object-fit: contain; }
  .support-evidence h3 { font-size: 20px; line-height: 1.4; }
  .order-heading { margin-bottom: 28px; }
  .order-layout { gap: 28px; }
  .order-actions { padding: 22px 18px; }
  .order-form-toggle .order-form { padding-inline: 12px; }
  .order-form-toggle #quantity-field { padding: 12px; grid-template-columns: minmax(0, 1fr) 76px; }
}

/* Full-width section surfaces; shared content gutters without viewport-width overflow. */
:root {
  --content-width: 1200px;
  --content-gutter: max(6%, calc((100% - var(--content-width)) / 2));
  --surface-soft: #f1eedf;
}
.section, .footer {
  max-width: none;
  padding-inline: var(--content-gutter);
}
/* The opening composition retains its slightly wider image/text proportions. */
.hero {
  max-width: none;
  padding-inline: max(5%, calc((100% - 1296px) / 2));
}
.header-inner {
  max-width: none;
  padding-inline: max(5%, calc((100% - 1296px) / 2));
}
.support-story, .team-section, .faq {
  background: var(--surface-soft);
  border-block: 0;
}
.brand-strip {
  background: var(--white);
  border-top: 0;
  border-bottom: 1px solid var(--line);
  padding: 16px var(--content-gutter);
  gap: clamp(16px, 3vw, 44px);
}
.footer {
  background: #14331f;
  border-top: 1px solid rgb(220 233 179 / 25%);
  padding-top: 44px;
}
@media (max-width: 760px) {
  .hero { padding-inline: 6%; }
  .header-inner { padding-inline: 4%; }
  .brand-strip { flex-direction: column; gap: 6px; padding-block: 18px; }
  .brand-strip > span:last-child { display: inline; }
  .brand-strip > .strip-symbol { display: none; }
}
