:root{--ink:#2963ad;--muted:#60738d;--sand:#eef5fd;--gold:#2963ad;--line:#d5e2f3;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fcfdff;color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:14px 23px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;border-radius:3px;font-size:14px;line-height:1.4}button:hover,.button:hover{background:#1d4f90;text-decoration:none}.light{background:#fff;color:var(--ink);border-color:#fff}.light:hover{background:var(--sand);color:var(--ink)}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.14;margin:0 0 24px}h1{font-size:clamp(40px,5.6vw,76px);letter-spacing:-2px}h2{font-size:clamp(32px,3.5vw,48px);letter-spacing:-1.2px}h3{font-size:26px;margin-bottom:16px}p{margin:0 0 24px}small{font-size:13px}.eyebrow{display:block;font-size:11px;letter-spacing:2px;font-weight:bold;margin-bottom:20px}.topbar{display:flex;justify-content:space-between;padding:8px 5%;background:var(--ink);color:#fff;font-size:11px;letter-spacing:1px}header{position:sticky;top:0;background:#fcfdff;z-index:20;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e1eaf6}.brand img{width:170px;max-height:62px;object-fit:contain}header nav{display:flex;gap:22px;align-items:center;font-size:12px}nav a[aria-current]{color:var(--gold)}.menu-toggle{display:none}.hero{height:min(700px,75vw);min-height:530px;position:relative;color:white;overflow:hidden}.hero-image{width:100%;height:100%;position:absolute;inset:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,43,89,.85),rgba(41,99,173,.14))}.hero-content{position:relative;z-index:1;padding:90px 8% 70px;max-width:900px}.hero-content h1{max-width:690px}.hero-content p{max-width:440px;font-size:18px}.hero-foot{position:absolute;bottom:35px;right:6%;z-index:1;font-size:10px;letter-spacing:2px}.bookingbar{position:relative;z-index:2;margin:-25px auto 0;max-width:1060px;background:white;box-shadow:0 10px 45px #2963ad10;display:grid;grid-template-columns:1fr 1fr .7fr 1.4fr;gap:25px;align-items:end;padding:25px 30px}.bookingbar label{margin:0}.bookingbar input,.bookingbar select{border:0;border-bottom:1px solid var(--line);padding:8px 0}.bookingbar button{height:53px}.section{max-width:1280px;margin:auto;padding:100px 6%}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.intro p{color:var(--muted)}figure{margin:0}figure img{width:100%;height:460px}figcaption{font-size:12px;padding:12px 0;color:var(--muted)}.textlink{display:inline-block;font-size:13px;font-weight:bold;border-bottom:1px solid #2963ad;padding-bottom:5px}.benefits{padding:28px 8%;display:flex;justify-content:space-between;border-block:1px solid var(--line);font-size:13px;color:var(--muted)}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:36px}.sectionhead h2{margin:0}.rooms{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.room{border-bottom:1px solid var(--line)}.room>a img{width:100%;height:300px;transition:filter .2s}.room>a img:hover{filter:brightness(1.08)}.roomtext{padding:26px 0 30px}.roomtext p{font-size:14px;color:var(--muted);white-space:normal}.roomtext .eyebrow{margin-bottom:10px}.breakfast{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.breakfast>img{width:100%;height:540px}.breakfast>div{padding:75px 12%;align-self:center}.breakfast p{color:#e1edfc}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery a{position:relative;overflow:hidden}.gallery img{width:100%;height:260px;transition:transform .3s}.gallery a:hover img{transform:scale(1.03)}.gallery span{position:absolute;bottom:10px;left:12px;background:#2963add9;padding:4px 10px;color:white;font-size:10px;letter-spacing:1px}.finalcta{text-align:center;background:#e6f0fc;padding:75px 20px}.finalcta h2{margin-bottom:28px}footer{padding:55px 6%;display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:30px;font-size:13px}footer strong{font:30px Georgia}footer span{font-size:11px;letter-spacing:2px}footer p{margin-top:18px;color:var(--muted)}.whatsapp{position:fixed;bottom:20px;right:20px;background:#2963ad;color:white;border:1px solid #ffffff99;padding:12px 20px;border-radius:40px;z-index:21;font-size:13px;box-shadow:0 3px 15px #0002}.pagehead{background:var(--sand);padding:70px 8%}.pagehead h1{font-size:60px}.pagehead p{margin:0;color:var(--muted)}.inner{padding-top:65px}.roomdetail{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;margin-bottom:70px}.roomdetail>img{width:100%;height:370px}.roomdetail p{color:var(--muted)}.roomdetail:nth-child(even)>img{order:2}.narrow{max-width:760px;margin:0 auto 45px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filters button{background:transparent;color:var(--ink);border-color:var(--line)}.filters button[aria-pressed=true]{background:var(--ink);color:white}[hidden]{display:none!important}.rates{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0 65px}.rates article{padding:25px;background:var(--sand)}.rates strong{font:28px Georgia;display:block;margin:15px 0}.rates p{font-size:13px}.rates h3{font-size:22px}.callout{background:var(--sand);padding:50px;margin-top:40px}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.contact-layout aside{overflow-wrap:anywhere}.public-form{background:var(--sand);padding:30px}label{display:block;font-size:13px;margin-bottom:20px;font-weight:600}input,select,textarea{display:block;width:100%;border:1px solid #cad9ed;background:#fff;color:var(--ink);border-radius:3px;padding:12px;margin-top:6px;min-width:0}textarea{resize:vertical;font-weight:400}input:focus,textarea:focus,select:focus{outline:2px solid #2963ad;outline-offset:2px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;flex-wrap:wrap}.checkbox input{width:18px;flex:none}.checkbox a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.notice{padding:20px;background:#e6efdf;border:1px solid #cbd8bc;margin-bottom:25px}.notice.error{background:#f9e5df;border-color:#e3b5aa}dialog{border:0;padding:20px;background:#fcfdff;max-width:95vw;max-height:95vh}dialog::backdrop{background:#102d55e8}dialog img{max-width:85vw;max-height:75vh;object-fit:contain}dialog button{position:absolute;right:20px;top:20px}dialog p{margin:12px 0 0;font-size:13px}.login{max-width:510px;margin:8vh auto;padding:30px}.login h1{font-size:44px}.login form button{width:100%}.admin{background:#f0f5fc}.sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:var(--ink);color:white;padding:35px 24px;overflow:auto}.adminbrand{font:26px Georgia;display:block;margin-bottom:40px}.adminbrand span{display:block;font:9px Arial;letter-spacing:3px;margin-top:10px}.sidebar nav{display:flex;flex-direction:column;gap:8px;margin-bottom:35px}.sidebar nav a{padding:11px;font-size:13px}.sidebar nav a[aria-current]{background:#ffffff15;color:#cce4ff}.sidebar form{margin-top:15px}.sidebar button{border-color:#ffffff55}.adminmain{margin-left:245px;padding:55px 5%;max-width:1600px}.adminmain h1{font-size:44px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stats a{padding:25px;background:white;border:1px solid var(--line);font-size:12px}.stats strong{display:block;font:42px Georgia;margin-bottom:15px}.panel{background:white;border:1px solid var(--line);padding:30px;margin:25px 0}.panel h2{font-size:28px}.panel summary{cursor:pointer;font-weight:bold}.panel form{margin-top:22px}.records{display:grid;gap:15px;margin-top:25px}.record{display:flex;gap:25px;align-items:center;background:#fff;border:1px solid var(--line);padding:20px}.record img{width:150px;height:100px}.record>div{flex:1;min-width:0}.record h3{font-size:22px;margin:5px 0 12px}.record small{color:var(--muted)}.danger{background:#fff;color:#a64538;border-color:#d6bab4;padding:8px 12px;font-size:12px}.danger:hover{background:#fae8e3}.inline{display:flex;gap:15px;align-items:end}.inline label{margin:0;flex:1}
@media(min-width:1600px){.hero-content{margin-left:calc((100vw - 1500px)/2)}}
@media(max-width:1100px){header nav{gap:12px;font-size:11px}.brand img{width:135px}header .button{padding:12px}.intro{gap:40px}.rates{grid-template-columns:repeat(2,1fr)}.contact-layout{gap:35px}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){header{padding:16px 6%}.menu-toggle{display:block;font-size:12px;padding:10px 16px}header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fcfdff;padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;font-size:14px}header nav.open{display:flex}header nav a{padding:10px}.hero{min-height:520px}.hero-content{padding:75px 7%}.hero-content h1{max-width:500px}.hero-foot{font-size:8px}.bookingbar{margin:0;grid-template-columns:1fr 1fr;gap:18px;padding:22px}.intro,.contact-layout,.roomdetail,.breakfast{grid-template-columns:1fr;gap:35px}.section{padding:65px 6%}.intro figure img{height:320px}.benefits{flex-wrap:wrap;gap:15px}.rooms{gap:25px}.room>a img{height:230px}.breakfast>img{height:360px}.breakfast>div{padding:20px 7% 50px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:220px}.sectionhead{align-items:start;flex-direction:column}.roomdetail:nth-child(even)>img{order:0}.roomdetail>img{height:300px}.pagehead h1{font-size:45px}.pagehead{padding:50px 7%}footer{grid-template-columns:1fr 1fr}.sidebar{position:static;width:100%;padding:20px}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:4px;margin:10px 0}.sidebar nav a{font-size:12px;padding:8px}.adminbrand{margin:0}.sidebar form{display:inline-block;margin:0 20px}.adminmain{margin:0;padding:35px 5%}.record img{width:100px;height:80px}.record{gap:15px}.adminmain h1{font-size:38px}}
@media(max-width:480px){.topbar{font-size:9px;letter-spacing:0}.hero-content h1{font-size:46px}.hero-content p{font-size:16px}.hero-foot{left:7%;right:auto}.rooms,.gallery,.rates,footer,.formgrid{grid-template-columns:1fr}.gallery img{height:280px}.room>a img{height:260px}.public-form{padding:22px}.record{flex-wrap:wrap}.record>div{min-width:150px}.bookingbar button{padding:10px}.bookingbar label{font-size:11px}.panel{padding:20px}.stats{gap:10px}.stats a{padding:18px}.whatsapp{font-size:11px;padding:10px 15px}.login{margin-top:25px}.login h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
