:root{--ink:#352d31;--wine:#654455;--wine-dark:#49303d;--lavender:#9a8899;--paper:#f6f2ec;--white:#fffdf9;--line:#d8cec6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP",sans-serif;line-height:1.9;letter-spacing:.035em}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Noto Serif JP",serif;font-weight:500}.brand-header{height:76px;padding:0 max(22px,5vw);display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,249,.96);border-bottom:1px solid rgba(101,68,85,.14);position:sticky;top:0;z-index:10;transform:translateY(0);transition:transform .35s ease}.brand-header.is-hidden{transform:translateY(-100%)}@media(prefers-reduced-motion:reduce){.brand-header{transition:none}}.brand{text-decoration:none;display:inline-flex;flex-direction:column;line-height:1}.brand strong{font-family:"Noto Serif JP",serif;font-size:24px;letter-spacing:.18em;font-weight:600}.brand small{margin-top:7px;color:var(--wine);font:500 8px/1 "Noto Sans JP",sans-serif;letter-spacing:.3em}.brand-header nav{display:flex;align-items:center;gap:30px}.brand-header nav a{font-size:12px;text-decoration:none}.brand-header .header-cta{padding:11px 22px;color:var(--white);background:var(--wine)}
.brand-hero{min-height:680px;max-width:1320px;margin:auto;padding:70px 5vw 42px;display:grid;grid-template-columns:minmax(420px,.88fr) 1.12fr;gap:4vw;overflow:hidden;background:var(--white)}.brand-hero__copy{z-index:1;align-self:center}.eyebrow,.section-kicker{color:var(--wine);font-size:10px;font-weight:600;letter-spacing:.28em}.brand-hero h1{margin:26px 0 30px;font-size:clamp(36px,3vw,42px);line-height:1.7;letter-spacing:.055em}.brand-hero__lead{margin-bottom:34px;color:#665d60;font-size:15px}.primary-cta{width:min(100%,360px);padding:17px 22px;display:flex;align-items:center;justify-content:center;gap:13px;color:#fff;background:var(--wine);text-decoration:none;font-size:14px;letter-spacing:.08em}.primary-cta span{padding-right:13px;border-right:1px solid rgba(255,255,255,.4);font-size:10px}.cta-note{margin:10px 0 0 12px;color:#7d7376;font-size:10px}.brand-hero__visual{min-height:568px;position:relative;align-self:stretch;overflow:hidden;background:#d8cfca url("../assets/images/diagnosis-start/hero-woman.png") right bottom/cover no-repeat}.brand-hero__visual:after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.58);pointer-events:none}.brand-hero__index{position:absolute;right:27px;top:35px;z-index:2;color:#fff;font-size:9px;letter-spacing:.28em;writing-mode:vertical-rl}.brand-hero__caption{min-width:220px;margin:0;padding:20px 26px;position:absolute;left:0;bottom:0;z-index:2;background:rgba(255,253,249,.94)}.brand-hero__caption span{display:block;margin-bottom:9px;color:var(--wine);font-size:9px;letter-spacing:.25em}.brand-hero__caption strong{font:500 17px/1.7 "Noto Serif JP",serif;letter-spacing:.08em}
.intro{max-width:760px;margin:0 auto;padding:140px 32px;text-align:center}.intro h2,.promise h2{margin:24px 0 34px;font-size:36px;line-height:1.65;letter-spacing:.1em}.intro>p:not(.section-kicker),.promise>p:not(.section-kicker){color:#665d60;font-size:14px}.concerns{max-width:1120px;margin:0 auto 150px;padding:72px 7%;display:grid;grid-template-columns:.85fr 1.15fr;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.concerns h2,.care h2,.diagnosis-guide h2{margin:20px 0 0;font-size:32px;line-height:1.65}.concerns ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.concerns li{padding:18px 8px;border-bottom:1px solid var(--line);font-family:"Noto Serif JP",serif;font-size:15px}.concerns li span{margin-right:20px;color:var(--lavender);font:500 10px/1 "Noto Sans JP",sans-serif}
.diagnosis-guide{max-width:1120px;margin:0 auto 150px;padding:0 5%;display:grid;grid-template-columns:.95fr 1.05fr;gap:9%;align-items:center}.diagnosis-guide__visual{aspect-ratio:4/5;overflow:hidden;background:#e4dddc}.diagnosis-guide__visual img{width:100%;height:100%;object-fit:cover}.diagnosis-guide__copy>p:not(.section-kicker){color:#6c6265;font-size:14px}.diagnosis-guide ol{margin:28px 0 30px;padding:0;list-style:none;border-top:1px solid var(--line)}.diagnosis-guide li{padding:15px 0;display:flex;gap:20px;border-bottom:1px solid var(--line)}.diagnosis-guide li b{color:var(--lavender);font:500 11px/2 "Noto Sans JP",sans-serif}.diagnosis-guide li span{font-family:"Noto Serif JP",serif}.diagnosis-guide li small{display:block;color:#766c70;font:400 11px/1.8 "Noto Sans JP",sans-serif}.text-link{color:var(--wine);font-size:13px;text-underline-offset:7px}.text-link span{margin-left:12px}
.care{padding:120px max(24px,7vw);background:#e8e1dc}.care__heading{max-width:650px;margin:0 auto 55px;text-align:center}.care__heading>p:last-child{color:#675e61;font-size:13px}.care__cards{max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bfb2ae;border-bottom:1px solid #bfb2ae}.care article{min-height:260px;padding:40px;border-right:1px solid #bfb2ae}.care article:last-child{border-right:0}.care article>span{color:var(--wine);font-size:10px;letter-spacing:.2em}.care article h3{margin:35px 0 18px;font-size:21px}.care article p{color:#655b5e;font-size:12px}.promise{max-width:760px;margin:0 auto;padding:140px 32px;text-align:center}.closing{padding:80px max(25px,9vw);display:flex;justify-content:space-between;align-items:end;gap:40px;background:var(--wine-dark);color:var(--white)}.closing .section-kicker{color:#cfbec7}.closing h2{margin:18px 0 0;font-size:32px;line-height:1.65}.primary-cta--light{flex:0 0 360px;color:var(--wine-dark);background:var(--white)}.primary-cta--light span{border-color:rgba(73,48,61,.25)}footer{padding:66px 7vw 34px;background:#282225;color:#eee7e3;text-align:center}.brand--footer strong{font-size:27px}footer .brand{margin-bottom:22px}footer p{color:#bfb4b7;font:400 12px/1.8 "Noto Serif JP",serif}footer>small{display:block;margin-top:50px;color:#8f8487;font-size:9px;letter-spacing:.14em}
@media(max-width:760px){.brand-header{height:64px;padding:0 18px}.brand strong{font-size:20px}.brand-header nav>a:not(.header-cta){display:none}.brand-header .header-cta{padding:9px 15px;font-size:11px}.brand-hero{width:100%;min-height:auto;padding:50px 0 0;display:flex;flex-direction:column;gap:0}.brand-hero__copy{width:100%;min-width:0;padding:0 24px}.brand-hero h1{margin:19px 0 22px;font-size:clamp(27px,7.2vw,30px);line-height:1.6;letter-spacing:.04em}.brand-hero__lead{font-size:11.5px;line-height:2;letter-spacing:0}.primary-cta{width:100%;font-size:12px;gap:9px}.brand-hero__visual{width:100%;min-height:430px;margin:42px 0 0;background-position:right bottom}.brand-hero__visual:after{inset:12px}.brand-hero__index{right:22px;top:27px}.brand-hero__caption{min-width:190px;padding:17px 21px}.brand-hero__caption strong{font-size:15px}.intro,.promise{padding:96px 25px;text-align:left}.intro h2,.promise h2{margin:18px 0 26px;font-size:27px}.intro>p:not(.section-kicker),.promise>p:not(.section-kicker){font-size:13px}.concerns{margin:0 18px 100px;padding:45px 22px;display:block}.concerns h2,.care h2,.diagnosis-guide h2{font-size:26px}.concerns ul{margin-top:38px}.concerns li{padding:17px 0;font-size:13px}.concerns li span{margin-right:12px}.diagnosis-guide{margin:0 0 100px;padding:0;display:flex;flex-direction:column;gap:45px}.diagnosis-guide__visual{width:calc(100% - 36px);margin-right:36px;aspect-ratio:1/1.08}.diagnosis-guide__copy{padding:0 25px}.care{padding:90px 24px}.care__heading{text-align:left}.care__cards{display:block}.care article{min-height:0;padding:30px 5px;border-right:0;border-bottom:1px solid #bfb2ae}.care article:last-child{border-bottom:0}.care article h3{margin:14px 0 10px}.closing{padding:70px 24px;display:block}.closing h2{margin-bottom:34px;font-size:26px}.primary-cta--light{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Official hero: editorial portrait with a restrained depth effect. */
.brand-hero__visual {
  isolation: isolate;
  background: #ded7d1;
}

.brand-hero__visual::before {
  position: absolute;
  inset: -8%;
  z-index: 0;
  background: url("../assets/images/official-hero-woman-v2.jpg") center center / cover no-repeat;
  transform: translate3d(0,var(--hero-parallax-y,0),0) scale(1.06);
  will-change: transform;
  content: "";
}

@media (max-width: 760px) {
  .brand-hero__visual::before {
    background-position: 57% center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand-hero__visual::before {
    transform: scale(1.06);
    will-change: auto;
  }
}

/* September 2026: quiet editorial layout and scroll-linked depth. */
:root{--paper:#ede8e2;--white:#f7f4ef;--wine:#654455}
::selection{background:#654455;color:#fff}
section[id]{scroll-margin-top:110px}
a:focus-visible{outline:2px solid var(--wine);outline-offset:6px}
.skip-link{position:fixed;top:10px;left:10px;z-index:100;padding:10px 20px;background:var(--white);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.reading-progress{position:fixed;left:0;top:0;width:100%;height:2px;background:var(--wine);z-index:30;transform:scaleX(var(--read-progress,0));transform-origin:left}
.brand-header{height:88px;background:rgba(237,232,226,.9);backdrop-filter:blur(18px);border-bottom-color:rgba(101,68,85,.18)}
.brand-header nav a{transition:opacity .25s}
.brand-header nav a:hover{opacity:.65}
.brand-header .header-cta{border-radius:40px;padding:12px 26px}
.brand-hero{position:relative;max-width:1600px;min-height:740px;padding:48px 5vw 32px;grid-template-columns:1fr 1.08fr;gap:3vw;background:var(--paper)}
.brand-hero__copy{padding:32px 0}
.brand-hero h1{font-size:clamp(32px,3.25vw,52px);line-height:1.65;letter-spacing:.015em;margin:30px 0}
.brand-hero__lead{max-width:430px;font-size:13px;line-height:2.2}
.eyebrow,.section-kicker{font-size:10px;letter-spacing:.22em}
.brand-hero__visual{min-height:640px;border-radius:48% 48% 3px 3px}
.brand-hero__visual:before{inset:-100px -8%;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.02)}
.brand-hero__visual:after{inset:17px;border-radius:inherit;border-color:rgba(255,255,255,.35)}
.brand-hero__index{top:48%;right:32px}
.brand-hero__caption{left:24px;bottom:26px;background:rgba(247,244,239,.92);backdrop-filter:blur(10px);min-width:220px;padding:20px 26px}
.primary-cta{min-height:62px;border-radius:40px;transition:background .25s,box-shadow .25s}
.primary-cta:hover{background:var(--wine-dark);box-shadow:0 7px 24px #49303d22}
.primary-cta--light:hover{background:#e8dedf}
.hero-bottom{max-width:1440px;margin:auto;padding:15px 5vw 32px;display:flex;justify-content:space-between;gap:20px;color:#71646a;font-size:9px;letter-spacing:.2em;border-bottom:1px solid var(--line)}
.intro{position:relative;max-width:880px;padding:180px 80px 150px}
.intro__word{position:absolute;left:50%;top:55px;white-space:nowrap;font:italic 100px/1.1 Georgia,serif;letter-spacing:-.05em;color:#65445512;transform:translate3d(-50%,var(--parallax-y,0px),0);pointer-events:none}
.intro h2,.promise h2{font-size:40px;line-height:1.8}
.intro>p:not(.section-kicker){max-width:560px;margin-left:auto;margin-right:auto;line-height:2.3}
.concerns{max-width:1200px;margin-bottom:160px;padding:70px 6%;background:transparent;gap:50px}
.concerns li{padding:24px 0}
.concerns li span{font:italic 19px Georgia,serif;margin-right:25px}
.diagnosis-guide{max-width:1300px;padding:0 6%;gap:10%;margin-bottom:160px}
.diagnosis-guide__visual{position:relative;aspect-ratio:4/5;border-radius:3px 3px 140px 3px}
.diagnosis-guide__visual img{position:absolute;top:-75px;left:0;height:calc(100% + 150px);transform:translate3d(0,var(--parallax-y,0px),0);object-position:center}
.diagnosis-guide h2{font-size:clamp(27px,2.55vw,36px);margin-bottom:25px}
.diagnosis-guide li{padding:19px 0}
.care{padding:120px 6%;background:#e2dbd5;border-radius:100px 0 0 0}
.care__heading{max-width:1080px;text-align:left;display:grid;grid-template-columns:1fr 1fr;column-gap:90px;align-items:end}
.care__heading .section-kicker{grid-column:1/-1}.care__heading h2{font-size:38px;margin-top:0}.care__heading>p:last-child{max-width:360px;margin-bottom:5px;line-height:2.2}
.care__cards{border:0;gap:20px;max-width:1120px}
.care article{position:relative;padding:36px 30px;min-height:290px;border:1px solid #c6b9b5;border-radius:3px;background:#ede8e255}
.care article:last-child{border-right:1px solid #c6b9b5}
.care article>span{font:italic 42px Georgia,serif;color:#8d7480}
.care article h3{margin-top:35px}
.promise{padding:145px 32px;max-width:720px}.promise>p:last-child{line-height:2.3}
.closing{position:relative;overflow:hidden;padding:100px 7vw;align-items:center;border-radius:80px 0 0 0}
.closing:before{content:"";position:absolute;width:500px;height:500px;border:1px solid #ffffff14;border-radius:50%;right:-100px;top:-190px;pointer-events:none}
.closing h2{font-size:clamp(26px,2.8vw,40px)}
.motion-ready [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:none}
@media(min-width:761px) and (max-width:1050px){.brand-header nav{gap:16px}.brand-hero{min-height:620px;grid-template-columns:1fr 1fr}.brand-hero__visual{min-height:540px}.brand-hero h1{font-size:32px}.primary-cta{font-size:12px}.care article{padding:28px 22px}.closing{gap:25px}.primary-cta--light{flex-basis:330px}}
@media(max-width:760px){
.brand-header{height:70px;padding:0 22px}.brand-hero{padding:35px 22px 0;min-height:auto;gap:0;overflow:hidden}.brand-hero__copy{padding:10px 0 0}.brand-hero h1{font-size:clamp(26px,7.1vw,40px);margin:22px 0;letter-spacing:0}.brand-hero__lead{font-size:12px;margin-bottom:24px}.eyebrow{font-size:8px}.brand-hero__visual{min-height:0;height:480px;height:clamp(370px,112vw,580px);width:100%;margin-top:34px;border-radius:48% 48% 3px 3px}.brand-hero__visual:before{inset:-75px -8%}.brand-hero__caption{left:18px;bottom:18px;min-width:185px;padding:16px 20px}.brand-hero__index{right:26px}.primary-cta{min-height:58px}.cta-note{text-align:center;margin-left:0}.hero-bottom{padding:22px;font-size:7px;letter-spacing:.12em}.hero-bottom>span:first-child{max-width:150px}.intro{padding:120px 25px 90px}.intro__word{font-size:64px;top:38px}.intro h2,.promise h2{font-size:29px}.concerns{padding:36px 7px 42px;margin:0 24px 90px}.concerns ul{margin-top:30px}.concerns li{font-size:12px;padding:21px 0}.concerns li span{margin-right:14px}.diagnosis-guide{margin-bottom:90px;padding:0 24px;gap:35px}.diagnosis-guide__visual{width:100%;margin:0;border-radius:3px 3px 100px 3px;aspect-ratio:1/1.1}.diagnosis-guide__copy{padding:0;width:100%}.diagnosis-guide h2{font-size:26px}.care{padding:75px 24px;border-radius:60px 0 0 0}.care__heading{display:block;margin-bottom:35px}.care__heading h2{font-size:29px;margin:15px 0 22px}.care__cards{display:grid;grid-template-columns:1fr;gap:14px}.care article{min-height:0;padding:25px;display:grid;grid-template-columns:44px 1fr;column-gap:18px}.care article>span{grid-row:1/3;font-size:30px}.care article h3{margin:0 0 12px;font-size:20px}.care article p{margin:0;grid-column:2}.promise{padding:90px 25px}.closing{padding:65px 24px;border-radius:55px 0 0 0}.closing h2{font-size:26px}.closing .primary-cta{max-width:400px}.section-kicker{font-size:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}.brand-hero__visual:before,.diagnosis-guide__visual img{transform:none;will-change:auto}.intro__word{transform:translateX(-50%)}a{transition:none!important}}

/* Developer's message and the consultation guide. */
.founder-message{text-align:left;max-width:900px;padding-bottom:95px}
.founder-message h2{margin-bottom:35px}
.editorial-copy{min-width:0;font-size:15px;line-height:2.2;color:#665d60}
.editorial-copy p{margin-bottom:1.6em}
.editorial-copy strong{color:var(--wine);font-weight:600}
.reader-voices{margin:26px 0;padding:22px 0 22px 1.3em;border-block:1px solid var(--line);color:var(--wine);font-family:"Noto Serif JP",serif;line-height:2.1}
.reader-voices li+li{margin-top:12px}
.editorial-copy .editorial-note{margin:35px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:13px;line-height:2}
.editorial-section{max-width:1160px;margin:0 auto;padding:80px 5vw;display:grid;grid-template-columns:1fr 1.3fr;gap:7%;border-top:1px solid var(--line)}
.editorial-section h2{font-size:clamp(25px,2.6vw,34px);line-height:1.8;letter-spacing:.025em;margin:22px 0}
.editorial-section--guidance{margin-bottom:100px}
.editorial-quote{font-family:"Noto Serif JP",serif;color:var(--wine);font-size:18px}
.guidance-list{counter-reset:guidance;list-style:none;padding:0;margin:30px 0;border-top:1px solid var(--line)}
.guidance-list li{counter-increment:guidance;display:flex;align-items:baseline;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.guidance-list li:before{content:counter(guidance,decimal-leading-zero);color:#9a8899;font:italic 22px Georgia,serif}
.founder-signoff{margin-top:40px;color:var(--wine);font-family:"Noto Serif JP",serif}
@media(max-width:760px){.founder-message{padding-bottom:65px}.editorial-copy{font-size:14px;line-height:2.15}.editorial-section{display:block;padding:55px 25px}.editorial-section__heading{margin-bottom:30px}.editorial-section h2{font-size:27px}.editorial-section--guidance{margin-bottom:45px}.editorial-quote{font-size:16px}.reader-voices{font-size:14px}.editorial-copy .editorial-note{font-size:12px}.guidance-list li{gap:14px}.primary-cta{letter-spacing:0;gap:8px;padding-inline:16px}.primary-cta span{padding-right:8px;flex-shrink:0}}
@media(max-width:760px){.founder-message .intro__word{font-size:clamp(44px,14vw,64px)}}
