:root{--foreground:#292929;--background:#d7d8d5;--font:Inter,'Noto Sans JP',ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--foreground);font-family:var(--font);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;background:linear-gradient(180deg,#C9CBC9 0%,#D2D4D2 20%,#DBDDDB 40%,#E4E6E4 60%,#EDEEEC 80%,#F6F6F4 100%);background-attachment:fixed;background-repeat:no-repeat}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:100%;max-width:1400px;margin:0 auto;padding-left:48px;padding-right:48px}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .5s,border .5s; border-bottom:1px solid transparent}.site-header.scrolled{background:rgba(215,216,213,.70);backdrop-filter:blur(12px);border-bottom-color:rgba(41,41,41,.1)}.nav-wrap{max-width:1400px;margin:auto;padding:24px 48px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:18px;font-weight:500;letter-spacing:-.025em;color:#595959;transition:letter-spacing .3s}.brand:hover{letter-spacing:.02em}.nav-desktop{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}.nav-desktop a,.mobile-menu a{font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(41,41,41,.7);transition:letter-spacing .3s,color .3s}.nav-desktop a:hover{letter-spacing:.25em;color:#292929}.menu-button{display:none;border:0;background:none;cursor:pointer;padding:8px 0;flex-direction:column;gap:5px}.menu-button span{width:24px;height:1px;background:#292929;display:block;transition:transform .3s,opacity .3s}.menu-button.open span:first-child{transform:translateY(6px) rotate(45deg)}.menu-button.open span:nth-child(2){opacity:0}.menu-button.open span:last-child{transform:translateY(-6px) rotate(-45deg)}.mobile-menu{display:none}.hero{min-height:100vh;display:flex;align-items:center}.hero-inner{padding-top:160px;padding-bottom:80px}.hero h1{font-size:clamp(60px,8vw,128px);font-weight:300;line-height:1;letter-spacing:-.05em;color:#595959;margin:0}.section{padding:160px 0;background:transparent}.columns{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:64px}.columns>div:first-child{grid-column:span 4}.columns>div:last-child{grid-column:span 8}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.3em;color:rgba(41,41,41,.5);margin:0}.muted{color:rgba(41,41,41,.4);margin-bottom:16px}.about-copy{max-width:672px;font-size:20px;line-height:1.625;color:rgba(41,41,41,.8);margin:0}.section-title{margin:24px 0 0;font-size:30px;line-height:1.25;letter-spacing:-.025em;font-weight:300}.service{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;padding:32px 0}.service+.service{border-top:1px solid rgba(41,41,41,.15)}.service h3{grid-column:span 5;font-size:20px;line-height:1.5;font-weight:400;letter-spacing:-.025em;margin:0}.service p{grid-column:span 7;font-size:16px;line-height:1.625;color:rgba(41,41,41,.7);margin:0}.profile-title{margin:24px 0 0;font-size:36px;line-height:1.2;font-weight:300;letter-spacing:-.025em}.portrait{margin-top:40px;width:100%;max-width:240px;aspect-ratio:4/5;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:contain}.profile-details{display:flex;flex-direction:column;gap:48px}.timeline-block>.eyebrow{margin-bottom:16px}.timeline-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;border-top:1px solid rgba(41,41,41,.15);padding:24px 0;font-size:16px;line-height:1.625}.timeline-row:last-child{border-bottom:1px solid rgba(41,41,41,.15)}.timeline-row>span{grid-column:span 3;font-size:14px;letter-spacing:-.025em;color:rgba(41,41,41,.5)}.timeline-row>p,.timeline-row>div{grid-column:span 9;margin:0}.timeline-row p{margin:0;color:rgba(41,41,41,.7)}.timeline-row div p+p{margin-top:8px}.timeline-row .primary-line{font-weight:500;color:#292929}.contact-details{display:flex;flex-direction:column;gap:40px}.contact-details p,.contact-details a{margin:0;font-size:18px;line-height:1.625;color:rgba(41,41,41,.8)}.contact-details a{transition:letter-spacing .3s,color .3s}.contact-details a:hover{letter-spacing:.02em;color:#292929}footer{border-top:1px solid rgba(41,41,41,.15)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:40px;padding-bottom:40px}footer p,footer a{font-size:12px;letter-spacing:.15em;color:rgba(41,41,41,.4);margin:0}footer a{text-transform:uppercase;color:rgba(41,41,41,.5);transition:letter-spacing .3s,color .3s}footer a:hover{letter-spacing:.25em;color:#292929}
@media(max-width:1023px){.nav-desktop{display:none}.menu-button{display:flex}.mobile-menu{display:block;max-height:0;overflow:hidden;background:rgba(215,216,213,.95);backdrop-filter:blur(12px);transition:max-height .5s}.mobile-menu.open{max-height:384px;border-bottom:1px solid rgba(41,41,41,.1)}.mobile-menu ul{list-style:none;margin:0;padding:8px 24px}.mobile-menu li+li{border-top:1px solid rgba(41,41,41,.1)}.mobile-menu a{display:block;padding:16px 0}.columns{grid-template-columns:1fr;gap:48px}.columns>div:first-child,.columns>div:last-child{grid-column:1}.section{padding:112px 0}.about-copy{font-size:20px}}
@media(max-width:767px){.container{padding-left:24px;padding-right:24px}.nav-wrap{padding:20px 24px}.hero h1{font-size:60px}.section-title{font-size:24px}.profile-title{font-size:30px}.service{grid-template-columns:1fr;gap:16px}.service h3,.service p{grid-column:1}.timeline-row{grid-template-columns:1fr;gap:8px}.timeline-row>span,.timeline-row>p,.timeline-row>div{grid-column:1}.footer-inner{flex-direction:column;align-items:center}.section{padding:112px 0}}
