:root{--color-bg: #faf7f1;--color-dark: #0c1f15;--color-pine: #1a3c2c;--color-gold: #c08c3a;--color-moss: #6b806a;--color-cream: #f5f0e6;--color-text: #1a1b18;--color-muted: #666860;--color-white: #ffffff;--color-overlay: rgba(12, 31, 21, .55);--color-overlay-strong: rgba(12, 31, 21, .72);--font-heading: "Iowan Old Style", "Palatino Linotype", "Palatino", Georgia, serif;--font-body: "Avenir Next", "Segoe UI", system-ui, sans-serif;--max-w: 1200px;--gap: 24px;--radius: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.05;font-weight:700}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:#faf7f1d9;backdrop-filter:blur(12px);border-bottom:1px solid rgba(26,60,44,.08);transition:background .3s ease}.brand-mark{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-pine);letter-spacing:.02em}.site-nav{display:flex;align-items:center;gap:8px}.site-nav a{padding:8px 16px;font-size:.88rem;font-weight:500;color:var(--color-muted);border-radius:999px;transition:all .2s;letter-spacing:.01em}.site-nav a:hover{color:var(--color-pine);background:#1a3c2c0f}.nav-cta{background:var(--color-pine)!important;color:var(--color-white)!important;font-weight:600!important}.nav-cta:hover{background:var(--color-dark)!important}.lang-switch{display:flex;align-items:center;gap:2px;margin-left:8px;padding-left:12px;border-left:1px solid rgba(26,60,44,.12)}.lang-switch a{padding:4px 8px!important;font-size:.78rem!important;font-weight:600!important;letter-spacing:.04em!important;color:var(--color-muted)!important;border-radius:6px!important;text-decoration:none;transition:all .2s}.lang-switch a:hover{color:var(--color-pine)!important;background:#1a3c2c0f!important}.lang-switch a.lang-active{color:var(--color-pine)!important;background:#1a3c2c1a!important}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,31,21,.82) 0%,rgba(12,31,21,.35) 40%,rgba(12,31,21,.1) 70%,transparent 100%);z-index:1}.hero-content{position:relative;z-index:2;max-width:720px;padding:0 40px 64px;color:var(--color-white)}.hero-label{display:inline-block;padding:6px 16px;margin-bottom:20px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold);border:1px solid rgba(192,140,58,.4);border-radius:999px}.hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1;margin-bottom:16px;max-width:14ch}.hero-sub{font-size:1.1rem;line-height:1.65;color:#ffffffd1;max-width:52ch;margin-bottom:28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;font-size:.92rem;font-weight:600;border-radius:999px;border:none;cursor:pointer;transition:all .2s}.btn-primary{background:var(--color-gold);color:var(--color-dark)}.btn-primary:hover{background:#d09a44;transform:translateY(-1px)}.btn-ghost{background:#ffffff1f;color:var(--color-white);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(4px)}.btn-ghost:hover{background:#ffffff38}.btn-dark{background:var(--color-pine);color:var(--color-white)}.btn-dark:hover{background:var(--color-dark);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--color-pine);border:1.5px solid var(--color-pine)}.btn-outline:hover{background:var(--color-pine);color:var(--color-white)}.section{padding:80px 40px}.section-inner{max-width:var(--max-w);margin:0 auto}.section-dark{background:var(--color-dark);color:var(--color-white)}.section-cream{background:var(--color-cream)}.section-label{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold);margin-bottom:12px}.section-title{font-size:clamp(1.8rem,3.5vw,2.8rem);margin-bottom:16px;max-width:18ch}.section-subtitle{font-size:1.05rem;line-height:1.7;color:var(--color-muted);max-width:56ch;margin-bottom:48px}.section-dark .section-subtitle{color:#ffffffa6}.season-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.season-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .3s ease}.season-tile:hover{transform:scale(1.01)}.season-tile-bg{position:absolute;inset:0}.season-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,31,21,.78) 0%,rgba(12,31,21,.15) 55%,transparent 100%);z-index:1}.season-tile-content{position:relative;z-index:2;padding:28px;color:var(--color-white)}.season-tile-season{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-gold);margin-bottom:8px}.season-tile h3{font-size:1.5rem;margin-bottom:8px}.season-tile p{font-size:.9rem;line-height:1.55;color:#ffffffbf;max-width:38ch}.season-tile-meta{display:flex;gap:20px;margin-top:14px;font-size:.82rem;color:#fff9}.season-tile-meta strong{color:var(--color-white);font-weight:600}.property-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid rgba(26,60,44,.1);border-radius:var(--radius);overflow:hidden;background:var(--color-white)}.property-strip-item{padding:28px 24px;text-align:center;border-right:1px solid rgba(26,60,44,.08)}.property-strip-item:last-child{border-right:none}.property-strip-item span{display:block;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin-bottom:6px}.property-strip-item strong{font-family:var(--font-heading);font-size:1.3rem;color:var(--color-pine)}.split{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:500px}.split-image{position:relative;min-height:400px;overflow:hidden}.split-text{display:flex;flex-direction:column;justify-content:center;padding:60px 56px}.split-text h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:16px}.split-text p{font-size:1rem;line-height:1.75;color:var(--color-muted);margin-bottom:28px;max-width:48ch}.cta-banner{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:360px;overflow:hidden}.cta-banner-bg{position:absolute;inset:0}.cta-banner:after{content:"";position:absolute;inset:0;background:var(--color-overlay-strong);z-index:1}.cta-banner-content{position:relative;z-index:2;color:var(--color-white);padding:40px;max-width:640px}.cta-banner h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:12px}.cta-banner p{font-size:1rem;color:#ffffffb3;line-height:1.65;margin-bottom:28px}.segment-hero{position:relative;height:70vh;min-height:480px;display:flex;align-items:flex-end;overflow:hidden}.segment-hero-bg{position:absolute;inset:0}.segment-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,31,21,.82) 0%,rgba(12,31,21,.3) 50%,transparent 100%);z-index:1}.segment-hero-content{position:relative;z-index:2;padding:0 40px 56px;color:var(--color-white);max-width:var(--max-w);width:100%;margin:0 auto}.segment-hero h1{font-size:clamp(2.2rem,4.5vw,3.6rem);margin-bottom:12px;max-width:16ch}.segment-hero-tagline{font-size:1.1rem;line-height:1.6;color:#ffffffc7;max-width:56ch}.segment-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--color-dark);color:var(--color-white)}.segment-fact{padding:28px 24px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}.segment-fact:last-child{border-right:none}.segment-fact span{display:block;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold);margin-bottom:6px}.segment-fact strong{font-size:1.05rem;font-weight:600}.content-block{max-width:720px;margin:0 auto}.content-block h2{font-size:clamp(1.5rem,2.5vw,2rem);margin-bottom:16px}.content-block p{font-size:1.02rem;line-height:1.8;color:var(--color-muted)}.numbered-list{list-style:none;display:grid;gap:16px;counter-reset:item}.numbered-list li{counter-increment:item;display:grid;grid-template-columns:36px 1fr;gap:12px;font-size:.98rem;line-height:1.7;color:var(--color-text)}.numbered-list li:before{content:counter(item);display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--color-pine);background:#1a3c2c14;border-radius:50%;flex-shrink:0}.check-list{list-style:none;display:grid;gap:12px}.check-list li{display:flex;gap:12px;font-size:.98rem;line-height:1.6}.check-list li:before{content:"✓";flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--color-pine);background:#1a3c2c14;border-radius:50%}.section-dark .check-list li:before{color:var(--color-gold);background:#c08c3a26}.info-list{list-style:none;display:grid;gap:10px}.info-list li{padding:12px 16px;font-size:.92rem;line-height:1.6;background:#1a3c2c0a;border-radius:8px;border-left:3px solid rgba(26,60,44,.15)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gallery-item{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 3}.gallery-item-wide{grid-column:span 2;aspect-ratio:21 / 9}.gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 16px 12px;font-size:.84rem;color:#ffffffe0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);z-index:2}.full-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.full-gallery figure{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4 / 3}.full-gallery figure:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gallery-note{margin-top:16px;font-size:.82rem;font-style:italic;color:var(--color-muted);text-align:center}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.room-card{border-radius:var(--radius);overflow:hidden;background:var(--color-white);border:1px solid rgba(26,60,44,.08)}.room-card-image{position:relative;display:block;width:100%;height:280px;overflow:hidden;cursor:zoom-in;border:none;padding:0;background:none}.room-card-image img{transition:transform .3s ease}.room-card-image:hover img{transform:scale(1.04)}.room-card-body{padding:20px 22px 24px}.room-card h3{font-size:1.15rem;margin-bottom:8px}.room-card p{font-size:.92rem;line-height:1.65;color:var(--color-muted)}.lightbox-overlay{position:fixed;inset:0;z-index:9999;background:#000000e0;cursor:zoom-out;animation:lightbox-in .2s ease}.lightbox-overlay img{padding:4vh 4vw}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.faq-list{display:grid;gap:0;max-width:780px;margin:0 auto}.faq-item{padding:28px 0;border-bottom:1px solid rgba(26,60,44,.1)}.faq-item:first-child{border-top:1px solid rgba(26,60,44,.1)}.faq-item h3{font-size:1.1rem;margin-bottom:8px;font-weight:600}.faq-item p{font-size:.95rem;line-height:1.7;color:var(--color-muted)}.avail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.avail-season{padding:24px;border-radius:var(--radius);background:var(--color-white);border:1px solid rgba(26,60,44,.08)}.avail-season h3{font-size:1.1rem;margin-bottom:6px}.avail-season p{font-size:.92rem;line-height:1.6;color:var(--color-muted);margin-bottom:12px}.avail-price{font-family:var(--font-heading);font-size:1.2rem;color:var(--color-pine);font-weight:700}.inquiry-card{padding:32px;border-radius:var(--radius);background:var(--color-white);border:1px solid rgba(26,60,44,.08)}.inquiry-card h2{font-size:1.4rem;margin-bottom:8px}.inquiry-card>p{font-size:.92rem;color:var(--color-muted);margin-bottom:24px;line-height:1.6}.form-field{display:grid;gap:6px;margin-bottom:16px}.form-field label{font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--color-text)}.form-field input,.form-field select,.form-field textarea{padding:12px 14px;border:1px solid rgba(26,60,44,.15);border-radius:8px;background:var(--color-bg);font-family:var(--font-body);font-size:.92rem;color:var(--color-text)}.form-field textarea{min-height:100px;resize:vertical}.cal-wrapper{margin-bottom:40px}.cal-nav{display:flex;justify-content:space-between;margin-bottom:16px}.cal-nav-btn{padding:8px 20px;font-size:.88rem;font-weight:600;background:var(--color-white);border:1px solid rgba(26,60,44,.15);border-radius:8px;cursor:pointer;color:var(--color-pine);transition:all .2s}.cal-nav-btn:hover:not(:disabled){background:#1a3c2c0f}.cal-nav-btn:disabled{opacity:.3;cursor:default}.cal-months{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cal-month{background:var(--color-white);border:1px solid rgba(26,60,44,.08);border-radius:var(--radius);padding:20px}.cal-month-title{font-size:1rem;font-weight:700;text-align:center;margin-bottom:12px;color:var(--color-pine)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-weekday{font-size:.72rem;font-weight:600;text-align:center;padding:6px 0;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;border:none;background:none;border-radius:8px;cursor:pointer;transition:all .15s;color:var(--color-text)}.cal-day:hover:not(:disabled){background:#1a3c2c14}.cal-day--outside{visibility:hidden}.cal-day--past{color:#1a1b1840;cursor:default}.cal-day--blocked{color:#1a1b184d;background:#c83c3c14;text-decoration:line-through;cursor:default}.cal-day--start,.cal-day--end{background:var(--color-pine)!important;color:var(--color-white)!important;font-weight:700}.cal-day--range{background:#1a3c2c1f;color:var(--color-pine)}.cal-legend{display:flex;gap:20px;margin-top:16px;justify-content:center}.cal-legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-muted)}.cal-dot{width:10px;height:10px;border-radius:50%}.cal-dot--available{background:#1a3c2c26}.cal-dot--blocked{background:#c83c3c4d}.cal-dot--selected{background:var(--color-pine)}.inquiry-section{display:grid;grid-template-columns:1fr;gap:32px;max-width:720px;margin:0 auto}.selected-dates{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px}.selected-dates input{background:#1a3c2c0a!important;font-weight:600;color:var(--color-pine)!important}.extras-fieldset{border:none;padding:0;margin:16px 0}.extras-fieldset legend{font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--color-text);margin-bottom:10px}.extras-grid{display:grid;gap:8px}.extra-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(26,60,44,.1);border-radius:8px;background:var(--color-bg);cursor:pointer;transition:all .2s}.extra-item:hover{border-color:#1a3c2c40}.extra-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-pine);flex-shrink:0}.extra-info{display:flex;flex-direction:column;flex:1}.extra-info strong{font-size:.9rem;color:var(--color-text)}.extra-desc{font-size:.8rem;color:var(--color-muted)}.extra-price{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--color-pine);white-space:nowrap}.price-estimate{background:#1a3c2c0a;border:1px solid rgba(26,60,44,.1);border-radius:8px;padding:16px;margin-top:16px}.price-estimate h3{font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--color-muted);margin-bottom:10px;text-transform:uppercase}.price-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.92rem;color:var(--color-text);border-bottom:1px solid rgba(26,60,44,.06)}.price-row:last-child{border-bottom:none}.price-total{font-weight:700;font-size:1.05rem;color:var(--color-pine);padding-top:10px;margin-top:4px;border-top:2px solid rgba(26,60,44,.15);border-bottom:none}.form-warning{padding:10px 14px;font-size:.88rem;color:#8b5e00;background:#c08c3a1f;border-radius:8px;border-left:3px solid var(--color-gold);margin-bottom:12px}.form-error{padding:10px 14px;font-size:.88rem;color:#8b2020;background:#c83c3c14;border-radius:8px;border-left:3px solid #c04040;margin-bottom:12px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-pine);box-shadow:0 0 0 3px #1a3c2c1a}.floor-plan-wrap{border-radius:var(--radius);overflow:hidden;border:1px solid rgba(26,60,44,.08);background:var(--color-white);padding:24px}.site-footer{padding:40px;background:var(--color-dark);color:#ffffff80;font-size:.88rem}.footer-inner{max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;gap:24px}.footer-brand{font-family:var(--font-heading);font-size:1.1rem;color:var(--color-white);margin-bottom:8px}.footer-links{display:flex;gap:24px}.footer-links a{color:#ffffff80;transition:color .2s}.footer-links a:hover{color:var(--color-white)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}@media(max-width:900px){.site-header{padding:12px 20px}.site-nav a:not(.nav-cta){display:none}.hero{min-height:500px}.hero-content{padding:0 24px 40px}.hero h1{font-size:2.2rem;max-width:none}.section{padding:48px 20px}.season-grid{grid-template-columns:1fr}.season-tile{min-height:320px}.property-strip{grid-template-columns:repeat(2,1fr)}.property-strip-item{border-bottom:1px solid rgba(26,60,44,.08)}.split{grid-template-columns:1fr}.split-image{min-height:300px}.split-text{padding:36px 24px}.segment-hero{height:50vh;min-height:360px}.segment-hero-content{padding:0 20px 36px}.segment-facts{grid-template-columns:repeat(2,1fr)}.segment-fact{border-bottom:1px solid rgba(255,255,255,.08)}.gallery-grid{grid-template-columns:1fr}.gallery-item-wide{grid-column:span 1}.full-gallery{grid-template-columns:repeat(2,1fr)}.full-gallery figure:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:16 / 9}.room-grid,.avail-grid,.two-col,.cal-months,.selected-dates{grid-template-columns:1fr}.footer-inner{flex-direction:column}.cta-banner{min-height:280px}}@media(max-width:560px){.property-strip,.segment-facts,.full-gallery{grid-template-columns:1fr}.full-gallery figure:first-child{grid-column:span 1}}
