@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--navy:#071321;--navy2:#0d2134;--ink:#122638;--cream:#f7f4ec;--sand:#ede7db;--gold:#efb665;--white:#fff;--muted:#65717a;--line:rgba(255,255,255,.18)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:1rem;line-height:1.6}a{color:inherit}button{font:inherit}.container{width:min(100% - 3rem,1240px);margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--gold);padding:.65rem 1rem;z-index:100}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.035em;line-height:1.08}h1 em,h2 em{font-weight:500}h2{font-size:clamp(2.55rem,4.6vw,4.6rem)}.section-pad{padding:clamp(5rem,9vw,9rem) 0}.section-kicker,.eyebrow,.contact-label{font-size:.78rem;font-weight:700;letter-spacing:.2em;line-height:1.5}.section-kicker{color:#97601e;margin-bottom:1.4rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.4rem;text-decoration:none;font-weight:700;line-height:1.2;min-height:3.6rem;padding:1rem 1.7rem;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--navy);background:var(--gold)}.button-primary:hover{background:#ffd096}.button-outline{color:white;border-color:rgba(255,255,255,.48)}.button-outline:hover{background:white;color:var(--navy)}.button-small{min-height:2.8rem;padding:.7rem 1.1rem;font-size:.83rem}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;color:white;border-bottom:1px solid var(--line)}.header-inner{height:6.3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.55rem;color:#fff;text-decoration:none;min-width:max-content}.brand-mark{height:2.9rem;width:2.9rem;display:grid;place-items:center;color:var(--gold);border:1px solid rgba(239,182,101,.6);border-radius:50%}.brand-mark svg{height:2.6rem;width:2.6rem}.brand-type{display:block;font-size:1.12rem;font-weight:700;letter-spacing:.13em;line-height:1.08}.brand-type span,.footer-brand span{color:var(--gold)}.brand-type small{display:block;margin-top:.45rem;letter-spacing:.13em;font-size:.54rem;font-weight:600}.nav{display:flex;gap:2.2rem}.nav a{font-size:.9rem;font-weight:600;text-decoration:none;white-space:nowrap}.nav a:hover,.text-link:hover{color:var(--gold)}.menu-toggle,.mobile-nav{display:none}.hero{position:relative;min-height:800px;min-height:min(810px,100svh);background:var(--navy);color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0 0 0 32%;background:linear-gradient(110deg,#24374c,#071321);background-image:url('hero.webp');background-size:cover;background-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,25,.97) 0%,rgba(3,14,25,.83) 29%,rgba(3,14,25,.27) 67%,rgba(3,14,25,.31) 100%),linear-gradient(0deg,rgba(3,14,25,.65),transparent 35%)}.hero-inner{position:relative;z-index:2;min-height:800px;min-height:min(810px,100svh);padding-top:10rem;padding-bottom:7rem;display:flex;justify-content:space-between;align-items:center}.hero-copy{max-width:680px}.eyebrow{display:flex;align-items:center;gap:1rem;color:var(--gold);margin-bottom:1.8rem}.eyebrow-rule{height:1px;width:2rem;background:var(--gold)}h1{font-size:clamp(3.7rem,6.8vw,7.2rem);max-width:690px;margin-bottom:1.6rem}h1 em{color:var(--gold)}.hero-lead{max-width:540px;color:#e0e8ed;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.3rem}.text-link{color:#fff;text-decoration:none;font-weight:700;display:inline-flex;gap:1.1rem;align-items:center}.hero-note{align-self:flex-end;display:flex;align-items:center;gap:1rem;font-size:.65rem;font-weight:700;letter-spacing:.14em;line-height:1.5;color:#fff;border-left:1px solid rgba(255,255,255,.45);padding-left:1.2rem;white-space:nowrap}.note-number{font-family:Georgia,serif;font-size:3.6rem;font-weight:400;letter-spacing:-.05em;line-height:1;color:var(--gold)}.hero-locations{position:absolute;z-index:3;bottom:0;left:0;right:0;border-top:1px solid var(--line);background:rgba(5,16,27,.22)}.hero-locations .container{min-height:4.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#e0e7eb;font-size:.69rem;font-weight:700;letter-spacing:.18em}.hero-locations i{width:4px;height:4px;border-radius:50%;background:var(--gold);flex:0 0 auto}.intro-grid{display:grid;grid-template-columns:1.1fr .75fr;gap:9vw;align-items:end}.intro h2{max-width:700px;margin-bottom:0}.intro-copy p{font-size:1.17rem;line-height:1.75;color:#4b5964;margin-bottom:1.5rem}.under-link{display:inline-flex;gap:2rem;align-items:center;text-decoration:none;border-bottom:1px solid var(--ink);font-weight:700;padding-bottom:.45rem}.under-link:hover{color:#97601e;border-color:#97601e}.journeys{background:var(--navy);color:#fff}.journeys .section-kicker{color:var(--gold)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:4rem;margin-bottom:3.5rem}.section-heading h2{margin-bottom:0;max-width:700px}.section-heading>p{max-width:280px;color:#b9c5cd;margin-bottom:.3rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.17)}.service-card{min-height:290px;background:var(--navy);padding:2rem;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s}.service-card:hover{background:#10283d}.service-feature{grid-column:span 2;background:#112a40}.service-index{font-size:.7rem;letter-spacing:.16em;color:#a0b1bc}.service-icon{width:3rem;height:3rem;color:var(--gold)}.service-icon svg{width:100%;height:100%}.service-card h3{font-size:1.55rem;line-height:1.2;margin:1.5rem 0 .55rem}.service-card p{color:#bfcbd3;max-width:320px;margin:0}.area-section{background:#e9e3d8}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.area-grid h2{margin-bottom:1.7rem}.area-grid h2 em{color:#9a672f}.area-grid p:not(.section-kicker){max-width:530px;font-size:1.1rem;color:#4d5b65}.area-list{border-top:1px solid #c1b8aa}.area-list span{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 0;border-bottom:1px solid #c1b8aa;font:500 clamp(1.3rem,2vw,1.75rem) Georgia,serif}.area-list small{font:700 .7rem 'DM Sans',Arial,sans-serif;letter-spacing:.12em;color:#986c3d}.steps{background:var(--cream)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem;border-top:1px solid #c8cbd0;padding-top:2.3rem}.steps-grid>div{position:relative}.steps-grid span{font-size:.84rem;font-weight:700;letter-spacing:.1em;color:#97601e}.steps-grid h3{font:500 1.55rem Georgia,serif;margin:2.8rem 0 .8rem}.steps-grid p{color:#53616b;max-width:280px}.contact{background:var(--navy2);color:#fff;position:relative;overflow:hidden}.contact::before{content:'';position:absolute;inset:auto -10% -65% auto;width:75vw;height:75vw;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 7vw rgba(255,255,255,.018),0 0 0 14vw rgba(255,255,255,.014);pointer-events:none}.contact-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:8vw}.contact .section-kicker{color:var(--gold)}.contact h2{max-width:620px}.contact h2 em{color:var(--gold)}.contact-grid>div>p:not(.section-kicker){max-width:530px;color:#c0cbd2;font-size:1.06rem}.contact-panel{border:1px solid rgba(255,255,255,.2);padding:2.5rem;background:rgba(255,255,255,.035)}.contact-label{color:var(--gold);margin-bottom:2rem}.contact-actions>p{font-size:1.25rem;line-height:1.4;color:#eef0f2}.contact-link{display:block;font:500 clamp(1.2rem,2.2vw,1.7rem) Georgia,serif;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);padding:.8rem 0;overflow-wrap:anywhere}.contact-link:hover{color:var(--gold)}.contact-link span{display:block;color:var(--gold);font:700 .7rem 'DM Sans',Arial,sans-serif;letter-spacing:.2em;margin-bottom:.4rem}.contact-small{font-size:.8rem!important;color:#9db0bc!important;margin:2rem 0 0}.site-footer{background:#05101c;color:#a7b5bd}.footer-inner{min-height:7rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.78rem}.footer-brand{text-decoration:none;color:#fff;font-weight:700;letter-spacing:.13em;font-size:1rem}.footer-brand span{color:var(--gold)}
@media(max-width:1000px){.nav{gap:1rem}.header-cta{display:none}.hero-note{display:none}.hero-image{left:20%}.intro-grid,.area-grid{gap:5vw}}
@media(max-width:760px){.container{width:min(100% - 2.2rem,1240px)}.section-pad{padding:5rem 0}.site-header{background:rgba(5,16,28,.55)}.header-inner{height:4.8rem}.brand-mark{width:2.5rem;height:2.5rem}.brand-mark svg{width:2.25rem}.brand-type{font-size:.93rem}.brand-type small{font-size:.48rem}.nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:2.6rem;height:2.6rem;color:white;background:transparent;border:0;cursor:pointer}.menu-toggle span{width:1.5rem;height:2px;background:currentColor}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:1rem 1.1rem 1.5rem;background:#0a1b2a;border-top:1px solid var(--line)}.mobile-nav a{padding:.8rem .5rem;text-decoration:none;font-weight:600}.hero,.hero-inner{min-height:760px;min-height:min(760px,100svh)}.hero-inner{align-items:center;padding-top:7rem;padding-bottom:8rem}.hero-image{inset:0;background-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(3,14,25,.89),rgba(3,14,25,.45)),linear-gradient(0deg,rgba(3,14,25,.93),transparent 70%)}h1{font-size:clamp(3.4rem,12vw,5.7rem)}.hero-locations .container{flex-wrap:wrap;justify-content:center;gap:.55rem 1rem;padding:1rem 0;font-size:.58rem}.hero-locations i{width:2px;height:2px}.intro-grid,.area-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.intro-copy p{font-size:1.05rem}.section-heading{display:block}.section-heading>p{margin-top:1.5rem}.service-grid{grid-template-columns:repeat(2,1fr)}.service-feature{grid-column:span 2}.steps-grid{gap:1.5rem}.steps-grid h3{margin-top:1.8rem}.footer-inner{flex-wrap:wrap;justify-content:flex-start;min-height:auto;padding:2rem 0;gap:.6rem 1.5rem}}
@media(max-width:560px){.hero,.hero-inner{min-height:740px}.hero-image{background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(3,14,25,.94),rgba(3,14,25,.52)),linear-gradient(0deg,rgba(3,14,25,.94),transparent 72%)}.eyebrow{font-size:.65rem}.hero-lead{font-size:1.05rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.4rem}.hero-locations span:last-child,.hero-locations i:nth-last-child(2){display:none}.section-heading{margin-bottom:2.5rem}.service-grid{grid-template-columns:1fr}.service-feature{grid-column:span 1}.service-card{min-height:245px}.area-list span{padding:1rem 0}.steps-grid{grid-template-columns:1fr;gap:1.6rem}.steps-grid>div{border-bottom:1px solid #d5d4cf;padding-bottom:1.4rem}.steps-grid h3{margin:1rem 0 .5rem}.steps-grid p{margin:0}.contact-panel{padding:1.6rem}.footer-inner{display:block}.footer-inner>*{display:block;margin-bottom:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Online booking request and private status view */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.booking-grid{position:relative;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.booking-intro h2 em{color:var(--gold)}
.booking-intro>p:not(.section-kicker){color:#c0cbd2;font-size:1.06rem;max-width:480px}
.booking-intro .booking-note{margin-top:2rem;padding-left:1.1rem;border-left:2px solid var(--gold);color:#ecdfc9!important;font-size:.94rem!important}
.booking-panel{min-width:0;padding:clamp(1.3rem,3vw,2.5rem)}
.booking-panel .contact-label{margin-bottom:.5rem}
.form-required{color:#b8c9d5;font-size:.83rem;margin:0 0 1.5rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1rem}
.form-full{grid-column:1/-1}
.form-field{min-width:0}
.form-field label,.booking-success label{display:block;margin-bottom:.4rem;font-weight:700;font-size:.84rem;color:#f7f4ec}
.form-field label>span:not(.optional),.form-required>span:first-child,.consent-label span span{color:var(--gold)}
.optional{color:#aebdc7;font-weight:400;font-size:.78rem}
.form-field input,.form-field select,.form-field textarea,.copy-row input{display:block;width:100%;min-height:3rem;padding:.65rem .8rem;border:1px solid #8495a1;border-radius:2px;background:#fff;color:var(--ink);font:inherit;font-size:1rem}
.form-field textarea{resize:vertical;min-height:6.8rem}
.form-field input::placeholder,.form-field textarea::placeholder{color:#687681}
.form-field small{display:block;margin-top:.35rem;color:#b6c5cf;font-size:.76rem;line-height:1.4}
.privacy-summary{margin:.35rem 0 1rem;color:#d9e3e9;font-size:.87rem}
.consent-label{display:flex;align-items:flex-start;gap:.75rem;color:#f7f4ec;font-size:.86rem;line-height:1.5;cursor:pointer}
.consent-label input{width:1.2rem;height:1.2rem;accent-color:var(--gold);margin:.12rem 0 0;flex:0 0 auto}
.form-message{margin:1.25rem 0 0;padding:.75rem 1rem;border-left:3px solid var(--gold);background:#4b1d1d;color:#fff;font-size:.9rem}
.submit-button{margin-top:1.5rem;width:100%;cursor:pointer}
.button:disabled{cursor:wait;opacity:.64;transform:none}
.booking-panel .contact-small{margin:1rem 0 0!important}
.booking-success h3{font:500 clamp(1.7rem,2.5vw,2.4rem) Georgia,serif;margin:1.2rem 0}
.booking-success>p{color:#e2e9ed}
.booking-success strong{color:var(--gold);overflow-wrap:anywhere}
.copy-row{display:flex;gap:.55rem;align-items:stretch}
.copy-row input{min-width:0;flex:1;font-size:.82rem}
.copy-row .button{flex:0 0 auto;min-height:3rem;padding:.55rem 1rem;cursor:pointer}
.copy-feedback{min-height:1.5rem;font-size:.82rem;color:#f8d79e!important;margin:.5rem 0!important}
.status-open-link{color:#fff;border-color:#fff;margin-top:1.6rem}
.text-button{display:block;margin-top:1.6rem;padding:.3rem 0;background:none;border:0;border-bottom:1px solid #b3c2cd;color:#e1e9ef;cursor:pointer;font:inherit;font-size:.88rem}
.text-button:hover{color:var(--gold);border-color:var(--gold)}
.pending-actions{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem}
.pending-actions .text-button{margin-top:1rem;text-align:left}
.status-section{background:#e9e3d8}
.status-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.status-grid>div:first-child>p:not(.section-kicker){max-width:450px;color:#4d5b65}
.status-card{min-width:0;background:#fff;border:1px solid #d3c8b6;padding:clamp(1.4rem,3vw,2.8rem);box-shadow:0 16px 50px rgba(7,19,33,.07)}
.status-ref{font-size:.75rem;letter-spacing:.12em;color:#596771}
.status-ref strong{display:block;color:var(--ink);font-size:1.05rem;letter-spacing:0;margin-top:.25rem}
.status-badge{display:inline-block;background:#e7e1d1;color:#15304a;padding:.45rem .75rem;font-weight:700;font-size:.9rem}
.status-badge[data-status="accepted"]{background:#d8eddc;color:#185731}
.status-badge[data-status="declined"],.status-badge[data-status="cancelled"]{background:#f5dada;color:#7c2222}
.status-note{border-left:3px solid #af793d;background:#f8f2e7;padding:.75rem 1rem;white-space:pre-wrap;overflow-wrap:anywhere}
.status-trip{border-top:1px solid #d4d6d2;margin:1.5rem 0}
.status-trip>div{display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid #d4d6d2}
.status-trip dt{color:#64717a;font-size:.85rem}
.status-trip dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.status-quote{border-left:3px solid #af793d;padding:.4rem 0 .4rem 1.2rem;margin:1.5rem 0}
.status-quote h3{font:500 1.5rem Georgia,serif;margin:0 0 .5rem}
.status-quote p{margin:.3rem 0;white-space:pre-wrap;overflow-wrap:anywhere}
#status-quote-amount{font-size:1.55rem;font-weight:700}
.status-accept{padding:1rem 0 1.5rem}
.status-accept p{font-size:.82rem;color:#5f6b74;margin:.5rem 0}
#status-message:empty{display:none}
#status-message:not(:empty){font-weight:600}
@media(max-width:900px){.booking-grid,.status-grid{grid-template-columns:1fr;gap:2.4rem}}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}.copy-row{flex-direction:column}.copy-row .button{width:100%}.status-trip>div{grid-template-columns:1fr;gap:.1rem}.status-grid h2{margin-bottom:1rem}}
