/* A five-screen homepage; all commerce and desk routes retain document scrolling. */
html.home-document{height:100%;scroll-behavior:auto;scroll-padding:0}
body.home-view{--home-shell:calc(var(--ribbon) + 94px);--home-height:calc(100dvh - var(--home-shell));height:100dvh;overflow:hidden}
.home-view .shop-header{position:relative;top:auto}
.home-pages{position:relative;height:var(--home-height);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;scroll-padding:0;touch-action:pan-y pinch-zoom;outline:none}
.home-pages::-webkit-scrollbar{display:none}
.home-pages>.home-panel{position:relative;width:100%;max-width:none;height:100%;min-height:100%;max-height:100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto;overscroll-behavior:contain;outline:none;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.home-view .hero{min-height:100%;grid-template-columns:1fr 1fr}
.home-view .hero-type{padding:clamp(20px,3.8dvh,44px) 7% clamp(20px,3.5dvh,40px) 8%;min-height:0}
.home-view .hero h1{font-size:clamp(46px,min(7.1vw,13.8dvh),136px);margin:clamp(12px,2dvh,24px) 0;flex-shrink:0}
.home-view .hero-bottom{flex-shrink:0}
.home-view .hero-bottom .circle-link{position:static;width:clamp(76px,10dvh,100px);height:clamp(76px,10dvh,100px);flex-basis:clamp(76px,10dvh,100px);font-size:10px;padding:18px}
.home-view .hero-visual{height:100%;max-height:none;min-height:0;aspect-ratio:auto}
.home-view .hero-product{object-fit:contain;background:#f0e6d2;animation:none}
.home-view .hero-product-note{right:48px}
.home-view .shop-edit{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,4dvh,50px) 6% 80px}
.home-view .shop-edit>.section-heading{flex-shrink:0;margin-bottom:clamp(20px,3dvh,34px)}
.home-view .shop-edit .section-heading h2{font-size:clamp(28px,min(3.5vw,7dvh),58px)}
.home-view .shop-edit>.product-grid{flex-shrink:0}
.home-view .shop-edit .product-picture{height:clamp(120px,min(39dvh,22vw),390px);aspect-ratio:auto}
.home-view .shop-edit .product-picture img{object-fit:contain}
.home-view .shop-edit>.brand-strip{position:absolute;bottom:0;left:0;right:0;flex-shrink:0}
.home-view .category-band{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5dvh,60px) 8%;overflow-y:auto}
.home-view .category-band>.eyebrow{margin-bottom:20px;flex-shrink:0}
.home-view .category-band>a{flex:1;min-height:65px;max-height:25%;padding:0;line-height:1.1;font-size:clamp(30px,min(5vw,8.5dvh),80px)}
.home-view .ritual{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:6%;padding:clamp(25px,4dvh,50px) 6%}
.home-view .ritual-photo{height:100%;min-height:0;aspect-ratio:auto}
.home-view .ritual-photo img{object-fit:contain}
.home-view .ritual-copy{justify-content:center;min-height:0;padding:0}
.home-view .ritual-copy h2{font-size:clamp(34px,min(4vw,7dvh),68px);margin:clamp(14px,2.3dvh,25px) 0}
.home-view .ritual-copy>p{margin-bottom:clamp(16px,2.5dvh,28px)}
.home-view .ritual-points{margin-top:clamp(20px,3dvh,34px);padding-top:18px}
.home-finale{display:flex;flex-direction:column}
.home-view .blue-callout{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 6%}
.home-view .blue-callout h2{font-size:clamp(36px,min(5.5vw,9dvh),86px);margin:clamp(15px,2.3dvh,28px) 0}
.home-view .home-finale .shop-footer{flex-shrink:0;padding:clamp(20px,3dvh,36px) 6% 20px}
.home-view .footer-top{padding-bottom:22px;align-items:center}
.home-view .footer-top>p{font-size:clamp(28px,3vw,46px)}
.home-view .footer-top>div{gap:12px;padding-top:0}
.home-view .footer-bottom{padding-top:16px}
.home-view .shop-footer .demo-note{font-size:9px;margin-top:13px;max-width:none}
/* Editorial section index: quiet rules, a longer active marker and horizontal folio. */
.home-section-nav{position:fixed;z-index:20;right:16px;top:calc(var(--home-shell) + var(--home-height)/2);transform:translateY(-50%);display:flex;align-items:center;flex-direction:column;color:var(--blue);padding:8px 0}
.home-section-nav[data-active="4"]{background:rgb(246 242 232 / .94)}
.home-section-nav button{width:36px;height:36px;padding:0;display:grid;place-items:center;position:relative;color:inherit;border-radius:0}
.home-section-nav button[data-home-section]:before{content:'';width:10px;height:1px;background:currentColor;opacity:.35;transition:width .25s,opacity .25s}
.home-section-nav button[aria-current=true]:before{width:26px;height:2px;opacity:1}
.home-section-nav button[data-home-section]:hover:before,.home-section-nav button[data-home-section]:focus-visible:before{width:20px;opacity:1}
.home-section-nav button[aria-current=true]:hover:before,.home-section-nav button[aria-current=true]:focus-visible:before{width:26px}
.home-section-nav button>span{position:absolute;right:44px;top:50%;transform:translateY(-50%);background:var(--paper);padding:7px 10px;border:1px solid var(--line);font-size:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.home-section-nav button:hover>span,.home-section-nav button:focus-visible>span{opacity:1}
.home-section-nav button[data-home-previous],.home-section-nav button[data-home-next]{height:30px;opacity:.65}
.home-section-nav button>svg{width:15px;height:15px}
.home-section-nav button:disabled{opacity:.18}
.home-section-nav button:not(:disabled):hover{opacity:1}
.home-position{font-size:8px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;margin-top:12px;line-height:1}
@media(max-width:1100px) and (min-width:761px){.home-view .hero .eyebrow{font-size:7px}.home-view .hero-bottom p{font-size:10px}.home-view .hero-bottom .circle-link{font-size:8px;padding:15px}.home-view .ritual-copy>p{font-size:12px;line-height:1.7}.home-view .ritual-points{font-size:9px;gap:18px}.home-view .footer-top>p{font-size:32px}}
@media(max-width:760px){
 body.home-view{--home-shell:calc(var(--ribbon) + 73px)}
 .home-section-nav{right:4px}.home-section-nav button{width:32px;height:32px}.home-section-nav button[aria-current=true]:before{width:22px}.home-section-nav button[aria-current=true]:hover:before,.home-section-nav button[aria-current=true]:focus-visible:before{width:22px}.home-position{font-size:7px;margin-top:10px}
 .home-view .hero{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
 .home-view .hero-type{padding:clamp(12px,2dvh,20px) 44px clamp(12px,2dvh,20px) 5%}
 .home-view .hero .eyebrow{font-size:7px;gap:7px;flex-shrink:0}.home-view .hero .tiny-star{font-size:17px}
 .home-view .hero h1{font-size:clamp(32px,min(12.5vw,6.5dvh),60px);margin:10px 0;line-height:.88}
 .home-view .hero h1 em{font-size:.88em}
 .home-view .hero-bottom{align-items:center;gap:12px}
 .home-view .hero-bottom p{font-size:9px;line-height:1.6}
 .home-view .hero-bottom .circle-link{width:62px;height:62px;flex-basis:62px;font-size:7px;line-height:1.2;padding:12px;gap:3px}
 .home-view .hero-bottom .circle-link>span{font-size:17px}
 .home-view .hero-visual{border-left:0;border-top:1px solid var(--line)}
 .home-view .hero-visual-top{top:13px;left:5%;right:40px;font-size:6px}
 .home-view .hero-product-note{bottom:13px;left:5%;right:40px;font-size:8px}
 .home-view .orbit-stamp{width:60px;height:60px;top:38px;right:40px;font-size:4.5px}.home-view .orbit-stamp b{font-size:19px;margin:5px 0}
 .home-view .shop-edit{padding:24px 43px 60px 5%}
 .home-view .shop-edit>.section-heading{margin-bottom:20px;align-items:flex-start;gap:10px}
 .home-view .shop-edit .section-heading h2{font-size:clamp(22px,5.8vw,32px);white-space:normal;display:block;margin-top:9px;line-height:1.08}
 .home-view .shop-edit .section-heading .eyebrow{font-size:6.5px;max-width:180px;display:block;line-height:1.6}
 .home-view .shop-edit .small-star{display:inline;font-size:.7em;margin-left:6px}
 .home-view .shop-edit .section-heading>.text-link{font-size:9px;gap:6px;margin-top:23px}
 .home-view .shop-edit .product-grid{gap:20px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-view .shop-edit .product-picture{height:min(22dvh,36vw);min-height:0}
 .home-view .shop-edit .product-caption{padding-top:10px}
 .home-view .shop-edit .product-caption p{font-size:7px;margin-bottom:5px}
 .home-view .shop-edit .product-name{font-size:12px}
 .home-view .shop-edit .product-caption>span{font-size:9px;padding-top:6px}
 .home-view .shop-edit .brand-strip{padding:14px 43px 14px 5%;font-size:8px;letter-spacing:.03em}.home-view .brand-strip span{padding:0 10px}.home-view .brand-strip span:first-child{padding-left:0}.home-view .brand-strip span:last-child{padding-right:0}
 .home-view .category-band{padding:32px 44px 32px 6%}
 .home-view .category-band>.eyebrow{font-size:8px;margin-bottom:24px}
 .home-view .category-band>a{font-size:clamp(27px,7.5vw,46px);grid-template-columns:20px 1fr 20px;gap:12px;max-height:24%;min-height:68px}
 .home-view .category-band .category-number{font-size:9px}.home-view .category-band>a>span:last-child{font-size:24px}
 .home-view .ritual{padding:18px 44px 20px 5%;grid-template-columns:1fr;grid-template-rows:minmax(0,.75fr) minmax(0,1.25fr);gap:20px}
 .home-view .ritual-photo{min-height:0;height:100%}
 .home-view .ritual-photo .photo-label{bottom:12px;left:12px;font-size:6px}
 .home-view .ritual-copy{padding:0;justify-content:center}
 .home-view .ritual-copy>.eyebrow{font-size:8px}
 .home-view .ritual-copy h2{font-size:clamp(28px,min(8vw,4.8dvh),46px);line-height:1.02;margin:14px 0}
 .home-view .ritual-copy>p{font-size:11px;line-height:1.7;margin-bottom:16px}
 .home-view .ritual-copy>.text-link{font-size:10px}
 .home-view .ritual-points{font-size:9px;gap:17px;margin-top:18px;padding-top:12px}
 .home-view .blue-callout{padding:20px 43px 20px 5%;min-height:210px}
 .home-view .blue-callout>.eyebrow{font-size:7px}
 .home-view .blue-callout h2{font-size:clamp(30px,min(8.8vw,5.5dvh),46px);margin:18px 0}
 .home-view .blue-callout .cream-button{padding:14px 20px;font-size:10px}
 .home-view .home-finale .shop-footer{padding:20px 43px 18px 5%}
 .home-view .footer-top{padding-bottom:18px;gap:0}
 .home-view .footer-top>p{display:none}
 .home-view .footer-top>div{width:100%;gap:13px;font-size:10px}
 .home-view .footer-bottom{gap:10px;font-size:8px;padding-top:14px}
 .home-view .footer-bottom button{font-size:8px}
 .home-view .footer-bottom>span:nth-child(2){order:0;width:auto}
 .home-view .shop-footer .demo-note{font-size:8px;line-height:1.6;margin-top:12px}
}
@media(max-width:760px) and (max-height:700px){
 .home-view .hero-type{padding-top:10px;padding-bottom:10px}
 .home-view .hero .eyebrow{font-size:6px}.home-view .hero .tiny-star{font-size:13px}
 .home-view .hero h1{margin:8px 0}.home-view .hero-bottom p{font-size:8px}
 .home-view .hero-bottom .circle-link{width:49px;height:49px;flex-basis:49px;padding:9px;font-size:6px}
 .home-view .shop-edit{padding-top:18px;padding-bottom:48px}
 .home-view .shop-edit>.section-heading{margin-bottom:14px}
 .home-view .shop-edit .product-grid{gap:15px 12px}
 .home-view .shop-edit .product-picture{height:min(19dvh,34vw)}
 .home-view .shop-edit .product-caption p{display:none}
 .home-view .shop-edit .product-name{font-size:11px}
 .home-view .shop-edit .product-caption>span{font-size:9px;padding-top:5px}
 .home-view .ritual{gap:12px;padding-top:14px;padding-bottom:14px;grid-template-rows:minmax(0,.7fr) minmax(0,1.3fr)}
 .home-view .ritual-copy h2{margin:10px 0}.home-view .ritual-copy>p{font-size:10px;line-height:1.6;margin-bottom:12px}
 .home-view .ritual-points{display:none}
 .home-view .blue-callout{min-height:190px;padding-top:16px;padding-bottom:16px}
 .home-view .home-finale .shop-footer{padding-top:16px;padding-bottom:12px}
 .home-view .footer-top{padding-bottom:14px}.home-view .footer-top>div{gap:10px}
}
@media(prefers-reduced-motion:reduce){.home-pages{scroll-behavior:auto}.home-section-nav *{transition:none}}

/* Give the phrase and SVG their own sizes; both must fit within the circle. */
.home-view .hero-bottom .circle-link{width:clamp(88px,11dvh,104px);height:clamp(88px,11dvh,104px);flex-basis:clamp(88px,11dvh,104px);padding:12px;align-items:center;text-align:center;gap:6px}
.home-view .hero-bottom .circle-link>.hero-cta-label{font-size:11px;line-height:1.25}
.home-view .hero-bottom .circle-link>.hero-cta-short{display:none}
.home-view .hero-bottom .circle-link>.link-arrow{width:18px;height:18px;font-size:18px}
@media(max-width:760px){
 .home-section-nav button>span{display:none}
 .home-view .hero-bottom .circle-link{width:64px;height:64px;flex-basis:64px;padding:10px;gap:4px}
 .home-view .hero-bottom .circle-link>.hero-cta-label{display:none}
 .home-view .hero-bottom .circle-link>.hero-cta-short{display:block;font-size:9px;line-height:1.2;white-space:nowrap}
 .home-view .hero-bottom .circle-link>.link-arrow{width:16px;height:16px;font-size:16px}
}
@media(max-width:760px) and (max-height:700px){
 .home-view .hero-bottom .circle-link{width:52px;height:52px;flex-basis:52px;padding:6px;gap:3px}
 .home-view .hero-bottom .circle-link>.hero-cta-short{font-size:8.5px}
 .home-view .hero-bottom .circle-link>.link-arrow{width:14px;height:14px;font-size:14px}
}
@media(min-width:761px) and (max-height:650px){.home-view .shop-edit{padding-top:20px;padding-bottom:60px}.home-view .shop-edit .product-picture{height:min(32dvh,22vw)}.home-view .shop-edit>.section-heading{margin-bottom:16px}}

@media(min-width:761px) and (max-height:650px){.home-view .hero-type{padding-top:16px;padding-bottom:16px}.home-view .hero h1{margin-top:10px;margin-bottom:10px}}
