@font-face{font-family:DM Sans;src:url('/assets/fonts/dm-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/fonts/dm-sans-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/fonts/dm-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-500.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--cream:#fff5de;--paper:#fff9ed;--wine:#4e252c;--muted:#755b58;--guava:#f17885;--blush:#f8e5da;--line:rgba(78,37,44,.2);--serif:Fraunces,Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(24px,5.7vw,104px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--cream);color:var(--wine);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}a,button{outline-offset:6px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--wine)}img{max-width:100%;display:block}svg{display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:1}button:disabled{color:var(--cream);-webkit-text-fill-color:var(--cream)}input:disabled{color:var(--wine);-webkit-text-fill-color:var(--wine)}[hidden]{display:none!important}::selection{background:var(--guava);color:var(--wine)}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--wine);color:var(--cream);padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.announcement{min-height:34px;padding:7px 20px;display:flex;align-items:center;justify-content:center;gap:17px;background:var(--wine);color:var(--cream);font-size:11px;letter-spacing:.055em}.tiny-heart{width:9px;height:9px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,245,222,.98);border-bottom:1px solid transparent;transition:border-color .25s}.site-header.is-scrolled{border-color:var(--line)}.header-inner{height:95px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;margin:0 var(--gutter)}.desktop-nav{display:flex;gap:27px;font-size:13px}.desktop-nav a{position:relative}.desktop-nav a::after{position:absolute;content:'';left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover::after{transform:scaleX(1)}.brand img{width:239px;height:auto}.header-cta{justify-self:end;display:flex;gap:18px;align-items:center;font-size:13px;border-bottom:1px solid var(--wine);padding:8px 0}.header-cta svg{width:19px;height:19px;transform:rotate(-35deg);transition:transform .25s}.header-cta:hover svg{transform:rotate(-35deg) translateX(3px)}.menu-toggle,.mobile-menu{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;line-height:1.6;font-weight:500}.small-line{display:inline-block;width:26px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.hero{position:relative;display:grid;grid-template-columns:42% 58%;min-height:670px;max-width:1920px;margin:auto;overflow:hidden}.hero-copy{position:relative;z-index:2;padding:49px 0 48px var(--gutter);pointer-events:none}.hero-copy>*{pointer-events:auto}.hero h1{font-family:var(--serif);font-size:clamp(75px,7.65vw,135px);line-height:.97;letter-spacing:-.067em;margin:27px 0 31px;position:relative;white-space:nowrap}.crush-word{display:inline-block;position:relative}.crush-word>svg{position:absolute;width:105%;height:21px;bottom:-11px;left:0;color:var(--guava)}.hero-description{max-width:313px;font-size:15px;line-height:1.7;margin-bottom:26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:39px;min-height:52px;padding:14px 25px;font-size:13px;font-weight:500;border:1px solid transparent;border-radius:2px;transition:background .2s,color .2s,transform .2s}.button svg{width:22px;height:22px;transition:transform .2s}.button:hover svg{transform:translateX(4px)}.button-wine{color:var(--cream);background:var(--wine)}.button-wine:hover{background:#71373f}.hero-note{font-size:10px;letter-spacing:.025em;margin-top:15px}.hero-media{position:relative;margin-left:-12%;min-width:0}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:right center}.hero-seal{position:absolute;right:8%;top:21px;width:115px;height:115px;transform:rotate(14deg)}.hero-seal text{font-family:var(--sans);font-size:9.55px;font-weight:500;letter-spacing:1.9px;fill:var(--wine)}.hero-seal svg{width:100%;height:100%}.hero-caption{position:absolute;bottom:26px;right:var(--gutter);left:24%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.1em;text-transform:uppercase;gap:20px}.hero-caption span:first-child{font-family:var(--serif);font-size:16px;letter-spacing:0;text-transform:none}.brand-ribbon{position:relative;background:var(--guava);padding:25px var(--gutter);overflow:hidden}.ribbon-content{display:flex;justify-content:space-between;align-items:center;gap:28px;max-width:1280px;margin:auto;white-space:nowrap}.ribbon-content span{font-family:var(--serif);font-size:clamp(21px,2.3vw,34px);letter-spacing:-.025em}.ribbon-content svg{width:17px;height:17px;flex:0 0 auto}.section-shell{padding:110px var(--gutter);max-width:1920px;margin:auto}.section-intro{text-align:center;margin-bottom:60px}.section-intro h2{font:400 clamp(46px,5.1vw,76px)/1.1 var(--serif);letter-spacing:-.05em;margin:14px 0 18px}.section-intro>p:last-child{font-size:14px}.product-section{background:var(--paper)}.product-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(48px,8vw,136px);align-items:center;max-width:1270px;margin:auto}.product-stage{position:relative;min-width:0;overflow:hidden;border-radius:48% 48% 0 0;background:var(--blush);isolation:isolate;aspect-ratio:1/1.13}.product-stage>img{width:100%;height:100%;object-fit:cover;object-position:center 61%;transition:opacity .2s}.stage-label{position:absolute;z-index:1;top:11%;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.stage-index{position:absolute;z-index:1;bottom:25px;left:28px;font-size:10px;letter-spacing:.14em}.stage-spark{position:absolute;bottom:27px;right:27px;z-index:1;width:28px;height:28px}.stage-spark svg{width:100%;height:100%}.colour-story{padding:30px 0}.colour-options{display:flex;gap:26px;margin:23px 0 38px;flex-wrap:wrap}.colour-option{display:flex;align-items:center;gap:10px;background:none;border:0;border-bottom:1px solid transparent;padding:0 0 11px;font-size:13px}.colour-option.is-selected{border-color:var(--wine)}.colour-dot{display:block;width:24px;height:24px;border:1px solid rgba(78,37,44,.15);border-radius:50%;position:relative}.colour-option.is-selected .colour-dot::after{content:'';position:absolute;inset:5px;border:1px solid var(--wine);border-radius:50%}.guava-dot{background:var(--guava)}.buttermilk-dot{background:var(--cream)}.colour-personality{font:400 22px/1.3 var(--serif)}.colour-copy h3{font:400 clamp(64px,6.6vw,102px)/1.08 var(--serif);letter-spacing:-.06em;margin:2px 0 20px;overflow-wrap:anywhere}.colour-copy>p:last-child{font-size:15px;line-height:1.7;max-width:334px;min-height:76px}.product-specs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin:31px 0 25px;max-width:360px}.product-specs>div{display:flex;justify-content:space-between;gap:14px;font-size:11px;padding:6px 0}.product-specs>div>span{color:var(--muted)}.product-specs>div>p{text-align:right}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:13px;border-bottom:1px solid var(--wine);padding-bottom:7px}.text-link svg{width:22px;height:22px;transition:transform .2s}.text-link:hover svg{transform:translateX(5px)}.small-caption{display:block;font-size:10px;margin-top:17px;color:var(--muted)}.details-section{padding-top:105px;padding-bottom:115px}.details-heading{position:relative;display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:55px;padding-right:10%;gap:30px}.details-heading>.eyebrow{padding-bottom:7px}.details-heading h2{font:400 clamp(51px,5.7vw,86px)/1.03 var(--serif);letter-spacing:-.05em}.heading-spark{position:absolute;right:0;top:12px;width:56px;height:56px;color:var(--guava)}.details-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,7.7vw,120px)}.detail-photograph{position:relative;min-width:0}.detail-photograph img{width:100%;height:auto;aspect-ratio:1/1.16;object-fit:cover;transition:opacity .2s}.detail-photograph img[data-framing="full"]{object-fit:contain;background:#f6ebda}.detail-image-caption{font-size:9px;text-transform:uppercase;letter-spacing:.13em;margin-top:14px}.details-lede{font:400 29px/1.3 var(--serif);letter-spacing:-.018em;margin-bottom:32px}.detail-item{border-top:1px solid var(--line)}.detail-item:last-of-type{border-bottom:1px solid var(--line)}.detail-button{display:flex;align-items:center;width:100%;text-align:left;gap:16px;padding:25px 0;border:0;background:transparent;font-size:15px;font-weight:500;line-height:1.4}.detail-number{font-size:9px;letter-spacing:.1em;min-width:23px;font-weight:400}.plus{position:relative;display:block;width:15px;height:15px;flex-shrink:0;margin-left:auto}.plus::before,.plus::after{content:'';background:currentColor;position:absolute;top:7px;left:0;width:15px;height:1px;transition:transform .2s}.plus::after{transform:rotate(90deg)}.is-open .plus::after,details[open] .plus::after{transform:rotate(0deg)}.detail-panel{padding:0 24px 27px 39px;font-size:13px;line-height:1.8;max-width:460px}.detail-accordion>.text-link{margin-top:34px}.ritual-section{display:grid;grid-template-columns:1fr 1fr;background:var(--guava)}.ritual-photo{position:relative;overflow:hidden}.ritual-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;min-height:680px;max-height:900px}.photo-note{position:absolute;bottom:30px;left:36px;font:400 25px/1.2 var(--serif);color:var(--cream);text-shadow:0 1px 10px rgba(0,0,0,.3)}.ritual-copy{align-self:center;padding:70px clamp(36px,5.7vw,110px)}.ritual-copy h2{font:400 clamp(44px,4.55vw,72px)/1.1 var(--serif);letter-spacing:-.05em;margin:35px 0 30px}.ritual-copy>p:not(.eyebrow){max-width:333px;font-size:14px;line-height:1.8}.ritual-copy>.ritual-signoff{font-family:var(--serif);font-size:21px!important;margin-top:22px}.ritual-steps{display:flex;justify-content:space-between;gap:20px;max-width:380px;margin-top:52px;border-top:1px solid rgba(78,37,44,.35);padding-top:20px;font-family:var(--serif);font-size:24px}.ritual-steps small{display:block;font:400 9px/1.5 var(--sans);margin-bottom:9px;letter-spacing:.12em}.packaging-section{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(50px,7.5vw,120px);padding-top:130px;padding-bottom:95px}.packaging-copy{position:relative;max-width:420px}.packaging-copy h2{font:400 clamp(57px,6.1vw,95px)/1.06 var(--serif);letter-spacing:-.06em;margin:27px 0 30px}.packaging-copy>p:not(.eyebrow){max-width:310px;font-size:14px;line-height:1.8;margin-top:18px}.packaging-copy>.text-link{margin-top:30px}.packaging-heart{position:absolute;bottom:-76px;right:11%;width:38px;height:38px;transform:rotate(14deg);color:var(--guava)}.packaging-photo{transform:rotate(2deg);transform-origin:center}.packaging-photo img{width:100%;height:auto}.packaging-photo figcaption{font-size:10px;margin-top:14px;letter-spacing:.02em}.faq-section{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(50px,7.5vw,120px);padding-top:85px;padding-bottom:160px}.faq-heading h2{font:400 clamp(35px,3.45vw,53px)/1.15 var(--serif);letter-spacing:-.04em;margin-top:22px}.faq-heading .eyebrow{font-size:9px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:30px;list-style:none;cursor:pointer;padding:22px 0;font-size:13px;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list details>p{font-size:13px;line-height:1.85;padding:0 25px 25px 0}.signup-section{position:relative;background:var(--guava);padding:83px 24px 91px;text-align:center;overflow:visible}.scallop-edge{position:absolute;top:-38px;left:0;width:100%;height:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='40' viewBox='0 0 144 40'%3E%3Cpath d='M0 35 Q72 -29 144 35 V40 H0Z' fill='%23f17885'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:center bottom;background-size:144px 40px}.signup-inner{position:relative;max-width:640px;margin:auto;z-index:1}.signup-inner h2{font:400 clamp(65px,7.5vw,112px)/.99 var(--serif);letter-spacing:-.055em;margin:20px 0 27px}.signup-inner>p:not(.eyebrow):not(.signup-status):not(.colour-preference){font-size:14px;line-height:1.75}.signup-form{display:flex;align-items:stretch;border:1px solid var(--wine);background:var(--cream);padding:5px;max-width:520px;margin:31px auto 0;border-radius:2px;text-align:left}.signup-form input{border:0;background:transparent;width:100%;min-width:0;outline:0;padding:13px 15px;font-size:13px}.signup-form input::placeholder{color:var(--muted);opacity:1;-webkit-text-fill-color:var(--muted)}.signup-form button{border:0;background:var(--wine);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 17px;font-size:12px;white-space:nowrap}.signup-form button svg{width:20px;height:20px}.signup-status{font-size:10px;margin:13px 0 0}.colour-preference{font-size:12px;margin:25px auto 0;display:flex;align-items:center;justify-content:center;gap:9px}.colour-preference svg{width:12px;height:12px}.colour-preference strong{font-weight:500}.signup-spark{position:absolute;color:var(--wine)}.spark-one{top:100px;left:15%;width:55px;height:55px;transform:rotate(15deg)}.spark-two{bottom:140px;right:14%;width:35px;height:35px;transform:rotate(15deg)}.site-footer{padding:41px var(--gutter) 22px;background:var(--cream)}.footer-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:24px}.footer-top>span{font-family:var(--serif);font-size:20px}.footer-top>a{display:flex;gap:20px;align-items:center}.footer-top>a>span{font-size:19px}.footer-wordmark{width:100%;height:auto;margin:46px 0 36px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:9px;border-top:1px solid var(--line);padding-top:18px}.footer-bottom p{text-align:center;max-width:430px}.privacy-link{border:0;background:none;font-size:10px;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.privacy-dialog{position:fixed;inset:0;margin:auto;border:1px solid var(--wine);background:var(--cream);color:var(--wine);padding:48px;max-width:520px;width:calc(100% - 40px);max-height:85vh}.privacy-dialog::backdrop{background:rgba(39,14,19,.4);backdrop-filter:blur(4px)}.privacy-dialog h2{font:400 39px/1.15 var(--serif);letter-spacing:-.04em;margin:16px 0 20px}.privacy-dialog>p:not(.eyebrow){font-size:14px;margin-top:14px;line-height:1.7}.dialog-close{position:absolute;right:12px;top:8px;width:34px;height:34px;line-height:1;border:0;background:transparent;font-size:28px}
@media(min-width:1600px){.hero{min-height:790px}.hero-copy{padding-top:73px}.hero-description{font-size:17px;max-width:350px}.hero-media{margin-left:-7%}}
@media(max-width:1100px) and (min-width:861px){.desktop-nav{gap:17px;font-size:11px}.brand img{width:205px}.header-inner{gap:18px}.hero{min-height:635px;grid-template-columns:45% 55%}.hero-copy{padding-top:43px}.hero h1{font-size:86px}.hero-description{font-size:14px;max-width:270px}.hero-seal{right:8%;width:95px;height:95px}.hero-caption span:first-child{display:none}.hero-caption{justify-content:flex-end}.details-heading{padding-right:7%}.details-heading h2{font-size:62px}.details-lede{font-size:25px}.detail-button{font-size:13px;padding:21px 0;gap:9px}.detail-panel{padding-left:32px}.ritual-copy{padding-left:40px;padding-right:40px}.ritual-copy h2{font-size:48px}.colour-copy h3{font-size:65px}.spark-one{left:9%}.spark-two{right:8%}}
@media(max-width:860px){html{scroll-padding-top:85px}.announcement{font-size:10px;gap:13px;min-height:32px}.header-inner{height:79px;grid-template-columns:1fr auto;gap:20px}.brand{grid-column:1;grid-row:1;justify-self:start}.brand img{width:193px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;align-items:center;width:42px;height:42px;border:0;background:none;grid-column:2;grid-row:1;padding:8px}.menu-toggle span{display:block;width:25px;height:1px;background:var(--wine);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;flex-direction:column;padding:0 var(--gutter) 24px;border-bottom:1px solid var(--line)}.mobile-menu a{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);font-size:14px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:41px var(--gutter) 20px;max-width:none}.hero h1{font-size:clamp(73px,13.3vw,110px);line-height:.98;margin:23px 0 28px;letter-spacing:-.06em}.hero h1 br:nth-child(2){display:block}.hero h1 .crush-word{margin-left:0}.hero h1 br:nth-child(2)+.crush-word::before{content:''}.hero-description{max-width:390px;font-size:14px}.hero-note{margin-top:14px}.hero-media{margin:0;aspect-ratio:1.6;height:auto;min-height:330px}.hero-image{object-position:right center;object-fit:cover}.hero-seal{width:95px;height:95px;top:8px;left:var(--gutter);right:auto}.hero-caption{bottom:17px;left:var(--gutter);right:var(--gutter)}.hero-caption span:first-child{font-size:14px}.hero-caption span:last-child{font-size:8px}.brand-ribbon{padding:22px 24px}.ribbon-content{justify-content:center;gap:23px;flex-wrap:wrap;row-gap:7px}.ribbon-content span{font-size:22px}.ribbon-content svg{width:13px;height:13px}.ribbon-content>span:last-child{display:none}.section-shell{padding:76px var(--gutter)}.section-intro{margin-bottom:36px}.section-intro h2{font-size:clamp(42px,8vw,64px)}.section-intro>p:last-child{max-width:290px;margin:auto;line-height:1.7;font-size:13px}.product-layout{grid-template-columns:1fr;gap:30px;max-width:590px}.product-stage{aspect-ratio:1/1.06;border-radius:47% 47% 0 0}.stage-label{top:10%}.colour-story{padding:8px 6px 0}.colour-options{margin-top:19px;margin-bottom:28px}.colour-personality{font-size:21px}.colour-copy h3{font-size:72px;margin:5px 0 14px}.colour-copy>p:last-child{min-height:0;max-width:390px;font-size:14px}.product-specs{max-width:none;margin:24px 0 22px}.product-specs>div{font-size:12px}.details-heading{display:block;padding-right:30px;margin-bottom:32px}.details-heading h2{font-size:clamp(48px,8vw,68px);margin-top:18px}.heading-spark{width:37px;height:37px;top:52px}.details-layout{grid-template-columns:1fr;gap:31px;max-width:590px;margin:auto}.detail-photograph img{aspect-ratio:1/1.02;object-position:center}.details-lede{font-size:25px;margin:0 0 25px}.detail-button{padding:21px 0;font-size:14px;gap:12px}.detail-panel{padding-left:35px}.detail-accordion>.text-link{margin-top:28px}.ritual-section{grid-template-columns:1fr}.ritual-photo img{min-height:0;max-height:none;height:auto;aspect-ratio:1/1.12;object-position:center 33%}.photo-note{left:var(--gutter);bottom:25px;font-size:24px}.ritual-copy{padding:56px var(--gutter) 64px}.ritual-copy h2{font-size:clamp(49px,8.2vw,74px);margin:25px 0}.ritual-copy>p:not(.eyebrow){max-width:450px}.ritual-steps{margin-top:36px;max-width:450px}.packaging-section{grid-template-columns:1fr;gap:47px;padding-top:74px;padding-bottom:52px}.packaging-copy{max-width:none}.packaging-copy h2{font-size:clamp(57px,10vw,85px);margin:20px 0 22px}.packaging-copy>p:not(.eyebrow){max-width:370px}.packaging-heart{right:11px;bottom:18px;width:31px;height:31px}.packaging-photo{max-width:570px;margin:auto;transform:rotate(1.5deg)}.faq-section{grid-template-columns:1fr;gap:32px;padding-top:45px;padding-bottom:96px}.faq-heading h2{font-size:42px;margin-top:16px}.faq-list summary{font-size:14px;padding:22px 0}.signup-section{padding:62px var(--gutter) 65px}.signup-inner h2{font-size:79px;margin:22px 0}.signup-inner>p:not(.eyebrow):not(.signup-status):not(.colour-preference){font-size:13px}.spark-one{top:58px;left:7%;width:27px;height:27px}.spark-two{bottom:200px;right:6%;width:20px;height:20px}.signup-form{max-width:520px;margin-top:28px}.signup-form input{padding-left:10px;font-size:12px}.signup-form button{padding:13px 14px;gap:14px;font-size:11px}.signup-status{font-size:9px;line-height:1.7}.site-footer{padding-top:29px}.footer-top{font-size:10px}.footer-top>span{font-size:16px}.footer-top>a{gap:12px}.footer-wordmark{margin:33px 0 27px}.footer-bottom{flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:9px}.footer-bottom>p{order:3;text-align:left;max-width:none;flex-basis:100%;margin-top:3px;font-size:8px}.privacy-dialog{padding:36px 28px}.privacy-dialog h2{font-size:34px}}
@media(max-width:480px){.hero-copy{padding-top:28px}.hero h1{font-size:74px}.hero h1 br:nth-child(2){display:block}.hero h1 .crush-word::before{content:''}.hero-description{max-width:300px}.hero-media{min-height:280px;aspect-ratio:1.33}.hero-image{object-position:83% center}.hero-seal{width:79px;height:79px;top:2px}.hero-caption{bottom:14px}.hero-caption span:first-child{font-size:12px}.hero-caption span:last-child{font-size:7px}.ribbon-content{flex-wrap:nowrap;gap:15px;justify-content:space-between}.ribbon-content span{font-size:18px}.ribbon-content span:nth-of-type(3),.ribbon-content svg:last-of-type{display:none}.ribbon-content svg{width:10px;height:10px}.colour-copy h3{font-size:clamp(48px,16vw,66px)}.detail-button{font-size:13px;gap:9px}.detail-number{min-width:19px}.detail-panel{padding-left:28px;padding-right:8px;font-size:12px}.signup-inner h2{font-size:clamp(55px,17.5vw,71px)}.spark-one{left:5%;width:22px;height:22px}.spark-two{right:4%;bottom:181px}.signup-form{padding:4px}.signup-form button{gap:7px;padding:13px 10px}.signup-form button svg{width:16px;height:16px}.signup-form input{width:50%;font-size:11px}.brand img{width:180px}.footer-top>span{font-size:15px}.footer-top>a{font-size:9px;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Local design refinement: product-led details and a more compact reading rhythm. */
.hero-copy, .hero-media, .colour-story, .detail-accordion, .ritual-copy, .ritual-photo { min-width: 0; }
.hero h1 { white-space: normal; }
.hero-note, .concept-note { font-size: 12px; line-height: 1.6; }
.concept-note { color: var(--muted); margin-top: 5px; }
.hero-caption { font-size: 11px; }
.hero-caption span:first-child { font-size: 18px; }
.brand-ribbon { padding-top: 20px; padding-bottom: 20px; }
.ribbon-content span { font-size: clamp(19px, 2vw, 28px); }
.section-shell { padding-top: 88px; padding-bottom: 88px; }
.section-intro { margin-bottom: 42px; }
.section-intro h2 { font-size: clamp(42px, 4.2vw, 62px); }
.stage-label, .stage-index { font-size: 12px; }
.colour-copy h3 { font-size: clamp(58px, 5.7vw, 86px); }
.product-specs > div { font-size: 13px; }
.small-caption, .detail-image-caption, .packaging-photo figcaption { font-size: 12px; line-height: 1.65; }
.details-heading { padding-right: 0; margin-bottom: 36px; }
.details-heading h2 { font-size: clamp(46px, 4.8vw, 68px); }
.details-lede { font: 400 17px/1.65 var(--sans); margin-bottom: 28px; }
.detail-button { min-height: 64px; }
.detail-panel { font-size: 14px; }
.detail-image-caption { letter-spacing: .05em; }
.ritual-copy h2 { font-size: clamp(42px, 4vw, 62px); }
.packaging-section { padding-top: 88px; padding-bottom: 64px; }
.packaging-copy h2 { font-size: clamp(52px, 5vw, 72px); }
.packaging-photo { transform: none; }
.packaging-photo figcaption { border-top: 1px solid var(--wine); padding-top: 12px; }
.faq-section { padding-top: 48px; padding-bottom: 108px; }
.faq-heading h2 { font-size: clamp(36px, 3.5vw, 48px); }
.faq-list summary, .faq-list details > p { font-size: 14px; }
.signup-section { padding-top: 68px; padding-bottom: 68px; }
.signup-inner h2 { font-size: clamp(60px, 6.3vw, 90px); }
.signup-form { border-style: dashed; background: rgba(255,245,222,.55); }
.signup-form button:disabled { background: transparent; color: var(--wine); -webkit-text-fill-color: var(--wine); border-left: 1px solid var(--line); }
.signup-status { font-size: 13px; line-height: 1.65; max-width: 430px; margin: 16px auto 0; }
.footer-bottom, .footer-bottom > p { font-size: 12px; }
.footer-bottom > p { max-width: 440px; }
.privacy-link { font-size: 12px; min-height: 44px; min-width: 44px; }

@media (max-width: 1100px) and (min-width: 861px) {
  .hero h1 { font-size: clamp(64px, 7.4vw, 81px); }
  .colour-copy h3 { font-size: clamp(48px, 5.5vw, 60px); }
}

@media (max-width: 860px) {
  .header-inner { height: 72px; }
  .hero-copy { padding: 28px var(--gutter) 25px; }
  .hero h1 { font-size: clamp(46px, 15.5vw, 80px); margin: 18px 0 20px; }
  .hero-description { max-width: 390px; margin-bottom: 20px; }
  .hero-note { margin-top: 12px; }
  .hero-caption { font-size: 10px; }
  .hero-caption span:first-child { font-size: 15px; }
  .hero-caption span:last-child { font-size: 10px; }
  .section-shell { padding-top: 60px; padding-bottom: 60px; }
  .section-intro { margin-bottom: 28px; }
  .section-intro h2 { font-size: clamp(38px, 7vw, 52px); }
  .colour-copy h3 { font-size: clamp(46px, 13.8vw, 72px); }
  .colour-options { margin-bottom: 22px; }
  .details-heading h2 { font-size: clamp(40px, 7.5vw, 58px); }
  .details-heading h2 br { display: none; }
  .details-heading { margin-bottom: 24px; }
  .details-layout { display: block; }
  .details-layout > .detail-photograph { display: none; }
  .detail-panel { padding: 0 0 24px; max-width: none; font-size: 14px; }
  .detail-panel > p { margin-top: 16px; }
  .detail-photograph { margin-top: 2px; }
  .detail-photograph img { aspect-ratio: 1 / 1.08; }
  .detail-photograph img[data-framing="full"],
  .detail-photograph img[data-framing="fastening"] { aspect-ratio: 1122 / 1402; }
  .detail-image-caption { font-size: 11px; margin-top: 10px; }
  .detail-button { font-size: 14px; padding: 21px 0; }
  .details-lede { font-size: 15px; margin-bottom: 22px; }
  .ritual-copy { padding-top: 42px; padding-bottom: 44px; }
  .ritual-copy h2 { font-size: clamp(40px, 7.4vw, 58px); margin: 20px 0 24px; }
  .packaging-section { padding-top: 60px; padding-bottom: 36px; gap: 30px; }
  .packaging-copy h2 { font-size: clamp(48px, 8.5vw, 68px); }
  .packaging-copy > p:not(.eyebrow) { max-width: 440px; }
  .packaging-photo { transform: none; }
  .faq-section { gap: 24px; padding-top: 36px; padding-bottom: 80px; }
  .faq-heading h2 { font-size: 38px; }
  .signup-section { padding: 52px var(--gutter); }
  .signup-inner h2 { font-size: clamp(46px, 14.8vw, 70px); }
  .signup-form { margin-top: 24px; }
  .signup-form input { width: 100%; font-size: 12px; padding: 12px 8px; }
  .signup-form button { padding: 12px 10px; font-size: 12px; }
  .signup-status { font-size: 12px; }
  .footer-bottom > p { font-size: 12px; }
  .footer-top > a { font-size: 11px; min-height: 44px; }
}

@media (min-width: 641px) and (max-width: 860px) {
  .hero { grid-template-columns: 45% 55%; min-height: 480px; }
  .hero-copy { padding: 35px 20px 32px var(--gutter); }
  .hero h1 { font-size: clamp(49px, 7.5vw, 64px); }
  .hero-description { font-size: 14px; }
  .hero-media { min-height: 0; aspect-ratio: auto; }
  .hero-image { object-position: 76% center; }
  .hero-caption { left: 18px; right: 18px; }
  .hero-caption span:last-child { display: none; }
  .button { gap: 20px; padding: 14px 18px; }
}

@media (max-width: 480px) {
  .announcement { padding: 7px 12px; gap: 10px; font-size: 9px; }
  .hero h1 { font-size: clamp(46px, 15.5vw, 68px); }
  .hero-description { max-width: 100%; font-size: 14px; line-height: 1.6; }
  .hero-media { min-height: 0; aspect-ratio: 1.25; }
  .ribbon-content { flex-wrap: wrap; justify-content: center; gap: 10px; }
  .ribbon-content span { font-size: 17px; }
  .ribbon-content svg:nth-of-type(2) { display: none; }
  .product-specs > div { font-size: 12px; }
  .colour-story { padding-left: 0; padding-right: 0; }
  .colour-copy h3 { overflow-wrap: normal; }
  .photo-note { font-size: 21px; }
  .ritual-copy h2 { font-size: clamp(36px, 10.5vw, 48px); }
  .footer-top { gap: 12px; }
}

/* A quieter product presentation, using the existing Wash Crush identity. */
.header-inner { height: 84px; }
.brand img { width: 220px; }
.eyebrow { font-size: 12px; letter-spacing: .035em; text-transform: none; }
.hero { grid-template-columns: 42% 58%; min-height: 610px; }
.hero-copy { padding: 58px 32px 46px var(--gutter); }
.hero h1 { font-size: clamp(62px, 6.4vw, 112px); line-height: 1.02; letter-spacing: -.055em; margin: 28px 0; }
.hero-media { margin-left: 0; }
.hero-description { max-width: 340px; }
.hero-caption { left: 30px; right: 30px; text-transform: none; letter-spacing: 0; }
.hero-caption span:first-child { font: 400 13px/1.5 var(--sans); }
.hero-caption span:last-child { font-size: 12px; }
.hero-note { margin-top: 18px; }
.concept-note { font-size: 11px; }
.button { min-height: 48px; padding: 13px 23px; }
.section-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; text-align: left; max-width: 1270px; margin: 0 auto 35px; }
.section-intro h2 { font: 400 34px/1.2 var(--sans); letter-spacing: -.035em; margin: 0; }
.section-intro > p:last-child { font-size: 14px; }
.product-section { background: var(--cream); }
.product-stage { border-radius: 0; aspect-ratio: 1 / 1.12; }
.colour-story { max-width: 380px; }
.colour-options { margin: 16px 0 30px; }
.colour-copy h3 { font-size: clamp(46px, 4.5vw, 66px); letter-spacing: -.04em; margin: 0 0 18px; }
.colour-copy > p:last-child { min-height: 0; }
.product-specs { margin-top: 28px; }
.details-section { padding-top: 24px; }
.details-heading { display: block; }
.details-heading h2 { font: 400 34px/1.25 var(--sans); letter-spacing: -.035em; margin: 0; }
.detail-button { font-size: 16px; font-weight: 400; }
.detail-panel { padding-left: 0; }
.detail-image-caption { text-transform: none; letter-spacing: 0; }
.ritual-section { grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 110px); padding: 36px var(--gutter) 76px; background: var(--cream); max-width: 1920px; margin: auto; align-items: center; }
.ritual-photo img { min-height: 0; max-height: none; height: auto; aspect-ratio: 1 / 1.1; object-fit: cover; }
.ritual-copy { padding: 30px 0; }
.ritual-copy h2 { font-size: clamp(38px, 4.3vw, 66px); margin: 0 0 26px; }
.ritual-copy > p:not(.eyebrow) { max-width: 320px; font-size: 15px; }
.packaging-section { padding-top: 30px; padding-bottom: 72px; }
.packaging-copy h2 { font-size: clamp(46px, 4.5vw, 66px); }
.packaging-copy > p:not(.eyebrow) { font-size: 15px; }
.packaging-photo { max-width: 640px; }
.faq-section { padding-top: 40px; padding-bottom: 100px; }
.faq-heading h2 { font: 400 30px/1.3 var(--sans); letter-spacing: -.035em; margin: 0; }
.signup-section { padding: 65px var(--gutter); }
.signup-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; max-width: 1280px; text-align: left; align-items: center; }
.signup-inner h2 { font-size: clamp(38px, 3.8vw, 54px); line-height: 1.1; letter-spacing: -.04em; max-width: 430px; margin: 0 0 20px; }
.launch-copy > p { font-size: 14px; line-height: 1.7; }
.launch-form { min-width: 0; }
.signup-form { margin: 0; border-style: solid; background: rgba(255,245,222,.65); }
.signup-status { margin: 12px 0 0; font-size: 12px; }
.footer-wordmark { width: clamp(220px, 22vw, 320px); margin: 22px 0; }
.footer-top { justify-content: flex-end; }
.footer-top > span { display: none; }

