@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#193f49;--paper:#fcf8f2;--orange:#c04b2b;--blue:#d5e5e9;--line:#193f4933;--muted:#586c70}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0 0 24px}h1{font-size:clamp(48px,6.7vw,100px)}h2{font-size:clamp(36px,4.6vw,65px)}h3{font-size:30px}p{margin:0 0 24px}em{font-weight:400}img{width:100%;height:100%;object-fit:cover;display:block}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:600;margin-bottom:24px}.topbar{text-align:center;background:var(--ink);color:var(--paper);font-size:12px;padding:7px 16px;letter-spacing:.06em}header{padding:21px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.logo{font:30px/1 Fraunces,serif;letter-spacing:-.06em}.logo small{display:block;font:10px/1.5 'DM Sans',sans-serif;letter-spacing:.27em;margin-top:7px;text-transform:uppercase}nav{display:flex;align-items:center;gap:28px;font-size:14px}nav a[aria-current=page]{border-bottom:1px solid}a:hover{color:var(--orange)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;min-height:52px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:3px;font-size:14px;font-weight:500;transition:.2s}.btn:hover{background:var(--orange);border-color:var(--orange);color:white}.btn.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn.outline{background:transparent;color:var(--ink)}.text-link{display:inline-block;border-bottom:1px solid;padding:6px 0;font-size:14px}.menu-btn{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:670px}.hero-copy{padding:80px 6vw 64px}.hero h1 em{color:var(--orange)}.hero-copy>p:not(.eyebrow){max-width:400px}.hero-image{position:relative;background:var(--blue);overflow:hidden;min-height:550px}.hero-image img{object-position:center 32%}.caption{position:absolute;bottom:26px;left:28px;right:28px;background:var(--paper);padding:15px 21px;display:flex;justify-content:space-between;gap:20px;font-size:13px}.caption strong{font-family:Fraunces,serif;font-size:24px;font-weight:400}.mini-note{font-size:12px;margin:17px 0 0;color:var(--muted)}.ribbon{background:var(--blue);padding:25px 5%;display:flex;justify-content:space-around;gap:25px;font-size:14px}.section{padding:95px 6%}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.intro h2{max-width:620px}.intro p{max-width:500px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border-top:1px solid var(--ink);padding:30px 0;display:flex;flex-direction:column;align-items:start}.card .num{font:italic 45px Fraunces,serif;color:var(--orange);margin-bottom:26px}.card .text-link{margin-top:auto}.card p{max-width:330px}.blue{background:var(--blue)}.orange{background:var(--orange);color:white}.dark{background:var(--ink);color:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr}.split-photo{height:650px}.split-copy{padding:80px 12%;align-self:center}.quote{padding:90px 12%;text-align:center}.quote p{font:clamp(30px,4vw,52px)/1.25 Fraunces,serif;max-width:1000px;margin:0 auto 24px}.cta{text-align:center;padding:85px 5%}.cta h2{max-width:760px;margin:0 auto 25px}.cta p{max-width:490px;margin:0 auto 28px}footer{padding:60px 6% 22px;background:var(--ink);color:var(--paper)}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:45px}.footer-top p{max-width:290px;margin:22px 0;font-size:14px}.footer-top a:not(.logo){display:block;font-size:14px;margin:9px 0}.footer-bottom{border-top:1px solid #ffffff30;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.page-head{padding:75px 6%;max-width:1100px}.page-head p:not(.eyebrow){font-size:19px;max-width:680px}.page-head h1{font-size:clamp(48px,6vw,80px)}.narrow{max-width:800px;margin:auto}.article{padding:20px 6% 90px}.article h2{font-size:35px;margin-top:45px}.article p{line-height:1.9}.article ul{padding-left:20px}.program{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.panel{border:1px solid var(--line);padding:38px;background:#fffaf6}.panel h3{font-size:35px}.panel ul{padding-left:20px}.price{font:50px Fraunces,serif}.details{margin-top:40px}details{border-bottom:1px solid var(--line);padding:23px 0}summary{font-size:18px;cursor:pointer}details p{margin:20px 0 0;max-width:800px}form label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}input,select,textarea{width:100%;padding:13px;border:1px solid #72868b;background:white;border-radius:2px;color:var(--ink);margin-bottom:22px}textarea{min-height:125px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 25px}.slot{padding:12px 8px;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:2px}.slot[aria-pressed=true]{background:var(--ink);color:white}.steps{display:flex;gap:20px;margin-bottom:28px;font-size:13px}.steps span{opacity:.5}.steps .active{opacity:1;border-bottom:1px solid}.notice{background:var(--blue);padding:15px 20px;font-size:14px;margin-bottom:25px}.check{display:flex;gap:10px;align-items:start;margin-bottom:22px}.check input{width:18px;margin:5px 0 0}.check label{font-size:13px}.success{padding:50px 0}.success h2{font-size:45px}.journal-card{padding:30px;border:1px solid var(--line);background:#fffaf6;min-height:330px}.journal-card .eyebrow{color:var(--orange)}.journal-card h3{font-size:33px}.journal-card p{font-size:15px}.skip{position:absolute;left:10px;top:-70px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.hidden{display:none!important}.button-row{display:flex;flex-wrap:wrap;gap:15px}.back{font-size:14px;display:inline-block;margin-bottom:30px}.legal h2{font-size:30px}.wordmark-large{font:clamp(60px,12vw,170px) Fraunces,serif;letter-spacing:-.065em;border-bottom:1px solid #ffffff30;padding-bottom:25px;margin-bottom:35px}.pill{display:inline-block;padding:5px 12px;border:1px solid var(--line);font-size:12px;border-radius:30px;margin:0 4px 15px 0}
@media(max-width:900px){nav{gap:17px}nav .btn{padding:12px}.hero-copy{padding:65px 6vw}.hero{min-height:600px}.hero h1{font-size:64px}.cards{gap:25px}.split-copy{padding:55px 10%}.booking,.program{gap:35px}.caption{left:16px;right:16px}.caption span{display:none}}
@media(max-width:700px){header{position:relative;padding:20px 6%}.menu-btn{display:block;background:none;border:1px solid var(--line);padding:9px 13px;color:var(--ink)}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px 6%;background:var(--paper);z-index:10;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch}.hero,.intro,.split,.booking,.program{grid-template-columns:1fr}.hero-copy{padding:48px 6%}.hero h1{font-size:64px}.hero-image{height:480px;min-height:0}.ribbon{flex-wrap:wrap;font-size:12px;gap:8px 23px}.section{padding:60px 6%}.intro{gap:20px}.cards{grid-template-columns:1fr}.section-head{display:block}.section-head .text-link{margin-top:20px}.split-photo{height:470px}.split-copy{padding:55px 6%}.quote{padding:65px 7%}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.page-head{padding:50px 6%}.page-head p:not(.eyebrow){font-size:17px}.panel{padding:24px}.two{grid-template-columns:1fr;gap:0}.slots{grid-template-columns:repeat(2,1fr)}.booking{gap:20px}.wordmark-large{font-size:18vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
