:root{--root-brown:#2b1b10;--sepia:#5a3a22;--parchment:#f4ebdd;--warm-sand:#d9b98c;--oak:#8a5a32;--gold:#c78a3a;--pine:#556b45;--stone:#b8a17e;--bark:#1a1714;--white:#fff9f1;--line:rgba(43,27,16,0.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--parchment);color:var(--root-brown);font-family:Source Sans\ 3,Open Sans,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.gate,main{min-height:100vh}.gate{display:grid;place-items:center;background:linear-gradient(rgba(26,23,20,.36),rgba(26,23,20,.58)),url(/images/epiphany-ranch-gate-hero.webp) 50% /cover;padding:24px}.gate-panel{width:min(540px,100%);border:1px solid rgba(255,249,241,.28);background:rgba(255,249,241,.94);padding:32px;border-radius:8px;box-shadow:0 24px 80px rgba(26,23,20,.3)}.admin h2,.booking-card h2,.detail-copy h2,.faq-section h2,.final-cta h2,.gate-panel h1,.guest-info h2,.hero h1,.policies h2,.section-heading h2{font-family:Georgia,Times New Roman,serif;letter-spacing:0}.gate-panel h1,.hero h1{margin:8px 0 12px;font-size:clamp(44px,7vw,92px);line-height:.95}.eyebrow{color:var(--oak);font-size:.78rem;font-weight:800;letter-spacing:.1em;margin:0;text-transform:uppercase}.booking-card label,.gate-form label{display:grid;grid-gap:7px;gap:7px;font-weight:800}.gate-form div{display:flex;gap:10px;margin-top:8px}input,select{min-height:44px;border:1px solid var(--line);background:var(--white);border-radius:6px;color:var(--root-brown);padding:10px 12px;width:100%}.admin-form button,.gate-form button,.primary-button,.primary-link,.range-item button{align-items:center;background:var(--root-brown);border:0;border-radius:6px;color:var(--white);display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:10px 16px;text-decoration:none}.hero{align-items:end;display:grid;min-height:78vh;overflow:hidden;position:relative}.hero img{height:100%;object-fit:cover;width:100%;z-index:0}.hero img,.hero:after{inset:0;position:absolute}.hero:after{background:linear-gradient(90deg,rgba(26,23,20,.78),rgba(26,23,20,.2));content:"";z-index:1}.hero-copy{color:var(--white);max-width:760px;padding:0 7vw 72px;position:relative;z-index:2}.hero-copy .eyebrow{color:var(--warm-sand)}.hero-copy p:not(.eyebrow){font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,3vw,30px);line-height:1.35;margin:0 0 28px}.admin,.booking-layout,.cabins,.detail,.faq-section,.final-cta,.guest-info,.policies,.site-footer,.summary-band{margin:0 auto;max-width:1180px;padding:48px 24px}.summary-band{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,1fr)}.summary-band div{align-items:center;background:var(--white);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:auto 1fr;padding:18px}.summary-band svg{color:var(--pine);grid-row:span 2}.summary-band span{color:var(--sepia)}.section-heading{margin-bottom:24px}.admin h2,.booking-card h2,.detail-copy h2,.faq-section h2,.final-cta h2,.guest-info h2,.policies h2,.section-heading h2{font-size:clamp(32px,4vw,54px);line-height:1;margin:8px 0 12px}.cabin-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(4,1fr)}.cabin-card{background:var(--white);border:1px solid var(--line);border-radius:8px;color:var(--root-brown);display:grid;grid-gap:8px;gap:8px;min-width:0;padding:10px;text-align:left}.cabin-card.selected{border-color:var(--gold);box-shadow:inset 0 0 0 2px rgba(199,138,58,.35)}.cabin-card img{aspect-ratio:4/3;border-radius:6px;object-fit:cover;width:100%}.cabin-card span{font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:700}.cabin-card small{color:var(--sepia)}.detail{align-items:start;display:grid;grid-gap:28px;gap:28px;grid-template-columns:1.2fr .8fr;scroll-margin-top:16px}.gallery{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr}.gallery-carousel{aspect-ratio:4/3;border-radius:8px;overflow:hidden;position:relative}.gallery-carousel img{object-fit:cover}.gallery-arrow{align-items:center;background:rgba(26,23,20,.72);border:1px solid rgba(255,249,241,.35);border-radius:999px;color:var(--white);display:inline-flex;height:44px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:44px}.gallery-arrow.previous{left:14px}.gallery-arrow.next{right:14px}.gallery-count{background:rgba(26,23,20,.72);border-radius:999px;bottom:14px;color:var(--white);font-weight:800;padding:7px 12px;position:absolute;right:14px}.gallery-thumbs{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(5,1fr)}.gallery-thumbs button{background:transparent;border:2px solid transparent;border-radius:8px;min-width:0;padding:0}.gallery-thumbs button.active{border-color:var(--gold)}.gallery-thumbs img{aspect-ratio:4/3;border-radius:6px;display:block;object-fit:cover;width:100%}.detail-copy{position:-webkit-sticky;position:sticky;top:24px}.detail-copy p{color:var(--sepia);font-size:1.07rem;line-height:1.65}.facts,.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0;padding:0}.facts span,.pill-list li{align-items:center;background:var(--white);border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:6px;list-style:none;padding:8px 12px}.booking-layout{align-items:start;display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr 360px}.admin,.booking-card,.faq-item,.info-panel,.policies>div,.price-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:24px}.booking-card{display:grid;grid-gap:16px;gap:16px}.field-row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1fr 1fr}.checkline{align-items:start;display:grid!important;font-weight:700!important;grid-gap:10px!important;gap:10px!important;grid-template-columns:auto 1fr}.checkline input{height:18px;margin-top:3px;min-height:0;width:18px}.price-card{position:-webkit-sticky;position:sticky;top:24px}.price-card h3{font-family:Georgia,Times New Roman,serif;font-size:1.7rem;margin-top:0}.line,.total{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;padding:12px 0}.total{border:0;font-size:1.25rem}.available,.blocked,.error,.notice{border-radius:6px;font-weight:800;padding:12px}.available{background:rgba(85,107,69,.14);color:var(--pine)}.blocked,.error{background:rgba(138,90,50,.14);color:var(--oak)}.notice{background:rgba(199,138,58,.16);color:var(--sepia)}.admin{margin-top:24px}.admin-form{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 170px 170px auto}.range-list{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.range-item{background:var(--parchment);border:1px solid var(--line);border-radius:8px;gap:12px;justify-content:space-between;padding:12px}.range-item,.range-item span{align-items:center;display:flex}.range-item span{gap:8px}.range-item button{background:transparent;border:1px solid var(--line);color:var(--root-brown)}.policies{display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr 1fr}.policies li{margin:10px 0}.guest-info{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(2,1fr);padding-top:0}.faq-item p,.info-panel p{color:var(--sepia);line-height:1.6}.info-panel li{margin:10px 0}.directions-panel{background:rgba(85,107,69,.1)}.faq-section{padding-top:0}.faq-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,1fr)}.faq-item h3{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;margin:0 0 8px}.faq-item p{margin:0}.final-cta{background:var(--root-brown);border-radius:8px;color:var(--white);display:grid;grid-gap:14px;gap:14px;margin-bottom:24px;margin-top:16px;text-align:center}.final-cta .eyebrow{color:var(--warm-sand)}.final-cta h2{margin-left:auto;margin-right:auto;max-width:720px}.final-cta .primary-link{background:var(--white);color:var(--root-brown);justify-self:center}.site-footer{color:var(--sepia);font-size:.95rem;padding-top:8px;text-align:center}@media (max-width:900px){.admin-form,.booking-layout,.cabin-grid,.detail,.faq-grid,.guest-info,.policies,.summary-band{grid-template-columns:1fr}.detail-copy,.price-card{position:static}}@media (max-width:560px){.hero{min-height:70vh}.hero-copy{padding:0 24px 42px}.field-row{grid-template-columns:1fr}.gallery-thumbs{grid-template-columns:repeat(3,1fr)}.gate-form div{display:grid}}