:root{--ink:#064f8c;--cream:#fff4d6;--sand:#ffd36d;--terracotta:#f14c32;--white:#fffdf8;--line:#f0a94b;--sun:#ffd11a;--night:#063c68;--shadow:0 18px 42px #063c6824}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 "DM Sans",Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",Georgia,serif;line-height:1.08}h1{font-size:clamp(2.8rem,6vw,5.4rem);max-width:740px}h2{font-size:clamp(2.1rem,4vw,3.5rem)}a{color:inherit}.site-header{height:78px;padding:0 clamp(1.25rem,5vw,5.5rem);display:flex;align-items:center;justify-content:space-between;background:#fff8e7ed;backdrop-filter:blur(12px);position:sticky;top:0;z-index:2;border-bottom:3px solid var(--sun)}.brand{font:700 1.5rem "Playfair Display",serif;text-decoration:none}.brand span{color:var(--terracotta)}nav{display:flex;gap:2rem}nav a{text-decoration:none;font-size:1rem}.button{display:inline-block;background:var(--terracotta);color:white;border:1px solid var(--terracotta);padding:.9rem 1.35rem;border-radius:2px;text-decoration:none;font:600 .85rem "DM Sans",sans-serif;letter-spacing:.02em;cursor:pointer;box-shadow:5px 5px 0 var(--sun);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.button:hover{background:var(--ink);border-color:var(--ink);box-shadow:3px 3px 0 var(--terracotta);transform:translate(2px,2px)}.button-small{padding:.6rem .9rem;font-size:.75rem}.hero{min-height:650px;display:grid;grid-template-columns:1.02fr .98fr;background:var(--sand)}.hero-copy{padding:clamp(4rem,9vw,10rem) clamp(1.25rem,7vw,8rem);align-self:center}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;color:var(--terracotta)}.intro{font-size:1.15rem;max-width:500px;margin-bottom:2rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.hero-details{margin:0;font-size:.78rem;font-weight:700;color:var(--night)}.photo-placeholder{background:linear-gradient(145deg,#14a8d4,#064f8c);min-height:280px;background-size:cover;background-position:center;box-shadow:inset 24px 0 44px #063c6830}.section{padding:clamp(4.5rem,9vw,8rem) clamp(1.25rem,9vw,11rem)}.section-heading{max-width:720px}.section-heading>p:not(.eyebrow){font-size:1.08rem}.compact{margin-bottom:2rem}.highlights{padding:0;margin:3rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;list-style:none}.highlights li{padding:1.4rem 1.2rem;background:var(--white);border-top:4px solid var(--sun);box-shadow:0 8px 18px #063c6812;display:flex;flex-direction:column}.highlights strong{font-family:"Playfair Display",Georgia,serif;font-size:1.15rem;line-height:1.2}.highlights span{font-size:.9rem;opacity:.7;margin-top:.35rem}.gallery{background:var(--white)}.gallery-heading{margin-bottom:2.5rem}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.gallery-item{min-height:220px;grid-column:span 3;background-size:cover;background-position:center;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}.gallery-item:first-child{grid-column:span 6;min-height:390px}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 24px 46px #063c6833}.gallery-item::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#063c68bd)}.gallery-item span{position:absolute;z-index:1;bottom:14px;left:14px;color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.04em}.text-link{display:inline-flex;margin-top:2rem;color:var(--terracotta);font-size:.86rem;font-weight:700;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:.2rem}.text-link:hover{color:var(--ink)}.text-link span{margin-left:.45rem}.practical{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;background:#fff0c7}.info-list{border-top:2px solid var(--line)}.info-list article{padding:1.5rem 0;border-bottom:2px solid var(--line)}.info-list h3{margin:0 0 .35rem;font-size:1.1rem}.info-list p{margin:0 0 1rem;opacity:.75}.booking{padding:clamp(4.5rem,9vw,8rem) clamp(1.25rem,9vw,11rem);background:var(--night);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.booking .eyebrow{color:var(--sun)}.booking-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.booking-form label{font-size:.78rem;font-weight:700;letter-spacing:.04em}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;padding:.7rem;margin-top:.35rem;border:2px solid var(--sun);background:#fff;color:var(--night);font:1rem "DM Sans",sans-serif}.full,.form-note{grid-column:1/-1}.form-note{margin:0;font-size:.82rem;color:#b7e7f1}.booking .button{justify-self:start;background:var(--sun);border-color:var(--sun);color:var(--night);box-shadow:4px 4px 0 var(--terracotta)}footer{padding:2rem clamp(1.25rem,5vw,5.5rem);display:flex;justify-content:space-between;align-items:center;background:var(--terracotta);color:white;font-size:.82rem}footer p{margin:0}@media(max-width:760px){nav{display:none}.site-header .button-small{display:none}.hero,.practical,.booking{grid-template-columns:1fr}.hero{min-height:auto}.hero-copy{padding-top:5rem;padding-bottom:4rem}.hero-photo{min-height:370px;order:-1;box-shadow:none}.highlights{grid-template-columns:repeat(2,1fr);gap:.7rem}.highlights li{padding:1.1rem .9rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:9px}.gallery-item,.gallery-item:first-child{grid-column:span 1;min-height:190px}.gallery-item:first-child{grid-column:span 2;min-height:270px}.booking{gap:2rem}.booking-form{grid-template-columns:1fr}footer{display:block}footer p{margin-top:1rem}}@media(max-width:420px){.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.gallery-item,.gallery-item:first-child{min-height:160px}.gallery-item:first-child{min-height:230px}}
