@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600&family=Allura&display=swap');
:root{--cream:#faf7f3;--ivory:#fffdfb;--taupe:#b39a87;--dark:#292725;--line:#e4d8cd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--dark);font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{background:#fffcf9;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:16px 4%;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{text-align:center;line-height:1.2;min-width:230px}.brand-icon{display:block;font-size:22px;color:var(--taupe)}.brand strong,.footer-brand{font:500 25px 'Cormorant Garamond',serif;letter-spacing:.09em}.brand small,.footer-brand span{display:block;color:#9c816f;letter-spacing:.4em;font-size:10px;margin-top:6px}.site-header nav{display:flex;gap:22px;align-items:center}.site-header nav a,.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase}.site-header nav a:hover{color:#997b64}.button{display:inline-block;background:var(--taupe);color:white;border:1px solid var(--taupe);padding:12px 25px;font-size:10px;letter-spacing:.16em;cursor:pointer;text-align:center}.button:hover{background:#917a68}.button.small{white-space:nowrap}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:46% 54%;min-height:620px}.hero-copy{padding:90px max(30px,12%) 70px;background:linear-gradient(130deg,#faf7f3,#eae1d8);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font:400 clamp(44px,5.3vw,76px)/.95 'Cormorant Garamond',serif;margin:25px 0}.hero h1 em{font:400 clamp(47px,5.3vw,80px)/1.1 'Allura',cursive;color:#a78b77}.hero-copy>p:not(.eyebrow){max-width:360px}.hero-copy .button{margin-top:20px}.photo{background-image:linear-gradient(130deg,#cdb8a6aa,#e8ded5aa),var(--photo);background-color:#d5c5b6;background-position:center;background-size:cover;position:relative;min-height:280px}.hero-image{min-height:620px}.photo-caption{position:absolute;bottom:25px;left:25px;background:#ffffffc9;padding:8px 15px;font:28px 'Allura',cursive}.section{padding:80px max(24px,6%)}h2{font:400 49px 'Cormorant Garamond',serif;text-align:center;margin:4px 0 24px}.centered{text-align:center}.section-intro{text-align:center;max-width:640px;margin:0 auto 35px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{text-align:center;background:#fff}.gallery-card .photo{height:320px;display:grid;place-items:center}.gallery-card .photo span{background:#fffcf3e6;padding:8px 20px;font:30px 'Cormorant Garamond',serif}.gallery-card h3{font:25px 'Cormorant Garamond',serif;letter-spacing:.14em;margin:16px 0 0}.gallery-card p{margin:0 10px 8px}.gallery-card small{display:block;letter-spacing:.14em;padding:0 0 20px}.about{display:grid;grid-template-columns:45% 55%;gap:0;background:#f1ebe5;padding:0}.about-image{min-height:510px}.about-copy{padding:70px 12%;align-self:center}.about-copy h2{text-align:left;font-size:37px;letter-spacing:.06em}.script{font:45px 'Allura',cursive;color:#a98b76;margin:0}.pricing{background:#fffdfb}.package-group{margin:40px 0}.package-group>h3{text-align:center;font:35px 'Cormorant Garamond',serif;letter-spacing:.14em;text-transform:uppercase}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package{border:1px solid var(--line);text-align:center;padding:28px 18px;background:#fff;display:flex;flex-direction:column;align-items:center}.package h4{font:26px 'Cormorant Garamond',serif;letter-spacing:.05em;margin:10px 0 0}.price{font:40px 'Cormorant Garamond',serif;margin:0}.package .button{margin-top:auto}.fineprint{font-size:11px;color:#766d65;text-align:center}.booking{background:#f4eee8}.booking-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:25px;max-width:1150px;margin:auto}.calendar-panel,.booking-form{background:white;padding:30px;border:1px solid var(--line)}.calendar-head{display:flex;justify-content:space-between;align-items:center}.calendar-head h3{font:30px 'Cormorant Garamond',serif;margin:0}.calendar-head button{border:0;background:transparent;font-size:35px;cursor:pointer}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px}.weekdays{margin:18px 0;font-size:11px}.calendar-days button,.calendar-days span{padding:11px 2px;min-height:42px;border:1px solid transparent;background:#faf7f3}.calendar-days button{cursor:pointer}.calendar-days button:hover,.calendar-days button.selected{background:var(--taupe);color:white}.calendar-days button:disabled{color:#bbb;cursor:default;background:#f5f3f0}.booking-form h3{font:30px 'Cormorant Garamond',serif;margin:0 0 12px}.booking-form label{display:block;font-size:12px;margin:12px 0}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{display:block;width:100%;border:1px solid var(--line);background:#fffdfa;padding:11px;margin-top:5px;color:var(--dark)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.consent{display:flex!important;gap:10px;align-items:flex-start}.booking-form .button{width:100%}.hidden-field{position:absolute;left:-10000px}.notice{background:#eaf1e6;padding:12px}.contact-banner{text-align:center;background:#c9b7a9;padding:65px 20px}.contact-banner h2{font-size:39px}.contact-banner p{max-width:500px;margin:12px auto}.button.outline{border-color:#fff;background:transparent}footer{text-align:center;padding:35px 20px;background:#fffdfb;font-size:12px}footer .footer-brand{font-size:27px}footer p{margin:10px 0}@media(max-width:900px){.site-header{flex-wrap:wrap}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:8px}.site-header nav{display:none;width:100%;order:3;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.site-header>.button{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 8%}.hero-image{min-height:400px}.gallery-grid,.packages{grid-template-columns:1fr 1fr}.booking-layout{grid-template-columns:1fr}}@media(max-width:600px){.gallery-grid,.packages,.about,.form-row{grid-template-columns:1fr}.about-copy{padding:50px 8%}.hero h1{font-size:51px}.section{padding:60px 20px}.calendar-panel,.booking-form{padding:16px}.calendar-days button,.calendar-days span{min-height:36px;padding:7px 0}.brand{min-width:0}.brand strong{font-size:20px}}
