:root{--aqua:#16b8c7;--aqua-dark:#079cac;--ink:#07171b;--paper:#f6f8f7;--muted:#617174;--line:#dbe5e6;--radius:26px;--shadow:0 18px 55px rgba(5,27,32,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}a{color:inherit}.site-header{position:absolute;z-index:3;display:flex;justify-content:space-between;align-items:center;inset:0 0 auto;padding:18px max(22px,calc((100% - 1160px)/2))}.brand{width:64px;height:64px;overflow:hidden;border:2px solid #fff;border-radius:18px;background:#000;box-shadow:0 10px 30px #0005}.brand img{width:100%;height:100%;object-fit:cover}.header-link{padding:10px 15px;border:1px solid #fff5;border-radius:999px;background:#0005;color:#fff;font-size:.82rem;font-weight:800;text-decoration:none}.hero{position:relative;display:grid;min-height:85svh;place-items:end center;overflow:hidden;color:#fff}.hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(180deg,#0001,#031115e8)}.hero-copy{position:relative;z-index:1;max-width:900px;padding:130px 22px 70px;text-align:center}.hero-copy p,.eyebrow{margin:0;color:#a9f4fa;font-size:.73rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.hero h1{margin:10px auto;font-size:clamp(3rem,12vw,6.7rem);line-height:.88;letter-spacing:-.07em;text-wrap:balance}.hero-copy span{display:block;max-width:550px;margin:18px auto;color:#fffd}.button{display:inline-block;margin-top:25px;border:0;border-radius:13px;padding:15px 22px;background:var(--aqua);color:#fff;font:inherit;font-weight:900;text-decoration:none;cursor:pointer}.button:hover{background:var(--aqua-dark)}.intro,.feature,.booking-section{width:min(calc(100% - 32px),1160px);margin:auto}.intro{padding:85px 0 36px}.intro>div{padding:clamp(28px,6vw,52px);border-radius:var(--radius);background:var(--ink);color:#fff;box-shadow:var(--shadow)}.intro h2,.feature h2,.booking-heading h2{margin:10px 0;font-size:clamp(2rem,7vw,4.2rem);line-height:.95;letter-spacing:-.055em}.intro p:last-child{max-width:650px;margin:0;color:#fffb}.feature{display:grid;gap:22px;padding:20px;margin-bottom:58px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.feature img{width:100%;height:340px;object-fit:cover;border-radius:20px}.feature>div{padding:5px}.feature p:not(.eyebrow){color:var(--muted)}.booking-section{padding:42px 0 75px}.booking-heading{max-width:710px;margin-bottom:24px}.booking-heading p:last-child{margin:0;color:var(--muted)}.booking-card{max-width:760px;padding:clamp(24px,5vw,44px);border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:19px}.field label{display:block;margin-bottom:7px;font-size:.88rem;font-weight:800}.field input,.field select,.login-card input{width:100%;min-height:50px;padding:10px 13px;border:1px solid #bfd0d3;border-radius:11px;background:#fff;color:var(--ink);font:inherit}.field input:focus,.field select:focus,.login-card input:focus{outline:3px solid #16b8c744;border-color:var(--aqua-dark)}.booking-card h3{margin:29px 0 18px;padding-top:24px;border-top:1px solid var(--line);font-size:1.12rem}.submit{width:100%;margin-top:6px}.notice{margin-bottom:22px;padding:15px 17px;border:1px solid;border-radius:13px}.notice ul{margin:8px 0 0;padding-left:20px}.success{border-color:#9ce3d4;background:#effdf9;color:#075b55}.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}footer{padding:42px;text-align:center;background:var(--ink);color:#fff}footer a{display:block;margin-top:10px;color:#a9f4fa;font-size:.8rem}.admin-login{display:grid;min-height:100vh;place-items:center}.login-card{display:grid;gap:16px;width:min(100% - 32px,400px);padding:35px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.login-card img{width:74px;height:74px;border-radius:18px}.login-card h1{margin:0;line-height:1}.login-card label{font-weight:800}.login-card a{text-align:center}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px max(22px,calc((100% - 1100px)/2));background:var(--ink);color:#fff}.admin-header h1{margin:0}.text-button{border:0;background:none;color:#a9f4fa;font:inherit;font-weight:800;cursor:pointer}.admin-main{width:min(calc(100% - 32px),1100px);margin:35px auto}.admin-summary{color:var(--muted)}.booking-list{display:grid;gap:13px}.booking-row{display:flex;justify-content:space-between;gap:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.booking-row h2{margin:7px 0 2px;font-size:1.1rem}.booking-row p{margin:3px 0;color:var(--muted)}.status{display:inline-block;padding:4px 9px;border-radius:999px;background:#eee;font-size:.72rem;font-weight:900;text-transform:uppercase}.status.pending{background:#fff4db;color:#8a5600}.status.confirmed{background:#e6faf5;color:#075b55}.status.cancelled{background:#feecec;color:#991b1b}.admin-actions{display:flex;align-items:center;gap:8px}.admin-actions button{border:0;border-radius:9px;padding:10px 12px;color:#fff;font:inherit;font-weight:800;cursor:pointer}.confirm{background:#079cac}.cancel{background:#ba2a2a}@media(min-width:700px){.feature{grid-template-columns:1.1fr .9fr;align-items:center;padding:20px;gap:30px}.feature img{height:470px}}@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:0}.booking-row{display:block}.admin-actions{margin-top:16px}}
