@charset "UTF-8";
:root{--ink:#173f3c;--paper:#f6f2e9;--muted:#6c7770;--line:#dddcd0;--accent:#bc653f;--white:#fffefa;--serif:Georgia,'Times New Roman',serif;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}a{text-underline-offset:4px}img{display:block;max-width:100%}[hidden]{display:none!important}.wrap{max-width:1240px;margin:auto;padding:0 44px}.preview-bar{background:#e8decb;color:#574b36;font-size:11px;text-align:center;line-height:1.6;padding:9px 18px;letter-spacing:.03em}.preview-bar span{padding:0 8px}.site-header{height:114px;display:flex;align-items:center;justify-content:space-between}.brand{display:block;text-decoration:none;letter-spacing:.16em;font-size:19px;font-weight:500}.site-header .brand{display:flex;align-items:center;gap:12px}.brand b{font-weight:500}.brand small{display:block;font-size:9px;letter-spacing:.25em;margin-top:7px}.brand-icon{font-family:var(--serif);font-size:48px;font-style:italic;letter-spacing:-.18em;line-height:1;width:46px;transform:rotate(-7deg)}nav{display:flex;gap:30px;align-items:center}nav>a{font-size:13px;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--ink);color:var(--white);padding:19px 23px;border:1px solid var(--ink);border-radius:5px;text-decoration:none;font-size:13px;font-weight:500;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#285650;transform:translateY(-1px)}.button span{font-size:20px;line-height:.8}.button-small{padding:13px 17px}.button:disabled{background:#7b8d86;border-color:#7b8d86;transform:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding-top:22px;padding-bottom:65px}.hero-copy{padding:4px 0 32px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.2em;line-height:1.7}.tiny-sun{font-size:22px;vertical-align:middle;margin-right:8px;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(50px,5.6vw,78px);font-weight:400;letter-spacing:-.065em;line-height:1.09;margin:26px 0}em{font-weight:400;color:#698679}h1 em{letter-spacing:-.07em}.intro{color:#68756c;font-size:15px;line-height:1.9;margin-bottom:29px}.hero-caption{display:flex;align-items:center;gap:12px;margin-top:44px;color:var(--muted);font-size:11px}.line{width:31px;height:1px;background:#8e9a87}.hero-art{position:relative;max-width:540px;width:100%;justify-self:end}.hero-art img{width:100%;height:500px;object-fit:cover;border-radius:160px 160px 8px 8px}.art-label{position:absolute;bottom:14px;left:16px;right:16px;font-size:9px;color:#fff;background:#173f3ca8;padding:8px 12px;border-radius:3px;width:fit-content;line-height:1.5}.art-stamp{position:absolute;top:43%;right:-16px;transform:rotate(7deg);background:#f6edda;border:1px solid #d8cdb5;box-shadow:0 4px 20px #173f3c12;width:117px;height:140px;padding:20px 17px}.art-stamp span{font-size:9px;letter-spacing:.18em}.art-stamp b{display:block;font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.15;margin-top:10px}.art-stamp small{font-size:8px}.island-strip{border-block:1px solid var(--line);background:#efeee3}.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;font-size:10px;letter-spacing:.14em}.strip-inner>span:nth-child(even){font-size:23px;color:#799486}.stay-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:93px;padding-bottom:95px}h2{font-family:var(--serif);font-size:45px;line-height:1.15;font-weight:400;letter-spacing:-.045em;margin-bottom:24px}.stay-copy{padding-top:15px;font-size:14px;line-height:1.9}.muted{color:var(--muted);font-size:13px}.detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.detail-tags span{border:1px solid #cbd2c4;padding:7px 11px;border-radius:30px;font-size:11px}.booking-section{padding:75px 0 85px;background:#e9eee6}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:21px}.section-heading>p{font-size:13px;line-height:1.8;color:var(--muted)}.section-heading h2{font-size:50px;margin-bottom:10px}.booking-layout{display:grid;grid-template-columns:1.35fr 1fr;align-items:start;gap:27px}.calendar-card,.quote-card{background:var(--white);border:1px solid #dce1d6;border-radius:9px;padding:30px}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.calendar-top .eyebrow{font-size:9px;color:var(--muted)}.calendar-top h3{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.02em;margin:8px 0 0}.calendar-nav{display:flex;gap:8px}.calendar-nav button{border:1px solid #d7ddce;border-radius:50%;background:transparent;color:var(--ink);width:35px;height:35px}.calendar-nav button:disabled{opacity:.3}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekdays{margin-bottom:11px;font-size:11px;text-align:center;color:#7c8478}.calendar-day{position:relative;min-height:58px;border:1px solid transparent;background:#f4f5ee;color:var(--ink);border-radius:4px;font-size:13px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.calendar-day small{font-size:8px;color:#788172}.calendar-day:hover:enabled{border-color:#749686;background:#e5ede2}.calendar-day.unavailable{background:#f0eeea;color:#a8aaa0;text-decoration:line-through}.calendar-day.unavailable small{text-decoration:none}.calendar-day.past{background:transparent;color:#c1c5b9}.calendar-day.in-range{background:#e1eadd}.calendar-day.selected{background:var(--ink);color:white}.calendar-day.selected small{color:#d6e1d3}.calendar-day.departure-possible{background:repeating-linear-gradient(135deg,#f0eeea,#f0eeea 4px,#e3e9dd 4px,#e3e9dd 8px);text-decoration:none;color:var(--ink)}.calendar-day.today:after{content:'';width:4px;height:4px;position:absolute;bottom:4px;border-radius:50%;background:currentColor}.calendar-legend{display:flex;flex-wrap:wrap;gap:17px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-size:10px;color:var(--muted)}.calendar-legend>span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:2px}.dot.available{background:#dce6d5}.dot.occupied{background:#bfc0b4}.dot.selected{background:var(--ink)}.calendar-message{font-size:11px;line-height:1.7;margin:17px 0 0;color:var(--muted);min-height:19px}.quote-card{padding:30px}.quote-card>.eyebrow{color:var(--accent);font-size:9px}.quote-card h3{font-family:var(--serif);font-size:27px;letter-spacing:-.02em;font-weight:400;margin:13px 0 25px}label{display:block;font-size:11px;line-height:1.6;font-weight:600}input,select{display:block;min-width:0;width:100%;padding:12px 10px;border:1px solid #d6dccc;border-radius:4px;background:var(--white);color:var(--ink);margin:6px 0 15px;font-size:13px;min-height:43px}.date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-note{color:var(--muted);font-size:10px;line-height:1.6;margin-top:-8px}.quote-content{margin:23px 0;padding-top:18px;border-top:1px solid var(--line);font-size:12px;line-height:1.7}.quote-content>p{color:var(--muted)}.quote-row{display:flex;justify-content:space-between;gap:15px;margin-bottom:9px}.quote-row.total{font-size:16px;font-weight:bold;border-top:1px solid var(--line);padding-top:13px;margin-top:14px}.quote-row.deposit{color:var(--accent)}.full-width{width:100%;justify-content:space-between}.quote-footnote,.booking-message{font-size:11px;line-height:1.7;margin:17px 0 0;color:var(--muted)}.booking-message.error{color:#a33f2a}.quote-card hr{border:0;border-top:1px solid var(--line);margin:24px 0}.quote-card h4{font-weight:500;font-size:15px}.checkbox-label{display:flex;align-items:flex-start;gap:8px;font-weight:400;margin:17px 0}.checkbox-label input{width:15px;min-height:15px;margin:3px 0;flex-shrink:0;accent-color:var(--ink)}.status-notice{background:var(--white);border:1px solid #90ab91;padding:20px;border-radius:6px;line-height:1.7;margin-bottom:22px;font-size:14px}.island-section{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:60px;padding-block:100px}.island-mark{font-size:170px;text-align:center;color:#c78652;line-height:1;background:#eee7d6;border-radius:50%;width:260px;height:260px;display:grid;place-items:center;justify-self:center}.island-section p:last-child{font-size:14px;line-height:1.9;color:var(--muted);max-width:440px}.site-footer{padding:45px 0;background:var(--ink);color:#f3f1df}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner p{font-family:var(--serif);font-style:italic;font-size:20px;margin:0}.footer-inner>div{display:flex;flex-direction:column;gap:12px;font-size:10px;color:#bdcbbf}.admin-main{max-width:1000px;margin:40px auto 90px;padding:0 30px}.admin-main h1{font-size:44px}.admin-panel{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:27px;margin:22px 0}.admin-panel h2{font-size:29px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.admin-main .button{margin-top:10px}.admin-table-wrap{overflow:auto}.admin-main table{border-collapse:collapse;width:100%;font-size:12px}.admin-main th,.admin-main td{text-align:left;border-bottom:1px solid var(--line);padding:13px 10px;vertical-align:top;line-height:1.6}.admin-main th{font-size:10px;color:var(--muted)}.admin-main td small{display:block;color:var(--muted)}.admin-message{line-height:1.7;font-size:13px}.legal-main{max-width:780px;padding:40px 25px 90px;margin:auto;line-height:1.9}.legal-main h1{font-size:43px}.legal-main h2{font-size:27px;margin-top:32px}.legal-main p,.legal-main li{font-size:14px}
@media(min-width:1450px){.hero-art img{height:545px}.hero{padding-bottom:80px}}
@media(max-width:900px){.wrap{padding-inline:26px}.site-header{height:100px}nav{gap:18px}.hero{gap:24px}.hero-art img{height:425px}.art-stamp{right:-10px;width:90px;height:119px;padding:15px 12px}.art-stamp b{font-size:23px}.art-stamp small{font-size:7px}h1{font-size:60px}.intro{font-size:13px}.hero-copy>.button{font-size:11px;padding:17px}.stay-section{gap:35px}h2{font-size:36px}.booking-layout{gap:18px;grid-template-columns:1.1fr 1fr}.calendar-card,.quote-card{padding:21px}.calendar-day{min-height:49px}.calendar-day small{font-size:7px}.section-heading>p{max-width:260px}.island-section{gap:30px}.island-mark{width:220px;height:220px}.footer-inner p{display:none}}
@media(max-width:650px){.wrap{padding-inline:21px}.preview-bar{font-size:10px;padding:8px 14px}.preview-bar span{padding:0 4px}.site-header{height:88px}.brand{font-size:15px}.brand-icon{font-size:39px;width:36px}.brand small{font-size:7px}.site-header .brand{gap:8px}nav>a:not(.button){display:none}.button-small{font-size:10px;padding:10px;gap:10px}.hero{grid-template-columns:1fr;gap:20px;padding-top:15px;padding-bottom:35px}.hero-copy{padding-bottom:0}.eyebrow{font-size:9px}h1{font-size:61px;margin:20px 0}.intro{font-size:14px}.hero-caption{margin-top:27px}.hero-art{justify-self:center;max-width:480px}.hero-art img{height:365px;border-radius:120px 120px 6px 6px;object-position:center 44%}.art-stamp{right:-6px;top:30%}.art-label{font-size:8px;left:12px;bottom:12px}.strip-inner{font-size:8px;min-height:55px;gap:10px;letter-spacing:.06em}.strip-inner>span:nth-child(n+4){display:none}.stay-section{grid-template-columns:1fr;gap:0;padding-block:55px}.stay-section h2{font-size:36px;margin-bottom:10px}.stay-copy{font-size:13px}.booking-section{padding-block:49px}.section-heading{display:block;margin-bottom:24px}.section-heading h2{font-size:44px;margin-bottom:15px}.section-heading>p{max-width:none;font-size:12px}.booking-layout{grid-template-columns:1fr;gap:20px}.calendar-card,.quote-card{padding:21px}.calendar-day{min-height:53px}.calendar-day small{font-size:8px}.calendar-legend{gap:13px;font-size:9px}.island-section{grid-template-columns:1fr;gap:30px;padding-block:60px}.island-mark{width:150px;height:150px;font-size:110px;justify-self:start}.island-section h2{font-size:37px}.footer-inner{align-items:start}.footer-inner>div{font-size:9px}.admin-main{padding-inline:18px}.admin-grid{grid-template-columns:1fr}.admin-main h1{font-size:36px}.admin-panel{padding:18px}.calendar-top h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
