/* Stone Protocol site v12.2 — stylesheet.
   Layer 1 (this block through "END LIVE BASE") is the live site's own stylesheet (concept.module.css,
   lines 1–486 of the owner's source), with its CSS-module class names used as plain classes and the
   Omni adapter removed: square edges, charcoal buttons with a light border, Space Grotesk + Inter,
   #0a0a0c ground, #eeeef0 paper. Layer 2 (after "V9 LAYER") adds contact, pinned bar, store and
   refinements. Layer 3 ("V11 · PRECISION INSTRUMENT") finishes the same identity: tonal surfaces, hairlines,
   one studio-light accent, a mono utility face, fluid type, restrained native motion. Layer 4 ("V12 · FULL LUMINA") adds
   light, scale and pacing: the hero light reveal, one full-bleed portrait moment on a few pages, portrait depth, the
   Apothecary object stage, monumental step numerals and fewer boxes. Light is the only special effect.
   Layer 5 ("V12.2 · FULL LUMINA II") is repair and rhythm only: the phone hero fits one complete first screen, headings
   breathe above the block they introduce, links inside sentences stay in the sentence, the menu's Email · Call · Text
   matches the site's, paired buttons stack rather than wrap, and a product's card label stays behind when its art travels.
   Fonts: the live site's Google Fonts (Inter + Space Grotesk 400–600) plus JetBrains Mono 400–500, loaded by a
   <link> in each page head with preconnect (v11 moved it out of an @import so the fonts are discovered sooner). */
