/* Onine page layouts. One purposeful thought per shopper section; whitespace does the emphasis. */

/* Section rhythm for the generator's section(): index → title → lede → body → .section-more */
.section .container>.section-title{margin-bottom:var(--space-3)}
.section .container>.lede{margin-bottom:var(--space-4)}
.section-more{margin-top:var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;max-width:none}
.section .footnote{margin-top:var(--space-3)}
@media (min-width:768px){.section .container>.lede{margin-bottom:var(--space-5)}.section-more{margin-top:var(--space-5)}}

/* Home — collection section footer link, peptide footnote, pre-launch panel */
.section--collection .section-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.section--peptides .lede,.section--peptides p{max-width:60ch}
.section--peptides .label{margin-top:var(--space-4)}
.section--before-checkout .node-list{margin-bottom:var(--space-5)}
.section--before-checkout .form{max-width:560px}
@media (min-width:1024px){
  .section--before-checkout .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-7);align-items:start}
  .section--before-checkout .container>.section-index,.section--before-checkout .container>.section-title,.section--before-checkout .container>.lede{grid-column:1/-1}
  .section--before-checkout .container>.lede{max-width:60ch}
  .section--before-checkout .node-list{grid-column:1;margin:0}
  .section--before-checkout .form{grid-column:2;grid-row:4}
}
.section--read-before-you-use .node-list,.section--never .node-list{margin-top:var(--space-3)}
.section--never ol.node-list li+li{margin-top:14px}
.section--routine .steps-strip{margin-top:var(--space-4)}
.section--routine .section-foot{margin-top:var(--space-5)}
.section--actives .ledger{margin-top:var(--space-2)}

/* =========================================================
   Shop — toolbar, grid, empty state
   ========================================================= */
.section--shop-head,.page-head{padding-top:var(--space-4);padding-bottom:0}
.page-head .lede{margin-top:var(--space-2)}
.filters{display:grid;gap:16px;padding:var(--space-3) 0;margin:0 0 var(--space-4);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none}
.filters .field--search{gap:6px}
.filters .field--search>span,.filters .field--search .field-label{font:11px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}
.filters input[type=search]{max-width:100%}
.results-count{margin:0;min-height:1.6em}
.filters .results-count{grid-column:1/-1}
.shop-grid-wrap{position:relative}
@media (min-width:900px){
  .filters{grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:end;gap:24px}
  .filters .field--search{margin:0}
}
.product-grid+.empty-state,[data-empty]{margin-top:var(--space-3)}
.shop-foot{margin-top:var(--space-5)}

/* =========================================================
   Product page — article.product: media | summary, detail beneath; media sticky ≥ 1024px
   ========================================================= */
.page--product main>.container{padding-top:var(--space-3)}
.product{display:grid;gap:var(--space-4);align-items:start}
.product[data-line]{background:transparent}
.product-media{position:relative;display:grid;grid-template-columns:minmax(0,1fr);margin:0;aspect-ratio:4/5;padding:0;border-radius:var(--r-tab-corner);overflow:hidden;background:var(--surface-2)}
.product-media[data-line="hair"]{background:var(--hair-tint)}
.product-media[data-line="skin"]{background:var(--skin-tint)}
.product-media .vessel{grid-row:1;grid-column:1;width:100%;height:100%;object-fit:contain;padding:32px}
.product-media .step-chip{grid-row:1;grid-column:1;align-self:end;justify-self:start;z-index:1}
.product-summary{min-width:0}
.product-summary .eyebrow{margin-bottom:var(--space-2)}
.product-title{font-size:clamp(36px,5vw,56px);margin-bottom:var(--space-2)}
.product-summary>.size{font-size:13px;text-transform:none;letter-spacing:.02em;margin-bottom:var(--space-3)}
.product-summary .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin:0}
.product-summary .price .money{font-size:20px}
.product-summary .price .meta{display:inline}
.price-history{list-style:none;margin:8px 0 0;padding:0}
.price-history li{text-transform:none;letter-spacing:.02em;font-size:12px}
.product-summary>.meta{margin-top:12px}
.product-summary .btn-add{margin-top:var(--space-3);min-width:220px}
.product-summary .planned-note{margin-top:14px;font-size:13px;line-height:1.5;color:var(--text-soft);max-width:48ch}
.for-not-for{display:grid;gap:10px;margin:var(--space-4) 0 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.for-not-for p{max-width:60ch;margin:0}
.product-summary .well{margin:var(--space-3) 0 0}
.product-detail{min-width:0}
.product-description{margin-bottom:var(--space-4)}
.product-description .label{margin-bottom:10px}
.product-description .lede{margin:0;max-width:60ch}
.product-detail .accordion:first-of-type{border-top:1px solid var(--line)}
.accordion-body>.label{margin:0 0 12px}
.section--also{padding-top:var(--space-6)}
.section--also .product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
@media (min-width:1024px){
  .product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"media summary" "media detail";gap:var(--space-5) var(--space-7)}
  .product-media{grid-area:media;position:sticky;top:calc(var(--pod-height) + 36px)}
  .product-summary{grid-area:summary}
  .product-detail{grid-area:detail}
  .page--product main>.container{padding-top:var(--space-4)}
}

/* =========================================================
   Routine — clinician well, steps strip, two line columns of step cards, core buttons
   ========================================================= */
.section--routine-page .well{margin:0 0 var(--space-5)}
.section--routine-page .steps-strip{margin-bottom:var(--space-6)}
.routine-grid{display:grid;gap:var(--space-4)}
@media (min-width:860px){.routine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.routine-col{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);overflow:hidden}
.routine-col[data-line]{background:var(--surface)}
.routine-col>h2.label{margin:0;padding:18px 24px;font-size:12px;color:var(--ink);background:var(--surface-2)}
.routine-col[data-line="hair"]>h2.label{background:var(--hair-tint)}
.routine-col[data-line="skin"]>h2.label{background:var(--skin-tint)}
.routine-steps{list-style:none;margin:0;padding:0;flex:1;counter-reset:none}
.routine-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 16px;padding:24px;border-top:0;border-bottom:1px solid var(--line)}
.routine-step::before{display:none}
.routine-steps li:last-child{border-bottom:0}
.routine-step .step-num{grid-row:1/span 4;margin:0}
.routine-step .step-name{margin:0;font-size:20px}
.routine-step .step-job{margin:2px 0 0;font-size:16px}
.routine-step .step-rule{margin:0;font-size:16px;color:var(--text-soft);max-width:48ch}
.routine-step .step-products{margin:8px 0 0;font-size:16px;color:var(--ink)}
.routine-step .step-products a{color:var(--link)}
.core-set{display:grid;gap:10px;padding:20px 24px 24px;border-top:1px solid var(--line);background:var(--surface-2)}
.core-set h3{font-family:var(--sans);font-weight:500;font-size:20px;letter-spacing:-.01em;line-height:1.3}
.core-set .core-list{font-size:16px;max-width:none}
.core-set .btn{justify-self:start;margin-top:6px;max-width:100%;white-space:normal;text-align:center}
.core-set .field-help{max-width:52ch}
.section--routine-page .closing{margin-top:var(--space-5);font-size:16px}
@media (max-width:480px){.routine-step{grid-template-columns:52px minmax(0,1fr);padding:20px 18px}}

/* =========================================================
   Ingredients — index ledger and entries
   ========================================================= */
.section--ingredients .well{margin:0 0 var(--space-5)}
.page--ingredient main>.container,.page--product main>.container{padding-top:var(--space-3);padding-bottom:var(--space-6)}
.ingredient{max-width:var(--measure-prose)}
.ingredient .eyebrow{margin-bottom:var(--space-2)}
.ingredient .section-title{margin-bottom:var(--space-2)}
.ingredient .inci{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin:0 0 var(--space-5);font:13px/1.6 var(--mono);letter-spacing:.02em;color:var(--ink)}
.ingredient .inci .label{margin:0}
.ingredient section{padding:20px 0;border-top:1px solid var(--line)}
.ingredient section:last-of-type{border-bottom:1px solid var(--line)}
.ingredient h2{font-family:var(--sans);font-weight:500;font-size:20px;letter-spacing:-.01em;line-height:1.3;margin:0 0 8px;max-width:none}
.ingredient section p{max-width:var(--measure)}
.ingredient .node-list li{font-size:16px}
.ingredient .sources{margin-top:var(--space-3)}
.page--ingredient .section-more{margin-top:var(--space-4)}

/* =========================================================
   About — story, principles (dl), the standard
   ========================================================= */
.section--about .story{max-width:var(--measure);margin-top:var(--space-2)}
.section--about .story .lede{max-width:60ch}
.section--about .story .lede+.lede{margin-top:1.2em}
.section--about .name-story{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line);font:italic 400 20px/1.4 var(--serif);letter-spacing:-.01em;max-width:48ch}
.principles{display:grid;gap:16px;margin:0;padding:0}
@media (min-width:640px){.principles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.principles{grid-template-columns:repeat(5,minmax(0,1fr))}}
.principle{display:grid;gap:10px;align-content:start;padding:22px 20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tab-corner)}
.principle dt{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:500;font-size:20px;letter-spacing:-.01em;line-height:1.3}
.principle dt::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}
.principle dd{margin:0;font-size:16px;line-height:1.5;color:var(--text-soft)}
.section--never ol.node-list li+li{margin-top:14px}

/* =========================================================
   Support — intro, FAQ accordions, contact form; thanks pages
   ========================================================= */
.section--faq .accordion:first-of-type{border-top:1px solid var(--line)}
.section--faq .accordion summary{font-size:16px}
.section--faq .accordion-body p{font-size:16px}
.section--contact .form{max-width:560px}
.section--contact .form>.btn{justify-self:start}
.section--thanks .mark--lg{margin-bottom:var(--space-3)}
.section--thanks .form-status{margin:var(--space-3) 0}
.section--thanks .form-status:not(.is-success):not(.is-error){display:none}

/* =========================================================
   Bag
   ========================================================= */
.section--bag .bag-lines{margin-top:var(--space-2)}
.section--bag .bag-summary{border-bottom:0}
.section--bag .empty-state{margin-top:var(--space-2)}
.section--bag noscript p{margin-top:var(--space-3)}

/* =========================================================
   Checkout — summary + dark panel; success page
   ========================================================= */
.checkout-grid{display:grid;gap:var(--space-5);align-items:start;margin-top:var(--space-2)}
@media (min-width:1024px){.checkout-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-6)}}
.checkout-summary{min-width:0}
.checkout-summary>h2.label{margin:0 0 var(--space-2)}
.checkout-summary .bag-summary{border-bottom:0}
.checkout-summary .bag-note{max-width:56ch}
.checkout-panel{padding:28px 24px 32px;border-radius:var(--r-tab-corner)}
.checkout-panel .eyebrow{margin-bottom:var(--space-2)}
.checkout-panel .section-title{font-size:clamp(28px,3.5vw,40px);margin-bottom:var(--space-2)}
.checkout-panel .lede{margin-bottom:var(--space-4)}
.checkout-panel .form{max-width:none}
/* Base resets make controls inherit the dark panel text; restore their light field colours here. */
.checkout-panel :is(input,select,textarea){background-color:var(--surface);color:var(--ink);caret-color:var(--ink)}
.checkout-panel [data-checkout-live]{display:grid;gap:16px}
.checkout-panel [data-checkout-live] .btn{width:100%}
.checkout-panel [data-checkout-live] .field-help{color:var(--on-panel-soft)}
.checkout-shipping{min-width:0;padding-bottom:20px;border-bottom:1px solid rgba(244,241,233,.16)}
.checkout-shipping legend{margin-bottom:8px}
.checkout-shipping-fields{display:grid;gap:16px;margin-top:20px}
.checkout-shipping-region{display:grid;gap:16px}
.checkout-shipping-region>.field{min-width:0}
.checkout-shipping:focus-visible{outline:2px solid var(--accent-on-dark);outline-offset:8px}
@media (min-width:480px){.checkout-shipping-region{grid-template-columns:minmax(0,1fr) minmax(110px,.65fr)}}
.checkout-panel .form-status:not(.is-success):not(.is-error){display:none}
@media (min-width:768px){.checkout-panel{padding:40px 36px 44px}}
@media (min-width:1024px){.checkout-panel{position:sticky;top:calc(var(--pod-height) + 36px)}}

.order-confirmation{max-width:var(--measure)}
.order-confirmation .order-ref{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:var(--space-3) 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none}
.order-confirmation .order-ref .money{font-size:13px;word-break:break-all;white-space:normal}
.order-confirmation .bag-lines{border-top:0}
.order-confirmation .order-total{display:flex;justify-content:space-between;gap:16px;padding:16px 0;margin:0;font-weight:500;max-width:none}
.order-confirmation .order-total .money{font-size:20px}
.order-confirmation .order-email{margin:12px 0}
.order-confirmation .form-status{margin:var(--space-3) 0}
.order-confirmation .form-status:not(.is-success):not(.is-error){display:none}
.order-confirmation dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 24px;margin:var(--space-3) 0}
.order-confirmation dt{font:11px/1.8 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}
.order-confirmation dd{margin:0}
.section--success .safe-use{margin-top:var(--space-5);font-size:13px;color:var(--text-soft)}

/* =========================================================
   Policies — nav pills + prose width 70ch
   ========================================================= */
.policy-nav ul{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--space-5);padding:0;list-style:none}
.policy-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink);font-size:13px;font-weight:500;text-decoration:none}
.policy-nav a:hover,.policy-nav a:focus-visible{border-color:var(--ink);text-decoration:underline}
.policy-nav a[aria-current="page"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.policy,.prose{max-width:var(--measure-prose)}
.policy .eyebrow{margin-bottom:var(--space-2)}
.policy .section-title{margin-bottom:var(--space-2)}
.policy>.lede{margin:0 0 var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}
.policy-section{padding:4px 0 var(--space-4)}
.policy-section h2{font-family:var(--sans);font-weight:500;font-size:20px;letter-spacing:-.01em;line-height:1.3;margin:0 0 8px;max-width:none}
.policy-section p{max-width:none}
.contrast-table{width:100%;font-size:13px;margin:var(--space-3) 0}
.contrast-table th,.contrast-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.contrast-table th{font:11px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;font-weight:400;color:var(--text-soft)}
.contrast-table td:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums lining-nums}

/* =========================================================
   404
   ========================================================= */
.section--not-found .container{display:grid;gap:var(--space-3);justify-items:start;min-height:40svh;align-content:center}
.section--not-found .mark--lg{width:40px;height:40px;color:var(--ink)}
.section--not-found .section-title,.section--not-found .lede{margin:0}
.section--not-found .node-list li+li{margin-top:12px}

/* =========================================================
   Small-screen guards: nothing wider than the viewport at 320px
   ========================================================= */
@media (max-width:360px){
  .btn{padding-inline:18px}
  .chip{padding-inline:12px}
  .product-card .card-title{font-size:18px}
}

