/* BestBeing project styles. styles.css and script.js are sealed. */
:root{--mold-version:9;--ink:#1d201b;--paper:#fdfcf9;--gold:#b94835;--muted:#6f746b;--moss:#394735;--cream:#f3eee4;--line:rgba(29,32,27,.15);--font-en:"Cormorant Garamond",serif;--font-body:"Noto Sans JP",sans-serif;--font-display:"Shippori Mincho B1",serif;--fw-body:400;--fw-display:500;--fw-strong:600;--lh-body:1.95;--lh-display:1.35;--ls-body:.035em;--ls-display:.045em;--ls-en:.16em}
html{scroll-behavior:smooth;background:var(--paper)}body{color:var(--ink);background:var(--paper);font-family:var(--font-body);font-size:16px}img{display:block;width:100%}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 14px;color:#fff;background:var(--moss);transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:106px;padding:0 clamp(22px,4vw,72px);border-bottom:1px solid var(--line);color:var(--ink);background:rgba(253,252,249,.86);backdrop-filter:blur(16px)}.brand__mark{width:32px;height:34px;fill:none;stroke:var(--moss);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand__text{font-family:var(--font-en);font-size:clamp(2rem,3vw,3rem);font-weight:500;letter-spacing:.01em}.nav{gap:clamp(24px,3vw,52px)}.nav a{color:var(--ink);font-size:.9rem;font-weight:500;letter-spacing:.08em}
.hero{min-height:100svh;padding-top:106px;background:#fff}.hero__stage{min-height:calc(100svh - 106px);display:grid;grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);align-items:stretch}.hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(48px,7vw,108px) clamp(24px,5.2vw,88px);background:linear-gradient(90deg,#fff 0%,#fff 86%,rgba(255,255,255,.68) 100%)}.hero__kicker{margin:0 0 28px;color:var(--moss);font-family:var(--font-en);font-size:.82rem;letter-spacing:.24em}.hero h1{margin:0;font-family:var(--font-display);font-size:clamp(3.7rem,6.4vw,7rem);font-weight:500;line-height:1.26;letter-spacing:-.035em}.hero h1 .l{display:block;overflow:hidden}.hero__lead{margin:34px 0 0;color:#353832;font-size:clamp(1rem,1.25vw,1.18rem);line-height:2.05}.hero__actions{margin-top:38px}.hero .btn--primary{min-width:min(440px,80vw);min-height:76px;padding:0 36px;border-radius:8px;color:#fff;background:var(--gold);justify-content:center;font-family:var(--font-display);font-size:1.12rem;letter-spacing:.06em}.hero .btn--primary:hover,.hero .btn--primary:focus-visible{background:#9e3929;transform:translateY(-2px)}.hero__trust{margin:24px 0 0;font-family:var(--font-display);font-size:1rem}.hero__photo-wrap{position:relative;width:100%;min-width:0;overflow:hidden;background:#faf9f6}.hero__photo-wrap:before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:18%;background:linear-gradient(90deg,#fff,transparent);pointer-events:none}.hero__photo{width:100%;height:100%;aspect-ratio:832/851;object-fit:cover;object-position:49% center}.scroll-cue{right:auto;left:clamp(24px,5.2vw,88px);bottom:20px;color:var(--muted)}
.section{position:relative;padding:clamp(100px,12vw,180px) clamp(22px,6vw,100px)}.section__head{max-width:1080px}.section__head h2,.armor h2,.dialogue h2,.life h2,.contact h2{font-family:var(--font-display);font-weight:500;letter-spacing:.02em;text-wrap:balance}.section__head h2{font-size:clamp(2.3rem,5vw,5.3rem);line-height:1.45}.eyebrow{color:var(--gold);font-size:.78rem;font-weight:600;letter-spacing:.2em}.ghost{color:rgba(57,71,53,.055);font-family:var(--font-en);font-size:clamp(6rem,16vw,15rem)}
.empathy{overflow:hidden;background:var(--cream)}.empathy__grid{display:grid;grid-template-columns:1fr 1fr;max-width:1100px;margin:72px 0 0 auto;border-top:1px solid var(--line)}.empathy__grid p{margin:0;padding:28px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:clamp(1.1rem,1.5vw,1.4rem)}.empathy__closing{max-width:820px;margin:72px 0 0 auto;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:2.15}
.armor{display:grid;grid-template-columns:1fr 1fr;min-height:820px;color:#f7f2e9;background:#171915}.armor__visual{margin:0;min-height:720px;overflow:hidden}.armor__visual img{height:100%;object-fit:cover}.armor__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,140px)}.armor h2{margin:20px 0 34px;font-size:clamp(2.2rem,4vw,4.7rem);line-height:1.45}.armor__copy>p:not(.eyebrow){color:#c9cec5;line-height:2.1}.armor__note{margin-top:36px;padding-top:30px;border-top:1px solid rgba(255,255,255,.18);font-family:var(--font-display);font-size:1.1rem}
.chaos{overflow:hidden;background:#fbfaf7}.chaos__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,8vw,130px);align-items:center;margin-top:72px}.chaos__layout figure{margin:0;overflow:hidden;border-radius:46% 46% 10px 10px}.chaos__layout figure img{aspect-ratio:4/3;object-fit:cover}.chaos__words{display:grid}.chaos__words p{margin:0;padding:30px 0;border-top:1px solid var(--line);color:var(--muted);line-height:1.95}.chaos__words p:last-child{border-bottom:1px solid var(--line)}.chaos__words span{display:block;margin-bottom:8px;color:var(--moss);font-family:var(--font-display);font-size:1.65rem}
.dialogue{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,8vw,130px);align-items:center;padding:clamp(100px,12vw,180px) clamp(22px,6vw,100px);background:#e8eee6}.dialogue h2{margin:20px 0 30px;font-size:clamp(2.2rem,4.4vw,4.8rem);line-height:1.45}.dialogue__copy>p:not(.eyebrow){max-width:700px;color:#4f584c;line-height:2.1}.dialogue__list{margin:42px 0 0;padding:0;list-style:none;border-top:1px solid rgba(57,71,53,.22)}.dialogue__list li{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid rgba(57,71,53,.22)}.dialogue__list strong{font-family:var(--font-display);font-size:1.3rem}.dialogue__list span{color:#5b6557}.dialogue__visual{margin:0;overflow:hidden;border-radius:48% 48% 4px 4px}.dialogue__visual img{aspect-ratio:4/5;object-fit:cover}
.life{position:relative;min-height:820px;overflow:hidden;color:#fff;background:#253123}.life__visual{position:absolute;inset:0;margin:0}.life__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,22,15,.88) 0%,rgba(16,22,15,.62) 47%,rgba(16,22,15,.08) 100%)}.life__visual img{height:100%;object-fit:cover}.life__overlay{position:relative;z-index:1;max-width:820px;padding:clamp(120px,15vw,210px) clamp(24px,7vw,120px)}.life h2{margin:22px 0 32px;font-size:clamp(2.8rem,6vw,6.4rem);line-height:1.35}.life__overlay>p:not(.eyebrow){max-width:650px;color:rgba(255,255,255,.78);line-height:2.15}
.contact{position:relative;padding:clamp(110px,14vw,190px) clamp(22px,6vw,100px);color:#fff;background:var(--gold);text-align:center}.contact .ghost{color:rgba(255,255,255,.08)}.contact__inner{position:relative;z-index:1;width:min(880px,100%);margin:auto}.contact h2{margin:22px 0 30px;font-size:clamp(2.8rem,6.4vw,6.8rem);line-height:1.35}.contact__inner>p:not(.eyebrow){max-width:660px;margin:0 auto;line-height:2}.btn--light{min-width:min(440px,100%);min-height:72px;margin-top:38px;border:1px solid #fff;border-radius:8px;color:var(--gold);background:#fff;justify-content:center;font-family:var(--font-display);font-size:1.1rem}.btn--light:hover,.btn--light:focus-visible{color:#fff;background:transparent}.contact small{display:block;margin-top:18px;color:rgba(255,255,255,.74);font-size:.78rem}
.footer{color:#dfe4dd;background:#171915}.footer__brand svg{width:32px;fill:none;stroke:#cbd3c8;stroke-width:1.8}.footer__brand strong{font-family:var(--font-en);font-size:2.2rem;letter-spacing:.04em}.footer__sns a{color:#dfe4dd;text-decoration:underline;text-underline-offset:5px}.sticky-cta{border-radius:0;background:var(--gold)}
.marquee{color:#f5efe5;background:var(--moss)}.marquee__inner span:nth-child(even){color:#d9c9b0}
.hero__stage{grid-template-columns:minmax(0,1.25fr) minmax(420px,1fr)}.hero__copy{position:relative;inset:auto;width:auto}.hero h1 .l{overflow:visible}
.armor{padding-block:64px}.life{padding-block:64px}.contact{display:block}.contact__bg{opacity:.08}.contact small{font-size:.95rem;line-height:1.8}.footer__sns{flex-wrap:wrap}.footer__sns a{width:auto;height:auto;border:0;border-radius:0;padding:4px 0}
[data-reveal="clip"]{clip-path:inset(0 0 100% 0);opacity:1;transform:none;transition:clip-path 1s cubic-bezier(.22,1,.36,1)}[data-reveal="clip"].is-visible{clip-path:inset(0)}[data-reveal="fade"]{opacity:0;transform:none}[data-reveal="fade"].is-visible{opacity:1}
@media(max-width:1040px){.site-header{height:82px}.hero{padding-top:82px}.hero__stage{min-height:calc(100svh - 82px);grid-template-columns:1fr}.hero__copy{padding:48px 24px 26px;background:#fff}.hero h1{font-size:clamp(3.1rem,12vw,5.8rem)}.hero__lead{margin-top:22px;font-size:.96rem}.hero__actions{width:100%;margin-top:26px}.hero .btn--primary{width:100%;min-width:0;min-height:62px}.hero__trust{margin-top:16px;font-size:.88rem}.hero__photo-wrap{min-height:38svh}.hero__photo{height:44svh;aspect-ratio:832/851;object-position:49% 46%}.hero__photo-wrap:before{display:none}.scroll-cue{display:none}.armor,.dialogue{grid-template-columns:1fr}.armor__visual{min-height:58svh}.armor__copy{padding:74px 24px 96px}.dialogue{padding-left:24px;padding-right:24px}.dialogue__visual{max-height:68svh}.dialogue__visual img{aspect-ratio:4/3}.chaos__layout{grid-template-columns:1fr}.chaos__layout figure{max-width:720px}}
@media(max-width:700px){.site-header{padding:0 20px}.brand__mark{width:24px}.brand__text{font-size:2rem}.hero__kicker{margin-bottom:16px;font-size:.7rem}.hero h1{font-size:clamp(2.9rem,14vw,4.4rem);line-height:1.3}.hero__lead br{display:none}.hero__photo{height:40svh}.section{padding-left:20px;padding-right:20px}.section__head h2,.armor h2,.dialogue h2{font-size:clamp(2rem,9.5vw,3.2rem)}.empathy__grid{grid-template-columns:1fr;margin-top:44px}.empathy__grid p{padding:22px 8px;border-right:0}.empathy__closing{margin-top:48px}.armor__visual{min-height:48svh}.chaos__layout{margin-top:44px;gap:36px}.dialogue__list li{grid-template-columns:1fr;gap:6px}.life{min-height:700px}.life__visual:after{background:linear-gradient(180deg,rgba(16,22,15,.35),rgba(16,22,15,.82) 58%,#10160f)}.life__visual img{object-position:62% center}.life__overlay{padding:320px 20px 84px}.life h2,.contact h2{font-size:clamp(2.6rem,12vw,4.2rem)}.contact{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{transform:none!important;clip-path:none!important;transition:opacity .6s ease!important}.hero__ambient{animation:none!important}}
