@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#1b1c19;--ink2:#30332c;--paper:#f3f0e9;--cream:#ebe5da;--line:#d3cbbf;--accent:#cda16d;--white:#fffdf8;--serif:'Playfair Display',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);font-size:16px;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip-link{position:absolute;left:-999px;top:10px;z-index:30;background:#fff;padding:12px}.skip-link:focus{left:10px}.site-header{height:88px;padding:0 clamp(24px,4vw,76px);display:flex;align-items:center;justify-content:space-between;background:#f9f6f0;position:relative;z-index:15;border-bottom:1px solid #e5ded3}.wordmark{text-decoration:none;display:flex;align-items:center;gap:10px}.mark{font-family:Arial,sans-serif;font-size:42px;font-weight:900;letter-spacing:-5px;line-height:1}.mark-dot,.footer-mark span{color:var(--accent)}.wordmark-label{font-size:12px;line-height:1.05;font-weight:700;letter-spacing:.16em}.wordmark-label small{font-weight:500;font-size:8px;letter-spacing:.14em}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.1vw,38px)}.main-nav>a{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.main-nav>a:hover,.main-nav>a[aria-current]{color:#946c40}.main-nav .nav-book{background:var(--ink);color:white;padding:17px 20px}.nav-book span{margin-left:15px}.main-nav .nav-book:hover{color:white;background:#4c4337}.menu-toggle{display:none}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700;color:#8d6e4b}.eyebrow.light{color:#d8b48b}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.08;letter-spacing:-.045em}h1 em,h2 em,blockquote em{font-weight:400;color:#b38252}h1{font-size:clamp(54px,6.5vw,106px)}h2{font-size:clamp(39px,4.25vw,68px)}h3{font-family:var(--serif);font-size:30px;line-height:1.18;letter-spacing:-.03em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;padding:15px 20px;background:var(--accent);color:#171714;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:700;border:1px solid var(--accent);transition:background .2s,transform .2s}.button:hover{background:#e0b585;transform:translateY(-2px)}.button-outline{background:transparent;border-color:currentColor;color:inherit}.button-outline:hover{background:rgba(205,161,109,.12)}.section-wrap{width:min(1380px,calc(100% - 96px));margin-inline:auto}.hero{min-height:700px;background:var(--ink);color:var(--white);display:grid;grid-template-columns:52% 48%;overflow:hidden}.hero-copy{padding:clamp(70px,7vw,125px) 6vw 56px clamp(40px,7vw,130px);display:flex;align-items:flex-start;flex-direction:column}.hero h1{margin:35px 0 26px;white-space:nowrap;font-size:clamp(55px,6vw,106px)}.hero h1 em{color:#d5ab7f}.hero-lead{max-width:560px;font-size:clamp(18px,1.4vw,21px);color:#d3d0c8;line-height:1.65}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.hero .button-outline{color:#fff}.hero-note{margin-top:auto;padding-top:58px;display:flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.02em;color:#bcb9b1;line-height:1.45}.spark{color:var(--accent);font-size:34px;line-height:1}.hero-media{min-height:700px;position:relative;background:#363632}.hero-main{object-position:50% 30%;filter:contrast(1.02)}.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.1),transparent 35%,rgba(0,0,0,.05))}.hero-inset{position:absolute;bottom:55px;left:-65px;width:180px;height:245px;z-index:2;border:8px solid var(--ink);box-shadow:0 15px 35px #0005}.vertical-caption{position:absolute;z-index:3;right:18px;bottom:25px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#fff}.proof-strip{display:flex;justify-content:center;align-items:center;gap:25px;flex-wrap:wrap;padding:24px;background:#d8c6b0;color:#3f3b33;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:700}.proof-strip i{width:4px;height:4px;border-radius:50%;background:#74675a}.intro{display:grid;grid-template-columns:30% 70%;padding-block:135px}.section-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#8d6e4b;font-weight:700;padding-top:18px}.intro h2{margin-bottom:26px}.intro p{max-width:690px;font-size:18px;color:#55554f}.intro .button{margin-top:18px}.portfolio-feature{background:#e9e3d8;padding:105px 0 0;overflow:hidden}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:42px}.portfolio-heading h2{margin:16px 0 0}.portfolio-row{display:grid;grid-template-columns:repeat(4,1fr);height:470px;gap:6px}.portfolio-row img{object-position:50% 30%}.portfolio-row img:nth-child(3){filter:grayscale(1)}.sessions-home{padding-block:130px}.section-heading{max-width:760px;margin-bottom:45px}.section-heading h2{margin:15px 0 18px}.section-heading p{font-size:18px;color:#5f5d56}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.session-card{border:1px solid #cfc6ba;padding:36px;display:flex;flex-direction:column;min-height:410px;background:#f8f5ef}.session-card.emphasized{background:var(--ink2);color:#f7f2e9;border-color:var(--ink2)}.card-index{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#a17d57;font-weight:700}.session-card h3{margin:38px 0 13px}.session-card p{color:#67635c}.session-card.emphasized p{color:#cec8bd}.session-card strong{font-family:var(--serif);font-size:28px;font-weight:400;margin-top:auto;margin-bottom:24px}.session-card .button{width:100%}.under-grid{text-align:right;padding-top:24px;font-size:13px}.under-grid a{text-decoration:underline;text-underline-offset:4px}.about-teaser{display:grid;grid-template-columns:48% 52%;background:#d9c6ad}.about-image{height:650px}.about-image img{object-position:50% 28%}.about-copy{padding:clamp(65px,8vw,130px) clamp(45px,8vw,145px)}.about-copy h2{margin:20px 0 30px}.about-copy p{max-width:550px;color:#45413a}.about-copy .button{margin-top:18px}.process{padding-block:135px}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfc6b8}.steps>div{padding:40px 55px 10px 0}.steps>div+div{padding-left:50px;border-left:1px solid #cfc6b8}.steps b{color:#a77e54;font-size:11px;letter-spacing:.12em}.steps h3{font-size:28px;margin:30px 0 15px}.steps p{color:#655f58}.location-band{display:grid;grid-template-columns:45% 55%;min-height:580px;background:#2d322e;color:#f7f2e8}.location-photo{min-height:580px}.location-band>div:last-child{padding:105px clamp(60px,8vw,150px)}.location-band h2{margin:22px 0 25px}.location-band h2 em{color:#d6ad7f}.location-band p{color:#d2d5cb;font-size:18px;max-width:570px}.location-band .button{margin-top:25px}.full-cta{background:#171714;color:white;padding:100px clamp(30px,8vw,140px);display:flex;justify-content:space-between;align-items:end;gap:40px}.full-cta h2{max-width:780px;margin:20px 0}.full-cta p{color:#c9c6bf;max-width:580px}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.cta-actions .button-outline{color:white}.site-footer{background:#11120f;color:#e7e1d6;padding:70px clamp(30px,7vw,130px) 22px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:85px}.footer-mark{font-family:Arial,sans-serif;font-size:65px;font-weight:900;letter-spacing:-.12em;text-decoration:none;line-height:1}.footer-top p{font-size:13px;color:#aba89e;margin:12px 0}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:10px}.footer-top a:not(.footer-mark){font-size:13px;text-decoration:none}.footer-top a:hover{text-decoration:underline}.footer-top .eyebrow{margin-bottom:13px}.footer-bottom{border-top:1px solid #383832;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8e8e84}.page-hero{background:#e7ded1;display:grid;grid-template-columns:55% 45%;min-height:590px;overflow:hidden}.page-hero>div:first-child{padding:clamp(75px,8vw,135px) clamp(40px,7vw,120px);align-self:center}.page-hero h1{margin:24px 0 25px}.page-hero p{font-size:19px;max-width:590px;color:#59544c}.page-hero .button{margin-top:22px}.page-hero-image{min-height:590px}.page-hero-image img{object-position:center 32%}.page-hero.warm{background:#e8dfd1}.packages{padding-block:115px}.package-row{display:grid;grid-template-columns:48% 52%;gap:0;border-top:1px solid #c6bcae;padding:55px 0}.package-row:last-child{border-bottom:1px solid #c6bcae}.package-photo{height:560px}.package-photo img{object-position:center 25%}.package-detail{padding:45px clamp(35px,6vw,110px)}.package-detail h2{margin:15px 0 6px}.price{font-family:var(--serif);font-size:28px;color:#a47444}.package-detail ul,.team-content ul,.estate-services ul{list-style:none;padding:0;margin:28px 0}.package-detail li,.team-content li,.estate-services li{padding:8px 0;border-bottom:1px solid #d7cfc5;font-size:15px}.package-detail li:before,.team-content li:before,.estate-services li:before{content:'↗';color:#a47444;margin-right:15px}.package-detail small{display:block;margin-top:15px;color:#7a746c}.team-mini{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:65px;background:#d9c7af;margin-bottom:110px}.team-mini h2{max-width:800px;margin:14px 0}.team-mini p{max-width:660px}.gallery-hero,.booking-hero,.faq-hero,.location-hero,.contact-hero{display:block;min-height:430px;background:var(--ink);color:white}.gallery-hero>div,.booking-hero>div,.faq-hero>div,.location-hero>div,.contact-hero>div{max-width:1100px;padding:90px clamp(40px,7vw,120px)}.gallery-hero h1,.booking-hero h1,.faq-hero h1,.location-hero h1,.contact-hero h1{font-size:clamp(60px,6.5vw,105px)}.gallery-hero p,.booking-hero p,.faq-hero p,.location-hero p,.contact-hero p{color:#d5d0c8}.gallery-intro{padding-block:85px;display:grid;grid-template-columns:30% 70%}.gallery-intro p{font-family:var(--serif);font-size:clamp(25px,2.5vw,37px);line-height:1.4}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:130px}.gallery-item{margin:0;position:relative;overflow:hidden;background:#d9d2c7;aspect-ratio:4/5}.gallery-item:nth-child(5n+2){aspect-ratio:4/4}.gallery-item:nth-child(5n+3){aspect-ratio:4/6}.gallery-item img{transition:transform .5s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 20px 14px;color:white;font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(transparent,#0008)}.about-hero{background:#d9c5ae}.about-story{display:grid;grid-template-columns:30% 70%;padding-block:130px}.about-story p{max-width:790px;font-size:18px;color:#555149}.about-story .button{margin-top:25px}.about-collage{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:12px;height:450px}.about-collage img{object-position:center 26%}.belief{padding-block:130px;text-align:center}.belief blockquote{font-family:var(--serif);font-size:clamp(38px,5vw,72px);line-height:1.15;max-width:1050px;margin:20px auto 30px}.belief p{color:#6b665e}.team-content,.estate-services{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-block:120px}.team-content p,.estate-services p{font-size:18px;color:#5e5a54}.team-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:640px}.booking-options{padding-block:115px}.booking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.booking-grid article{background:#e4d8c9;padding:35px;min-height:320px;display:flex;flex-direction:column}.booking-grid article>span{font-size:11px;color:#9a754f}.booking-grid h3{margin:34px 0 8px}.booking-grid p{font-size:14px;color:#605950}.booking-grid strong{margin-top:auto;font-family:var(--serif);font-size:27px;font-weight:400}.booking-grid .button{margin-top:23px}.booking-note{margin-top:35px}.faq-list{padding-block:120px}.faq-list details{border-top:1px solid #c9c1b6;padding:20px 0}.faq-list details:last-child{border-bottom:1px solid #c9c1b6}.faq-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:55px 1fr 30px;align-items:center;font-family:var(--serif);font-size:clamp(21px,2.2vw,32px);line-height:1.3}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:var(--sans);font-size:10px;color:#a17850}.faq-list summary b{font:400 28px var(--sans);text-align:right}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{margin:20px 50px 15px 55px;max-width:800px;color:#5b5850}.location-list{padding-block:120px}.location-list>a{display:grid;grid-template-columns:65px 1fr 25px;align-items:center;gap:20px;border-bottom:1px solid #cec4b6;text-decoration:none;padding:27px 0}.location-list>a:hover{background:#e9e1d6}.location-list>a:first-of-type{margin-top:24px;border-top:1px solid #cec4b6}.location-list>a>span{color:#a47c50;font-size:11px}.location-list h2{font-size:clamp(30px,3.8vw,55px);margin:0}.location-list p{margin:5px 0 0;color:#6c675e;font-size:13px;text-transform:uppercase;letter-spacing:.09em}.guide-hero{background:#252722;color:white;padding:85px max(48px,calc((100vw - 1380px)/2)) 95px}.guide-hero>a{display:inline-block;color:#d7c6b2;margin-bottom:65px;text-decoration:none;font-size:12px}.guide-hero h1{max-width:1100px;margin:25px 0}.guide-hero h1 em{color:#d6aa7b}.guide-hero p{color:#c0bcb2}.guide-body{max-width:900px;padding-block:100px}.guide-body p{font-family:var(--serif);font-size:clamp(22px,2vw,29px);line-height:1.6;margin:0 0 30px}.guide-author{border-top:1px solid #ccc4b7;padding-top:25px;margin-top:75px;color:#817971;font-size:12px}.guide-next{padding-bottom:100px}.guide-next>a{display:block;font-family:var(--serif);font-size:30px;text-decoration:none;border-bottom:1px solid #ccc4b7;padding:14px 0}.guide-next>a span{float:right}.contact-hero .simple-email{color:#efc89c;font-family:var(--serif);font-size:22px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-block:120px}.contact-layout>div>img{height:400px;max-width:330px;object-position:50% 25%;margin-top:35px}.contact-form{display:flex;flex-direction:column;gap:22px}.contact-form label{display:flex;flex-direction:column;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.contact-form input,.contact-form select,.contact-form textarea{margin-top:8px;background:transparent;border:0;border-bottom:1px solid #978f84;padding:12px 4px;border-radius:0;color:var(--ink);outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#9c6533}.contact-form .button{align-self:start}.contact-form p{font-size:13px;color:#6e675e}.hidden{position:absolute;left:-9999px}.thank-you{background:var(--ink);color:white;min-height:70vh;padding:12vw 8vw}.thank-you p{font-size:19px;max-width:550px;color:#d0cac2}.thank-you>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.thank-you .button-outline{color:white}.estate-hero{background:#282c27;color:white}.estate-hero p{color:#d2d0c8}.estate-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:220px;gap:8px}.estate-grid img:first-child{grid-row:span 2}.estate-quote{text-align:center;padding-bottom:110px}.estate-quote blockquote{font-family:var(--serif);font-size:clamp(30px,4vw,55px);margin:0 auto;max-width:950px}
@media(max-width:1050px){.main-nav{gap:16px}.main-nav>a{font-size:10px}.hero{grid-template-columns:55% 45%}.hero h1{font-size:clamp(54px,6vw,72px)}.hero-copy{padding-left:48px}.hero-inset{display:none}.about-copy{padding:70px}.session-card{padding:25px}.full-cta{display:block}.cta-actions{margin-top:25px}.section-wrap{width:calc(100% - 64px)}}
@media(max-width:750px){.site-header{height:70px;padding-inline:20px}.mark{font-size:34px}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:12px}.menu-toggle span{width:25px;height:2px;background:var(--ink)}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#f9f6f0;padding:20px;box-shadow:0 16px 22px #0002;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav>a{font-size:13px;padding:14px 7px;border-top:1px solid #e4dcd1}.main-nav .nav-book{margin-top:12px;text-align:center}.section-wrap{width:calc(100% - 40px)}.hero{display:flex;flex-direction:column}.hero-media{height:55vh;min-height:350px}.hero-copy{padding:50px 24px 60px}.hero h1{font-size:clamp(50px,12vw,75px);white-space:normal;margin:20px 0}.hero-lead{font-size:17px}.hero-note{padding-top:40px}.proof-strip{gap:10px;padding:18px}.proof-strip span{font-size:9px}.proof-strip i:nth-of-type(2){display:none}.intro,.gallery-intro,.about-story{display:block;padding-block:80px}.section-kicker{margin-bottom:25px}.intro h2{font-size:clamp(36px,9vw,57px)}.portfolio-feature{padding-top:75px}.portfolio-heading{display:block}.portfolio-heading .button{margin-top:12px}.portfolio-row{height:330px;grid-template-columns:repeat(2,1fr)}.portfolio-row img:nth-child(n+3){display:none}.sessions-home,.process,.packages,.booking-options,.faq-list,.location-list{padding-block:80px}.session-grid,.steps,.booking-grid{grid-template-columns:1fr}.session-card{min-height:320px}.session-card h3{margin-top:25px}.under-grid{text-align:left}.about-teaser,.location-band{grid-template-columns:1fr}.about-image{height:420px}.about-copy,.location-band>div:last-child{padding:65px 24px}.steps>div,.steps>div+div{border-left:0;border-bottom:1px solid #cfc6b8;padding:24px 0}.steps h3{margin:12px 0}.location-photo{min-height:330px;height:330px}.full-cta{padding:75px 24px}.footer-top{grid-template-columns:1fr 1fr;gap:35px;padding-bottom:50px}.footer-top>div:first-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.page-hero{display:flex;flex-direction:column;min-height:0}.page-hero>div:first-child{padding:70px 24px}.page-hero-image{min-height:380px;height:380px}.page-hero h1{font-size:clamp(53px,12vw,75px)}.package-row{grid-template-columns:1fr;padding:30px 0}.package-photo{height:420px}.package-detail{padding:35px 0}.team-mini{display:block;padding:35px;margin-bottom:80px}.team-mini h2{font-size:38px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding-bottom:80px}.gallery-item{aspect-ratio:4/5!important}.gallery-item figcaption{display:none}.gallery-intro p{font-size:27px}.about-collage{height:270px;grid-template-columns:1fr 1fr}.about-collage img:last-child{display:none}.belief{padding-block:80px}.team-content,.estate-services,.contact-layout{grid-template-columns:1fr;gap:45px;padding-block:80px}.team-images{height:380px}.booking-grid article{min-height:260px}.faq-list summary{grid-template-columns:35px 1fr 20px}.faq-list details p{margin:20px 20px 10px 35px}.location-list>a{grid-template-columns:35px 1fr 20px}.location-list h2{font-size:34px}.guide-hero{padding:65px 24px}.guide-hero h1{font-size:clamp(48px,11vw,70px)}.guide-body{padding-block:70px}.contact-layout>div>img{height:330px}.estate-grid{grid-auto-rows:160px}.estate-grid img:first-child{grid-row:span 1}}
@media(max-width:420px){.hero-actions,.cta-actions{display:flex;flex-direction:column;align-items:stretch}.hero-actions .button,.cta-actions .button{width:100%}.gallery-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.wordmark-label{font-size:10px}}
/* On desktop, size the portfolio strip from the photos' own aspect ratios. */
@media(min-width:751px){.portfolio-row{display:flex;justify-content:center;gap:0;height:calc(100vw / 4.215);max-height:350px;background:#e9e3d8}.portfolio-row img{width:auto;max-width:none;height:100%;object-fit:cover;flex:none}.about-teaser{grid-template-columns:55% 45%}.about-image{height:650px}.about-image img{object-fit:cover;object-position:center}.about-copy{padding:65px clamp(38px,5vw,85px)}}
.about-teaser{align-items:center}
.about-teaser .about-image{height:auto;min-height:0;align-self:center}
.about-teaser .about-image img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