@media (max-width: 1100px) and (min-width: 861px) {
  .hero { min-height: 560px; }
  .hero h1 { font-size: 62px; }
  .hero-copy { padding-top: 42px; padding-right: 22px; }
  .colour-copy h3 { font-size: 48px; }
  .signup-inner { gap: 40px; }
}
@media (max-width: 860px) {
  .header-inner { height: 72px; }
  .brand img { width: 180px; }
  .hero { grid-template-columns: 1fr; min-height: 0; }
  .hero-copy { padding: 28px var(--gutter); }
  .hero h1 { font-size: clamp(45px, 13.6vw, 80px); margin: 18px 0 24px; }
  .hero-media { margin: 0; aspect-ratio: 1.35; min-height: 0; }
  .hero-caption { left: var(--gutter); right: var(--gutter); bottom: 16px; }
  .hero-caption span:first-child { font-size: 12px; }
  .hero-caption span:last-child { font-size: 11px; }
  .section-intro { display: block; margin-bottom: 26px; }
  .section-intro h2 { font-size: 29px; }
  .section-intro > p:last-child { margin: 10px 0 0; max-width: none; }
  .colour-story { max-width: none; padding-top: 0; }
  .colour-copy h3 { font-size: clamp(42px, 11.8vw, 60px); }
  .product-stage { aspect-ratio: 1 / 1.12; }
  .details-section { padding-top: 10px; }
  .details-heading h2 { font-size: 29px; }
  .detail-button { font-size: 15px; }
  .ritual-section { grid-template-columns: 1fr; gap: 0; padding: 10px var(--gutter) 40px; }
  .ritual-copy { padding: 28px 0 0; }
  .ritual-copy h2 { font-size: clamp(36px, 8vw, 54px); }
  .ritual-copy > p:not(.eyebrow) { max-width: 350px; font-size: 14px; }
  .packaging-section { padding-top: 25px; padding-bottom: 48px; }
  .packaging-copy h2 { font-size: clamp(42px, 9vw, 58px); margin: 16px 0 22px; }
  .packaging-copy > p:not(.eyebrow) { font-size: 14px; }
  .faq-section { padding-top: 25px; padding-bottom: 75px; }
  .faq-heading h2 { font-size: 28px; }
  .signup-section { padding: 45px var(--gutter); }
  .signup-inner { grid-template-columns: 1fr; gap: 28px; }
  .signup-inner h2 { font-size: clamp(36px, 9vw, 48px); max-width: 380px; margin-bottom: 16px; }
  .footer-wordmark { width: min(100%, 220px); margin: 18px 0 24px; }
}
@media (min-width: 641px) and (max-width: 860px) {
  .hero { grid-template-columns: 45% 55%; min-height: 460px; }
  .hero-copy { padding: 30px 22px 32px var(--gutter); }
  .hero h1 { font-size: clamp(45px, 6.6vw, 56px); }
  .hero-media { aspect-ratio: auto; }
  .hero-caption span:last-child { display: none; }
}

