:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--ink:#ECE3CC;--ink-soft:#BDB598;--paper:#4D584F;--panel:#434D45;--accent:#D2B876;--ok:#94C09E;--bad:#E0997B;--line:rgba(236,227,204,.22);--serif:"Montserrat", Georgia, serif;--sans:"Montserrat", -apple-system, system-ui, sans-serif}html{scroll-padding-top:env(safe-area-inset-top,0px)}*,*:before,*:after{box-sizing:inherit}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ink:#ECE3CC;--ink-soft:#BDB598;--paper:#4D584F;--panel:#434D45;--line:rgba(236,227,204,.22);--accent:#D2B876;--ok:#94C09E;--bad:#E0997B}}:root[data-theme=dark]{--ink:#ECE3CC;--ink-soft:#BDB598;--paper:#4D584F;--panel:#434D45;--line:rgba(236,227,204,.22);--accent:#D2B876;--ok:#94C09E;--bad:#E0997B}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent)}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0 0 .35em;color:var(--ink);letter-spacing:-.01em}h1{font-size:clamp(2.3rem,6vw,3.7rem);line-height:1.06;font-style:italic;font-weight:400}h2{font-size:clamp(1.5rem,3vw,2.1rem);font-style:italic}h3{font-size:1.05rem;font-weight:600;font-family:var(--sans);letter-spacing:.01em;margin-bottom:.5em}p{margin:0 0 1em;max-width:58ch}ul{margin:0;padding:0;list-style:none}button{font-family:var(--sans);cursor:pointer}input,select,textarea{font-family:var(--sans);font-size:1rem}.wrap{max-width:760px;margin:0 auto;padding:0 24px}.kicker{font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:1.05rem;margin-bottom:14px}.lede{font-size:1.08rem;color:var(--ink-soft);max-width:52ch}.hero-facts{font-size:.95rem;color:var(--accent);margin:-6px 0 22px;letter-spacing:.01em}.fine-print{color:var(--ink-soft);font-size:.88rem;margin-top:18px}.note-line{font-size:.95rem;color:var(--ink-soft);border-left:2px solid var(--line);padding-left:14px;margin:22px 0}.tile-strip{height:22px;background:repeating-conic-gradient(var(--accent) 0% 25%,transparent 0% 50%) 0 0/22px 22px;opacity:.88}header.site{border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}nav.wrap{display:flex;align-items:center;justify-content:space-between;padding:6px 24px;gap:16px;flex-wrap:wrap}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:12px}.brand-mark{height:82px;width:auto;display:block;flex-shrink:0}.brand .place{display:block;font-family:var(--sans);font-size:.72rem;color:var(--ink-soft)}.navlinks{display:flex;gap:22px;font-size:.92rem}.navlinks a{color:var(--ink-soft);text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent}.navlinks a.active{color:var(--ink);border-color:var(--accent)}.navlinks a:hover{color:var(--ink)}.btn-primary{display:inline-block;font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.12rem;color:var(--ink);background:none;border:none;padding:0 0 4px;border-bottom:1px solid var(--ink);text-decoration:none;letter-spacing:.01em}.btn-primary:hover{color:var(--accent);border-color:var(--accent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{font-family:var(--sans);font-size:.92rem;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;background:none;border:none;padding:0}.btn-secondary:hover{color:var(--ink)}section{padding:56px 0}section.tight{padding:36px 0}section.hero-photo{min-height:440px;display:flex;align-items:center;padding:48px 0;border-bottom:1px solid var(--line)}section.hero-photo .kicker,section.hero-photo .lede{color:var(--ink)}section.hero-photo .lede{opacity:.92}@media (max-width:680px){section.hero-photo{min-height:320px;padding:36px 0}}section.casa-hero{padding:56px 0;border-bottom:1px solid var(--line)}.casa-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}.casa-hero-media{background:var(--panel);aspect-ratio:4/5;overflow:hidden}.casa-hero-media img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width:720px){.casa-hero-grid{grid-template-columns:1fr}.casa-hero-media{max-width:420px;margin:0 auto}}.casa-intro-centered{max-width:56ch;margin:0 auto;text-align:center}.casa-intro-centered .lede{max-width:none}.intro-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}@media (max-width:680px){.intro-list{grid-template-columns:1fr;gap:26px}}.home-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.home-split h2{margin-bottom:14px}.home-album-grid{grid-template-columns:repeat(3,1fr)}.home-album-grid img{height:90px}@media (max-width:720px){.home-split{grid-template-columns:1fr;gap:36px}.home-album-grid{grid-template-columns:repeat(6,1fr)}.home-album-grid img{height:70px}}@media (max-width:480px){.home-album-grid{grid-template-columns:repeat(3,1fr)}.home-album-grid img{height:90px}}.intro-item p{font-size:.96rem;color:var(--ink-soft);margin-bottom:0}.intro-item svg{width:26px;height:26px;color:var(--accent);display:block;margin-bottom:12px}.amenities{margin:16px 0 8px;max-width:52ch}.amenities li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px}.amenities svg{width:22px;height:22px;color:var(--accent);flex-shrink:0}.nearby-list{max-width:52ch;margin-top:14px}.nearby-list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.96rem}.nearby-list a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.nearby-list a:hover{color:var(--accent)}.price-line{font-size:1.05rem;margin:0 0 6px}.price-line:last-of-type{margin-bottom:26px}.price-num{font-family:var(--serif);font-style:italic;font-size:1.5rem;margin:0 4px}.room-group{margin-bottom:34px}.room-group h3{margin-bottom:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:14px}@media (max-width:560px){.contact-grid{grid-template-columns:1fr}}footer{border-top:1px solid var(--line);padding:32px 0 calc(32px + env(safe-area-inset-bottom,0px));font-size:.86rem;color:var(--ink-soft)}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}footer a{color:var(--ink-soft)}footer a.admin-link{font-size:.8rem;opacity:.55;text-decoration:none}footer a.admin-link:hover{opacity:1}form.booking{max-width:480px;margin-top:8px}.field{margin-bottom:24px}.field label{display:block;font-size:.86rem;color:var(--ink-soft);margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:9px 2px;border:none;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}.field input[type=date]{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ECE3CC' stroke-width='1.6'><rect x='3' y='5' width='18' height='16'/><path d='M3 9.5h18M8 3v4M16 3v4'/></svg>");background-repeat:no-repeat;background-position:right 2px center;background-size:17px 17px;padding-right:24px;cursor:pointer}.field input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;left:0;top:0}.field input[type=date]{position:relative}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:480px){.field-row{grid-template-columns:1fr}}textarea{resize:vertical;min-height:70px}.checkbox-field{display:flex;align-items:center;gap:10px;margin-bottom:24px}.checkbox-field input{width:auto}.checkbox-field label{margin:0;font-size:.94rem;color:var(--ink)}.note-banner{border-left:2px solid var(--line);padding:8px 16px;font-size:.92rem;margin-bottom:22px;color:var(--ink-soft)}.note-banner.warn{border-color:var(--accent);color:var(--ink)}.note-banner.ok{border-color:var(--ok);color:var(--ink)}.note-banner.err{border-color:var(--bad);color:var(--ink)}.receipt{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;max-width:440px;margin-top:8px}.receipt dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:.95rem;margin:14px 0 0}.receipt dt{color:var(--ink-soft)}.receipt dd{margin:0}.pin-gate{max-width:300px}.pin-gate input{letter-spacing:.4em;text-align:center;font-size:1.3rem}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:24px 0 6px}.tab{background:none;border:none;padding:0 0 12px;font-size:.92rem;color:var(--ink-soft);border-bottom:2px solid transparent}.tab.active{color:var(--ink);border-color:var(--accent)}.booking-row{padding:20px 0;border-bottom:1px solid var(--line)}.booking-row .top{display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap}.booking-row h3{margin-bottom:2px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.15rem}.booking-row .dates{font-size:.92rem;color:var(--ink-soft);margin-bottom:6px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.pending{color:var(--accent)}.badge.confirmed{color:var(--ok)}.badge.rejected{color:var(--bad)}.booking-row .actions{display:flex;gap:18px;margin-top:12px}.booking-row .actions button{background:none;border:none;padding:0;font-size:.88rem;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}.booking-row .actions button:hover{color:var(--ink)}.empty-state{padding:26px 0;color:var(--ink-soft);font-style:italic;font-family:var(--serif)}.skeleton{color:var(--ink-soft);font-size:.9rem}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}.photo-grid img{width:100%;height:180px;object-fit:cover;display:block}@media (max-width:620px){.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-grid img{height:140px}}.photo-grid.admin{grid-template-columns:repeat(3,1fr)}.photo-item{position:relative}.photo-item img{width:100%;height:150px;object-fit:cover;display:block}.photo-remove{position:absolute;bottom:6px;right:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:.75rem;padding:3px 8px;border-radius:0}.photo-remove:hover{border-color:var(--bad);color:var(--bad)}.photo-grid.lightbox-grid img{cursor:pointer}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0b09f0;z-index:100;display:flex;align-items:center;justify-content:center;padding:32px}.lightbox img{max-width:90vw;max-height:86vh;object-fit:contain}.lightbox-close{position:absolute;top:16px;right:20px;background:none;border:none;color:#ede3cc;font-size:2.1rem;line-height:1;cursor:pointer;padding:6px 10px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#ede3cc;font-size:2.4rem;padding:10px 18px;cursor:pointer}.lightbox-prev{left:4px}.lightbox-next{right:4px}@media (max-width:600px){.lightbox-nav{font-size:1.9rem;padding:8px 10px}.lightbox{padding:16px}}.langswitch{display:flex;align-items:center}.langswitch select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:1px solid var(--line);border-radius:0;padding:5px 26px 5px 10px;font-family:var(--sans);font-size:.82rem;color:var(--ink);cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 14px) center,calc(100% - 9px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.langswitch select:hover{border-color:var(--ink-soft)}.langswitch select:focus{outline:none;border-color:var(--ink)}.langswitch option{color:#000;background:#fff}
