
/* NAV */

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;background:#EAE6E1}
.hero-left{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:140px 56px 100px}
.hero-left-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 0% 50%,rgba(200,165,90,.12) 0%,transparent 60%),#EAE6E1}
.hero-left-content{position:relative;z-index:1}
.hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:32px;animation:fadeUp 1s .2s both}
.eyebrow-line{width:24px;height:1px;background:var(--gold)}
.eyebrow-text{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.4em;color:var(--gold);font-style:italic}
.hero-name{font-family:'Noto Serif JP',serif;font-size:clamp(34px,5vw,62px);font-weight:900;color:var(--dark);line-height:1.2;margin-bottom:8px;animation:fadeUp 1s .3s both;letter-spacing:.05em}
.hero-name-en{font-family:'Cormorant Garamond',serif;font-size:clamp(16px,2vw,22px);font-weight:300;font-style:italic;color:var(--gold);letter-spacing:.3em;margin-bottom:24px;display:block;animation:fadeUp 1s .4s both}
.hero-role{font-family:'Noto Serif JP',serif;font-size:13px;letter-spacing:.2em;color:var(--text-mid);margin-bottom:32px;animation:fadeUp 1s .5s both;font-weight:400}
.hero-catch{font-family:'Noto Serif JP',serif;font-size:clamp(17px,2.2vw,24px);font-weight:700;color:var(--dark);line-height:1.75;margin-bottom:28px;animation:fadeUp 1s .6s both}
.hero-catch span{color:var(--gold)}
.hero-divider{width:32px;height:1px;background:rgba(200,165,90,.4);margin-bottom:28px;animation:fadeUp 1s .7s both}
.hero-intro{font-family:'Noto Serif JP',serif;font-size:13px;line-height:2.3;color:var(--dark-mid);font-weight:300;margin-bottom:32px;animation:fadeUp 1s .8s both}
.hero-cta{animation:fadeUp 1s .9s both}
.btn-line-hero{display:inline-flex;align-items:center;gap:10px;background:var(--line-green);color:#fff;padding:14px 28px;border-radius:50px;font-size:12px;letter-spacing:.15em;text-decoration:none;font-weight:500;transition:transform .3s,box-shadow .3s;font-family:'Inter',sans-serif}
.btn-line-hero:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,185,0,.35)}
.btn-line-hero svg{width:18px;height:18px;fill:#fff;flex-shrink:0}
.hero-right{position:relative;overflow:hidden}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:brightness(.9) contrast(1.05) saturate(.92)}
.hero-right::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to right,#EAE6E1 0%,rgba(234,230,225,.45) 22%,transparent 50%)}
.hero-right::after{content:'';position:absolute;bottom:0;left:0;right:0;z-index:1;height:180px;background:linear-gradient(to top,#EAE6E1 0%,transparent 100%)}
.scroll-hint{position:absolute;bottom:36px;left:56px;z-index:3;display:flex;align-items:center;gap:10px;animation:fadeUp 1s 1.1s both}
.scroll-hint-text{font-size:9px;letter-spacing:.4em;color:var(--text-mid);font-family:'Inter',sans-serif}
.scroll-track{width:40px;height:1px;background:rgba(200,165,90,.2);position:relative;overflow:hidden}
.scroll-track::after{content:'';position:absolute;top:0;left:0;width:12px;height:100%;background:var(--gold);animation:trackSlide 2s ease-in-out infinite}
@keyframes trackSlide{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* COMMON */
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,3vw,36px);font-weight:700;color:var(--dark);line-height:1.65;margin-bottom:24px}
.sec-title span{color:var(--gold)}
.sec-title-white{color:#fff}

/* STORY */
.story-section{background:var(--warm-white);padding:120px 52px;position:relative;overflow:hidden}
.story-bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Noto Serif JP',serif;font-size:200px;font-weight:900;color:rgba(200,165,90,.04);white-space:nowrap;pointer-events:none;line-height:1}
.story-inner{max-width:940px;margin:0 auto;position:relative;z-index:1}
.story-chapters{display:flex;flex-direction:column;gap:72px}
.chapter{display:grid;grid-template-columns:1fr 2fr;gap:52px;align-items:start}
.chapter-reverse{grid-template-columns:2fr 1fr}
.chapter-label{position:relative}
.chapter-num{font-family:'Cormorant Garamond',serif;font-size:80px;font-weight:300;font-style:italic;color:rgba(200,165,90,.15);line-height:1;margin-bottom:8px}
.chapter-tag{font-size:10px;letter-spacing:.25em;color:var(--gold);font-family:'Inter',sans-serif;font-weight:500}
.chapter-title{font-family:'Noto Serif JP',serif;font-size:clamp(17px,2.2vw,24px);font-weight:700;color:var(--dark);line-height:1.65;margin-top:8px}
.chapter-body{font-family:'Noto Serif JP',serif;font-size:14px;line-height:2.6;color:var(--text-mid);font-weight:300}
.chapter-body p{margin-bottom:16px}
.chapter-body p:last-child{margin-bottom:0}
.chapter-quote{margin-top:20px;padding:16px 20px;border-left:2px solid var(--gold);background:rgba(200,165,90,.06);border-radius:0 12px 12px 0;font-family:'Noto Serif JP',serif;font-size:14px;line-height:2;color:var(--dark-mid);font-weight:500}
.chapter-divider{border:none;border-top:1px dashed rgba(200,165,90,.2);margin:0}

/* TURNING POINT */
.turning-section{background:var(--dark);padding:120px 52px;position:relative;overflow:hidden}
.turning-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 30% 50%,rgba(200,165,90,.12) 0%,transparent 65%)}
.turning-inner{max-width:880px;margin:0 auto;position:relative;z-index:1}
.turning-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.turning-visual{position:relative;display:flex;justify-content:center;align-items:center}
.turning-blob{width:280px;height:340px;border-radius:40% 60% 55% 45% / 45% 45% 55% 55%;background:linear-gradient(145deg,rgba(200,165,90,.2),rgba(44,24,16,.6));overflow:hidden;animation:morphBlob 12s ease-in-out infinite;position:relative}
.turning-blob img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:brightness(.8) saturate(.85)}
.turning-orbit{position:absolute;width:340px;height:340px;border-radius:50%;border:1px solid rgba(200,165,90,.18);animation:rotateSlow 24s linear infinite}
.turning-orbit::after{content:'✦';position:absolute;top:-8px;right:24%;font-size:11px;color:var(--gold-light);opacity:.5}
@keyframes morphBlob{0%,100%{border-radius:40% 60% 55% 45% / 45% 45% 55% 55%}50%{border-radius:60% 40% 45% 55% / 55% 55% 45% 45%}}
@keyframes rotateSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.turning-text .sec-eyebrow-line{background:rgba(200,165,90,.6)}
.turning-heading{font-family:'Noto Serif JP',serif;font-size:clamp(20px,2.8vw,32px);font-weight:700;color:#fff;line-height:1.7;margin-bottom:20px}
.turning-heading span{color:var(--gold-light)}
.turning-body{font-family:'Noto Serif JP',serif;font-size:13px;line-height:2.5;color:rgba(255,255,255,.55);font-weight:300;margin-bottom:16px}
.turning-quote{padding:16px 20px;border-left:2px solid var(--gold);background:rgba(200,165,90,.08);border-radius:0 12px 12px 0;font-family:'Noto Serif JP',serif;font-size:14px;line-height:2;color:rgba(255,255,255,.8);font-weight:500;margin-top:20px}
.investment-badge{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:10px 20px;border:1px solid rgba(200,165,90,.3);border-radius:30px;background:rgba(200,165,90,.08)}
.investment-num{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;color:var(--gold-light);font-style:italic}
.investment-label{font-size:11px;letter-spacing:.15em;color:rgba(255,255,255,.4);font-family:'Inter',sans-serif}

/* NOW */
.now-section{background:var(--off-white);padding:120px 52px}
.now-inner{max-width:860px;margin:0 auto}
.now-message{font-family:'Noto Serif JP',serif;font-size:clamp(20px,2.8vw,32px);font-weight:700;color:var(--dark);line-height:1.9;text-align:center;margin:40px 0 52px}
.now-message span{color:var(--gold)}
.now-pillars{display:flex;flex-direction:column;gap:0}
.now-pillar{display:grid;grid-template-columns:1fr;padding:28px 0;border-bottom:1px solid rgba(200,165,90,.12)}
.now-pillar:first-child{border-top:1px solid rgba(200,165,90,.12)}
.now-pillar-inner{display:flex;align-items:flex-start;gap:20px}
.now-pillar-num{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:rgba(200,165,90,.3);font-style:italic;line-height:1;flex-shrink:0;width:48px}
.now-pillar-text{flex:1}
.now-pillar-title{font-family:'Noto Serif JP',serif;font-size:17px;font-weight:700;color:var(--dark);margin-bottom:10px;line-height:1.5}
.now-pillar-body{font-family:'Noto Serif JP',serif;font-size:13px;line-height:2.3;color:var(--text-mid);font-weight:300}
.now-pillar-quote{font-family:'Noto Serif JP',serif;font-size:13px;font-weight:500;color:var(--gold);margin-top:8px;font-style:italic}

/* FACTS BAR (hero) */
.facts-bar{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;margin-bottom:8px}
.fact-chip{background:rgba(200,165,90,.08);border:1px solid rgba(200,165,90,.22);border-radius:20px;padding:7px 16px;font-size:11px;color:var(--dark-mid);letter-spacing:.02em;font-family:'Noto Serif JP',serif}
.fact-chip strong{color:var(--gold);font-weight:700}

/* FULL ESSAY (verbatim) */
.essay-section{background:var(--warm-white);padding:120px 52px}
.essay-inner{max-width:720px;margin:0 auto}
.essay-lede{font-family:'Noto Serif JP',serif;font-size:14px;line-height:2.6;color:var(--dark-mid);font-weight:400;margin-bottom:20px;white-space:pre-line}
.essay-block{margin-top:56px;padding-top:56px;border-top:1px solid rgba(200,165,90,.15)}
.essay-block:first-of-type{margin-top:64px}
.essay-h3{font-family:'Noto Serif JP',serif;font-size:clamp(17px,2.2vw,22px);font-weight:700;color:var(--dark);line-height:1.6;margin-bottom:24px}
.essay-p{font-family:'Noto Serif JP',serif;font-size:14px;line-height:2.5;color:var(--text-mid);font-weight:300;white-space:pre-line;margin-bottom:18px}
.essay-p:last-child{margin-bottom:0}
.essay-p strong{color:var(--dark-mid);font-weight:500}

/* QUAL */
.qual-section{background:var(--cream);padding:120px 52px}
.qual-inner{max-width:900px;margin:0 auto}
.qual-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;align-items:start}
.investment-block{background:var(--dark);border-radius:20px;padding:32px 28px;text-align:center}
.inv-num{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:300;color:var(--gold-light);font-style:italic;line-height:1;margin-bottom:4px}
.inv-unit{font-family:'Noto Serif JP',serif;font-size:13px;color:rgba(255,255,255,.4);margin-bottom:12px;letter-spacing:.1em}
.inv-desc{font-family:'Noto Serif JP',serif;font-size:12px;line-height:1.9;color:rgba(255,255,255,.35);font-weight:300}
.qual-list{display:flex;flex-direction:column;gap:10px}
.qual-item{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff;border-radius:12px;border:1px solid rgba(200,165,90,.1);transition:border-color .3s,transform .3s}
.qual-item:hover{border-color:rgba(200,165,90,.3);transform:translateX(4px)}
.qual-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0}
.qual-name{font-family:'Noto Serif JP',serif;font-size:13px;color:var(--dark-mid);font-weight:400}