/* Product-inspired brand details. Keep the supplied artwork untouched. */
:root {
  --piping: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='18' viewBox='0 0 64 18'%3E%3Cpath d='M0 2Q32 30 64 2' fill='none' stroke='%234e252c' stroke-width='1'/%3E%3C/svg%3E");
}
.woven-label {
  display: inline-block;
  background: var(--wine);
  color: var(--cream);
  border-inline: 1px dashed rgba(255,245,222,.55);
  box-shadow: 5px 0 0 var(--wine), -5px 0 0 var(--wine);
  padding: 7px 13px;
  margin-inline: 5px;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .015em;
}
.hero { min-height: 650px; overflow: visible; }
.hero-copy { align-self: center; padding-top: 48px; padding-bottom: 48px; }
.hero-media { display: grid; grid-template-rows: 1fr auto; margin: 24px var(--gutter) 0 0; }
.hero-photo { position: relative; min-height: 0; border: 1px solid var(--wine); border-bottom: 0; }
.hero-image { object-position: 83% center; }
.hero-photo::after {
  content: ''; position: absolute; bottom: -1px; left: -1px; right: -1px; height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='20' viewBox='0 0 64 20'%3E%3Cpath d='M0 2Q32 30 64 2V20H0Z' fill='%23fff5de'/%3E%3Cpath d='M0 2Q32 30 64 2' fill='none' stroke='%234e252c'/%3E%3C/svg%3E") repeat-x center bottom / 64px 20px;
}
.hero-caption { position: static; font-size: 12px; padding: 12px 0; }
.hero-caption span:first-child, .hero-caption span:last-child { font-size: inherit; }
.button { border-radius: 0; border-color: var(--wine); }
.button-wine:hover { background: var(--cream); color: var(--wine); }
.section-shell { max-width: 1600px; }
.product-stage { aspect-ratio: 1122 / 1402; border: 1px solid var(--line); }
.product-stage > img { object-position: center; }
.colour-options { gap: 22px; margin: 18px 0 30px; }
.colour-option { flex-direction: column; align-items: flex-start; gap: 9px; padding: 0 0 6px; min-width: 96px; border: 0; }
.fabric-swatch { width: 96px; height: 54px; overflow: visible; transition: transform .2s; }
.fabric-swatch path { stroke: var(--wine); stroke-width: 1; }
.guava-swatch { fill: var(--guava); }
.buttermilk-swatch { fill: var(--cream); }
.colour-option > span { border-bottom: 1px solid transparent; padding-bottom: 4px; }
.colour-option.is-selected > span { border-color: var(--wine); font-weight: 500; }
.colour-option.is-selected .fabric-swatch path { stroke-width: 2; }
.fabric-swatch { transform-origin: 50% 12%; }
.details-section { padding-top: 24px; padding-bottom: 100px; }
.details-layout { grid-template-columns: .85fr 1.15fr; gap: clamp(50px, 8vw, 128px); }
.detail-accordion { order: -1; }
.details-heading { margin-bottom: 34px; }
.detail-photograph img { aspect-ratio: 1 / 1.08; }
.detail-photograph img[data-framing="fastening"] { object-fit: cover; object-position: center top; }
.detail-photograph img[data-framing="full"] { aspect-ratio: 1122 / 1402; object-fit: cover; background: transparent; }
.detail-image-caption { margin-top: 15px; font-size: 11px; }
.detail-button:hover, .faq-list summary:hover { color: #87434b; }
.ritual-section { gap: 0; padding: 0; background: var(--wine); color: var(--cream); }
.ritual-photo { margin: 48px 0 48px var(--gutter); }
.ritual-photo img { aspect-ratio: 1 / 1.12; object-position: center 38%; }
.ritual-copy { padding: 60px clamp(40px, 5.7vw, 104px); }
.ritual-copy h2 { margin-bottom: 28px; }
.ritual-copy > p:not(.eyebrow) { max-width: 310px; }
.packaging-section { padding-top: 100px; }
.packaging-copy { max-width: 420px; width: 100%; padding: 52px 20px; text-align: center; }
.packaging-copy::before, .packaging-copy::after { content: ''; position: absolute; left: 0; right: 0; height: 18px; background: var(--piping) repeat-x center / 64px 18px; }
.packaging-copy::before { top: 0; }
.packaging-copy::after { bottom: 0; }
.packaging-copy h2 { margin: 22px 0; }
.packaging-copy > p:not(.eyebrow) { margin: auto; }
.signup-form { border-radius: 0; }
.signup-consent { max-width: 520px; margin-top: 14px; font-size: 12px; line-height: 1.65; }
.signup-consent .privacy-link { min-height: 0; padding: 0; font: inherit; }
.signup-form:focus-within { outline: 2px solid var(--wine); outline-offset: 4px; }
@media (max-width: 860px) {
  .signup-form input { font-size: 16px; }
}
.dialog-close { right: 8px; top: 4px; width: 44px; height: 44px; }

/* Keep the packaging story and photograph together on wider screens. */
@media (min-width: 861px) {
  .packaging-section {
    max-width: 1280px;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(40px, 5vw, 72px);
    padding-top: 72px;
    padding-bottom: 64px;
  }
  .packaging-copy { padding: 0 0 42px; text-align: left; }
  .packaging-copy::before { content: none; }
  .packaging-copy::after { right: auto; width: 192px; }
  .packaging-copy h2 { font-size: clamp(36px, 3.4vw, 54px); margin: 20px 0 24px; }
  .packaging-copy > p:not(.eyebrow) { max-width: 330px; margin: 0; }
  .packaging-photo { width: 100%; max-width: 540px; margin: 0; }
}

@media (min-width: 1600px) {
  .hero { min-height: 710px; }
}
@media (max-width: 1100px) and (min-width: 861px) {
  .hero { min-height: 590px; }
  .detail-button { font-size: 14px; }
  .hero-caption span:first-child { display: block; }
  .hero-caption { justify-content: space-between; }
}
@media (max-width: 860px) {
  .hero { min-height: 0; }
  .hero-copy { padding: 28px var(--gutter); }
  .hero h1 { margin: 22px 0; }
  .hero-media { margin: 5px var(--gutter) 0; aspect-ratio: auto; }
  .hero-photo { aspect-ratio: 1.2; }
  .hero-caption { font-size: 11px; padding-top: 9px; }
  .product-stage { aspect-ratio: 1122 / 1402; }
  .colour-options { margin-bottom: 24px; }
  .details-section { padding-top: 10px; padding-bottom: 60px; }
  .details-heading { margin-bottom: 24px; }
  .detail-image-caption { margin-top: 12px; font-size: 10px; padding: 7px 9px; }
  .ritual-photo { margin: 32px var(--gutter) 0; }
  .ritual-copy { padding: 32px var(--gutter) 48px; }
  .ritual-copy h2 { margin-bottom: 22px; }
  .packaging-section { gap: 32px; padding-top: 60px; }
  .packaging-copy { max-width: 440px; padding: 40px 12px; margin: auto; }
  .packaging-copy h2 { margin: 16px 0 22px; }
  .menu-toggle { width: 44px; height: 44px; }
}
@media (min-width: 641px) and (max-width: 860px) {
  .hero { min-height: 510px; }
  .hero-copy { padding: 30px 22px 32px var(--gutter); }
  .hero-media { margin: 22px var(--gutter) 0 0; }
  .hero-photo { aspect-ratio: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Brief, tactile responses. No motion runs while the page is idle. */
.image-outgoing { position: absolute; top: 0; left: 0; pointer-events: none; z-index: 1; }
@media (prefers-reduced-motion: no-preference) {
  .fabric-swatch { transition: transform 240ms cubic-bezier(.2,.7,.25,1); }
  .button:active { transform: translateY(0) scale(.985); }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .colour-option:hover .fabric-swatch { transform: translateY(-3px) rotate(-1deg); }
  .button:hover { transform: translateY(-2px); }
  .button:active { transform: translateY(0) scale(.985); }
  .hero-copy .woven-label:hover {
    transform-origin: 8% 50%;
    animation: label-sway 650ms ease-out;
  }
}
@keyframes label-sway {
  0%, 100% { transform: rotate(0); }
  30% { transform: rotate(-1.5deg); }
  65% { transform: rotate(.6deg); }
}

/* A compact question column, followed by fewer, broader scallops. */
.faq-section { display: block; max-width: 1080px; padding-top: 24px; padding-bottom: 104px; }
.faq-heading { margin-bottom: 24px; }
.faq-heading h2 { font-size: 32px; }
.faq-list summary { min-height: 76px; padding: 24px 0; font-size: 16px; gap: 24px; }
.faq-list details > p { max-width: 680px; padding: 0 40px 26px 0; font-size: 15px; line-height: 1.75; }
.detail-button .plus, .faq-list .plus { width: 18px; height: 18px; }
.detail-button .plus::before, .detail-button .plus::after, .faq-list .plus::before, .faq-list .plus::after { top: 8.5px; left: 1.5px; }
.accordion-heart { position: absolute; inset: 0; width: 18px; height: 18px; fill: currentColor; opacity: 0; transform: scale(.65); }
.detail-button[aria-expanded="true"] .plus::before, .detail-button[aria-expanded="true"] .plus::after, .faq-list details[open] .plus::before, .faq-list details[open] .plus::after { opacity: 0; transform: rotate(45deg) scale(.5); }
.detail-button[aria-expanded="true"] .accordion-heart, .faq-list details[open] .accordion-heart { opacity: 1; transform: scale(1); }
@media (prefers-reduced-motion: no-preference) {
  .detail-button .plus::before, .detail-button .plus::after, .faq-list .plus::before, .faq-list .plus::after { transition: opacity 150ms ease, transform 180ms ease; }
  .accordion-heart { transition: opacity 180ms ease, transform 260ms cubic-bezier(.2,.8,.3,1.2); }
}
@media (max-width: 860px) {
  .faq-section { padding-top: 16px; padding-bottom: 80px; }
  .faq-heading { margin-bottom: 20px; }
  .faq-heading h2 { font-size: 28px; }
  .faq-list summary { min-height: 70px; padding: 21px 0; font-size: 15px; gap: 18px; }
  .faq-list details > p { padding-right: 12px; font-size: 14px; }
}

/* Mobile shopping: keep each choice close to the photograph it changes. */
@media (max-width: 860px) {
  :root { --gutter: clamp(20px, 5.7vw, 40px); }
  html { scroll-padding-top: 80px; -webkit-text-size-adjust: 100%; }
  .header-inner { height: 64px; gap: 16px; }
  .brand { display: flex; align-items: center; min-height: 44px; }
  .brand img { width: 172px; }
  .menu-toggle { width: 48px; height: 48px; margin-right: -10px; }
  .mobile-menu:not([hidden]) {
    position: absolute; inset: 100% 0 auto; padding: 8px var(--gutter) 16px;
    background: var(--cream); max-height: calc(100svh - 65px); overflow-y: auto;
    box-shadow: 0 16px 24px rgba(78,37,44,.08);
  }
  .mobile-menu a { min-height: 54px; align-items: center; padding: 14px 0; font-size: 16px; }
  .product-section { padding-top: 48px; padding-bottom: 48px; }
  .section-intro { max-width: 540px; margin-bottom: 24px; }
  .section-intro > p:last-child { font-size: 15px; margin-top: 8px; }
  .product-layout { max-width: 540px; gap: 0; }
  .colour-story { display: contents; }
  .colour-picker { order: 1; margin-bottom: 20px; }
  .colour-picker > .eyebrow { font-size: 14px; letter-spacing: 0; }
  .colour-options { margin: 12px 0 0; gap: 24px; }
  .colour-option { font-size: 14px; min-height: 80px; }
  .product-stage { order: 2; width: 100%; }
  .colour-copy { order: 3; margin-top: 24px; }
  .colour-copy h3 { font-size: clamp(38px, 10vw, 48px); margin: 0 0 12px; }
  .colour-copy > p:last-child { max-width: none; font-size: 16px; line-height: 1.65; }
  .product-specs { order: 4; margin: 24px 0 16px; padding: 14px 0; }
  .product-specs > div { font-size: 14px; gap: 20px; padding: 7px 0; }
  .colour-story > .small-caption { order: 5; font-size: 12px; margin: 0; }
  .details-section { padding-top: 20px; padding-bottom: 56px; }
  .details-layout { max-width: 540px; }
  .detail-button { min-height: 64px; font-size: 16px; line-height: 1.5; }
  .detail-panel { font-size: 16px; line-height: 1.65; padding-bottom: 24px; }
  .detail-panel > p { margin-top: 18px; }
  .detail-image-caption { font-size: 12px; line-height: 1.5; }
  .ritual-photo { margin: 24px var(--gutter) 0; }
  .ritual-copy { padding: 28px var(--gutter) 40px; }
  .ritual-copy h2 { font-size: clamp(36px, 8vw, 54px); margin-bottom: 18px; }
  .ritual-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.65; max-width: 440px; }
  .packaging-section { max-width: 620px; padding-top: 48px; padding-bottom: 48px; gap: 28px; }
  .packaging-copy { max-width: none; padding: 0; text-align: left; }
  .packaging-copy::before, .packaging-copy::after { content: none; }
  .packaging-copy h2 { font-size: clamp(38px, 10vw, 54px); margin: 14px 0 18px; }
  .packaging-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.65; max-width: none; }
  .packaging-photo { width: 100%; margin: 0; }
  .packaging-photo img { aspect-ratio: 1122 / 1402; }
  .faq-section { max-width: 620px; padding-top: 12px; padding-bottom: 80px; }
  .faq-list summary { min-height: 72px; padding: 22px 0; font-size: 16px; gap: 20px; }
  .faq-list details > p { font-size: 16px; line-height: 1.65; padding: 0 0 24px; }
  .signup-section { padding-top: 40px; padding-bottom: 40px; }
  .signup-inner { gap: 24px; max-width: 540px; }
  .launch-copy > p { font-size: 16px; line-height: 1.65; }
  .signup-form { padding: 4px; }
  .signup-form input { font-size: 16px; min-height: 48px; padding: 12px 8px; }
  .signup-form button { min-height: 48px; padding: 12px; font-size: 14px; }
  .signup-status, .signup-consent { font-size: 13px; line-height: 1.65; }
  .site-footer { padding-top: 20px; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .footer-top > a { font-size: 13px; min-height: 48px; }
  .footer-wordmark { width: 190px; margin: 8px 0 24px; }
  .footer-bottom { gap: 8px 24px; padding-top: 10px; }
  .footer-bottom > p { line-height: 1.65; margin-top: 0; }
  .privacy-link { font-size: 13px; min-height: 48px; }
  .privacy-dialog { width: calc(100% - 32px); max-height: calc(100svh - 32px); padding: 44px 24px 28px; }
  .privacy-dialog > p:not(.eyebrow) { font-size: 16px; line-height: 1.65; }
  body:has(.privacy-dialog[open]) { overflow: hidden; }
}

/* On phones, introduce the towel visually before the supporting copy. */
@media (max-width: 640px) {
  .hero { display: flex; flex-direction: column; padding-top: 12px; }
  .hero-copy { display: contents; }
  .hero h1 { order: 1; font-size: clamp(38px, 10.2vw, 58px); line-height: 1.03; margin: 8px var(--gutter) 20px; }
  .hero-media { order: 2; margin: 0 clamp(12px, 3vw, 20px); }
  .hero-photo { aspect-ratio: 4 / 3; }
  .hero-caption { padding: 10px 0 0; font-size: 12px; }
  .hero-description { order: 3; max-width: none; font-size: 16px; line-height: 1.6; margin: 20px var(--gutter); }
  .hero-copy > .button { order: 4; align-self: flex-start; justify-content: center; min-height: 50px; font-size: 14px; margin: 0 var(--gutter); padding: 14px 24px; }
  .hero-meta { order: 5; display: flex; flex-wrap: wrap; gap: 2px 12px; margin: 14px var(--gutter) 0; }
  .hero-meta > p { font-size: 12px; line-height: 1.65; margin: 0; }
}
@media (max-width: 359px) {
  .brand img { width: 160px; }
  .product-specs > div { font-size: 13px; gap: 12px; }
  .signup-form { flex-direction: column; padding: 5px; }
  .signup-form button { justify-content: center; }
  .signup-form button:disabled { border-left: 0; border-top: 1px solid var(--line); }
}

/* Black Cherry navigation. Recolour the supplied vector without changing it. */
.site-header { background: var(--wine); color: var(--cream); }
.site-header.is-scrolled { border-color: rgba(255,245,222,.2); }
.header-cta { border-color: currentColor; }
.site-header :is(a, button):focus-visible { outline-color: var(--cream); }
.brand { position: relative; }
.brand img { filter: brightness(0) invert(1); }
@supports (mask-image: url('/assets/logo-wash-crush.svg')) or (-webkit-mask-image: url('/assets/logo-wash-crush.svg')) {
  .brand img { opacity: 0; }
  .brand::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: var(--cream);
    -webkit-mask: url('/assets/logo-wash-crush.svg') no-repeat center / contain;
    mask: url('/assets/logo-wash-crush.svg') no-repeat center / contain;
  }
}
.menu-toggle { position: relative; color: var(--cream); }
.menu-toggle span { background: currentColor; }
.menu-heart {
  position: absolute; top: 50%; left: 50%; width: 25px; height: 25px;
  fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linejoin: round;
  opacity: 0; transform: translate(-50%, -50%) scale(.8); pointer-events: none;
}
.menu-toggle[aria-expanded="true"] span { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-heart { opacity: 1; transform: translate(-50%, -50%) scale(1); }
@media (prefers-reduced-motion: no-preference) {
  .menu-heart { transition: opacity 160ms ease, transform 220ms ease; }
}
@media (max-width: 860px) {
  .mobile-menu:not([hidden]) { background: var(--wine); border-color: rgba(255,245,222,.2); }
  .mobile-menu a { border-color: rgba(255,245,222,.2); }
}

/* Keep the full pair visible in the compact two-column hero. */
@media (min-width: 641px) and (max-width: 860px) {
  .hero { min-height: 0; align-items: center; padding: 24px 0 28px; }
  .hero-copy { padding-top: 20px; padding-bottom: 20px; }
  .hero-media { margin-top: 0; }
  .hero-photo { aspect-ratio: 4 / 3; }
}
