
:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--ink:#11110f;--paper:#f2efe6;--blue:#2751ff;--orange:#e9683b;--line:rgba(17,17,15,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans),"Hiragino Sans",sans-serif}a{color:inherit;text-decoration:none}em{font-family:Georgia,"Yu Mincho",serif;font-weight:400}.eyebrow,.section-index,.project-meta,.tags,.skill-no{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.13em}
.site-header{position:absolute;z-index:10;top:0;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 3vw;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:650;line-height:1.05}.brand-f{display:grid;place-items:center;width:38px;height:38px;color:var(--paper);background:var(--ink);font-size:21px}.site-header nav{display:flex;gap:30px;font-size:11px}.header-cta{justify-self:end;font-size:11px;border-bottom:1px solid;padding-bottom:4px}.site-header a{transition:opacity .2s}.site-header a:hover{opacity:.55}
.hero{position:relative;min-height:100svh;padding:175px 6vw 95px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero h1{position:relative;z-index:1;font-size:clamp(62px,9vw,138px);font-weight:500;line-height:.91;letter-spacing:-.075em;margin:30px 0 70px}.hero-system{position:absolute;right:-8vw;top:10%;width:50vw;height:50vw;border-radius:50%;background:var(--blue);color:white;display:grid;place-items:center}.hero-system:before,.hero-system:after,.hero-system span{content:"";position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%}.hero-system:before{inset:15%}.hero-system:after{inset:32%}.hero-system span{width:100%;height:1px;border-radius:0;border-top:1px solid rgba(255,255,255,.35)}.hero-system span:nth-child(2){transform:rotate(60deg)}.hero-system span:nth-child(3){transform:rotate(-60deg)}.hero-system b{font-size:14vw;letter-spacing:-.1em;z-index:1}.hero-bottom{position:relative;z-index:1;width:62%;margin-left:auto;display:flex;align-items:center;justify-content:space-between}.hero-bottom p{max-width:560px;line-height:1.9}.hero-bottom strong{font-size:21px}.round-link{width:110px;height:110px;border:1px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:12px;font:9px var(--font-mono);transition:.25s}.round-link:hover{background:var(--ink);color:white}.ticker{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);padding:12px 0;font:10px var(--font-mono);letter-spacing:.14em}
.section-pad{padding:120px 6vw}.section-index{margin:8px 0}.about{display:grid;grid-template-columns:1fr 3fr}.about>div>.eyebrow{margin-bottom:35px}.about h2,.section-head h2,.career h2,.credentials h2,.coach-copy h2,.footer-lead h2{font-size:clamp(47px,6.5vw,94px);font-weight:500;line-height:1;letter-spacing:-.065em;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin:60px 0 90px}.about-grid p{line-height:1.9;color:#5e5d57}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid;border-bottom:1px solid}.stat-row>div{padding:30px 20px}.stat-row>div+div{border-left:1px solid var(--line)}.stat-row b{display:block;font-size:55px;letter-spacing:-.06em}.stat-row span{font:9px var(--font-mono);letter-spacing:.13em}
.expertise{background:#111;color:#f3f0e7}.section-head{display:grid;grid-template-columns:1fr 3fr}.skill-list{border-top:1px solid #555}.skill-list article{display:grid;grid-template-columns:7vw 1fr 30px;gap:30px;align-items:start;padding:42px 6vw;border-bottom:1px solid #444;transition:background .25s}.skill-list article:hover{background:#1d1d1a}.skill-list h3{font-size:38px;margin:0 0 14px;font-weight:500;letter-spacing:-.04em}.skill-list p{max-width:780px;margin:0 0 24px;color:#aaa;line-height:1.8}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid #666;border-radius:30px;padding:6px 10px}
.career{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.career-title h2{font-size:clamp(45px,5.5vw,78px);margin:45px 0}.career-title>p:last-child{max-width:430px;color:#666;line-height:1.8}.timeline{border-top:1px solid}.timeline article{display:grid;grid-template-columns:40px 1fr;padding:28px 0;border-bottom:1px solid var(--line)}.timeline article>span{font:10px var(--font-mono)}.timeline h3{font-size:24px;margin:0 0 11px;font-weight:520}.timeline p{margin:0;color:#64635e;line-height:1.75}
.projects{background:#111;color:#f3f0e7;padding-bottom:12px}.project-grid{display:grid;grid-template-columns:1fr 1fr}.project-card{margin:0 12px 12px;padding:30px;min-height:650px;display:flex;flex-direction:column}.project-card:first-child{grid-column:span 2;min-height:720px}.blue{background:var(--blue)}.orange{background:var(--orange);color:#15110f}.dark{background:#282825}.project-meta{display:flex;justify-content:space-between}.project-visual{flex:1;margin:35px 0;position:relative;overflow:hidden}.coaching-visual{display:flex;align-items:center;justify-content:center;gap:0}.coaching-visual span{width:24vw;height:24vw;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font:11px var(--font-mono);letter-spacing:.14em;margin-left:-5vw}.coaching-visual span:first-child{margin-left:0}.app-visual{display:grid;place-items:center}.app-visual>div{width:170px;height:330px;border:2px solid;border-radius:35px;padding:22px;display:flex;flex-direction:column;gap:12px}.app-visual i{height:25%;border:1px solid;border-radius:8px}.app-visual b{position:absolute;font-size:11vw;opacity:.08}.writing-visual{display:flex;flex-direction:column;justify-content:center}.writing-visual span{font-size:5vw;font-weight:700;line-height:.88;letter-spacing:-.06em}.writing-visual span:nth-child(2){font-family:Georgia,serif;font-style:italic;margin-left:7vw}.project-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}.project-copy h3{font-size:36px;line-height:1.05;margin:0;font-weight:500;letter-spacing:-.04em}.project-copy p{line-height:1.75;color:rgba(255,255,255,.72);margin:0}.orange .project-copy p{color:#4c2a20}.project-copy a{font-size:12px;border-bottom:1px solid;width:max-content;padding-bottom:5px;margin-top:15px}
.credentials{display:grid;grid-template-columns:1fr 3fr}.credentials h2{margin-bottom:60px}.credential-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid}.credential-list article{min-height:230px;padding:28px 20px;border-bottom:1px solid var(--line)}.credential-list article+article{border-left:1px solid var(--line)}.credential-list span{font:9px var(--font-mono);letter-spacing:.13em}.credential-list h3{font-size:25px;line-height:1.2;margin:70px 0 0;font-weight:520}
.coaching{position:relative;min-height:900px;background:var(--blue);color:white;padding:85px 6vw;overflow:hidden}.coach-copy{position:relative;z-index:1;max-width:1000px;margin:180px auto 80px}.coach-copy h2{font-size:clamp(55px,7.7vw,110px);margin:30px 0}.coach-copy>p:not(.eyebrow){max-width:600px;margin:0 0 40px auto;line-height:1.9;color:rgba(255,255,255,.75)}.button-light{display:flex;width:max-content;gap:45px;padding:17px 20px;background:white;color:#111;font-size:12px;margin-left:auto}.coach-orbit{position:absolute;right:-12vw;top:5%;width:65vw;height:65vw;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center}.coach-orbit:before,.coach-orbit:after{content:"";position:absolute;inset:17%;border:1px solid rgba(255,255,255,.25);border-radius:50%}.coach-orbit:after{inset:34%}.coach-orbit span{font:20vw Georgia;opacity:.09}
footer{background:#0c0c0b;color:#f4f1e8;padding:85px 6vw 35px}.footer-lead{padding:120px 0 140px}.footer-lead h2{font-size:clamp(60px,8.5vw,125px);margin:30px 0 45px}.footer-lead>p:not(.eyebrow){max-width:570px;line-height:1.8;color:#aaa}.contact-link{display:inline-flex;gap:35px;margin-top:35px;border-bottom:1px solid;padding-bottom:8px;font-size:clamp(22px,3vw,38px)}.privacy-note{border-top:1px solid #444;padding:24px 0;color:#777;font-size:11px}.footer-bottom{border-top:1px solid #444;padding-top:30px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center}.footer-bottom .brand-f{background:var(--paper);color:var(--ink)}.footer-bottom>div{display:flex;gap:25px;font-size:11px}.footer-bottom p{font:10px var(--font-mono);color:#777}
@media(max-width:800px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{padding:145px 22px 75px}.hero h1{font-size:56px;margin-bottom:50px}.hero-system{width:100vw;height:100vw;right:-60vw;top:15%}.hero-system b{font-size:25vw}.hero-bottom{width:100%;margin:0;display:block}.hero-bottom p{max-width:78%;font-size:14px}.round-link{position:absolute;right:0;bottom:-5px;width:88px;height:88px}.section-pad{padding:82px 22px}.about,.section-head,.career,.credentials{grid-template-columns:1fr;gap:40px}.about-grid{grid-template-columns:1fr;gap:10px;margin:40px 0 60px}.stat-row b{font-size:35px}.stat-row span{font-size:7px}.skill-list article{grid-template-columns:34px 1fr 15px;padding:30px 22px;gap:12px}.skill-list h3{font-size:27px}.project-grid{grid-template-columns:1fr}.project-card:first-child{grid-column:auto}.project-card{min-height:580px;padding:22px}.coaching-visual span{width:42vw;height:42vw;margin-left:-11vw}.project-copy{grid-template-columns:1fr;gap:15px}.project-copy h3{font-size:29px}.writing-visual span{font-size:10vw}.credential-list{grid-template-columns:1fr}.credential-list article{min-height:auto}.credential-list article+article{border-left:0}.credential-list h3{margin:35px 0 0}.coaching{padding:65px 22px;min-height:760px}.coach-copy{margin-top:160px}.coach-copy h2{font-size:50px}.coach-orbit{width:110vw;height:110vw;right:-60vw}.footer-lead{padding:100px 0}.footer-lead h2{font-size:56px}.footer-bottom{grid-template-columns:1fr;gap:28px}.footer-bottom>div{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Responsive refinements: desktop styles above remain the 1024px+ baseline. */
.menu-toggle,.mobile-only{display:none}
:where(a,button):focus-visible{outline:3px solid var(--orange);outline-offset:4px}
img,svg{max-width:100%;height:auto}
.about-heading-phrase,.about-heading-second{display:block}
.about-heading-phrase{width:max-content;max-width:100%;white-space:nowrap}
.about-profile{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.55fr);gap:clamp(32px,5vw,72px);align-items:start;margin:60px 0 90px}
.about-profile-figure{width:100%;max-width:340px;margin:0}
.about-profile-image{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.about-profile-copy>.eyebrow{margin:0 0 30px}
.about-profile-copy .about-grid{grid-template-columns:1fr;gap:18px;margin:0 0 32px}
.about-profile-note{margin:0;padding-top:24px;border-top:1px solid var(--line);font-size:clamp(17px,1.4vw,20px);line-height:1.8}
.services{background:var(--paper);color:var(--ink)}
.services .skill-list{border-top:1px solid var(--ink)}
.services .skill-list article{border-bottom:1px solid var(--line)}
.services .skill-list article:hover{background:rgba(17,17,15,.04)}
.services .skill-list p{color:#5e5d57}
.services .tags span{border-color:var(--line)}
.writing{border-top:1px solid #444}
.business-support-banner{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.4fr) minmax(230px,.8fr);gap:clamp(24px,4vw,64px);align-items:center;padding:34px 6vw;border-bottom:1px solid var(--line);background:rgba(17,17,15,.035)}
.business-support-banner>.eyebrow{margin:0}
.business-support-banner-copy h2{margin:0 0 10px;font-size:clamp(28px,3vw,46px);font-weight:520;line-height:1.08;letter-spacing:-.045em}
.business-support-banner-copy p{max-width:680px;margin:0;color:#5e5d57;line-height:1.75}
.business-support-banner-link,.service-details-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;border:1px solid var(--ink);font:11px var(--font-mono);letter-spacing:.06em;transition:background .2s,color .2s}
.business-support-banner-link{width:100%;max-width:310px;padding:0 16px;justify-self:end}
.service-details-link{width:min(100%,360px);margin-top:18px;padding:0 16px}
.business-support-banner-link:hover,.service-details-link:hover{background:var(--ink);color:var(--paper)}
.contact-options{display:flex;flex-direction:column;align-items:flex-start}.contact-options .contact-link{overflow-wrap:anywhere}

@media (min-width:1024px) and (max-width:1180px){
  .site-header nav{gap:14px;font-size:10px}
}

@media (min-width:641px) and (max-width:1023px){
  .site-header{grid-template-columns:1fr auto auto;padding:20px 24px;gap:22px}
  .site-header nav{display:flex;gap:16px}
  .header-cta{display:block}
  .hero{padding:155px 5vw 82px}
  .hero h1{font-size:clamp(58px,8.5vw,86px);margin:28px 0 56px}
  .hero-system{width:62vw;height:62vw;right:-18vw;top:12%}
  .hero-system b{font-size:17vw}
  .hero-bottom{width:76%;margin-left:auto;display:flex}
  .hero-bottom p{max-width:500px;font-size:16px}
  .round-link{position:static;width:100px;height:100px;flex:0 0 auto}
  .business-support-banner{grid-template-columns:minmax(0,1fr) minmax(230px,.8fr);gap:18px 28px;padding:32px 5vw}
  .business-support-banner>.eyebrow{grid-column:1/-1}
  .business-support-banner-link{grid-column:2;grid-row:2}
  .section-pad{padding:96px 5vw}
  .about,.career,.credentials{grid-template-columns:1fr;gap:48px}
  .section-head{grid-template-columns:1fr 2.4fr}
  .stat-row span{font-size:10px}
  .skill-list article{grid-template-columns:6vw 1fr 24px;padding:36px 5vw;gap:22px}
  .project-grid{grid-template-columns:1fr 1fr}
  .project-card{min-width:0;min-height:560px;margin:0 8px 12px;padding:24px}
  .project-card:first-child{grid-column:span 2;min-height:620px}
  .coaching-visual span{width:25vw;height:25vw;margin-left:-6vw}
  .project-copy{grid-template-columns:1fr;gap:16px}
  .writing-visual span{font-size:6.5vw}
  .credential-list{grid-template-columns:repeat(3,1fr)}
  .credential-list article{min-height:210px}
  .credential-list article+article{border-left:1px solid var(--line)}
  .credential-list h3{font-size:22px;margin:55px 0 0}
  .coaching{min-height:780px;padding:75px 5vw}
  .coach-copy{margin-top:150px}
  .coach-copy h2{font-size:clamp(54px,7.5vw,76px)}
  .footer-bottom{grid-template-columns:1fr 1fr auto;gap:20px}
}

@media (max-width:640px){
  html,body{max-width:100%;overflow-x:clip}
  body{font-size:16px}
  p,a{overflow-wrap:anywhere}
  .desktop-only{display:none}
  .mobile-only{display:inline}
  .site-header{grid-template-columns:1fr auto;padding:16px 18px;background:rgba(242,239,230,.96)}
  .menu-toggle{display:grid;place-items:center;min-width:64px;min-height:44px;padding:0 12px;border:1px solid var(--ink);background:transparent;color:inherit;font:11px var(--font-mono);letter-spacing:.12em;cursor:pointer}
  .header-cta{display:none}
  .site-header nav{position:absolute;top:100%;left:0;width:100%;display:none;flex-direction:column;gap:0;padding:8px 18px 16px;background:var(--paper);border-bottom:1px solid var(--line);font-size:16px}
  .site-header.menu-open nav{display:flex}
  .site-header nav a{display:flex;align-items:center;min-height:46px;border-bottom:1px solid var(--line)}
  .hero{min-height:100svh;padding:132px 22px 72px}
  .hero h1{font-size:clamp(32px,10.5vw,46px);line-height:.96;letter-spacing:-.085em;margin:26px 0 48px}
  .hero-system{width:190px;height:190px;right:-20px;top:104px}
  .hero-system b{font-size:58px}
  .hero-bottom{width:100%;margin:0;display:block}
  .hero-bottom p{max-width:none;padding-right:88px;font-size:16px;line-height:1.8}
  .hero-bottom strong{font-size:20px}
  .round-link{right:0;bottom:0;width:82px;height:82px}
  .business-support-banner{grid-template-columns:minmax(0,1fr);gap:16px;padding:32px 22px}
  .business-support-banner-copy h2{font-size:30px}
  .business-support-banner-copy p{font-size:16px}
  .business-support-banner-link,.service-details-link{width:100%;max-width:none}
  .eyebrow,.section-index,.project-meta,.tags,.skill-no{font-size:11px}
  .section-pad{padding:76px 22px}
  .about-profile{grid-template-columns:minmax(0,1fr);gap:28px;margin:34px 0 48px}
  .about-profile-figure{width:min(78vw,300px)}
  .about-profile-copy>.eyebrow{margin-bottom:24px}
  .about-profile-copy .about-grid{gap:12px;margin:0 0 26px}
  .about-profile-note{padding-top:20px;font-size:17px}
  .about h2,.section-head h2,.career h2,.credentials h2,.coach-copy h2,.footer-lead h2{font-size:clamp(39px,12vw,52px);line-height:1.03}
  .about h2{font-size:clamp(36px,10.8vw,50px)}
  .about-grid p,.skill-list p,.timeline p,.project-copy p,.coach-copy>p:not(.eyebrow),.footer-lead>p:not(.eyebrow){font-size:16px}
  .about-grid{margin:34px 0 48px}
  .stat-row{grid-template-columns:repeat(2,1fr)}
  .stat-row>div{min-width:0;padding:24px 14px}
  .stat-row>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);border-left:0}
  .stat-row b{font-size:38px}
  .stat-row span{font-size:11px;overflow-wrap:anywhere}
  .skill-list article{grid-template-columns:28px minmax(0,1fr) 14px;padding:28px 22px;gap:10px}
  .skill-list h3{font-size:26px}
  .career-title h2{margin:34px 0}
  .timeline article{grid-template-columns:32px minmax(0,1fr);padding:24px 0}
  .timeline h3{font-size:22px}
  .project-grid{grid-template-columns:minmax(0,1fr)}
  .project-card,.project-card:first-child{grid-column:auto;min-width:0;min-height:auto;margin:0 12px 12px;padding:22px}
  .project-meta{gap:14px;flex-wrap:wrap}
  .project-visual{flex:none;min-width:0;height:220px;margin:28px 0}
  .project-card:first-child .project-visual{height:250px}
  .coaching-visual span{width:39vw;height:39vw;margin-left:-10vw;font-size:10px}
  .app-visual>div{width:126px;height:220px;border-radius:28px;padding:16px}
  .app-visual b{font-size:24vw}
  .writing-visual span{font-size:12vw}
  .project-copy{grid-template-columns:minmax(0,1fr);gap:14px}
  .project-copy h3{font-size:29px}
  .project-copy a,.button-light{min-height:44px;align-items:center}
  .credential-list{grid-template-columns:1fr}
  .credential-list article{padding:26px 14px}
  .credential-list h3{font-size:24px;margin:30px 0 0}
  .coaching{min-height:auto;padding:68px 22px 82px}
  .coach-copy{margin:120px 0 0}
  .coach-copy h2{margin:26px 0 34px}
  .coach-copy>p:not(.eyebrow){margin:0 0 34px}
  .button-light{width:100%;justify-content:space-between;margin-left:0}
  .coach-orbit{width:100vw;height:100vw;right:-54vw;top:5%}
  footer{padding:70px 22px 32px}
  .footer-lead{padding:84px 0 96px}
  .footer-lead h2{margin:26px 0 38px}
  .contact-link{min-height:48px;align-items:center}
  .contact-options{gap:10px}.contact-options .contact-link{font-size:clamp(20px,6.2vw,28px)}
  .privacy-note{font-size:12px;line-height:1.7}
  .footer-bottom{grid-template-columns:1fr;gap:28px}
  .footer-bottom>div{flex-wrap:wrap}
  .footer-bottom a{min-height:44px;display:flex;align-items:center}
}