/* 2026 editorial storefront. Sensory imagery, deliberate rhythm, useful movement. */
.page--home .section{padding-block:100px}.page--home .section+.section{padding-top:100px}
.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none}
.editorial-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:38px}.editorial-heading h2{font-size:clamp(38px,4.2vw,62px);max-width:15ch;line-height:1.04}.editorial-heading .eyebrow{font-size:10px;margin-bottom:20px}.editorial-heading p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--ink-soft);max-width:43ch}.editorial-heading .text-link{margin-top:16px;font-size:13px}
.section--ritual{border-bottom:1px solid var(--line)}.ritual-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:32px}.ritual-tabs.is-enhanced{display:flex}.ritual-tabs [data-routine-tab]{padding:10px 28px;min-height:44px;border-radius:99px;font-size:13px}.ritual-controls .text-link{font-size:12px}
.ritual-line-title{font-size:24px;margin-bottom:20px}.js .ritual-panel:not([hidden]){animation:ritual-enter .45s var(--ease)}
.ritual-products{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;gap:0}.ritual-product[data-line]{background:transparent;border-left:1px solid var(--line);min-width:0}.ritual-product:first-child{border-left:0}.ritual-product a{display:flex;flex-direction:column;padding:16px 24px 20px;color:var(--ink)!important;text-decoration:none!important}.ritual-step{display:flex;align-items:center;gap:14px;font-size:13px}.ritual-step>span{font-size:32px;font-weight:300;letter-spacing:-.05em;color:var(--accent)}.ritual-product .vessel{height:240px;width:100%;object-fit:contain;transform:scale(1.22);transition:transform .5s var(--ease)}.ritual-product a:hover .vessel{transform:scale(1.28) translateY(-3px)}.ritual-product-name{font-size:16px;line-height:1.35;min-height:2.7em}.ritual-product-size{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:10px}.ritual-product-size>span{font-size:19px;color:var(--ink)}.ritual-note{font-size:12px;color:var(--ink-soft);max-width:80ch;margin-top:28px}.ritual-panel+.ritual-panel{margin-top:24px}.ritual-panel[hidden]+.ritual-panel{margin-top:0}
@keyframes ritual-enter{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
.ingredient-story{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.ingredient-portrait{position:relative;aspect-ratio:1/1.1;border-radius:5px;overflow:hidden}.ingredient-portrait img{width:100%;height:100%;object-fit:cover;object-position:26% center;transform:scale(1.2)}.ingredient-portrait figcaption{position:absolute;bottom:24px;left:24px;padding:6px 10px;background:var(--paper);font-size:9px;color:var(--ink)}.ingredient-story-copy .eyebrow{font-size:10px}.ingredient-story-copy h2{font-size:clamp(36px,4.2vw,60px);max-width:13ch;margin-bottom:24px}.ingredient-story-copy>p:not(.eyebrow){font-size:14px;color:var(--ink-soft);line-height:1.7;max-width:42ch}.ingredient-links{margin-block:30px}.ingredient-links a{display:grid;grid-template-columns:32px 1fr 24px;align-items:center;gap:16px;padding-block:20px;border-top:1px solid var(--line);font-size:18px;color:var(--ink)!important;text-decoration:none!important;transition:padding .25s var(--ease)!important}.ingredient-links a:last-child{border-bottom:1px solid var(--line)}.ingredient-links a:hover{padding-left:8px}.ingredient-links .label{font-size:9px;color:var(--accent)}.ingredient-story-copy>.text-link{font-size:12px}
.page--home .section--invitation{padding-block:80px}.invitation-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.invitation-copy h2{font-size:clamp(44px,5vw,74px);max-width:12ch;margin-bottom:30px}.invitation-copy h2 em{color:var(--accent-on-dark)}.invitation-copy .lede{font-size:16px;line-height:1.7;max-width:35ch;color:var(--on-panel-soft)}.invitation-copy .eyebrow{font-size:10px}.invitation-note{font-size:11px;line-height:1.6;color:var(--on-panel-soft);max-width:45ch;margin-top:48px}.invitation-form{border-left:1px solid #ffffff26;padding-left:60px}.invitation-form .choice-group label{font-size:13px}.invitation-form .choice-group legend,.invitation-form .field-label{font-size:10px}.invitation-form input[type=email]{border-radius:0;background:transparent;color:var(--paper);border:0;border-bottom:1px solid var(--on-panel-soft);padding:14px 0}.invitation-form input[type=email]::placeholder{color:var(--on-panel-soft)}.invitation-form .field-help{font-size:11px}.invitation-form .btn{margin-top:24px}.page--home+.site-footer{border-top:1px solid #ffffff20}
/* Shop and detail pages share the same calm merchandising hierarchy. */
.page--shop h1.section-title{font-size:clamp(48px,6vw,84px);letter-spacing:-.045em;max-width:13ch}.page--shop .lede{font-size:16px;max-width:54ch;color:var(--ink-soft);margin-top:24px;margin-bottom:40px}.filters{margin-top:32px;padding-block:22px;gap:18px}.filters .chips{gap:7px}.filters .field--search input{background:transparent;border-radius:0;border:0;border-bottom:1px solid var(--line-strong);padding-left:0}.filters .field-label{font-size:9px!important}.results-count{font-size:11px;color:var(--ink-soft)}
.product-media{background:linear-gradient(145deg,var(--paper),var(--hair-tint))!important;aspect-ratio:1/1.12;border-radius:5px}.product-media[data-line="skin"]{background:linear-gradient(145deg,var(--paper),var(--skin-tint))!important}.product-media .vessel{padding:10px;transform:scale(1.22);filter:drop-shadow(14px 20px 9px #3c382f11)}.product-media .step-chip{margin:20px;background:var(--paper);color:var(--ink);border-radius:20px}.product-media .step-chip::before{background:var(--accent)}.product-title{font-size:clamp(42px,4.7vw,66px);letter-spacing:-.04em;line-height:1.04}.product-summary{padding-top:24px}.product-summary .btn-add{width:100%;margin-top:24px}.product-summary>.meta{display:inline-flex;padding:5px 10px;background:var(--hair-tint);border-radius:99px;font-size:9px}.product-summary .well{padding:20px;font-size:12px}.product-summary .well p{font-size:12px}.product-summary .well .label{font-size:9px}.for-not-for{font-size:14px}.product-description .lede{font-size:18px}.breadcrumb{padding-block:16px}.breadcrumb ol{font-size:9px;letter-spacing:.04em}
@media (min-width:1024px){.product{gap:48px 80px;grid-template-columns:1.1fr 1fr}.product-media{top:90px}.page--product main>.container{padding-top:8px}.section--also{padding-top:96px}}
@media (max-width:1100px){.editorial-heading{gap:56px}.ingredient-story,.invitation-grid{gap:56px}.ritual-product a{padding-inline:16px}.ritual-product .vessel{height:200px}.invitation-form{padding-left:32px}}
@media (max-width:768px){
 .page--home .section,.page--home .section+.section{padding-block:64px}.editorial-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.editorial-heading h2{font-size:40px;max-width:18ch}.editorial-heading .eyebrow{font-size:9px;margin-bottom:16px}.editorial-heading p:not(.eyebrow){font-size:13px;max-width:48ch}.editorial-heading .text-link{margin-top:12px;font-size:12px}.ritual-controls{gap:16px;margin-bottom:24px}.ritual-tabs [data-routine-tab]{padding:8px 19px;font-size:12px}.ritual-controls .text-link{font-size:10px;gap:10px}.ritual-products{grid-template-columns:repeat(2,1fr);gap:24px 0}.ritual-product:nth-child(3){border-left:0}.ritual-product a{padding:8px 16px}.ritual-product .vessel{height:170px}.ritual-step{font-size:12px;gap:10px}.ritual-step>span{font-size:28px}.ritual-product-name{font-size:14px}.ritual-note{font-size:11px}.ritual-line-title{font-size:20px}.ingredient-story{grid-template-columns:1fr;gap:36px}.ingredient-portrait{aspect-ratio:1.15/1}.ingredient-story-copy h2{font-size:42px;max-width:15ch}.ingredient-story-copy>p:not(.eyebrow){font-size:13px}.ingredient-links a{font-size:17px;padding-block:18px}.ingredient-story-copy>.text-link{font-size:11px}.page--home .section--invitation{padding-block:64px}.invitation-grid{grid-template-columns:1fr;gap:40px}.invitation-copy h2{font-size:48px;max-width:14ch;margin-bottom:24px}.invitation-copy .lede{font-size:14px;max-width:40ch}.invitation-note{margin-top:24px;font-size:10px}.invitation-form{border-left:0;border-top:1px solid #ffffff26;padding:32px 0 0}.product-summary{padding-top:0}.product-media{aspect-ratio:1/1}.product-title{font-size:42px}.product-summary .well{padding:18px}.page--shop .lede{font-size:14px}.filters .chip{font-size:11px;padding-inline:14px}.page--shop h1.section-title{font-size:52px}.product-description .lede{font-size:17px}
}
@media (prefers-reduced-motion:reduce){.js .ritual-panel:not([hidden]),.accordion-body{animation:none}}

.ritual-tabs a{color:var(--ink);text-decoration:none!important}
@media(prefers-reduced-motion:reduce){.reveal{transition:none}}
.card-media .product-photo{transform:scale(1.015);filter:none;object-fit:cover}
.card:hover .card-media .product-photo,.card:focus-within .card-media .product-photo{transform:scale(1.06)}
.ritual-product .product-photo{transform:none;mix-blend-mode:multiply;object-fit:contain}
.ritual-product a:hover .product-photo{transform:translateY(-4px)}
.product-media .product-photo{padding:0;transform:none;filter:none;object-fit:contain}
.product-image-caption{position:absolute;right:18px;top:18px;background:var(--paper);padding:5px 8px;border-radius:20px;font-size:8px;color:var(--ink)}
.wordmark .mark{width:40px;height:32px}.wordmark--footer .mark{width:.8em;height:.65em}
@media (max-width:768px){.wordmark .mark{width:32px;height:26px}.wordmark--footer .mark{width:.8em;height:.65em}}
@media (prefers-reduced-motion:reduce){}

.product-media{grid-template-rows:minmax(0,1fr)}
.product-media .product-photo{min-height:0;min-width:0}
.invitation-form input[type=email][aria-invalid="true"]{border-bottom:2px solid var(--danger-on-dark)}

/* Storefront motion: native scrolling, layered images and responsive surfaces. */
:is(.page--home,.page--shop,.page--product){--ease-silk:cubic-bezier(.16,1,.3,1)}
:is(.page--home,.page--shop,.page--product) .reveal{transition-duration:1.05s;transition-timing-function:var(--ease-silk)}
:is(.page--home,.page--shop,.page--product) .reveal.is-pending{transform:translate3d(0,42px,0)}
.page--home .ingredient-portrait img{transform:translate3d(0,var(--image-scroll-y,0px),0) scale(1.2);transition:none}.page--home .ingredient-portrait{border-radius:8px}

/* The image reveals inside its frame; card labels and controls stay steady. */
:is(.page--home,.page--shop,.page--product) .product-card .card-media{padding:0;isolation:isolate;clip-path:inset(0 round 8px);transition:clip-path 1.2s var(--ease-silk),box-shadow .7s var(--ease-silk);transition-delay:var(--reveal-delay,0ms)}
:is(.page--home,.page--shop,.page--product) .product-card.is-pending .card-media{clip-path:inset(0 0 14% 0 round 8px)}
:is(.page--home,.page--shop,.page--product) .product-card .card-media .product-photo{transform:perspective(900px) translate3d(var(--hover-x,0px),var(--hover-y,0px),0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(var(--product-scale,1.02));transition:transform 1.1s var(--ease-silk);transform-origin:50% 65%}
:is(.page--home,.page--shop,.page--product) .product-card.is-pending .product-photo{transform:translate3d(0,28px,0) scale(1.14)}
:is(.page--home,.page--shop,.page--product) .product-card .card-media::before{z-index:1;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,40%),#ffffff50,transparent 65%);opacity:0;transition:opacity .65s var(--ease-silk)}
:is(.page--home,.page--shop,.page--product) .product-card .card-explore{z-index:2;width:44px;height:44px;transition:opacity .45s,transform .65s var(--ease-silk),background-color .4s,color .4s}
:is(.page--home,.page--shop,.page--product) .product-card:focus-within .card-media{clip-path:inset(0 round 8px);transition-delay:0ms}
:is(.page--home,.page--shop,.page--product) .product-card:focus-within .product-photo{--product-scale:1.065}



.page--home .ritual-product a{position:relative;isolation:isolate;border-radius:8px;transition:background-color .6s}
.page--home .ritual-product .product-photo{transform:perspective(900px) translate3d(var(--hover-x,0px),calc(var(--hover-y,0px) + var(--ritual-lift,0px)),0) rotateY(var(--tilt-y,0deg));transition:transform .9s var(--ease-silk)}
.page--home .ritual-product-size>span{transition:transform .6s var(--ease-silk)}
.page--home .ritual-product a:focus-visible{--ritual-lift:-7px;background:#eceae480}


.page--home .ingredient-links a{position:relative;isolation:isolate;transition:color .4s!important}
.page--home .ingredient-links a::before{content:"";position:absolute;inset:0 -12px;z-index:-1;background:var(--hair-tint);opacity:0;transform:scaleY(.65);transform-origin:bottom;transition:opacity .5s,transform .65s var(--ease-silk)}
.page--home .ingredient-links a>span{transition:transform .65s var(--ease-silk)}
.page--home .ingredient-links a:is(:hover,:focus-visible){padding-left:0}
.page--home .ingredient-links a:is(:hover,:focus-visible)::before{opacity:.55;transform:scaleY(1)}



@media (hover:hover) and (pointer:fine){
 :is(.page--home,.page--shop,.page--product) .product-card:hover{--product-scale:1.075}
 :is(.page--home,.page--shop,.page--product) .product-card:hover .card-media{box-shadow:0 20px 35px -24px #383a314a}

 .page--home .ritual-product a:hover{--ritual-lift:-8px;background:#eceae480}
 .page--home .ritual-product a:hover .product-photo{transform:perspective(900px) translate3d(var(--hover-x,0px),calc(var(--hover-y,0px) + var(--ritual-lift,0px)),0) rotateY(var(--tilt-y,0deg))}
 .page--home .ritual-product a:hover .ritual-product-size>span{transform:translate(4px,-4px)}
}
@media (prefers-reduced-motion:no-preference){
 .js .page--home .ritual-panel:not([hidden]){animation:none}
 .js .page--home .ritual-panel:not([hidden]) .ritual-product{animation:ritual-product-enter .85s var(--ease-silk) both}
 .js .page--home .ritual-product:nth-child(2){animation-delay:70ms!important}
 .js .page--home .ritual-product:nth-child(3){animation-delay:140ms!important}
 .js .page--home .ritual-product:nth-child(4){animation-delay:210ms!important}
}
@keyframes ritual-product-enter{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@media(max-width:768px){
 :is(.page--home,.page--shop,.page--product) .reveal.is-pending{transform:translate3d(0,26px,0)}
 :is(.page--home,.page--shop,.page--product) .product-card .card-explore{display:grid;width:44px;height:44px;right:10px;bottom:10px;opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
 :is(.page--home,.page--shop,.page--product) .reveal,:is(.page--home,.page--shop,.page--product) .product-card .card-media,:is(.page--home,.page--shop,.page--product) .product-card .product-photo{transition:none!important}
 :is(.page--home,.page--shop,.page--product) .reveal.is-pending{opacity:1}
 :is(.page--home,.page--shop,.page--product) .product-card.is-pending .card-media{clip-path:none}
}
:is(.page--home,.page--shop,.page--product) .is-immediate,:is(.page--home,.page--shop,.page--product) .is-immediate .card-media,:is(.page--home,.page--shop,.page--product) .is-immediate .product-photo{transition:none!important;clip-path:none}
@media print{
 :is(.page--home,.page--shop,.page--product) *{animation:none!important;transition:none!important}
 .page--home [data-routine-panel][hidden]{display:block!important}
 :is(.page--home,.page--shop,.page--product) .reveal.is-pending{opacity:1;transform:none}
}

/* The collection and product story share the homepage's pace and material detail. */
.page--shop .section--shop{padding-top:52px}
.shop-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:80px;margin-bottom:40px}
.shop-heading .eyebrow{font-size:10px;margin-bottom:24px}
.page--shop .shop-intro .section-title{font-size:clamp(50px,6vw,82px);line-height:1.02;max-width:11ch;margin:0}
.shop-intro .section-title em{color:var(--accent)}
.page--shop .shop-intro>.lede{max-width:42ch;font-size:15px;line-height:1.75;margin:0 0 6px;color:var(--ink-soft)}
.page--shop .filters{gap:22px 32px;margin:0 0 38px;padding-block:24px 18px;align-items:center}
.filter-collections,.filter-steps{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.page--shop .filters .chips{gap:12px 16px;align-items:center}
.filter-steps{border-left:1px solid var(--line);padding-left:16px}
.page--shop .chip{min-height:44px;font-size:11px;padding-inline:17px}




.page--shop .field--search{position:relative;padding-left:23px}
.page--shop .field--search::before{content:"";position:absolute;left:1px;bottom:19px;width:11px;height:11px;border:1px solid var(--ink-soft);border-radius:50%;pointer-events:none}
.page--shop .field--search::after{content:"";position:absolute;left:12px;bottom:15px;width:6px;height:1px;background:var(--ink-soft);transform:rotate(45deg);pointer-events:none}
.page--shop .filters input[type=search]{min-height:44px;transition:border-color .3s,box-shadow .3s}
.page--shop .filters input[type=search]:focus{box-shadow:0 1px 0 var(--accent)}
.page--shop .results-count{font-size:10px;letter-spacing:.08em;text-transform:uppercase;min-height:18px}
.page--shop .product-grid{row-gap:52px}
.page--shop .empty-state{border:0;border-radius:8px;padding-block:72px;background:var(--surface-2)}
:is(.page--home,.page--shop,.page--product) .product-card .card-status{font-size:10px}

.page--product .breadcrumb{margin-bottom:24px;line-height:1.6}
.page--product .product-media{isolation:isolate;border-radius:10px;aspect-ratio:1/1.08;max-width:620px;width:100%;margin-inline:auto}
.product-stage{grid-row:1;grid-column:1;min-width:0;min-height:0;height:100%;display:grid;place-items:center;overflow:hidden}
.page--product .product-stage .product-photo{width:100%;height:100%;min-height:0;object-fit:contain;padding:24px;transform:perspective(1200px) translate3d(var(--hover-x,0px),var(--hover-y,0px),0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:50% 55%;transition:transform .8s var(--ease-silk),opacity .8s var(--ease-silk)}
.page--product .product-media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,30%),#ffffff42,transparent 65%);opacity:0;transition:opacity .6s}
.page--product .product-media .step-chip{z-index:2;margin:20px;font-size:10px;padding:9px 12px}
.page--product .product-image-caption{z-index:2;top:18px;right:18px;font-size:10px;letter-spacing:.03em;line-height:1.6;max-width:calc(100% - 36px);padding:6px 10px}
.page--product .product-summary{padding-top:10px;max-width:680px;width:100%;margin-inline:auto}
.page--product .product-summary .eyebrow{font-size:10px;margin-bottom:22px}
.page--product .product-title{font-size:clamp(42px,4.6vw,66px);line-height:1.03;letter-spacing:-.045em;max-width:15ch;margin-bottom:20px;text-wrap:balance}
.page--product .product-summary>.size{font-size:12px;color:var(--ink-soft);margin-bottom:28px}
.page--product .product-summary .price{padding-top:24px;border-top:1px solid var(--line);gap:14px}
.page--product .product-summary .price .money{font-size:24px;font-weight:400}
.page--product .product-summary .price .meta{font-size:10px}
.page--product .price-history{margin-top:10px}.page--product .price-history .meta{font-size:10px;line-height:1.7}
.page--product .product-summary>.meta{font-size:10px;letter-spacing:.06em;padding:5px 10px;margin-top:16px}
.page--product .product-summary .btn-add{display:flex;justify-content:space-between;margin-top:22px;min-height:56px;padding-inline:26px}




.page--product .product-summary .planned-note{font-size:12px;line-height:1.7;margin-top:16px;max-width:none}
.page--product .for-not-for{gap:10px;margin-top:30px;padding-block:22px;font-size:13px;line-height:1.65}
.page--product .product-summary .well{background:transparent;border:0;border-left:2px solid var(--line);border-radius:0;padding:2px 0 2px 18px;margin-top:24px}
.page--product .product-detail{max-width:680px;width:100%;margin-inline:auto}
.page--product .product-description{margin-bottom:36px;padding-top:4px}
.page--product .product-description .label{font-size:10px;margin-bottom:18px}
.page--product .product-description .lede{font-size:19px;line-height:1.65}
.page--product .accordion{border-color:var(--line)}
.page--product .accordion summary{font-size:16px;min-height:70px;transition:color .35s,background-color .5s,padding .5s var(--ease-silk)}
.page--product .accordion summary:is(:hover,:focus-visible){color:var(--accent);background:#eceae44d}
.page--product .accordion summary::after{transition:transform .5s var(--ease-silk),color .35s}
.page--product .accordion-body{animation:product-detail-enter .5s var(--ease-silk);padding-bottom:28px}
.page--product .section--also{margin-top:60px;border-top:1px solid var(--line);padding-top:52px}
.page--product .section--also>.section-title{font-size:clamp(36px,4vw,54px);letter-spacing:-.04em}
.page--product .section--also>.lede{font-size:14px;color:var(--ink-soft);margin:16px 0 32px}
.page--product .section--also .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
@keyframes product-detail-enter{from{opacity:.65;transform:translate3d(0,-6px,0)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 .page--product .product-media:hover::after{opacity:1}

}
@media(min-width:900px){
 .page--product .product{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"media summary" "media detail";gap:44px clamp(32px,5vw,80px)}
 .page--product .product-media{grid-area:media;position:sticky;top:86px;max-height:calc(100svh - 110px);max-width:none}
 .page--product .product-summary{grid-area:summary}
 .page--product .product-detail{grid-area:detail}
 .page--product main>.container{padding-top:8px}
}
@media(max-width:1100px){
 .shop-intro{gap:48px}.page--shop .filters{grid-template-columns:1fr minmax(230px,.6fr);gap:20px 28px}
 .filter-steps{border-left:0;padding-left:0}.page--shop .filter-collections{width:100%}
}
@media(max-width:899px){
 .page--shop .filters{grid-template-columns:1fr}.page--shop .filter-collections{width:auto}
 .page--product .product{gap:36px}.page--product .product-title{max-width:20ch}
 .page--product .section--also .product-grid{gap:20px}
}
@media(max-width:768px){
 .page--shop .section--shop{padding-top:28px}.shop-intro{grid-template-columns:1fr;gap:22px;margin-bottom:30px}
 .shop-heading .eyebrow{font-size:9px;margin-bottom:18px}
 .page--shop .shop-intro .section-title{font-size:52px;max-width:11ch}
 .page--shop .shop-intro>.lede{font-size:13px;max-width:42ch;line-height:1.7;margin:0}
 .page--shop .filters{margin-bottom:28px;padding-top:20px;gap:22px}.page--shop .filters .chips{gap:14px}
 .filter-collections{width:100%}.page--shop .chip{min-height:44px;font-size:11px;padding-inline:17px}
 .page--shop .product-grid{row-gap:34px}
 :is(.page--home,.page--shop,.page--product) .product-card .card-status{font-size:9px}
 .page--product .breadcrumb{margin-bottom:14px}.page--product .product-summary{padding-top:0}
 .page--product .product-stage .product-photo{padding:18px}
 .page--product .product-image-caption{font-size:9px;top:14px;right:14px;max-width:calc(100% - 28px)}
 .page--product .product-media .step-chip{margin:14px;font-size:9px;padding:8px 10px}
 .page--product .product-title{font-size:44px;max-width:15ch}
 .page--product .product-summary .eyebrow{margin-bottom:18px}
 .page--product .product-description .lede{font-size:17px}
 .page--product .section--also{margin-top:40px;padding-top:40px}
 .page--product .section--also .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}
}
@media(prefers-reduced-motion:reduce){
 .page--product .product-stage .product-photo,.page--product .accordion-body{animation:none!important;transition:none!important;transform:none!important}
}
@media print{
 .page--product .product-media{position:relative;top:auto;max-height:400px}
 .page--product .product-stage .product-photo{transform:none!important}
}

/* Bag, checkout and receipt continue the collection's quiet editorial hierarchy. */
:is(.page--bag,.page--checkout,.page--checkout-success){--ease-commerce:cubic-bezier(.16,1,.3,1)}
:is(.page--bag,.page--checkout) main>.section:first-child{padding-top:44px}
.commerce-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px 48px;margin-bottom:48px}
.commerce-title{min-width:0}
.commerce-title .eyebrow{font-size:10px;margin-bottom:22px}
:is(.page--bag,.page--checkout) .commerce-title .section-title{font-size:clamp(50px,6vw,82px);letter-spacing:-.045em;line-height:1.04;margin:0;max-width:none}
.commerce-title .section-title em{color:var(--accent);font:italic 400 1em var(--serif);letter-spacing:-.025em}
.commerce-progress{flex-shrink:0;padding-bottom:3px}
.commerce-progress ol{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.commerce-progress li{position:relative;min-width:0}
.commerce-progress li+li::before{content:"";position:absolute;left:-21px;top:22px;width:14px;height:1px;background:var(--line)}
.commerce-progress li>a,.commerce-progress li>span{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--ink-soft);text-decoration:none;white-space:nowrap}
.commerce-step-number{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font:9px/1 var(--mono);letter-spacing:0;color:var(--ink-soft);transition:background-color .3s,border-color .3s,color .3s}
.commerce-progress .is-current>span,.commerce-progress .is-current>a{color:var(--ink)}
.commerce-progress .is-current .commerce-step-number{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.commerce-progress .is-complete .commerce-step-number{background:var(--hair-tint);border-color:var(--hair-tint);color:var(--ink)}
.commerce-progress a:is(:hover,:focus-visible){color:var(--accent);text-decoration:none}
.commerce-progress a:is(:hover,:focus-visible) .commerce-step-number{border-color:var(--accent)}

.bag-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;align-items:start}
.bag-items{min-width:0}
.bag-items-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.bag-items-heading .label{font-size:10px}
.bag-items-heading [data-bag-count-text]{margin-left:6px;color:var(--ink);font-variant-numeric:tabular-nums}
.section--bag .bag-lines{margin:0;border-top:0}
.section--bag .bag-line{grid-template-columns:88px minmax(0,1fr);grid-template-areas:"thumb info" "thumb total" "qty remove";gap:12px 18px;padding:24px 0}
.section--bag .bag-thumb{width:88px;aspect-ratio:4/5;padding:0;border-radius:7px;background:var(--surface-2);align-self:start}
.section--bag .bag-thumb img{width:100%;height:100%;object-fit:cover}
.section--bag .bag-info{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.section--bag .bag-name{font-size:19px;font-weight:400;line-height:1.25;letter-spacing:-.02em;max-width:26ch}
.section--bag .bag-info .step-chip{order:-1;padding:0;min-height:0;background:transparent;color:var(--ink-soft);font-size:9px;letter-spacing:.06em}
.section--bag .bag-info .step-chip::before{width:4px;height:4px;background:var(--accent)}
.section--bag .bag-info .size{flex:none;font-size:10px;line-height:1.5;letter-spacing:.025em}
.section--bag .bag-line .qty{grid-column:1/-1;justify-self:start}
.section--bag .qty-btn{width:44px;height:44px;font-size:18px}

.section--bag .qty-value{min-width:34px;font-size:12px}
.section--bag .bag-line>[data-remove]{justify-self:end;margin:0;min-height:44px;font-size:11px;}

.section--bag .bag-line .line-total{justify-self:start;align-self:start;font-size:15px;margin:0}
.section--bag .bag-layout>.bag-summary{display:grid;gap:18px;margin:0;padding:30px;background:var(--surface-2);border:0;border-radius:10px}
.section--bag .bag-summary>h2.label{font-size:10px;margin:0 0 4px}
.section--bag .bag-summary .bag-subtotal{padding-bottom:20px;margin:0;border-bottom:1px solid rgba(60,56,47,.12)}
.section--bag .bag-subtotal>.label{font-family:var(--sans);font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink)}
.section--bag .bag-subtotal .money{font-size:24px;font-weight:400}
.section--bag .bag-summary .bag-note{font-size:12px;line-height:1.7;max-width:none;margin:0}
.section--bag .bag-actions{display:grid;gap:12px;margin:4px 0 0}
.section--bag .bag-actions .btn{width:100%;justify-content:space-between;min-height:54px;padding-inline:22px}
.section--bag .bag-actions .text-link{justify-self:center;min-height:44px;font-size:12px}
.section--bag .commerce-note{margin:0;font-size:10px;line-height:1.65;color:var(--ink-soft)}
.section--bag.is-empty .bag-items,.bag-items:has(>[data-bag-empty]:not([hidden])){grid-column:1/-1}
:is(.section--bag,.checkout-summary) .empty-state{border:0;border-radius:10px;background:linear-gradient(145deg,rgba(220,230,222,.65),var(--surface-2));padding:64px 28px;gap:16px;margin:0}
.empty-state-mark{display:grid;place-items:center;width:76px;height:76px;margin-bottom:8px;border:1px solid rgba(60,56,47,.12);border-radius:50%;background:rgba(244,241,233,.55)}
.empty-state-mark .mark{width:36px;height:30px}
:is(.section--bag,.checkout-summary) .empty-state-title{font-size:clamp(30px,4vw,46px);font-weight:300;letter-spacing:-.035em;max-width:18ch}
:is(.section--bag,.checkout-summary) .empty-state>p{font-size:14px;line-height:1.65;max-width:36ch}
:is(.section--bag,.checkout-summary) .empty-state .btn{min-height:50px;margin-top:10px;font-size:13px}
.section--bag noscript p{font-size:12px;line-height:1.7;margin-top:24px}

.page--checkout .checkout-grid{grid-template-columns:minmax(0,1fr);gap:42px;margin-top:0}
.checkout-summary-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.checkout-summary-heading h2.label{font-size:10px;margin:0}
.checkout-summary-heading .text-link{min-height:44px;font-size:11px}
.checkout-summary .bag-lines{border-top:0}
.checkout-summary .bag-line{grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"thumb info info" "thumb qty total";gap:12px 16px;padding:22px 0}
.checkout-summary .bag-thumb{width:72px;aspect-ratio:4/5;padding:0;border-radius:6px;align-self:start;background:var(--surface-2)}
.checkout-summary .bag-thumb img{width:100%;height:100%;object-fit:cover}
.checkout-summary .bag-info{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.checkout-summary .bag-name{font-size:17px;font-weight:400;line-height:1.3;letter-spacing:-.015em;max-width:25ch}
.checkout-summary .bag-info .step-chip{order:-1;padding:0;min-height:0;background:transparent;color:var(--ink-soft);font-size:9px;letter-spacing:.04em}
.checkout-summary .bag-info .step-chip::before{width:4px;height:4px;background:var(--accent)}
.checkout-summary .bag-info .size{font-size:9px;letter-spacing:.025em;flex:none}
.checkout-summary .qty--readonly{gap:6px;margin:0;background:transparent;border:0;padding:0}
.checkout-summary .qty--readonly .label{font-size:9px;letter-spacing:.04em}
.checkout-summary .qty--readonly .qty-value{min-width:0;font-size:12px}
.checkout-summary .line-total{font-size:13px;align-self:center;margin:0}
.checkout-summary .bag-summary{gap:14px;padding:26px 0 0;border:0}
.checkout-summary .bag-subtotal{padding-bottom:8px}
.checkout-summary .bag-subtotal .label{font-family:var(--sans);font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink)}
.checkout-summary .bag-subtotal .money{font-size:22px}
.checkout-summary .bag-note{font-size:12px;line-height:1.7;max-width:none;margin:0}
.checkout-summary .empty-state{padding:40px 22px;margin-top:22px}
.checkout-summary .empty-state-title{font-size:32px}
.page--checkout .checkout-panel{position:relative;top:auto;min-width:0;padding:32px 24px 36px;border:1px solid rgba(244,241,233,.12);border-radius:12px;background-image:radial-gradient(ellipse at 0 0,rgba(220,230,222,.09),transparent 65%),linear-gradient(140deg,rgba(244,241,233,.025),transparent 55%);box-shadow:inset 0 1px 0 rgba(244,241,233,.08),0 16px 48px rgba(60,56,47,.05)}
.checkout-panel .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:22px}
.checkout-panel .section-title{font-size:clamp(34px,3.5vw,48px);line-height:1.08;letter-spacing:-.035em;margin-bottom:20px;max-width:16ch}
.checkout-panel .section-title em{color:var(--accent-on-dark);font:italic 400 1em var(--serif)}
.checkout-panel .lede{font-size:14px;line-height:1.75;color:var(--on-panel-soft);margin-bottom:30px;max-width:42ch}
.checkout-panel [data-checkout-live]{gap:22px}
.checkout-panel .field-label,.checkout-panel .choice-group legend{font-size:11px;line-height:1.5;letter-spacing:.015em}
.checkout-panel .field-optional{font-size:10px}
.checkout-panel .field :is(input,select,textarea){min-height:50px;font-size:16px;border-radius:6px;background:var(--paper);color:var(--ink);border-color:rgba(244,241,233,.32);transition:border-color .25s,box-shadow .25s}
.checkout-panel .field :is(input,select,textarea):focus{border-color:var(--accent-on-dark);box-shadow:0 0 0 3px rgba(206,220,196,.18)}
.checkout-panel .field :is(input,select,textarea)[aria-invalid="true"]{border:2px solid var(--danger)}
.checkout-panel .field-help,.checkout-panel .form-note{font-size:11px;line-height:1.7;color:var(--on-panel-soft)}
.checkout-panel .choice-group label{font-size:13px;line-height:1.5}
.checkout-panel .btn{min-height:54px;gap:20px;font-size:13px}
.checkout-panel .form-status{font-size:13px;line-height:1.7;border-radius:6px}
.checkout-panel .form-status.is-success{background:rgba(244,241,233,.07)}
.checkout-shipping{padding-bottom:26px}
.checkout-shipping legend{font-size:10px;margin-bottom:12px}
.checkout-shipping-fields{gap:18px;margin-top:24px}
.checkout-shipping-region{gap:14px}

.section--success>.container{max-width:980px}
.order-confirmation{max-width:none}
.page--checkout-success .order-confirmation>.eyebrow{font-size:10px;margin-bottom:22px}
.page--checkout-success .order-confirmation>.section-title{font-size:clamp(52px,6vw,82px);letter-spacing:-.045em;line-height:1.04;margin-bottom:28px}
.order-confirmation>.lede{font-size:16px;line-height:1.65;margin-bottom:28px}
.order-confirmation .order-ref{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:32px 0 12px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.order-confirmation .order-ref .label{font-size:10px}
.order-confirmation .order-ref .money{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.order-confirmation .order-line{gap:24px;padding:22px 0;font-size:15px;line-height:1.5}
.order-confirmation .order-line>span:first-child{min-width:0}
.order-confirmation .order-line .money{font-size:14px;flex-shrink:0;align-self:start}
.order-confirmation .order-line .qty-static{display:block;margin:8px 0 0;font-size:9px}
.order-confirmation .order-total{padding:28px 0;border-bottom:1px solid var(--line);align-items:center}
.order-confirmation .order-total .label{font-size:11px}
.order-confirmation .order-total .money{font-size:26px;font-weight:400}
.order-confirmation .order-email{font-size:13px;line-height:1.7;margin:24px 0}
.order-confirmation .form-status{font-size:14px;line-height:1.7;padding:20px 22px;margin:28px 0;border-radius:8px}
.order-confirmation .form-status.is-success{background:var(--hair-tint)}
.order-confirmation .form-status.is-error{padding:0;background:transparent}
.order-confirmation>.field-help{font-size:12px;line-height:1.7;max-width:62ch}
.section--success .safe-use{font-size:11px;line-height:1.7;margin-top:36px;max-width:68ch}
.section--success .safe-use+p{margin-top:20px}
.section--success .text-link{font-size:12px;min-height:44px}

@media(min-width:600px){
 .section--bag .bag-line{grid-template-columns:120px minmax(0,1fr) auto;grid-template-areas:"thumb info total" "thumb qty remove";gap:20px 24px;padding:28px 0}
 .section--bag .bag-thumb{width:120px}
 .section--bag .bag-name{font-size:22px}
 .section--bag .bag-line .qty{grid-column:1/-1;justify-self:start}
 .section--bag .bag-line .line-total{justify-self:end}
 .section--bag .bag-line>[data-remove]{align-self:center}
}
@media(min-width:1024px){
 .bag-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:clamp(36px,5vw,80px)}
 .section--bag .bag-layout>.bag-summary{padding:32px}
 .page--checkout .checkout-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,88px)}
 .page--checkout .checkout-panel{padding:42px 40px 44px}
 .checkout-summary .bag-line{grid-template-columns:80px minmax(0,1fr) auto}
 .checkout-summary .bag-thumb{width:80px}
}
/* Only compact summaries stick; long forms and short viewports retain ordinary page flow. */
@media(min-width:1024px) and (min-height:760px){
 .section--bag .bag-layout>.bag-summary,.page--checkout .checkout-summary{position:sticky;top:96px}
 .checkout-summary .bag-lines{max-height:calc(100svh - 380px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding-right:8px}
}
@media(max-width:899px){.commerce-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:34px}}
@media(max-width:768px){
 :is(.page--bag,.page--checkout) main>.section:first-child{padding-top:28px}
 .commerce-title .eyebrow{font-size:9px;margin-bottom:18px}
 :is(.page--bag,.page--checkout) .commerce-title .section-title{font-size:52px}
 .commerce-progress ol{gap:16px}
 .commerce-progress li+li::before{left:-12px;width:8px}
 .commerce-progress li>a,.commerce-progress li>span{font-size:11px;gap:6px}
 .commerce-step-number{width:24px;height:24px;font-size:8px}
 .bag-items-heading{padding-bottom:12px}
 .section--bag .bag-layout>.bag-summary{padding:26px 22px}
 .section--bag .bag-subtotal .money{font-size:22px}
 :is(.section--bag,.checkout-summary) .empty-state{padding:44px 22px}
 .page--checkout .checkout-grid{gap:34px}
 .checkout-summary .bag-line{grid-template-columns:64px minmax(0,1fr) auto;gap:10px 12px}
 .checkout-summary .bag-thumb{width:64px}
 .checkout-summary .bag-name{font-size:16px}
 .page--checkout .checkout-panel{padding:30px 22px 32px}
 .checkout-panel .section-title{font-size:36px}
 .order-confirmation .order-line{gap:14px;font-size:14px}
}
@media(hover:hover) and (pointer:fine){
 :is(.section--bag,.checkout-summary) .bag-name a{transition:color .3s}
 :is(.section--bag,.checkout-summary) .bag-name a:hover{color:var(--accent)}
 .section--bag .bag-actions .btn:hover{box-shadow:0 2px 5px rgba(60,56,47,.045),var(--control-rim)}
}
@media(prefers-reduced-motion:no-preference){
 .commerce-step-number,.section--bag .qty-btn,.section--bag [data-remove],.checkout-summary-heading .text-link{transition-duration:.3s;transition-timing-function:var(--ease-commerce)}
}
@media(prefers-reduced-motion:reduce){
 :is(.page--bag,.page--checkout,.page--checkout-success) .commerce-step-number,:is(.page--bag,.page--checkout,.page--checkout-success) .btn,:is(.page--bag,.page--checkout,.page--checkout-success) .qty-btn{transition:none!important}
}
@media print{
 :is(.page--bag,.page--checkout,.page--checkout-success) *{animation:none!important;transition:none!important;box-shadow:none!important}
 .commerce-progress,.section--bag [data-remove],.section--bag .qty-btn,.section--bag .bag-actions{display:none!important}
 .commerce-heading{margin-bottom:24px}
 .bag-layout,.page--checkout .checkout-grid{display:block}
 .section--bag .bag-layout>.bag-summary,.page--checkout .checkout-summary,.page--checkout .checkout-panel{position:static;top:auto;max-height:none;margin-top:24px}
 .checkout-summary .bag-lines{max-height:none;overflow:visible;padding-right:0}
 .section--bag .bag-line,.checkout-summary .bag-line{break-inside:avoid}
 .page--checkout .checkout-panel{--on-panel:var(--ink);--on-panel-soft:var(--ink-soft);--accent-on-dark:var(--accent);background-image:none;border:1px solid #aaa;color:var(--ink)}
 .page--checkout .checkout-panel .form-status.is-error{color:var(--danger)}
}

/* Editorial care guides: open pages, numbered routines and complete ingredient context. */
:is(.page--routine,.page--ingredients,.page--ingredient,.page--about){--ease-editorial:cubic-bezier(.16,1,.3,1)}
:is(.page--routine,.page--ingredients,.page--about) main>.section:first-child{padding-top:42px}
:is(.page--routine,.page--ingredients,.page--about) .editorial-heading{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,8vw,120px);margin-bottom:50px;align-items:end}
:is(.page--routine,.page--ingredients,.page--about) .editorial-title{min-width:0}
:is(.page--routine,.page--ingredients,.page--about) .editorial-title .eyebrow{font-size:10px;line-height:1.8;margin-bottom:24px}
:is(.page--routine,.page--ingredients,.page--about) .editorial-title .section-title{font-size:clamp(56px,6.5vw,88px);line-height:1.02;letter-spacing:-.045em;max-width:13ch;margin:0}
:is(.page--routine,.page--ingredients,.page--about) .editorial-title .section-title em{color:var(--accent);letter-spacing:-.035em}
:is(.page--routine,.page--ingredients,.page--about) .editorial-intro .lede{font-size:15px;line-height:1.8;letter-spacing:0;max-width:50ch;margin:0;color:var(--ink-soft)}
:is(.page--routine,.page--ingredients) .well{padding:24px 28px;border-radius:5px;border-color:var(--line);background:transparent;margin-bottom:36px}
:is(.page--routine,.page--ingredients) .well p{font-size:13px;line-height:1.75;max-width:90ch}
:is(.page--routine,.page--ingredients) .well .label{font-size:9px}
.editorial-visual{position:relative;isolation:isolate;min-width:0;margin:0;overflow:hidden;border-radius:5px;background:var(--surface-2);aspect-ratio:4/3}
.editorial-visual>img{width:100%;height:100%;object-fit:cover;transform:translate3d(var(--hover-x,0px),calc(var(--image-scroll-y,0px) + var(--hover-y,0px)),0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.12);transition:none}
.editorial-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,30%),rgba(255,255,255,.15),transparent 65%);opacity:0;transition:opacity .6s}
.editorial-visual.is-pointer-active::after{opacity:1}
.editorial-visual>figcaption{position:absolute;z-index:1;left:20px;bottom:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(244,241,233,.93);color:var(--ink);font:9px/1.6 var(--mono);letter-spacing:.05em;text-transform:uppercase;border-radius:3px}

.routine-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 28px;margin:0 0 32px}
.routine-tools>.label{font-size:9px;line-height:1.8;max-width:44ch}
.page--routine .routine-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.routine-nav a{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:46px;padding:12px 20px;font-size:12px;line-height:1.5}
.routine-nav a>span{font-size:16px;line-height:1;color:var(--accent)}

.page--routine .routine-grid{grid-template-columns:minmax(0,1fr);gap:64px}
.page--routine .routine-col,.page--routine .routine-col[data-line]{min-width:0;background:transparent;border:0;border-radius:0;overflow:visible}
.routine-col-heading{padding:26px 0 28px;border-top:1px solid var(--line);min-width:0}
.routine-col-heading>.label{display:flex;align-items:center;gap:8px;font-size:9px;margin-bottom:16px}
.routine-col-heading>.label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--hair-tint);box-shadow:0 0 0 1px rgba(60,56,47,.12)}
.routine-col[data-line="skin"] .routine-col-heading>.label::before{background:var(--skin-tint)}
.routine-col-heading h2{font-size:clamp(38px,3.8vw,50px);line-height:1.08;letter-spacing:-.035em;margin:0 0 16px}
.routine-col-heading>p:not(.label){font-size:13px;line-height:1.75;max-width:48ch;color:var(--ink-soft)}
.page--routine .routine-steps{flex:1}
.page--routine .routine-step{position:relative;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:24px;padding:30px 0;border-top:1px solid var(--line);border-bottom:0}
.routine-step-image{position:relative;min-width:0;aspect-ratio:4/5;margin:0;overflow:hidden;border-radius:4px;background:linear-gradient(145deg,var(--paper),var(--hair-tint))}
.routine-col[data-line="skin"] .routine-step-image{background:linear-gradient(145deg,var(--paper),var(--skin-tint))}
.routine-step-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transform:translate3d(var(--hover-x,0px),var(--hover-y,0px),0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.025);transition:transform .65s var(--ease-editorial)}
.routine-step-copy{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:0 14px;min-width:0}
.routine-step-copy::before{content:"";position:absolute;left:15px;top:48px;bottom:4px;width:1px;background:var(--line)}
.routine-steps>li:last-child .routine-step-copy::before{display:none}
.page--routine .routine-step .step-num{grid-row:1;grid-column:1;margin:4px 0 0;font:300 26px/1 var(--display);letter-spacing:-.04em;color:var(--accent)}
.page--routine .routine-step .step-num::first-letter{font:inherit;letter-spacing:inherit;vertical-align:baseline;color:inherit}
.page--routine .routine-step .step-name{grid-column:2;font-size:28px;font-weight:300;line-height:1.15;letter-spacing:-.025em;margin:0 0 12px}
.page--routine .routine-step :is(.step-job,.step-rule,.step-products){grid-column:2;font-size:13px;line-height:1.8;margin:0;max-width:none}
.page--routine .routine-step .step-rule{margin-top:4px}
.page--routine .routine-step .step-products{margin-top:14px;color:var(--ink-soft)}
.page--routine .routine-step .step-products a{color:var(--ink);text-decoration-color:var(--line-strong);text-underline-offset:.2em}
.page--routine .routine-step .step-products a:hover,.page--routine .routine-step .step-products a:focus-visible{color:var(--accent);text-decoration-color:currentColor}
.page--routine .core-set{gap:14px;margin-top:6px;padding:28px 0 0;border-top:1px solid var(--line);background:transparent}
.page--routine .core-set h3{font:300 28px/1.15 var(--display);letter-spacing:-.025em}
.page--routine .core-set .core-list{font-size:13px;line-height:1.8;color:var(--ink-soft);max-width:60ch}
.page--routine .core-set .core-list a{color:var(--ink);text-decoration-color:var(--line-strong)}
.page--routine .core-set .btn{font-size:12px;line-height:1.6;min-height:52px;gap:10px;padding:14px 22px;margin-top:6px;flex-wrap:wrap}
.page--routine .core-set .money{font-size:12px}
.page--routine .core-set .field-help{font-size:11px;line-height:1.8;max-width:58ch}
.page--routine .closing{font-size:13px;line-height:1.8;max-width:none;margin:52px 0 0;padding-top:28px;border-top:1px solid var(--line);color:var(--ink-soft)}
.page--routine .closing .money{font-size:13px;color:var(--ink)}

.ingredient-discovery{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);align-items:center;margin:0 0 56px}
.ingredient-discovery .editorial-visual{aspect-ratio:1.8/1}
.ingredient-discovery-copy{min-width:0;padding-block:20px}
.ingredient-discovery-copy>.label{font-size:10px;margin-bottom:18px}
.ingredient-discovery-copy .ingredient-count{display:block;font:300 clamp(64px,7vw,96px)/.95 var(--display);letter-spacing:-.055em;color:var(--accent);margin:0 0 20px}
.ingredient-discovery-copy>p:not(.label):not(.ingredient-count){font-size:15px;line-height:1.8;max-width:34ch;color:var(--ink-soft)}
.ingredient-discovery-copy>.text-link{min-height:44px;margin-top:22px;font-size:12px;gap:24px}
.ingredient-ledger-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:56px 0 24px}
.ingredient-ledger-heading h2{font-size:clamp(32px,3.4vw,44px);line-height:1.1;margin:0;max-width:20ch}
.ingredient-ledger-heading>p{font-size:11px;line-height:1.7;max-width:38ch;color:var(--ink-soft)}
.page--ingredients .ledger{background:transparent;border:0;border-radius:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;line-height:1.8;overflow:visible}
.page--ingredients .ledger thead th{padding:20px 18px;font-size:9px;line-height:1.8;letter-spacing:.06em;background:var(--surface-2);color:var(--ink-soft)}
.page--ingredients .ledger tbody th,.page--ingredients .ledger td{padding:26px 18px;background:transparent;transition:background-color .35s}
.page--ingredients .ledger tbody th{font:300 20px/1.35 var(--display);letter-spacing:-.02em}
.page--ingredients .ledger tbody th a{display:inline-block;max-width:100%;padding-block:2px;text-underline-offset:.2em;text-decoration-color:var(--line)}
.page--ingredients .ledger tbody tr:nth-child(even) th,.page--ingredients .ledger tbody tr:nth-child(even) td{background:rgba(236,234,228,.3)}
.page--ingredients .ledger tbody tr:focus-within th,.page--ingredients .ledger tbody tr:focus-within td{background:var(--hair-tint)}

.page--ingredient main>.container{padding-top:12px;padding-bottom:100px}
.page--ingredient .breadcrumb{padding-block:16px 28px}
.page--ingredient .ingredient{max-width:none;margin-top:20px}
.ingredient-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(48px,9vw,132px);align-items:start}
.ingredient-heading{min-width:0}
.ingredient-heading .eyebrow{font-size:10px;margin-bottom:24px}
.page--ingredient .ingredient-heading .section-title{font-size:clamp(46px,5vw,72px);line-height:1.04;letter-spacing:-.04em;max-width:13ch;margin:0 0 28px}
.ingredient-heading .inci{display:grid;gap:9px;font-size:12px;line-height:1.9;letter-spacing:0;max-width:44ch;margin:0;color:var(--ink-soft);overflow-wrap:anywhere}
.ingredient-heading .inci .label{font-size:9px;color:var(--ink)}
.ingredient-body{min-width:0}
.page--ingredient .ingredient-body>section{padding:28px 0 30px}
.page--ingredient .ingredient-body h2{font:300 26px/1.3 var(--display);letter-spacing:-.025em;margin-bottom:14px}
.page--ingredient .ingredient-body section p{font-size:15px;line-height:1.85;max-width:58ch;color:var(--ink-soft)}
.page--ingredient .ingredient-body .ingredient-image-note{font-size:9px;line-height:1.8;letter-spacing:.05em}
.page--ingredient .ingredient-body .sources{font-size:10px;line-height:1.8}
.ingredient-products{list-style:none;display:grid;gap:0;margin:20px 0 0;padding:0}
.ingredient-products>li{border-top:1px solid var(--line);min-width:0}
.ingredient-products>li:first-child{border-top:0}
.ingredient-product{display:grid;grid-template-columns:78px minmax(0,1fr) 26px;align-items:center;gap:22px;min-height:120px;padding:12px 0;color:var(--ink)!important;text-decoration:none!important}
.ingredient-product[data-line]{background:transparent}
.ingredient-product>img{width:78px;height:98px;object-fit:contain;background:var(--surface-2);mix-blend-mode:multiply;border-radius:4px;transform:translate3d(var(--hover-x,0px),var(--hover-y,0px),0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .65s var(--ease-editorial)}
.ingredient-product>span{min-width:0;font:300 20px/1.35 var(--display);letter-spacing:-.015em}
.ingredient-product-name{display:block}
.ingredient-product>.connection-glyph{align-self:center;color:var(--ink)}
.ingredient-product .meta{font-size:9px;line-height:1.8;letter-spacing:.05em;margin-top:8px;color:var(--ink-soft)}
.ingredient-product:hover>span,.ingredient-product:focus-visible>span{color:var(--accent)}
.page--ingredient .section-more{margin-top:50px;padding-top:28px;border-top:1px solid var(--line)}
.page--ingredient .section-more .text-link{min-height:44px;font-size:12px}

.page--about .section--about{padding-bottom:80px}
.about-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(40px,7.5vw,108px);align-items:center}
.about-visual{aspect-ratio:4/5}
.about-visual>img{object-position:56% center}
.page--about .section--about .story{min-width:0;max-width:none;margin:0}
.page--about .section--about .story .lede{font-size:15px;line-height:1.85;max-width:50ch;color:var(--ink-soft);letter-spacing:0}
.page--about .section--about .story .lede:first-child{font-size:24px;line-height:1.5;color:var(--ink);letter-spacing:-.015em;margin-bottom:24px}
.page--about .section--about .story .lede+.lede{margin-top:20px}
.page--about .section--about .name-story{max-width:none;font:italic 400 clamp(26px,2.9vw,38px)/1.4 var(--serif);letter-spacing:-.02em;padding-top:36px;margin-top:48px;color:var(--accent)}
.page--about .section--principles{padding-top:70px;padding-bottom:80px;background:var(--surface-2)}
.page--about .section--principles .section-index,.page--about .standards-heading .section-index{font-size:9px;margin-bottom:22px}
.page--about .section--principles .section-title,.page--about .standards-heading .section-title{font-size:clamp(38px,4.2vw,58px);line-height:1.08;letter-spacing:-.035em;max-width:17ch;margin-bottom:36px}
.page--about .principles{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.page--about .principle{display:block;min-width:0;padding:26px 0 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}
.principle-index{display:block;font:300 38px/1 var(--display);letter-spacing:-.045em;color:var(--accent);margin-bottom:26px}
.page--about .principle dt{display:block;font:300 23px/1.2 var(--display);letter-spacing:-.025em;margin-bottom:14px}
.page--about .principle dt::before{display:none}
.page--about .principle dd{font-size:13px;line-height:1.8;max-width:32ch}
.page--about .section--never{padding-block:90px}
.standards-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,9vw,128px);align-items:start}
.page--about .standards-heading .section-title{margin-bottom:24px}
.standards-heading .lede{font-size:14px;line-height:1.8;max-width:42ch;color:var(--ink-soft)}
.page--about .standards-list{min-width:0;margin:0;border-top:1px solid var(--line)}
.page--about .standards-list li{max-width:none;margin:0;padding:25px 0 25px 54px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.7;color:var(--ink)}
.page--about .standards-list li+li{margin-top:0}
.page--about .standards-list li::before{left:0;top:31px;font-size:11px;line-height:1.3;color:var(--accent)}

