:root{--ink:#241a15;--brown:#6d4430;--copper:#b98e70;--cream:#f2ebdf;--paper:#fbf7f0;--line:rgba(36,26,21,.2);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.96}h2{font-size:clamp(2.8rem,6vw,6.2rem);letter-spacing:-.045em;margin:0}.section{padding:8rem max(5vw,1.5rem)}.section-narrow{margin-left:auto;margin-right:auto;width:min(90%,1280px)}.eyebrow{font:700 .75rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.19em;color:#e4c1a9;margin-bottom:1.5rem}.eyebrow.dark{color:var(--brown)}
.site-header{position:absolute;z-index:5;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:.85rem 4vw;color:white;border-bottom:1px solid rgba(255,255,255,.24)}.wordmark{display:flex;align-items:center;text-decoration:none}.header-logo{width:78px;height:78px;object-fit:cover}nav{display:flex;align-items:center;gap:2rem}nav a{text-decoration:none;font-size:.9rem}.nav-cta{border:1px solid rgba(255,255,255,.6);padding:.65rem 1rem}.menu-button{display:none;background:none;border:0;color:white;text-transform:uppercase;letter-spacing:.1em}
.hero{height:min(900px,100svh);min-height:720px;position:relative;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{object-position:center 52%}.hero-shade{background:linear-gradient(90deg,rgba(20,12,8,.82) 0%,rgba(20,12,8,.36) 57%,rgba(20,12,8,.16) 100%),linear-gradient(0deg,rgba(20,12,8,.42),transparent 55%)}.hero-content{position:absolute;left:max(6vw,1.5rem);bottom:16%;max-width:760px}.hero h1{font-size:clamp(2.8rem,4.5vw,4.8rem);letter-spacing:-.04em;margin-bottom:1.4rem}.hero-copy{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.45;max-width:580px}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.2rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.35rem;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.78rem;cursor:pointer}.button-light{background:var(--cream);color:var(--ink)}.button-dark{background:var(--ink);color:white}.text-link{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:.3rem}.hero-note{position:absolute;right:4vw;bottom:2.2rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}
.intro{display:grid;grid-template-columns:1.35fr .65fr;gap:9vw;align-items:end}.intro-copy{font-family:var(--serif);font-size:1.35rem;line-height:1.6;max-width:34rem}.underlined{display:inline-block;font:700 .76rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;border-bottom:1px solid;margin-top:1rem;padding-bottom:.35rem}
.photo-treatment{filter:saturate(.82) sepia(.08) contrast(1.05)}.place-gallery{padding-bottom:8rem}.place-gallery-images{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.place-gallery figure{margin:0;aspect-ratio:4/5;overflow:hidden}.place-gallery figure img{transition:transform .7s ease}.place-gallery figure:hover img{transform:scale(1.025)}.guest-card{background:var(--brown);color:white;padding:2.6rem 3.2rem;display:grid;grid-template-columns:1fr auto 1.4fr;align-items:center;gap:3rem;margin-top:1rem;min-height:235px}.number{font:400 clamp(4.5rem,8vw,8rem)/.75 var(--serif);margin-bottom:1rem}.number-label{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}.rule{display:block;height:5rem;border-left:1px solid var(--copper)}.guest-card h3{font-size:clamp(1.8rem,2.8vw,2.7rem);margin:0}.terrace-info{display:grid;grid-template-columns:.55fr 1fr 1.2fr auto;align-items:center;gap:2rem;padding:2.5rem 0;border-bottom:1px solid var(--line)}.terrace-info h3{font-size:clamp(1.8rem,3vw,2.8rem);margin:0}.terrace-info>p:not(.eyebrow){margin:0;color:#625850}.terrace-info .underlined{white-space:nowrap}
.events{background:var(--ink);color:white;padding-bottom:8rem}.events-head{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:8vw}.events-head>p{font:400 1.25rem/1.6 var(--serif);color:#d7c7ba}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.2)}.event-card{min-height:510px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:#3a291f}.event-card>img{position:absolute;inset:0;z-index:0;filter:saturate(.72) sepia(.08);transition:transform .8s ease}.event-card:hover>img{transform:scale(1.03)}.event-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,8,4,.94) 3%,rgba(15,8,4,.35) 68%,rgba(15,8,4,.18));z-index:1}.event-card>*:not(img){position:relative;z-index:2}.event-count{font:italic 1.2rem var(--serif);color:#e4c1a9}.event-price{font:700 .78rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#f0cfb8;margin-bottom:.8rem}.event-card h3{font-size:2.65rem;margin-bottom:1rem}.event-card p{max-width:20rem}.event-card a{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;text-underline-offset:.4rem}.card-links{display:flex;gap:1.2rem;flex-wrap:wrap}.wedding-offer{display:grid;grid-template-columns:1.15fr .85fr;background:var(--brown);margin-top:1rem}.wedding-gallery{min-width:0;min-height:500px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;overflow:hidden}.wedding-gallery img{min-width:0;object-position:center;transition:transform .7s ease}.wedding-gallery img:hover{transform:scale(1.02)}.wedding-copy{padding:clamp(2.5rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center}.wedding-offer h3{font-size:clamp(2.3rem,4vw,4rem);margin:.5rem 0 1.2rem}.wedding-copy>p{max-width:34rem}.wedding-offer .card-links{margin-top:1.4rem}.wedding-offer a{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;text-underline-offset:.4rem}
.gallery-title{width:min(100%,1080px);margin:0 auto 3rem}.gallery-grid{width:min(100%,1080px);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.gallery-grid figure{margin:0;aspect-ratio:4/3;overflow:hidden}.gallery-grid img{transition:transform .7s ease}.gallery-grid figure:hover img{transform:scale(1.025)}
.services{background:var(--cream)}.services-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:4rem}.services-head>p{font:400 1.2rem/1.6 var(--serif);max-width:33rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.service-card{text-decoration:none}.service-card img{height:auto;aspect-ratio:4/3;border-radius:.15rem;transition:transform .5s ease}.service-card:hover img{transform:translateY(-4px)}.service-card span{display:inline-block;font:italic 1.45rem/1.3 var(--serif);margin-top:1rem;border-bottom:1px solid transparent}.service-card:hover span{border-bottom-color:currentColor}
.split-cta{display:grid;grid-template-columns:.8fr 1.2fr;min-height:620px;margin-bottom:8rem;background:var(--cream)}.split-cta article{padding:5rem;align-self:center}.split-cta h2{font-size:clamp(3rem,5vw,5rem);margin-bottom:2rem}.split-cta p{max-width:27rem;margin-bottom:2rem}.split-cta img{min-height:620px}
.contact{background:var(--brown);color:white;padding:8rem max(6vw,1.5rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.contact h2{margin-bottom:2rem}.contact-intro>p:not(.eyebrow){font-family:var(--serif);font-size:1.15rem;max-width:30rem;color:#eaded4}.contact-intro>a{font-weight:700}.contact form{display:flex;flex-direction:column;gap:1.4rem}.field.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}label{display:flex;flex-direction:column;gap:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}input,select,textarea{font:400 1rem/1.4 var(--sans);color:white;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.55);border-radius:0;padding:.7rem 0;outline:none}textarea{border:1px solid rgba(255,255,255,.4);padding:1rem;resize:vertical}select option{color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:white}.contact button{align-self:flex-start;border:0}.form-note{font-size:.76rem;color:#ddcbbf}
footer{display:grid;grid-template-columns:150px 1fr auto;gap:3rem;align-items:center;background:#1b120e;color:#d8c7ba;padding:3.2rem 5vw;font-size:.8rem}footer img{width:120px;height:120px;object-fit:cover}footer p{margin:.2rem 0}footer a{color:white}
@media (max-width:850px){.section{padding:5.5rem 1.4rem}.site-header{padding:.7rem 1.2rem}.header-logo{width:64px;height:64px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);padding:1.5rem;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.hero{min-height:680px}.hero-content{bottom:13%;right:1.5rem}.hero h1{font-size:clamp(2.7rem,11vw,3.7rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.hero-note{display:none}.intro,.events-head,.services-head,.contact{grid-template-columns:1fr;gap:3rem}.place-gallery{padding-bottom:5rem}.guest-card{padding:2rem;grid-template-columns:1fr}.guest-card .rule{width:3rem;height:auto;border-left:0;border-top:1px solid var(--copper)}.terrace-info{grid-template-columns:1fr;gap:1rem;padding:2.5rem 0}.event-grid,.service-grid,.wedding-offer{grid-template-columns:1fr}.event-card{min-height:440px}.wedding-gallery{min-height:330px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}.gallery-grid figure{aspect-ratio:1/1}.split-cta{grid-template-columns:1fr;margin-bottom:5rem}.split-cta article{padding:4rem 2rem}.split-cta img{min-height:460px}.contact{padding-top:5.5rem;padding-bottom:5.5rem}.field.two-col{grid-template-columns:1fr}footer{grid-template-columns:1fr;gap:1.5rem}footer img{width:100px;height:100px}}
@media (max-width:520px){.place-gallery-images{grid-template-columns:1fr}.place-gallery figure{aspect-ratio:4/3}.service-card img{aspect-ratio:16/11}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-grid img{transition:none}}
.calendar-section{background:#e9dfd2}.calendar-head{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:4rem}.calendar-intro{font:400 1.2rem/1.6 var(--serif)}.calendar-legend{display:flex;gap:1.2rem;flex-wrap:wrap;font:700 .7rem/1 var(--sans);text-transform:uppercase;letter-spacing:.08em}.calendar-legend span{display:flex;align-items:center;gap:.45rem}.calendar-legend i{display:block;width:.65rem;height:.65rem;border-radius:50%}.status-open{background:#506b52}.status-private{background:#8f8177}.status-special{background:#b7764f}.calendar-shell{background:var(--paper);padding:2rem;border:1px solid rgba(36,26,21,.12);overflow-x:auto}.calendar-toolbar{display:grid;grid-template-columns:3rem 1fr 3rem;align-items:center;margin-bottom:1.5rem}.calendar-toolbar h3{text-align:center;font-size:2rem;text-transform:capitalize;margin:0}.calendar-toolbar button{width:2.6rem;height:2.6rem;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:1.2rem;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:700px}.calendar-days{grid-auto-rows:124px}.calendar-weekdays div{min-width:0;padding:.6rem;text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#776c65}.calendar-day{min-width:0;height:124px;overflow:hidden;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:.6rem;position:relative}.calendar-day:nth-child(7n){border-right:1px solid var(--line)}.calendar-day.empty{background:#f3eee7}.day-number{font:400 1rem var(--serif)}.day-events{display:flex;flex-direction:column;gap:.25rem;margin-top:.45rem}.day-event{width:100%;max-width:100%;padding:.35rem .45rem;font-size:.68rem;line-height:1.2;overflow-wrap:anywhere;hyphens:auto;color:white;background:#8f8177}.day-event.event-open{background:#506b52}.day-event.event-special{background:#b7764f}.day-event a{display:inline-block;margin-top:.25rem;font-weight:700}.calendar-message{text-align:center;margin:1.2rem 0 0;color:#71665e}.footer-links{display:flex;flex-direction:column;gap:.7rem;align-items:flex-end}.footer-links a:last-child{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#bda99b}
.admin-shell{min-height:100vh;background:var(--paper);padding:3rem max(4vw,1.5rem);color:var(--ink)}.admin-header{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:start;max-width:1200px;margin:0 auto 3rem}.admin-header>div{text-align:center}.admin-header>div p:last-child{font-size:.85rem;color:#76675d}.admin-header>a:last-child{text-align:right}.admin-header h1{font-size:clamp(2.5rem,5vw,4.5rem);margin-bottom:1rem}.admin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:1.5rem;max-width:1200px;margin:auto}.admin-card{background:white;border:1px solid var(--line);padding:2rem}.admin-card h2{font-size:2rem;margin-bottom:1rem}.admin-card form{display:flex;flex-direction:column;gap:1.3rem}.admin-card label{color:var(--ink)}.admin-card input,.admin-card select{color:var(--ink);border-bottom-color:rgba(36,26,21,.35)}.admin-card button{align-self:flex-start}.admin-message{margin:0;color:var(--brown)}.admin-event-list{display:flex;flex-direction:column}.admin-event-list article{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.admin-event-list article>div{display:flex;flex-direction:column;gap:.5rem}.admin-event-list button{border:0;background:transparent;color:#7a3028;text-decoration:underline;cursor:pointer}.calendar-tag{display:inline-flex;width:max-content;padding:.3rem .55rem;color:white;background:#8f8177;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.calendar-tag.open{background:#506b52}.calendar-tag.special{background:#b7764f}
@media (max-width:850px){.calendar-head,.admin-grid{grid-template-columns:1fr}.calendar-shell{padding:.8rem}.calendar-grid{min-width:630px}.calendar-days{grid-auto-rows:108px}.calendar-day{height:108px;padding:.4rem}.day-event{font-size:.65rem;padding:.35rem;margin-top:.4rem}.admin-header{grid-template-columns:1fr}.admin-header>div{text-align:left}.admin-header>a:last-child{text-align:left}.footer-links{align-items:flex-start}}
.footer-links{flex-direction:column}
