@charset "UTF-8";
:root{--forest:#192d28;--forest-light:#29463a;--paper:#ffffff;--ink:#18241e;--gold:#c9b686;--line:#d8d5c7;--serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-weight:500;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:400}a,button{-webkit-tap-highlight-color:transparent}.skip{position:fixed;left:20px;top:-100px;z-index:30;background:var(--paper);color:var(--forest);padding:12px}.skip:focus{top:12px}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;position:absolute;left:0;right:0;top:0;z-index:10;color:#fff;border-bottom:1px solid #c9b68628}.brand{display:flex;align-items:center;gap:14px}.brand img{border-radius:50%;object-fit:cover;border:1px solid #c9b68666}.brand-name{font-size:29px;display:flex;align-items:center;gap:18px;letter-spacing:.13em}.brand-name>span{font:11px var(--sans);letter-spacing:.17em}.eyebrow{font:11px/1.8 var(--sans);letter-spacing:.21em;color:var(--gold)}.eyebrow>span{font-size:16px;margin-right:13px}.eyebrow.dark{color:#64522d}.section-shell{max-width:1160px;width:88%;margin:0 auto}.intro{padding:135px 5% 145px;display:grid;grid-template-columns:280px 1fr;gap:15%;align-items:center}.intro-portrait{text-align:center}.portrait-frame{padding:13px;border:1px solid #b2a37e70;border-radius:50%;max-width:215px;margin:auto;position:relative}.portrait-frame:after{content:"✦";position:absolute;right:11px;top:10px;background:var(--paper);color:#91835e;font-size:17px}.portrait-frame img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;filter:sepia(.12)}.intro-portrait p{font:11px/2 var(--sans);letter-spacing:.14em;margin-top:25px}.intro-portrait p span{display:block;font-size:10px;color:#505c52}.signature{display:block;font-size:48px;line-height:1.5;margin-top:13px}.intro h2{font-size:35px;line-height:1.8;letter-spacing:.1em;margin:15px 0 28px}.intro-copy>p:not(.eyebrow){font-size:15px;line-height:2.4;margin-bottom:17px}.story-layout{border-top:1px solid var(--line);display:grid;grid-template-columns:260px minmax(0,1fr);gap:85px;padding:92px 0 100px;align-items:start}.story-index{position:sticky;top:65px}.story-index h2{font-size:29px;line-height:1.8;letter-spacing:.07em;margin:18px 0 32px}.story-index ol{list-style:none;counter-reset:chapters;padding:0;margin:0}.story-index li{counter-increment:chapters;font:11px/1.7 var(--sans);border-bottom:1px solid var(--line)}.story-index li a{display:block;padding:17px 0;transition:padding-left .2s}.story-index li a:before{content:"0" counter(chapters);font:11px Georgia,serif;color:#64522d;margin-right:17px}.story-index li a:hover{padding-left:6px;color:#796338}.small-ornament{font-size:37px;color:#b1a37b;margin:38px 0}.chapter{scroll-margin-top:55px;padding:0 0 65px;margin-bottom:60px;border-bottom:1px solid var(--line)}.chapter:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}.chapter-heading{display:flex;align-items:center;gap:21px;margin:0 0 39px}.chapter-heading>span{color:#64522d;border:1px solid #bbae8a;width:35px;height:35px;border-radius:50%;font-size:12px;display:grid;place-items:center;flex-shrink:0}.chapter h3{font-size:25px;line-height:1.6;letter-spacing:.04em}.chapter p{font-size:16px;line-height:2.35;margin:0 0 25px;letter-spacing:.035em;overflow-wrap:anywhere}.chapter p:last-child{margin-bottom:0}.story-photo{margin:38px 0 42px}.story-photo img{width:100%;height:auto;max-height:440px;object-fit:cover;filter:saturate(.82)}blockquote{border-left:1px solid #a9976b;padding:10px 0 10px 27px;margin:35px 0 38px;color:#34432f;font-size:17px;line-height:2.3;letter-spacing:.035em}.belief{background:var(--forest);color:#fff;padding:90px 24px 105px;text-align:center;position:relative;overflow:hidden}.belief:before,.belief:after{content:"";width:480px;height:480px;border:1px solid #c9b68615;border-radius:50%;position:absolute;top:calc(50% - 240px);pointer-events:none}.belief:before{left:-240px}.belief:after{right:-240px}.belief-inner{max-width:760px;margin:auto;position:relative}.belief-symbol{display:block;font-size:42px;color:var(--gold);margin-bottom:25px}.belief h2{font-size:38px;line-height:1.8;letter-spacing:.12em;margin:26px 0 36px}.belief p:not(.eyebrow){font-size:14px;line-height:2.4;margin:0 0 22px;letter-spacing:.06em;color:#fff}.belief-rule{height:1px;width:45px;background:#c9b68690;margin:34px auto}.contact{text-align:center;padding:100px 0 80px}.contact .signature{font-size:35px;margin-top:0}


.hero{position:relative;isolation:isolate;background:var(--forest);color:#fff;overflow:hidden}
.hero-art{position:absolute;inset:0;z-index:0}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:56% 50%;filter:saturate(.8)}
.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,17,.92) 0%,rgba(8,22,17,.78) 38%,rgba(12,30,25,.12) 78%),linear-gradient(rgba(12,30,25,.48),transparent 38%,rgba(12,30,25,.68))}
.hero-inner{position:relative;z-index:1;max-width:1320px;width:88%;margin:auto;min-height:740px;height:min(87svh,900px);padding:170px 0 110px;display:flex;align-items:center}
.hero-copy{max-width:650px}
.hero h1{font-size:clamp(42px,4.2vw,65px);letter-spacing:.08em;line-height:1.65;margin:30px 0;white-space:nowrap}
.hero h1 em{font-style:normal;color:#fff0c6}
.hero-bottom{position:relative;z-index:1;margin:0 6%;padding:24px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e2d4b650;color:#e3e5d6;font:9px var(--sans);letter-spacing:.2em}
.scroll-label{display:flex;align-items:center;gap:12px}.scroll-label i{height:23px;width:1px;background:var(--gold)}

@media(max-width:1050px){.intro{gap:9%;grid-template-columns:210px 1fr;padding-left:2%;padding-right:2%}.story-layout{grid-template-columns:200px minmax(0,1fr);gap:45px}.story-index h2{font-size:26px}.chapter p{font-size:15px}.chapter h3{font-size:22px}.story-photo img{max-height:none}}
@media(max-width:740px){
  html{scroll-padding-top:24px}
  .site-header{height:70px;padding:0 20px}
  .brand{gap:10px}.brand img{width:36px;height:36px}.brand-name{font-size:25px;gap:12px}.brand-name>span{font-size:11px}
  .eyebrow{font-size:11px;letter-spacing:.12em}
  .section-shell{width:calc(100% - 40px);max-width:560px}
  .hero-inner{width:calc(100% - 40px);min-height:380px;height:52svh;max-height:520px;padding:110px 0 60px}
  .hero h1{font-size:clamp(29px,8.2vw,44px);line-height:1.7;letter-spacing:.04em;margin:20px 0;text-shadow:0 2px 14px #07140daa}
  .hero-art img{object-position:64% 50%}.hero-art:after{background:linear-gradient(90deg,rgba(8,22,17,.88),rgba(8,22,17,.48)),linear-gradient(rgba(12,30,25,.35),transparent 40%,rgba(12,30,25,.7))}
  .hero-bottom{display:none}
  .intro{display:flex;flex-direction:column;gap:26px;padding:40px 0 48px;align-items:stretch}
  .intro-portrait{display:grid;grid-template-columns:88px 1fr;column-gap:20px;align-items:center;text-align:left}
  .portrait-frame{grid-row:1 / 3;width:88px;padding:6px;margin:0}
  .portrait-frame:after{font-size:13px;right:-1px;top:1px}
  .intro-portrait p{font-size:12px;margin:0;align-self:end}
  .intro-portrait p span{display:inline;margin-left:12px;font-size:11px}
  .intro-portrait .signature{font-size:30px;margin:0;align-self:start}
  .intro h2{font-size:30px;line-height:1.65;margin:10px 0 20px;letter-spacing:.06em}
  .intro-copy>p:not(.eyebrow){font-size:16px;line-height:2;margin-bottom:16px}
  .desktop-break{display:none}
  .story-layout{display:block;padding:36px 0 48px}
  .story-index{position:static;margin-bottom:40px}
  .story-index h2{font-size:27px;margin:12px 0 16px}.story-index h2 br{display:none}
  .story-index li{font-size:13px}.story-index li a{padding:14px 0}
  .small-ornament{display:none}
  .chapter{margin-bottom:36px;padding-bottom:36px;scroll-margin-top:24px}
  .chapter-heading{gap:12px;margin-bottom:24px}
  .chapter-heading>span{width:28px;height:28px;font-size:12px}
  .chapter h3{font-size:20px;letter-spacing:0;text-wrap:balance}
  .chapter p{font-size:16px;line-height:2;letter-spacing:.01em;margin-bottom:22px}
  .chapter p br{display:none}
  .story-photo{margin:26px 0 28px}.story-photo img{width:100%}
  blockquote{font-size:16px;line-height:2;padding-left:16px;margin:28px 0}
  .belief{padding:48px 20px}
  .belief-inner{max-width:560px}
  .belief h2{font-size:29px;line-height:1.7;letter-spacing:.06em;margin:18px 0 26px}
  .belief p:not(.eyebrow){font-size:16px;line-height:2;letter-spacing:.01em;text-align:left;margin-bottom:20px}
  .belief p br{display:none}.belief-symbol{font-size:30px;margin-bottom:16px}
  .contact{padding:48px 0 44px}
}

.intro-reading{margin-top:48px}
.reading-title{font-size:40px;font-weight:600;line-height:1.45;letter-spacing:.03em;margin:12px 0 18px}
.reading-title span{color:#086438;margin-left:.2em}
.reading-lead{text-wrap:balance;font-size:17px;font-weight:700;line-height:1.8;margin-bottom:12px}
.reading-copy{font-size:15px;line-height:2;color:#29372e}
 .contact-button{display:flex;align-items:center;justify-content:center;gap:22px;min-height:80px;width:100%;max-width:380px;margin:28px auto 0;padding:16px 22px;background:transparent;color:var(--ink);border:1px solid #67765e;border-radius:3px;font-size:20px;font-weight:600;line-height:1.5;letter-spacing:.02em;transition:background .2s}
.contact-button:hover{background:#fff;border-color:#25452f}
.contact-button .line-icon{width:44px;height:44px;flex:none;object-fit:contain}
.contact .reading-card{max-width:740px;margin:0 auto}
.contact .reading-title{font-size:44px}
.contact .reading-copy{max-width:540px;margin:0 auto}
.contact .closing{font-size:13px;line-height:2.2;color:#485649;margin:35px 0 14px}
@media(max-width:740px){
  .intro-reading{margin-top:32px}
  .reading-title,.contact .reading-title{font-size:32px;margin:0 0 16px}
  .reading-lead{font-size:17px;line-height:1.8;margin-bottom:14px}
  .reading-copy{font-size:16px;line-height:2}
  .reading-copy br{display:none}
  .contact-button{min-height:80px;margin:24px auto 0;padding:16px;gap:20px;font-size:19px}
  .contact .reading-card{text-align:left}.contact .reading-copy{max-width:none}
  .contact .closing{font-size:14px;line-height:2;margin-top:32px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
