:root{--ink:#10151a;--ink-soft:#3c4650;--paper:#f4f6f7;--white:#fff;--ice:#dfeaf0;--ice-deep:#b8cfda;--night:#0c1218;--gold:#a88d5b;--line:#10151a29;--serif:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", "Times New Roman", serif;--sans:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif;--container:min(1180px, calc(100vw - 64px));color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:radial-gradient(circle at 88% 8%, #b8cfda42, transparent 28rem), var(--paper);min-width:320px;color:var(--ink);letter-spacing:.03em;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.9}body:before{content:"";z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-underline-offset:.28em;text-decoration-thickness:1px}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}::selection{color:var(--white);background:#557080}.container{width:var(--container);margin-inline:auto}.skip-link{z-index:100;background:var(--night);color:var(--white);padding:.6rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:50;backdrop-filter:blur(16px);background:#f4f6f7d1;border-bottom:1px solid #10151a17;position:fixed;inset:0 0 auto}.header-inner{width:var(--container);justify-content:space-between;align-items:center;gap:2rem;height:84px;margin-inline:auto;display:flex}.brand{flex-direction:column;gap:.1rem;line-height:1.2;text-decoration:none;display:flex}.brand-name{font-family:var(--serif);letter-spacing:.18em;font-size:.98rem}.brand-role{color:var(--ink-soft);letter-spacing:.13em;text-transform:uppercase;font-size:.62rem}.desktop-nav{align-items:center;gap:clamp(1rem,2.2vw,2.4rem);display:flex}.desktop-nav a{color:var(--ink-soft);letter-spacing:.12em;font-size:.7rem;text-decoration:none;position:relative}.desktop-nav a:after{content:"";background:currentColor;height:1px;transition:right .22s;position:absolute;bottom:-.5rem;left:0;right:100%}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{right:0}.desktop-nav .nav-contact{color:var(--white);background:var(--night);padding:.65rem 1rem}.mobile-menu{display:none}.hero{background:#e9eff2;grid-template-columns:minmax(320px,.94fr) minmax(400px,1.06fr);min-height:100svh;padding-top:84px;display:grid;overflow:hidden}.hero-copy{z-index:2;flex-direction:column;justify-content:center;padding:clamp(7rem,13vh,10rem) clamp(3rem,7vw,8rem) 5rem max(32px,50vw - 590px);display:flex;position:relative}.hero-kicker,.eyebrow{color:#516572;letter-spacing:.24em;text-transform:uppercase;margin:0 0 2rem;font-size:.67rem;font-weight:600}.hero h1{font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(3.5rem,7vw,7.4rem);font-weight:400;line-height:.92}.hero h1 span{letter-spacing:.14em;margin-top:1rem;font-size:.32em;display:block}.hero-statement{max-width:30rem;font-family:var(--serif);letter-spacing:.08em;margin:clamp(3rem,7vh,5rem) 0 0;font-size:clamp(1.2rem,2.1vw,1.75rem);line-height:1.7}.hero-meta{color:var(--ink-soft);letter-spacing:.12em;margin:2rem 0 0;font-size:.72rem}.hero-image{min-height:650px;position:relative}.hero-image:after{content:"";background:linear-gradient(90deg,#e9eff2cc,#0000 22%),linear-gradient(#0000 65%,#08101614);position:absolute;inset:0}.hero-image img{object-fit:cover;object-position:53% center;width:100%;height:100%}.scroll-mark{color:var(--ink-soft);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.58rem;display:flex;position:absolute;bottom:2.4rem;left:max(32px,50vw - 590px)}.scroll-mark:before{content:"";background:currentColor;width:42px;height:1px}.section{padding:clamp(6rem,12vw,11rem) 0}.section-dark{color:var(--white);background:var(--night)}.section-number{color:var(--gold);font-family:var(--serif);letter-spacing:.16em;margin:0 0 1rem;font-size:.76rem}.section-heading{font-family:var(--serif);letter-spacing:.01em;margin:0;font-size:clamp(2.2rem,5.3vw,5.4rem);font-weight:400;line-height:1.18}.section-heading.small{font-size:clamp(2rem,4.2vw,4rem)}.section-copy{max-width:42rem;color:var(--ink-soft);font-family:var(--serif);margin:2.5rem 0 0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:2.15}.section-dark .section-copy{color:#ffffffb8}.statement-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;gap:clamp(4rem,10vw,10rem);display:grid}.statement-aside{color:#ffffffad;border-left:1px solid #fff3;padding-left:2rem;font-size:.84rem}.profile-grid,.split-grid{grid-template-columns:minmax(300px,.92fr) minmax(320px,1.08fr);align-items:center;gap:clamp(4rem,9vw,9rem);display:grid}.image-frame{position:relative}.image-frame:before{content:"";z-index:-1;border:1px solid var(--ice-deep);position:absolute;inset:1.2rem -1.2rem -1.2rem 1.2rem}.image-frame img{aspect-ratio:4/5;object-fit:cover;width:100%}.credentials{border-top:1px solid var(--line);margin:2.4rem 0 0;padding:0;list-style:none}.credentials li{border-bottom:1px solid var(--line);color:var(--ink-soft);padding:.72rem 0;font-size:.82rem}.text-link{letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:1.2rem;margin-top:2.5rem;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link:after{content:"→";font-size:1.1rem;transition:transform .18s}.text-link:hover:after{transform:translate(.35rem)}.service-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(4rem,8vw,7rem);display:grid}.service-card{padding:2.2rem 0 0}.service-card:first-child{border-right:1px solid var(--line);padding-right:clamp(2rem,5vw,5rem)}.service-card:last-child{padding-left:clamp(2rem,5vw,5rem)}.service-card img{aspect-ratio:16/10;object-fit:cover;filter:saturate(.72);width:100%;margin-bottom:2rem}.service-card h3{font-family:var(--serif);margin:0 0 1rem;font-size:clamp(1.55rem,2.7vw,2.5rem);font-weight:400}.service-card p{color:var(--ink-soft);font-size:.86rem}.insight-band{min-height:80svh;color:var(--white);background:var(--night);place-items:center;display:grid;position:relative;overflow:hidden}.insight-band>img{object-fit:cover;object-position:center 44%;opacity:.52;filter:grayscale(.2)contrast(1.08);width:100%;height:100%;position:absolute;inset:0}.insight-band:after{content:"";background:linear-gradient(90deg,#080d12f0,#080d1233);position:absolute;inset:0}.insight-content{z-index:2;width:var(--container);position:relative}.insight-content p:not(.eyebrow){color:#ffffffbd;max-width:36rem}.contact-band{text-align:center;background:var(--ice);padding:clamp(6rem,11vw,10rem) 0}.contact-band p{max-width:38rem;color:var(--ink-soft);margin:1.6rem auto 0}.button{border:1px solid var(--ink);min-width:220px;color:var(--white);background:var(--ink);letter-spacing:.16em;text-transform:uppercase;justify-content:center;align-items:center;margin-top:2.5rem;padding:1rem 1.8rem;font-size:.72rem;font-weight:600;text-decoration:none;transition:color .18s,background .18s;display:inline-flex}.button:hover{color:var(--ink);background:0 0}.button.light{border-color:var(--white);color:var(--night);background:var(--white)}.button.light:hover{color:var(--white);background:0 0}.page-hero{border-bottom:1px solid var(--line);padding:clamp(10rem,18vw,15rem) 0 clamp(5rem,10vw,9rem)}.page-hero-grid{grid-template-columns:.38fr 1fr;gap:3rem;display:grid}.page-title{max-width:14ch;font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(3rem,7vw,7rem);font-weight:400;line-height:1.05}.page-title--compact{max-width:18ch;font-size:clamp(2.5rem,5.4vw,5.4rem);line-height:1.12}.page-lead{max-width:43rem;color:var(--ink-soft);font-family:var(--serif);margin:2.5rem 0 0;font-size:clamp(1rem,1.6vw,1.25rem);line-height:2.1}.prose{max-width:47rem}.prose h2{font-family:var(--serif);margin:5rem 0 1.8rem;font-size:clamp(1.8rem,3.2vw,3rem);font-weight:400;line-height:1.45}.prose h2:first-child{margin-top:0}.prose h3{font-family:var(--serif);margin:3rem 0 1rem;font-size:1.35rem;font-weight:400}.prose p{color:var(--ink-soft);margin:0 0 1.5rem}.prose ul{color:var(--ink-soft);padding-left:1.2rem}.prose blockquote{border-left:1px solid var(--gold);font-family:var(--serif);margin:4rem 0;padding:2.4rem 0 2.4rem 2rem;font-size:clamp(1.25rem,2.4vw,1.9rem);line-height:1.85}.facts-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4rem;display:grid}.fact{padding:2rem}.fact+.fact{border-left:1px solid var(--line)}.fact-label{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .4rem;font-size:.65rem}.fact-value{font-family:var(--serif);margin:0;font-size:1.15rem}.steps{counter-reset:step;border-top:1px solid var(--line);margin-top:4rem}.step{border-bottom:1px solid var(--line);counter-increment:step;grid-template-columns:100px 1fr;gap:2rem;padding:2.8rem 0;display:grid}.step:before{content:"0" counter(step);color:var(--gold);font-family:var(--serif);font-size:1.2rem}.step h3{font-family:var(--serif);margin:0 0 .7rem;font-size:1.55rem;font-weight:400}.step p{color:var(--ink-soft);margin:0}.program-grid,.media-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:4rem;display:grid}.program-card,.media-card{background:var(--paper);padding:clamp(2rem,4vw,3.4rem)}.program-card h3,.media-card h3{font-family:var(--serif);margin:0 0 1rem;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:400}.program-card p,.media-card p{color:var(--ink-soft);margin:0;font-size:.84rem}.media-card .media-type{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.2rem;font-size:.62rem;font-weight:600}.media-list{border-top:1px solid var(--line);margin:2.5rem 0 0;padding:0;list-style:none}.media-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(140px,.3fr) 1fr;gap:2rem;padding:1.3rem 0;display:grid}.media-list time{color:var(--ink-soft);font-size:.76rem}.form-wrap{grid-template-columns:minmax(240px,.55fr) minmax(400px,1fr);gap:clamp(4rem,10vw,9rem);display:grid}.form-note{color:var(--ink-soft);font-size:.8rem}.contact-form{gap:1.7rem;display:grid}.field{gap:.55rem;display:grid}.field label,.fieldset-label{letter-spacing:.08em;font-size:.76rem;font-weight:600}.required{color:#7d4b42;margin-left:.5rem;font-size:.62rem}.field input,.field textarea,.field select{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #7c8790;border-radius:0;outline:none;padding:.95rem 0;transition:border-color .18s}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field textarea:focus,.field select:focus{border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}.field-check{color:var(--ink-soft);align-items:flex-start;gap:.75rem;font-size:.76rem;display:flex}.field-check input{margin-top:.45rem}.hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.notice{border:1px solid var(--line);color:var(--ink-soft);padding:1.5rem;font-size:.75rem}.site-footer{color:#ffffffb8;background:var(--night);padding:4.5rem 0 2rem}.footer-inner{width:var(--container);grid-template-columns:1fr auto;gap:4rem;margin-inline:auto;display:grid}.footer-name{color:var(--white);font-family:var(--serif);letter-spacing:.16em;margin:0;font-size:1.25rem}.footer-copy,.copyright{letter-spacing:.12em;margin:.3rem 0 0;font-size:.65rem}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:1.5rem;display:flex}.site-footer nav a{font-size:.7rem;text-decoration:none}.copyright{border-top:1px solid #ffffff1f;grid-column:1/-1;padding-top:2rem}.reveal{animation:.9s cubic-bezier(.2,.7,.2,1) both reveal}.reveal-delay-1{animation-delay:.1s}.reveal-delay-2{animation-delay:.22s}@keyframes reveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){:root{--container:min(100% - 40px, 760px)}.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;place-content:center;gap:7px;width:42px;height:42px;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:var(--ink);width:24px;height:1px;transition:transform .18s}.mobile-menu[open] summary span:first-child{transform:translateY(4px)rotate(45deg)}.mobile-menu[open] summary span:last-child{transform:translateY(-4px)rotate(-45deg)}.mobile-menu nav{border-bottom:1px solid var(--line);background:#f4f6f7fa;gap:0;padding:2rem 20px 3rem;display:grid;position:fixed;inset:84px 0 auto}.mobile-menu nav a{border-bottom:1px solid var(--line);font-family:var(--serif);padding:1rem 0;text-decoration:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:70svh;padding:8rem 20px 5rem}.hero h1{font-size:clamp(3.7rem,15vw,6.5rem)}.hero-image{min-height:62svh}.hero-image:after{background:linear-gradient(#0000,#0c121826)}.scroll-mark{display:none}.statement-grid,.profile-grid,.split-grid,.page-hero-grid,.form-wrap{grid-template-columns:1fr}.image-frame:before{inset:.8rem 0 -.8rem .8rem}.service-list{grid-template-columns:1fr}.service-card:first-child{border-right:0;border-bottom:1px solid var(--line);padding-bottom:4rem;padding-right:0}.service-card:last-child{padding-top:4rem;padding-left:0}.page-hero{padding-top:10rem}.page-hero-grid{gap:1rem}.page-title{max-width:none}}@media (width<=640px){:root{--container:calc(100vw - 32px)}body{font-size:15px}.header-inner{height:72px}.brand-name{font-size:.85rem}.mobile-menu nav{inset:72px 0 auto}.hero{padding-top:72px}.hero-copy{min-height:66svh;padding-inline:16px}.hero-image{min-height:52svh}.hero-image img{object-position:55% center}.section{padding-block:5.5rem}.facts-grid,.program-grid,.media-grid{grid-template-columns:1fr}.fact+.fact{border-top:1px solid var(--line);border-left:0}.step{grid-template-columns:54px 1fr;gap:1rem}.media-list li{grid-template-columns:1fr;gap:.3rem}.footer-inner{grid-template-columns:1fr;gap:2rem}.site-footer nav{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