/* VOICE */
.voice-section{background:var(--warm-white);padding:120px 52px}
.voice-inner{max-width:960px;margin:0 auto}
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.voice-card{background:#fff;border-radius:18px;padding:26px 22px;border:1px solid rgba(200,165,90,.1);position:relative;transition:transform .3s,box-shadow .3s}
.voice-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(200,165,90,.1)}
.voice-card::before{content:'❝';position:absolute;top:14px;right:18px;font-size:28px;color:rgba(200,165,90,.12);font-family:serif;line-height:1}
.voice-tag{display:inline-block;background:var(--gold-pale);color:var(--gold);font-size:10px;letter-spacing:.15em;padding:3px 11px;border-radius:20px;margin-bottom:12px}
.voice-text{font-family:'Noto Serif JP',serif;font-size:13px;line-height:2.1;color:var(--dark-mid);margin-bottom:14px}
.voice-name{font-size:11px;letter-spacing:.15em;color:var(--text-mid)}
.voice-more{display:block;text-align:center;margin-top:40px;font-size:12px;letter-spacing:.2em;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(200,165,90,.3);padding-bottom:2px;width:fit-content;margin-left:auto;margin-right:auto;transition:border-color .2s;font-family:'Inter',sans-serif}
.voice-more:hover{border-color:var(--gold)}

