/* Layout foundations. No legacy breakpoint rules. */
* ,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);}
:root{--header-h:64px;}
[id]{scroll-margin-top:84px;}
img{display:block;max-width:100%;}
a{color:inherit;}
h1,h2,h3,p,figure{margin:0;}
p+p{margin-top:20px;}
h2+p,h3+p{margin-top:24px;}
.site-head{position:fixed;inset:0 0 auto;height:64px;display:flex;align-items:center;justify-content:center;z-index:60;}
.site-head__logo{text-decoration:none;font-size:18px;letter-spacing:.15em;line-height:1;text-align:center;}
.site-head__logo small{display:block;font-size:10px;letter-spacing:.1em;margin-top:9px;}
.burger{position:absolute;right:16px;top:10px;width:44px;height:44px;display:grid;align-content:center;gap:7px;padding:8px;border:0;background:transparent;cursor:pointer;}
.burger span{display:block;height:1px;background:var(--ink);transition:transform .2s;}
.nav-open .burger span:first-child{transform:translateY(8px) rotate(45deg);}
.nav-open .burger span:nth-child(2){opacity:0;}
.nav-open .burger span:last-child{transform:translateY(-8px) rotate(-45deg);}
.site-nav{position:fixed;inset:64px 0 0;z-index:55;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;overflow:auto;visibility:hidden;opacity:0;}
.nav-open .site-nav{visibility:visible;opacity:1;}
.site-nav a{display:block;text-align:center;text-decoration:none;font-size:17px;padding:8px 24px;}
.site-nav small{display:block;font-size:9px;letter-spacing:.15em;color:var(--muted);}
.book{position:fixed;right:20px;bottom:20px;z-index:40;color:white;text-align:center;text-decoration:none;padding:16px 12px;visibility:hidden;opacity:0;pointer-events:none;}
.book.is-on{visibility:visible;opacity:1;pointer-events:auto;}
.book .tx{display:block;line-height:1.7;}
.sec-label{display:flex;align-items:baseline;justify-content:center;gap:16px;}
.band{position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;}
.band__inner{position:relative;z-index:1;width:min(100%,740px);text-align:center;}
.band__media{position:absolute;inset:0;}
.band__media img{width:100%;height:100%;object-fit:cover;}
.band h2{margin-bottom:26px;line-height:1.7;}
.hero{position:relative;justify-content:flex-start;}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;}
.hero .band__inner{text-align:left;}
.fv-photo{position:absolute;aspect-ratio:760/1546;background:url('images/fv.jpg') center/100% 100% no-repeat;-webkit-mask:url('images/fv-mask.png') center/100% 100% no-repeat;mask:url('images/fv-mask.png') center/100% 100% no-repeat;}
.scroll-cue{position:absolute;z-index:2;line-height:1;}
.scroll-cue i{display:block;width:1px;height:28px;background:var(--coral);margin-top:12px;}
.btn{display:inline-block;text-align:center;text-decoration:none;border:1px solid;line-height:1.5;font-weight:600;max-width:100%;}
.plain__inner{width:100%;max-width:740px;margin-inline:auto;text-align:center;}
.plain__inner--wide{max-width:1120px;}
.plain h2{margin-bottom:24px;line-height:1.7;}
.plain p,.split p{color:var(--ink-2);}
.profile__main{display:grid;text-align:left;}
.profile__body{min-width:0;}
.profile__body h2{line-height:1.6;margin-bottom:10px;}
.name-sub{margin-left:8px;white-space:nowrap;}
.profile__role{margin-bottom:26px;}
.profile__more{text-align:right;margin-top:24px;}
.media{text-align:left;}
.media__label{display:flex;gap:14px;font-size:11px!important;margin-bottom:10px;color:var(--accent-ink);}
.media__title{font-weight:600;}
.media__title small{display:block;font-size:11px;font-weight:400;margin-top:5px;color:var(--muted);}
.media__note{font-size:12px!important;margin-top:8px;}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.split__media{position:relative;overflow:hidden;min-width:0;}
.split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.split--flip .split__media{order:2;}
.split__body{min-width:0;}
.split__body h2{margin-bottom:24px;}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.value{text-align:left;min-width:0;}
.value__no{display:block;}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;text-align:left;}
.duo h3{line-height:1.7;margin-bottom:20px;}
#contact .btn{margin-top:24px;}
.btn__note{display:block;font-size:11px;color:var(--muted);margin-top:12px;}
.contact-links{list-style:none;display:grid;grid-template-columns:1fr 1fr;padding:24px 0 0;margin:32px 0 0;border-top:1px solid var(--line-2);gap:20px;}
.contact-links a{display:block;text-decoration:none;padding:16px 8px;}
.contact-links small{display:block;font-size:9px;margin-top:8px;letter-spacing:.15em;}
footer{text-align:center;padding:50px 24px 100px;border-top:1px solid var(--line);}
footer .fl{display:block;font-size:15px;margin-bottom:10px;}
footer .fs{font-size:10px;color:var(--muted);}
.reveal{opacity:1;transform:none;}
.sp-only,.sp-br,.sp-br-fixed{display:none;}
@media(max-width:759px){
 .site-head__logo{font-size:15px;}.site-head__logo small{font-size:9px;}.burger{right:8px;}
 .hero .band__inner{text-align:left;}
 .values,.duo{grid-template-columns:1fr;}
 .split--flip .split__media{order:0;}
 .sp-only{display:inline;}.pc-only{display:none;}.pc-br{display:none;}.sp-br-fixed{display:inline;}
 .contact-links{grid-template-columns:1fr;gap:0;}
 .profile__body h2{letter-spacing:0;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{transition:none!important;animation:none!important;}}
