@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Italiana&display=swap');
:root{--paper:#f8f5f0;--cream:#f1ede5;--ink:#302c27;--muted:#6e675e;--sand:#b8a58c;--line:#dcd3c7;--dark:#272722;--white:#fffaf5;--serif:'Italiana','Bodoni MT','Didot',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}p{margin:0 0 1em}h1,h2,h3,h4{font-weight:400;margin:0}h1,h2,h3{font-family:var(--serif)}em{font-weight:400;font-family:var(--serif)}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:10px;z-index:99}.skip-link:focus{top:10px}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4.5vw,88px);position:relative;z-index:40;background:var(--paper);border-bottom:1px solid #ece6df}.brand{width:192px;min-width:160px;position:relative;height:65px;display:flex;align-items:center}.brand-logo{width:180px;max-height:54px;object-fit:contain;object-position:left center}.brand-word{display:none;letter-spacing:.13em;font:24px var(--serif)}.brand-word em{font:12px var(--sans)}.primary-nav{display:flex;gap:clamp(15px,2.4vw,42px);align-items:center}.primary-nav a,.top-cta,.menu-btn,.mobile-links a{font-size:11px;letter-spacing:.19em;font-weight:600;white-space:nowrap}.primary-nav a{position:relative;padding:34px 0}.primary-nav a:after{content:'';height:1px;background:var(--ink);bottom:27px;left:0;right:100%;position:absolute;transition:right .3s}.primary-nav a:hover:after,.primary-nav a.active:after{right:0}.top-cta{border:1px solid var(--ink);padding:13px 16px}.header-actions{display:flex;align-items:center;gap:18px}.menu-btn{display:none;background:none;border:0;padding:10px;width:39px}.menu-btn span{height:1px;width:100%;background:var(--ink);display:block;margin:6px 0}.mobile-nav{display:none}.homepage-hero{height:min(780px,85vh);min-height:620px;position:relative;background:#6e6258;color:white;overflow:hidden}.homepage-hero .hero-photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 45%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,22,18,.56),rgba(22,22,18,.14)),linear-gradient(0deg,rgba(17,18,15,.2),transparent 35%)}.hero-main{position:absolute;top:50%;left:clamp(25px,8vw,155px);transform:translateY(-45%);z-index:2}.hero-kicker{font-size:12px;letter-spacing:.31em;font-weight:600}.hero-rule{display:block;background:rgba(255,255,255,.75);height:1px;width:75px;margin:30px 0 24px}.hero-main h1{font-size:clamp(86px,13.4vw,210px);line-height:.72;letter-spacing:-.052em}.hero-main h1 i{font-style:normal;font-family:var(--serif);font-weight:400;margin-left:clamp(30px,9vw,180px)}.hero-main p{font-size:15px;letter-spacing:.14em;margin:45px 0 30px;max-width:420px}.outline-light{font-size:11px;letter-spacing:.18em;border:1px solid #fff;padding:16px 26px;display:inline-flex;gap:20px}.outline-light:hover{background:#fff;color:var(--ink)}.hero-side{position:absolute;right:38px;bottom:100px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.24em;z-index:2}.scroll-hint{position:absolute;bottom:28px;left:8vw;z-index:2;font-size:10px;letter-spacing:.22em}.page-hero{min-height:560px;display:grid;grid-template-columns:53% 47%;background:#eee8e0}.page-hero-photo{min-height:560px;overflow:hidden;background:#afa69a}.page-hero-photo img{height:100%;width:100%;object-fit:cover}.page-hero-panel{display:flex;flex-direction:column;justify-content:center;padding:60px clamp(38px,6vw,120px);}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.28em;font-weight:700;display:block;line-height:1.6}.page-hero-panel h1{font-size:clamp(66px,8vw,132px);line-height:.88;letter-spacing:-.03em;margin:28px 0}.page-hero-panel h1 em{font-style:normal}.page-hero-panel p{max-width:400px;color:var(--muted);font-size:14px}.hero-line{width:84px;height:1px;background:var(--sand);margin-top:26px}.section-pad{padding:clamp(75px,9vw,145px) clamp(25px,7vw,140px)}.intro-section{text-align:center;max-width:1240px;margin:auto}.giant-intro{font-family:var(--serif);font-size:clamp(38px,5vw,76px);line-height:1.23;margin:25px auto 0;letter-spacing:-.015em}.giant-intro em{font-style:italic}.intro-small{max-width:600px;margin:30px auto 0;font-size:14px;color:var(--muted)}.split-section{display:grid;grid-template-columns:52% 48%;align-items:center;gap:clamp(20px,5vw,95px);background:#f3eee7}.split-section.reverse{grid-template-columns:48% 52%;background:var(--paper)}.split-section.reverse .split-media{order:2}.split-section.reverse .split-copy{order:1}.split-media{min-height:550px;height:clamp(500px,51vw,760px);overflow:hidden;background:#ccc0ac}.split-media img{height:100%;width:100%;object-fit:cover}.split-copy{max-width:570px;padding:20px}.split-copy h2,.section-heading h2,.center-section h2,.location-details h2,.contact-copy h2{font-size:clamp(45px,6.5vw,95px);line-height:1.02;letter-spacing:-.03em;margin:20px 0 30px}.split-copy h2 em,.section-heading h2 em,.center-section h2 em,.location-details h2 em,.contact-copy h2 em{font-style:italic}.split-copy p,.center-section p,.section-heading p,.location-details p{color:var(--muted);font-size:15px;line-height:1.95;max-width:520px}.text-link,.arrow-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;letter-spacing:.1em;border-bottom:1px solid #8b8073;padding-bottom:10px;margin-top:20px;font-weight:600}.gallery-strip{display:grid;grid-template-columns:repeat(3,1fr);height:460px;gap:8px;background:#fff}.gallery-strip img{width:100%;height:100%;object-fit:cover}.center-section{text-align:center;background:#f8f5f0}.center-section h2{margin:28px auto}.center-section p{margin:0 auto 27px}.button-dark{display:inline-flex;align-items:center;gap:16px;padding:16px 27px;background:var(--ink);color:#fff;font-size:11px;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.button-dark:hover{background:#565044}.soft-bg{background:#f0eae1}.feature-section{background:#f8f5f0}.section-heading{text-align:center;margin:0 auto 68px;max-width:760px}.section-heading p{margin:0 auto}.feature-grid,.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1500px;margin:auto}.feature-card{display:flex;flex-direction:column;background:#fffefa}.card-image{display:block;height:350px;overflow:hidden;background:#cfbda7}.card-image img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.card-image:hover img{transform:scale(1.055)}.card-copy{padding:34px 30px 38px;flex:1}.card-copy h3{font-size:clamp(30px,3.5vw,48px);line-height:1;margin:16px 0}.card-copy p{font-size:13px;color:var(--muted);line-height:1.8}.mini-grid .card-image{height:275px}.quote-band{padding:110px 28px;text-align:center;background:#34332f;color:white}.quote-band p{max-width:940px;font-size:clamp(32px,4vw,62px);font-family:var(--serif);line-height:1.24;margin:0 auto 30px}.quote-band span{font-size:10px;letter-spacing:.25em}.footer-cta{text-align:center;background:#eae2d8;padding:110px 25px}.footer-cta h2{font-size:clamp(58px,8vw,130px);line-height:.95;margin:27px 0}.footer-cta h2 em{font-style:italic}.footer-cta>a{display:inline-block;font-size:clamp(15px,2vw,24px);border-bottom:1px solid;margin-top:20px;padding-bottom:6px}.site-footer{background:#24251f;color:#f6f1e7}.footer-lower{padding:90px 6vw 70px;display:grid;grid-template-columns:28% 72%;gap:40px}.footer-wordmark{display:block;font:40px var(--serif);line-height:1.15;letter-spacing:.045em}.footer-wordmark span{display:block;font-size:28px;letter-spacing:.2em}.footer-brand p{font-size:13px;color:#c5bdb1;margin-top:32px}.footer-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.footer-columns>div{display:flex;flex-direction:column;gap:11px}.footer-columns .footer-title{font-size:10px;letter-spacing:.19em;margin-bottom:17px;color:#f5eee1;text-transform:uppercase;font-weight:700}.footer-columns a{color:#c4beb4;font-size:12px}.footer-columns a:hover{color:white}.footer-bottom{border-top:1px solid #494841;padding:18px 6vw;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.07em;color:#b1aa9f}.copy-block{max-width:1100px;margin:auto;text-align:center}.copy-block p{font-size:16px;line-height:1.9;color:var(--muted)}.location-details{display:grid;grid-template-columns:40% 60%;gap:30px;align-items:center}.location-details img{height:500px;width:100%;object-fit:cover}.location-details h2{font-size:70px}.location-details p{line-height:1.8}.day-nav{display:grid;grid-template-columns:repeat(4,1fr);background:var(--dark);color:#fff;padding:0 6vw}.day-nav a{display:block;padding:26px 22px;border-right:1px solid #69645e;font-size:20px;font-family:var(--serif)}.day-nav a span{display:block;font:10px var(--sans);margin-top:5px;letter-spacing:.12em;color:#c6bdb0;text-transform:uppercase}.program-schedule{padding-top:70px}.agenda-day{display:grid;grid-template-columns:35% 65%;gap:30px 50px;border-bottom:1px solid var(--line);padding:70px 0;scroll-margin-top:30px;align-items:start}.agenda-heading h2{font-size:clamp(43px,4vw,68px);margin-top:13px}.agenda-image{grid-column:1;overflow:hidden;max-height:460px}.agenda-image img{width:100%;height:430px;object-fit:cover}.agenda-items{grid-column:2;grid-row:1/span 2}.agenda-item{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:15px 0;border-bottom:1px solid #e9e1d7}.agenda-item>span{font-size:12px;letter-spacing:.03em;color:#958875;font-weight:600}.agenda-item strong{font-size:14px;font-weight:600}.agenda-item p{font-size:13px;color:#756e62;margin:4px 0 0}.pricing-section{background:#efe9e1}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1100px;margin:auto}.price-card{background:#fffaf5;padding:62px 50px;min-height:320px}.price-card.highlighted{background:#dbd2c3}.price-card h3{font-size:84px;margin:15px 0 0}.price-card p{font-size:13px;color:var(--muted);margin-bottom:26px}.price-card>span:not(.eyebrow){display:block;font-size:14px;max-width:340px}.small-note{max-width:850px;margin:30px auto 0;text-align:center;color:var(--muted);font-size:12px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:#f6f1ea}.contact-copy h2{margin:18px 0 24px}.contact-copy p{max-width:500px;color:var(--muted)}.big-email{font-size:clamp(14px,2vw,22px);border-bottom:1px solid;margin-top:20px;display:inline-block;overflow-wrap:anywhere}.demo-form{display:flex;flex-direction:column;gap:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.demo-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;letter-spacing:.03em}.demo-form input,.demo-form textarea{border:0;border-bottom:1px solid #b7aa99;background:transparent;padding:12px 0;outline:0;width:100%;border-radius:0}.demo-form input:focus,.demo-form textarea:focus{border-bottom:1px solid #25231f}.demo-form button{background:var(--ink);border:0;color:white;letter-spacing:.14em;font-size:12px;padding:18px 26px;align-self:flex-start}.demo-form button span{margin-left:25px}.form-response{margin:0;color:#4d5946;font-weight:600}.form-disclaimer{font-size:11px;color:#716d66}.detail-list-section{background:#eee8df}.detail-list{border-top:1px solid #c9bfb3;max-width:1150px;margin:auto}.detail-row{display:grid;grid-template-columns:12% 35% 53%;align-items:baseline;padding:24px 10px;border-bottom:1px solid #c9bfb3;gap:10px}.detail-num{font-size:11px;color:#8c7963}.detail-row h3{font-size:30px;line-height:1.1}.detail-row p{color:var(--muted);font-size:13px;margin:0;line-height:1.7}.faq-section{background:#f7f1e9}.faq-stack{max-width:980px;margin:auto}.faq-stack details{border-top:1px solid #c6b9aa}.faq-stack details:last-child{border-bottom:1px solid #c6b9aa}.faq-stack summary{cursor:pointer;list-style:none;font-size:clamp(24px,2.3vw,36px);font-family:var(--serif);padding:25px 10px;display:flex;justify-content:space-between;gap:20px}.faq-stack summary::-webkit-details-marker{display:none}.faq-stack summary span{font-family:var(--sans);font-size:20px}.faq-stack details[open] summary span{transform:rotate(45deg)}.faq-stack p{padding:0 10px 30px;max-width:750px;color:var(--muted);font-size:14px}.masonry{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.masonry-item{margin:0}.masonry-item img{width:100%;height:330px;object-fit:cover}.masonry-item.i1,.masonry-item.i4{grid-column:span 2}.masonry-item.i1 img,.masonry-item.i4 img{height:440px}.masonry-item figcaption{font-size:10px;letter-spacing:.04em;color:var(--muted);padding-top:10px}.source-image{background:#d1c6b9}.source-image.is-fallback{filter:saturate(.82)}@media(min-width:1600px){.section-pad{padding-left:max(9vw,140px);padding-right:max(9vw,140px)}}@media(max-width:1180px){.primary-nav{gap:17px}.primary-nav a{font-size:10px}.top-cta{display:none}.split-section,.split-section.reverse{gap:24px}.split-media{height:550px}.split-copy h2{font-size:64px}.footer-columns{grid-template-columns:repeat(2,1fr);row-gap:50px}}@media(max-width:800px){.site-header{height:74px;padding:0 20px}.brand{height:56px;width:160px}.brand-logo{max-height:52px;width:160px}.primary-nav{display:none}.menu-btn{display:block}.mobile-nav{position:absolute;z-index:39;top:74px;left:0;right:0;background:#f6f1e9;display:none;border-bottom:1px solid #d9cfc0;padding:28px 26px 35px;box-shadow:0 30px 42px rgba(0,0,0,.12)}.mobile-nav.is-open{display:block}.mobile-links{display:flex;flex-direction:column;gap:12px}.mobile-links a{padding:12px 0;border-bottom:1px solid #ddd3c5;font-size:14px}.mobile-secondary{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:25px}.mobile-secondary a{font-size:11px;letter-spacing:.08em}.homepage-hero{min-height:660px;height:78vh}.hero-main{left:25px;top:49%}.hero-main h1{font-size:clamp(68px,14vw,125px)}.hero-main h1 i{margin-left:25px}.hero-main p{font-size:13px;margin:32px 0}.hero-kicker{font-size:10px}.hero-side{right:12px;bottom:85px}.page-hero{grid-template-columns:1fr;min-height:auto}.page-hero-photo{min-height:320px;height:45vh}.page-hero-panel{padding:65px 30px 75px}.page-hero-panel h1{font-size:clamp(66px,12vw,105px)}.section-pad{padding:75px 24px}.split-section,.split-section.reverse{grid-template-columns:1fr;padding:60px 24px}.split-media,.split-section.reverse .split-media{order:0;height:460px;min-height:400px}.split-copy,.split-section.reverse .split-copy{order:1;padding:20px 5px}.split-copy h2{font-size:clamp(48px,8vw,78px)}.gallery-strip{height:260px}.feature-grid,.mini-grid{grid-template-columns:repeat(2,1fr)}.feature-grid>.feature-card:last-child{grid-column:1/-1}.footer-lower{grid-template-columns:1fr;padding:70px 25px}.footer-columns{grid-template-columns:repeat(2,1fr);gap:36px}.location-details,.contact-section{grid-template-columns:1fr}.location-details img{height:380px}.day-nav{grid-template-columns:repeat(2,1fr);padding:0 10px}.agenda-day{grid-template-columns:1fr}.agenda-items{grid-row:auto;grid-column:1}.agenda-image{display:none}.masonry{grid-template-columns:repeat(2,1fr)}.masonry-item.i1,.masonry-item.i4{grid-column:span 1}.masonry-item img,.masonry-item.i1 img,.masonry-item.i4 img{height:280px}}@media(max-width:540px){.brand{width:152px}.homepage-hero{min-height:600px}.hero-main h1{font-size:clamp(63px,14vw,85px)}.hero-main h1 i{margin-left:10px}.hero-main p{max-width:300px}.hero-side{display:none}.giant-intro{font-size:40px}.page-hero-photo{height:320px;min-height:320px}.page-hero-panel h1{font-size:65px}.section-pad{padding:65px 18px}.split-section,.split-section.reverse{padding:50px 18px}.split-media{height:400px;min-height:360px}.gallery-strip{height:195px;gap:3px}.center-section h2,.section-heading h2,.contact-copy h2{font-size:58px}.feature-grid,.mini-grid{grid-template-columns:1fr}.feature-grid>.feature-card:last-child{grid-column:auto}.card-image{height:300px}.day-nav a{padding:17px 10px;font-size:16px}.day-nav a span{font-size:9px}.agenda-item{grid-template-columns:106px 1fr;gap:10px}.agenda-item>span{font-size:10px}.pricing-grid{grid-template-columns:1fr}.price-card{padding:43px 24px;min-height:280px}.price-card h3{font-size:65px}.form-row{grid-template-columns:1fr}.detail-row{grid-template-columns:35px 1fr;gap:8px}.detail-row p{grid-column:2}.footer-columns{grid-template-columns:repeat(2,1fr);gap:25px}.footer-bottom{flex-direction:column}.masonry{grid-template-columns:1fr}.masonry-item img,.masonry-item.i1 img,.masonry-item.i4 img{height:380px}}