/* CTA */
.cta-section{background:var(--dark);padding:120px 52px;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(200,165,90,.1) 0%,transparent 70%)}
.cta-inner{position:relative;z-index:1;max-width:580px;margin:0 auto}
.cta-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(200,165,90,.3);color:var(--gold-light);font-size:11px;letter-spacing:.3em;padding:7px 20px;border-radius:28px;margin-bottom:28px;font-family:'Inter',sans-serif}
.cta-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,3.5vw,36px);color:#fff;font-weight:700;line-height:1.7;margin-bottom:16px}
.cta-sub{font-family:'Noto Serif JP',serif;font-size:14px;line-height:2.3;color:rgba(255,255,255,.48);font-weight:300;margin-bottom:40px}
.btn-line-cta{display:inline-flex;align-items:center;gap:12px;background:var(--line-green);color:#fff;padding:17px 48px;border-radius:50px;font-size:13px;letter-spacing:.18em;font-weight:500;text-decoration:none;transition:transform .3s,box-shadow .3s;box-shadow:0 0 48px rgba(0,185,0,.18);font-family:'Inter',sans-serif}
.btn-line-cta:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,185,0,.32)}
.btn-line-cta svg{width:22px;height:22px;fill:#fff}
.cta-sub-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.cta-sub-link{font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.32);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:2px;transition:color .2s;font-family:'Inter',sans-serif}
.cta-sub-link:hover{color:var(--gold-light)}

/* FOOTER */
.footer-top{display:flex;justify-content:space-between;align-items:start;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:26px;flex-wrap:wrap;gap:32px}

.reveal{opacity:0;transform:translateY(32px);transition:opacity .85s ease,transform .85s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.12s}
.reveal-delay-2{transition-delay:.22s}
.reveal-delay-3{transition-delay:.32s}
.reveal-delay-4{transition-delay:.42s}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-right{height:65vw;max-height:420px}
  .hero-left{padding:100px 24px 60px}
  .scroll-hint{left:24px}
  .chapter{grid-template-columns:1fr}
  .chapter-reverse{grid-template-columns:1fr}
  .turning-grid,.qual-grid{grid-template-columns:1fr}
  .turning-blob{display:none}
  .voice-grid{grid-template-columns:1fr}
  .story-section,.turning-section,.now-section,.qual-section,.voice-section,.cta-section,.essay-section{padding:72px 24px}
  .facts-bar{gap:8px}
  .fact-chip{font-size:10px;padding:6px 12px}
  .footer-top{flex-direction:column}
}
