:root{--white:#fffffe;--warm:#f7f2e7;--cream:#fbf8f0;--gold:#b89a5e;--yellow:#f6da73;--text:#3d342d;--muted:#756b61;--coral:#d96b58;--gold-gradient:linear-gradient(170deg,#fff1b8,#f6da73 48%,#b89a5e);--accent-gradient:linear-gradient(135deg,#FFA86B 0%,#FF7A6B 50%,#F0567A 100%);--shadow:0 16px 40px rgba(61,52,45,.08);--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans-serif;--en:'Fraunces',serif;--script:'Pinyon Script',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:var(--sans);line-height:1.9}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}.container{width:min(1120px,calc(100% - 80px));margin-inline:auto}.section-block{padding:126px 40px}.skip-link{position:fixed;left:16px;top:-80px;z-index:999;background:var(--text);color:#fff;padding:8px 16px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.section-heading{margin-bottom:60px}.section-heading h2{margin:14px 0 0;font:500 clamp(25px,2.3vw,32px)/1.65 var(--serif);letter-spacing:.055em}.section-heading p{max-width:600px;margin:18px auto 0;color:#574e45}.center{text-align:center}.split{display:flex;align-items:end;justify-content:space-between;gap:40px}.split>p{max-width:420px;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 40px;border-radius:0;font-size:14px;font-weight:500;letter-spacing:.1em;transition:.25s}.button:hover{transform:translateY(-2px)}.accent{color:#fff;background:var(--accent-gradient);box-shadow:0 14px 32px rgba(217,107,88,.26)}.outline{border:1px solid rgba(184,154,94,.62);background:rgba(255,255,254,.72)}
.site-header{position:fixed;inset:0 0 auto;z-index:100;padding-top:18px;transition:.4s}.site-header.is-scrolled{padding-top:8px;background:rgba(255,255,254,.92);box-shadow:0 8px 30px rgba(61,52,45,.08);backdrop-filter:blur(14px)}.header-inner{width:min(1528px,calc(100% - 80px));height:58px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column}.brand-logo{font:500 23px/1.2 var(--en);letter-spacing:.14em}.brand-sub{font:10px var(--en);letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.nav,.nav-track{display:flex;align-items:center}.nav{gap:20px}.nav-track{position:relative;gap:4px}.nav-track a{position:relative;z-index:1;padding:9px 18px;font-size:14px;letter-spacing:.09em}.nav-indicator{position:absolute;top:50%;left:0;width:0;height:38px;opacity:0;transform:translateY(-50%);border-radius:0;background:var(--warm);transition:left .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .2s}.header-cta{padding:11px 28px;border-radius:0;color:#fff;background:var(--accent-gradient);box-shadow:0 8px 22px rgba(61,52,45,.14);font-size:13px}.scroll-line{height:2px;margin-top:7px;background:linear-gradient(90deg,transparent,rgba(184,154,94,.4),transparent)}.scroll-line span{display:block;width:0;height:100%;background:var(--accent-gradient)}.menu-toggle{display:none}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('../../src/fv-sachi-wind-light-web.jpg') 56% center/cover no-repeat;filter:brightness(1.16) saturate(1.2) sepia(.08);animation:fvzoom 24s ease-in-out infinite alternate}.hero-tint{position:absolute;inset:0;background:linear-gradient(100deg,rgba(251,244,229,.68),rgba(251,244,229,.36) 38%,transparent 67%),linear-gradient(100deg,rgba(107,72,48,.18),transparent 70%,rgba(217,107,88,.25))}.hero-wave{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:soft-light}.hero-wave path:first-of-type{animation:sway 8s ease-in-out infinite alternate}.hero-content{position:relative;width:min(1528px,calc(100% - 80px));margin:auto;padding:145px clamp(0px,5vw,80px) 80px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}.hero-content h1{margin:0;font:500 clamp(40px,5.4vw,74px)/1.42 var(--serif);letter-spacing:.05em}.hero-content>p{margin:0;font-size:16px;line-height:2.15}.hero-eyebrow{color:#a8642f}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.ghost{color:var(--coral);border:1px solid rgba(217,107,88,.45);background:rgba(255,255,254,.25);backdrop-filter:blur(6px)}.hero-area{display:flex;align-items:center;gap:14px!important;font-size:12px!important;letter-spacing:.14em}.hero-area span{width:36px;height:1px;background:rgba(107,72,48,.5)}.hero-vertical{position:absolute;left:34px;top:180px;writing-mode:vertical-rl;font:11px var(--en);letter-spacing:.42em;color:rgba(255,255,254,.85)}
.concern{position:relative;overflow:hidden}.concern:before,.concern:after{content:"";position:absolute;border-radius:50%}.concern:before{width:420px;height:420px;left:-140px;top:-140px;border:1px solid rgba(217,107,88,.16)}.concern:after{width:340px;height:340px;right:-100px;bottom:-160px;background:radial-gradient(circle,rgba(246,218,115,.22),transparent 70%)}.concern-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.concern-card{min-height:138px;padding:30px 28px;border-radius:0;background:var(--white);box-shadow:0 14px 34px rgba(61,52,45,.06)}.concern-card:nth-child(odd){transform:translateY(-8px)}.concern-card i{font:30px var(--script);color:rgba(217,107,88,.45)}.concern-card p{margin:10px 0 0;font-size:15px}.concern-card.dark{display:flex;flex-direction:column;background:linear-gradient(160deg,#3d342d,#574e45);color:var(--cream)}.dark p{font:500 17px/1.85 var(--serif)}.dark a{margin-top:auto;color:var(--yellow);font-size:13px}
.message{background:var(--white)}.message-grid{display:grid;grid-template-columns:360px minmax(0,520px);gap:clamp(48px,6vw,96px);align-items:center;justify-content:center}.profile{position:relative;margin:0;padding:0 0 96px 38px;isolation:isolate}.profile:before{content:"";position:absolute;inset:64px 28px 0 -18px;background:linear-gradient(135deg,#FFD8B8 0%,#FFC8B9 52%,#F8C7CF 100%);z-index:-1}.profile img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;border-radius:0;box-shadow:none}.profile figcaption{position:absolute;left:0;right:20px;bottom:30px;display:flex;flex-direction:column;gap:6px;color:var(--white);text-shadow:0 1px 8px rgba(122,75,57,.12)}.profile-name{font:italic 68px/1.08 var(--en);letter-spacing:.045em}.profile-role{margin-left:24px;font:500 14px/1.6 var(--sans);letter-spacing:.02em}.message-copy h2{margin:24px 0;font:500 clamp(26px,2.5vw,34px)/1.72 var(--serif)}.message-copy>p{margin-bottom:18px;color:#574e45;font-size:15px}.signature{margin-top:24px;padding-top:22px;border-top:1px solid rgba(184,154,94,.34);display:flex;align-items:end;justify-content:flex-end;gap:18px}.signature>span{display:flex;flex-direction:column}.signature b{font:38px var(--script)}.signature small{color:var(--muted)}.signature a{color:var(--gold);font-size:13px}
.values{position:relative;background:var(--white);overflow:hidden}.aurora{position:absolute;inset:-20px;background:repeating-linear-gradient(100deg,#fff 0 7%,transparent 10% 12%,#fff 16%),repeating-linear-gradient(100deg,#93c5fd 10%,#ddd6fe 17%,#fde68a 24%,#fbcfe8 31%);background-size:300%,200%;filter:blur(18px);opacity:.25;animation:aurora 60s linear infinite;mask-image:radial-gradient(ellipse at 50% 25%,#000 25%,transparent 78%)}.values-inner{position:relative}.values-title{text-align:center;margin-bottom:84px}.values-title>span{display:flex;justify-content:center;align-items:baseline;gap:10px;font:500 clamp(18px,1.8vw,23px) var(--serif)}.values-title b{font:clamp(46px,5.5vw,68px) var(--en);background:var(--gold-gradient);background-clip:text;color:transparent}.values-title small{display:block;margin-top:12px}.values-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.values-grid:before{content:"";position:absolute;left:16%;right:16%;top:95px;height:1px;background:linear-gradient(90deg,transparent,rgba(184,154,94,.5),transparent)}.value{position:relative;text-align:center}.value div{width:190px;height:190px;margin:auto;display:grid;place-items:center;border:1px solid rgba(184,154,94,.5);border-radius:50%;background:var(--white);box-shadow:0 12px 30px rgba(61,52,45,.06)}.value h3{margin:0;font:500 16px/1.7 var(--serif)}.value p{max-width:230px;margin:22px auto 0;color:#574e45;font-size:13px}.word-marquee{overflow:hidden;padding:17px;background:var(--accent-gradient);color:#fff}.word-marquee>div{display:flex;width:max-content;animation:marquee 34s linear infinite}.word-marquee span{white-space:nowrap;font:14px var(--en);letter-spacing:.34em}
.method{background:linear-gradient(var(--white),#fdfbf5 60%,var(--cream))}.method-grid{display:grid;grid-template-columns:minmax(420px,1fr) 1fr;gap:clamp(32px,5vw,72px);align-items:center}.venn{position:relative;width:min(100%,520px);aspect-ratio:1.06;margin:auto}.venn-circle{position:absolute;width:60%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,254,.35)}.venn-circle b{font:24px var(--en);letter-spacing:.14em}.venn-circle span{font:500 13px var(--serif);color:var(--muted)}.venn .body{left:50%;top:0;transform:translateX(-50%);border:1px solid rgba(245,138,110,.62);padding-bottom:8%}.venn .mind{left:0;bottom:0;border:1px solid rgba(240,168,90,.62);padding-right:8%}.venn .life{right:0;bottom:0;border:1px solid rgba(239,110,127,.62);padding-left:8%}.venn-core{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);width:23%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;color:#fff;background:var(--accent-gradient);box-shadow:0 12px 30px rgba(217,107,88,.28);font-size:11px}.method-copy h3{font:500 clamp(21px,2vw,27px)/1.95 var(--serif)}.method-copy p{color:#574e45;font-size:15px}.read-more{display:inline-flex;align-items:center;gap:18px;margin-top:12px;font:13px var(--en);letter-spacing:.2em}.read-more span{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--accent-gradient)}
.services{background:linear-gradient(var(--white),var(--cream) 55%,var(--white))}.service-grid,.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(184,154,94,.22);border-radius:0;background:var(--white);box-shadow:var(--shadow);transition:.35s}.service-card:hover{transform:translateY(-6px);box-shadow:0 26px 56px rgba(61,52,45,.13)}.service-card>img{width:100%;height:216px;object-fit:cover}.service-card>div{padding:30px;display:flex;flex:1;flex-direction:column}.service-card h3{margin:10px 0 14px;font:500 20px var(--serif)}.service-card p{color:#574e45;font-size:14px}.service-card ul{padding:16px 0 0;margin:auto 0 18px;list-style:none;border-top:1px solid rgba(184,154,94,.22);color:var(--muted);font-size:12px}.service-card li:before{content:"— ";color:var(--gold)}.service-card a{color:var(--coral);font-size:13px}.life-design{margin-top:26px;padding:30px 36px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;border:1px solid rgba(184,154,94,.34);border-radius:0}.life-design h3{margin:10px 0 6px;font:500 20px var(--serif)}.life-design p{margin:0;color:#574e45;font-size:14px}
.voices{background:var(--cream)}.voice-card{margin:0;padding:38px 32px;display:flex;flex-direction:column;gap:20px;border:1px solid rgba(184,154,94,.22);border-radius:0;background:var(--white);box-shadow:0 12px 30px rgba(61,52,45,.05)}.voice-card>b{font:34px var(--en);color:rgba(184,154,94,.45)}.voice-card blockquote{margin:0;flex:1;font-size:14px}.voice-card figcaption{padding-top:18px;display:flex;align-items:center;gap:14px;border-top:1px solid rgba(184,154,94,.22);font-size:13px}.voice-card figcaption i{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--gold-gradient);font:15px var(--en)}.voice-card figcaption span{display:flex;flex-direction:column}.voice-card small{color:var(--muted)}
.photo-carousel{padding:64px 0;overflow:hidden;background:var(--white) url('../../src/gold-flow.png') center/1400px auto no-repeat}.photo-track{display:flex;width:max-content;gap:22px;animation:marquee 52s linear infinite}.photo-set{display:flex;gap:22px;align-items:flex-start}.photo-set img{width:250px;height:210px;object-fit:cover;border-radius:0;box-shadow:0 14px 34px rgba(61,52,45,.1)}.photo-set img:nth-child(2),.photo-set img:nth-child(5),.photo-set img:nth-child(7){width:170px}.photo-set img:nth-child(2),.photo-set img:nth-child(4){margin-top:-18px}.photo-set img:nth-child(5),.photo-set img:nth-child(7){margin-top:20px}.contact-section{position:relative;background:url('../../src/contact-cta-bg.jpg') center/cover}.contact-section:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,254,.93),rgba(251,248,240,.95))}.contact-inner{position:relative;width:min(760px,100%);margin:auto;text-align:center}.contact-inner h2{margin:18px 0;font:500 clamp(26px,2.6vw,36px) var(--serif)}.contact-inner p{max-width:600px;margin:0 auto 28px}.contact-inner>div{display:flex;justify-content:center;gap:16px}.contact-inner small{display:block;margin-top:20px;color:var(--muted)}.site-footer{padding:76px 40px 42px;background:var(--white);border-top:1px solid rgba(184,154,94,.34)}.footer-inner{width:min(880px,100%);margin:auto;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}.footer-area{color:var(--muted);font-size:12px}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;font-size:13px}.footer-sns{display:flex;gap:14px}.footer-sns a{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(184,154,94,.34);border-radius:0}.footer-sns img{width:18px}.footer-inner>small{font:11px var(--en);color:var(--muted)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s cubic-bezier(.2,.65,.3,1)}.reveal.is-visible{opacity:1;transform:none}@keyframes fvzoom{to{transform:scale(1.12)}}@keyframes sway{to{transform:translate(22px,-22px) scale(1.02)}}@keyframes aurora{to{background-position:350% 50%,350% 50%}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.container{width:min(100% - 40px,680px)}.section-block{padding:92px 20px}.header-inner{width:calc(100% - 40px)}.menu-toggle{position:relative;display:block;width:42px;height:42px;border:0;background:transparent}.menu-toggle i{position:absolute;left:9px;width:24px;height:1px;background:var(--text)}.menu-toggle i:nth-child(1){top:13px}.menu-toggle i:nth-child(2){top:20px}.menu-toggle i:nth-child(3){top:27px}.nav{position:absolute;left:20px;right:20px;top:72px;padding:24px;display:none;align-items:stretch;flex-direction:column;border-radius:0;background:rgba(255,255,254,.97);box-shadow:var(--shadow)}.nav.is-open{display:flex}.nav-track{align-items:stretch;flex-direction:column}.nav-indicator{display:none}.header-cta{text-align:center}.hero-content{width:calc(100% - 40px);padding:130px 0 70px}.hero-photo{background-position:64% center}.hero-tint{background:linear-gradient(90deg,rgba(251,244,229,.8),rgba(251,244,229,.4) 75%,transparent)}.hero-vertical{display:none}.concern-grid,.service-grid,.voice-grid,.values-grid{grid-template-columns:1fr}.concern-card:nth-child(odd){transform:none}.message-grid,.method-grid{grid-template-columns:1fr}.profile{width:min(300px,85%);margin:auto}.values-grid{gap:48px}.values-grid:before{display:none}.split{align-items:start;flex-direction:column}.life-design{grid-template-columns:1fr}.signature{align-items:start;flex-direction:column}}
@media(max-width:560px){.section-block{padding:76px 18px}.hero-content h1{font-size:clamp(38px,13vw,54px)}.hero-content>p br{display:none}.hero-actions,.hero-actions .button,.contact-inner>div .button{width:100%}.contact-inner>div{flex-wrap:wrap}.concern-grid{width:100%}.venn-circle b{font-size:18px}.venn-circle span{font-size:11px}.site-footer{padding-inline:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo,.hero-wave path,.aurora,.word-marquee>div,.photo-track{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* “こんな方へ” — portrait-centered recommendation constellation */
.recommend{position:relative;overflow:hidden;background-color:var(--cream);background-image:radial-gradient(ellipse at 18% 24%,rgba(255,218,183,.52),transparent 32%),radial-gradient(ellipse at 82% 68%,rgba(246,218,115,.26),transparent 34%),radial-gradient(ellipse at 58% 18%,rgba(255,241,214,.7),transparent 28%),url('../../src/paper-warm.png');background-size:auto,auto,auto,520px auto;background-blend-mode:normal,normal,normal,soft-light}.recommend:before,.recommend:after{content:"";position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none}.recommend:before{width:460px;height:300px;left:-130px;bottom:-80px;background:rgba(244,181,150,.13);transform:rotate(18deg)}.recommend:after{width:380px;height:260px;right:-90px;top:80px;background:rgba(246,218,115,.13);transform:rotate(-15deg)}.recommend .section-heading{position:relative;z-index:2;margin-bottom:22px}.recommend .section-heading h2{font-size:clamp(28px,3vw,40px)}.recommend-stage{position:relative;height:650px}.recommend-photo{position:absolute;left:50%;top:50%;width:290px;height:390px;transform:translate(-50%,-48%);z-index:2}.recommend-photo img{position:relative;width:100%;height:100%;object-fit:cover;object-position:50% 20%;border-radius:0;box-shadow:0 28px 65px rgba(94,65,45,.16);z-index:2}.recommend-ring{position:absolute;inset:-18px;border:1px solid rgba(184,154,94,.42);border-radius:0;z-index:1}.recommend-ring:after{content:"";position:absolute;inset:-13px;border:1px solid rgba(217,107,88,.15);border-radius:50%}.recommend-bubble{position:absolute;width:210px;aspect-ratio:1;display:grid;place-items:center;padding:24px;border-radius:50%;background:rgba(255,255,254,.94);border:1px solid rgba(184,154,94,.2);box-shadow:0 18px 42px rgba(91,65,43,.09);text-align:center;z-index:3}.recommend-bubble:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:rgba(217,107,88,.34);box-shadow:0 0 0 7px rgba(217,107,88,.07)}.recommend-bubble p{margin:0;font:500 15px/1.9 var(--serif);letter-spacing:.035em}.bubble-1{left:4%;top:4%}.bubble-1:after{right:10px;bottom:24px}.bubble-2{right:3%;top:5%;width:224px}.bubble-2:after{left:5px;bottom:34px}.bubble-3{left:0;bottom:4%;width:224px}.bubble-3:after{right:3px;top:36px}.bubble-4{right:0;bottom:3%;width:230px}.bubble-4:after{left:3px;top:42px}.bubble-5{left:50%;bottom:-2%;width:200px;transform:translateX(-50%);z-index:4}.bubble-5:after{top:-2px;right:30px}
@media(max-width:900px){.recommend-stage{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.recommend-photo{position:relative;left:auto;top:auto;width:min(290px,78vw);height:380px;transform:none;grid-column:1/-1;margin:25px auto 36px}.recommend-bubble{position:relative;inset:auto;width:100%!important;aspect-ratio:auto;min-height:150px;border-radius:50%;transform:none!important}.recommend-bubble:after{display:none}.bubble-5{grid-column:1/-1;width:min(310px,100%)!important;justify-self:center}}
@media(max-width:560px){.recommend-stage{grid-template-columns:1fr}.recommend-photo{height:350px}.recommend-bubble,.bubble-5{grid-column:1;width:min(310px,100%)!important;justify-self:center;min-height:138px}}

/* Recommendation panel and bridge into the founder message */
.recommend-panel{position:relative;z-index:2;min-height:500px;padding:58px 64px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:center;gap:48px;border:1px solid rgba(184,154,94,.16);border-radius:0;background:rgba(255,255,254,.88);box-shadow:0 24px 62px rgba(91,65,43,.08);backdrop-filter:blur(3px)}.recommend-panel:before{content:"worry";position:absolute;left:48px;top:-42px;font:64px/1 var(--script);color:rgba(217,107,88,.15);transform:rotate(-5deg)}.recommend-list{margin:0;padding:0;display:flex;flex-direction:column;gap:25px;list-style:none}.recommend-list li{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:17px}.recommend-list p{margin:0;font:500 clamp(15px,1.45vw,18px)/1.75 var(--serif);letter-spacing:.04em}.recommend-check{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--white);background:var(--accent-gradient);box-shadow:0 7px 18px rgba(217,107,88,.2);font:600 17px/1 var(--sans)}.recommend-portrait{position:relative;width:min(100%,310px);margin:0 auto;align-self:end}.recommend-portrait img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:0;filter:saturate(.88) brightness(1.04);box-shadow:0 22px 54px rgba(61,52,45,.13);z-index:1}.portrait-halo{position:absolute;inset:-24px -30px 36px;border-radius:50%;background:radial-gradient(circle at 50% 48%,rgba(246,218,115,.3),rgba(255,218,183,.17) 52%,transparent 70%)}.recommend-bridge{position:relative;z-index:2;width:min(820px,calc(100% - 40px));margin:72px auto -48px;text-align:center}.bridge-arrow{position:relative;display:block;width:46px;height:30px;margin:0 auto 28px}.bridge-arrow:before,.bridge-arrow:after{content:"";position:absolute;left:50%;width:27px;height:1px;background:var(--gold)}.bridge-arrow:before{top:7px;transform:translateX(-86%) rotate(35deg)}.bridge-arrow:after{top:7px;transform:translateX(-14%) rotate(-35deg)}.recommend-bridge p{margin:0;font:500 clamp(23px,2.5vw,34px)/1.8 var(--serif);letter-spacing:.055em}.recommend-bridge p:after{content:"";display:block;width:72px;height:1px;margin:28px auto;background:var(--gold-gradient)}.recommend-bridge small{display:block;color:#665b51;font-size:14px;line-height:2;letter-spacing:.035em}.sp-only{display:none}
@media(max-width:900px){.recommend-panel{min-height:0;padding:46px 38px;grid-template-columns:1.15fr .85fr;gap:28px}.recommend-panel:before{left:34px}.recommend-list{gap:20px}.recommend-list li{grid-template-columns:32px 1fr;gap:12px}.recommend-check{width:30px;height:30px}.recommend-bridge{margin-top:58px}}
@media(max-width:680px){.recommend-panel{padding:44px 24px 0;grid-template-columns:1fr;overflow:hidden}.recommend-panel:before{left:22px;top:-28px;font-size:50px}.recommend-list{position:relative;z-index:2}.recommend-list p br{display:none}.recommend-portrait{width:min(230px,72vw);margin-top:10px}.recommend-bridge{margin-bottom:-28px}.sp-only{display:block}}

/* Recommendation refinements: no “worry” label, wider copy, transparent illustration */
.recommend-panel:before{content:none}.recommend-panel{grid-template-columns:minmax(600px,1.45fr) minmax(280px,.55fr);padding:54px 58px 30px;gap:32px}.recommend-list{gap:20px}.recommend-list li{grid-template-columns:38px minmax(0,1fr)}.recommend-list p{white-space:nowrap;font-size:clamp(15px,1.35vw,17px);line-height:1.65}.recommend-portrait{width:min(100%,330px);align-self:end}.recommend-portrait img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0;filter:none;box-shadow:none}.portrait-halo{display:none}
@media(max-width:1050px){.recommend-panel{grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr)}.recommend-list p{white-space:normal}}
@media(max-width:680px){.recommend-panel{grid-template-columns:1fr;padding:40px 24px 0}.recommend-list{gap:16px}.recommend-list p{white-space:normal;line-height:1.7}.recommend-portrait{width:min(260px,76vw)}}
.recommend-portrait{width:min(100%,300px)}.recommend-portrait img{opacity:.72;filter:sepia(.08) saturate(.55);mix-blend-mode:multiply}
.recommend-bridge{width:min(1120px,calc(100% - 48px))}.recommend-bridge p{font-size:clamp(22px,2.15vw,32px);white-space:nowrap}

/* Content-led photo collage for “こんな方へ” */
.recommend-panel{grid-template-columns:minmax(330px,.78fr) minmax(560px,1.22fr);padding:50px 54px;gap:clamp(44px,6vw,82px)}.recommend-collage{position:relative;width:100%;max-width:390px;min-height:410px;margin:auto}.collage-item{position:absolute;margin:0;overflow:hidden;border-radius:0;background:var(--warm);box-shadow:0 16px 38px rgba(61,52,45,.11)}.collage-item img{width:100%;height:100%;object-fit:cover;filter:none}.collage-stretch{left:0;top:22px;width:55%;height:190px}.collage-walk{right:0;top:0;width:39%;height:235px}.collage-morning{left:5%;bottom:0;width:39%;height:175px}.collage-meditation{right:3%;bottom:16px;width:50%;height:150px}.collage-stretch:after,.collage-walk:after,.collage-morning:after,.collage-meditation:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,254,.05),rgba(246,218,115,.08))}.recommend-list{justify-self:stretch}.recommend-list p{font-size:clamp(15px,1.25vw,17px)}
@media(max-width:1050px){.recommend-panel{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:36px}.recommend-collage{min-height:370px}.collage-stretch{height:172px}.collage-walk{height:215px}.collage-morning{height:158px}.collage-meditation{height:138px}}
@media(max-width:760px){.recommend-panel{grid-template-columns:1fr;padding:38px 24px 42px}.recommend-collage{width:min(100%,390px);min-height:380px}.recommend-list{width:min(100%,520px);margin:auto}.recommend-list p{white-space:normal}.collage-stretch{height:176px}.collage-walk{height:220px}.collage-morning{height:164px}.collage-meditation{height:142px}}
@media(max-width:420px){.recommend-collage{min-height:330px}.collage-stretch{height:150px}.collage-walk{height:190px}.collage-morning{height:138px}.collage-meditation{height:120px}.recommend-list li{grid-template-columns:30px 1fr}.recommend-check{width:28px;height:28px}}

/* Visual balance refinements */
.recommend-panel{width:min(1240px,calc(100% - 80px));min-height:0;padding:28px 20px 22px;grid-template-columns:400px 600px;justify-content:center;gap:76px;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.collage-stretch img{filter:none}.collage-stretch:after{background:linear-gradient(145deg,rgba(184,154,94,.06),rgba(217,107,88,.08))}.recommend-list{width:100%;justify-self:center}
@media(max-width:1150px){.recommend-panel{width:min(100% - 48px,980px);grid-template-columns:minmax(300px,380px) minmax(0,520px);gap:50px;padding-inline:0}}
@media(max-width:760px){.recommend-panel{width:min(100% - 40px,560px);grid-template-columns:1fr;gap:32px;padding:20px 0 30px}.recommend-list{width:min(100%,520px)}}
@media(max-width:760px){.recommend-bridge{width:min(100% - 36px,620px)}.recommend-bridge p{white-space:normal;font-size:clamp(20px,5.6vw,27px)}}
.recommend-collage,.recommend-panel>.recommend-list{position:relative;left:clamp(28px,4vw,72px)}.collage-stretch img{filter:none}
@media(max-width:1150px){.recommend-collage,.recommend-panel>.recommend-list{left:clamp(12px,2vw,24px)}}
@media(max-width:760px){.recommend-collage,.recommend-panel>.recommend-list{left:auto}}

/* Alternate first-view candidate for visual comparison */
.hero-alt{min-height:100svh;background:#eef3f0}.hero-alt-photo{background-image:url('../../src/fv-sachi-wind-light-web.jpg');background-position:center center;filter:none}.hero-alt-tint{background:linear-gradient(90deg,rgba(255,252,245,.5) 0%,rgba(255,252,245,.28) 34%,rgba(255,252,245,.06) 55%,transparent 68%)}
@media(max-width:700px){.hero-alt-photo{background-position:58% center}.hero-alt-tint{background:linear-gradient(90deg,rgba(255,252,245,.62) 0%,rgba(255,252,245,.34) 68%,rgba(255,252,245,.08) 100%)}.fv-candidate-label{top:82px}}

/* Centralized typography scale */
:root{--font-body:16px;--font-body-small:14px;--line-body:1.9;--line-body-relaxed:2}
body{font-size:var(--font-body);line-height:var(--line-body)}
.section-heading p,.hero-content>p,.concern-card p,.message-copy>p,.value p,.method-copy p,.service-card p,.life-design p,.voice-card blockquote,.recommend-list p,.recommend-bridge small{font-size:var(--font-body);line-height:var(--line-body)}
.service-card ul,.voice-card figcaption,.footer-area,.footer-nav{font-size:var(--font-body-small);line-height:var(--line-body)}
.message-copy>p,.method-copy p,.recommend-bridge small{line-height:var(--line-body-relaxed)}

/* Original fine flowing lines on first-view candidate A */
#top .hero-wave{z-index:1;mix-blend-mode:normal;opacity:1}
#top .hero-flow{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:none}
#top .hero-flow-a{stroke:url(#wave-a);stroke-width:2.1;opacity:.72}
#top .hero-flow-b{stroke:url(#wave-b);stroke-width:1.45;opacity:.56}
#top .hero-content{z-index:3}
#top .hero-vertical{z-index:3}

/* Eclat plus signature: light and plus motif */
.sec-hikari h2::after{content:"";display:block;width:42px;height:44px;margin:14px auto 0;background:url('../../src/brand-hikari.png') center/contain no-repeat;filter:brightness(0) saturate(100%) invert(88%) sepia(42%) saturate(900%) hue-rotate(340deg) brightness(108%) contrast(92%);opacity:.92}
.sec-hikari:not(.center) h2::after{margin-left:0}
.section-heading:not(.center) p{margin-left:0;max-width:none}
@media(max-width:560px){.sec-hikari h2::after{width:36px;height:38px;margin-top:12px}}

/* Preserve the generated FV photo's original color; tint only the copy area. */
#top .hero-photo{filter:none}
#top .hero-tint{background:linear-gradient(90deg,rgba(255,252,245,.46) 0%,rgba(255,252,245,.16) 38%,transparent 60%)}
@media(max-width:900px){#top .hero-tint{background:linear-gradient(90deg,rgba(255,252,245,.34) 0%,rgba(255,252,245,.14) 62%,transparent 100%)}}
