@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--green:#173e30;--deep:#102d24;--ivory:#f7f4ec;--gold:#d9bb7c;--ink:#1c3028;--muted:#58675e;--line:#d6dace;--radius-control:3px;--error:#a52727}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.7 'DM Sans',sans-serif}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a37425;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.15}h2{font-size:clamp(32px,3.8vw,52px);letter-spacing:-1.4px}h3{font-size:25px}.wrap{padding-left:7%;padding-right:7%;max-width:1800px;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:700;margin-bottom:22px}.announcement{background:var(--deep);color:#eceddf;padding:7px 7%;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;display:flex;justify-content:space-between}.announcement span{color:#d8bc80}header{background:var(--ivory);display:flex;justify-content:space-between;align-items:center;padding:20px 5%;gap:24px;position:sticky;top:0;z-index:10;box-shadow:0 1px 0 #173e3010}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:39px;height:39px;stroke:var(--green);stroke-width:1.6;fill:none}.brand>span{font-family:Georgia,serif;font-size:30px;line-height:1;letter-spacing:5px}.brand small{display:block;font:7px/2 'DM Sans',sans-serif;letter-spacing:1.8px;margin-top:6px}nav{display:flex;align-items:center;gap:28px;font-size:12px}nav>a:not(.button):hover{color:#8a651f}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--green);color:white;padding:17px 24px;border:1px solid transparent;border-radius:var(--radius-control);font:600 13px/1.3 'DM Sans',sans-serif;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#24553f;transform:translateY(-1px)}.button span{font-size:20px}.button.gold{background:var(--gold);color:var(--deep)}.button.gold:hover{background:#e5cb93}.button.small{padding:12px 19px;gap:20px}.button:disabled{opacity:.55;cursor:wait;transform:none}.menu-toggle{display:none}.hero{height:min(760px,82vh);min-height:580px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;object-position:center 56%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,19,.84),rgba(7,27,19,.46) 49%,rgba(7,27,19,.08)),linear-gradient(0deg,rgba(8,29,21,.6),transparent 45%)}.hero-copy{position:relative;padding:7% 7% 8%;max-width:770px}.hero .eyebrow{color:#e3c98f}.hero h1{font-size:clamp(70px,8vw,116px);letter-spacing:-4px;line-height:.99}.hero h1 span{color:var(--gold)}.hero-copy>p:not(.eyebrow){max-width:435px;margin:28px 0 30px;color:#f1f0e7;line-height:1.8;font-size:15px}.hero-foot{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;border-top:1px solid #ffffff45;padding-top:18px;font-size:11px;letter-spacing:.7px}.hero-foot>span{font-family:Georgia,serif;font-style:italic;font-size:18px}.intro{padding-top:90px;padding-bottom:30px}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:center}.intro-grid>p{color:var(--muted);max-width:500px}.value-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px;padding:22px 0;font-size:11px;text-align:center;text-transform:uppercase;letter-spacing:1px}.value-row span+span{border-left:1px solid var(--line)}.experiences{padding-top:65px;padding-bottom:80px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:40px}.section-heading>p{max-width:250px;color:var(--muted);font-size:14px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.card-img{height:345px;position:relative;overflow:hidden;background:#40634e}.card-img img{transition:transform .6s}.experience-card a:hover .card-img img{transform:scale(1.045)}.card-img>span{position:absolute;bottom:0;left:0;padding:20px;color:white;font-size:9px;letter-spacing:1.7px;text-transform:uppercase;width:100%;background:linear-gradient(transparent,#14281bba)}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 12px}.card-heading>span{font-size:23px}.experience-card p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:20px}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #8c997e;padding-bottom:5px;display:inline-block}.journey-art{background:#1b493a}.journey-art svg{width:100%;height:100%;background:radial-gradient(ellipse at top right,#e0c18135,transparent 60%)}.journey-art path{stroke:#d8bf81;stroke-width:2;stroke-dasharray:6 8;fill:none}.journey-art circle{fill:var(--gold);stroke:#1b493a;stroke-width:4}.journey-art text{font:9px 'DM Sans',sans-serif;letter-spacing:3px;fill:#eee1c1}.section-note{margin-top:32px;font-size:11px;color:var(--muted)}.transfer-section{background:var(--green);color:var(--ivory);padding:80px 0}.transfer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:center}.transfer-section .eyebrow{color:var(--gold)}.transfer-grid>div>p:not(.eyebrow){margin:25px 0 30px;max-width:450px;font-size:14px;color:#d1d9cd}.route-panel{border:1px solid #ffffff36;padding:35px 35px 24px}.route-line{display:flex;gap:22px;margin:30px 0}.route-line>span{color:var(--gold);font-size:12px;padding-top:3px}.route-line h3{font-size:24px}.route-line p{font-size:12px;color:#d1d9cd;margin-top:7px}.fine{font-size:11px;line-height:1.8;color:var(--muted)}.route-panel .fine{border-top:1px solid #ffffff2b;padding-top:18px;color:#c9d2c5}.process{padding-top:90px;padding-bottom:90px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:45px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{font:italic 32px Georgia,serif;color:#8b794d}.steps h3{margin:18px 0 16px;font-size:26px}.steps p{font-size:13px;color:var(--muted)}.about-section{display:grid;grid-template-columns:1fr 1fr;background:#ececdf}.about-img{min-height:580px}.about-copy{padding:70px 14% 70px 12%;align-self:center}.about-copy h2{font-size:clamp(32px,3.1vw,45px)}.about-copy>p:not(.eyebrow){margin-top:22px;font-size:13px;color:var(--muted)}.about-copy .text-link{margin-top:25px}.planning{padding-top:80px;padding-bottom:80px;display:grid;grid-template-columns:1fr 1fr;gap:14%;border-bottom:1px solid var(--line)}.planning-offer{border-left:2px solid var(--gold);padding-left:35px}.price{font:44px Georgia,serif}.price small{font:11px 'DM Sans',sans-serif;letter-spacing:1px;text-transform:uppercase}.planning-offer>p{margin:14px 0;font-size:14px}.planning-offer>p.fine{font-size:11px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-top:80px;padding-bottom:90px}.faq h2{max-width:250px}.faq-list details{border-bottom:1px solid var(--line)}summary{padding:21px 30px 21px 0;font-size:14px;cursor:pointer;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:22px;font-weight:400;top:14px}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);padding:0 22px 22px 0}.enquiry-section{background:#e9ecdf;padding:85px 0}.enquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:13%}.enquiry-grid>div>p:not(.eyebrow){font-size:14px;margin-top:26px;max-width:340px;color:var(--muted)}.contact-email{display:inline-block;font-size:13px;border-bottom:1px solid var(--green);margin-top:23px}.enquiry-aside{margin-top:55px;border-top:1px solid #c4ccbb;padding-top:24px}.enquiry-aside p{font:22px Georgia,serif}.enquiry-aside span{font-size:10px;letter-spacing:1px;display:block;margin-top:12px}.enquiry-grid>div>p.fine{font-size:11px}.form-panel{background:var(--ivory);padding:35px}#form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.wide{grid-column:1/-1}.form-field label{font-size:11px;font-weight:600}.form-field input,.form-field select,.form-field textarea{border:1px solid #c7cebe;background:transparent;width:100%;border-radius:2px;padding:11px 12px;color:var(--ink);font-size:13px;min-width:0}.form-field textarea{min-height:92px;resize:vertical}.form-field.check label{display:flex;gap:10px;align-items:flex-start;font-weight:400}.form-field input[type=checkbox]{width:15px;height:15px;accent-color:var(--green);flex-shrink:0}.form-field [aria-invalid=true]{border-color:var(--error)}.error{color:var(--error);font-size:11px}.form-field .error:empty{display:none}#form-error{margin:15px 0}#send-button{width:100%}.form-panel .fine{margin-top:15px}.fine a{text-decoration:underline}#form-success h3{font-size:33px;margin-bottom:20px}#form-success p{font-size:14px;margin-bottom:20px}footer{background:var(--deep);color:#f3efdf;padding:50px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:40px}.footer-top p{font:20px/1.5 Georgia,serif;color:#ded8c2}.footer-top>a:last-child{font-size:12px;color:var(--gold)}.footer-bottom{border-top:1px solid #ffffff25;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#ccd1c2}footer .fine{color:#a9b9aa;margin-top:18px;font-size:9px}dialog{max-width:650px;width:calc(100% - 36px);background:var(--ivory);border:0;padding:50px;color:var(--ink);max-height:85vh;overflow:auto}dialog::backdrop{background:#071d14bb;backdrop-filter:blur(4px)}dialog h2{font-size:38px;margin-bottom:25px}dialog>p:not(.eyebrow){font-size:14px;margin-bottom:22px}dialog ul{font-size:14px;padding-left:20px;margin-bottom:25px}.close-dialog{position:absolute;right:15px;top:8px;background:none;border:0;font-size:30px;cursor:pointer;color:var(--green)}.skip{position:fixed;top:-60px;left:10px;z-index:100;background:var(--gold);padding:10px}.skip:focus{top:5px}[hidden]{display:none!important}
@media(min-width:1600px){.hero-copy{padding-top:100px}.hero{height:780px}.card-img{height:410px}}
@media(max-width:1000px){nav{gap:17px;font-size:11px}.brand>span{font-size:26px}.brand svg{width:30px}.brand small{font-size:6px}.wrap{padding-left:5%;padding-right:5%}.hero-copy{padding-left:5%}.experience-grid{gap:20px}.card-img{height:270px}.card-heading h3{font-size:23px}.transfer-grid{gap:7%}.steps{gap:30px}.about-copy{padding:50px 10%}.enquiry-grid{gap:7%}.form-panel{padding:25px}}
@media(max-width:760px){html{scroll-padding-top:90px}.announcement{padding:6px 5%;font-size:8px;letter-spacing:1px}.announcement span{font-size:7px}header{padding:16px 5%;flex-wrap:wrap;gap:0}.brand>span{font-size:26px}.menu-toggle{display:flex;gap:12px;align-items:center;background:none;border:0;font-size:12px;color:var(--green);padding:10px}nav{display:none;flex-basis:100%;padding:24px 0 5px;align-items:stretch;gap:17px;flex-direction:column;font-size:14px}nav.open{display:flex}.hero{min-height:600px;height:78vh;max-height:750px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#071b13c9,#071b1365),linear-gradient(0deg,#071b1388,transparent)}.hero-copy{padding:75px 7% 90px}.hero h1{font-size:80px;letter-spacing:-3px}.hero .eyebrow{font-size:9px;letter-spacing:2px}.hero-copy>p:not(.eyebrow){font-size:14px;max-width:340px}.hero-foot{left:7%;right:7%;font-size:9px}.hero-foot>span{font-size:14px}.hero-foot a{max-width:110px;text-align:right}.intro{padding-top:60px}.intro-grid{grid-template-columns:1fr;gap:25px}.value-row{grid-template-columns:1fr 1fr;gap:20px 12px;padding:22px 0;font-size:9px}.value-row span+span{border:0}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:330px}.experiences{padding-top:40px;padding-bottom:55px}.experience-grid{grid-template-columns:1fr;gap:40px}.card-img{height:380px}.card-heading h3{font-size:30px}.experience-card p{font-size:14px}.transfer-section{padding:60px 0}.transfer-grid{grid-template-columns:1fr;gap:40px}.route-panel{padding:28px}.process{padding-top:60px;padding-bottom:60px}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.steps article{display:grid;grid-template-columns:45px 1fr;gap:5px 15px}.steps h3{margin:3px 0 10px;font-size:25px}.steps p{grid-column:2}.about-section{grid-template-columns:1fr}.about-img{min-height:0;height:330px}.about-copy{padding:45px 7%}.about-copy h2{font-size:35px}.planning{padding-top:60px;padding-bottom:60px;grid-template-columns:1fr;gap:30px}.planning-offer{padding-left:23px}.faq{grid-template-columns:1fr;gap:25px;padding-top:60px;padding-bottom:60px}.faq h2{max-width:none}.enquiry-section{padding:60px 0}.enquiry-grid{grid-template-columns:1fr;gap:32px}.enquiry-aside{margin-top:25px}.enquiry-grid>div>p.fine{max-width:none}.form-panel{padding:25px 20px}#form-fields{grid-template-columns:1fr;gap:17px}.form-field.wide{grid-column:1}.form-field label{font-size:12px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.footer-top{align-items:flex-start;flex-wrap:wrap;gap:25px}.footer-top p{font-size:18px}.footer-bottom{flex-direction:column;gap:12px}dialog{padding:42px 25px}dialog h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Readability and responsive spacing */
h1,h2,h3,p,a,label,summary,li{overflow-wrap:break-word}
.intro-grid>*,.experience-grid>*,.transfer-grid>*,.planning>*,.faq>*,.enquiry-grid>*,.steps>*{min-width:0}
h1,h2,h3{line-height:1.2}
.hero{height:auto;min-height:640px;max-height:none;display:flex;flex-direction:column;overflow:visible}
.hero-copy{width:100%;max-width:850px;padding:80px 7% 56px}
.hero h1{font-size:clamp(56px,7vw,104px);line-height:1.1;letter-spacing:-2px}
.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.75}
.hero-foot{position:relative;bottom:auto;left:auto;right:auto;margin:0 7% 26px;padding-top:20px;gap:24px;margin-top:auto}
.hero-shade{background:linear-gradient(90deg,rgba(7,27,19,.9),rgba(7,27,19,.66) 58%,rgba(7,27,19,.25)),linear-gradient(0deg,rgba(8,29,21,.8),transparent 55%)}
.eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.8px}
.announcement{font-size:12px;gap:12px;flex-wrap:wrap}
.announcement span{font-size:12px}
.brand{flex-shrink:0}
.brand small{font-size:10px;letter-spacing:1px;line-height:1.5}
.brand svg{flex-shrink:0}
nav{font-size:14px}
.button{font-size:14px;line-height:1.5;max-width:100%;gap:20px;white-space:normal}
.button span,.card-heading>span{flex-shrink:0}
.value-row{font-size:12px;line-height:1.7}
.card-img>span{font-size:12px;letter-spacing:1px;background:linear-gradient(transparent,rgba(7,27,19,.95))}
.experience-card p,.steps p,.about-copy>p:not(.eyebrow),details p{font-size:15px}
.text-link,.contact-email{font-size:14px}
.fine,.section-note,.planning-offer>p.fine,.enquiry-grid>div>p.fine,.form-panel .fine,footer .fine{font-size:12px;line-height:1.8}
.route-line p{font-size:14px}
.route-line>span{flex-shrink:0}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px}
.price small{font-size:12px}
.enquiry-aside span{font-size:12px}
.form-field label,.error{font-size:13px}
.form-field input,.form-field select,.form-field textarea{font-size:16px;line-height:1.5}
.form-field input[type=checkbox]{padding:0;margin:4px 0 0;min-height:15px}
.footer-top>a:last-child,.footer-bottom{font-size:12px}
footer .brand svg{stroke:var(--ivory)}
dialog h2{padding-right:12px}
dialog p,dialog a{overflow-wrap:anywhere}
@media(max-width:1100px){
 header{flex-wrap:wrap;gap:0;padding:16px 5%}
 .menu-toggle{display:flex;gap:12px;align-items:center;background:none;border:0;font-size:14px;color:var(--green);padding:10px}
 nav{display:none;flex-basis:100%;padding:24px 0 5px;align-items:stretch;gap:17px;flex-direction:column;font-size:16px}
 nav.open{display:flex}
 .hero-copy{padding-left:5%;padding-right:5%}
 .hero-foot{margin-left:5%;margin-right:5%}
 .enquiry-grid{grid-template-columns:1fr;gap:32px}
 .enquiry-grid>div>p:not(.eyebrow){max-width:600px}
 .enquiry-aside{margin-top:28px}
 .experience-grid{gap:24px}
}
@media(max-width:760px){
 .hero{height:auto;min-height:0;max-height:none}
 .hero-copy{padding:56px 7% 40px;max-width:none}
 .hero h1{font-size:clamp(48px,12vw,80px);line-height:1.12;letter-spacing:-1.5px}
 .hero .eyebrow{font-size:12px;letter-spacing:1.4px}
 .hero-copy>p:not(.eyebrow){font-size:16px;max-width:100%;margin:24px 0 28px}
 .hero-foot{margin:0 7% 24px;flex-wrap:wrap;font-size:12px;gap:12px}
 .hero-foot>span{font-size:17px}
 .hero-foot a{max-width:none;text-align:left}
 .announcement{font-size:11px;letter-spacing:.6px}
 .announcement span{font-size:11px}
 .brand>span{font-size:25px;letter-spacing:3px}
 .brand small{font-size:9px;letter-spacing:.5px}
 h2,.about-copy h2{font-size:clamp(30px,7.5vw,40px);letter-spacing:-.7px;line-height:1.25}
 .card-heading h3{font-size:28px;line-height:1.25}
 .value-row{font-size:12px;letter-spacing:.5px}
 .route-panel{padding:24px}
 .route-line{gap:14px}
 .route-line h3{font-size:23px}
 .steps{grid-template-columns:1fr}
 .steps article{grid-template-columns:36px minmax(0,1fr);gap:6px 12px}
 .form-panel{padding:24px 18px}
 .form-field label{font-size:14px}
 .enquiry-grid>div>p.fine{font-size:12px}
 dialog h2{font-size:30px}
}
@media(max-width:360px){
 header{padding-left:4%;padding-right:4%}
 .brand{gap:7px}
 .brand svg{width:26px}
 .brand>span{font-size:23px}
 .menu-toggle{gap:6px;padding:8px 4px}
 .button{padding:15px 18px;gap:12px}
 .hero-copy{padding-top:40px}
}
