@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--cream:#f2efe7;--paper:#faf8f3;--ink:#24231f;--taupe:#cfc4b4;--line:#d9d4ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.nav{position:fixed;z-index:20;top:0;left:0;width:100%;height:82px;display:flex;align-items:center;padding:0 4vw;color:white;border-bottom:1px solid #ffffff55;backdrop-filter:blur(7px);background:#2222}.brand{font-family:'Playfair Display',serif;font-size:24px;letter-spacing:.04em}.brand span{font-family:'DM Sans';font-size:8px;letter-spacing:.35em;display:block;text-align:center}.nav nav{display:flex;gap:34px;margin-left:auto;margin-right:34px;font-size:13px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 24px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.14em;font-size:11px;transition:.25s}.btn:hover{background:white;color:#222}.small{padding:11px 16px}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{height:100svh;min-height:700px;position:relative;color:white}.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,#15130f99 0%,transparent 65%)}.hero-copy{position:absolute;left:7vw;bottom:10vh;max-width:670px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:500}.hero h1,.intro h2,.class-copy h2,.gallery-copy h2,.team h2,.first h2,.final-cta h2{font:500 clamp(48px,6.5vw,100px)/.95 'Playfair Display',serif;margin:20px 0 26px}.hero h1 em,.final-cta em{font-weight:500}.hero-copy>p:not(.eyebrow){font-size:17px;max-width:470px;line-height:1.6}.actions{display:flex;align-items:center;gap:28px;margin-top:36px}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid;padding-bottom:5px}.intro{padding:130px 7vw}.intro h2{font-size:clamp(45px,6vw,82px)}.intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:10vw;align-items:end}.intro-grid p{font-size:18px;line-height:1.75;max-width:520px}.intro-grid img{height:520px}.classes{display:grid;grid-template-columns:1.2fr .8fr;background:#d5ccbf;min-height:760px}.class-copy{padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}.class-copy h2{font-size:clamp(45px,5vw,78px)}.class-copy>p:not(.eyebrow){line-height:1.75;max-width:460px}.dark{margin-top:25px;align-self:flex-start}.gallery{padding:130px 7vw;display:grid;grid-template-columns:1fr 1.25fr;grid-template-rows:520px auto;gap:28px}.g2{margin:0}.g1{margin:0}.gallery-copy{padding:70px 6vw 20px 0}.gallery-copy h2{font-size:58px}.gallery-copy p:last-child{max-width:520px;line-height:1.7}.team{background:#ece8df;padding:130px 7vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.section-head h2{font-size:64px;margin-bottom:0}.section-head>p{max-width:390px;line-height:1.7}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.team-grid article img{height:560px;object-position:center top}.team-grid h3{font:500 28px 'Playfair Display';margin:18px 0 5px}.team-grid article p{margin:0;font-size:12px;letter-spacing:.12em}.team-grid .team-role{text-transform:none}.note{font-size:11px;opacity:.55;margin-top:30px}.brand-moment{height:85vh;min-height:620px;position:relative;color:white}.brand-moment:after{content:"";position:absolute;inset:0;background:#0004}.brand-moment blockquote{position:absolute;z-index:2;left:7vw;bottom:9vh;font:500 clamp(42px,5.5vw,78px)/1.05 'Playfair Display';margin:0}.brand-moment em{font-weight:500}.first{padding:130px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:60px}.first h2{font-size:64px}.first ol{list-style:none;padding:0;margin:0}.first li{padding:22px 0;border-bottom:1px solid var(--line);font:500 24px 'Playfair Display'}.first li span{font:400 10px 'DM Sans';letter-spacing:.12em;display:inline-block;width:60px}.darkbtn{background:#222;color:white;grid-column:2;justify-self:start}.final-cta{background:#24231f;color:#f6f2e9;text-align:center;padding:150px 7vw 55px}.final-cta h2{font-size:clamp(58px,8vw,120px)}.final-cta .btn{margin:20px 0 100px}.contact-row{border-top:1px solid #ffffff33;padding-top:28px;display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.12em}footer{padding:22px 4vw;background:#24231f;color:#aaa;border-top:1px solid #ffffff22;font-size:10px;display:flex;justify-content:space-between}
@media(max-width:800px){.nav{height:68px}.nav nav,.nav>.btn{display:none}.menu{display:block;margin-left:auto}.hero{min-height:650px}.hero-copy{left:7vw;right:7vw}.hero h1{font-size:56px}.intro,.team,.first,.gallery{padding:90px 6vw}.intro-grid,.classes,.gallery,.first{grid-template-columns:1fr}.intro-grid{gap:40px}.intro-grid img{height:420px}.class-image{height:520px}.class-copy{padding:80px 6vw}.gallery{grid-template-rows:auto;gap:18px}.g1,.g2{height:420px}.gallery-copy{padding:40px 0}.section-head{display:block}.section-head h2,.first h2{font-size:50px}.section-head>p{margin-top:30px}.team-grid{grid-template-columns:1fr}.team-grid article img{height:520px}.brand-moment{height:70vh}.first{gap:35px}.darkbtn{grid-column:1}.contact-row{gap:15px;flex-direction:column}.final-cta{padding-top:100px}.final-cta .btn{margin-bottom:70px}}

/* Requested visual adjustments */
.intro-grid img{object-position:center 18%}
.team-grid article img{height:438px;object-position:center top}
.team-grid h3{font-size:28px;margin:18px 0 8px}
.team-grid .team-role{font-size:11px;line-height:1.45;letter-spacing:.08em;text-transform:uppercase}
.team-grid .team-bio{margin-top:38px;font-size:14px;line-height:1.65;letter-spacing:0}
@media(max-width:800px){.team-grid article img{height:520px}.team-grid .team-bio{margin-top:24px}}
.voucher{padding:120px 7vw;background:var(--paper);text-align:center}.voucher h2{font:500 clamp(46px,6vw,82px)/1 'Playfair Display',serif;margin:20px auto 28px}.voucher>p:not(.eyebrow){max-width:650px;margin:0 auto 28px;line-height:1.75}.voucher .text-link{display:inline-block}@media(max-width:800px){.voucher{padding:90px 6vw}}
