:root{--bg:#f8f5ef;--surface:#fff;--text:#172a32;--muted:#4b6068;--accent:#0b6068;--line:#b9c7c8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 system-ui,sans-serif}header,main,footer{max-width:1060px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:750;text-decoration:none}.brand span{display:block;font-size:12px;font-weight:500;color:var(--muted)}nav{display:flex;align-items:center;gap:20px}nav form{margin:0}a{color:var(--accent);text-underline-offset:4px}h1{font-size:clamp(32px,5vw,58px);line-height:1.12;letter-spacing:-1.5px}h2{line-height:1.3}p{max-width: 70ch}.hero{padding:36px 0;max-width:740px}.hero p{max-width:650px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;margin:24px 0}.card h2:first-child{margin-top:0}label{display:block;font-weight:600;margin:18px 0 5px}input:not([type=checkbox]),textarea,select{font:inherit;padding:11px;border:1px solid #6e858c;border-radius:7px;width:100%;max-width:620px;background:white;color:var(--text)}textarea{min-height:130px}.check{font-weight:400;display:flex;align-items:flex-start;gap:10px;max-width:650px}.check input{margin-top:7px;width:19px;height:19px;flex-shrink:0}button,.button{display:inline-block;min-height:44px;font:inherit;font-weight:650;background:var(--accent);color:white;border:1px solid var(--accent);padding:10px 18px;border-radius:7px;cursor:pointer;text-decoration:none;margin-top:16px}.secondary{background:white;color:var(--accent)}:focus-visible{outline:3px solid #a45a1c;outline-offset:4px}.error{color:#9c2525}.validation-summary-valid{display:none}.columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.policies{white-space:pre-wrap}.status{font-weight:700;color:var(--accent)}footer{color:var(--muted);font-size:14px;border-top:1px solid var(--line);margin-top:40px}@media(max-width:650px){header{align-items:flex-start;flex-direction:column}header,main,footer{padding:18px}.columns{grid-template-columns:1fr}.card{padding:20px}h1{letter-spacing:-1px}nav{flex-wrap:wrap}}

h1,h2,h3,p,a,label{overflow-wrap:anywhere}.columns>*{min-width:0}
.owner-links{flex-wrap:wrap;margin-top:20px}nav a{display:inline-block;padding:8px 0;min-height:44px}table{border-collapse:collapse;font-size:14px}caption{text-align:left;font-weight:650;padding:12px 0}th,td{border:1px solid var(--line);padding:10px;white-space:nowrap;text-align:left}.calendar-scroll{overflow-x:auto;max-width:100%;margin:24px 0;background:var(--surface);border-radius:7px}.night-booked,.night-blocked{background:#dce9e5}.night-turnover{background:#f5e4cf}.night-closed{background:#eee;color:var(--muted)}
.bot-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.widget main,.widget footer{max-width:760px;padding:18px}.widget h1{font-size:clamp(28px,6vw,42px);letter-spacing:-.7px}.widget footer{margin-top:24px}.install-snippet{width:100%;max-width:100%;font-family:ui-monospace,monospace;min-height:190px}.widget iframe{width:100%}.installation-preview{width:100%;border:1px solid var(--line)}

.ecosystem h2{font-size:18px}.ecosystem ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.price{font-size:24px;color:var(--accent);font-weight:700}.plan-cards .card{margin-top:0}.plan-cards{margin-top:28px}.plan-cards a{max-width:100%}li{margin-bottom:14px}header nav{flex-wrap:wrap}nav{gap:18px}.hero{padding-top:36px}@media(max-width:1000px){header{flex-wrap:wrap}.plan-cards{grid-template-columns:1fr}}

[hidden]{display:none!important}.availability-calendar{margin:22px 0}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-controls button{margin-top:0}.availability-month{width:100%;table-layout:fixed;font-size:13px}.availability-month td,.availability-month th{padding:1px;white-space:normal;text-align:center}.availability-month button{margin:0;padding:3px;width:100%;min-height:44px;font-size:12px;border:0;background:transparent;color:var(--accent)}.available-night{background:#e2f1e9}.unavailable-night{background:#f0eded;color:#625b5b}.calendar-legend{font-size:13px}.availability-month caption{font-size:16px}fieldset{min-width:0;border:1px solid var(--line);border-radius:7px;padding:14px}button:disabled{opacity:.5;cursor:default}
.availability-month .selected-night{box-shadow:inset 0 -4px 0 var(--accent);background:#d2e8ec}.availability-month .range-start,.availability-month .range-end{outline:2px solid var(--accent);outline-offset:-2px;font-weight:750}.availability-month [data-range-badge]{display:block;font-size:11px;line-height:1.2}.availability-month [data-range-badge]:empty{display:none}

/* Compact embedded requests; the iframe scrolls instead of expanding the host page. */
.widget{font-size:16px;line-height:1.4}.widget main,.widget footer{max-width:620px;padding:12px}.widget h1{font-size:26px;margin:6px 0 10px;letter-spacing:-.4px}.widget h2{font-size:18px;margin:12px 0 6px}.widget p{margin:8px 0}.widget .eyebrow{margin:0;font-size:11px}.widget .card{padding:12px;margin:12px 0;border-radius:10px}.widget label{margin:10px 0 4px}.widget input:not([type=checkbox]),.widget select{padding:7px;min-height:44px;min-width:0}.widget button,.widget .button{margin-top:10px;padding:8px 12px}.widget footer{margin-top:12px;font-size:13px}.widget .availability-calendar{margin:12px 0}.widget .calendar-controls button{margin-top:0}.widget .calendar-legend{font-size:12px}.widget .availability-month caption{padding:6px 0}.widget .availability-month button{margin:0;padding:2px;min-height:44px}.widget .check{font-size:14px}.widget .check input{margin-top:3px}.widget details{margin:10px 0;font-size:14px}.widget summary{cursor:pointer;padding:8px 0;min-height:44px;font-weight:600}
.stay-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stay-fields>div{min-width:0}.stay-fields>div:last-child{grid-column:1/-1}.widget .stay-fields input{padding:4px;width:100%;max-width:100%;font-size:16px}.widget .stay-fields label{font-size:14px}
@media(min-width:520px){.stay-fields{grid-template-columns:1fr 1fr .7fr}.stay-fields>div:last-child{grid-column:auto}}
@media(max-width:340px){.widget main,.widget footer{padding:8px}.widget .card{padding:8px}}
