@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--ink:#173c2a;--paper:#fffdf7;--line:#ddd6c5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--forest);font:16px/1.55 "DM Sans",sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;line-height:1.03;letter-spacing:-.04em}h1{font-size:clamp(3.1rem,7vw,6.8rem);font-weight:600}h2{font-size:clamp(2.15rem,4.5vw,4.1rem);font-weight:600}h3{font-size:1.04rem;margin-bottom:.3rem}i{color:var(--ember);font-weight:600}.site-header{height:82px;max-width:1320px;margin:auto;padding:0 4vw;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:8px;font:600 1.25rem "Playfair Display",serif;letter-spacing:-.04em}.brand img{width:39px;height:39px;object-fit:contain}.brand b{color:var(--ember)}nav{display:flex;align-items:center;gap:25px;font-size:.86rem;font-weight:600}nav a:hover,.text-link:hover{color:var(--ember)}.hero{padding:100px 8vw 130px;min-height:600px;color:var(--paper);background:radial-gradient(circle at 77% 23%,#4d865c 0,transparent 24%),radial-gradient(circle at 91% 69%,#b76c37 0,transparent 18%),linear-gradient(120deg,var(--forest),var(--primary));position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:48vw;height:48vw;border:1px solid #ffffff29;border-radius:50%;right:-18vw;bottom:-33vw}.hero>*{position:relative;z-index:1}.hero h1{max-width:850px;margin:15px 0 20px}.hero p{max-width:470px;color:#fff9e9cc;font-size:1.08rem}.eyebrow{font:500 .68rem "DM Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ember)}.hero .eyebrow{color:#f8d9a6}.button{display:inline-flex;gap:17px;align-items:center;border:0;border-radius:0;padding:14px 20px;font:600 .84rem "DM Sans",sans-serif;cursor:pointer}.ember{background:var(--ember);color:#fff}.dark{background:var(--forest);color:#fff}.light{background:#fff;color:var(--forest)}.button:hover{transform:translateY(-1px);filter:brightness(1.05)}.hero .button{margin-top:14px}.hero-note{display:flex;gap:13px;align-items:center;margin-top:56px;font-size:.83rem}.hero-note b{font:600 1.3rem "Playfair Display",serif;color:#f9d7a0}.booking-strip{background:var(--earth);padding:25px 8vw;color:#fff}.booking-strip form,.search-form{max-width:1160px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:end}.booking-strip label,.search-form label,.reserve-form label,.login-card label{display:grid;gap:5px;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}input,select,textarea{width:100%;border:1px solid var(--line);background:#fffdf8;color:var(--forest);padding:12px;font:inherit;border-radius:0}textarea{min-height:80px;resize:vertical}.section{max-width:1320px;margin:auto;padding:105px 8vw}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}.intro p{align-self:end;max-width:420px;font-size:1.1rem}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:35px}.section-head h2{margin-bottom:0}.section-head>a{font-size:.85rem;font-weight:700;border-bottom:1px solid var(--ember);padding-bottom:3px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.site-card{border:1px solid var(--line);background:#fff}.site-art{height:155px;padding:15px;background:linear-gradient(145deg,#dbe0c4,#9caf76 55%,#556a45);position:relative}.site-art:after{content:"";width:105px;height:105px;position:absolute;right:8%;bottom:-50px;border-radius:50%;background:#f2bf54b8;filter:blur(4px)}.site-art span{z-index:1;position:relative;background:#fffdf7d9;padding:6px 9px;font:500 .62rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.site-card-body{padding:25px}.site-card-body p{min-height:76px;color:#5b6257;font-size:.9rem}.site-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.72rem;color:#716b5f}.site-meta span:before{content:"•";color:var(--ember);margin-right:5px}.price{display:flex;gap:5px;align-items:baseline;margin-top:22px;font-size:.78rem}.price b{font-size:1.3rem}.price a{margin-left:auto;color:var(--ember);font-weight:700}.split-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:var(--sand);max-width:none;padding-left:max(8vw,calc((100vw - 1160px)/2));padding-right:max(8vw,calc((100vw - 1160px)/2))}.activity-panel p{max-width:320px}.text-link{font-weight:700;font-size:.88rem;border-bottom:1px solid var(--ember)}.activities article{display:grid;grid-template-columns:105px 1fr;gap:20px;border-top:1px solid #bdb596;padding:24px 0}.activities time{display:grid;align-content:start;font:500 .74rem "DM Mono",monospace}.activities time b{font:600 1rem "DM Sans",sans-serif}.activities p{font-size:.9rem;margin-bottom:5px;color:#616759}.activities small{font-size:.75rem;color:var(--earth)}.food{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.food>div>p{max-width:300px}.menu-list article{border-bottom:1px solid var(--line);padding:14px 0}.menu-list article>span{font:.58rem "DM Mono",monospace;color:var(--ember);text-transform:uppercase}.menu-list h3{font:600 1.12rem "Playfair Display",serif;margin:3px 0}.menu-list h3 b{float:right;font:600 .95rem "DM Sans",sans-serif}.menu-list p{font-size:.85rem;color:#62665d;margin:0}.cta{padding:110px 8vw;text-align:center;background:var(--forest);color:#fff}.cta h2{margin:18px 0 28px}.page-hero{padding:95px 8vw 85px;background:var(--sand)}.page-hero h1{margin:12px 0}.page-hero p{max-width:470px}.compact{padding-top:65px;padding-bottom:55px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.info-grid article{border-top:4px solid var(--ember);padding-top:22px}.info-grid span{font:.72rem "DM Mono",monospace;color:var(--ember)}.info-grid h2{font-size:1.8rem;margin:10px 0}.info-grid p{font-size:.92rem;color:#5e655c}.info-grid a{color:var(--ember);font-weight:700}.booking-page{padding-top:55px}.search-form{max-width:none;background:var(--sand);padding:20px}.result-count{font-size:.9rem;margin:32px 0 16px}.booking-results{display:grid;gap:15px}.result{border:1px solid var(--line);padding:15px;display:grid;grid-template-columns:190px 1fr auto;gap:25px;align-items:center}.result .site-art{height:140px}.result h2{font-size:1.9rem;margin-bottom:8px}.result p{font-size:.9rem;color:#5e655c}.result-price{display:grid;gap:1px;text-align:right}.result-price b{font:600 1.7rem "Playfair Display",serif}.result-price span{font-size:.75rem;margin-bottom:13px}.reserve-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;max-width:1050px}.reserve-layout aside{background:var(--sand);padding:20px;height:max-content}.reserve-layout aside h2{font-size:2rem;margin:20px 0 8px}.reserve-form,.login-card{display:grid;gap:17px;max-width:520px}.reserve-form h2,.reserve-form h3{margin:0}.radio{display:flex!important;align-items:center;gap:9px;text-transform:none!important;letter-spacing:0!important;font-size:.9rem!important}.radio input{width:auto}.fine-print{font-size:.77rem;color:#62665d}.confirmation{max-width:760px;margin:auto;text-align:center;padding:115px 8vw}.confirmation h1{margin:15px 0}.confirmation>p{max-width:580px;margin:0 auto 30px;color:#5c655a}.confirmation-card{margin:32px auto;padding:28px;background:var(--sand);text-align:left;max-width:500px}.confirmation-card span{font:.68rem "DM Mono",monospace;color:var(--ember)}.confirmation-card h2{font-size:2.1rem;margin:6px 0}.confirmation-card b{font-size:1.3rem}.validation{color:#a3331d;font-size:.85rem}.login-wrap{display:grid;place-items:center;min-height:calc(100vh - 245px);background:var(--sand);padding:50px 20px}.login-card{background:#fff;padding:42px;width:min(100%,430px);box-shadow:0 16px 40px #5c47201c}.login-card h1{font-size:3rem;margin:10px 0 15px}.admin-page{max-width:1320px;margin:auto;padding:55px 5vw 100px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.admin-header h1{font-size:3rem;margin:8px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stats article{background:var(--sand);padding:22px}.stats span{display:block;font:.67rem "DM Mono",monospace;text-transform:uppercase;color:var(--earth)}.stats b{font:600 2rem "Playfair Display",serif}.admin-section{margin-top:42px}.admin-section h2{font-size:2rem;margin-bottom:12px}.table-wrap{overflow:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:780px;font-size:.84rem}th{text-align:left;background:var(--sand);font:.65rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}th,td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top}td small,.manage-list small{display:block;color:#777167;margin-top:3px}.pill{display:inline-block;padding:3px 7px;background:#f6d8b8;color:#8b450d;font-size:.68rem;font-weight:700}.pill.paid{background:#dbe9d7;color:#29603b}.admin-duo{display:grid;grid-template-columns:1fr 1fr;gap:35px}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-form textarea,.admin-form button{grid-column:1/-1}.manage-list{margin-top:15px}.manage-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.84rem}.delete{border:0;background:none;color:#9e3926;cursor:pointer;font:inherit}.theme-section p{font-size:.9rem;color:#62665d}.theme-form{display:flex;gap:14px;flex-wrap:wrap;align-items:end}.theme-form label{display:grid;gap:5px;font-size:.72rem;font-weight:700}.theme-form input[type=color]{height:42px;padding:3px}.theme-form input:not([type=color]){width:100px;padding:8px}footer{display:flex;justify-content:space-between;gap:25px;padding:35px 8vw;background:#132e22;color:#d8dfcf;font-size:.82rem}footer div{display:flex;flex-direction:column;gap:3px}footer strong{color:#fff;font-size:1rem}footer a{color:#f7c97b}@media(max-width:760px){.site-header{height:70px;padding:0 5vw}.brand img{width:32px;height:32px}nav{gap:12px;font-size:.74rem}nav a:nth-child(2){display:none}.hero{padding:75px 7vw 85px;min-height:auto}.booking-strip{padding:20px 7vw}.booking-strip form,.search-form{grid-template-columns:1fr 1fr}.booking-strip .button,.search-form .button{grid-column:1/-1}.section{padding:70px 7vw}.intro,.split-section,.food,.reserve-layout{grid-template-columns:1fr;gap:35px}.card-grid,.info-grid,.stats,.admin-duo{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.site-card-body p{min-height:0}.split-section{padding-left:7vw;padding-right:7vw}.result{grid-template-columns:1fr;padding:12px;gap:15px}.result .site-art{height:105px}.result-price{text-align:left;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.result-price span{margin:0}.result-price .button{margin-left:auto}.page-hero{padding:65px 7vw}.admin-page{padding:40px 5vw 70px}.admin-header{align-items:flex-start}.admin-header h1{font-size:2.3rem}.admin-form{grid-template-columns:1fr}.admin-form>*{grid-column:auto!important}.theme-form label{width:calc(50% - 7px)}footer{padding:30px 7vw;flex-direction:column}.confirmation{padding:80px 7vw}}
