:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#243c39;background:#f7f6f1;font-synthesis:none;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:24px 32px;gap:24px}.brand{font-family:Georgia,serif;font-size:24px;display:flex;align-items:center;gap:12px;text-decoration:none}.brand small{display:block;font:10px system-ui;letter-spacing:2.5px;margin-top:6px}.mark{background:#244d45;color:#efe9d8;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font:20px Georgia}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none;font-size:13px;font-weight:650}.local-banner{background:#e8ecdf;text-align:center;padding:8px 14px;font-size:11px;letter-spacing:1px;color:#526349}main{max-width:1180px;margin:auto;padding:32px 28px 80px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;padding:40px 0 68px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:46px;margin:14px 0 24px}.hero h1{font-size:clamp(48px,6vw,82px);letter-spacing:-3px}.hero .lead{font-size:17px;line-height:1.8;margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:750;color:#657866}h2{font-size:29px;margin:12px 0 20px}h3{font-size:22px}p{line-height:1.65}.muted{font-size:13px;color:#687873}.illustration{height:390px;background:#e1dfcb;border-radius:150px 150px 12px 12px;position:relative;overflow:hidden;display:grid;place-items:center}.sun{position:absolute;width:140px;height:140px;background:#d0ae70;border-radius:50%;top:35px;right:-25px}.arch{border:14px solid #b4c2ac;border-bottom:0;background:#396254;border-radius:110px 110px 0 0;width:195px;height:300px;position:absolute;bottom:0;left:50px;display:grid;place-items:center;box-shadow:70px 40px #c8c9af}.arch span{font:35px Georgia;line-height:1.1;color:#eee9d7;letter-spacing:3px}.arch i{font-size:32px;font-weight:400;letter-spacing:0}.caption{position:absolute;bottom:25px;right:18px;background:#f7f6f1e8;padding:14px;font-size:10px;letter-spacing:1px}.caption small{display:block;margin-top:5px;font-size:9px;letter-spacing:0}.card{padding:28px;background:#fff;border:1px solid #dce2d9;border-radius:16px;margin:22px 0;box-shadow:0 6px 25px #203d3304}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-head>span{font-size:12px;color:#6a7b72}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fields button{align-self:end}label{display:flex;flex-direction:column;font-size:13px;gap:8px;font-weight:600;margin:12px 0}input,select{font:inherit;font-size:16px;color:#243c39;width:100%;border:1px solid #cfd8ce;border-radius:8px;background:#fcfcf9;padding:13px;min-height:48px}input:focus,select:focus{outline:2px solid #769a78;outline-offset:2px}button,.button{border:0;border-radius:8px;background:#284f43;color:#fff;padding:14px 20px;min-height:48px;font:600 14px system-ui;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;gap:8px}button:hover,.button:hover{background:#183e31}.secondary{background:#edf1e8;color:#294b3d}.quiet{color:#495b50;background:transparent;border:1px solid #cad5c7}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.room-card{background:#e8eddf;border-radius:14px;padding:32px}.room-card:nth-child(2){background:#ede7dc}.room-number{font-size:10px;letter-spacing:2px;color:#718074}.price{font:30px Georgia}.price small{font:12px system-ui}small{font-size:12px;font-weight:400}.narrow{max-width:800px;margin:25px auto}.login{max-width:460px;margin:50px auto}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled{opacity:.65}.summary{display:flex;align-items:center;justify-content:space-between;padding:22px;background:#eef2e8;border-radius:10px;margin-top:28px;gap:15px}.summary p{margin-bottom:0}.notice{padding:15px;background:#f4efdc;color:#78652f;border-radius:8px;font-size:13px}.alert,.success{padding:22px;border-radius:10px;overflow-wrap:anywhere}.alert{background:#f8e5dc;color:#8a3c2a}.success{background:#dfecda}.tabs{overflow:auto;white-space:nowrap;gap:12px;padding:8px 0 28px}.tabs a{padding:12px;border-radius:8px}.tabs .active{background:#284f43;color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stats article{background:#e9eedf;border-radius:12px;padding:23px}.stats span{display:block;font-size:12px}.stats strong{font:34px Georgia;display:block;margin-top:16px}summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px;align-items:center;list-style:none}summary:after{content:"+"}details[open]>summary:after{content:"−"}summary p{margin:8px 0;font-size:13px}.badge{border:1px solid #bcccaf;border-radius:50px;padding:7px 12px;font-size:11px;background:#f0f5eb;white-space:nowrap}.reference{font:12px ui-monospace,monospace;overflow-wrap:anywhere;line-height:1.8}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.check{flex-direction:row;align-items:center}.check input{width:22px;min-height:22px}.calendar{overflow:auto;background:#fff;border-radius:12px;border:1px solid #dce2d9}table{border-collapse:collapse;font-size:12px}th,td{padding:18px 12px;border:1px solid #e3e8df;min-width:95px}th{background:#eff2e9;text-align:left}td.occupied{background:#d8e7d1}.empty{text-align:center;padding:50px;color:#718070}footer{border-top:1px solid #d8dfd2;padding:38px 32px;max-width:1180px;margin:auto;color:#68776c;font-size:12px}footer .brand{color:#284738}details details{margin:20px 0}button:disabled{opacity:.5}a:focus-visible,button:focus-visible{outline:3px solid #b29656;outline-offset:3px}@media(max-width:650px){header{padding:18px 17px;gap:10px}.brand{font-size:18px}.mark{width:35px;height:35px}header nav{gap:12px}header nav a{font-size:11px}.brand small{font-size:8px;letter-spacing:1px}main{padding:20px 18px 50px}.hero{grid-template-columns:1fr;gap:28px;padding:20px 0 30px}.hero h1{font-size:58px}.hero .lead{font-size:15px}.illustration{height:250px;border-radius:110px 110px 12px 12px}.arch{height:220px;width:150px;left:38px}.arch span{font-size:25px}.sun{width:100px;height:100px}.card{padding:20px;margin:18px 0}.fields,.room-grid{grid-template-columns:1fr;gap:8px}.room-grid{gap:16px}.section-head{align-items:flex-start;flex-direction:column;gap:4px}h1{font-size:35px}h2{font-size:26px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:18px}.stats strong{font-size:28px}summary{flex-wrap:wrap;gap:10px}.summary .price{font-size:25px}.tabs{margin-right:-18px}.login{margin:24px 0}.room-card .section-head{flex-direction:row;align-items:center}.actions button{font-size:12px;padding:11px}.reference{font-size:11px}.local-banner{font-size:9px}footer{padding:28px 20px}}@media print{header,footer,.local-banner,.tabs,button,form,.stats,.notice{display:none!important}.receipt{break-inside:avoid;border:1px solid #ccc}.card{box-shadow:none}body{background:#fff}main{padding:0}}.hero-photo{margin:0;display:flex;flex-direction:column;gap:10px}.hero-photo img{width:100%;height:100%;max-height:400px;object-fit:cover;border-radius:20px;display:block}.hero-photo figcaption{font-size:11px;letter-spacing:.4px;opacity:.65}.room-photo{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;margin-bottom:14px;display:block}@media(max-width:650px){.hero-photo img{max-height:250px;border-radius:14px}.room-photo{border-radius:10px;margin-bottom:10px}}@media(max-width:650px){.local-banner{font-size:12px;letter-spacing:.6px}footer{font-size:13px;padding:28px 20px}.hero-photo figcaption{font-size:12px;opacity:.85}.room-photo{margin-bottom:12px}}.wizard{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 18px;padding:0}.wizard li{background:#eeece6;border-radius:999px;color:#5b6b68;font-size:12px;padding:8px 12px}.wizard li.current{background:#243c39;color:#fff;font-weight:600}.wizard li.done{background:#d7e8dd;color:#1f4a3a}.wizard a{color:inherit;text-decoration:none}.cal{background:#fff;border:1px solid #e2e0d8;border-radius:14px;padding:12px}.cal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.cal-head strong{font-size:15px}.cal-head a{align-items:center;background:#f1f0ea;border-radius:12px;color:#243c39;display:flex;font-size:20px;height:44px;justify-content:center;text-decoration:none;width:44px}.cal-week,.cal-grid{display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.cal-week span{color:#7c8a87;font-size:11px;padding:2px 0;text-align:center}.cal-day{align-items:center;background:#f7f6f1;border-radius:10px;color:#243c39;display:flex;font-size:14px;justify-content:center;min-height:44px;text-decoration:none}.cal-day.blank{background:transparent}.cal-day.past{background:transparent;color:#c2c4be}.cal-day.full{background:#f6dede;color:#9c3b3b;text-decoration:line-through}.cal-day.blocked{background:transparent;color:#cfccc5;text-decoration:none}.cal-day.start,.cal-day.end{background:#243c39;color:#fff;font-weight:700}.cal-day.between{background:#d9e6df}.cal-legend{align-items:center;color:#6a7774;display:flex;flex-wrap:wrap;font-size:12px;gap:10px;margin:12px 0 0}.cal-legend .dot{border-radius:4px;display:inline-block;height:12px;margin-right:4px;width:12px}.cal-legend .dot.free{background:#f7f6f1;border:1px solid #ddd}.cal-legend .dot.full{background:#f6dede;border:1px solid #eccaca}.cal-legend .dot.sel{background:#243c39}@media(max-width:650px){.cal{padding:10px}.cal-day{font-size:15px;min-height:46px}.cal-head strong{font-size:14px}}@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"DM Serif Display";src:url(/fonts/dmserifdisplay-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--teal-900:#0f2e2b;--teal-800:#14403b;--teal-700:#1a5a52;--teal-600:#1f6f64;--teal-500:#2b8a7d;--teal-100:#e2f1ee;--teal-50:#f1f8f6;--ink:#14201f;--ink-soft:#4a5b59;--ink-faint:#7b8b88;--line:#e3e9e7;--paper:#fff;--sand:#f7f8f6;--rose:#b3423f;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px rgba(15,46,43,.06),0 8px 24px -12px rgba(15,46,43,.18);--shadow-lg:0 2px 4px rgba(15,46,43,.06),0 24px 48px -24px rgba(15,46,43,.28)}body{background:var(--sand);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6}h1,h2,h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--teal-900)}h2{font-size:clamp(20px,4.4vw,28px);margin:8px 0 10px}h3{font-size:18px;margin:0 0 8px}a{color:var(--teal-700)}main{max-width:1080px;padding:24px 18px 72px}p{margin:0 0 12px}.muted{color:var(--ink-faint);font-size:14px}.eyebrow{color:var(--teal-600);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px}header{background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);max-width:none;padding:12px 18px;position:sticky;top:0;z-index:20}.brand{color:var(--teal-900);font-family:"DM Serif Display",Georgia,serif;font-size:20px;gap:10px}.brand small{font:9px Inter,sans-serif;letter-spacing:.18em;color:var(--ink-faint);margin-top:4px}.mark{background:linear-gradient(160deg,var(--teal-600),var(--teal-800));border-radius:12px;color:#fff;font:700 14px Inter,sans-serif;height:38px;width:38px}header nav{gap:6px}header nav a{border-radius:999px;color:var(--ink-soft);font-size:14px;font-weight:500;padding:8px 12px}header nav a:hover{background:var(--teal-50);color:var(--teal-800)}header nav a.cta{background:var(--teal-700);color:#fff;font-weight:600}header nav a.cta:hover{background:var(--teal-800)}.button,button{background:var(--teal-700);border:0;border-radius:999px;box-shadow:var(--shadow);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font:600 15px Inter,sans-serif;justify-content:center;padding:12px 20px;text-decoration:none}.button:hover,button:hover{background:var(--teal-800)}button.secondary,.button.secondary{background:#fff;border:1px solid var(--line);box-shadow:none;color:var(--teal-800)}button.secondary:hover,.button.secondary:hover{background:var(--teal-50)}button.quiet{background:none;box-shadow:none;color:var(--ink-soft);font-weight:500;padding:8px 10px}button.quiet:hover{background:#eef0ee;color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 18px;padding:20px}.card.narrow{max-width:640px}.card.unread{border-left:4px solid var(--teal-500)}.section-head{margin-bottom:12px}.section-head>span{color:var(--ink-faint);font-size:13px}.hero{background:linear-gradient(155deg,var(--teal-900),var(--teal-700));border-radius:22px;box-shadow:var(--shadow-lg);color:#eaf6f4;gap:26px;grid-template-columns:1fr;padding:28px 22px;margin:0 0 24px}.hero h1{color:#fff}.hero .lead{color:#cfe8e4}.hero .muted{color:#9fc7c1}.hero .button{background:#fff;color:var(--teal-800)}.hero .illustration{display:none}.hero-photo img{border-radius:16px;box-shadow:var(--shadow-lg);max-height:340px}.hero-photo figcaption{color:#a8cfc9}.stats article{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:14px}.stats article span{color:var(--ink-faint);display:block;font-size:12px}.stats strong,.stats article strong{color:var(--teal-900);font-family:"DM Serif Display",serif;font-size:26px}.fields{gap:12px}label{color:var(--ink-soft);display:block;font-size:13px;font-weight:500}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font:inherit;font-size:16px;margin-top:5px;padding:12px 13px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px var(--teal-100);outline:none}label.check{align-items:center;display:flex;font-size:14px;gap:8px}label.check input{margin:0;width:auto}.cal{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.cal-head strong{color:var(--teal-900);font-family:"DM Serif Display",serif;font-size:18px}.cal-head a{background:var(--teal-50);color:var(--teal-800)}.cal-day{background:#fbfcfb}.cal-day.start,.cal-day.end{background:var(--teal-700);box-shadow:var(--shadow)}.cal-day.between{background:var(--teal-100)}.cal-day.full{background:#fdeceb;color:var(--rose)}.wizard li{background:#eef0ee}.wizard li.current{background:var(--teal-700)}.wizard li.done{background:var(--teal-100);color:var(--teal-800)}.summary{background:var(--teal-50);border:1px solid #cfe6e0;border-radius:var(--radius-sm);margin-bottom:16px;padding:14px}.price{color:var(--teal-800)}.price small{color:var(--ink-faint);font-size:12px;font-weight:400}.badge{background:var(--sand);border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;margin:0 0 8px}.badge.good{background:var(--teal-100);border-color:#bfe0d8;color:var(--teal-800)}.room-grid article,.room-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.gallery{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0 0 18px}.gallery figure{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;overflow:hidden}.gallery img{border-radius:0;display:block;height:auto;width:100%}.gallery figcaption{display:flex;flex-direction:column;font-size:14px;padding:10px 12px}.gallery figcaption span{color:var(--ink-faint);font-size:12px}.ticks{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));list-style:none;margin:10px 0;padding:0}.ticks li{color:var(--ink-soft);font-size:14px;padding-left:20px;position:relative}.ticks li:before{color:var(--teal-600);content:"✓";left:0;position:absolute}.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 14px;padding:0}.chips li{background:var(--teal-50);border:1px solid #d5e8e3;border-radius:999px;color:var(--teal-800);font-size:13px;padding:6px 12px}nav.chips{gap:8px;margin:0 0 18px}nav.chips a{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:13px;padding:6px 12px;text-decoration:none}nav.chips a.active{background:var(--teal-700);border-color:var(--teal-700);color:#fff}.map{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);height:320px;overflow:hidden}.map iframe{border:0;height:100%;width:100%}table.data{border-collapse:collapse;font-size:14px;width:100%;margin:0 0 18px}table.data th,table.data td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}table.data thead th{color:var(--ink-faint);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.calendar{overflow-x:auto}.calendar table{border-collapse:collapse;font-size:12px;min-width:640px;width:100%}.calendar th,.calendar td{border:1px solid var(--line);padding:6px;text-align:center}.calendar td.occupied{background:var(--teal-100);color:var(--teal-900);font-weight:600}.receipt{max-width:520px}.reference{color:var(--ink-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all}.notice,html .notice{background:var(--teal-50);border-left:3px solid var(--teal-500);border-radius:var(--radius-sm);color:var(--ink-soft);font-size:14px;padding:12px 14px}.alert{background:#fdeceb;border-left:3px solid var(--rose);border-radius:var(--radius-sm);color:#7d2b29;padding:12px 14px}.success{background:var(--teal-50);border:1px solid #bfe0d8;border-radius:var(--radius-sm);color:var(--teal-900);padding:14px}.tabs{gap:6px}.tabs a,.tabs button{background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:none;color:var(--ink-soft);font-size:13px;font-weight:500;padding:8px 13px;text-decoration:none}.tabs a.active{background:var(--teal-700);border-color:var(--teal-700);color:#fff}.tabs a:hover{background:var(--teal-50)}footer{background:#fff;border-top:1px solid var(--line);color:var(--ink-faint);font-size:14px;padding:32px 18px;text-align:center}footer .brand{justify-content:center;font-size:18px}footer a{color:var(--teal-700)}:focus-visible{outline:3px solid var(--teal-500);outline-offset:2px}@media(min-width:720px){.fields{grid-template-columns:1fr 1fr}.fields .full,.fields button,.fields input[type=hidden]{grid-column:1/-1}.hero{grid-template-columns:1.05fr .95fr;padding:40px 34px}main{padding:32px 24px 88px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