:is(.editorial-visual,.routine-step-image,.ingredient-product).has-pointer-motion>img{transition:none}
:is(.page--routine,.page--ingredients,.page--ingredient,.page--about) .reveal{transition-duration:.9s;transition-timing-function:var(--ease-editorial)}
:is(.page--routine,.page--ingredients,.page--ingredient,.page--about) .reveal--static.is-pending,:is(.page--routine,.page--ingredients,.page--ingredient,.page--about) .reveal--static.is-visible{transform:none}
:is(.page--routine,.page--ingredients,.page--ingredient,.page--about) .is-immediate{transition:none!important}
@media(min-width:1024px){
 .page--routine .routine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(44px,6vw,88px)}
 .page--routine .routine-step{grid-template-columns:106px minmax(0,1fr);gap:22px}
}
@media(min-width:1024px) and (min-height:780px){.ingredient-heading{position:sticky;top:112px}}
@media(max-width:1100px){.page--about .principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.page--about .principle dd{max-width:36ch}}
@media(max-width:900px){
 .ingredient-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px}
 .page--ingredient .ingredient-heading .section-title{font-size:48px}
 .page--about .section--about .story .lede:first-child{font-size:21px}
 .page--about .section--about .story .lede{font-size:14px}
 .about-layout{gap:36px;align-items:start}
 .about-visual{aspect-ratio:1/1.12}
}
@media(max-width:768px){
 :is(.page--routine,.page--ingredients,.page--about) main>.section:first-child{padding-top:28px}
 :is(.page--routine,.page--ingredients,.page--about) .editorial-heading{grid-template-columns:minmax(0,1fr);gap:26px;margin-bottom:34px}
 :is(.page--routine,.page--ingredients,.page--about) .editorial-title .eyebrow{font-size:9px;margin-bottom:20px}
 :is(.page--routine,.page--ingredients,.page--about) .editorial-title .section-title{font-size:clamp(48px,9vw,64px)}
 :is(.page--routine,.page--ingredients,.page--about) .editorial-intro .lede{font-size:14px;line-height:1.8;max-width:58ch}
 :is(.page--routine,.page--ingredients) .well{padding:20px;margin-bottom:28px}
 :is(.page--routine,.page--ingredients) .well p{font-size:12px}
 .routine-tools{margin-bottom:28px}
 .page--routine .routine-nav{gap:8px}
 .routine-nav a{padding-inline:18px;gap:22px;font-size:11px}
 .routine-col-heading{padding-top:24px}
 .routine-col-heading h2{font-size:38px}
 .page--routine .routine-step{grid-template-columns:96px minmax(0,1fr);gap:20px;padding-block:26px}
 .page--routine .routine-step .step-name{font-size:26px}
 .page--routine .closing{margin-top:40px}
 .ingredient-discovery{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:34px}
 .ingredient-discovery .editorial-visual{aspect-ratio:1.6/1}
 .ingredient-discovery-copy{padding:0}
 .ingredient-discovery-copy .ingredient-count{font-size:64px;margin-bottom:16px}
 .ingredient-discovery-copy>p:not(.label):not(.ingredient-count){font-size:14px;max-width:52ch}
 .ingredient-ledger-heading{align-items:start;flex-direction:column;gap:16px;margin-top:38px}
 .ingredient-ledger-heading h2{font-size:34px}
 .page--ingredients .ledger tbody tr{padding:26px 0 8px;background:transparent}
 .page--ingredients .ledger tbody tr:nth-child(even){background:transparent}
 .page--ingredients .ledger tbody th,.page--ingredients .ledger td{padding:0 0 18px;border:0;font-size:14px;line-height:1.8}
 .page--ingredients .ledger tbody th{font-size:24px;line-height:1.3;padding-bottom:22px}
 .page--ingredients .ledger tbody tr:nth-child(even) th,.page--ingredients .ledger tbody tr:nth-child(even) td,.page--ingredients .ledger tbody tr:focus-within th,.page--ingredients .ledger tbody tr:focus-within td{background:transparent}
 .page--ingredients .ledger td::before{font-size:9px;line-height:1.8;letter-spacing:.05em;margin-bottom:6px;color:var(--ink-soft)}
 .page--ingredient main>.container{padding-bottom:64px}
 .page--ingredient .ingredient{margin-top:12px}
 .ingredient-layout{grid-template-columns:minmax(0,1fr);gap:38px}
 .page--ingredient .ingredient-heading .section-title{font-size:clamp(44px,9vw,62px);max-width:14ch}
 .ingredient-heading .inci{max-width:52ch}
 .page--ingredient .ingredient-body>section{padding-block:24px 26px}
 .page--ingredient .ingredient-body h2{font-size:25px}
 .page--ingredient .ingredient-body section p{font-size:14px}
 .ingredient-product{grid-template-columns:72px minmax(0,1fr) 26px;gap:14px;min-height:114px}
 .ingredient-product>img{width:72px;height:90px}
 .ingredient-product>span{font-size:19px}
 .page--ingredient .section-more{margin-top:36px}
 .about-layout{grid-template-columns:minmax(0,1fr);gap:34px}
 .about-visual{aspect-ratio:1.1/1}
 .page--about .section--about .story .lede{font-size:14px;max-width:60ch}
 .page--about .section--about .story .lede:first-child{font-size:23px;max-width:40ch}
 .page--about .section--about .name-story{margin-top:34px;padding-top:28px;font-size:28px}
 .page--about .section--about{padding-bottom:56px}
 .page--about .section--principles{padding-block:50px 56px}
 .page--about .principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
 .page--about .principle{padding-top:22px}
 .principle-index{font-size:34px;margin-bottom:20px}
 .page--about .principle dt{font-size:22px}
 .page--about .principle dd{font-size:13px}
 .page--about .section--never{padding-block:60px}
 .standards-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .page--about .standards-list li{font-size:15px;padding-block:22px;padding-left:44px}
 .page--about .standards-list li::before{top:28px}
}
@media(max-width:480px){
 .page--routine .routine-step{grid-template-columns:76px minmax(0,1fr);gap:18px}
 .routine-step-copy{display:block}
 .routine-step-copy::before{display:none}
 .page--routine .routine-step .step-num{font-size:21px;margin:0 0 10px}
 .page--routine .routine-step .step-name{font-size:26px;margin-bottom:12px}
 .page--routine .core-set .btn{width:100%;justify-content:center}
 .editorial-visual>figcaption{left:14px;bottom:14px;max-width:calc(100% - 28px);font-size:8px}
 .page--about .principles{grid-template-columns:minmax(0,1fr);gap:26px}
 .page--about .principle{position:relative;display:block;padding-left:60px}
 .principle-index{position:absolute;left:0;top:23px;font-size:30px;margin:0}
 .page--about .principle dd{max-width:none}
}
@media(hover:hover) and (pointer:fine) and (min-width:769px){
 .page--ingredients .ledger tbody tr:hover th,.page--ingredients .ledger tbody tr:hover td{background:var(--hair-tint)}
}
@media(prefers-reduced-motion:reduce){
 :is(.page--routine,.page--ingredients,.page--ingredient,.page--about) .reveal{transition:none!important}
 :is(.editorial-visual,.routine-step-image,.ingredient-product)>img{transform:none!important;transition:none!important}
 .editorial-visual::after{display:none}
}
@media print{
 :is(.page--routine,.page--ingredients,.page--ingredient,.page--about) *{animation:none!important;transition:none!important;box-shadow:none!important}
 :is(.page--routine,.page--ingredients,.page--ingredient,.page--about) .reveal.is-pending{opacity:1!important;transform:none!important}
 :is(.page--routine,.page--ingredients,.page--about) .editorial-heading,.ingredient-layout,.about-layout,.standards-layout,.ingredient-discovery{display:block}
 .editorial-intro{margin-top:20px}
 .routine-nav{display:none!important}
 .page--routine .routine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .page--routine .routine-step{display:block;break-inside:avoid;padding-block:20px}
 .routine-step-image{display:none}
 .routine-step-copy{display:block}
 .routine-step-copy::before{display:none}
 .page--routine .routine-step .step-num{margin-bottom:8px}
 .page--routine .core-set{break-inside:avoid}
 .ingredient-heading{position:static;top:auto;margin-bottom:30px}
 .page--ingredient .ingredient-body>section{break-inside:avoid}
 .ingredient-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .ingredient-product{break-inside:avoid}
 .editorial-visual{max-width:360px;aspect-ratio:4/3;margin:0 0 28px}
 :is(.editorial-visual,.routine-step-image,.ingredient-product)>img{transform:none!important}
 .editorial-visual::after{display:none}
 .page--about .principles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page--about .principle,.page--about .standards-list li{break-inside:avoid}
 .page--about .section--principles,.page--about .section--never{padding-block:30px;background:transparent}
}

