@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f8f7f3;--ink:#172b43;--muted:#536170;--red:#a3392f;--line:#c9ccc9;--white:#fff;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}a:hover{color:var(--red)}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02}h1{font-size:clamp(64px,7.8vw,112px);letter-spacing:-.045em}h2{font-size:clamp(42px,5vw,66px);letter-spacing:-.025em}h3{font-size:36px;letter-spacing:-.018em}p+p{margin-top:1.1em}.wrap{max-width:1360px;padding:0 64px;margin:auto}.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.17em;text-transform:uppercase;font-weight:600}.red{color:var(--red)}.muted{color:var(--muted)}.skip{position:fixed;left:20px;top:-100px;background:white;padding:12px;z-index:99}.skip:focus{top:12px}.site-header{border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:30px}.brand{font:30px/1 var(--serif);letter-spacing:-.025em;width:190px}.brand span{display:block}.nav{display:flex;gap:29px;align-items:center;font-size:13px}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.languages{display:flex;gap:12px;font-size:11px;letter-spacing:.06em}.languages a{color:var(--muted)}.languages a[aria-current=true]{color:var(--red);border-bottom:1px solid var(--red)}.menu-toggle{display:none;background:none;border:0;padding:10px;color:var(--ink)}.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:660px;position:relative;align-items:center;gap:22px;padding-top:62px;padding-bottom:66px}.hero-copy{position:relative;z-index:1}.hero h1{margin:30px 0 24px}.hero h1 em{font-style:normal;color:var(--red)}.hero-subtitle{font-family:var(--serif);font-size:29px;line-height:1.25;max-width:490px}.hero-intro{font-size:14px;max-width:390px;margin-top:22px;color:var(--muted)}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center}.hero-art img{width:110%;max-width:none;mix-blend-mode:multiply}.art-caption{position:absolute;bottom:1px;right:4px;font:12px var(--serif);font-style:italic;letter-spacing:.03em}.actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 21px;background:var(--ink);color:white;font-size:13px;border:1px solid var(--ink);transition:background .2s}.button:hover{background:var(--red);border-color:var(--red);color:white}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-flex;gap:22px;align-items:center}.rule-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.section{padding-top:90px;padding-bottom:92px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.section-head .eyebrow{margin-bottom:17px}.section-head p{max-width:330px;font-size:14px;color:var(--muted)}.course-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:26px}.course-card{display:flex;flex-direction:column;min-width:0}.course-cover{height:290px;position:relative;padding:25px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:transform .25s;isolation:isolate}.course-card:hover .course-cover{transform:translateY(-5px)}.cover-1{background:var(--ink);color:var(--paper)}.cover-2{background:#b64738;color:#fff7ec}.cover-3{background:#e2e6dd;color:var(--ink)}.cover-author{font-size:11px;letter-spacing:.1em;text-transform:uppercase;position:relative;z-index:2}.cover-title{font:42px/.98 var(--serif);max-width:240px;position:relative;z-index:2}.cover-1 .cover-title{font-size:51px;max-width:250px}.cover-foot{font-size:10px;letter-spacing:.12em;text-transform:uppercase;position:relative;z-index:2}.cover-mark{position:absolute;font:260px/.75 var(--serif);opacity:.1;right:-15px;bottom:0;pointer-events:none;z-index:0}.cover-2:after{content:'✳';position:absolute;font-size:200px;right:-20px;bottom:-35px;line-height:1;color:#f0ba7b;opacity:.35}.cover-3 .cover-title{font-size:34px;max-width:210px}.course-meta{padding:20px 0 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.course-card h3{font-size:26px;line-height:1.2;margin-top:17px}.course-desc{font-size:13px;color:var(--muted);margin:9px 0 17px;max-width:340px}.card-link{font-size:12px;margin-top:auto;display:flex;justify-content:space-between;align-items:center}.reading-section{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.reading-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;padding-top:78px;padding-bottom:80px}.reading-intro h2{margin:20px 0 24px;font-size:65px;max-width:350px}.reading-intro p{font-size:15px;max-width:330px;color:#cbd0d5}.service-link{display:block;border-top:1px solid #627080;padding:29px 0}.service-link:last-child{border-bottom:1px solid #627080}.service-link:hover{color:#e8b6a8}.service-link .eyebrow{color:#c4b29c}.service-link h3{font-size:31px;line-height:1.15;margin:12px 0}.service-link p{font-size:14px;color:#cbd0d5;max-width:390px}.service-link .arrow{float:right}.about-slice{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.about-slice h2{max-width:400px;margin-top:20px;font-size:68px}.about-copy{padding-top:32px}.about-copy p{font-size:17px}.about-copy .text-link{margin-top:28px}.chalet-strip{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding:37px 0}.chalet-strip h3{font-size:30px}.chalet-strip p{font-size:13px;color:var(--muted);margin-top:9px}.site-footer{background:#e9ece7;border-top:1px solid var(--line);padding:44px 0 24px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-brand{font:35px/1 var(--serif)}.footer-subtitle{font-size:12px;margin-top:14px}.footer-links{display:flex;flex-wrap:wrap;gap:25px;font-size:12px;align-items:start}.footer-bottom{border-top:1px solid #c7ccc5;margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.05em}.page-hero{padding-top:65px;padding-bottom:62px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:12px;color:var(--muted);display:flex;gap:12px;margin-bottom:35px}.page-hero h1{max-width:850px;font-size:clamp(58px,7vw,96px);margin-top:20px}.page-lead{font:28px/1.4 var(--serif);max-width:650px;margin-top:25px}.detail-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:75px;align-items:center}.detail-hero h1{font-size:clamp(55px,6vw,84px)}.detail-hero .course-cover{height:405px;transform:rotate(3deg);box-shadow:15px 17px 0 #e5e5de}.detail-hero .cover-title{font-size:58px}.detail-hero .cover-3 .cover-title{font-size:45px}.detail-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:90px}.prose{max-width:710px}.prose h2{font-size:45px;margin:45px 0 22px}.prose h2:first-child{margin-top:0}.prose p{color:#3f4e5c;line-height:1.9}.prose ul{padding-left:22px;color:#3f4e5c}.prose li{margin:10px 0}.info-panel{border-top:3px solid var(--red);padding-top:22px;align-self:start}.info-panel h3{font-size:28px;margin-bottom:22px}.info-row{border-top:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;gap:15px;font-size:13px}.info-row span:first-child{color:var(--muted)}.info-panel .button{width:100%;margin-top:25px;font-size:12px}.small-note{font-size:12px;color:var(--muted);margin-top:15px}.faq{margin-top:48px}.faq details{border-top:1px solid var(--line);padding:19px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:16px}.faq details p{font-size:14px;margin-top:15px}.contact-banner{background:#e9ece7;padding:38px;display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:50px}.contact-banner h3{font-size:32px}.contact-banner p{font-size:14px;margin-top:12px;max-width:550px}.publication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.publication-item{border-top:1px solid var(--line);padding-top:25px}.publication-item h3{font-size:33px;margin-bottom:15px}.publication-item p{font-size:14px;color:var(--muted)}.service-page{display:grid;grid-template-columns:1fr 1fr;gap:70px}.service-block{border-top:2px solid var(--ink);padding-top:25px}.service-block h2{font-size:44px;margin:15px 0 25px}.service-block p{font-size:16px;color:var(--muted)}.service-block .text-link{margin-top:28px}.service-block ul{font-size:14px;padding-left:20px;margin:25px 0}.coming-note{font-size:12px;color:var(--muted);border-left:2px solid var(--red);padding-left:15px;margin-top:23px}.mobile-only{display:none}
@media(min-width:1500px){.hero-art img{width:105%}}
@media(max-width:1100px){.wrap{padding-left:35px;padding-right:35px}.nav{gap:18px}.header-inner{gap:20px}.hero{min-height:580px}.hero h1{font-size:84px}.reading-inner,.about-slice{gap:50px}.detail-grid{gap:50px}.detail-hero{gap:45px}.course-cover{height:265px}.cover-title,.cover-1 .cover-title{font-size:42px}}
@media(max-width:800px){.wrap{padding-left:24px;padding-right:24px}.header-inner{min-height:83px;gap:12px}.brand{font-size:25px;width:auto;margin-right:auto}.menu-toggle{display:block}.languages{gap:10px}.nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--paper);padding:20px 24px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #172b4310}.nav.open{display:flex;flex-direction:column;align-items:start;gap:20px}.hero{grid-template-columns:1fr;gap:10px;padding-top:45px;padding-bottom:25px;min-height:0}.hero h1{font-size:clamp(72px,13vw,110px);margin:20px 0}.hero-subtitle{font-size:26px}.hero-intro{font-size:14px}.hero-art{min-height:250px;max-height:350px;margin-top:15px}.hero-art img{width:360px;max-width:100%;height:330px;object-fit:contain}.art-caption{bottom:8px;right:10px}.rule-line{font-size:9px;letter-spacing:.07em}.rule-line span:last-child{display:none}.section{padding-top:57px;padding-bottom:58px}.section-head{align-items:start;flex-direction:column;gap:18px;margin-bottom:30px}.section-head p{max-width:100%}.course-grid{grid-template-columns:1fr;gap:38px}.course-cover{height:320px}.cover-title,.cover-1 .cover-title{font-size:60px;max-width:300px}.cover-3 .cover-title{font-size:44px;max-width:290px}.course-card h3{font-size:28px}.course-desc{max-width:none;font-size:14px}.reading-inner,.about-slice{grid-template-columns:1fr;gap:40px}.reading-inner{padding-top:55px;padding-bottom:55px}.reading-intro h2{font-size:60px;max-width:none}.reading-intro p{max-width:none}.about-slice h2{font-size:61px}.about-copy{padding-top:0}.chalet-strip{align-items:start;flex-direction:column;gap:24px}.footer-top{flex-direction:column;gap:30px}.footer-links{gap:18px}.footer-bottom{flex-direction:column;gap:7px}.page-hero{padding-top:35px;padding-bottom:40px}.page-hero h1{font-size:58px}.page-lead{font-size:25px}.detail-hero,.detail-grid{grid-template-columns:1fr;gap:42px}.detail-hero .course-cover{max-width:320px;width:90%;height:360px;margin:0 auto 15px}.detail-hero .cover-title{font-size:53px}.detail-hero .cover-3 .cover-title{font-size:43px}.detail-grid .info-panel{order:-1}.contact-banner{padding:28px;flex-direction:column;align-items:start}.publication-grid,.service-page{grid-template-columns:1fr;gap:40px}.prose h2{font-size:39px}.service-block h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