*,::before,::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#070809;color:#f3f1ed;font-family:Inter,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:inherit}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0}
[hidden]{display:none!important}
.concept {
  --paper: #eeeef0;
  --muted: #b2b4bb;
  --edge: #35363b;
  --ground: #0a0a0c;
  color: var(--paper);
  background: var(--ground);
  font-size: 1rem;
  line-height: 1.65;
  overflow: clip;
  overflow-wrap: anywhere;
}
/* Grid/flex children must be allowed to shrink when readers enlarge text. */
.concept * { min-width: 0; }
.concept h1, .concept h2, .concept h3 { font-family: 'Space Grotesk', sans-serif; font-weight: 400; }
.concept h2 { margin: 0; font-size: clamp(2.6rem, 4.2vw, 4.65rem); line-height: 1.08; letter-spacing: -.055em; }
.concept h2 span { color: var(--muted); }
.concept h1, .concept h2, .concept h3 { text-wrap: balance; overflow-wrap: anywhere; }
.concept main:focus { outline: none; }
.pageContents { padding: 1.1rem 0 1.4rem; border-top: 1px solid var(--edge); display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 2rem; }
.pageContents > span { color: var(--muted); font-size: .875rem; }
.pageContents ul { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; list-style: none; padding: 0; margin: 0; }
.pageContents a { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: .875rem; text-decoration: underline; text-decoration-color: #686a73; text-underline-offset: .35rem; }
.pageContents a:hover { text-decoration-color: #fff; }
.inquiryTopic { padding: 1rem; border-left: 2px solid #b2b4bb; background: #1c1c22; }
.inquiryTopic strong { color: var(--paper); font-weight: 500; }
.formatTerms { margin: 1.5rem 0; font-size: .875rem; }
.formatTerms div { display: grid; grid-template-columns: 6rem 1fr; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--edge); }
.formatTerms dt { color: var(--muted); }
.formatTerms dd { margin: 0; }
.concept p { margin: 0; }
.concept section { scroll-margin-top: 2rem; }
.skip { position: fixed; z-index: 100; left: 1rem; top: -6rem; padding: 1rem; background: #202126; color: #fff; border: 1px solid #eeeef0; }
.skip:focus { top: 1rem; }
.reviewBar { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem clamp(1.25rem, 4vw, 4rem); background: #202126; font-size: .8125rem; color: #d1d2d7; }
.header { padding: 1.6rem clamp(1.25rem, 4vw, 4rem); display: flex; gap: 2rem; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--edge); }
.brand { display: inline-flex; align-items: center; gap: .75rem; flex-shrink: 0; font-family: 'Space Grotesk', sans-serif; font-size: 1rem; text-transform: uppercase; letter-spacing: .1em; line-height: 1.25; }
.brandMark { display: block; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; color: #fff; }
.navigation { display: flex; gap: clamp(1.2rem, 2.5vw, 3rem); font-size: .875rem; color: #c9cad0; }
.navigation a:hover, .textLink:hover { color: white; text-decoration: underline; text-underline-offset: .4rem; }
.headerCta { display: flex; justify-content: space-between; gap: 2rem; align-items: center; border: 1px solid #696a72; padding: .7rem 1rem; font-size: .875rem; }
.mobileMenu { display: none; }
.hero { display: grid; grid-template-columns: 1.12fr 1fr; min-height: 45rem; }
.heroCopy { padding: clamp(3.5rem, 5.8vw, 6.5rem) clamp(1.25rem, 4vw, 4rem) 3.5rem; display: flex; flex-direction: column; justify-content: center; }
.eyebrow { font-size: .875rem; font-weight: 500; letter-spacing: .06em; color: #c3c4ca; }
.heroCopy .eyebrow { display: flex; align-items: center; gap: .9rem; margin-bottom: 2.7rem; }
.rule { width: 2.5rem; height: 1px; background: #898b95; }
.concept h1 { margin: 0; font-size: clamp(3.75rem, 6.1vw, 6.4rem); line-height: .98; letter-spacing: -.068em; }
.concept h1 em { font-style: normal; color: #b7b8c0; }
.heroLede { margin-top: 2rem !important; font-size: 1.125rem; font-weight: 500; }
.heroBody { margin-top: .7rem !important; max-width: 35rem; color: #bfc0c7; font-size: 1rem; line-height: 1.75; }
.actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1.3rem; margin: 2rem 0; }
.primary, .outline { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.8rem; padding: .95rem 1.2rem; font-size: .875rem; font-weight: 600; line-height: 1.5; border: 1px solid #c6c7ce; }
.primary { background: #28292f; color: #fff; }
.primary:hover { background: #383940; }
.outline:hover, .headerCta:hover { background: #26262c; }
.textLink { display: inline-flex; gap: 1rem; align-items: center; font-size: .875rem; }
.actions .textLink { padding: .8rem 0; }
.heroNote { font-size: .875rem; line-height: 1.6; max-width: 26rem; color: #979aa5; }
.heroPortrait { position: relative; margin: 0; min-width: 0; overflow: hidden; background: #111018; }
.heroPortrait img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; }
.heroPortrait::after { content: ''; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(5,5,10,.78)); pointer-events: none; }
.heroPortrait figcaption { position: absolute; z-index: 1; bottom: 2rem; left: 2rem; right: 2rem; display: flex; justify-content: space-between; gap: 1rem; font-size: .875rem; }
.heroPortrait figcaption span:last-child { color: #c8c9d1; }
.offerMap { display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 1px solid var(--edge); padding: 0 clamp(1.25rem, 4vw, 4rem); }
.offerMap a { display: flex; flex-direction: column; gap: .5rem; padding: 1.8rem 1.6rem; border-right: 1px solid var(--edge); }
.offerMap a:first-child { padding-left: 0; }
.offerMap a:last-child { border: 0; }
.offerMap strong { font-size: 1rem; font-weight: 500; }
.offerMap span { font-size: .875rem; color: #b3b5bf; }
.offerMap a:hover strong { text-decoration: underline; text-underline-offset: .4rem; }
.coaching { padding: clamp(4rem, 7vw, 7.5rem) clamp(1.25rem, 6vw, 6rem); display: grid; grid-template-columns: .95fr 1.3fr; gap: clamp(2rem, 6vw, 6rem); border-top: 1px solid var(--edge); }
.sectionIntro .eyebrow { margin-bottom: 2rem; }
.coachingBody { color: #bbbcc4; }
.coachingBody .largeText { color: var(--paper); font-family: 'Space Grotesk', sans-serif; font-size: clamp(1.4rem, 2.1vw, 2rem); line-height: 1.45; letter-spacing: -.025em; margin-bottom: 1.5rem; }
.tracks { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 2rem 0; padding-top: 2rem; border-top: 1px solid var(--edge); }
.smallLabel { color: var(--paper); font-size: .875rem; font-weight: 600; }
.tracks p { margin-top: .75rem; font-size: 1rem; }
.coachingBody .outline { color: var(--paper); }
.journeys { margin: 0 clamp(1.25rem, 3vw, 3rem); display: grid; grid-template-columns: .85fr 1.15fr; background: #151518; border: 1px solid #343438; }
.journeyImage { position: relative; overflow: hidden; min-height: 45rem; }
.journeyImage img { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: 50% 38%; }
.journeyImage::after { content: ''; position: absolute; inset: 65% 0 0; background: linear-gradient(transparent, rgba(3,3,5,.88)); }
.imageLabel { position: absolute; z-index: 1; bottom: 2rem; left: 2rem; right: 2rem; font-size: .875rem; letter-spacing: .04em; }
.journeyCopy { padding: clamp(2.3rem, 4.3vw, 4.8rem); }
.journeyCopy .eyebrow { margin-bottom: 1.8rem; }
.journeyCopy h2 { font-size: clamp(2.35rem, 3.7vw, 4.2rem); margin-bottom: 2rem; }
.journeyCopy > p:not(.eyebrow) { color: #bfc0c7; margin-top: 1rem; }
.travel { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #44444c; gap: 1.5rem; padding-top: 1.7rem; margin-top: 2.2rem; }
.travel span { font-family: 'Space Grotesk', sans-serif; font-size: 1.35rem; }
.travel p { color: #bfc0c7; margin-top: .5rem; }
.journeyCopy .logistics { font-size: .875rem; line-height: 1.7; }
.journeyCopy .primary { margin-top: 1.7rem; }
.journeyCopy .standalone { font-size: .875rem; padding-top: .5rem; }
.approach { padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6rem); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 7vw, 7rem); }
.approachHeading .eyebrow { margin-bottom: 2rem; }
.approachHeading > p:last-child { margin-top: 2rem; max-width: 27rem; color: #bfc0c7; }
.methodList { border-top: 1px solid var(--edge); }
.methodList article { display: flex; gap: 2rem; border-bottom: 1px solid var(--edge); padding: 1.9rem 0; }
.methodList article > span { color: #9b9da8; font-size: .875rem; padding-top: .45rem; }
.methodList h3 { margin: 0 0 .6rem; font-size: 1.9rem; letter-spacing: -.04em; line-height: 1.2; }
.methodList p { color: #bfc0c7; max-width: 27rem; }
.group { border-top: 1px solid var(--edge); border-bottom: 1px solid var(--edge); padding: 3.5rem clamp(1.25rem, 6vw, 6rem); display: grid; grid-template-columns: .7fr 1.4fr auto; gap: 2.5rem; align-items: center; }
.group h2 { font-size: clamp(2rem, 3vw, 3rem); }
.group p:not(.eyebrow) { color: #bfc0c7; max-width: 31rem; margin-top: 1.2rem; }
.begin { text-align: center; padding: clamp(4rem, 8vw, 8rem) 1.25rem; background: radial-gradient(ellipse at center, #202025 0, #0a0a0c 66%); }
.begin .eyebrow { margin-bottom: 2rem; }
.begin h2 { font-size: clamp(3rem, 6vw, 6rem); }
.begin > p:not(.eyebrow) { max-width: 34rem; margin: 2rem auto; color: #bfc0c7; }
.inquiryPreview { max-width: 35rem; margin: 0 auto; }
.inquiryPreview summary { display: flex; align-items: center; gap: 2rem; justify-content: space-between; width: fit-content; margin: auto; cursor: pointer; padding: 1rem 1.3rem; background: #d7d8df; color: #111115; font-size: .875rem; font-weight: 600; list-style: none; }
.inquiryPreview summary::-webkit-details-marker { display: none; }
.inquiryPreview > div { margin-top: 1.3rem; border: 1px solid #5c5d68; padding: 1.5rem; text-align: left; }
.inquiryPreview > div p { color: #bfc0c7; margin-top: .7rem; }
.footer { padding: 3rem clamp(1.25rem, 4vw, 4rem) 2rem; border-top: 1px solid var(--edge); }
.footerTop { display: flex; gap: 2rem; justify-content: space-between; align-items: center; }
.footerTop > p { font-family: 'Space Grotesk', sans-serif; font-size: 1.4rem; color: #b6b7c0; letter-spacing: -.02em; }
.future { border-top: 1px solid var(--edge); margin-top: 2.5rem; padding-top: 1.5rem; display: flex; flex-wrap: wrap; gap: 1rem 2rem; font-size: .875rem; color: #b1b3bf; }
.future > span:first-child { color: #e0e1e5; }
.reviewFoot { max-width: 65rem; margin-top: 1.4rem !important; font-size: .8125rem; color: #999ca7; }
.concept a:focus-visible, .concept summary:focus-visible { outline: 2px solid #eeeef0; outline-offset: 5px; }
.headerTools { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }
.apothecaryLink { display: inline-flex; align-items: center; gap: .7rem; padding: .7rem .9rem; border: 1px solid #696a72; font-size: .875rem; white-space: nowrap; }
.apothecaryLink:hover { background: #26262c; }
.coachingBody > p + p { margin-top: 1.2rem; }
.coachingBody > .outline { margin-top: 1.7rem; }
.coachingBody .emphasis { color: var(--paper); font-size: 1.2rem; }
.trackJump { margin-top: 1.2rem; font-size: .875rem; text-underline-offset: .3rem; text-decoration: underline; width: fit-content; }
.trackSection { padding: 2.8rem clamp(1.25rem, 6vw, 6rem); border-top: 1px solid var(--edge); background: #141417; }
.trackSection h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); margin: .8rem 0 1rem; }
.trackSection > p:not(.eyebrow) { max-width: 51rem; color: var(--muted); }
.trackLinks { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.trackLinks a { padding: .65rem .9rem; border: 1px solid #56575f; font-size: .875rem; }
.trackLinks a:hover { background: #2a2a30; }
.workSection, .about { padding: clamp(3.5rem, 5vw, 5.5rem) clamp(1.25rem, 6vw, 6rem); border-top: 1px solid var(--edge); }
.editorialHeading .eyebrow, .about > .eyebrow, .engagementIntro .eyebrow { margin-bottom: 1.5rem; }
.editorialHeading h2 { font-size: clamp(2.1rem, 3.4vw, 3.8rem); }
.editorialHeading > p:last-child { color: var(--muted); margin-top: 1.5rem; max-width: 42rem; }
.workGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; margin-top: 2.8rem; }
.workGrid article { border-top: 1px solid var(--edge); padding-top: 1.25rem; }
.workGrid h3, .fitnessTracks h3 { font-size: 1.45rem; letter-spacing: -.035em; line-height: 1.25; margin: .85rem 0; }
.workGrid p { color: var(--muted); }
.experience, .trauma, .fitness, .faq { display: grid; grid-template-columns: .95fr 1.3fr; gap: clamp(2rem, 6vw, 6rem); padding: clamp(3.5rem, 6vw, 6rem) clamp(1.25rem, 6vw, 6rem); border-top: 1px solid var(--edge); }
.sideNote { color: var(--muted); max-width: 28rem; margin-top: 1.8rem !important; }
.experience .methodList p { max-width: 36rem; }
.experience .methodList h3 { font-size: 1.55rem; }
.engagement { margin: 0 clamp(1.25rem, 3vw, 3rem); padding: clamp(2rem, 4vw, 4rem); display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2rem, 5vw, 5rem); background: #19191d; border: 1px solid #47474f; }
.engagement h2 { font-size: clamp(2rem, 3.3vw, 3.5rem); }
.engagementIntro > p:last-child { margin-top: 1.5rem; color: var(--muted); }
.terms { margin: 0; }
.terms > div { padding: 1rem 0; border-bottom: 1px solid #47474f; }
.terms > div:first-child { padding-top: 0; }
.terms dt { font-size: 1.45rem; font-family: 'Space Grotesk', sans-serif; }
.terms dd { margin: .4rem 0 0; color: var(--muted); font-size: .875rem; }
.included { padding-left: 1.1rem; margin: 1.5rem 0; color: #cbccd2; }
.included li + li { margin-top: .6rem; }
.contractNote { color: #b1b3bd; font-size: .875rem; line-height: 1.65; }
.engagementDetails > .primary { margin-top: 1.5rem; }
.investment { border-block: 1px solid #5c5d68; margin: 1.5rem 0; scroll-margin-top: 2rem; }
.investment summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; cursor: pointer; list-style: none; }
.investment summary::-webkit-details-marker { display: none; }
.investment[open] summary > span { transform: rotate(45deg); }
.investment > div { padding-bottom: 1.2rem; color: var(--muted); }
.investment p + p { margin-top: 1rem; }
.investment strong { color: var(--paper); font-weight: 500; }
.practiceSection { padding: 0 clamp(1.25rem, 6vw, 6rem) clamp(3.5rem, 6vw, 6rem); }
.practiceGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2.5rem; }
.practiceGrid article { border-top: 1px solid #656670; padding: 1.8rem 0 0; }
.practiceGrid h3 { font-size: clamp(1.6rem, 2.5vw, 2.5rem); line-height: 1.15; letter-spacing: -.04em; margin: 1.2rem 0; }
.practiceGrid p:not(.smallLabel), .practiceGrid ul { color: var(--muted); }
.practiceGrid ul { padding-left: 1.2rem; margin-block: 1.3rem; }
.practiceGrid li + li { margin-top: .6rem; }
.practiceGrid .practiceOutcome { color: var(--paper) !important; border-left: 2px solid #8e909c; padding-left: 1rem; }
.fitnessPortrait { margin: 2.5rem 0 0; max-width: 29rem; }
.fitnessPortrait img { display: block; width: 100%; height: auto; }
.fitnessPortrait figcaption { font-size: .875rem; color: var(--muted); margin-top: .75rem; }
.trauma { background: #101013; }
.fitnessTracks { margin: 1.8rem 0; }
.fitnessTracks article { border-top: 1px solid var(--edge); padding: .8rem 0; scroll-margin-top: 2rem; }
.fitnessTracks h3 { color: var(--paper); }
.fitnessTracks p + p { margin-top: 1rem; }
.fitnessTracks .contractNote { margin-top: 1.2rem; }
.aboutColumns { margin-top: 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; color: var(--muted); max-width: 65rem; }
.faqList { border-top: 1px solid var(--edge); }
.faqList details { border-bottom: 1px solid var(--edge); }
.faqList summary { padding: 1.2rem 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; }
.faqList summary::-webkit-details-marker { display: none; }
.faqList summary span { font-size: 1.4rem; flex-shrink: 0; }
.faqList details[open] summary span { transform: rotate(45deg); }
.faqList details > p { padding: 0 0 1.4rem; color: var(--muted); }
.future a { color: var(--paper); text-decoration: underline; text-underline-offset: .3rem; }
.storeMain { min-height: 70vh; padding: clamp(3rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6rem); max-width: 65rem; }
.storeMain h1 { font-size: clamp(3rem, 7vw, 6rem); margin: 1.5rem 0 2rem; }
.storeMain > p { color: var(--muted); max-width: 43rem; margin-top: 1.25rem; }
.storeNotice { padding: 1.5rem; margin: 2rem 0; border: 1px solid #5b5c66; background: #1a1a20; }
.storeNotice p { color: var(--muted); margin-top: .6rem; }
.storeMain > .outline { margin-top: 2rem; }
.subpageMain { padding: 0 clamp(1.25rem, 6vw, 6rem); }
.subHero { padding: clamp(3.5rem, 7vw, 7rem) 0 clamp(3rem, 5vw, 5rem); max-width: 68rem; }
.subHero h1 { margin: 1.5rem 0 2rem; font-size: clamp(3.2rem, 6.3vw, 6.6rem); }
.subHero > p:not(.eyebrow) { max-width: 44rem; color: var(--muted); font-size: 1.15rem; }
.subHero > .subNote { font-size: 1rem !important; margin-top: 1.2rem; }
.subSection { border-top: 1px solid var(--edge); padding: clamp(3rem, 5vw, 5rem) 0; }
.subSection > .eyebrow { margin-bottom: 1.5rem; }
.subSection > .outline { margin-top: 1.6rem; }
.subSection h2 { font-size: clamp(2.2rem, 4vw, 4.25rem); }
.subNote { max-width: 52rem; margin-top: 1.7rem !important; color: var(--muted); font-size: .875rem; }
.readingWidth { max-width: 43rem; margin-top: 1.8rem !important; color: var(--muted); }
.subCta { border-top: 1px solid var(--edge); padding: clamp(3rem, 6vw, 6rem) 0; }
.subCta > p { max-width: 40rem; color: var(--muted); margin-top: 1.5rem; }
.subCta .primary { margin-top: 2rem; }
.bioIntro { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 5vw, 5rem); border-top: 1px solid var(--edge); padding: 3rem 0; }
.bioPortrait { align-self: start; background: #121016; overflow: hidden; }
.bioPortrait img { display: block; width: 100%; height: auto; }
.bioCopy h2 { margin: 1.5rem 0; }
.bioCopy > p:not(.eyebrow) { margin-top: 1.2rem; color: var(--muted); }
.principleRows { border-top: 1px solid var(--edge); margin-top: 2rem; }
.principleRows article { display: grid; grid-template-columns: .7fr 1.3fr; gap: 2rem; padding: 1.6rem 0; border-bottom: 1px solid var(--edge); }
.principleRows h3 { font-size: 1.35rem; margin: 0; letter-spacing: -.025em; }
.principleRows p { color: var(--muted); }
.mantra { margin: 0; padding: clamp(2rem, 5vw, 5rem); border: 1px solid #565760; background: linear-gradient(120deg, #1e1f25, #0e0e12); }
.mantra p { font-family: 'Space Grotesk', sans-serif; font-size: clamp(1.6rem, 3.5vw, 3.2rem); letter-spacing: -.04em; line-height: 1.35; }
.mantra cite { display: block; font-style: normal; color: var(--muted); font-size: .875rem; margin-top: 1.5rem; }
.destinationGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; margin-top: 2.3rem; }
.destinationGrid a { display: block; padding: 1.7rem; border: 1px solid #484951; }
.destinationGrid a > span { color: var(--muted); font-size: .875rem; }
.destinationGrid h3 { font-size: 1.65rem; line-height: 1.3; margin: 1rem 0 0; letter-spacing: -.035em; }
.widerWorld { padding: clamp(3.5rem, 5vw, 5.5rem) clamp(1.25rem, 6vw, 6rem); border-top: 1px solid var(--edge); }
.widerWorld > .eyebrow { margin-bottom: 1.5rem; }
.worldLinks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 2.5rem; }
.worldLinks a { padding: 1.5rem; border: 1px solid #484951; background: #131317; }
.worldLinks span { font-size: .875rem; color: var(--muted); }
.worldLinks h3 { font-size: 1.5rem; line-height: 1.25; letter-spacing: -.04em; margin: 1rem 0; }
.worldLinks p { color: var(--muted); }
.worldLinks a, .destinationGrid a, .trackLinks a, .apothecaryLink { transition: border-color 160ms ease, background-color 160ms ease; }
.worldLinks a:hover, .destinationGrid a:hover { border-color: #b9bbc7; background: #1c1c23; }
.guide { border: 1px solid #555761; background: #141419; }
.guideDisclosure { padding: 1.2rem 1.5rem; border-bottom: 1px solid #41424a; font-size: .875rem; color: #c5c6ce; }
.guideLayout { display: grid; grid-template-columns: 1fr 1.35fr; }
.guideChoices { padding: 1.5rem; display: flex; flex-direction: column; gap: .65rem; }
.guideChoices button { font: inherit; text-align: left; cursor: pointer; color: #cbcdd5; background: transparent; border: 1px solid #4e505a; padding: 1rem; display: flex; justify-content: space-between; gap: 1rem; }
.guideChoices button[aria-pressed="true"] { color: #fff; background: #303138; border-color: #eeeef0; }
.guideChoices button:focus-visible { outline: 2px solid white; outline-offset: 4px; }
.guideAnswer { padding: 2rem; border-left: 1px solid #41424a; min-height: 25rem; }
.guideAnswer h2 { margin: 1.2rem 0; font-size: clamp(1.8rem, 3vw, 3rem); }
.guideAnswer > p:not(.eyebrow) { color: var(--muted); }
.guideAnswer .outline { margin-top: 1.7rem; }
@media (max-width: 1200px) {
  .navigation { display: none; }
  .mobileMenu { display: block; position: relative; font-size: .875rem; }
  .mobileMenu summary { cursor: pointer; border: 1px solid #696a72; padding: .65rem 1rem; }
  .mobileMenu nav { position: absolute; z-index: 5; top: 3.7rem; right: 0; background: #1b1b21; border: 1px solid #696a72; padding: 1rem; width: min(19rem, calc(100vw - 2.5rem)); display: grid; gap: .2rem; }
  .mobileMenu nav a { display: block; padding: .65rem; }
  .mobileMenu nav { max-height: min(75vh, 40rem); overflow-y: auto; }
  .worldLinks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1700px) {
  .concept { max-width: 1700px; margin: 0 auto; border-inline: 1px solid var(--edge); }
}
@media (max-width: 1100px) {
  .navigation { gap: 1rem; }
  .header { gap: 1.2rem; }
  .headerCta { gap: 1rem; }
  .brand { letter-spacing: .06em; }
  .hero { min-height: 43rem; }
  .heroPortrait figcaption { flex-direction: column; gap: .2rem; }
  .group { grid-template-columns: 1fr 2fr; }
  .group .outline { grid-column: 2; justify-self: start; }
}
@media (max-width: 900px) {
  .navigation, .headerCta { display: none; }
  .mobileMenu { display: block; position: relative; font-size: .875rem; }
  .mobileMenu summary { cursor: pointer; border: 1px solid #696a72; padding: .65rem 1rem; }
  .mobileMenu nav { position: absolute; z-index: 5; top: 3.7rem; right: 0; background: #1b1b21; border: 1px solid #696a72; padding: 1rem; width: min(16rem,calc(100vw - 2rem)); display: grid; gap: .2rem; }
  .mobileMenu nav a { display: block; padding: .65rem; }
  .journeys { grid-template-columns: .75fr 1.25fr; }
}
@media (max-width: 760px) {
  .reviewBar { flex-direction: column; gap: .1rem; font-size: .75rem; }
  .header { padding-block: 1.2rem; }
  .hero { display: flex; flex-direction: column; }
  .heroCopy { padding-top: 3.25rem; padding-bottom: 2.5rem; }
  .concept h1 { font-size: clamp(3.2rem, 11.8vw, 5.5rem); }
  .heroCopy .eyebrow { margin-bottom: 2rem; }
  .heroPortrait { min-height: 34rem; min-height: min(130vw, 43rem); }
  .heroPortrait img { object-position: 50% 27%; }
  .coaching, .approach { grid-template-columns: 1fr; gap: 2.5rem; }
  .experience, .trauma, .fitness, .faq, .engagement { grid-template-columns: 1fr; gap: 2.5rem; }
  .workGrid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .aboutColumns { grid-template-columns: 1fr; gap: 1.2rem; }
  .bioIntro, .guideLayout, .principleRows article, .practiceGrid { grid-template-columns: 1fr; }
  .guideAnswer { border-left: 0; border-top: 1px solid #41424a; padding: 1.5rem; min-height: 0; }
  .principleRows article { gap: .8rem; }
  .offerMap { grid-template-columns: 1fr; }
  .offerMap a, .offerMap a:first-child { padding: 1.3rem 0; border-right: 0; border-bottom: 1px solid var(--edge); }
  .journeys { display: flex; flex-direction: column; }
  .journeyImage { min-height: 27rem; order: 1; }
  .journeyImage img { object-position: 50% 28%; }
  .journeyCopy { padding: 2.4rem 1.25rem; }
  .journeyCopy h2 { font-size: clamp(2.4rem, 8vw, 3.5rem); }
  .group { grid-template-columns: 1fr; gap: 1.6rem; }
  .group .outline { grid-column: auto; }
  .footerTop { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
}
@media (max-width: 390px) {
  .header { flex-wrap: wrap; gap: 1rem; }
  .headerTools { margin-left: auto; }
  .workGrid { grid-template-columns: 1fr; }
  .tracks, .travel { grid-template-columns: 1fr; gap: 1.5rem; }
  .primary, .outline { gap: 1rem; }
}
@media (max-width: 600px) {
  .workGrid { grid-template-columns: 1fr; }
  .worldLinks { grid-template-columns: 1fr; }
  .header { flex-wrap: wrap; }
  .headerTools { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .concept * { transition: none !important; animation: none !important; }
}

/* Expanded editorial site: restrained identity, deeper destinations, visible next steps. */
.header { gap: 1rem; padding-block: 1.1rem; }
.navigation { gap: 1.5rem; }
.mobileMenu { display: block; position: relative; font-size: .875rem; }
.mobileMenu summary { cursor: pointer; padding: .6rem .7rem; border: 1px solid #696a72; }
.mobileMenu summary { min-height: 2.75rem; display: flex; align-items: center; }
.mobileMenu nav { position: absolute; z-index: 20; top: 3.3rem; right: 0; width: min(21rem, calc(100vw - 2rem)); max-height: 75vh; overflow-y: auto; background: #1b1b21; border: 1px solid #696a72; padding: .8rem; display: grid; }
.mobileMenu nav a { padding: .6rem; }
.mobileMenu nav a { min-height: 2.75rem; }
.hero { min-height: 39rem; }
.heroCopy { padding-top: clamp(2.5rem, 5vw, 5rem); padding-bottom: 3rem; }
.heroCopy .eyebrow { margin-bottom: 2rem; }
.heroBody { margin-top: 1.5rem !important; max-width: 32rem; }
.hero .actions { margin-bottom: 1.3rem; }
.heroDescription { max-width: 44rem; font-size: 1.15rem; color: var(--muted); }
.heroDescription p + p { margin-top: 1rem; }
.heroDescription p { margin: 0; }
.subHero { max-width: 74rem; }
.subHero h1 { margin-bottom: 1.8rem; }
.subHero .actions { margin-bottom: 0; }
.routeCards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 2.5rem; }
.routeCards a { display: flex; flex-direction: column; padding: 2rem; border: 1px solid #4b4c53; background: #131316; }
.routeCards a:hover { background: #1c1c22; border-color: #b2b4bb; }
.routeCards h3 { font-size: clamp(1.65rem,2.4vw,2.5rem); line-height: 1.12; letter-spacing: -.04em; margin: 1.3rem 0; }
.routeCards p { color: var(--muted); margin-bottom: 2rem; }
.cardLink { margin-top: auto; font-size: .875rem; }
.homeAbout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem,6vw,6rem); padding: clamp(3.5rem,6vw,6rem) clamp(1.25rem,6vw,6rem); }
.homeAbout figure { margin: 0; }
.homeAbout .bioCopy { align-self: center; }
.editorialSplit { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2rem,5vw,5rem); margin-top: 2.5rem; }
.prose { color: var(--muted); max-width: 46rem; }
.subSection > .prose { margin-top: 2rem; }
.prose p + p { margin-top: 1.2rem; }
.prose h3 { color: var(--paper); font-size: 1.6rem; line-height: 1.25; margin: 0 0 1rem; }
.prose > .textLink { margin-top: 1.5rem; color: var(--paper); }
.journeyStages { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; margin-top: 2.5rem; }
.journeyStages article { border-top: 1px solid #666772; padding-top: 1.5rem; }
.journeyStages h3 { font-size: 1.8rem; line-height: 1.2; letter-spacing: -.04em; margin: 1.3rem 0; }
.journeyStages p { color: var(--muted); }
.journeyStages p + p { margin-top: 1.1rem; }
.footerNav { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 2rem; padding-block: 2.4rem; margin-top: 2rem; border-block: 1px solid var(--edge); }
.footerNav div { display: flex; flex-direction: column; gap: .65rem; font-size: .875rem; }
.footerNav span { color: var(--muted); margin-bottom: .5rem; }
.footerNav a { width: fit-content; }
.footerNav a:hover { text-decoration: underline; text-underline-offset: .25rem; }
.experience .textLink { margin-top: 1.5rem; }
.contactLayout { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(2rem,5vw,5rem); padding-bottom: 5rem; }
.formPanel, .storeDemo { border: 1px solid #555760; padding: clamp(1.25rem,3vw,3rem); background: #121216; }
.formPanel:focus { outline: none; }
.emailContact > p:not(.eyebrow) { margin: 1rem 0; color: var(--muted); }
.emailContact .emailFallback { overflow-wrap: anywhere; }
.emailFallback a { display: inline-block; padding-block: .5rem; color: var(--paper); text-decoration: underline; text-underline-offset: .25rem; }
.sandboxNotice { border-left: 2px solid #bfc0c8; padding: .3rem 0 .3rem 1.2rem; margin-bottom: 2rem; font-size: .875rem; }
.sandboxNotice p { margin-top: .5rem; color: var(--muted); }
.stepRail { display: flex; flex-wrap: wrap; list-style: none; padding: 0 0 1rem; gap: .7rem 1.5rem; font-size: .875rem; border-bottom: 1px solid var(--edge); margin: 0 0 2rem; color: var(--muted); }
.stepRail [aria-current] { color: white; text-decoration: underline; text-underline-offset: .4rem; }
.concept .formTitle { font-size: clamp(1.8rem,3vw,3rem); margin: 1.5rem 0; }
.formPanel label, .demoFields label, .catalogGrid label, .couponRow label { display: grid; gap: .5rem; margin: 1.2rem 0; font-size: .875rem; color: var(--paper); }
.formGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.concept input, .concept textarea, .concept select { width: 100%; min-width: 0; font: inherit; font-size: 1rem; color: #eeeef0; border: 1px solid #737580; border-radius: 0; padding: .8rem; background: #0a0a0d; }
.concept textarea { resize: vertical; }
.concept button { font-family: inherit; cursor: pointer; }
.concept input:focus-visible, .concept textarea:focus-visible, .concept select:focus-visible, .concept button:focus-visible { outline: 2px solid white; outline-offset: 4px; }
.concept button:disabled { opacity: .4; cursor: not-allowed; }
.formHint { font-size: .875rem; color: var(--muted); margin: 1rem 0 !important; }
.textButton { color: var(--paper); font-size: .875rem; padding: .6rem 0; border: 0; background: transparent; text-align: left; text-decoration: underline; text-underline-offset: .3rem; }
.fieldError { color: #f6b7b7; font-size: .875rem; }
.errorBanner { padding: 1rem; border: 1px solid #bd7d7d; color: #f6c6c6; background: #2d1d22; margin-bottom: 1.2rem !important; }
.formPanel .checkLabel, .checkLabel { display: flex; align-items: flex-start; gap: .8rem; margin: 1.5rem 0; font-size: .875rem; }
.checkLabel input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; flex-shrink: 0; accent-color: #d7d8df; }
.reviewValues { margin: 1.5rem 0; }
.reviewValues div { border-bottom: 1px solid var(--edge); padding: 1rem 0; }
.reviewValues dt { font-size: .875rem; color: var(--muted); }
.reviewValues dd { margin: .3rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.contactAside h2 { font-size: 2rem; margin: 1.5rem 0; }
.contactAside p, .contactAside li { color: var(--muted); }
.contactAside ol { margin: 1.5rem 0; padding-left: 1.3rem; }
.contactAside li + li { margin-top: .9rem; }
.contactAside .textLink { display: flex; margin-top: 1.4rem; }
.demoEntrance { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.demoEntrance p, .demoFields > p { color: var(--muted); }
.demoControls { margin: 2rem 0; padding: 1.2rem; border: 1px dashed #61636d; font-size: .875rem; }
.demoControls summary { cursor: pointer; color: var(--paper); }
.demoControls > p { margin-top: 1rem; color: var(--muted); }
.demoControls button { padding: .65rem .8rem; margin: .6rem .5rem .6rem 0; border: 1px solid #757681; background: #24242b; color: #eeeef0; font-size: .875rem; }
.demoControls ul { padding-left: 1.2rem; color: var(--muted); }
.catalogGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem; margin-top: 2rem; }
.catalogGrid article { padding: 1.7rem; background: #1b1b20; border: 1px solid #555761; }
.catalogGrid h3, .cartPanel h3 { font-size: 1.7rem; line-height: 1.2; margin: 1rem 0; }
.catalogGrid p { color: var(--muted); font-size: .875rem; }
.catalogGrid .samplePrice { font-size: 1.45rem; color: white; margin-top: 1.2rem; }
.samplePrice span { font-size: .875rem; color: var(--muted); }
.cartPanel { border-top: 1px solid var(--edge); margin-top: 2rem; padding-top: 1.5rem; }
.couponRow { display: flex; gap: 1rem; align-items: end; }
.couponRow label { flex: 1; margin-bottom: 0; }
.cartPanel > .primary { margin-top: 1.5rem; }
.orderGrid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; }
.orderLines { list-style: none; padding: 0; }
.orderLines li { padding: 1rem 0; border-bottom: 1px solid var(--edge); display: flex; justify-content: space-between; gap: 1rem; }
.orderLines span { display: block; font-size: .875rem; color: var(--muted); }
.totals div { display: flex; gap: 1rem; justify-content: space-between; margin: .6rem 0; }
.totals dd { margin: 0; }
.totals div:last-child { border-top: 1px solid #737580; padding-top: 1rem; font-weight: 600; }
.orderStatus { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.orderStatus div { border: 1px solid #555761; padding: 1rem; }
.orderStatus span { display: block; color: var(--muted); font-size: .875rem; }
.orderStatus strong { display: block; margin-top: .5rem; font-size: 1.25rem; text-transform: capitalize; }
.guideSearch { padding: 1.5rem; border-bottom: 1px solid #41424a; }
.guideSearch form { display: flex; gap: .8rem; margin-top: .8rem; }
.guideSearch label { font-size: .875rem; }
.merchStudy { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #555761; }
.merchStudy > div { padding: clamp(3rem,7vw,7rem) 1.5rem; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.merchStudy .brandMark { width: 4rem; height: 4rem; color: inherit; }
.merchStudy span { font-family: 'Space Grotesk',sans-serif; letter-spacing: .13em; }
.merchStudy p { font-size: .875rem; }
.merchLight { background: #eeeef0; color: #151518; }
.merchDark { background: #09090b; color: white; }
@media (max-width: 1000px) {
  .routeCards { grid-template-columns: 1fr; }
  .routeCards a { display: grid; grid-template-columns: .7fr 1fr; gap: 1rem 2rem; }
  .routeCards h3 { margin: 0; grid-row: 2; }
  .routeCards p { margin: 0; grid-column: 2; grid-row: 2; }
  .routeCards .cardLink { grid-column: 2; }
  .contactLayout { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .reviewBar { flex-direction: row; font-size: .75rem; padding: .45rem 1rem; }
  .reviewBar > span:last-child { display: none; }
  .header { padding: .9rem 1rem; flex-wrap: nowrap; gap: .5rem; }
  .brand { font-size: .875rem; letter-spacing: .08em; gap: .5rem; }
  .brandMark { width: 2rem; height: 2rem; }
  .headerTools { gap: .4rem; }
  .apothecaryLink { padding: .6rem .1rem; border: 0; font-size: .875rem; gap: .3rem; }
  .apothecaryLink > span { display: none; }
  .mobileMenu summary { font-size: .875rem; padding: .5rem; }
  .heroCopy { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .heroCopy .eyebrow { margin-bottom: 1.6rem; font-size: .875rem; letter-spacing: .025em; }
  .concept h1 { font-size: clamp(2.8rem, 11.5vw, 5rem); }
  .heroPortrait { min-height: min(115vw,36rem); }
  .subHero { padding-top: 3rem; }
  .homeAbout, .editorialSplit, .journeyStages, .demoEntrance, .orderGrid { grid-template-columns: 1fr; }
  .homeAbout figure { max-width: 26rem; }
  .journeyImage { min-height: 30rem; }
  .journeyStages { gap: 2.5rem; }
  .demoEntrance { gap: 1rem; }
  .catalogGrid { grid-template-columns: 1fr; }
  .footerNav { grid-template-columns: 1fr 1fr; }
  .formGrid { grid-template-columns: 1fr; gap: 0; }
  .orderStatus { grid-template-columns: 1fr; }
  .guideSearch form { flex-direction: column; }
  .merchStudy { grid-template-columns: 1fr; }
}
@media (max-width: 500px) {
  .routeCards a { display: flex; padding: 1.5rem; }
  .routeCards h3 { font-size: 1.8rem; }
  .routeCards .cardLink { margin-top: .5rem; }
  .subSection h2 { font-size: clamp(2rem,8vw,3rem); }
  .couponRow { flex-wrap: wrap; }
  .couponRow label { flex-basis: 100%; }
}
@media (max-width: 350px) {
  .header { flex-wrap: wrap; }
  .headerTools { width: 100%; justify-content: space-between; }
  .footerNav { grid-template-columns: 1fr; }
}
/* END LIVE BASE */

/* ============================== V9 LAYER ============================== */
:root{--paper:#eeeef0;--muted:#b2b4bb;--edge:#35363b;--edge2:#555760;--char:#28292f;--char2:#383940;--silver:#c6c7ce;--light:#d7d8df}
.concept :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid #eeeef0;outline-offset:4px}
.arr{font-weight:400;flex:none}
/* Buttons: one height, equal widths inside every pair or trio. */
.primary,.outline{min-height:3.25rem;cursor:pointer}
.outline{color:var(--paper);background:transparent}
.primary.light{background:var(--light);color:#111115;border-color:var(--light)}
.primary.light:hover{background:#fff}
.textLink{min-height:2.75rem}
.actions.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;max-width:34rem;align-items:stretch}
.actions.pair>*{width:100%}
@media(max-width:520px){.actions.pair{grid-template-columns:1fr;max-width:none}}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-width:36rem}
.trio a{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.8rem .6rem;border:1px solid var(--silver);background:var(--char);color:#fff;font-size:.875rem;font-weight:600;transition:background-color 160ms ease}
.trio a:hover{background:var(--char2)}
.trio a:first-child{background:var(--light);color:#111115;border-color:var(--light)}
.trio a:first-child:hover{background:#fff}
.trio svg{width:1.05rem;height:1.05rem;flex:none}
.center .trio,.trio.center{margin-inline:auto}
.contactLine{margin-top:1rem!important;font-size:.875rem;color:var(--muted)}
.contactLine a{color:var(--paper);text-decoration:underline;text-decoration-color:#686a73;text-underline-offset:.3rem}
/* Header: a visible way to talk with Light on larger screens. */
.headerTalk{display:inline-flex;align-items:center;gap:.7rem;min-height:2.75rem;padding:.7rem .95rem;background:var(--light);color:#111115;border:1px solid var(--light);font-size:.875rem;font-weight:600;white-space:nowrap}
.headerTalk:hover{background:#fff}
.apothecaryLink{min-height:2.75rem}
@media(max-width:900px){.headerTalk{display:none}}
.mobileMenu nav .menuTalk{margin:.4rem 0 .6rem;padding:.8rem .6rem;border-bottom:1px solid var(--edge2);display:grid;gap:.6rem}
.mobileMenu nav .menuTalk span{font-size:.8rem;color:var(--muted)}
.mobileMenu nav .menuTalk .trio a{padding:.6rem .3rem;min-height:2.75rem}
/* Contact sheet */
.sheet{padding:0;border:1px solid var(--edge2);background:#121216;color:var(--paper);width:min(calc(100vw - 2rem),35rem);max-width:none;max-height:calc(100dvh - 2rem)}
.sheet::backdrop{background:rgba(5,5,8,.74);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.sheetInner{display:grid;gap:1.1rem;padding:clamp(1.4rem,4vw,2.4rem)}
.sheetHead{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.sheet h2{font-family:'Space Grotesk',sans-serif;font-weight:400;font-size:clamp(2rem,4.2vw,2.7rem);line-height:1.06;letter-spacing:-.05em;text-wrap:balance}
.sheet h2 span{color:var(--muted)}
.sheet p{margin:0;color:var(--muted)}
.sheet .eyebrow{margin-bottom:.9rem}
.sheet [data-topic-label]:empty{display:none}
.sheet [data-topic-label]{padding:.8rem 1rem;border-left:2px solid var(--muted);background:#1c1c22;color:var(--paper);font-size:.875rem}
.closeBtn{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:none;border:1px solid #696a72;background:transparent;color:var(--paper);cursor:pointer}
.closeBtn:hover{background:#26262c}
.closeBtn svg{width:1rem;height:1rem}
.sheet h2:focus{outline:none}
.sheet[open]{animation:sheetIn .22s ease}
@keyframes sheetIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:600px){.sheet{width:100vw;margin:auto 0 0;border-width:1px 0 0;max-height:92dvh}.sheetInner{padding:1.4rem 1.25rem calc(1.4rem + env(safe-area-inset-bottom))}}
/* Pinned contact bar on phones */
.pinBar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(10,10,12,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--edge)}
.pinBar a{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.9rem;border:1px solid var(--silver);background:var(--char);color:#fff;font-size:.85rem;font-weight:600}
.pinBar a:first-child{background:var(--light);color:#111115;border-color:var(--light)}
.pinBar svg{width:1rem;height:1rem}
@media(max-width:760px){.pinBar{display:grid}.hasPin .footer{padding-bottom:6rem}}
/* Home hero: on phones, portrait and headline share the first screen. */
@media(max-width:760px){
  .hero{display:grid;grid-template-columns:1fr}
  .hero .heroCopy{display:contents}
  .hero .heroPortrait{grid-row:1;grid-column:1;min-height:min(132vw,41rem)}
  .hero .heroPortrait::after{inset:28% 0 0;background:linear-gradient(transparent,rgba(6,6,10,.94))}
  .hero .heroPortrait figcaption{display:none}
  .hero .heroTitle{grid-row:1;grid-column:1;align-self:end;position:relative;z-index:2;padding:0 1.25rem 1.5rem}
  .hero .heroTitle .eyebrow{margin-bottom:1rem}
  .hero .heroBody{margin:1.6rem 1.25rem 0!important}
  .hero .actions{margin:1.6rem 1.25rem 1.2rem}
  .hero .heroNote{margin:0 1.25rem 2.4rem}
}
/* Cards: equal heights, buttons on one baseline. */
.routeCards.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.practiceGrid article{display:flex;flex-direction:column}
.practiceGrid article>.outline{margin-top:auto;min-width:min(100%,18.5rem);align-self:flex-start}
.practiceGrid .formatTerms{margin-bottom:1.8rem}
@media(max-width:1000px){.routeCards.four{grid-template-columns:1fr}}
/* Subpage hero with portrait */
.subHero.withImage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);align-items:end;max-width:none}
.subHeroImage{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;background:#111018;border:1px solid var(--edge)}
.subHeroImage img{width:100%;height:100%;object-fit:cover}
.subHeroImage figcaption{position:absolute;left:1.2rem;right:1.2rem;bottom:1rem;z-index:1;font-size:.8125rem;color:#d4d5db}
.subHeroImage::after{content:'';position:absolute;inset:62% 0 0;background:linear-gradient(transparent,rgba(5,5,10,.8))}
@media(max-width:860px){.subHero.withImage{grid-template-columns:1fr}.subHeroImage{aspect-ratio:4/3;order:-1;margin-bottom:.5rem}}
/* Testimonials (rendered only when Light supplies them) */
.voices{padding:clamp(3.5rem,6vw,6rem) clamp(1.25rem,6vw,6rem);border-top:1px solid var(--edge)}
.voiceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem;margin-top:2.5rem}
.voice{margin:0;padding:1.8rem;border:1px solid #484951;background:#131317;display:flex;flex-direction:column;gap:1.6rem}
.voice blockquote{margin:0;font-family:'Space Grotesk',sans-serif;font-size:1.28rem;line-height:1.45;letter-spacing:-.02em}
.voice figcaption{margin-top:auto;color:var(--muted);font-size:.875rem}
/* Touch targets and small refinements */
.footerNav a{display:inline-flex;align-items:center;min-height:2.75rem}
.footerNav div{gap:0}
.offerMap a{min-height:5.5rem}
.faqList summary{min-height:3.5rem}
.imageNote{font-size:.8125rem;color:#979aa5;margin-top:.8rem!important}
.concept ul.included,.practiceGrid ul,.prose ul{list-style:disc}
@media(max-width:760px){.subpageMain{padding:0 1.25rem}.footerNav{gap:1rem 2rem}}
img.op-top{object-position:50% 16%}img.op-hi{object-position:50% 26%}img.op-mid{object-position:50% 40%}img.op-low{object-position:50% 58%}img.op-left{object-position:36% 30%}img.op-right{object-position:64% 30%}
.footInline{text-decoration:underline;text-decoration-color:#686a73;text-underline-offset:.25rem}
.begin .trio{margin:2rem auto 0}
.begin .contactLine{margin-inline:auto!important}
.brand{min-height:2.75rem}
img.op-center{object-position:53% 45%}
/* ============================== V9 STORE ============================== */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.artFrame{background:#08080a}
.artFrame img{object-fit:cover}
.subHeroImage.artFrame{aspect-ratio:1/1}
.subHeroImage.artFrame::after{display:none}
.storeNote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;border-block:1px solid #38383e;padding:1rem 0;color:#bdbdc5;font-size:.8125rem;letter-spacing:.03em}
.storeNote span:first-child{color:var(--paper)}
.promises{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--edge);margin:2.5rem 0 1rem}
.promises>div{padding:1.4rem;border-right:1px solid var(--edge)}
.promises>div:last-child{border-right:0}
.promises strong{display:block;font-weight:500;margin-bottom:.45rem}
.promises span{font-size:.875rem;color:var(--muted);line-height:1.6}
@media(max-width:900px){.promises{grid-template-columns:repeat(2,minmax(0,1fr))}.promises>div:nth-child(2){border-right:0}.promises>div:nth-child(-n+2){border-bottom:1px solid var(--edge)}}
@media(max-width:520px){.promises{grid-template-columns:1fr}.promises>div{border-right:0;border-bottom:1px solid var(--edge)}.promises>div:last-child{border-bottom:0}}
.collectionHead{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:end;margin-bottom:2rem}
.collectionHead>p{color:var(--muted);max-width:30rem}
.collectionHead .eyebrow{margin-bottom:1.5rem}
@media(max-width:760px){.collectionHead{grid-template-columns:1fr;gap:1rem}}
.shopBar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;border-top:1px solid var(--edge)}
.filters{display:flex;flex-wrap:wrap;gap:.4rem}
.filters button{min-height:2.75rem;padding:.6rem 1rem;border:1px solid #44444c;background:transparent;color:#c9c9d1;font-size:.875rem;cursor:pointer}
.filters button:hover{border-color:#8b8c95;color:#fff}
.filters button[aria-pressed=true]{background:#25252b;color:#fff;border-color:#efefed}
.shopTools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.concept .storeSearch input{min-height:2.75rem;width:min(17rem,100%);padding:.6rem .9rem;font-size:.9rem}
.sortSelect{position:relative;display:inline-block}
.concept .sortSelect select{appearance:none;-webkit-appearance:none;min-height:2.75rem;width:auto;padding:.6rem 2.4rem .6rem .9rem;font-size:.9rem;cursor:pointer}
.sortSelect::after{content:'';position:absolute;right:1rem;top:50%;width:.45rem;height:.45rem;border-right:1.5px solid #eeeef0;border-bottom:1.5px solid #eeeef0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
@media(max-width:600px){.shopTools{width:100%}.storeSearch{flex:1}.concept .storeSearch input{width:100%}}
.resultCount{font-size:.8125rem;color:#a9a9b3;margin:.2rem 0 1.4rem!important}
.productGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch}
@media(max-width:1100px){.productGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.productGrid{gap:.6rem}.productBody{padding:.85rem .85rem .9rem}.productBody h3{font-size:1.12rem}.productBody .line{font-size:.78rem}.priceRow .note{display:none}.addBtn{padding:.6rem .75rem;font-size:.8rem;min-height:2.9rem}.productArt .tag{font-size:.56rem;top:.5rem;left:.5rem}}
@media(max-width:340px){.productGrid{grid-template-columns:1fr}}
.productCard{display:flex;flex-direction:column;border:1px solid #33333a;background:#0d0d10;transition:border-color 160ms ease}
.productCard:hover{border-color:#6b6c75}
.productArt{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#08080a;border-bottom:1px solid #292930}
.productArt img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.productCard:hover .productArt img{transform:scale(1.035)}
.productArt .tag{position:absolute;top:.7rem;left:.7rem;padding:.28rem .55rem;border:1px solid #4a4a52;background:rgba(10,10,12,.72);color:#d0d0d6;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase}
.productBody{display:flex;flex-direction:column;gap:.45rem;flex:1;padding:1.15rem 1.15rem 1.2rem}
.productBody .cat{font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;color:#a9a9b3}
.productBody h3{font-family:'Space Grotesk',sans-serif;font-weight:400;font-size:1.4rem;line-height:1.2;letter-spacing:-.035em}
.productBody h3 a:hover{text-decoration:underline;text-underline-offset:.3rem}
.productBody .line{font-size:.85rem;color:#b9b9c3;line-height:1.55}
.priceRow{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;margin-top:auto;padding-top:.9rem}
.price{font-size:1.1rem;font-variant-numeric:tabular-nums}
.price.tbc{font-size:.875rem;color:#d6d6dc}
.priceRow .note{font-size:.72rem;color:#9a9aa5;text-align:right}
.addBtn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:3rem;margin-top:.8rem;padding:.7rem 1rem;border:1px solid var(--silver);background:var(--char);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color 160ms ease}
.addBtn:hover{background:var(--char2)}
.addBtn .arr{font-size:1.2rem;line-height:1}
.storeEmpty{display:grid;gap:1rem;justify-items:start;padding:2rem 0;color:var(--muted)}
.lineFeature{margin:clamp(2rem,4vw,4rem) 0 0}
.lineFeature .journeyImage{min-height:36rem}
.lineFeature .journeyImage::after{inset:78% 0 0}
@media(max-width:760px){.lineFeature .journeyImage{min-height:22rem}}
.bagButton{position:relative;display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid #696a72;background:transparent;color:var(--paper);cursor:pointer}
.bagButton:hover{background:#26262c}
.bagButton svg{width:1.15rem;height:1.15rem}
.bagCount{position:absolute;top:-.5rem;right:-.5rem;min-width:1.35rem;height:1.35rem;padding:0 .3rem;display:grid;place-items:center;background:var(--light);color:#111115;font-size:.7rem;font-weight:600;line-height:1}
.bagCount[data-zero]{display:none}
.bagDrawer{margin:0 0 0 auto;padding:0;width:min(100vw,29rem);max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--edge2);background:#0d0d10;color:var(--paper)}
.bagDrawer[open]{display:flex;flex-direction:column;animation:bagIn .26s ease}
.bagDrawer::backdrop{background:rgba(5,5,8,.7)}
@keyframes bagIn{from{transform:translateX(1.5rem);opacity:0}to{transform:none;opacity:1}}
.bagHead{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.3rem 1.4rem;border-bottom:1px solid var(--edge)}
.bagHead .eyebrow{margin-bottom:.5rem}
.bagHead h2{font-family:'Space Grotesk',sans-serif;font-weight:400;font-size:2rem;letter-spacing:-.05em;line-height:1}
.bagHead h2:focus{outline:none}
.bagLines{flex:1;overflow:auto;list-style:none;margin:0;padding:.3rem 1.4rem}
.bagLine{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1rem;padding:1.1rem 0;border-bottom:1px solid #26262c}
.bagLine img{width:4.5rem;height:4.5rem;object-fit:cover;border:1px solid #33333a}
.bagLine .top{display:flex;justify-content:space-between;gap:.8rem}
.bagLine .top a{font-size:.98rem}
.bagLine .each{font-size:.75rem;color:#b9b9c3;margin-top:.35rem!important}
.bagLine .bottom{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.8rem}
.bagEmpty{padding:3rem 0;display:grid;gap:.5rem}
.bagEmpty span{color:var(--muted);font-size:.875rem}
.qty{display:inline-grid;grid-template-columns:2.75rem 2.2rem 2.75rem;align-items:center;height:2.75rem;border:1px solid #44444c}
.qty button{height:100%;border:0;background:transparent;color:var(--paper);font-size:1.15rem;cursor:pointer}
.qty button:disabled{opacity:.35;cursor:not-allowed}
.qty output{text-align:center;font-variant-numeric:tabular-nums}
.bagFoot{display:grid;gap:.8rem;padding:1.2rem 1.4rem calc(1.2rem + env(safe-area-inset-bottom));border-top:1px solid var(--edge);background:#121216}
.bagTotal{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem}
.bagTotal strong{font-size:1.3rem;font-weight:400}
.checkoutClosed{display:flex;align-items:center;justify-content:center;min-height:3rem;border:1px solid #44444d;color:#bdbdc7;font-size:.85rem;text-align:center;padding:.5rem}
.bagFoot .outline{width:100%}
.toast{position:fixed;left:50%;bottom:1.5rem;z-index:60;transform:translate(-50%,1rem);opacity:0;pointer-events:none;padding:.8rem 1.1rem;background:var(--light);color:#111115;font-size:.875rem;font-weight:600;transition:opacity .25s,transform .25s}
.toast.show{opacity:1;transform:translate(-50%,0)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem;padding-top:1.4rem;font-size:.875rem;color:var(--muted)}
.crumbs a{display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:underline;text-decoration-color:#686a73;text-underline-offset:.3rem}
.pdp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start;padding:1rem 0 clamp(3rem,5vw,5rem)}
.mainArt{margin:0;aspect-ratio:1/1;overflow:hidden;border:1px solid #33333a;background:#08080a}
.mainArt img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.6rem}
.thumbs button{padding:0;aspect-ratio:1/1;border:1px solid #33333a;background:#08080a;cursor:pointer;overflow:hidden}
.thumbs button img{width:100%;height:100%;object-fit:cover}
.thumbs button[aria-current=true]{border-color:#eeeef0;box-shadow:inset 0 0 0 1px #eeeef0}
.buyBox{position:sticky;top:1.5rem;display:grid;gap:1.1rem}
.concept .buyBox h1{font-size:clamp(2.6rem,4.6vw,4rem);line-height:1;letter-spacing:-.055em}
.bigPrice{font-size:1.6rem;font-variant-numeric:tabular-nums}
.bigPrice.tbc{font-size:1.1rem;color:#d6d6dc}
.buyBox .desc{color:#c1c1ca;line-height:1.75}
.factNote{font-size:.8rem;color:#a8a8b2;letter-spacing:.02em}
.buyRow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:stretch}
.buyRow .qty{height:auto;min-height:3rem}
.buyRow .addBtn{margin:0}
.buyBox>.outline{width:100%}
@media(max-width:860px){.pdp{grid-template-columns:1fr}.buyBox{position:static}}
.gate{display:grid;place-items:center;padding:clamp(3rem,8vw,7rem) 0}
.gateCard{width:min(100%,32rem);display:grid;gap:1rem;padding:clamp(1.5rem,4vw,2.8rem);border:1px solid var(--edge2);background:#121216}
.gateCard .brandMark{width:2.75rem;height:2.75rem}
.concept .gateCard h1{font-size:clamp(2.6rem,6vw,3.6rem);line-height:1;letter-spacing:-.055em;margin:.3rem 0}
.gateCard>p{color:var(--muted)}
.gateCard form{display:grid;gap:.2rem}
.gateCard label{display:grid;gap:.5rem;margin:.6rem 0;font-size:.875rem}
.gateCard .primary{margin-top:.6rem;width:100%}
.divider{display:flex;align-items:center;gap:1rem;margin-top:.6rem!important;color:var(--muted);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--edge)}
.gateCard .trio{max-width:none}
/* Pairs own their spacing: live rules that add margin to a single button (e.g. .journeyCopy .primary) must not unbalance a pair. */
.actions.pair>*{margin:0}
.journeyCopy .actions.pair{margin-top:1.7rem}
@media(max-width:520px){.storeHeader .apothecaryLink{display:none}}
@media(max-width:600px){.shopTools{display:grid;grid-template-columns:minmax(0,1fr) auto}}
.productArt .tag{top:auto;bottom:.7rem}@media(max-width:760px){.productArt .tag{top:auto;bottom:.5rem}}
/* v10: written consultation placeholders */
.researchLabel{margin-top:1rem!important;padding:.75rem 1rem;border-left:2px solid var(--muted);background:#1c1c22;color:var(--paper);font-size:.875rem;letter-spacing:.01em}
.consultIntro{display:grid;gap:.2rem;max-width:34rem}
.consultIntro>p:first-child{color:var(--muted)}
.placeholderCard .price.tbc{font-size:.82rem;color:#b9b9c3}
.placeholderCard .addBtn{text-decoration:none}

/* ======================= V11 · PRECISION INSTRUMENT ======================= */
/* The live identity, finished like an instrument: the same ground, paper and silver; 3–4 tonal surfaces; hairline
   edges at 8–12% white; one accent — the blue-violet studio light sampled from Light's own portraits — used only as
   light (glows, focus, hover), never as a fill. No themes, no switcher. */
:root{
  --ground:#0a0a0c;--paper:#eeeef0;--muted:#b2b4bb;
  --silver-1:#eeeef0;--silver-2:#d7d8df;--silver-3:#c6c7ce;--silver-4:#b2b4bb;--silver-5:#9d9fa9;--silver-6:#5c5e68;
  --s0:#0a0a0c;--s1:#0e0e11;--s2:#131316;--s3:#18181c;--s4:#1f1f24;
  --hair:rgba(255,255,255,.08);--hair-2:rgba(255,255,255,.10);--hair-3:rgba(255,255,255,.12);--hair-hi:rgba(255,255,255,.26);
  --lume:#7a8cff;--lume-rgb:122,140,255;
  --u1:.5rem;--u2:1rem;--u3:1.5rem;--u4:2rem;--u5:2.5rem;--u6:3rem;--u8:4rem;--u10:5rem;--u12:6rem;
  --gutter:clamp(1.25rem,6vw,6rem);--section:clamp(4rem,3rem + 4vw,7rem);--radius:2px;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--display:'Space Grotesk',sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --fs-h1:clamp(2.75rem,1.6rem + 5vw,6.2rem);--fs-h2:clamp(2.25rem,1.4rem + 2.6vw,4.1rem);--fs-h3:clamp(1.35rem,1.15rem + .8vw,1.9rem);
  --fs-lead:clamp(1.0625rem,1rem + .3vw,1.25rem);--fs-label:.75rem;--fs-micro:.6875rem;
}
@media(max-width:760px){:root{--gutter:1.25rem}}
.concept{--edge:var(--hair-2);--edge2:var(--hair-3);background:var(--s0)}
html{scrollbar-color:#34353c var(--s0)}
.concept ::selection{background:rgba(var(--lume-rgb),.34);color:#fff}

/* ---- Grid: one gutter for header, content and footer; section rhythm on the 8-point scale ---- */
.header,.footer,.subpageMain,.offerMap{padding-inline:var(--gutter)}
.hero .heroCopy{padding-inline:var(--gutter)}
.coaching,.workSection,.experience,.voices,.homeAbout,.faq,.approach,.group,.trackSection,.widerWorld,.about,.trauma,.fitness{padding-inline:var(--gutter)}
.coaching,.workSection,.experience,.voices,.homeAbout,.faq{padding-block:var(--section)}
.subSection,.subCta{padding-block:var(--section)}
.journeys:not(.lineFeature){margin-inline:var(--gutter)}
.concept section,.concept [id]{scroll-margin-top:6.5rem}

/* ---- Header: sticky, glass, hairline; stays put during page transitions ---- */
.header{position:sticky;top:0;z-index:30;background:rgba(10,10,12,.74);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid var(--hair-2)}
.apothecaryLink,.bagButton,.mobileMenu summary{border-color:var(--hair-hi)}
.mobileMenu nav{background:var(--s3);border-color:var(--hair-3);border-radius:var(--radius);box-shadow:0 30px 80px -30px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.05)}
.mobileMenu nav a{border-radius:var(--radius)}
.mobileMenu nav a:hover{background:var(--s4)}

/* ---- Typography: Space Grotesk display, Inter body, JetBrains Mono for small metadata ---- */
.concept :is(.subSection,.editorialHeading,.sectionIntro,.approachHeading,.collectionHead,.bioCopy,.journeyCopy,.engagementIntro) h2,.concept .coaching h2{font-size:var(--fs-h2);letter-spacing:-.055em;line-height:1.06}
.concept .subHero h1{font-size:var(--fs-h1)}
.concept .begin h2{font-size:clamp(2.75rem,1.6rem + 5vw,6rem)}
.concept :is(.workGrid,.journeyStages,.practiceGrid,.destinationGrid,.worldLinks) h3{letter-spacing:-.035em}
.concept .heroDescription,.concept .subHero>p:not(.eyebrow){font-size:var(--fs-lead)}
.concept .eyebrow{font-family:var(--mono);font-size:var(--fs-label);font-weight:400;letter-spacing:.03em;line-height:1.5;color:#c5c6cd}
.concept :is(.methodList article>span,.productBody .cat,.productArt .tag,.smallLabel,.resultCount,.factNote,.crumbs,.pageContents>span,.footerNav span,.imageLabel,.subHeroImage figcaption,.heroPortrait figcaption,.formatTerms dt,.imageNote,.chipCount,.chipLabel,.bagCount,.lineStatus,.bagStatus,.specs,.divider,.gateKicker,.lostCode,.priceRow .note,.stepRail,.checkoutClosed){font-family:var(--mono)}
.concept .methodList article>span{flex:none;white-space:nowrap;font-size:var(--fs-label);letter-spacing:.06em;color:var(--silver-5);padding-top:.7rem}
.concept .smallLabel{font-size:var(--fs-label);font-weight:400;letter-spacing:.03em;color:#c5c6cd}
.concept .formatTerms dt{font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;padding-top:.15rem}
.concept :is(.subHeroImage figcaption,.heroPortrait figcaption,.imageLabel,.imageNote){font-size:var(--fs-micro);letter-spacing:.04em}
.concept .pageContents>span,.concept .footerNav span{font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase}
.concept :is(.price,.bigPrice,.bagTotal strong,.sbPrice,.qty output,.bagCount){font-variant-numeric:tabular-nums}

/* ---- Surfaces and hairlines ---- */
.concept .journeys{background:var(--s2);border-color:var(--hair-3);border-radius:var(--radius);overflow:clip;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 60px 140px -80px rgba(var(--lume-rgb),.45)}
.concept :is(.routeCards a,.worldLinks a,.destinationGrid a,.voice){background:var(--s1);border-color:var(--hair-3);border-radius:var(--radius)}
.concept :is(.guide,.formPanel,.storeDemo,.engagement){background:var(--s2);border-color:var(--hair-3);border-radius:var(--radius)}
.concept .guideChoices button{border-color:var(--hair-3);border-radius:var(--radius)}
.concept .guideChoices button[aria-pressed="true"]{background:var(--s4);border-color:rgba(255,255,255,.55)}
.concept .mantra{background:linear-gradient(120deg,var(--s3),var(--s1));border-color:var(--hair-3);border-radius:var(--radius)}
.concept :is(.inquiryTopic,.sheet [data-topic-label]){background:var(--s3);border-radius:0 var(--radius) var(--radius) 0}
.concept .trackSection{background:var(--s2)}
.concept .trauma{background:var(--s1)}
.concept .promises{border-color:var(--hair-2);border-radius:var(--radius);background:var(--s1);counter-reset:promise}
.concept .promises>div{border-color:var(--hair-2);counter-increment:promise}
.concept .promises>div::before{content:counter(promise,decimal-leading-zero);display:block;margin-bottom:var(--u2);font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;color:var(--silver-5)}
.concept .storeNote{border-color:var(--hair-2);align-items:center}
.concept .storeNote span:first-child{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.03em}
.concept .storeNote span:first-child::before,.statusDot{content:'';display:inline-block;flex:none;width:.45rem;height:.45rem;border-radius:50%;background:#a9abb5;box-shadow:0 0 0 3px rgba(255,255,255,.07)}

/* ---- Buttons: paper converts, charcoal leads, ghost follows. One radius. Symmetry unchanged. ---- */
.concept :is(.primary,.outline,.addBtn,.trio a,.headerTalk,.apothecaryLink,.bagButton,.closeBtn,.mobileMenu summary,.trackLinks a,.qty,.toast,.saveBtn,.thumbs button){border-radius:var(--radius)}
.pinBar a{border-radius:var(--radius)}
.concept :is(input,textarea,select){border-radius:var(--radius);border-color:rgba(255,255,255,.2);background:var(--s1)}
.concept :is(input,textarea,select):hover{border-color:rgba(255,255,255,.32)}
.concept :is(input,textarea,select):focus-visible{border-color:var(--lume)}
.concept .primary,.concept .addBtn{background:linear-gradient(180deg,#27282e,#1e1f24);border-color:var(--silver-3);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.concept .primary:hover,.concept .addBtn:hover{background:#2d2e34}
.concept .primary.light{background:var(--silver-2);color:#111115;border-color:var(--silver-2);box-shadow:none}
.concept .outline{border-color:var(--hair-hi)}
.concept .outline:hover{border-color:var(--silver-3);background:var(--s2)}
.concept .trio a:not(:first-child){border-color:var(--hair-hi);background:var(--s2)}
.concept .trio a:not(:first-child):hover{background:var(--s4)}
/* Hover light: a soft ring of studio light fades in (opacity only). */
.concept :is(.primary,.outline,.addBtn,.headerTalk,.apothecaryLink,.trio a,.routeCards a,.worldLinks a,.destinationGrid a){position:relative;isolation:isolate}
.concept :is(.primary,.outline,.addBtn,.headerTalk,.apothecaryLink,.trio a,.routeCards a,.worldLinks a,.destinationGrid a)::after{content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 1px rgba(var(--lume-rgb),.5),0 12px 36px -14px rgba(var(--lume-rgb),.6);opacity:0;transition:opacity .22s var(--ease)}
@media(hover:hover){.concept :is(.primary,.outline,.addBtn,.headerTalk,.apothecaryLink,.trio a,.routeCards a,.worldLinks a,.destinationGrid a):hover::after{opacity:1}}
.concept :is(.trio a,.addBtn,.worldLinks a,.destinationGrid a,.trackLinks a,.apothecaryLink,.routeCards a){transition:none}
.concept .arr{display:inline-block;transition:transform .22s var(--ease)}
@media(hover:hover){.concept :is(.primary,.outline,.addBtn,.textLink,.headerTalk,.apothecaryLink,.cardLink):hover .arr,.concept .routeCards a:hover .cardLink{transform:translateX(3px)}}
.concept .faqList summary span,.concept .investment summary>span{display:inline-block;transition:transform .25s var(--ease)}
/* Focus: a visible ring of the same studio light, on every control. */
.concept :is(a,button,summary,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--lume);outline-offset:3px;box-shadow:0 0 0 6px rgba(var(--lume-rgb),.16)}
.concept [tabindex="-1"]:focus{outline:none}
.concept :is(input,select,textarea):focus-visible{outline-offset:2px}
.pinBar a:focus-visible,.stickyBuy :focus-visible{outline:2px solid var(--lume);outline-offset:3px}

/* ---- Portraits: one grade, one vignette, studio light behind ---- */
.concept :is(.heroPortrait,.subHeroImage:not(.artFrame),.journeyImage:not(.artFrame),.bioPortrait) img{filter:saturate(.95) contrast(1.03)}
.concept .bioPortrait{position:relative;aspect-ratio:1/1;border:1px solid var(--hair-2);border-radius:var(--radius)}
.concept .bioPortrait img{width:100%;height:100%;object-fit:cover}
.concept :is(.heroPortrait,.subHeroImage:not(.artFrame),.journeyImage:not(.artFrame),.bioPortrait)::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(125% 95% at 50% 40%,transparent 60%,rgba(4,4,9,.36) 100%)}
.concept :is(.heroPortrait figcaption,.subHeroImage figcaption,.imageLabel){z-index:2}
.concept :is(.subHeroImage,.bioPortrait){border-color:var(--hair-2);border-radius:var(--radius);box-shadow:0 40px 110px -45px rgba(var(--lume-rgb),.42)}
.concept .heroPortrait{border-left:1px solid rgba(var(--lume-rgb),.28)}
@media(max-width:760px){.concept .heroPortrait{border-left:0}}

/* ---- Scroll reveal: each section headline rises once as it enters (FIX-01: progressive enhancement) ----
   Headlines are visible by default. Only site.js hides one (.rv-wait), and only after a visitor has interacted and while
   the headline is wholly below the fold; it plays the rise (.rv-in) as it enters the view. Screen only, with motion allowed. */
@keyframes v11-rise{from{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}
@media screen and (prefers-reduced-motion:no-preference){
  .concept main h2.rv-wait{opacity:0;transform:translateY(.75rem)}
  .concept main h2.rv-in{animation:v11-rise .34s var(--ease) backwards}
}

/* ---- Page transitions: cross-document View Transitions; the product art morphs from card to product page ---- */
@supports (view-transition-name:none){
  @media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
  .header{view-transition-name:site-header}
  .vt-hero{view-transition-name:product-art}
  ::view-transition-group(*){animation-duration:.38s;animation-timing-function:var(--ease)}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.24s}
}

/* ---- Dialogs: the bag glides in over a softly blurred room; the contact sheet rises ---- */
.bagDrawer{background:var(--s2);border-left:1px solid var(--hair-3);box-shadow:-40px 0 100px -40px rgba(0,0,0,.85)}
.bagDrawer::backdrop,.sheet::backdrop{background:rgba(6,6,10,.52);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sheet{background:var(--s2);border-color:var(--hair-3);border-radius:var(--radius);box-shadow:0 40px 120px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.02)}
@media(max-width:600px){.sheet{border-radius:var(--radius) var(--radius) 0 0}}
.bagDrawer[open]{animation:none}
@media(prefers-reduced-motion:no-preference){
  @supports (transition-behavior:allow-discrete){
    .bagDrawer{transform:translateX(100%);transition:transform .36s var(--ease),overlay .36s allow-discrete,display .36s allow-discrete}
    .bagDrawer[open]{transform:none}
    @starting-style{.bagDrawer[open]{transform:translateX(100%)}}
    :is(.bagDrawer,.sheet)::backdrop{opacity:0;transition:opacity .36s var(--ease),overlay .36s allow-discrete,display .36s allow-discrete}
    :is(.bagDrawer,.sheet)[open]::backdrop{opacity:1}
    @starting-style{:is(.bagDrawer,.sheet)[open]::backdrop{opacity:0}}
  }
}
.bagHead{border-color:var(--hair-2)}
.bagStatus{display:flex;align-items:center;gap:.55rem;margin-top:.8rem!important;font-size:var(--fs-micro);letter-spacing:.06em;color:#b9bac3}
.bagScroll{flex:1;overflow:auto;overscroll-behavior:contain}
.bagLines{flex:none;overflow:visible}
.bagLine{border-color:var(--hair)}
.bagLine img,.savedLine img{border-color:var(--hair-3);border-radius:var(--radius);background:#08080a}
.lineStatus{margin-top:.35rem!important;font-size:var(--fs-micro);letter-spacing:.02em;color:#a9abb5}
.lineActions{display:flex;flex-wrap:wrap;gap:0 1rem}
.lineActions .textButton{min-height:2.75rem}
.lineActions .textButton:disabled{text-decoration:none;opacity:.6}
.savedBlock{padding:1.2rem 1.4rem 1.4rem;border-top:1px solid var(--hair-2)}
.savedLines{list-style:none;margin:.6rem 0 0;padding:0}
.savedLine{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.9rem;padding:.8rem 0;border-bottom:1px solid var(--hair)}
.savedLine img{width:3.5rem;height:3.5rem;object-fit:cover;border:1px solid}
.savedLine .top{display:flex;justify-content:space-between;gap:.8rem;font-size:.95rem}
.bagFoot{background:var(--s3);border-color:var(--hair-2)}
.concept .checkoutClosed{gap:.6rem;font-size:var(--fs-label);letter-spacing:.02em;border:1px dashed rgba(255,255,255,.2);border-radius:var(--radius);background:transparent;color:#bdbdc7}
.bagEmpty,.storeEmpty{justify-items:start}
.emptyMark{display:block;width:3rem;height:3rem;margin-bottom:.5rem;border-radius:50%;border:1px solid var(--hair-hi);box-shadow:0 0 36px -8px rgba(var(--lume-rgb),.5)}
.concept .storeEmpty{padding:3rem 2rem;border:1px dashed var(--hair-3);border-radius:var(--radius);background:var(--s1)}
.toast{border-radius:var(--radius);box-shadow:0 20px 50px -20px rgba(0,0,0,.8),0 0 0 1px rgba(var(--lume-rgb),.35)}

/* ---- Apothecary: chips, instant search, matched frames ---- */
.concept .shopBar{border-color:var(--hair-2);padding-block:1.25rem}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.concept .chips button{display:inline-flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.55rem .95rem;border:1px solid var(--hair-3);border-radius:var(--radius);background:transparent;color:#c9c9d1;font-size:.8125rem;line-height:1.2;cursor:pointer}
.concept .chips button:hover{border-color:rgba(255,255,255,.3);color:#fff}
.concept .chips button[aria-pressed=true]{background:var(--s3);color:#fff;border-color:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(var(--lume-rgb),.35),0 8px 26px -14px rgba(var(--lume-rgb),.7)}
.chipCount{font-size:var(--fs-micro);color:var(--silver-5);min-width:1ch}
.chips button[aria-pressed=true] .chipCount{color:#d7d8df}
.chipLabel{font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--silver-5);margin-right:.25rem}
.shopMeta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding:0 0 1.5rem}
.concept .shopMeta .resultCount{margin:0!important;font-size:var(--fs-label);letter-spacing:.03em}
.concept .storeSearch input{width:min(20rem,100%);padding-left:2.5rem;background:var(--s1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a9abb5' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='m19.5 19.5-4.6-4.6'/%3E%3C/svg%3E") no-repeat .85rem 50%/1rem 1rem}
@media(max-width:600px){.concept .storeSearch input{width:100%}.shopMeta{flex-direction:column;align-items:flex-start}}
.concept .productGrid{gap:var(--u2)}
.concept .productCard{position:relative;isolation:isolate;background:var(--s1);border:1px solid var(--hair-2);border-radius:var(--radius);transition:transform .28s var(--ease)}
.concept .productCard::after{content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 1px rgba(var(--lume-rgb),.5),0 24px 60px -30px rgba(var(--lume-rgb),.65);opacity:0;transition:opacity .28s var(--ease)}
@media(hover:hover){.concept .productCard:hover{transform:translateY(-2px)}.concept .productCard:hover::after{opacity:1}}
.concept .productCard:focus-within::after{opacity:1}
.concept .productArt{border-color:var(--hair-2);border-radius:var(--radius) var(--radius) 0 0}
.concept .productArt .tag{display:inline-flex;align-items:center;gap:.45rem;border:0;border-radius:var(--radius);background:rgba(8,8,10,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.625rem;letter-spacing:.12em;padding:.32rem .55rem .32rem .5rem}
.concept .productArt .tag::before{content:'';width:.375rem;height:.375rem;border-radius:50%;background:#9d9fa9}
.concept .productBody .cat{font-size:var(--fs-micro);letter-spacing:.14em}
.concept .priceRow .note{font-size:var(--fs-micro);letter-spacing:.02em}
.saveBtn{position:absolute;z-index:2;top:.6rem;right:.6rem;display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--hair-3);background:rgba(8,8,10,.66);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d7d8df;cursor:pointer}
.saveBtn svg,.saveFull svg{width:1.05rem;height:1.05rem;flex:none}
.saveBtn:hover{border-color:rgba(255,255,255,.32);color:#fff}
.saveBtn[aria-pressed=true]{color:#fff;border-color:rgba(var(--lume-rgb),.6);box-shadow:0 0 20px -4px rgba(var(--lume-rgb),.75)}
:is(.saveBtn,.saveFull)[aria-pressed=true] svg path{fill:currentColor}
.concept .saveFull{justify-content:center;gap:.7rem}
/* Loading: a quiet surface until the art arrives, then a short fade (script-rendered cards only). */
.productArt.js-frame::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,var(--s3),var(--s1));opacity:0;transition:opacity .3s var(--ease)}
.productArt.js-frame:not(.is-loaded)::before,.productArt.is-error::before{opacity:1}
.productArt.js-frame img{transition:opacity .3s var(--ease),transform .6s ease}
.productArt.js-frame:not(.is-loaded) img{opacity:0}
@media(prefers-reduced-motion:no-preference){.productArt.js-frame:not(.is-loaded)::before{animation:v11-pulse .9s ease-in-out both}}
@keyframes v11-pulse{from{opacity:.5}to{opacity:1}}
.concept .productArt .tag{z-index:2}
/* Written consultations: same frame, same rhythm (the listing text and art are unchanged). */
.concept .researchLabel{border-left:2px solid rgba(var(--lume-rgb),.7);border-radius:0 var(--radius) var(--radius) 0;background:var(--s2);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.02em;line-height:1.6}
.concept .principleRows,.concept .principleRows article{border-color:var(--hair-2)}
.concept .lineFeature{box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 60px 140px -80px rgba(var(--lume-rgb),.5)}
.concept .subHeroImage.artFrame{box-shadow:0 50px 140px -50px rgba(var(--lume-rgb),.5)}

/* ---- Product page: editorial layout, zoomable art, mono specs ---- */
.concept .crumbs{font-size:var(--fs-label);letter-spacing:.02em}
.concept .crumbs [aria-current]{color:var(--paper)}
.concept .pdp{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,1rem + 4vw,6rem);padding-top:var(--u2)}
.galleryFigure{margin:0}
.concept .mainArt{position:relative;display:block;width:100%;padding:0;font:inherit;color:inherit;border:1px solid var(--hair-2);border-radius:var(--radius);cursor:zoom-in;touch-action:pan-y;box-shadow:0 60px 140px -70px rgba(var(--lume-rgb),.5)}
.concept .mainArt img{transform-origin:var(--zx,50%) var(--zy,50%);transition:transform .45s var(--ease)}
.concept .mainArt.is-zoomed{cursor:zoom-out;touch-action:none}
.concept .mainArt.is-zoomed img{transform:scale(2.2)}
.zoomHint{position:absolute;z-index:1;right:.75rem;bottom:.75rem;display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--hair-3);border-radius:var(--radius);background:rgba(8,8,10,.66);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d7d8df;pointer-events:none}
.zoomHint svg{width:1rem;height:1rem}
.concept .thumbs{margin-top:var(--u1);gap:var(--u1)}
.concept .thumbs button{border-color:var(--hair-2)}
.concept .thumbs button[aria-current=true]{border-color:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),0 0 22px -6px rgba(var(--lume-rgb),.7)}
.concept .buyBox{top:6.5rem;gap:var(--u3)}
.concept .buyBox .purpose{font-family:var(--display);font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem);line-height:1.35;letter-spacing:-.025em;color:var(--paper);text-wrap:balance}
.concept .buyBox .desc{color:var(--muted)}
.concept .buyBox .actions.pair{margin:0;max-width:none}
@media(max-width:860px){.concept .pdp{grid-template-columns:1fr}.concept .buyBox{position:static}}
.specs{margin:0;border-top:1px solid var(--hair-2);font-size:var(--fs-label)}
.specs>div{display:grid;grid-template-columns:minmax(6.5rem,.4fr) minmax(0,1fr);gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--hair-2)}
.specs dt{color:var(--silver-5);text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-micro);padding-top:.1rem}
.specs dd{margin:0;color:var(--paper);letter-spacing:.01em}
.stickyBuy{display:none}
@media(max-width:760px){
  .stickyBuy{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.65rem 1.25rem calc(.65rem + env(safe-area-inset-bottom));background:rgba(10,10,12,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--hair-3);color:var(--paper);font-family:Inter,Arial,Helvetica,sans-serif;transform:translateY(110%);opacity:0;visibility:hidden;transition:transform .32s var(--ease),opacity .32s var(--ease),visibility 0s linear .32s}
  .stickyBuy.is-on{transform:none;opacity:1;visibility:visible;transition:transform .32s var(--ease),opacity .32s var(--ease),visibility 0s}
  .stickyBuy .addBtn{display:inline-flex;margin:0;width:auto;min-width:9.5rem;min-height:2.9rem;gap:1.2rem;border-radius:var(--radius);border:1px solid var(--silver-3);background:linear-gradient(180deg,#27282e,#1e1f24);color:#fff;font:600 .875rem/1.2 Inter,Arial,sans-serif}
  .sbInfo{display:grid;gap:.1rem;min-width:0}
  .sbName{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sbPrice{font-family:var(--mono);font-size:var(--fs-label);color:var(--muted)}
  body[data-page=product] .footer{padding-bottom:6.5rem}
}

/* ---- The private entrance (sign-in) ---- */
.concept .gate{position:relative;padding:clamp(3rem,2rem + 5vw,7rem) 0}
.concept .gate::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(45% 40% at 50% 28%,rgba(var(--lume-rgb),.10),transparent 72%)}
.concept .gateCard{position:relative;width:min(100%,62rem);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:0;padding:0;border:1px solid var(--hair-3);border-radius:var(--radius);background:var(--s2);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 50px 140px -60px rgba(var(--lume-rgb),.5)}
.gateIntro,.gateForm{display:grid;gap:var(--u2);align-content:start;padding:clamp(1.5rem,1rem + 2.5vw,3rem)}
.gateIntro{border-right:1px solid var(--hair-2)}
.gateIntro>p:not(.eyebrow):not(.gateKicker){color:var(--muted)}
.gateForm{background:var(--s1);border-radius:0 var(--radius) var(--radius) 0}
.gateMark{display:grid;place-items:center;width:4rem;height:4rem;margin-bottom:var(--u1);border-radius:50%;box-shadow:0 0 0 1px var(--hair-3),0 0 44px -6px rgba(var(--lume-rgb),.6)}
.concept .gateMark .brandMark{width:2.25rem;height:2.25rem}
.gateKicker{font-size:var(--fs-micro);letter-spacing:.18em;text-transform:uppercase;color:#d0d1d8}
.gateSpecs{margin-top:var(--u1)}
.concept #signin-status:not(:empty){display:flex;align-items:flex-start;gap:.7rem;margin-top:.4rem!important;padding:.85rem 1rem;border:1px solid var(--hair-3);border-radius:var(--radius);background:var(--s2);color:var(--paper)}
.concept #signin-status:not(:empty)::before{content:'';flex:none;width:.45rem;height:.45rem;margin-top:.5rem;border-radius:50%;background:var(--lume);box-shadow:0 0 12px rgba(var(--lume-rgb),.8)}
.concept .gateCard .divider::before,.concept .gateCard .divider::after{background:var(--hair-2)}
@media(max-width:860px){.concept .gateCard{grid-template-columns:1fr}.gateIntro{border-right:0;border-bottom:1px solid var(--hair-2)}.gateForm{border-radius:0 0 var(--radius) var(--radius)}}

/* ---- Not found (site 404 and unknown product) ---- */
.lost{padding:clamp(4rem,3rem + 6vw,9rem) 0 clamp(4rem,3rem + 5vw,8rem);max-width:62rem}
.lostCode{display:inline-flex;margin-bottom:var(--u3)!important;padding:.35rem .6rem;border:1px solid var(--hair-3);border-radius:var(--radius);font-size:var(--fs-label);letter-spacing:.3em;color:#c5c6cd;box-shadow:0 0 30px -8px rgba(var(--lume-rgb),.55)}
.concept .lost h1{margin:var(--u2) 0 var(--u3);font-size:var(--fs-h1)}
.lostText{max-width:38rem;color:var(--muted);font-size:var(--fs-lead)}
.lost .actions.pair{margin-top:var(--u4)}
.lostLinks{display:flex;flex-wrap:wrap;gap:0 var(--u3);margin-top:var(--u5);padding-top:var(--u3);border-top:1px solid var(--hair-2);font-family:var(--mono);font-size:var(--fs-label)}
.lostLinks a{display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:underline;text-decoration-color:#55575f;text-underline-offset:.35rem}
.lostLinks a:hover{text-decoration-color:#fff}

/* ---- Reduced motion: everything settles instantly, including pseudo-elements, dialogs and page transitions ---- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .concept *::before,.concept *::after,:is(.bagDrawer,.sheet)::backdrop,.stickyBuy,.pinBar{transition:none!important;animation:none!important}
  .concept .productCard:hover{transform:none}
}

/* =========================== V12 · FULL LUMINA =========================== */
/* Light, scale and pacing, not effects. Everything here animates transform or opacity only, plays once and never loops.
   Nothing that carries words is hidden: the hero's darkness covers only the portrait, only when site.js confirms a
   person's browser before the first frame; spec lines wait only under the FIX-01 rule (after input, below the fold).
   Reduced motion, print, no-JS and automated browsers get the finished still frame. */

/* ---- 1 · Hero: monumental headline; the portrait emerges from darkness as the studio light blooms ---- */
.concept .hero{position:relative;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr)}
.concept .hero .heroCopy{padding-right:clamp(1.5rem,3vw,3rem)}
.concept .hero h1{font-size:clamp(3.4rem,8vw,8.75rem);line-height:.9;letter-spacing:-.07em}
.concept .hero .heroTitle .eyebrow{margin-bottom:clamp(1.5rem,1rem + 1.5vw,2.5rem)}
.heroNight,.heroBloom,.heroLine{pointer-events:none}
.concept .heroPortrait .heroNight{position:absolute;inset:0;z-index:1;background:#040408;opacity:0}
.concept .heroPortrait .heroBloom{position:absolute;inset:0;z-index:1;opacity:.55;transform-origin:16% 6%;background:radial-gradient(75% 58% at 16% 6%,rgba(var(--lume-rgb),.62),rgba(var(--lume-rgb),.16) 42%,transparent 72%)}
.heroLine{position:absolute;z-index:3;left:0;right:0;bottom:0;height:1px;transform-origin:0 50%;background:linear-gradient(90deg,transparent,rgba(var(--lume-rgb),.28) 18%,rgba(var(--lume-rgb),.85) 56%,rgba(244,244,250,.95) 70%,rgba(var(--lume-rgb),.5) 84%,transparent)}
.heroLine::after{content:'';position:absolute;left:0;right:0;top:-5px;height:11px;background:radial-gradient(22% 50% at 70% 50%,rgba(var(--lume-rgb),.45),transparent)}
@media(max-width:760px){
  .concept .hero{grid-template-columns:1fr;grid-template-rows:auto}
  .concept .hero h1{font-size:clamp(2.9rem,14.6vw,4.5rem)}
  .concept .hero .heroPortrait{min-height:min(142vw,46rem)}
  .heroLine{grid-area:1/1/2/2}
}
@keyframes lx-night{0%,18%{opacity:.96}to{opacity:0}}
@keyframes lx-bloom{0%{opacity:0;transform:scale(.55)}46%{opacity:1;transform:none}to{opacity:.55;transform:none}}
@keyframes lx-draw{from{transform:scaleX(0)}to{transform:none}}
@keyframes lx-settle{from{scale:1.06}to{scale:1}}
@media screen and (prefers-reduced-motion:no-preference){
  html.lx-hero .heroPortrait .heroNight{animation:lx-night 1.15s cubic-bezier(.45,0,.2,1) both}
  html.lx-hero .heroPortrait .heroBloom{animation:lx-bloom 1.25s var(--ease) both}
  html.lx-hero .heroLine{animation:lx-draw .95s cubic-bezier(.6,0,.2,1) .3s both}
  html.lx-hero .heroPortrait img{animation:lx-settle 1.6s var(--ease) both}
}

/* ---- 2 · Pacing: one full-bleed portrait moment on a page, under that section's own heading ---- */
.concept .withMoment{border-top:0;padding-top:0}
.concept .homeAbout.withMoment{display:block;padding-top:0}
.moment{position:relative;isolation:isolate;display:grid;align-items:end;margin-inline:calc(-1 * var(--gutter));height:clamp(28rem,46vw,50rem);overflow:clip;background:#060609}
.concept .momentFrame{position:absolute;inset:0;margin:0;max-width:none;overflow:clip}
.momentFrame img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04)}
.momentFrame::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,6,10,.94) 0%,rgba(6,6,10,.86) 26%,rgba(6,6,10,.6) 50%,rgba(6,6,10,0) 76%),linear-gradient(90deg,rgba(6,6,10,.82) 0%,rgba(6,6,10,.62) 32%,rgba(6,6,10,0) 62%),radial-gradient(130% 100% at 60% 35%,transparent 55%,rgba(4,4,9,.45) 100%)}
.momentHead{position:relative;z-index:1;padding:var(--u8) var(--gutter) clamp(2.5rem,1.5rem + 3vw,5rem);max-width:min(100%,60rem)}
.concept .moment .momentHead h2{font-size:clamp(2.6rem,1.3rem + 3.9vw,5.6rem);line-height:.96;letter-spacing:-.06em}
.concept .moment .momentHead .eyebrow{margin-bottom:var(--u3);color:#d2d3da}
.moHome .momentFrame img{object-position:50% 34%}
.moMedia .momentFrame img{object-position:50% 30%}
.moEthic .momentFrame img{object-position:50% 21%}
/* The ethic: the close portrait sits left, so the heading and its shade sit right. */
.moEthic .momentHead{justify-self:end;text-align:right}
.moEthic .momentFrame::after{background:linear-gradient(0deg,rgba(6,6,10,.9) 0%,rgba(6,6,10,.6) 30%,rgba(6,6,10,0) 62%),linear-gradient(270deg,rgba(6,6,10,.82) 0%,rgba(6,6,10,.55) 36%,rgba(6,6,10,0) 62%)}
.concept .withMoment>.bioCopy{max-width:46rem;margin-top:var(--u8)}
.concept .withMoment>.bioCopy>p:first-child{margin-top:0}
.concept .withMoment>.principleRows,.concept .withMoment>.destinationGrid{margin-top:var(--u8)}
@media(max-width:760px){
  .moment{height:clamp(31rem,138vw,40rem)}
  .moHome .momentFrame img{object-position:66% 50%}
  .moMedia .momentFrame img{object-position:57% 50%}
  .moEthic .momentFrame img{object-position:50% 16%}
  .moEthic .momentHead{justify-self:start;text-align:left}
  .moEthic .momentFrame::after,.momentFrame::after{background:linear-gradient(0deg,rgba(6,6,10,.95) 0%,rgba(6,6,10,.86) 28%,rgba(6,6,10,.45) 52%,rgba(6,6,10,0) 74%)}
}

/* ---- 3 · Depth: portraits drift a little slower than the page (≤ 8%, scroll-linked, off with reduced motion) ---- */
@keyframes lx-drift{from{translate:0 -4%}to{translate:0 4%}}
@keyframes lx-drift-out{from{translate:0 0}to{translate:0 6%}}
@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .moment{view-timeline:--lx-moment block}
    .momentFrame img{top:-5%;height:110%;animation:lx-drift linear both;animation-timeline:--lx-moment;animation-range:cover 0% cover 100%}
    .concept .heroPortrait{view-timeline:--lx-hero block}
    .concept .heroPortrait img{top:-7%;height:107%}
    .concept .heroPortrait img{animation:lx-drift-out linear both;animation-timeline:--lx-hero;animation-range:exit 0% exit 100%}
    html.lx-hero .concept .heroPortrait img{animation:lx-settle 1.6s var(--ease) both,lx-drift-out linear both;animation-timeline:auto,--lx-hero;animation-range:normal,exit 0% exit 100%}
  }
}

/* ---- 4 · The Apothecary object stage: one pass of light across each piece; the spec sheet draws line by line ---- */
.concept .productArt::after,.concept .mainArt::after,.concept .subHeroImage.artFrame::after{content:'';display:block;position:absolute;inset:-20% -60%;z-index:1;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 41%,rgba(var(--lume-rgb),.12) 46%,rgba(255,255,255,.26) 50%,rgba(var(--lume-rgb),.12) 54%,transparent 59%)}
@keyframes lx-sweep{from{opacity:1;transform:translateX(-70%)}to{opacity:1;transform:translateX(70%)}}
@media screen and (prefers-reduced-motion:no-preference){
  .concept .lx-sweep::after{animation:lx-sweep 1.15s cubic-bezier(.45,.05,.25,1) both}
}
.concept .specs>div{position:relative;border-bottom:0}
.concept .specs>div::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hair-2);transform-origin:0 50%}
@media screen and (prefers-reduced-motion:no-preference){
  .concept .specs.lx-lines-wait>div::after{transform:scaleX(0)}
  .concept .specs.lx-lines>div::after{animation:lx-draw .6s cubic-bezier(.6,0,.2,1) both}
  .concept [data-reveal-lines]>.rv-wait{opacity:0;transform:translateY(.5rem)}
  .concept [data-reveal-lines]>.rv-in{animation:v11-rise .34s var(--ease) backwards}
  .concept .specs.lx-lines>div:nth-child(2)::after,.concept [data-reveal-lines]>.rv-in:nth-child(2){animation-delay:.08s}
  .concept .specs.lx-lines>div:nth-child(3)::after,.concept [data-reveal-lines]>.rv-in:nth-child(3){animation-delay:.16s}
  .concept .specs.lx-lines>div:nth-child(4)::after,.concept [data-reveal-lines]>.rv-in:nth-child(4){animation-delay:.24s}
  .concept .specs.lx-lines>div:nth-child(5)::after,.concept [data-reveal-lines]>.rv-in:nth-child(5){animation-delay:.32s}
  .concept .specs.lx-lines>div:nth-child(n+6)::after,.concept [data-reveal-lines]>.rv-in:nth-child(n+6){animation-delay:.4s}
}

/* ---- 5 · Monumental hairline numerals for step sequences (01–04) ---- */
/* :first-child lifts this above v11's mono :is() rule for small metadata. */
.concept .methodList article>span:first-child,.concept .stepNo,.concept .promises>div::before{font-family:var(--display);font-weight:500;font-size:clamp(3rem,2rem + 3vw,5.5rem);line-height:.8;letter-spacing:.02em;text-transform:none;color:rgba(238,238,240,.52);-webkit-text-fill-color:transparent;-webkit-text-stroke:1px currentColor}
.concept .methodList article{gap:clamp(1.25rem,1rem + 2vw,3rem);align-items:flex-start;padding-block:clamp(1.9rem,1.5rem + 1vw,2.5rem)}
.concept .methodList article>span:first-child{padding-top:0;flex:0 0 1.55em;width:1.55em}
.concept .stepNo{display:block;margin-bottom:var(--u3)}
.concept .journeyStages .eyebrow .stepNo,.concept .principleRows h3 .stepNo{margin-bottom:var(--u2)}
.concept .promises>div::before{margin-bottom:var(--u3);font-size:clamp(2.75rem,2rem + 2vw,4.25rem)}
@media(max-width:600px){.concept .methodList article{flex-direction:column;gap:var(--u2)}}

/* ---- 6 · Fewer boxes: whitespace or one hairline does the job ---- */
.concept .journeys{border:0}
.concept :is(.subHeroImage,.bioPortrait){border:0}
.concept :is(.routeCards a,.worldLinks a,.destinationGrid a){border:0;border-top:1px solid var(--hair-3);border-radius:0}
.concept :is(.engagement,.formPanel,.mantra){border:0}
.concept .promises{border:0;border-radius:0;background:none;gap:0 var(--u4)}
.concept .promises>div{padding:var(--u3) 0 0;border:0;border-top:1px solid var(--hair-2)}
@media(max-width:900px){.concept .promises>div:nth-child(-n+2){border-bottom:0}.concept .promises>div{padding-bottom:var(--u3)}}
/* The store note is two stacked lines at every width, so its height no longer depends on which font has arrived (in v11
   it fitted one line with fallback fonts and wrapped once the web fonts loaded: a 0.05 layout shift on desktop). */
.concept .storeNote{flex-direction:column;align-items:flex-start;gap:.35rem}
.concept .productArt{border-bottom:0}

/* ---- Reduced motion: v12 adds no motion ---- */
@media(prefers-reduced-motion:reduce){
  .moment .momentFrame img,.concept .heroPortrait img{animation:none!important;translate:none;scale:none}
}

/* =========================== V12.2 · FULL LUMINA II =========================== */
/* Repair and rhythm. No new motion, colour, image or word; every rule below corrects a measured defect. */

/* ---- Phone hero: one complete first screen ----
   Portrait, headline, Light's support line and the first action share the first screen. The portrait takes the height the
   screen leaves after the copy beneath it (22.75rem: support line, spacing and the first button), never less than 24rem and
   never more than v12's min(142vw,46rem). svh is the smallest viewport height, so browser toolbars never cover the button.
   On very short screens (e.g. 375×667) the floor holds and the button stays just below the fold, as it was. */
@media(max-width:760px){
  .concept .hero .heroPortrait{min-height:clamp(24rem,100svh - 22.75rem,min(142vw,46rem))}
}

/* ---- Headings breathe above the block they introduce ----
   A section heading directly followed by an FAQ list, a product grid or the guide sat flush on it (0 px). The same
   2.5rem the site already leaves between a heading and a two-column split. */
.concept h2+:is(.faqList,.productGrid,.guide){margin-top:var(--u5)}

/* ---- Links inside a sentence stay in the sentence ----
   A .textLink inside running text was an inline-flex box with a 44 px minimum height and a smaller type size, which broke
   the paragraph's line spacing (home, privacy, the product page's no-script note). In a sentence it now flows as text,
   at the sentence's size, underlined like the site's other inline links (so it is never marked by colour alone). WCAG 2.2
   exempts links inside a sentence from the target-size minimum; stand-alone text links keep their 44 px rows. */
.concept p>.textLink{display:inline;min-height:0;gap:0;font-size:inherit;color:var(--paper);text-decoration:underline;text-decoration-color:#686a73;text-underline-offset:.3rem}
.concept p>.textLink:hover{color:#fff;text-decoration-color:#fff}

/* ---- The menu's Email · Call · Text match the site's ----
   The menu's generic link rule (display:block) outranked the trio's layout, so its icons sat above left-aligned labels
   (since v10). Now icon and label sit on one centred line, as in every other Email · Call · Text group. */
.mobileMenu nav .menuTalk .trio a{display:flex;align-items:center;justify-content:center;gap:.5rem}

/* ---- Paired buttons stack rather than wrap ----
   Two buttons sit side by side only when each column is at least 15rem, about the width a one-line label needs. In
   narrower columns (tablets 768–1024 px, the product page's buy box, Peptides at 1280 px) they stack at full width instead
   of wrapping to two or three lines. Always symmetrical: equal widths, equal heights. At 1440 px the only pair that changes
   is the product buy box, whose "Ask Light about this product" was wrapping. */
.actions.pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
@media(max-width:520px){.actions.pair{grid-template-columns:1fr}}

/* ---- Card → product: only the art travels ----
   While the store page is captured for the page transition (store.js adds .vt-leaving on pageswap and removes it when the
   page is shown again), the travelling card's "Concept" label stays behind, so it no longer rides along as an enlarged
   ghost inside the product image. */
.vt-leaving .vt-hero .tag{visibility:hidden}

