:root{color:#18211f;background:#fbfaf6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;--green: #155e43;--green-dark: #0d3d2d;--gold: #f2b84b;--ink: #18211f;--muted: #596760;--paper: #fffdf8;--line: #ddd8cb;--error: #9b1c1c;--success: #146c43}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit}button,input,select,textarea{font:inherit}.site-header{background:var(--green-dark);color:#fff;position:sticky;top:0;z-index:30}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 auto;max-width:1120px;padding:1rem}.brand{color:#fff;display:grid;gap:.1rem;text-decoration:none}.brand__name{font-size:1.05rem;font-weight:900;line-height:1.1}.desktop-navigation{display:none}.nav-link,.mobile-nav-link{border-radius:8px;color:#fff;font-weight:850;min-height:2.75rem;padding:.7rem .85rem;text-decoration:none}.nav-link.active,.mobile-nav-link.active{background:#ffffff24;outline:1px solid rgba(255,255,255,.34)}.header-actions{align-items:center;display:flex;gap:.6rem}.header-book{display:none;min-height:2.8rem;padding:.65rem .9rem}.nav-call{border:1px solid rgba(255,255,255,.6);border-radius:8px;color:#fff;font-weight:800;padding:.7rem .9rem;text-decoration:none}.menu-button{align-items:center;background:transparent;border:1px solid rgba(255,255,255,.55);border-radius:8px;cursor:pointer;display:inline-grid;gap:.22rem;height:2.8rem;justify-content:center;padding:0;width:2.8rem}.menu-button span{background:#fff;border-radius:999px;display:block;height:2px;width:1.15rem}.mobile-navigation{border-top:1px solid rgba(255,255,255,.14);display:grid;gap:.25rem;margin:0 auto;max-width:1120px;padding:0 1rem 1rem}.hero{background:linear-gradient(#0d3d2de6,#0d3d2dc7),url(https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=80) center / cover;color:#fff}.hero__content{margin:0 auto;max-width:1120px;padding:3.25rem 1rem 4.25rem}.eyebrow{color:var(--gold);font-size:.82rem;font-weight:900;letter-spacing:.08em;margin:0 0 .5rem;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.35rem,11vw,4.8rem);line-height:1.04;margin-bottom:1rem;max-width:720px}.page-section h1{color:var(--green-dark);font-size:clamp(2rem,8vw,3.4rem)}h2{color:var(--green-dark);font-size:clamp(1.8rem,7vw,3rem);line-height:1.1;margin-bottom:.75rem}h3{font-size:1.05rem;margin:0}.hero__text{color:#ffffffeb;font-size:1.15rem;max-width:680px}.button-row{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.button{align-items:center;border:0;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:900;justify-content:center;min-height:3.4rem;padding:.9rem 1.2rem;text-decoration:none}.button--primary{background:var(--gold);color:#1f2118}.button--secondary{background:#25d366;color:#0b2d1c}.button--light{background:#fff;color:var(--green-dark)}.button--submit{background:var(--green);color:#fff;width:100%}.button:disabled{cursor:wait;opacity:.75}.section{margin:0 auto;max-width:1120px;padding:3rem 1rem}.section__intro{max-width:700px}.section__intro p{color:var(--muted)}.content-grid,.split-section,.contact-details{display:grid;gap:1rem}.service-grid{display:grid;gap:.85rem;margin-top:1.5rem}.service-card{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:flex;gap:.8rem;padding:1rem}.service-card span{align-items:center;background:var(--green);border-radius:999px;color:#fff;display:inline-flex;flex:0 0 1.65rem;font-weight:900;height:1.65rem;justify-content:center;width:1.65rem}.booking-section{background:#f2efe6;max-width:none}.booking-section>*{margin-left:auto;margin-right:auto;max-width:1120px}.step-list{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:.65rem;margin:1rem auto;padding:1rem 1rem 1rem 2.2rem}.notice{border-radius:8px;font-weight:700;margin-top:1.25rem;padding:1rem}.notice--payment{background:#fff7df;border:1px solid #e7c56e;color:#443206}.notice--fare{background:#eef5f2;border:1px solid #b9d7ca;color:#173d30}.booking-form{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:1rem;margin-top:1rem;padding:1rem}.estimate-summary{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:1rem;margin:1rem auto 0;max-width:1120px;padding:1rem}.estimate-summary h2{font-size:1.5rem;margin-bottom:0}.detail-list{display:grid;gap:1rem}.detail-item{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:1rem}.detail-item h2,.detail-item h3{color:var(--green-dark);margin-bottom:.35rem}.detail-item h2{font-size:1.35rem}.detail-item p{color:var(--muted);margin-bottom:0}.cta-section{align-items:start;background:#f2efe6;display:grid;gap:1rem;max-width:none}.cta-section>*{margin-left:auto;margin-right:auto;max-width:1120px;width:min(100%,calc(100vw - 2rem))}.field{display:grid;gap:.4rem}.field span,.check-field{color:var(--ink);font-weight:800}input,select,textarea{background:#fff;border:1px solid #bdb7aa;border-radius:8px;color:var(--ink);min-height:3.1rem;padding:.85rem;width:100%}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:3px solid rgba(21,94,67,.18)}[aria-invalid=true]{border-color:var(--error)}.field-error{color:var(--error);font-weight:800}.check-field{align-items:center;background:#f7f5ee;border:1px solid var(--line);border-radius:8px;display:flex;gap:.75rem;min-height:3.2rem;padding:.75rem}.check-field input{min-height:auto;width:1.2rem}.form-status{border-radius:8px;font-weight:800;padding:1rem}.form-status--success{background:#e9f7ef;color:var(--success)}.form-status--error{background:#fff1f1;color:var(--error)}.form-status--loading{background:#eef5f2;color:var(--green-dark)}.contact{padding-bottom:3rem}.contact p{color:var(--muted);margin-bottom:.4rem}.site-footer{background:var(--green-dark);color:#fff;display:grid;gap:.35rem;padding:1.25rem 1rem 6rem;text-align:center}.footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}.footer-links a{color:#fff;font-weight:800;text-decoration:none}.site-footer p{margin:0}.site-footer strong,.site-footer span{display:block}.site-footer strong{font-size:1rem}.site-footer span,.site-footer p+p{color:#ffffffbd;font-size:.9rem}.mobile-action-bar{background:#fff;border-top:1px solid var(--line);bottom:0;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;left:0;padding:.6rem;position:fixed;right:0;z-index:20}.mobile-action-bar a{background:var(--green);border-radius:8px;color:#fff;font-weight:900;min-height:3rem;padding:.75rem;text-align:center;text-decoration:none}.mobile-action-bar a+a{background:#25d366;color:#0b2d1c}a:focus-visible,button:focus-visible{outline:3px solid rgba(242,184,75,.7);outline-offset:3px}.admin-shell{margin:0 auto;max-width:1120px;min-height:100vh;padding:1rem}.admin-shell--login{align-items:center;display:flex;justify-content:center}.admin-login{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:1rem;max-width:440px;padding:1.25rem;width:100%}.admin-login h1,.admin-header h1{color:var(--green-dark);font-size:2rem;margin-bottom:0}.admin-header{display:grid;gap:1rem;padding:1rem 0}.admin-actions,.admin-link-row{display:grid;gap:.75rem}.admin-toolbar{background:#f2efe6;border:1px solid var(--line);border-radius:8px;margin:.5rem 0 1rem;padding:1rem}.admin-message{background:#eef5f2;border:1px solid #b9d7ca;border-radius:8px;color:var(--green-dark);font-weight:800;padding:1rem}.booking-card-list{display:grid;gap:1rem}.admin-booking-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:1rem;padding:1rem}.admin-booking-card__header{display:grid;gap:.8rem}.admin-booking-card h2{font-size:1.5rem;margin-bottom:0}.booking-ref{color:var(--muted);font-size:.85rem;font-weight:900;margin-bottom:.25rem}.status-pill{background:#e7f0ec;border:1px solid #b9d7ca;border-radius:999px;color:var(--green-dark);display:inline-flex;font-size:.82rem;font-weight:900;justify-content:center;padding:.35rem .65rem;width:fit-content}.booking-details{display:grid;gap:.75rem;margin:0}.booking-details div{background:#f7f5ee;border:1px solid var(--line);border-radius:8px;padding:.8rem}.booking-details dt{color:var(--muted);font-size:.78rem;font-weight:900;margin-bottom:.2rem;text-transform:uppercase}.booking-details dd{margin:0;overflow-wrap:anywhere}.admin-edit-grid{display:grid;gap:1rem}.admin-edit-grid .check-field{align-self:end}@media(min-width:680px){.button-row{flex-direction:row;flex-wrap:wrap}.button{min-width:10rem}.service-grid,.split-section,.contact-details{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:1.35rem}.field--full,.form-status{grid-column:1 / -1}.admin-header{align-items:end;grid-template-columns:1fr auto}.admin-actions,.admin-link-row{align-items:center;display:flex;flex-wrap:wrap}.admin-booking-card__header{align-items:start;grid-template-columns:1fr auto}.booking-details,.admin-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-details__full,.admin-edit-grid__full{grid-column:1 / -1}}@media(min-width:920px){.desktop-navigation{align-items:center;display:flex;gap:.15rem}.menu-button,.mobile-navigation{display:none}.header-book{display:inline-flex}.hero__content{padding-bottom:6rem;padding-top:5rem}.service-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.services .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.contact{align-items:center;display:flex;justify-content:space-between}.mobile-action-bar{display:none}.site-footer{padding-bottom:1.25rem}}
