/* IRIS / afterhours: no remote fonts, trackers, or CDN dependencies */
:root{--paper:#f5f2f5;--ink:#2b2831;--muted:#716a78;--violet:#8c76a5;--line:#ded7e0;--soft:#e9e2eb;--white:#fffdfa;--radius:10px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid #9b74b8;outline-offset:4px}
.skip{position:absolute;left:-100vw;top:1rem;z-index:9;padding:.5rem 1rem;background:var(--ink);color:#fff}
.skip:focus{left:1rem}
.page{max-width:1460px;margin:auto;padding:0 clamp(20px,5vw,78px)}
.header{min-height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}
.brand{font-family:Georgia,serif;font-size:32px;font-weight:700;letter-spacing:-.04em;white-space:nowrap}
.brand-mark{font-family:serif;font-size:18px;color:var(--violet);display:inline-block;transform:translateY(-3px);margin-right:12px}
.brand-dot,.accent{color:var(--violet)}
.nav{display:flex;gap:clamp(12px,2.5vw,35px);font-family:Georgia,serif;font-size:14px;letter-spacing:.02em}
.nav a{transition:color .18s}
.nav a:hover,.footer a:hover{color:#8a64a3}
.header-meta{font:italic 12px Georgia,serif;color:#908897}
.hero{display:grid;grid-template-columns:minmax(320px,42%) minmax(0,58%);min-height:675px;position:relative}
.hero-words{padding:clamp(55px,7vw,103px) 4vw 28px 0;position:relative;z-index:1}
.eyebrow,.section-kicker,.tiny-overline,.section-rule,.hero-number,.face-counter,.note-index,.voice-tag,.footer,.aside-note{font-family:Georgia,"Yu Gothic",sans-serif;letter-spacing:.09em}
.eyebrow{font-size:11px;color:#776b7a;text-transform:uppercase}
.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9b80ad;margin-right:8px;box-shadow:0 0 0 4px #e7ddeb}
.tiny-overline{font:italic 14px Georgia,serif;color:#9a8b9e;margin:45px 0 0}
h1{font:normal clamp(100px,15vw,218px)/.97 Georgia,"Times New Roman",serif;letter-spacing:-.075em;margin:10px 0 28px;position:relative;left:-9px}
.hero-jp{font-size:clamp(21px,2.1vw,29px);font-weight:600;letter-spacing:.07em;line-height:1.7;margin:0 0 24px}
.hero-description{font-size:13px;color:var(--muted);line-height:2.2;margin-bottom:30px}
.text-link{border-bottom:1px solid #8d768c;padding-bottom:6px;font-size:12px;letter-spacing:.1em;display:inline-flex;gap:15px}
.text-link:hover{color:#8a64a3;border-color:#8a64a3}
.hero-number{font-size:12px;position:absolute;bottom:18px;left:0;color:#9c949d}
.hero-art{margin:40px 0 65px;overflow:hidden;position:relative;background:#ded5dd;border-radius:150px 8px 8px 8px;min-height:550px}
.hero-art img{height:100%;width:100%;object-fit:cover;object-position:56% center;filter:saturate(.85)}
.hero-art figcaption{position:absolute;bottom:16px;right:20px;font:italic 12px Georgia,serif;color:rgba(255,255,255,.94);text-shadow:0 1px 8px #423749}
.section-rule{border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;color:#8d8291;font-size:11px}
.section{padding:clamp(64px,7vw,115px) 0 clamp(78px,8vw,130px)}
.section-heading{max-width:480px}
.section-kicker{color:#9683a3;font-size:13px;margin:0 0 24px;text-transform:uppercase}
h2{font-size:clamp(27px,3vw,42px);letter-spacing:.06em;font-weight:600;line-height:1.65;margin:0 0 26px}
.section-heading>p:not(.section-kicker){font-size:14px;color:var(--muted);line-height:2.15}
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,110px);align-items:center}
.profile-box{background:var(--white);padding:clamp(25px,4vw,55px);border:1px solid #eee6ed;border-radius:3px 3px 45px 3px;box-shadow:14px 18px 0 #eae4ed}
.profile-row{padding:15px 0;display:grid;grid-template-columns:80px 1fr;gap:16px;border-bottom:1px solid #eae4e9;align-items:baseline}
.profile-row span{font:italic 13px Georgia,serif;color:#a08ba7}
.profile-row strong{font-size:14px;font-weight:600}
.profile-row strong small{font-size:11px;color:var(--muted);margin-left:8px}
.profile-note{font-size:13px;color:var(--muted);line-height:2.1;margin-top:26px}
.faces .slim,.journal .slim{margin-bottom:42px}
.face-view{display:grid;grid-template-columns:47% 53%;background:#eae5ee;min-height:465px;border-radius:4px 70px 4px 4px;overflow:hidden}
.face-photo-wrap{position:relative;min-height:420px;background:#ded3e3}
.face-photo-wrap img{width:100%;height:100%;position:absolute;object-fit:cover}
.draft-chip{position:absolute;bottom:13px;left:16px;background:rgba(255,253,252,.82);font:11px Georgia,serif;padding:6px 9px;color:#75667c}
.face-text{padding:clamp(26px,5vw,75px);display:flex;flex-direction:column;justify-content:center}
.face-counter{font-size:13px;color:#967d9d}
.face-text h3{font-size:38px;font-weight:500;margin:28px 0 0}
.face-text #face-quote{font-size:17px;letter-spacing:.02em;margin:12px 0}
.face-desc{color:var(--muted);font-size:13px}
.face-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:42px}
.face-tab{background:transparent;border:1px solid #c5b9ca;color:#655a6c;padding:9px 14px;cursor:pointer;min-width:54px;border-radius:100px;font-size:12px}
.face-tab.active,.face-tab:hover{background:#514657;color:#fff;border-color:#514657}
.aside-note{color:#99909a;font-size:11px;margin-top:18px;line-height:1.8}
.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.note{padding:35px 30px 43px;border-top:2px solid #ad9cb4;background:#fffdfa;min-height:245px}
.note-index{font-size:10px;color:#967da1}
.note h3{font-size:19px;margin:22px 0 18px;letter-spacing:.04em}
.note p{font-size:13px;color:var(--muted);line-height:2.1}
.voice{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,8vw,125px);align-items:center}
.voice-card{background:#342d3d;color:#e8e0e9;padding:clamp(35px,6vw,75px);border-radius:3px 80px 3px 3px;min-height:370px}
.wave{height:72px;display:flex;gap:7px;align-items:center;opacity:.62}
.wave i{display:block;width:3px;height:var(--h,20px);background:#c3a5d8;border-radius:10px}
.wave i:nth-child(3n){--h:44px}.wave i:nth-child(4n){--h:65px}.wave i:nth-child(5n){--h:30px}.wave i:nth-child(7n){--h:52px}
.voice-tag{font-size:11px;color:#bcacca;margin:14px 0}
.voice-quote{font-size:19px;line-height:1.9;margin:18px 0}
.voice-small{color:#bcaebb;font-size:11px;margin-top:25px}
.footer{border-top:1px solid var(--line);padding:28px 0 46px;display:flex;justify-content:space-between;gap:30px;align-items:end;color:#988d9a;font-size:11px}
.footer>div{display:flex;flex-direction:column;gap:6px}
.footer strong{font:30px Georgia,serif;color:var(--ink)}
.footer-right{text-align:right}
.footer a{width:max-content;align-self:end;border-bottom:1px solid #c5bac9}
.colophon-wrap{max-width:650px;margin:0 auto;min-height:70vh;padding:90px 0}
.colophon-wrap h1{font-size:clamp(56px,10vw,110px);margin-bottom:45px}
.colophon-wrap h2{font-size:22px;margin-top:45px}
.colophon-wrap p{font-size:14px;color:var(--muted);line-height:2.15}
.colophon-wrap a{border-bottom:1px solid #a696a6}
@media(max-width:950px){.header-meta{display:none}.hero{grid-template-columns:43% 57%}.hero-art{min-height:440px;margin:35px 0 60px;border-radius:110px 7px 7px 7px}.hero-words{padding-top:70px}.hero-description{font-size:12px}h1{font-size:clamp(82px,13vw,140px)}}
@media(max-width:680px){.page{padding:0 21px}.header{min-height:76px}.brand{font-size:27px}.nav{font-size:11px;gap:12px}.hero{display:flex;flex-direction:column;min-height:0}.hero-words{padding:53px 0 10px}.tiny-overline{margin-top:20px}h1{font-size:clamp(96px,25vw,150px);margin:8px 0 15px}.hero-jp{font-size:22px}.hero-description{font-size:12px}.hero-art{height:390px;min-height:0;margin:12px 0 58px;border-radius:90px 5px 5px 5px}.hero-number{display:none}.about,.voice{grid-template-columns:1fr;gap:24px}.profile-box{margin:0 12px 18px 0}.face-view{grid-template-columns:1fr;border-radius:3px 55px 3px 3px}.face-photo-wrap{height:300px;min-height:300px}.face-text{padding:24px 25px 30px}.face-text h3{font-size:32px;margin:16px 0 0}.face-tabs{margin-top:20px}.notes-grid{grid-template-columns:1fr;gap:10px}.note{min-height:0}.section{padding:64px 0 75px}.section-heading.slim{margin-bottom:24px}.footer{display:block}.footer-right{text-align:left;margin-top:25px}.footer a{align-self:flex-start}.voice-card{min-height:280px}.colophon-wrap{padding:70px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.standing-feature{margin:4px 0 76px;padding:45px 7vw;background:#e9e3ea;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;min-height:400px;overflow:hidden;border-radius:5px}
.standing-copy h2{font-size:clamp(26px,3vw,40px);line-height:1.65}
.standing-copy>p:not(.section-kicker){font-size:14px;color:#706779;line-height:2.1}
.standing-caption{display:block;font:italic 11px Georgia,serif;color:#9b899e;margin-top:35px}
.standing-art{margin:0 auto;display:flex;flex-direction:column;align-items:center;max-height:500px}
.standing-art img{height:440px;width:auto;object-fit:contain;mix-blend-mode:multiply}
.standing-art figcaption{font-size:10px;color:#897d8c;margin-top:8px}
@media(max-width:680px){.standing-feature{grid-template-columns:1fr;gap:4px;margin-bottom:55px;padding:27px 24px 34px}.standing-copy h2{font-size:29px;margin:0 0 16px}.standing-caption{margin-top:12px}.standing-art img{height:355px}}