/* Art-directed full-bleed photography. Wide scenes keep product bases inside
   short viewports; smaller screens show the complete original square. */
.page--home main>.section--hero{position:relative;isolation:isolate;min-height:max(600px,48vw);height:100svh;max-height:none;margin-top:-96px;padding:0;background:#e9e2d5}
.section--hero .hero-scene{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;z-index:0}
.section--hero .hero-scene picture{display:block;width:100%;height:100%}
.section--hero .hero-backdrop{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:70% top;transform:none}
.section--hero::after,.section--hero .hero-scene::after{content:none}
.section--hero .container.hero{position:relative;display:flex;align-items:center;height:100%;padding-top:96px;pointer-events:none}
.hero-copy{width:39%;padding:20px 0 40px;pointer-events:auto}
.hero-title{font-size:clamp(80px,9.4vw,150px);line-height:.94;letter-spacing:-.065em;font-weight:300;margin:0 0 34px;max-width:none}
.hero-title-line{display:block;overflow:clip;padding-block:.1em;margin-block:-.1em}
.hero-title-line>span{display:block}
.hero-actions{display:flex;align-items:center}
.hero-actions .btn{min-height:56px;padding:13px 20px 13px 25px;gap:22px;font-size:14px}
.hero-disclosure{position:absolute;bottom:18px;right:max(var(--gutter),calc((100vw - var(--container))/2 + var(--gutter)));max-width:calc(100% - 40px);font-size:10px;letter-spacing:.025em;color:var(--ink);padding:5px 10px;border-radius:8px;background:#f2ede39c}
.page--home .editorial-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:42px}
.page--home .editorial-heading h2{font-size:clamp(38px,4.5vw,62px);line-height:1.05;letter-spacing:-.045em;max-width:none;margin:0}
.page--home .editorial-heading .text-link{margin:0;flex:none}
.collection-note{font-size:11px;color:var(--ink-soft);margin-top:30px;max-width:none}
.page--home .section--ritual{background:linear-gradient(145deg,var(--hair-tint),var(--paper));border-block:1px solid #ffffff}
.page--home .ritual-controls{margin-top:-6px;margin-bottom:38px}
.page--home .ritual-tabs [data-routine-tab]{min-width:84px}
.js .page--home .ritual-line-title{display:none}
.page--home .ritual-product a{border-radius:28px}
@media(prefers-reduced-motion:no-preference){
 .js .hero-title-line>span{animation:onine-title-enter 1.15s .1s cubic-bezier(.16,1,.3,1) both}
 .js .hero-title-line:nth-child(2)>span{animation-delay:.2s}
 .js .hero-actions{animation:onine-action-enter .8s .35s cubic-bezier(.16,1,.3,1) both}
 .js .hero-backdrop{animation:onine-image-enter 1.4s cubic-bezier(.16,1,.3,1) both}
}
@keyframes onine-title-enter{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes onine-action-enter{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes onine-image-enter{from{opacity:0}to{opacity:1}}
@media(width < 1000px),(aspect-ratio < 5/4){
 .page--home main>.section--hero{height:auto;min-height:0;padding:0;background:#e9e2d5}
 .section--hero .hero-scene{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1}
 .section--hero .hero-backdrop{height:auto;aspect-ratio:1;object-fit:contain}
 .section--hero .container.hero{height:auto;padding-top:0;margin-top:24px}
 .hero-copy{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:0 0 24px}
 .hero-title{display:flex;gap:.22em;font-size:clamp(56px,12.5vw,92px);margin-bottom:22px;letter-spacing:-.06em}
 .hero-disclosure{position:static;max-width:none;margin:0;padding:0 var(--gutter) 22px;font-size:10px;background:none}
}
@media(max-width:768px){
 .page--home main>.section--hero{margin-top:-80px;padding-top:80px}
 .hero-copy{display:block}
 .hero-actions .btn{min-height:52px;gap:23px;padding:11px 20px 11px 24px;font-size:13px}
 .page--home .editorial-heading{gap:14px;margin-bottom:28px;flex-wrap:wrap}
 .page--home .editorial-heading h2{font-size:38px}
 .page--home .editorial-heading .text-link{font-size:12px}
 .page--home .ritual-controls{gap:12px;flex-wrap:wrap}
 .page--home .ritual-controls .text-link{font-size:11px}
 .collection-note{margin-top:24px}
}
@media(prefers-reduced-motion:reduce){.hero-backdrop{transform:none!important;animation:none!important}.hero-title-line{overflow:visible}.hero-title-line>span,.hero-actions{animation:none!important}}
.hero-actions:focus-within{animation:none!important}
@media print{.page--home main>.section--hero{height:auto;min-height:0;margin:0;padding:0;background:none}.section--hero .hero-scene{display:none}.hero-copy{padding:20px 0}.section--hero .container.hero{padding-top:0}.hero-disclosure{position:static}.hero-title{font-size:48px}.js .page--home .ritual-line-title{display:block}}

/* Ingredient discovery is one contained material study. Selection changes the
   ingredient and its planned product together; all studies exist without JS. */
.ingredient-canvas{position:relative;isolation:isolate;overflow:hidden;border-radius:44px;padding:44px 48px 26px;background:radial-gradient(ellipse at 16% 66%,#f5e6d666,transparent 46%),linear-gradient(125deg,var(--hair-tint),var(--paper) 68%,#d6dfce);border:1px solid var(--line)}
.ingredient-canvas-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.ingredient-canvas-heading h2{font-size:clamp(40px,4.5vw,64px);letter-spacing:-.05em}
.ingredient-canvas-heading .text-link{flex:none;font-size:12px}
.ingredient-tabs{display:flex;gap:6px;flex-wrap:wrap;width:fit-content;padding:5px;border:1px solid #d0d8ca;border-radius:99px;background:#dee5d7aa}
.ingredient-tabs a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 20px;border-radius:99px;color:var(--ink);font-size:13px;text-decoration:none!important;transition:background-color .25s,color .25s}
.ingredient-tabs a[aria-selected=true]{background:#faf9f1;color:var(--ink)}
.ingredient-tab-node{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--brand-green);opacity:.35;transition:opacity .25s}
.ingredient-tabs a[aria-selected=true] .ingredient-tab-node{opacity:1}
.ingredient-tabs a:focus-visible{outline-offset:2px}
.ingredient-study{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,88px);align-items:center;min-height:465px;scroll-margin-top:110px}
.ingredient-study+.ingredient-study{border-top:1px solid #cad5c4;padding-top:24px;margin-top:24px}
.ingredient-study[hidden]+.ingredient-study{margin-top:0;padding-top:0;border-top:0}
.is-enhanced~.ingredient-study{margin-top:0;padding-top:0;border-top:0}
.ingredient-study-art{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;max-height:460px}
.ingredient-study-art::before{content:"";position:absolute;inset:10%;border-radius:48% 52% 58% 42% / 48% 40% 60% 52%;background:linear-gradient(155deg,var(--surface),#cad7bd);border:1px solid #ffffff75}
.ingredient-study-art>img{position:relative;width:84%;height:100%;max-height:420px;object-fit:contain;mix-blend-mode:darken}
.ingredient-orbit{position:absolute;inset:7% 0 7% 0;border:1px solid #a2b29b66;border-radius:50%;rotate:-28deg;scale:1 .66;pointer-events:none}
.ingredient-orbit::before,.ingredient-orbit::after{content:"";position:absolute;top:48%;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--brand-green)}
.ingredient-orbit::after{left:auto;right:-4px;background:#bbc8b2}
.ingredient-study-copy{padding:30px 0;min-width:0}
.ingredient-study-copy h3{font-size:clamp(42px,4.2vw,64px);letter-spacing:-.05em;margin:0 0 14px}
.ingredient-inci{font-size:11px;color:var(--ink-soft);line-height:1.7;max-width:38ch}
.ingredient-definition{font-size:16px;line-height:1.7;max-width:38ch;margin-top:22px}
.ingredient-review{font-size:11px;color:var(--ink-soft);margin-top:12px}
.ingredient-study-copy>.text-link{margin-top:24px;font-size:12px}
.ingredient-product-reference{display:flex;flex-direction:column;gap:8px;margin-top:30px;padding-top:22px;border-top:1px solid #bfcbb780;color:var(--ink)!important;text-decoration:none!important}
.ingredient-product-reference>span:first-child{font-size:10px;color:var(--ink-soft)}
.ingredient-product-reference>span:last-child{display:flex;gap:16px;align-items:center;justify-content:space-between;min-height:30px;font-size:15px}
.ingredient-product-reference .connection-glyph{width:23px;height:23px}
.ingredient-canvas-note{font-size:10px;color:var(--ink-soft);margin:0;max-width:none}
@media(hover:hover) and (pointer:fine){.ingredient-tabs a:hover{background:#f8f7ee88}.ingredient-product-reference:hover .connection-glyph{translate:3px 0}}
@media(prefers-reduced-motion:no-preference){.js .ingredient-study:not([hidden]){animation:ingredient-study-enter .5s var(--ease)}.ingredient-study-art{transition:opacity .5s}}
@keyframes ingredient-study-enter{from{opacity:.35}to{opacity:1}}

/* The launch invitation has the same pearl, sage and connected identity as the
   collection. Form semantics, consent and request payload remain unchanged. */
.page--home .section--invitation{padding-top:0;padding-bottom:100px}
.invitation-canvas{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding:62px;border-radius:44px;background:linear-gradient(130deg,var(--surface-2),var(--hair-tint) 54%,var(--paper));border:1px solid #dedfd3}
.invitation-canvas .invitation-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.page--home .invitation-copy h2{font-size:clamp(44px,5vw,72px);line-height:1.02;letter-spacing:-.05em;max-width:8ch;margin-bottom:22px}
.invitation-canvas .invitation-copy .lede{font-size:15px;line-height:1.7;color:var(--ink-soft);max-width:25ch}
.invitation-signature{display:flex;align-items:center;gap:16px;color:var(--brand-green);margin-top:auto;padding-top:62px}
.invitation-signature .mark{width:74px;height:54px}
.invitation-signature>span{font:300 62px/1 var(--display);letter-spacing:-.065em}
.invitation-canvas .invitation-form{min-width:0;padding:0 0 0 52px;border:0;border-left:1px solid #b8c3ae77}
.invitation-canvas .form{max-width:none}
.invitation-canvas .field-label,.invitation-canvas .choice-group legend{font-family:var(--sans);font-size:12px;letter-spacing:0;text-transform:none;color:var(--ink-soft)}
.invitation-canvas .field-label{margin-bottom:9px}
.invitation-canvas input[type=email]{padding:15px 18px;min-height:54px;border:1px solid var(--line-strong);border-radius:16px;background:rgba(255,253,247,.68);color:var(--ink);font-size:16px}
.invitation-canvas input[type=email]::placeholder{color:var(--ink-soft)}
.invitation-canvas input[type=email][aria-invalid=true]{border:2px solid var(--danger)}
.invitation-canvas .choice-group{gap:10px;margin-top:22px}
.invitation-canvas .choice-group label{color:var(--ink);font-size:12px;line-height:1.6;min-height:44px;align-items:center}
.invitation-canvas .choice-group:has(input[type=radio]){display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
.invitation-canvas .choice-group:has(input[type=radio]) label{flex:1;width:auto;min-width:0;justify-content:center;gap:7px;padding:9px 8px;border:1px solid #b4c0a9;border-radius:99px;background:#ffffff40}
.invitation-canvas .choice-group input[type=radio]{width:16px;height:16px;min-height:16px}
.invitation-canvas .choice-group:has(input[type=radio]) label:has(:checked){background:#d0dcc5;border-color:#899e79}
.invitation-canvas .choice-group legend{margin-bottom:10px}
.invitation-canvas .choice input{flex-shrink:0}
.invitation-canvas .btn{margin-top:18px;min-height:52px}
.invitation-canvas .field-help{font-size:10px;color:var(--ink-soft);line-height:1.7;margin-top:16px;max-width:48ch}
@media(max-width:1000px){.ingredient-canvas{padding:36px 32px 24px}.ingredient-study{gap:28px}.invitation-canvas{gap:36px;padding:44px}.invitation-canvas .invitation-form{padding-left:32px}}
@media(max-width:768px){
 .ingredient-canvas{border-radius:28px;padding:26px 20px 20px}
 .ingredient-canvas-heading{align-items:flex-start;gap:16px;flex-direction:column;margin-bottom:24px}
 .ingredient-canvas-heading h2{font-size:42px}
 .ingredient-canvas-heading .text-link{font-size:11px;min-height:44px}
 .ingredient-tabs{width:100%;gap:0;flex-wrap:nowrap;border-radius:18px;padding:4px}
 .ingredient-tabs a{min-width:0;flex:1;padding:9px 6px;font-size:11px;gap:5px;border-radius:14px;min-height:44px}
 .ingredient-tab-node{width:4px;height:4px;flex-basis:4px}
 .ingredient-study{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}
 .ingredient-study-art{width:min(100%,340px);height:auto;max-height:none;aspect-ratio:1.12;margin:6px auto 0}
 .ingredient-study-art>img{max-height:280px;width:86%}
 .ingredient-study-copy{padding:8px 0 24px}
 .ingredient-study-copy h3{font-size:38px;margin-bottom:10px}
 .ingredient-inci{font-size:11px;min-height:3.4em}
 .ingredient-definition{font-size:14px;line-height:1.7;margin-top:18px;min-height:8.5em}
 .ingredient-review{font-size:11px}
 .ingredient-study-copy>.text-link{margin-top:20px;font-size:11px}
 .ingredient-product-reference{margin-top:24px;padding-top:18px}
 .ingredient-product-reference>span:last-child{font-size:14px}
 .ingredient-canvas-note{font-size:10px}
 .page--home .section--invitation{padding-top:0;padding-bottom:64px}
 .invitation-canvas{grid-template-columns:minmax(0,1fr);padding:30px 24px;border-radius:28px;gap:30px}
 .page--home .invitation-copy h2{font-size:46px;max-width:none;margin-bottom:14px}
 .invitation-canvas .invitation-copy .lede{font-size:14px;max-width:none}
 .invitation-signature{padding-top:24px;margin-top:0;gap:10px}
 .invitation-signature .mark{width:41px;height:32px}.invitation-signature>span{font-size:36px}
 .invitation-canvas .invitation-form{padding:28px 0 0;border-left:0;border-top:1px solid #b8c3ae77}
 .invitation-canvas .btn{width:100%;justify-content:space-between}
}
@media(max-width:360px){.ingredient-canvas{padding-inline:16px}.ingredient-tabs a{font-size:10px}.ingredient-tab-node{display:none}.invitation-canvas{padding-inline:20px}.invitation-canvas .choice-group:has(input[type=radio]) label{padding-inline:5px;font-size:11px;gap:5px}}
@media(prefers-reduced-motion:reduce){.ingredient-study,.ingredient-study-art{animation:none!important;transition:none!important}.ingredient-orbit{rotate:0;scale:1}}
@media(forced-colors:active){.ingredient-canvas,.invitation-canvas,.ingredient-tabs,.ingredient-tabs a[aria-selected=true]{background:Canvas;border:1px solid CanvasText}.ingredient-study-art::before,.ingredient-orbit,.ingredient-tab-node{display:none}.ingredient-tabs a[aria-selected=true]{outline:2px solid Highlight;outline-offset:-2px}}
@media print{.ingredient-canvas,.invitation-canvas{padding:24px;background:none;border:1px solid #ccc;overflow:visible}.ingredient-tabs{display:none}.ingredient-study[hidden]{display:grid!important}.ingredient-study{break-inside:avoid;min-height:0}.ingredient-study-art{max-height:200px}.ingredient-study-art>img{max-height:180px}.ingredient-study-copy{padding:18px 0}.ingredient-study-copy h3{font-size:30px}.invitation-signature{display:none}}


/* About — contained identity, concise story, complete standards · 2026-10-20 */
.page--about .about-page{padding-top:22px;padding-bottom:88px;max-width:1248px}
.page--about .about-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:clamp(28px,6vw,76px);padding:clamp(32px,5.5vw,72px);border:1px solid #ffffffcc;border-radius:48px 48px 112px 48px;background:linear-gradient(135deg,var(--surface) 0%,var(--paper) 100%);box-shadow:inset 0 0 0 1px #e1e5db66}
.page--about .about-opening{min-width:0}
.page--about .about-pronunciation{font-size:12px;line-height:1.6;color:var(--ink-soft);margin:0 0 24px}
.page--about .about-opening h1{font:300 clamp(46px,5.8vw,76px)/1.02 var(--display);letter-spacing:-.055em;max-width:9ch;margin:0 0 24px;text-wrap:balance}
.page--about .about-lede{font-size:16px;line-height:1.75;color:var(--ink-soft);max-width:30ch;margin:0 0 28px}
.page--about .about-opening .btn{min-height:48px;max-width:100%;font-size:13px;gap:18px;white-space:normal;text-align:left}
.page--about .about-identity{min-width:0;margin:0;text-align:center}
.page--about .about-identity-field{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;aspect-ratio:1.12/1;width:100%;max-width:380px;margin:0 auto 24px}
.page--about .about-identity-field::before,.page--about .about-identity-field::after{content:"";position:absolute;pointer-events:none;z-index:-1}
.page--about .about-identity-field::before{inset:2% 2% 5%;background:var(--hair-tint);border-radius:42% 58% 54% 46% / 54% 44% 56% 46%;transform:rotate(-12deg)}
.page--about .about-identity-field::after{inset:9% 8% 1%;border:1px solid #ffffffb8;background:linear-gradient(145deg,#ffffff85,#e7eadf29);border-radius:56% 44% 42% 58% / 45% 58% 42% 55%;transform:rotate(10deg)}
.page--about .about-identity-mark{display:block;width:45%;height:auto;aspect-ratio:1.4;overflow:visible;color:var(--brand-green);transition:transform .7s var(--ease-editorial)}
.page--about .about-identity-word{font:400 clamp(46px,5.5vw,68px)/1 var(--sans);letter-spacing:-.055em;color:var(--ink)}
.page--about .about-identity figcaption{max-width:32ch;margin-inline:auto;font-size:12px;line-height:1.75;color:var(--ink-soft);text-wrap:pretty}
.page--about .about-story{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(30px,7vw,96px);padding:42px clamp(18px,4vw,52px) 52px}
.page--about .about-story p{margin:0;max-width:48ch;font-size:15px;line-height:1.85;color:var(--ink-soft)}
.page--about .about-story p:first-child{font-size:21px;line-height:1.55;letter-spacing:-.015em;color:var(--ink)}
.page--about .about-principles{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,80px);padding:48px clamp(24px,4vw,52px);border:1px solid #dfe5dc;border-radius:40px 100px 40px 40px;background:var(--hair-tint)}
.page--about .about-page h2{font:300 clamp(30px,3.4vw,42px)/1.12 var(--display);letter-spacing:-.035em;margin:0;max-width:17ch}
.page--about .about-principle-list{margin:0;min-width:0}
.page--about .about-principle{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;padding:20px 0;border-top:1px solid #cdd8cb}
.page--about .about-principle:first-child{padding-top:0;border-top:0}
.page--about .about-principle:last-child{padding-bottom:0}
.page--about .about-principle dt{display:flex;gap:12px;align-items:baseline;font-size:17px;line-height:1.5;letter-spacing:-.015em;color:var(--ink)}
.page--about .about-principle dt>span{font:10px/1.5 var(--mono);letter-spacing:0;color:var(--ink-soft)}
.page--about .about-principle dd{margin:0;font-size:13px;line-height:1.8;color:var(--ink-soft)}
.page--about .about-status{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(36px,8vw,108px);padding:52px clamp(24px,4vw,52px);margin-block:24px;border:1px solid #e6e6dc;border-radius:40px;background:var(--surface-2)}
.page--about .about-status h2{font-size:30px;margin-bottom:18px}
.page--about .about-status p{margin:0;font-size:14px;line-height:1.8;color:var(--ink-soft);max-width:52ch}
.page--about .about-company{align-self:center}
.page--about .about-company .text-link{margin-top:20px;min-height:44px;font-size:13px}
.page--about .about-standards{padding:38px clamp(18px,4vw,52px) 0}
.page--about .about-standards h2{margin-bottom:30px;max-width:20ch}
.page--about .about-standard-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,5vw,64px);margin:0}
.page--about .about-standard-list li{margin:0;padding:20px 0 20px 34px;border-top:1px solid var(--line);max-width:none;font-size:13px;line-height:1.8}
.page--about .about-standard-list li+li{margin-top:0}
.page--about .about-standard-list li::before{top:24px;left:0;color:var(--ink-soft);font-size:10px}
@media(hover:hover) and (pointer:fine){.page--about .about-identity:hover .about-identity-mark{transform:translateY(-4px) rotate(-3deg)}}
@media(max-width:900px){
 .page--about .about-intro{gap:30px;padding:36px}
 .page--about .about-principles{grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:30px}
 .page--about .about-principle{grid-template-columns:112px minmax(0,1fr);gap:14px}
 .page--about .about-status{gap:36px}
}
@media(max-width:640px){
 .page--about .about-page{padding-top:16px;padding-bottom:56px;padding-inline:14px}
 .page--about .about-intro{grid-template-columns:minmax(0,1fr);gap:30px;padding:26px 24px 32px;border-radius:30px 30px 64px 30px}
 .page--about .about-opening h1{font-size:52px;max-width:10ch;margin-bottom:18px}
 .page--about .about-pronunciation{font-size:11px;margin-bottom:18px}
 .page--about .about-lede{font-size:14px;max-width:28ch;margin-bottom:24px}
 .page--about .about-identity{grid-row:1}
 .page--about .about-identity-field{max-width:250px;margin-bottom:16px;aspect-ratio:1.3}
 .page--about .about-identity-mark{width:40%}
 .page--about .about-identity-word{font-size:44px}
 .page--about .about-identity figcaption{font-size:11px;max-width:31ch}
 .page--about .about-story{grid-template-columns:minmax(0,1fr);gap:20px;padding:30px 18px 36px}
 .page--about .about-story p{font-size:14px;line-height:1.8;max-width:none}
 .page--about .about-story p:first-child{font-size:19px;line-height:1.6}
 .page--about .about-principles{grid-template-columns:minmax(0,1fr);gap:28px;padding:30px 24px;border-radius:30px 64px 30px 30px}
 .page--about .about-page h2{font-size:31px}
 .page--about .about-principle{grid-template-columns:96px minmax(0,1fr);gap:14px;padding-block:18px}
 .page--about .about-principle dt{display:block;font-size:16px}
 .page--about .about-principle dt>span{display:block;font-size:10px;margin-bottom:5px}
 .page--about .about-principle dd{font-size:13px;line-height:1.75}
 .page--about .about-status{grid-template-columns:minmax(0,1fr);gap:26px;margin-block:16px;padding:30px 24px;border-radius:30px}
 .page--about .about-status p{font-size:13px}
 .page--about .about-company{padding-top:24px;border-top:1px solid var(--line)}
 .page--about .about-standards{padding:30px 18px 0}
 .page--about .about-standards h2{font-size:30px;margin-bottom:24px}
 .page--about .about-standard-list{grid-template-columns:minmax(0,1fr)}
 .page--about .about-standard-list li{font-size:13px;padding-block:18px}
 .page--about .about-standard-list li::before{top:22px}
}
@media(max-width:360px){
 .page--about .about-intro{padding-inline:20px}
 .page--about .about-opening h1{font-size:44px}
 .page--about .about-principles,.page--about .about-status{padding-inline:20px}
 .page--about .about-principle{grid-template-columns:82px minmax(0,1fr);gap:12px}
}
@media(prefers-reduced-motion:reduce){.page--about .about-identity-mark{transform:none!important;transition:none!important}}
@media(forced-colors:active){
 .page--about .about-intro,.page--about .about-principles,.page--about .about-status{background:Canvas;border-color:CanvasText;box-shadow:none}
 .page--about .about-identity-field::before,.page--about .about-identity-field::after{display:none}
 .page--about .about-identity-mark,.page--about .about-identity-word{color:CanvasText}
}
@media print{
 .page--about .about-page{max-width:none;padding:0}
 .page--about .about-intro,.page--about .about-story,.page--about .about-principles,.page--about .about-status,.page--about .about-standards{display:block;padding:20px 0;border:0;border-radius:0;background:transparent;margin:0}
 .page--about .about-opening h1{font-size:44px}
 .page--about .about-opening .btn,.page--about .about-company .text-link{display:none}
 .page--about .about-identity{max-width:220px;margin:24px 0}
 .page--about .about-identity-field{display:none}
 .page--about .about-identity figcaption{text-align:left;max-width:none}
 .page--about .about-story p+p{margin-top:16px}
 .page--about .about-page h2{font-size:28px;margin-bottom:20px}
 .page--about .about-principle,.page--about .about-standard-list li{break-inside:avoid}
 .page--about .about-company{padding:20px 0 0;border:0}
 .page--about .about-standard-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* End About */

/* =========================================================
   Routine replacement — 2026-10-20. Contained earth/green guide.
   Scoped to /routine/; panels, directions and core controls remain in native flow.
   ========================================================= */
.page--routine .section--routine-page{padding-top:clamp(18px,3vw,42px);padding-bottom:72px}
.page--routine .routine-guide{max-width:1160px}
.page--routine .routine-guide-opening{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:40px;padding:clamp(30px,5vw,64px);border-radius:40px;background:var(--brand-earth,var(--ink));color:var(--on-panel,var(--paper));overflow:hidden}
.page--routine .routine-guide-opening h1{font:400 clamp(48px,6.7vw,84px)/1.02 var(--sans);letter-spacing:-.065em;margin:0 0 20px;color:inherit}
.page--routine .routine-guide-opening p{max-width:30ch;margin:0;font-size:16px;line-height:1.6;color:inherit}
.page--routine .routine-guide-identity{display:grid;justify-items:center;gap:16px;color:var(--skin-tint);padding:22px 0}
.page--routine .routine-guide-identity .mark{display:block;width:160px;height:auto;max-width:100%;aspect-ratio:56/40}
.page--routine .routine-guide-identity>span{font:400 34px/1 var(--sans);letter-spacing:-.055em}
.page--routine .routine-guide-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0 12px}
.page--routine .routine-selector{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:6px;border-radius:99px;background:var(--hair-tint);border:1px solid var(--line)}
.page--routine .routine-selector [data-routine-tab]{display:inline-flex;align-items:center;justify-content:center;min-width:124px;min-height:50px;padding:12px 26px;font-size:15px;line-height:1.4;color:var(--ink);text-decoration:none;border:1px solid transparent;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.page--routine .routine-selector [aria-selected="true"]{background:var(--brand-green);border-color:var(--brand-green);color:var(--on-panel);box-shadow:0 1px 3px var(--line)}
.page--routine .routine-selector [data-routine-tab][aria-selected="true"]:is(:hover,:focus-visible,:active){background:var(--brand-green);border-color:var(--brand-green);color:var(--on-panel)}
.page--routine .routine-selector [data-routine-tab]:focus-visible{outline:2px solid var(--brand-green);outline-offset:3px}
.page--routine .routine-guide-tools>p{font-size:11px;line-height:1.7;color:var(--ink-soft);max-width:32ch;margin:0;text-align:right}
.page--routine .routine-guide-panel{margin-top:26px;min-width:0;background:transparent;scroll-margin-top:110px}
.page--routine .routine-guide-panel[hidden]{display:none}
.page--routine .routine-guide-panel+.routine-guide-panel{margin-top:64px}
.page--routine .routine-guide-panel[hidden]+.routine-guide-panel{margin-top:26px}
.page--routine .routine-guide-panel:focus-visible{outline:2px solid var(--brand-green);outline-offset:8px;border-radius:22px}
.page--routine .routine-guide-heading{display:flex;align-items:baseline;justify-content:space-between;gap:32px;margin-bottom:20px}
.page--routine .routine-guide-heading h2{font:400 clamp(35px,4vw,48px)/1.1 var(--sans);letter-spacing:-.045em;margin:0;color:var(--brand-green)}
.page--routine .routine-guide-heading p{font-size:14px;line-height:1.7;color:var(--ink-soft);max-width:56ch;margin:0}
.page--routine .routine-journey{margin:0 0 28px;padding:20px 30px 16px;background:var(--paper);border:1px solid var(--line);border-radius:24px}
.page--routine .routine-journey ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;isolation:isolate}
.page--routine .routine-journey li{position:relative;min-width:0;margin:0;padding:0}
.page--routine .routine-journey li::before{content:none}
.page--routine .routine-journey li+li::after{content:"";position:absolute;top:22px;left:-50%;width:100%;height:1px;background:var(--brand-green);opacity:.3;z-index:-1}
.page--routine .routine-journey a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:82px;padding:0 4px 4px;text-decoration:none;color:var(--ink);font-size:13px;line-height:1.4;border-radius:12px}
.page--routine .routine-journey-node{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--brand-green);border-radius:50%;background:var(--paper);color:var(--brand-green);font:400 13px/1 var(--mono);transition:background-color .25s,color .25s}
.page--routine .routine-journey a:hover .routine-journey-node,.page--routine .routine-journey a:focus-visible .routine-journey-node{background:var(--brand-green);color:var(--on-panel)}
.page--routine .routine-journey a:focus-visible{outline:2px solid var(--brand-green);outline-offset:4px}
.page--routine .routine-guide-steps{display:grid;gap:24px;list-style:none;margin:0;padding:0}
.page--routine .routine-guide-step{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(24px,4.5vw,60px);margin:0;padding:24px clamp(24px,4vw,48px) 24px 24px;border:1px solid var(--line);border-radius:36px;background:var(--skin-tint);scroll-margin-top:100px;min-width:0}
.page--routine .routine-guide-step::before{content:none}
.page--routine .routine-guide-step:nth-child(even){background:var(--hair-tint)}
.page--routine .routine-guide-step:nth-child(even) .routine-guide-art{order:2}
.page--routine .routine-guide-step:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);padding:24px 24px 24px clamp(24px,4vw,48px)}
.page--routine .routine-guide-art{display:flex;flex-direction:column;position:relative;align-self:stretch;aspect-ratio:auto;min-width:0;margin:0;overflow:hidden;border:0;border-radius:22px;background:color-mix(in srgb,var(--paper) 72%,transparent)}
.page--routine .routine-guide-art>img{display:block;width:100%;height:clamp(270px,30vw,360px);max-height:none;object-fit:contain;padding:10px 18px 0;mix-blend-mode:multiply;transform:translate3d(var(--hover-x,0px),var(--hover-y,0px),0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));flex:1 1 auto}
.page--routine .routine-guide-art figcaption{position:relative;padding:12px 20px 20px;color:var(--ink);margin-top:auto}
.page--routine .routine-guide-art figcaption a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:500;line-height:1.4}
.page--routine .routine-guide-art figcaption a:hover{text-decoration:underline;text-underline-offset:.2em}
.page--routine .routine-guide-art figcaption a:focus-visible{outline:2px solid var(--brand-green);outline-offset:4px;border-radius:3px}
.page--routine .routine-guide-art figcaption>span{display:block;font-size:11px;line-height:1.6;color:var(--ink-soft)}
.page--routine .routine-guide-art .connection-glyph{width:24px;height:24px;flex-basis:24px;color:var(--brand-green)}
.page--routine .routine-guide-copy{min-width:0;padding:22px 0}
.page--routine .routine-guide-step-heading{display:flex;align-items:center;gap:16px;margin:0 0 22px}
.page--routine .routine-guide-number{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;border:1px solid var(--brand-earth);border-radius:50%;font:400 13px/1 var(--mono);color:var(--brand-earth)}
.page--routine .routine-guide-step:nth-child(even) .routine-guide-number{border-color:var(--brand-green);color:var(--brand-green)}
.page--routine .routine-guide-step h3{font:400 clamp(31px,3.2vw,42px)/1.1 var(--sans);letter-spacing:-.045em;margin:0;color:var(--ink);overflow-wrap:anywhere}
.page--routine .routine-guide-job{font-size:19px;line-height:1.5;letter-spacing:-.02em;margin:0 0 14px;color:var(--ink)}
.page--routine .routine-guide-rule{font-size:14px;line-height:1.75;margin:0;color:var(--ink-soft)}
.page--routine .routine-guide-directions{font-size:15px;line-height:1.8;padding-top:22px;margin:22px 0 0;border-top:1px solid var(--line);color:var(--ink)}
.page--routine .routine-guide-directions a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand-green);text-underline-offset:.22em;text-decoration-thickness:1px}
.page--routine .routine-guide-directions a:hover{text-decoration-thickness:2px}
.page--routine .routine-core{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:26px 44px;padding:clamp(28px,4vw,48px);margin-top:28px;border-radius:36px;background:var(--panel);color:var(--on-panel)}
.page--routine .routine-core h3{font:400 clamp(30px,3.5vw,42px)/1.1 var(--sans);letter-spacing:-.04em;margin:0 0 12px;color:inherit}
.page--routine .routine-core-heading p{font-size:13px;line-height:1.6;margin:0;color:inherit}
.page--routine .routine-core-heading .routine-core-total{font:400 28px/1.3 var(--mono);letter-spacing:-.035em;margin-top:18px}
.page--routine .routine-core-products{list-style:none;padding:0;margin:0;display:grid;gap:0}
.page--routine .routine-core-products li{margin:0;padding:0}
.page--routine .routine-core-products li::before{content:none}
.page--routine .routine-core-products a{display:flex;align-items:center;gap:14px;min-height:44px;padding:8px 0;font-size:14px;line-height:1.5;color:var(--on-panel);text-decoration:none}
.page--routine .routine-core-products a>span{font:400 11px/1 var(--mono);opacity:.75}
.page--routine .routine-core-products a:hover{text-decoration:underline;text-underline-offset:.22em}
.page--routine .routine-core-products a:focus-visible{outline:2px solid var(--on-panel);outline-offset:4px}
.page--routine .routine-core-action{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px 44px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--on-panel) 25%,transparent)}
.page--routine .routine-core-action .btn{justify-self:start;flex-wrap:wrap;min-height:52px;font-size:13px;line-height:1.5;gap:8px 12px;padding:12px 20px;white-space:normal;text-align:left;max-width:100%}
.page--routine .routine-core-action .money{font-size:inherit;white-space:nowrap}
.page--routine .routine-core-action .field-help{font-size:12px;line-height:1.75;max-width:none;color:var(--on-panel);margin:0}
.page--routine .routine-guide-closing{padding-top:32px}
.page--routine .routine-guide-closing>p{font-size:14px;line-height:1.8;margin:0 0 28px;color:var(--ink-soft);text-align:center}
.page--routine .routine-guide-closing .money{font-size:inherit;color:var(--ink)}
.page--routine .routine-guide-closing .well{margin:0;padding:28px 32px;border:1px solid var(--line);border-radius:26px;background:var(--paper)}
.page--routine .routine-guide-closing .well>p:not(.label){font-size:13px;line-height:1.8;max-width:90ch}
.page--routine .routine-guide-closing .well>.label{color:var(--brand-green)}
@media(max-width:768px){
 .page--routine .section--routine-page{padding-top:14px;padding-bottom:48px}
 .page--routine .routine-guide-opening{grid-template-columns:minmax(0,1fr) 90px;gap:20px;padding:30px 24px;border-radius:28px}
 .page--routine .routine-guide-opening h1{font-size:48px;margin-bottom:14px}
 .page--routine .routine-guide-opening p{font-size:13px;max-width:22ch}
 .page--routine .routine-guide-identity{gap:12px;padding:0}
 .page--routine .routine-guide-identity .mark{width:88px}
 .page--routine .routine-guide-identity>span{font-size:23px}
 .page--routine .routine-guide-tools{flex-direction:column;align-items:stretch;gap:14px;padding:22px 0 8px}
 .page--routine .routine-selector{width:100%;max-width:360px;align-self:center}
 .page--routine .routine-selector [data-routine-tab]{flex:1;min-width:0;font-size:15px}
 .page--routine .routine-guide-tools>p{max-width:none;text-align:center;font-size:10px}
 .page--routine .routine-guide-heading{display:block;margin-bottom:20px}
 .page--routine .routine-guide-heading h2{font-size:34px;margin:0 0 12px}
 .page--routine .routine-guide-heading p{font-size:13px;line-height:1.7;max-width:none}
 .page--routine .routine-journey{padding:18px 8px 12px;border-radius:20px;margin-bottom:20px}
 .page--routine .routine-journey a{font-size:12px;gap:10px}
 .page--routine .routine-guide-steps{gap:20px}
 .page--routine .routine-guide-step,.page--routine .routine-guide-step:nth-child(even){grid-template-columns:minmax(0,1fr);gap:0;padding:16px;border-radius:28px}
 .page--routine .routine-guide-step:nth-child(even) .routine-guide-art{order:0}
 .page--routine .routine-guide-art{border-radius:18px}
 .page--routine .routine-guide-art>img{height:260px;flex:none;padding:10px 34px 0}
 .page--routine .routine-guide-art figcaption{padding:0 20px 18px}
 .page--routine .routine-guide-art figcaption a{font-size:14px}
 .page--routine .routine-guide-copy{padding:26px 8px 12px}
 .page--routine .routine-guide-step-heading{gap:13px;margin-bottom:18px}
 .page--routine .routine-guide-step h3{font-size:32px}
 .page--routine .routine-guide-number{width:44px;height:44px;flex-basis:44px;font-size:12px}
 .page--routine .routine-guide-job{font-size:18px;margin-bottom:12px}
 .page--routine .routine-guide-rule{font-size:13px;line-height:1.75}
 .page--routine .routine-guide-directions{font-size:14px;line-height:1.8;padding-top:18px;margin-top:18px}
 .page--routine .routine-core{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:20px;padding:28px 24px;border-radius:28px}
 .page--routine .routine-core h3{font-size:34px}
 .page--routine .routine-core-action{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:20px}
 .page--routine .routine-core-action .btn{justify-self:stretch;justify-content:center;text-align:center;font-size:12px;padding:12px 14px}
 .page--routine .routine-guide-closing{padding-top:24px}
 .page--routine .routine-guide-closing>p{font-size:12px;text-align:left}
 .page--routine .routine-guide-closing .well{padding:24px;border-radius:24px}
}
@media(max-width:374px){
 .page--routine .routine-guide-opening{grid-template-columns:minmax(0,1fr) 64px;gap:12px;padding:26px 20px}
 .page--routine .routine-guide-opening h1{font-size:40px}
 .page--routine .routine-guide-identity .mark{width:64px}
 .page--routine .routine-guide-identity>span{font-size:20px}
 .page--routine .routine-journey a{font-size:11px}
 .page--routine .routine-guide-step,.page--routine .routine-guide-step:nth-child(even){padding:12px}
 .page--routine .routine-guide-copy{padding-inline:6px}
 .page--routine .routine-guide-art>img{height:240px;padding-inline:24px}
 .page--routine .routine-guide-art figcaption{padding-inline:16px}
 .page--routine .routine-guide-step h3{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
 .page--routine .routine-guide-art>img{transform:none!important;transition:none!important}
 .page--routine .routine-journey-node{transition:none}
}
@media(forced-colors:active){
 .page--routine :is(.routine-guide-opening,.routine-guide-step,.routine-guide-art,.routine-core,.routine-guide-closing .well,.routine-journey,.routine-selector){background:Canvas;color:CanvasText;border:1px solid CanvasText}
 .page--routine :is(.routine-guide-opening h1,.routine-guide-opening p,.routine-guide-identity,.routine-guide-heading h2,.routine-guide-number,.routine-core a,.routine-core-action .field-help){color:CanvasText}
 .page--routine .routine-selector [aria-selected="true"],.page--routine .routine-journey-node{background:Highlight;color:HighlightText;border-color:Highlight}
 .page--routine .routine-journey li+li::after{background:CanvasText;opacity:1}
 .page--routine .routine-guide-art>img{mix-blend-mode:normal}
}
@media print{
 .page--routine .routine-guide-panel[hidden]{display:block!important}
 .page--routine :is(.routine-guide-tools,.routine-guide-identity,.routine-journey,.routine-guide-art,.routine-core-action .btn){display:none!important}
 .page--routine :is(.routine-guide-opening,.routine-guide-step,.routine-core,.routine-guide-closing .well){display:block;background:transparent!important;color:inherit;padding:18px 0;border:0;border-radius:0}
 .page--routine :is(.routine-guide-opening h1,.routine-guide-opening p,.routine-core h3,.routine-core p,.routine-core a){color:inherit}
 .page--routine .routine-guide-opening h1{font-size:34px}
 .page--routine .routine-guide-panel,.page--routine .routine-guide-panel+.routine-guide-panel{margin-top:26px}
 .page--routine .routine-guide-steps{display:block}
 .page--routine .routine-guide-step{break-inside:avoid;border-top:1px solid currentColor}
 .page--routine .routine-guide-copy{padding:0}
 .page--routine .routine-guide-job,.page--routine .routine-guide-rule,.page--routine .routine-guide-directions{font-size:11pt}
 .page--routine .routine-guide-directions{padding-top:8px;margin-top:8px}
 .page--routine .routine-core-products{display:block}
 .page--routine .routine-core-action{display:block;padding-top:12px}
}
