:root{--ink:#21332a;--forest:#254638;--leaf:#5e735e;--cream:#f8f6f0;--soft:#eee9de;--line:#d7d8cc;--gold:#bd9462;--white:#fff;--radius:20px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;line-height:1.65}a{color:inherit}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;line-height:1.13;font-weight:500}h1{font-size:clamp(2.8rem,6vw,6rem)}h2{font-size:clamp(2.3rem,4vw,4.1rem)}h3{font-size:1.25rem;line-height:1.3}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.narrow{max-width:780px}.skip{position:absolute;top:-100px;left:10px;z-index:9999;background:#fff;padding:12px}.skip:focus{top:10px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #be9156;outline-offset:3px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,246,240,.97);border-bottom:1px solid rgba(33,51,42,.12);backdrop-filter:blur(14px)}.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1.05;white-space:nowrap}.brand strong{font-family:Georgia,serif;font-size:1.9rem;letter-spacing:.08em}.brand small{font-size:.58rem;font-weight:800;letter-spacing:.16em;margin-top:6px}.site-header nav{display:flex;gap:22px;margin-left:auto}.site-header nav a,.header-phone{font-size:.85rem;font-weight:700;text-decoration:none}.site-header nav a:hover,.footer a:hover{text-decoration:underline}.header-phone{white-space:nowrap}.header-action{padding:11px 16px;background:var(--forest);color:#fff;border-radius:100px;white-space:nowrap;font-weight:700;font-size:.82rem;text-decoration:none}.header-action:hover,.btn-primary:hover{background:#38664d}
.hero{min-height:min(770px,calc(100svh - 82px));position:relative;display:flex;align-items:end;background:#314236;color:#fff;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-shade{background:linear-gradient(90deg,rgba(9,28,20,.88),rgba(9,28,20,.54) 52%,rgba(9,28,20,.08)),linear-gradient(0deg,rgba(8,24,17,.36),transparent 50%)}.hero-content{position:relative;padding-block:95px 110px;max-width:1180px}.hero h1{max-width:780px;margin-bottom:22px}.hero-subtitle{max-width:590px;font-size:clamp(1.12rem,2vw,1.45rem);line-height:1.55}.hero-note{margin:28px 0 0;font-size:.83rem;opacity:.84}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}.hero .eyebrow{color:#e6c798}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:13px 23px;border-radius:100px;border:1px solid transparent;font-size:.88rem;font-weight:800;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--forest);color:#fff}.hero .btn-primary{background:#f8efe1;color:var(--forest)}.hero .btn-primary:hover{background:#fff}.btn-outline{border-color:rgba(255,255,255,.75);color:#fff}.btn-outline:hover{background:rgba(255,255,255,.15)}
.section{padding:105px 0}.section-soft{background:var(--soft)}.section .lead{max-width:760px;font-size:1.14rem;line-height:1.8}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;border-top:1px solid var(--line);padding-top:26px}.stats div{display:flex;flex-direction:column;gap:4px}.stats strong{font-family:Georgia,serif;font-size:2.4rem;font-weight:500;line-height:1.2}.stats span{font-size:.86rem;color:#6c756d}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:45px}.card{min-height:290px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 15px 30px rgba(30,49,38,.08)}.card>span:first-child{color:var(--gold);font-size:.82rem;font-weight:800}.card h3{margin:42px 0 8px}.card p{font-size:.89rem;color:#626b63}.card-link{margin-top:auto;color:var(--forest);font-weight:800;font-size:.83rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split p{max-width:540px}.split-photo img{width:100%;aspect-ratio:1/.93;object-fit:cover;border-radius:var(--radius)}.check-list{list-style:none;padding:0;margin:26px 0}.check-list li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line);font-weight:600}.check-list li:before{content:'✓';position:absolute;left:2px;color:var(--forest);font-weight:800}.quiet{color:#6b756c;font-size:.85rem}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-top p:last-child{max-width:260px;font-size:.9rem;color:#677066}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:35px}.gallery a{display:block;overflow:hidden;border-radius:12px}.gallery a:first-child{grid-column:span 2;grid-row:span 2}.gallery img{width:100%;height:100%;min-height:180px;aspect-ratio:1/.8;object-fit:cover;transition:transform .3s}.gallery a:hover img{transform:scale(1.04)}.gallery a:first-child img{aspect-ratio:auto}details{border-bottom:1px solid #cbd0c7;padding:20px 0}summary{cursor:pointer;font-size:1.07rem;font-weight:700;list-style:none;position:relative;padding-right:28px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:2px;font-size:1.4rem;line-height:1}details[open] summary:after{content:'−'}details p{margin:15px 0 0;color:#606a61}
.lead-section{background:var(--forest);color:#fff}.lead-section .eyebrow{color:#e5c99f}.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.lead-grid>div>p:not(.eyebrow){max-width:430px;color:#d4dfd6}.lead-phone{display:block;width:max-content;color:#fff;text-decoration:none;font-size:1.35rem;font-weight:800;margin:15px 0}.lead-form{background:#fff;color:var(--ink);padding:32px;border-radius:var(--radius)}.lead-form label{display:block;margin-bottom:15px;font-size:.79rem;font-weight:800}.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #cbd1c9;border-radius:10px;background:#fff;color:var(--ink);padding:12px 13px;min-height:47px}.lead-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead-form .consent{display:flex;align-items:flex-start;gap:9px;font-size:.73rem;font-weight:500;line-height:1.5}.consent input{margin:3px 0 0;accent-color:var(--forest)}.submit{width:100%}.form-result{min-height:1.6em;margin:10px 0 0;font-size:.86rem;font-weight:700}.form-result.error{color:#a12f2f}.form-result.success{color:#2b6744}.trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.inner-hero{padding:105px 0 75px;background:var(--soft)}.inner-hero h1{max-width:900px;font-size:clamp(2.7rem,5vw,5rem)}.inner-hero .lead{max-width:760px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-box{border:1px solid var(--line);border-radius:var(--radius);padding:30px}.contact-box h2{font-size:1.9rem}.contact-box a{font-weight:700}.legal h2{font-size:1.8rem;margin-top:45px}.footer{background:#172c22;color:#ecf2ec;padding-top:60px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:50px}.footer h2{font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.footer p,.footer a{font-size:.85rem;color:#c9d4ca}.footer .brand strong,.footer .brand small{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding:23px 0;margin-top:50px;color:#b1bfb3;font-size:.77rem}
@media(max-width:1080px){.site-header nav{gap:12px}.header-phone{display:none}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:730px){.container{width:min(100% - 32px,1180px)}.header-inner{min-height:67px}.brand strong{font-size:1.55rem}.brand small{font-size:.47rem}.site-header nav{display:none}.header-action{margin-left:auto;font-size:.7rem;padding:10px 12px}.hero{min-height:680px;align-items:end}.hero-media img{object-position:57% center}.hero-shade{background:linear-gradient(0deg,rgba(9,28,20,.92),rgba(9,28,20,.48) 65%,rgba(9,28,20,.12))}.hero-content{padding:80px 0 58px}.hero h1{font-size:clamp(2.6rem,12vw,4.3rem)}.hero-subtitle{font-size:1.05rem}.section{padding:70px 0}.stats{grid-template-columns:1fr 1fr;margin-top:40px}.stats div:last-child{grid-column:span 2}.stats strong{font-size:1.9rem}.cards{grid-template-columns:1fr}.card{min-height:215px}.card h3{margin:18px 0 6px}.split,.lead-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.split-photo{order:-1}.split-photo img{aspect-ratio:4/3}.section-top{display:block}.section-top p:last-child{max-width:none}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.gallery a:first-child{grid-column:span 2;grid-row:auto}.gallery a:first-child img{aspect-ratio:16/10}.gallery img{min-height:120px}.lead-form{padding:22px}.inner-hero{padding:75px 0 50px}.footer-grid{grid-template-columns:1fr;gap:18px}.footer-bottom{margin-top:25px}}
@media(max-width:380px){.header-action{font-size:.63rem;padding:9px}.form-row{grid-template-columns:1fr;gap:0}.stats{grid-template-columns:1fr}.stats div:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card,.gallery img{transition:none}}
.legal-box{background:var(--soft);border-left:4px solid var(--gold);padding:22px;line-height:1.9;margin:28px 0}.footer-setting{background:none;color:#c9d4ca;border:0;padding:0;text-decoration:underline;cursor:pointer;font-size:.85rem}.analytics-banner{position:fixed;bottom:16px;left:16px;right:16px;z-index:100;max-width:900px;margin:auto;padding:16px 18px;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 12px 45px rgba(0,0,0,.25);display:flex;align-items:center;gap:20px}.analytics-banner[hidden]{display:none}.analytics-banner p{margin:0;font-size:.82rem;flex:1}.analytics-banner div{display:flex;gap:8px;flex-wrap:wrap}.analytics-banner button{border:1px solid var(--forest);background:#fff;color:var(--forest);padding:8px 12px;border-radius:30px;font-weight:700;cursor:pointer;font-size:.75rem}.analytics-banner button:last-child{background:var(--forest);color:#fff}@media(max-width:730px){.analytics-banner{display:block}.analytics-banner div{margin-top:12px}}
.hall-benefits{padding-top:0}.benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.benefit-grid>div{min-height:170px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.benefit-grid strong{display:block;font-family:Georgia,serif;font-size:1.24rem;line-height:1.3}.benefit-grid p{margin:12px 0 0;font-size:.85rem;color:#687269}.catering-preview .card{min-height:250px}.catering-preview .card h3{margin-top:25px}.catering-hero{background:#e6e5da}.catering-hero .hero-actions{margin-top:25px}.btn-dark-outline{border-color:var(--forest);color:var(--forest)}.btn-dark-outline:hover{background:rgba(37,70,56,.08)}.related-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.related-links a{display:inline-flex;border:1px solid var(--line);border-radius:30px;padding:8px 13px;font-size:.8rem;font-weight:700;text-decoration:none}.related-links a:hover{border-color:var(--forest)}.step-list{counter-reset:step;list-style:none;padding:0;margin:30px 0}.step-list li{counter-increment:step;padding:17px 0 17px 55px;border-bottom:1px solid var(--line);position:relative;font-weight:600}.step-list li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;color:var(--gold);font-weight:800}.catering-preview .section-top p:last-child{max-width:320px}
@media(max-width:1080px){.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:730px){.benefit-grid{gap:10px}.benefit-grid>div{min-height:145px;padding:17px}.benefit-grid strong{font-size:1.05rem}.benefit-grid p{font-size:.78rem}.catering-hero .hero-actions{gap:10px}.catering-hero .btn{width:100%}.catering-preview .card{min-height:205px}}
@media(max-width:420px){.benefit-grid{grid-template-columns:1fr}.benefit-grid>div{min-height:auto}}
.gallery a{position:relative}.gallery-label{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:7px 10px;border-radius:7px;background:rgba(20,43,31,.9);color:#fff;font-size:.72rem;font-weight:800;line-height:1.25}
