@import url('https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap');
:root{--espresso:#3B2922;--chocolate:#513B30;--beige:#D8C5AE;--cream:#F7F2EA;--paper:#FCFAF6;--tan:#B69B80}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--espresso);font:14px/1.8 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}header{position:sticky;top:0;z-index:20;background:#fcfaf6f5;border-bottom:1px solid #d8c5ae60;padding:18px 6%;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.script{font:44px/.95 Allura,cursive}.brand small{font-size:8px;letter-spacing:5px;margin-top:10px}nav{display:flex;align-items:center;gap:32px}nav a,.eyebrow,.button,.filter,footer small{font-size:10px;letter-spacing:2px;text-transform:uppercase}nav a[aria-current=page]{border-bottom:1px solid var(--tan)}.button{display:inline-block;padding:14px 27px;border:1px solid var(--espresso);background:var(--espresso);color:var(--paper);transition:.25s}.button:hover{background:var(--chocolate);transform:translateY(-2px)}.button.outline{background:transparent;color:inherit}.menu{display:none;background:none;border:0;font-size:24px}.hero{height:min(720px,79vh);min-height:540px;position:relative;color:white;display:grid;place-items:center;text-align:center}.hero>img{position:absolute;inset:0;object-position:center 60%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#201a1655,#201a1628,#201a1640)}.hero-content{position:relative;z-index:1;padding:30px}.hero .eyebrow{letter-spacing:4px}.hero h1{font:400 clamp(60px,7.5vw,116px)/.95 'Cormorant Garamond',serif;margin:30px 0}.hero h1 em{font-weight:400}.hero p{font-size:13px;letter-spacing:.6px}.actions{display:flex;gap:14px;justify-content:center;margin-top:35px}.hero .button{background:var(--paper);border-color:var(--paper);color:var(--espresso)}.hero .outline{background:transparent;color:white}.photo-note{position:absolute;bottom:18px;right:26px;font-size:9px;letter-spacing:1px;z-index:1}.intro{max-width:800px;margin:auto;text-align:center;padding:95px 25px}.eyebrow{color:#826953}.intro h2,h2{font:400 clamp(38px,4.4vw,62px)/1.08 'Cormorant Garamond',serif;margin:20px 0 25px}h2 em,h1 em{font-weight:400}.intro p{max-width:560px;margin:0 auto 25px;color:#6d5b50}.text-link{font-size:10px;letter-spacing:2px;text-transform:uppercase;padding-bottom:8px;border-bottom:1px solid var(--tan)}.section{padding:70px 6% 95px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading h2{margin-bottom:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.gallery button{padding:0;border:0;text-align:left;background:none;color:inherit}.photo{height:420px;overflow:hidden;position:relative;background:var(--beige)}.photo img{transition:transform .7s}.gallery button:hover img{transform:scale(1.04)}.photo:after{content:'VIEW PHOTOGRAPH';position:absolute;bottom:22px;left:22px;color:white;font-size:9px;letter-spacing:2px;opacity:0;transition:.3s}.gallery button:hover .photo:after{opacity:1}.gallery h3{font:400 25px 'Cormorant Garamond',serif;margin:17px 0 0}.gallery small{font-size:9px;letter-spacing:2px;color:#826953;text-transform:uppercase}.gallery button:nth-child(3n+2){padding-top:45px}.muted{font-size:11px;color:#7c6b60}.cream{background:var(--cream)}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.split-image{height:620px;position:relative}.split-content{max-width:480px}.split-content p{color:#6d5b50}.signature{font:42px Allura,cursive;margin-top:20px}.service-list{border-top:1px solid var(--beige);margin-top:35px}.service-row{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--beige);font:28px 'Cormorant Garamond',serif}.service-row span{font:10px 'DM Sans';margin-right:20px;color:#826953}.cta{text-align:center;padding:90px 20px;background:var(--beige)}.cta h2{margin-top:10px}.page-head{text-align:center;padding:65px 20px 45px}.page-head h1{font:400 clamp(50px,6vw,80px)/1.05 'Cormorant Garamond',serif;margin:18px 0}.page-head p{max-width:530px;margin:auto;color:#6d5b50}.filters{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:45px}.filter{background:none;border:1px solid transparent;color:var(--espresso);padding:10px 17px}.filter.active{border-color:var(--tan);background:var(--cream)}.service-detail{display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;border-top:1px solid var(--beige);padding:40px 0}.service-detail h2{font-size:36px;margin:0}.service-detail p{margin-top:0}.service-detail .number{font:italic 30px 'Cormorant Garamond';color:#826953}.package{font-size:11px;color:#826953}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;max-width:1150px;margin:auto;padding-top:20px}.contact-image{height:340px;margin-top:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}input,select,textarea{width:100%;border:0;border-bottom:1px solid var(--tan);background:transparent;border-radius:0;padding:12px 0;color:var(--espresso);margin-top:7px}textarea{resize:vertical;min-height:120px}.full{grid-column:1/-1}.form-notice{background:var(--cream);padding:16px;font-size:12px}.status{margin-top:20px}footer{padding:55px 6% 25px}footer .top{display:flex;justify-content:space-between;align-items:center;gap:30px}footer .links{display:flex;gap:28px;font-size:10px;letter-spacing:1px}footer .bottom{border-top:1px solid var(--beige);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#7c6b60}dialog{border:0;padding:0;background:var(--paper);max-width:92vw;width:1000px;color:var(--espresso)}dialog::backdrop{background:#211914e6}dialog img{height:75vh;object-fit:contain;background:#211914}dialog .bar{display:flex;justify-content:space-between;align-items:center;padding:13px 20px}dialog button{background:none;border:0;font-size:24px;color:inherit}.reveal{animation:appear .7s ease both}@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.skip{position:fixed;top:-100px;z-index:50;background:var(--paper);padding:10px}.skip:focus{top:0}@media(max-width:800px){header{padding:17px 6%}.script{font-size:37px}.menu{display:block}nav{display:none;position:absolute;top:91px;left:0;right:0;background:var(--paper);padding:30px;flex-direction:column;gap:22px;border-bottom:1px solid var(--beige)}nav.open{display:flex}.hero{min-height:570px;height:75vh}.hero h1{font-size:68px}.hero p{max-width:280px;margin:auto}.intro{padding:65px 25px}.section{padding:50px 6% 65px}.gallery{gap:14px;grid-template-columns:1fr 1fr}.photo{height:310px}.gallery button:nth-child(3n+2){padding-top:0}.gallery button:nth-child(even){padding-top:28px}.gallery h3{font-size:22px}.split{grid-template-columns:1fr;gap:35px}.split-image{height:490px}.split-content{max-width:none}.section-heading{gap:20px}.section-heading .text-link{font-size:9px;white-space:nowrap}.service-detail{grid-template-columns:35px 1fr;gap:15px}.service-detail>div:last-child{grid-column:2}.contact{grid-template-columns:1fr;gap:45px}.contact-image{display:none}footer .top{flex-direction:column}footer .links{flex-wrap:wrap;justify-content:center}footer .bottom{gap:15px;font-size:9px}.page-head{padding-top:45px}}@media(max-width:450px){.photo{height:250px}.gallery h3{font-size:20px}.actions .button{padding:13px 18px;font-size:9px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.hero h1{font-size:59px}.section-heading h2{font-size:36px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.hero .eyebrow{color:var(--paper)}

/* Espresso-led brand treatment */
header{background:var(--espresso);color:var(--paper);border-bottom:1px solid #b69b8040}
header .button.outline{border-color:var(--tan)}
.menu{color:var(--paper)}
.hero:after{background:linear-gradient(90deg,#3b29229c,#513b305c,#3b29227a)}
.hero h1{font-size:clamp(55px,6.7vw,100px);line-height:1.04;max-width:1000px}
.hero .button{background:var(--espresso);color:var(--paper);border-color:var(--espresso)}
.hero .button:hover{background:var(--chocolate)}
.hero .button.outline{background:transparent;color:var(--paper);border-color:var(--beige)}
.section.cream.split{background:var(--chocolate);color:var(--paper)}
.section.cream.split .eyebrow,.section.cream.split p,.section.cream.split .service-row span{color:var(--beige)}
.section.cream.split .service-list,.section.cream.split .service-row{border-color:#b69b8066}
.cta{background:var(--espresso);color:var(--paper)}
.cta .eyebrow{color:var(--beige)}
.cta .button{background:var(--beige);color:var(--espresso);border-color:var(--beige)}
footer{background:var(--chocolate);color:var(--paper)}
footer .muted,footer .bottom{color:var(--beige)}
footer .bottom{border-color:#b69b8066}
@media(max-width:800px){nav{background:var(--espresso);border-color:var(--chocolate)}.hero h1{font-size:clamp(48px,8.4vw,68px)}}

/* Let the photographs stand on their own beside the espresso introduction. */
.hero{display:grid;grid-template-columns:1fr 1.1fr;text-align:left;background:var(--espresso);height:650px;min-height:0}
.hero>img{position:relative;grid-column:2;grid-row:1;inset:auto;height:100%;object-position:55% center}
.hero:after{display:none}.hero-content{grid-column:1;grid-row:1;padding:60px 12%}
.hero h1{font-size:clamp(44px,5vw,78px)}.hero p{max-width:340px}.hero .actions{justify-content:flex-start;flex-wrap:wrap}
.hero .button{background:var(--beige);color:var(--espresso);border-color:var(--beige)}
.hero .button.outline{background:transparent;color:var(--paper)}
.gallery .photo{height:auto;aspect-ratio:4/5}.gallery .photo img{object-position:center 35%}
@media(max-width:800px){.hero{height:auto;grid-template-columns:1fr}.hero>img{grid-column:1;grid-row:1;height:360px;object-position:center 35%}.hero-content{grid-column:1;grid-row:2;padding:38px 7% 45px}.hero h1{font-size:53px;margin:22px 0}.hero p{margin:0}.hero .actions{margin-top:25px}.hero .eyebrow{font-size:9px;letter-spacing:2px}}
