﻿::selection{background:#d8bd8b;color:var(--deep)}body{overflow-x:hidden;background:#fbfcfb}header{position:sticky;top:0;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(217,223,224,.7);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(10,29,43,.035)}.brand{font-size:1.02rem;letter-spacing:.14em}.brand-mark{width:48px;height:48px;flex:0 0 48px;object-fit:contain;border-radius:12px;box-shadow:0 8px 20px rgba(10,29,43,.12)}.brand small{font-size:.58rem;letter-spacing:.25em;color:#86683f}nav{gap:clamp(10px,1vw,18px)}nav a{position:relative}nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--gold);transition:right .25s ease}nav a:hover::after,nav a[aria-current]::after{right:0}nav a[aria-current]{box-shadow:none}.nav-cta{padding:10px 15px;border:1px solid var(--gold);background:var(--navy);color:#fff!important;font-weight:600}.nav-cta:hover{background:var(--deep)}.button{border-radius:2px;box-shadow:0 10px 30px rgba(10,29,43,.12);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(10,29,43,.18)}.programme,.detail-grid article{transition:transform .25s ease}.detail-grid article:hover{transform:translateY(-4px)}.text-link{transition:color .2s ease,gap .2s ease}.text-link:hover{gap:43px}input,select,textarea{border-radius:6px;transition:border-color .2s ease,box-shadow .2s ease}input:hover,select:hover,textarea:hover{border-color:#9aa8ae}input:focus,select:focus,textarea:focus{outline:0;border-color:#9c7b49;box-shadow:0 0 0 4px rgba(199,168,115,.18)}
.contact-hero{background:radial-gradient(circle at 85% 20%,#24475d 0,transparent 32%),linear-gradient(130deg,var(--deep),var(--navy))}.contact-hero>div{max-width:1120px}.contact-hero .actions{margin-top:30px}.contact-layout{align-items:start;background:linear-gradient(90deg,var(--paper) 0,var(--paper) 34%,#fff 34%)}.contact-aside{position:sticky;top:145px;padding-right:25px}.contact-aside h2{font-size:clamp(2.2rem,3.5vw,3.5rem)}.contact-card{display:grid;gap:3px;margin-top:14px;padding:18px 0;border-top:1px solid var(--line)}.contact-card span{color:#8b7046;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.contact-card a,.contact-card strong{overflow-wrap:anywhere;font-size:1.03rem;font-weight:500}.form-panel{padding:clamp(25px,4vw,50px);border:1px solid var(--line);background:#fff;box-shadow:0 24px 70px rgba(10,29,43,.08)}.form-heading{margin-bottom:35px;padding-bottom:25px;border-bottom:1px solid var(--line)}.form-heading h2{margin-bottom:8px}.form-heading p:last-child{margin:0}.field-hint{align-self:flex-end;color:var(--muted);font-weight:400}.draft-note{color:var(--muted);font-size:.8rem}.form-status.success{border-color:#39765a;background:#edf7f1;color:#24583f}.form-status.error{border-color:#ad514b;background:#fff1ef;color:#773631}.form-status.sending{background:#f7f4ed}
.proposal-page{background:var(--paper)}.proposal-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;padding:75px 7%;background:radial-gradient(circle at 92% 10%,#315970 0,transparent 30%),linear-gradient(125deg,var(--deep),var(--navy));color:#fff}.proposal-hero h1{font-size:clamp(3rem,5vw,5.3rem);margin-bottom:25px}.proposal-hero>div>p:last-child{max-width:620px;color:#cbd5db}.proposal-hero .eyebrow{color:var(--gold)}.proposal-promise{display:grid;grid-template-columns:38px 1fr;gap:18px 15px;align-content:center;padding-left:45px;border-left:1px solid #ffffff2c}.proposal-promise>span{color:var(--gold);font-size:.7rem;font-weight:700}.proposal-promise p{margin:0;color:#c3ced5;font-size:.82rem}.proposal-promise strong{display:block;color:#fff;font:400 1.25rem Georgia,serif}.proposal-shell{display:grid;grid-template-columns:270px minmax(0,1fr);gap:45px;max-width:1440px;margin:auto;padding:65px 5% 100px}.proposal-sidebar{position:sticky;top:135px;align-self:start}.proposal-sidebar h2{font-size:2.6rem}.proposal-sidebar ol{list-style:none;counter-reset:proposal;padding:0;margin:35px 0}.proposal-sidebar li{counter-increment:proposal;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.85rem}.proposal-sidebar li::before{content:"0" counter(proposal);display:inline-block;width:42px;color:#947343;font-weight:700}.save-card{display:grid;gap:5px;padding:18px;border-left:3px solid var(--gold);background:#fff;box-shadow:0 10px 28px rgba(10,29,43,.06)}.save-card strong{font-size:.82rem}.save-card span{color:var(--muted);font-size:.72rem}#proposal-form{display:grid;gap:24px;min-width:0}.form-section{padding:clamp(24px,4vw,44px);border:1px solid var(--line);background:#fff;box-shadow:0 14px 45px rgba(10,29,43,.055)}.form-section-head{display:flex;gap:20px;align-items:flex-start;margin-bottom:32px;padding-bottom:25px;border-bottom:1px solid var(--line)}.form-section-head>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;background:var(--navy);color:var(--gold);font-size:.72rem;font-weight:700}.form-section-head .eyebrow{margin:0 0 4px}.form-section-head h2{margin:0;font-size:clamp(2rem,3vw,3rem)}.repeat-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:32px 0 15px}.repeat-header h3{margin:0;font-size:1.05rem;font-weight:600}.repeat-header p{margin:3px 0 0;font-size:.8rem}.add-button{padding:10px 15px;border:1px solid var(--gold);background:#fff;color:var(--navy);font-size:.78rem;font-weight:700}.add-button:hover{background:#f7f1e7}.repeat-list{display:grid;gap:12px}.repeat-card{padding:20px;border:1px solid var(--line);background:#fafbf9}.repeat-card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.repeat-card-title strong{font-family:Georgia,serif;font-size:1.1rem;font-weight:400}.repeat-card-title button{border:0;background:none;color:#91433d;font-size:.75rem;text-decoration:underline}.room-fields{display:grid;grid-template-columns:120px 150px 1fr 1fr;gap:14px}.tour-fields{display:grid;grid-template-columns:190px 1fr;gap:14px}.transfer-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.transfer-pair fieldset{min-width:0;margin:0;padding:24px;border:1px solid var(--line);background:#fafbf9}.transfer-pair legend{padding:0 9px;color:var(--navy);font-family:Georgia,serif;font-size:1.2rem}.extras-grid{margin-top:30px;padding-top:30px;border-top:1px solid var(--line)}.proposal-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:28px;border:1px solid var(--line);background:var(--line)}.proposal-summary div{display:grid;gap:5px;min-width:0;padding:17px;background:#fafbf9}.proposal-summary strong{color:#947343;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.proposal-summary span{overflow-wrap:anywhere;font-size:.83rem}.review-section .submit-row{margin-top:25px}.review-section .submit-row p{max-width:320px}.consent{padding:18px;background:#f8f5ef}
@media(max-width:1320px){nav a{font-size:.72rem}.brand{font-size:.9rem}.brand-mark{width:43px;height:43px;flex-basis:43px}}@media(max-width:1180px){nav a{font-size:1rem}.nav-cta{margin-top:8px;text-align:center}.proposal-shell{grid-template-columns:1fr}.proposal-sidebar{display:none}.transfer-pair{grid-template-columns:1fr}}@media(max-width:760px){.brand-mark{width:42px;height:42px;flex-basis:42px}.brand{font-size:.86rem}.brand small{font-size:.51rem}.contact-layout{background:#fff}.contact-aside{position:static;padding-right:0}.form-panel{padding:25px 18px}.proposal-hero{grid-template-columns:1fr;gap:35px;padding:55px 6%}.proposal-promise{padding:25px 0 0;border-left:0;border-top:1px solid #ffffff2c}.proposal-shell{padding:30px 4% 70px}.form-section{padding:25px 17px}.form-section-head{gap:14px}.room-fields,.tour-fields,.proposal-summary{grid-template-columns:1fr}.repeat-header{align-items:stretch;flex-direction:column}.add-button{width:100%}.transfer-pair fieldset{padding:18px 14px}.review-section .submit-row{align-items:stretch;flex-direction:column}.review-section .button{width:100%}}

/* Supplied Falcon Luxury Travel identity */
.brand:has(.brand-mark)>span{display:none}.brand-mark{width:150px;height:68px;flex:0 0 150px;border:0;border-radius:0;box-shadow:none;object-fit:cover;background:transparent;clip-path:inset(1px)}.footer-main .brand-mark{width:165px;height:100px;flex-basis:165px;object-fit:cover}.footer-main .brand{margin-top:-16px}
header nav a{font-size:.875rem;font-weight:700;letter-spacing:.01em}
@media(max-width:1320px){.brand-mark{width:130px;height:62px;flex-basis:130px}header nav a{font-size:.8rem;font-weight:700}}
@media(max-width:760px){.brand-mark{width:124px;height:62px;flex-basis:124px}.footer-main .brand-mark{width:145px;height:88px;flex-basis:145px}}

/* B2B partner application */
.partner-application{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start;background:linear-gradient(90deg,var(--paper) 0,var(--paper) 36%,#fff 36%)}.partner-form-intro{position:sticky;top:145px}.partner-form-intro h2{font-size:clamp(2.7rem,4vw,4.4rem)}.partner-form-intro>p:not(.eyebrow){max-width:460px}.partner-benefits{display:grid;gap:0;margin-top:35px;border-top:1px solid var(--line)}.partner-benefits span{padding:17px 0;border-bottom:1px solid var(--line);color:var(--navy);font-size:.85rem;font-weight:600}.partner-benefits span::before{content:"✓";margin-right:12px;color:#9a7949}.partner-form-panel{padding:clamp(25px,4vw,48px)}.partner-form-panel .form-section-head{margin-bottom:32px}.partner-form-panel .form-section-head p:last-child{margin:7px 0 0}.choice-group{margin:0;padding:20px;border:1px solid var(--line);background:#fafbf9}.choice-group legend{padding:0 8px;font-size:.875rem;font-weight:600}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.choice-grid label{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:.83rem}.choice-grid input{width:17px;height:17px;flex:0 0 17px;margin-top:4px;accent-color:var(--navy)}
@media(max-width:980px){.partner-application{grid-template-columns:1fr;background:#fff}.partner-form-intro{position:static}.partner-benefits{grid-template-columns:repeat(3,1fr);gap:14px;border:0}.partner-benefits span{padding:15px;border:1px solid var(--line)}}
@media(max-width:760px){.partner-application{gap:35px}.partner-benefits,.choice-grid{grid-template-columns:1fr}.partner-form-panel{padding:25px 18px}.partner-form-panel .form-section-head{padding-bottom:20px}.partner-form-panel .submit-row{align-items:stretch;flex-direction:column}.partner-form-panel .button{width:100%}}

/* Draft privacy controls and stable media rendering */
.draft-clear{padding:7px 2px;border:0;border-bottom:1px solid #9a7949;background:transparent;color:#76582d;font-size:.76rem;font-weight:700;cursor:pointer}.draft-clear:hover{color:var(--navy);border-color:var(--navy)}.save-card .draft-clear{justify-self:start;margin-top:8px}.mobile-clear{display:none}img{height:auto}
@media(max-width:760px){.mobile-clear{display:inline-block}.review-section .mobile-clear{align-self:center}.draft-note{width:100%;text-align:center}}

/* High-visibility, accessible form controls across every enquiry page */
.field{gap:9px;color:#183447;font-size:.9rem;font-weight:700;letter-spacing:.005em}
input,select,textarea{min-height:52px;border:2px solid #82939d;border-radius:7px;background:#fff;color:#102738;padding:13px 15px;box-shadow:inset 0 1px 2px rgba(10,29,43,.04);caret-color:#8a642f}
textarea{min-height:150px;line-height:1.55}
input::placeholder,textarea::placeholder{color:#667983;opacity:1}
input:hover,select:hover,textarea:hover{border-color:#496879;background:#fff}
input:focus,select:focus,textarea:focus{outline:0;border-color:#9a7134;background:#fff;box-shadow:0 0 0 4px rgba(199,168,115,.28),inset 0 1px 2px rgba(10,29,43,.04)}
input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:#a44741;background:#fffafa}
input:user-invalid:focus,select:user-invalid:focus,textarea:user-invalid:focus{box-shadow:0 0 0 4px rgba(164,71,65,.16)}
select{cursor:pointer}
.check{color:#294657;font-weight:500;line-height:1.5}
.check input,.choice-grid input{min-height:0;border:2px solid #6f828c;box-shadow:none;cursor:pointer}
.choice-group,.repeat-card,.transfer-pair fieldset{border-color:#aebbc1}
.choice-group{border-width:2px}
.choice-group legend,.transfer-pair legend{font-weight:600}
.choice-grid label{color:#294657;font-weight:500}
.field-hint{color:#566b76;font-weight:500}
@media(max-width:760px){input,select,textarea{min-height:54px;padding:14px;font-size:16px}.field{font-size:.92rem}}

/* Readable typography with stronger contrast at every screen size */
:root{--muted:#465d69}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-weight:400;line-height:1.72;text-rendering:optimizeLegibility}
p{color:var(--muted);font-size:1.04rem;line-height:1.75}
h1,h2,h3{color:#102738;text-wrap:balance}
.hero h1,.page-hero h1,.proposal-hero h1,.contact-hero h1,.services-band h2,.partner-band h2,.not-found h1{color:#fff}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.135em;line-height:1.65}
.topline{font-size:.8rem;letter-spacing:.035em}
.hero-lead,.page-hero p,.proposal-hero>div>p:last-child,.contact-hero p:not(.eyebrow){color:#e2e9ed}
.page-hero p,.contact-hero p:not(.eyebrow){font-size:1.05rem}
.text-link{font-size:.92rem;font-weight:700}
.detail-grid p{font-size:1.02rem;line-height:1.72}
.trust-points{font-size:.94rem;line-height:1.55}
.service-list span{font-weight:500;line-height:1.5}
.contact-card span{font-size:.76rem}.contact-card a,.contact-card strong{font-size:1.08rem}
.proposal-promise p,.proposal-sidebar li,.proposal-summary span,.repeat-header p,.draft-note,.save-card span{line-height:1.55}
.footer-main h3{font-size:.94rem;font-weight:700}.footer-main a:not(.brand),.footer-main p{font-size:.94rem;line-height:1.65}.footer-main a:not(.brand){color:#e0e7eb}.footer-main p,.footer-bottom{color:#becbd2}.footer-bottom{font-size:.82rem}
@media(max-width:760px){p{font-size:1rem;line-height:1.7}.eyebrow{font-size:.75rem;letter-spacing:.12em}.topline{font-size:.75rem}.page-hero p,.contact-hero p:not(.eyebrow){font-size:1rem}.footer-main a:not(.brand),.footer-main p{font-size:.92rem}}

/* Stronger text weight and contrast throughout the complete website */
:root{--ink:#0b2232;--muted:#354e5b}
body{color:var(--ink);font-weight:500}
p,li,dt,dd,address,small,span{font-weight:500}
h1,h2,h3,.programme h3{font-weight:500}
em{font-weight:500}
a,button{font-weight:600}
input,select,textarea{color:#091f2f;font-weight:500}
.field,.choice-grid label,.check{color:#142f40;font-weight:600}
.field-hint,.draft-note,.save-card span{color:#405966;font-weight:500}
.repeat-card-title strong,.proposal-promise strong{font-weight:500}
.proposal-sidebar li{color:#405966;font-weight:600}
.proposal-summary span{color:#183545;font-weight:600}
.contact-card span,.proposal-summary strong{color:#76582f}
.topline{color:#edf2f4;font-weight:500}
.hero-lead,.page-hero p,.proposal-hero>div>p:last-child,.contact-hero p:not(.eyebrow),.services-band p{color:#edf2f4;font-weight:500}
.service-list span{color:#fff;font-weight:600}
.footer-main h3{color:#f0d49f}.footer-main a:not(.brand){color:#f2f5f6;font-weight:600}.footer-main p,.footer-bottom{color:#d4dfe4;font-weight:500}

/* Home-page hierarchy: service names are titles; campaign lines are supporting copy */
.home-section-title{margin:0 0 13px;color:var(--ink);font-weight:600;letter-spacing:-.03em}
.programme-copy .home-section-title{font-size:clamp(2rem,3vw,2.8rem);line-height:1.12}
.home-tagline{margin:0 0 20px;color:#415966;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,1.8vw,1.75rem);font-weight:500;line-height:1.3;letter-spacing:-.015em}
.services-band .home-section-title{color:#fff}
.services-band .home-tagline{color:#e6edf0;font-size:clamp(1.4rem,2vw,1.85rem)}
.partner-band .home-section-title{color:var(--ink)}
.partner-band .home-tagline{color:#415966;font-size:clamp(1.4rem,2vw,1.85rem)}
.partner-band>p:not(.eyebrow){color:var(--muted)}
.secondary-grid .home-section-title{font-size:clamp(2.4rem,3.5vw,3.75rem)}
.trust .home-section-title{font-size:clamp(2.4rem,3.2vw,3.4rem)}
@media(max-width:760px){.programme-copy .home-section-title{font-size:2rem}.home-tagline{font-size:1.3rem}.secondary-grid .home-section-title,.trust .home-section-title{font-size:2.45rem}}

/* Clear light call-to-action panels on every page */
main>section:not(:first-child){position:relative;border-top:0}
main>section.section:nth-of-type(even):not(.services-band):not(.contact-layout):not(.partner-application):not(.cta){background:linear-gradient(135deg,var(--paper) 0%,#fff 100%)}
main>section.section:nth-of-type(odd):not(.services-band):not(.contact-layout):not(.partner-application):not(.cta){background:linear-gradient(315deg,var(--paper) 0%,#fff 100%)}
main>section.section:not(.services-band):not(.cta){box-shadow:inset 0 28px 48px -58px rgba(10,29,43,.32)}
main>section.cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,var(--paper) 100%);color:var(--ink);border:0;box-shadow:inset 0 28px 55px -58px rgba(10,29,43,.38)}
main>section.cta::before{content:"";position:absolute;right:8%;top:50%;width:220px;height:220px;border:1px solid rgba(199,168,115,.38);border-radius:50%;box-shadow:0 0 0 34px rgba(199,168,115,.11),0 0 0 68px rgba(16,39,56,.035);transform:translateY(-50%);pointer-events:none}
main>section.cta>*{position:relative;z-index:1}
.cta h2{color:var(--ink)}
.cta p{color:var(--muted)}
.cta .eyebrow{color:#76582f}
@media(max-width:760px){main>section.cta::before{right:-95px;width:190px;height:190px}}

/* Carry the same Falcon surfaces into form-led and utility pages */
.contact-layout,.partner-application{background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 34%,#fff 34%,#fff 100%)}
.proposal-shell{background:linear-gradient(135deg,var(--paper) 0%,#fff 100%)}
.form-panel,.form-section{border-color:rgba(199,168,115,.5);box-shadow:0 22px 58px rgba(10,29,43,.09)}
.repeat-card,.transfer-pair fieldset,.choice-group{background:#f8f6f1}
@media(max-width:760px){.contact-layout,.partner-application{background:linear-gradient(180deg,var(--paper) 0%,#fff 38%,#fff 100%)}.proposal-shell{background:linear-gradient(180deg,var(--paper) 0%,#fff 100%)}}

/* Falcon Education programme slideshow */
.education-slideshow{position:relative;min-height:560px;overflow:hidden;background:var(--navy)}
.page-hero .education-slideshow img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;opacity:0;transform:scale(1.025);transition:opacity .9s ease,transform 5s ease}
.page-hero .education-slideshow img.is-active{z-index:1;opacity:1;transform:scale(1)}
.slideshow-progress{position:absolute;z-index:3;right:22px;bottom:21px;left:22px;height:3px;overflow:hidden;background:rgba(255,255,255,.38)}
.slideshow-progress span{display:block;width:100%;height:100%;background:var(--gold);transform-origin:left;animation:education-progress 5s linear infinite}
.slideshow-toggle{position:absolute;z-index:4;right:22px;top:22px;padding:9px 13px;border:1px solid rgba(255,255,255,.62);background:rgba(10,29,43,.82);color:#fff;font-size:.75rem;backdrop-filter:blur(8px);cursor:pointer}
.education-slideshow.is-paused .slideshow-progress span{animation-play-state:paused}
.footer-phone{margin-top:2px;color:#fff!important;font-weight:700!important;letter-spacing:.025em}
@keyframes education-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){.education-slideshow{min-height:430px}.page-hero .education-slideshow img{object-position:center 34%}.slideshow-toggle{top:15px;right:15px}.slideshow-progress{right:15px;bottom:15px;left:15px}}
@media(prefers-reduced-motion:reduce){.page-hero .education-slideshow img{transition:none}.slideshow-progress,.slideshow-toggle{display:none}}

/* Helpful fallback page */
.not-found{min-height:calc(100vh - 137px);display:grid;place-items:center;padding:80px 7%;background:radial-gradient(circle at 80% 20%,#315970 0,transparent 30%),linear-gradient(125deg,var(--deep),var(--navy));color:#fff}.not-found>div{width:min(850px,100%)}.not-found h1{font-size:clamp(3.4rem,7vw,7rem);margin-bottom:28px}.not-found p:not(.eyebrow){max-width:600px;color:#cbd5db;font-size:1.05rem}.not-found .button.outline{border-color:#ffffff70}

/* Education collage and refined site motion */
.education-collage{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr;gap:3px;min-height:560px;overflow:hidden;background:var(--navy)}
.education-collage figure{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden}.education-collage-main{grid-column:auto}
.page-hero .education-collage img{width:100%;height:100%;max-height:none;object-fit:cover;transition:transform .45s ease}.page-hero .education-collage figure:hover img{transform:scale(1.025)}
.page-hero .education-collage-main img{object-position:center 46%}.page-hero .education-collage figure:nth-child(2) img{object-position:center 44%}.page-hero .education-collage figure:nth-child(3) img{object-position:center 58%}
@media(max-width:760px){.education-collage{grid-template-columns:1fr;grid-template-rows:repeat(3,180px);min-height:540px}.education-collage-main{grid-column:auto;grid-row:auto}.page-hero .education-collage-main img{object-position:center 43%}.page-hero .education-collage figure:nth-child(2) img{object-position:center 48%}.page-hero .education-collage figure:nth-child(3) img{object-position:center 48%}}
@media(prefers-reduced-motion:no-preference){main>section:not(.hero):not(.page-hero):not(.proposal-hero){animation:falcon-rise .7s ease both;animation-timeline:view();animation-range:entry 8% cover 26%}.hero-content,.page-hero>div,.proposal-hero>div:first-child{animation:falcon-rise .8s .08s ease both}.programme .photo-link img,.page-hero>img,.education-collage img{transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease}.programme:hover .photo-link img{transform:scale(1.045);filter:saturate(1.06)}.page-hero>img:hover{transform:scale(1.02)}.button,.nav-cta,.add-button{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.button:hover,.nav-cta:hover,.add-button:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(10,29,43,.18)}.trust-points span,.partner-benefits span{transition:transform .2s ease,color .2s ease}.trust-points span:hover,.partner-benefits span:hover{transform:translateX(5px);color:#76582f}}
@keyframes falcon-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Remove the former top information bar from every page */
.topline{display:none}


/* White Falcon logo with navy eagle and lettering */
.brand-mark{background:#fff;clip-path:none}
.footer-main .brand-mark{background:#fff}


/* Supplied blue footer logo */
.footer-main .brand-mark{background:transparent;object-fit:cover}


/* Supplied Falcon mark used consistently in the footer. */
.footer-logo { display: block; width: min(220px, 72vw); margin: 0 auto 2rem; }
.footer-logo img { display: block; width: 100%; height: auto; }
.generated-footer { padding: 2rem 1.5rem; background: #102738; }

/* Primary navigation and left drawer */

header.falcon-header { display:flex!important; align-items:center; gap:24px; }
header.falcon-header .falcon-menu-toggle { order:-1; display:inline-flex!important; align-items:center; gap:9px; flex-shrink:0; border:1px solid #c4a571; background:transparent; color:#102738; padding:12px; cursor:pointer; font:inherit; }
.falcon-menu-toggle span:first-child { font-size:23px; line-height:1; }
header.falcon-header #navigation { display:flex!important; position:static!important; flex-direction:row!important; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:22px; margin-left:auto; width:auto!important; background:transparent; box-shadow:none; }
header.falcon-header #navigation a { white-space:nowrap; }
header.falcon-header > .menu { display:none!important; }
#falcon-side-menu { position:fixed; inset:0 auto 0 0; margin:0; padding:32px 28px; width:min(370px,90vw); height:100dvh; max-height:100dvh; max-width:90vw; box-sizing:border-box; border:0; background:#102738; color:#fff; box-shadow:12px 0 50px #0004; overflow-y:auto; }
#falcon-side-menu::backdrop { background:rgb(5 19 29 / 58%); }
.falcon-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:30px; color:#d1b584; letter-spacing:.15em; font-size:15px; }
.falcon-drawer-close { border:1px solid #ffffff60; color:white; background:transparent; font-size:28px; width:44px; height:44px; cursor:pointer; }
#falcon-side-menu nav { display:flex!important; flex-direction:column!important; position:static!important; gap:0; width:100%; background:transparent; padding:0; }
#falcon-side-menu nav a { display:block; padding:15px 0; border-bottom:1px solid #ffffff25; color:#fff; text-decoration:none; font:500 18px/1.4 sans-serif; }
#falcon-side-menu nav a:hover, #falcon-side-menu nav a[aria-current] { color:#d1b584; }
#falcon-side-menu nav a:last-child { margin-top:24px; padding:15px; text-align:center; background:#c4a571; color:#102738; border:0; }
.falcon-menu-toggle:focus-visible,.falcon-drawer-close:focus-visible,#falcon-side-menu a:focus-visible { outline:3px solid #c4a571; outline-offset:4px; }
@media(max-width:900px) { header.falcon-header { flex-wrap:wrap; gap:12px; padding:12px 20px; } header.falcon-header #navigation { flex-basis:100%; justify-content:center; gap:10px 18px; padding:8px 0; } header.falcon-header #navigation a { font-size:13px; } header.falcon-header .brand { margin-left:auto; } }
@media(prefers-reduced-motion:no-preference) { #falcon-side-menu[open] { animation:falcon-drawer-in .22s ease-out; } @keyframes falcon-drawer-in { from { transform:translateX(-100%); } to { transform:translateX(0); } } }

header.falcon-header {height:auto;min-height:99px;} header.falcon-header #navigation a {min-width:0;} #falcon-side-menu nav {align-items:stretch;max-height:none;box-shadow:none;}

/* Compact introduction: aligned heading and readable supporting copy. */
.intro.section { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:clamp(32px,4vw,64px); padding:clamp(40px,4.5vw,68px) 7%; }
.intro.section > div { display:block; min-width:0; }
.intro.section .eyebrow { margin:0 0 16px; font-size:.7rem; letter-spacing:.14em; line-height:1.6; }
.intro.section h2 { margin:0; font-size:clamp(2rem,3.05vw,3.5rem); line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
.intro.section .intro-copy p { margin:0; font-size:clamp(1rem,1.15vw,1.15rem); line-height:1.75; max-width:64ch; }
@media(max-width:760px) { .intro.section { grid-template-columns:1fr; gap:22px; padding:36px 6%; } .intro.section .eyebrow { margin-bottom:12px; font-size:.65rem; } .intro.section h2 { font-size:clamp(1.9rem,6.6vw,2.8rem); } }

/* Balanced programme heading and equal image cards. */
#programmes { padding:36px 7% 60px; background:var(--paper); }
#programmes .section-head { display:grid; grid-template-columns:1.3fr 1fr; align-items:end; gap:36px; margin-bottom:26px; }
#programmes .section-head .eyebrow { margin-bottom:12px; font-size:.7rem; letter-spacing:.14em; }
#programmes .section-head h2 { font-size:clamp(2rem,3.05vw,3.5rem); line-height:1.12; }
#programmes .section-head > p { max-width:36ch; justify-self:end; margin:0 0 3px; font-size:1rem; line-height:1.6; }
#programmes .programme-grid { gap:28px; }
#programmes .programme { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid #d9dfe0; }
#programmes .photo-link img { width:100%; height:auto; aspect-ratio:1.9; object-fit:cover; }
#programmes .photo-label { padding:10px 16px; font-size:.65rem; letter-spacing:.12em; }
#programmes .programme-copy { padding:24px; display:flex; flex-direction:column; flex:1; }
#programmes .home-section-title { font-size:clamp(1.5rem,2vw,2rem); line-height:1.18; margin:0 0 12px; text-wrap:balance; }
#programmes .home-tagline { font-size:1.12rem; line-height:1.45; margin-bottom:14px; }
#programmes .programme-copy > p:not(.home-tagline) { font-size:.95rem; line-height:1.7; margin-bottom:20px; max-width:none; }
#programmes .text-link { align-self:flex-start; margin-top:auto; gap:18px; font-size:.85rem; }
@media(max-width:760px) { #programmes { padding:30px 6% 40px; } #programmes .section-head { grid-template-columns:1fr; gap:12px; margin-bottom:22px; } #programmes .section-head > p { justify-self:start; max-width:38ch; } #programmes .programme-grid { grid-template-columns:1fr; gap:22px; } #programmes .programme-copy { padding:20px; } #programmes .photo-link img { aspect-ratio:1.65; } }

/* Align programme copy across both columns without fixed text heights. */
@media(min-width:761px) {
  #programmes .programme-grid { grid-template-rows:auto auto auto auto auto; row-gap:0; }
  #programmes .programme { display:grid; grid-template-rows:subgrid; grid-row:span 5; padding-bottom:24px; }
  #programmes .programme-copy { display:contents; }
  #programmes .programme-copy > * { margin-left:24px; margin-right:24px; }
  #programmes .programme-copy .home-section-title { margin:24px 24px 12px; }
  #programmes .programme-copy .home-tagline { margin:0 24px 14px; }
  #programmes .programme-copy > p:not(.home-tagline) { margin:0 24px 20px; }
  #programmes .programme-copy .text-link { margin:0 24px; justify-self:start; align-self:end; }
}

/* About Falcon: story, services and international experience. */
.about-page .section {padding:56px 7%;}
.about-page .page-hero {grid-template-columns:1.2fr 1fr;}
.about-page .page-hero > div {padding:56px 9% 56px 11.7%;}
.about-page .page-hero h1 {font-size:clamp(2.25rem,3.5vw,3.8rem);}
.about-page h2 {font-size:clamp(2rem,2.8vw,3rem);}
.about-story {display:grid;grid-template-columns:1fr 1.35fr;gap:56px;}
.about-story p:last-child {margin-bottom:0;}
.about-focus {background:var(--paper);}
.about-service-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.about-service-grid article {display:flex;flex-direction:column;border-top:2px solid var(--gold);padding-top:20px;}
.about-service-grid h3,.about-project-grid h3 {font-family:Georgia,serif;font-size:1.55rem;line-height:1.2;}
.about-service-grid p,.about-project-grid p {font-size:.95rem;line-height:1.7;}
.about-service-grid .text-link {margin-top:auto;align-self:flex-start;gap:14px;}
.about-project-lead {max-width:760px;}
.about-project-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.about-project-grid article {padding:26px;background:var(--paper);border:1px solid var(--line);}
.about-project-grid article > span {display:block;color:#826333;font-size:.65rem;letter-spacing:.1em;margin-bottom:14px;font-weight:700;}
.about-project-grid p {margin:0;}
@media(max-width:900px){.about-service-grid {grid-template-columns:1fr 1fr;}.about-story {gap:28px;}}
@media(max-width:760px){.about-page .section {padding:36px 6%;}.about-page .page-hero,.about-story,.about-service-grid,.about-project-grid {grid-template-columns:1fr;}.about-page .page-hero > div {padding:36px 6%;}.about-page .page-hero > img {max-height:230px;}.about-page .section-head {margin-bottom:24px;}.about-project-grid article {padding:22px;}}

/* Photographic sports project portfolio. */
.sports-experience {background:var(--paper);padding-top:56px;padding-bottom:56px;}
.sports-experience-heading {display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;margin-bottom:30px;}
.sports-experience-heading h2 {font-size:clamp(2rem,3vw,3.2rem);margin-bottom:0;}
.sports-experience-heading > p {margin:0;max-width:55ch;}
.sports-projects {display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;}
.sports-projects article {background:white;border:1px solid var(--line);overflow:hidden;}
.sports-projects article > img {width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;background:#e9edeb;}
.sports-project-copy {padding:26px;}
.sports-project-copy .eyebrow {font-size:.68rem;margin-bottom:12px;}
.sports-project-copy h3 {font:500 clamp(1.5rem,2vw,2rem)/1.2 Georgia,serif;letter-spacing:-.025em;margin-bottom:16px;}
.sports-project-copy > p:not(.eyebrow) {font-size:.95rem;line-height:1.7;}
.sports-project-copy .sports-scope {border-top:1px solid var(--line);padding-top:14px;margin-bottom:0;font-size:.75rem!important;color:#806338;font-weight:600;}
.sports-project-copy .mecap-mark {width:190px;max-width:100%;height:auto;object-fit:contain;margin-top:20px;}
.sports-experience-close {max-width:850px;margin:28px 0 0;}
@media(max-width:760px){.sports-experience{padding:36px 6%;}.sports-experience-heading,.sports-projects{grid-template-columns:1fr;gap:22px;}.sports-project-copy{padding:22px;}}
.sports-projects {align-items:stretch;}
.sports-projects article {display:flex;flex-direction:column;}
.sports-project-copy {display:flex;flex-direction:column;flex:1;}
.sports-project-copy .sports-scope {margin-top:auto;}

/* Education photos are displayed in full, without cropping. */
.page-hero.education-hero {display:block;}
.page-hero.education-hero > div:first-child {padding:42px 7%;max-width:1100px;}
.education-hero h1 {font-size:clamp(2.5rem,4vw,4.2rem);margin-bottom:20px;}
.education-hero h1 br {display:none;}
.education-hero > div:first-child > p:not(.eyebrow) {max-width:780px;}
.page-hero.education-hero .education-collage {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:18px;min-height:0;padding:0 7% 32px;background:var(--navy);}
.education-hero .education-collage figure {display:flex;align-items:center;justify-content:center;background:#172f40;}
.page-hero.education-hero .education-collage img {display:block;width:100%;height:clamp(240px,25vw,400px);max-height:none;object-fit:contain;object-position:center;transform:none!important;}
@media(max-width:760px){.page-hero.education-hero > div:first-child{padding:32px 6%;}.page-hero.education-hero .education-collage{grid-template-columns:1fr;gap:16px;padding:0 6% 24px;}.page-hero.education-hero .education-collage img{height:auto;max-height:none;object-fit:contain;}}

/* UK company information */
.uk-company-details {display:grid;grid-template-columns:1fr 1.35fr;gap:40px;align-items:start;border-top:1px solid var(--line);}
.uk-company-details h2 {margin-bottom:0;}
.uk-company-details dl {display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;margin:0;}
.uk-company-details dt {font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#826333;margin-bottom:8px;}
.uk-company-details dd {margin:0;font-size:1rem;line-height:1.6;color:var(--ink);}
.uk-company-details .company-address {grid-column:1/-1;}
@media(max-width:760px){.uk-company-details {grid-template-columns:1fr;gap:24px;}.uk-company-details dl {grid-template-columns:1fr;}}

/* Company details beneath the footer logo. */
.footer-company {max-width:290px;margin-top:22px;}
.footer-company > strong {display:block;color:#fff;font-size:1rem;font-weight:600;margin-bottom:16px;}
.footer-company dl {display:grid;gap:13px;margin:0;}
.footer-company dt {color:#dfc499;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;}
.footer-company dd {margin:0;color:#ccd6dc;font-size:.82rem;line-height:1.65;}

/* Compact footer identity and company registration. */
.footer-main {grid-template-columns:1.55fr .9fr 1fr 1.1fr;gap:36px;align-items:start;}
.footer-company {max-width:330px;margin-top:18px;}
.footer-company > strong {font-size:.95rem;letter-spacing:.015em;margin-bottom:7px;color:#f3f5f6;}
.footer-main .footer-company .footer-company-legal {font-size:.72rem;line-height:1.65;margin:0 0 13px;color:#b9c7cf;}
.footer-company-legal span {padding:0 4px;color:#c7a873;}
.footer-company address {font-style:normal;font-size:.8rem;line-height:1.65;color:#b9c7cf;}
@media(max-width:760px){.footer-main{grid-template-columns:1fr 1fr;gap:30px 22px;}.footer-main > div:first-child{grid-column:1/-1;}.footer-company{max-width:none;margin-top:16px;}.footer-company address{font-size:.82rem;}}
@media(max-width:380px){.footer-main{grid-template-columns:1fr;}}

.footer-company {margin-top:4px;}
.footer-main .footer-company .footer-company-legal {margin-bottom:7px;}

/* Left-align the footer identity with the company information. */
.footer-main .footer-logo {display:block;width:200px;max-width:100%;margin:0 0 16px;}
.footer-main .footer-logo img {display:block;width:100%;height:auto;}
.footer-main .footer-company {margin-top:0;}
.footer-main > div:first-child {min-width:0;}

/* Align the identity block vertically with the neighbouring footer lists. */
@media(min-width:761px){.footer-main > div:first-child {transform:translateY(-30px);}}
