:root{--navy:#0c202d;--navy2:#173341;--lime:#d3fa65;--ink:#152e3b;--muted:#526570;--line:#d7dfe1;--paper:#f4f6f5;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--white);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #5b9512;outline-offset:5px}a,button{touch-action:manipulation}h1,h2,h3,p{margin:0}p+p{margin-top:20px}h1,h2,h3{line-height:1.5;letter-spacing:.025em}h2{font-size:clamp(26px,3.2vw,40px);font-weight:750}h3{font-size:21px}button{cursor:pointer}::selection{background:var(--lime);color:var(--navy)}.preview-bar{background:var(--lime);text-align:center;padding:6px 20px;font-size:12px;font-weight:700;letter-spacing:.1em}.preview-bar span{margin-left:18px;letter-spacing:.03em}.header{display:flex;justify-content:space-between;align-items:center;padding:24px 5.8%;background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);gap:25px}.brand{font-size:17px;line-height:1.05;font-weight:900;letter-spacing:.04em;flex-shrink:0}.brand-dot{color:#61920b}.header nav{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:650}.header nav a:not(.nav-contact):hover{box-shadow:0 2px 0 var(--ink)}.nav-contact{padding:10px 23px;color:white;background:var(--navy)}.menu-toggle{display:none}.hero{position:relative;padding:74px 5.8% 0;background:var(--navy);color:white;display:grid;grid-template-columns:1.15fr 1fr;gap:48px;overflow:hidden}.eyebrow,.section-label>span{font-size:13px;font-weight:700;letter-spacing:.17em;display:block;margin-bottom:25px}.hero .eyebrow{color:var(--lime)}h1{font-size:clamp(30px,3.9vw,58px);line-height:1.55;letter-spacing:.015em;font-weight:800;margin:20px 0 25px}h1 span{color:var(--lime)}.hero-desc{color:#d1dce2;font-size:17px}.hero-name{display:flex;align-items:center;gap:22px;margin:30px 0}.hero-name strong{font-size:24px;letter-spacing:.16em}.hero-name span{font-size:12px;letter-spacing:.13em;color:#b5c5ce}.actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 27px;font-size:14px;font-weight:700;border:1px solid transparent;transition:background .15s,color .15s}.button:hover{filter:brightness(.94)}.lime{color:var(--navy);background:var(--lime)}.outline{color:white;border-color:#6a7c86}.outline:hover{background:#254351}.dark{color:white;background:var(--navy)}.portrait{position:relative;background:var(--navy2);border:1px solid #385361;min-height:480px;padding:33px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.portrait-top{font-size:12px;letter-spacing:.2em;color:#b6c8d1}.portrait-type{font-size:clamp(32px,4.8vw,76px);line-height:1;letter-spacing:-.055em;font-weight:850;color:#76909e;transform:rotate(-90deg);position:absolute;top:39%;left:2%;white-space:nowrap}.portrait-type span{color:var(--lime)}.portrait-caption{position:absolute;bottom:32px;left:32px;font-size:12px;letter-spacing:.08em;color:#bed0d8}.portrait-year{position:absolute;right:32px;top:32px;writing-mode:vertical-rl;letter-spacing:.2em;font-size:12px;color:var(--lime)}.hero-bottom{grid-column:1/-1;border-top:1px solid #38505f;display:flex;justify-content:space-between;padding:20px 0;font-size:11px;letter-spacing:.12em;color:#b5c6cf;margin-top:4px}.hero-bottom a{color:white}.section{padding:104px 7%;max-width:1600px;margin:auto}.profile{display:grid;grid-template-columns:.9fr 1.2fr;gap:9%}.section-label>span{color:var(--muted)}.profile-content>p{color:var(--muted)}.profile-content .lead{font-size:22px;color:var(--ink);font-weight:700;line-height:1.7;margin-bottom:24px}.profile-facts{margin:30px 0}.profile-facts div{display:grid;grid-template-columns:55px 1fr;border-top:1px solid var(--line);padding:14px 0;font-size:14px}.profile-facts dt{font-weight:700}.profile-facts dd{margin:0}.career{border-block:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-weight:650;padding:18px 0}summary::-webkit-details-marker{display:none}.career summary{display:flex;justify-content:space-between}.career[open] summary span{transform:rotate(45deg)}.career dl{margin:0 0 20px}.career dl div{display:grid;grid-template-columns:125px 1fr;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.career dt{color:var(--muted)}.career dd{margin:0}.services{background:var(--paper);max-width:none}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:45px}.section-heading>p{font-size:15px;color:var(--muted)}.service-row{display:grid;grid-template-columns:45px 1.3fr 1.5fr 100px;gap:28px;align-items:center;padding:35px 0;border-top:1px solid #cbd5d8}.service-row:last-child{border-bottom:1px solid #cbd5d8}.number{font-size:14px;color:var(--muted);align-self:start;padding-top:7px}.english{font-size:11px;letter-spacing:.12em;color:var(--muted);display:block;margin-top:7px}.service-row p{font-size:15px;color:var(--muted);line-height:1.9}.text-link{font-size:14px;font-weight:700;border:0;border-bottom:1px solid currentColor;background:none;padding:4px 0;justify-self:end;display:inline-block;white-space:nowrap}.text-link:hover{color:#527b08}.atf-section{background:var(--navy);color:white;padding:96px 7%;display:grid;grid-template-columns:.9fr 1.2fr;gap:9%}.atf-heading .eyebrow{color:var(--lime)}.atf-monogram{font-size:clamp(95px,15vw,220px);font-weight:900;line-height:1;letter-spacing:-.075em;margin-top:85px}.atf-monogram span{color:var(--lime);font-size:.5em;letter-spacing:-.04em}.atf-sub{font-size:13px;letter-spacing:.2em;color:#a8c0ce;margin-top:25px}.pill{display:inline-block;border:1px solid #69838f;color:var(--lime);font-size:13px;padding:3px 12px;margin-bottom:24px}.atf-content h2{font-size:clamp(28px,3.4vw,43px)}.atf-content h3{font-size:17px;margin:26px 0 20px}.atf-content>p{font-size:15px;color:#c5d3da}.course-types{display:flex;gap:16px;font-size:14px;margin:25px 0}.course-types span{border-bottom:2px solid var(--lime);padding-bottom:8px}.course-parts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #49616e;padding:20px 0;margin:25px 0}.course-parts div{display:flex;flex-direction:column;gap:3px;padding-left:18px;border-left:1px solid #49616e}.course-parts div:first-child{padding-left:0;border:0}.course-parts strong{font-size:12px;color:var(--lime);letter-spacing:.1em}.course-parts span{font-size:14px;font-weight:650}.course-parts small{font-size:12px;color:#b1c4ce}.atf-details{margin-bottom:25px;font-size:14px;color:#c5d3da}.atf-details summary{padding:0 0 14px;color:white;text-decoration:underline;text-underline-offset:6px}.atf-details p{margin:0 0 12px}.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.book-item{border-top:2px solid var(--navy);padding-top:26px;display:grid;grid-template-columns:75px 1fr;gap:20px}.book-no{font-size:11px;letter-spacing:.1em;color:var(--muted);padding-top:5px}.tag{font-size:12px;background:#eaf0ed;display:inline-block;padding:2px 10px;margin-bottom:18px}.book-item h3{font-size:22px}.book-item p{font-size:15px;color:var(--muted);margin:18px 0}.social{background:var(--paper);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding-top:66px;padding-bottom:66px}.social h2{font-size:28px}.social p:last-child{font-size:15px;color:var(--muted);margin-top:20px}.social-links a{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #bac9cf;gap:12px}.social-links strong{font-size:26px;letter-spacing:-.035em}.social-links span{font-size:14px;color:var(--muted)}.social-links a:hover strong{color:#527b08}.contact{display:grid;grid-template-columns:.9fr 1.2fr;gap:9%}.contact h2{font-size:40px}.contact>div>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:25px}.contact-notice{border-left:3px solid #819796;padding-left:18px}form label{display:block;font-size:14px;font-weight:650;margin-bottom:9px}form label span{font-size:11px;color:var(--muted);margin-left:8px}input,select,textarea{width:100%;border:1px solid #bfccd1;border-radius:0;background:var(--paper);color:var(--ink);padding:13px 14px;margin:0 0 24px;font-size:16px;min-height:52px}select{white-space:normal;max-width:100%}textarea{resize:vertical;min-height:150px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-hint{font-size:12px;color:var(--muted);margin-top:12px}.form-preview{padding:22px;margin-top:24px;background:var(--paper);border:1px solid var(--line)}.form-preview h3{font-size:16px}.form-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px}.form-preview [role=status]{font-size:14px}footer{padding:35px 5.8%;background:var(--navy);color:white;display:flex;justify-content:space-between;gap:20px;align-items:center}footer .brand-dot{color:var(--lime)}footer>span,footer>a:last-child{font-size:12px;color:#b3c4cd}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--lime);padding:10px 20px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}[hidden]{display:none!important}
@media(min-width:1600px){.hero{padding-inline:max(7%,calc((100vw - 1400px)/2))}.services,.atf-section,.social{padding-inline:max(7%,calc((100vw - 1380px)/2))}}
@media(max-width:1050px){.header nav{gap:16px;font-size:13px}.hero{gap:30px;padding-top:55px}.portrait{min-height:440px}.hero-name{display:block}.hero-name span{display:block;margin-top:4px}.section,.atf-section{padding:75px 6%;gap:6%}.service-row{grid-template-columns:30px 1.2fr 1.2fr;gap:20px}.service-row .text-link{grid-column:3;justify-self:start}.book-grid{gap:35px}.book-item{display:block}.book-no{margin-bottom:18px}.course-parts div{padding-left:10px}.course-parts span{font-size:12px}.course-parts small{font-size:11px}.social{gap:40px}.social h2{font-size:24px}}
@media(max-width:760px){html{scroll-padding-top:95px}.preview-bar{font-size:10px;padding:6px 10px}.preview-bar span{font-size:11px;margin-left:8px}.header{padding:20px 6%}.brand{font-size:15px}.menu-toggle{display:block;border:1px solid var(--line);padding:8px 12px;background:white;font-size:13px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 6%;box-shadow:0 12px 20px #0c202d18;font-size:16px}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header nav a{padding:12px 10px}.hero{grid-template-columns:1fr;padding:42px 6% 0;gap:30px}.hero .eyebrow{font-size:11px;margin-bottom:18px}h1{font-size:clamp(27px,6.5vw,44px);margin-top:0}.hero-desc{font-size:15px}.hero-name{display:flex;flex-wrap:wrap;gap:10px 20px;margin:25px 0}.hero-name strong{font-size:22px}.hero-name span{font-size:10px}.button{padding:13px 20px;font-size:14px}.portrait{min-height:210px;padding:22px}.portrait-type{position:static;transform:none;font-size:clamp(40px,10vw,72px);padding:25px 0 32px}.portrait-top{font-size:10px}.portrait-caption{left:22px;bottom:18px;font-size:10px}.portrait-year{right:22px;top:22px;font-size:10px}.hero-bottom{gap:10px;font-size:9px;margin:0}.hero-bottom span:nth-child(2){display:none}.section,.atf-section{padding:64px 6%;display:block}.section-label{margin-bottom:34px}.eyebrow,.section-label>span{font-size:11px;margin-bottom:18px}.profile-content .lead{font-size:19px}.profile-content p{font-size:15px}.profile-facts div{font-size:13px}.career dl div{grid-template-columns:115px 1fr;font-size:13px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:14px}.service-row{grid-template-columns:25px 1fr;gap:12px;padding:27px 0}.service-row h3{font-size:19px}.service-row p{grid-column:2;font-size:14px}.service-row .text-link{grid-column:2}.number{font-size:12px}.atf-monogram{font-size:110px;margin-top:25px}.atf-sub{display:none}.atf-content{margin-top:35px}.atf-content h2{font-size:clamp(23px,6.5vw,32px)}.course-parts span{font-size:13px}.course-parts small{font-size:11px}.course-types{font-size:13px}.book-grid{grid-template-columns:1fr;gap:36px}.book-item h3{font-size:21px}.book-item{display:grid;grid-template-columns:55px 1fr;gap:16px}.book-no{font-size:10px}.book-item p{font-size:14px}.social h2{font-size:25px}.social-links{margin-top:30px}.social-links strong{font-size:25px}.social-links span{font-size:13px}.contact h2{font-size:33px}.contact form{margin-top:36px}.form-two{gap:14px}.contact form .button{width:100%}footer{padding:30px 6%;flex-wrap:wrap}footer .brand{width:100%;font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied photographs: preserve original files, adjust presentation only. */
.portrait-photo{padding:0;min-height:500px;border:0;isolation:isolate}
.portrait-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% center;filter:saturate(.84) contrast(1.035)}
.portrait-photo:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(12,32,45,.8));z-index:1}
.portrait-photo .portrait-caption{z-index:2;color:white;font-size:11px;letter-spacing:.1em;left:24px;bottom:22px}
.profile-photo{margin:40px 0 0;max-width:480px}
.profile-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:65% center;filter:saturate(.8) contrast(1.025)}
.profile-photo figcaption{font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:.06em}
@media(max-width:760px){.portrait-photo{min-height:0;height:360px}.portrait-photo img{object-position:55% 30%}.portrait-photo .portrait-caption{font-size:10px;left:18px;bottom:18px}.profile-photo{margin-top:28px;max-width:none}.profile-photo img{aspect-ratio:3/2}}
