:root{--green:#1c1d31;--dark:#1c1d31;--cream:#f4efe5;--muted:#696a72;--gold:#b8861b}
body{background:#fbfaf7}
.site-header{height:104px;background:#fffdf9}
.brand{display:block;line-height:normal;flex:none}
.brand img{display:block;width:150px;height:95px;object-fit:contain}
.header-actions .btn-dark{background:#1c1d31}
.hero{background:#1c1d31}
.hero h1 em,.intro h2 em,.services h2 em,.statement h2 em,.method h2 em,.contact h2 em{color:#bd901f}
.hero p,.hero-foot{color:#dbd9dd}
.eyebrow,.section-kicker{color:#bd901f}
.hero-side{color:#d0c4a8}
.intro{background:#fcfaf5}
.intro-seal{width:160px;height:130px;background:url('/logo.png') center/contain no-repeat;border:0;color:transparent}
.intro-seal small{display:none}
.services{background:#f2eee7}
.videos{background:#1c1d31;color:#fff}
.videos .section-heading p{color:#d8d6dc}
.reel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:55px}
.reel-card{display:block;background:#292a40;transition:transform .25s ease,box-shadow .25s ease}
.reel-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px #090a124d}
.reel-cover{position:relative;aspect-ratio:9/13;overflow:hidden;background:#11121e}
.reel-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.reel-card:hover .reel-cover img{transform:scale(1.035)}
.reel-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#10111dd9)}
.reel-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;display:grid;place-items:center;padding-left:3px;border:1px solid #ffffffb3;border-radius:50%;background:#1c1d31b8;color:#fff}
.reel-badge{position:absolute;z-index:2;left:16px;bottom:16px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.16em}
.reel-copy{padding:22px}
.reel-copy small{color:#bd901f;font-size:9px;letter-spacing:.16em}
.reel-copy h3{font-size:22px;line-height:1.25;margin:10px 0 22px;min-height:55px}
.reel-copy>span{font-size:11px;font-weight:700;border-bottom:1px solid #737488;padding-bottom:7px}
.service-grid article{background:#fffdf9}
.statement{background:#1c1d31}
.statement-copy p{color:#dedde2}
.method{background:#fffdf9}
.quote{background:#eadbbd}
.quote blockquote em{color:#1c1d31}
.contact{background:#f8f5ef}
footer{background:#1c1d31}
.footer-logo{display:inline-flex;align-items:center;justify-content:center;background:#fffdf9;padding:7px 12px;border-radius:3px;width:184px;height:116px}
.footer-logo img{width:100%;height:100%;object-fit:contain}
.footer-top p,.footer-bottom{color:#d4d2d8}
.footer-bottom{border-color:#45465a}
.btn-dark,.inline-form button{background:#1c1d31}
.kpi{background:#f1ede4}
.pill{background:#f2e9d3;color:#72530d}
.flash{background:#eee6d2;color:#493b20}
.booking-hero{display:grid;grid-template-columns:54% 46%;min-height:580px;background:#1c1d31;color:#fff}
.booking-hero>div:first-child{padding:100px 14% 80px 16%;display:flex;flex-direction:column;justify-content:center}
.booking-hero h1{font-size:clamp(48px,5vw,76px);line-height:1.1;letter-spacing:-.04em;margin:32px 0 24px}
.booking-hero h1 em,.booking-form-section h2 em{color:#bd901f;font-weight:400}
.booking-hero>div>p{max-width:500px;line-height:1.9;color:#d8d6dc}
.booking-photo{overflow:hidden}.booking-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.booking-promise{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:15px;align-items:start;margin-top:55px;padding-top:25px;border-top:1px solid #515266}
.booking-promise span{color:#bd901f;font-size:10px}.booking-promise p{font-size:11px;line-height:1.6;color:#d8d6dc}
.booking-form-section{display:grid;grid-template-columns:38% 1fr;gap:10%;background:#f8f5ef}
.booking-form-section h2{font-size:clamp(40px,4vw,58px);line-height:1.15;margin:25px 0}
.booking-form-section>div>p{color:#696a72;line-height:1.8;max-width:420px}
.contact-form select{width:100%;border:0;border-bottom:1px solid #ccc7bc;background:transparent;padding:12px 0;color:#1c1d31}
.invitation-page{padding:90px 6%;background:linear-gradient(135deg,#f4efe5,#fffdf9);min-height:720px;display:grid;place-items:center}
.invitation-card{width:min(760px,100%);background:#fff;padding:70px clamp(28px,8vw,90px);text-align:center;border:1px solid #ded5c3;box-shadow:0 25px 70px #1c1d3114;position:relative}
.invitation-card:before{content:"";position:absolute;inset:14px;border:1px solid #b8861b55;pointer-events:none}
.invitation-for{font-size:13px;letter-spacing:.08em;color:#696a72;margin:22px 0}
.invitation-card h1{font-family:'Playfair Display',serif;font-size:clamp(38px,6vw,64px);line-height:1.08;color:#1c1d31;margin:15px 0 25px}
.invitation-message{white-space:pre-line;font-family:'Playfair Display',serif;font-size:19px;line-height:1.8;color:#555568}
.invitation-event{display:flex;flex-direction:column;gap:8px;margin:38px 0;padding:28px 0;border-top:1px solid #ded5c3;border-bottom:1px solid #ded5c3}
.invitation-event small{color:#b8861b;letter-spacing:.2em}.invitation-event strong{font-family:'Playfair Display',serif;font-size:30px}.invitation-event span{color:#696a72}
.invitation-response{margin:35px auto 0;text-align:left;max-width:460px}.invitation-response .btn{width:100%;margin-top:10px}
.mini-form .wide{grid-column:1/-1}
.booking-empty{background:#fff;padding:45px;align-self:start}.booking-empty h3{font-family:'Playfair Display',serif;font-size:30px}.booking-empty p{color:#696a72;margin:15px 0 28px}
.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:25px}.availability-card{display:grid;gap:9px;padding:18px;background:#f5f1e8}.availability-card label{display:grid;gap:5px;font-size:11px}.availability-card input,.availability-card select{padding:8px;border:1px solid #d8d1c3;background:#fff}.availability-card .check-label{display:flex;align-items:center}.availability-card button,.blocked-date button{border:0;background:#1c1d31;color:#fff;padding:9px;cursor:pointer}.blocked-dates{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.blocked-date{display:flex;align-items:center;gap:15px;background:#f5f1e8;padding:10px 12px;font-size:12px}
.tab-actions{display:flex;justify-content:flex-end;margin:0 0 18px}.tab-actions .btn{display:inline-flex}
@media(max-width:900px){.site-header{height:88px}.brand img{width:125px;height:78px}}
@media(max-width:900px){.reel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.site-header{height:76px}.brand img{width:105px;height:67px}.hero h1 em{color:#d3a739}.footer-logo{width:162px;height:102px}.reel-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:-6%;margin-right:-6%;padding:0 6% 18px}.reel-card{flex:0 0 78%;scroll-snap-align:start}.reel-copy h3{min-height:auto}.booking-hero{display:flex;flex-direction:column}.booking-hero>div:first-child{padding:65px 7%}.booking-photo{height:350px}.booking-promise{grid-template-columns:auto 1fr}.booking-form-section{display:block}.booking-form-section form{margin-top:45px}}
