:root{
  --green:#0f2a1d;
  --green-2:#173927;
  --gold:#b68b2e;
  --gold-soft:#d9bf75;
  --paper:#f7f6f1;
  --ink:#1f2421;
  --muted:#687068;
  --line:#ddd6c3;
  --white:#fff;
  --shadow:0 24px 60px rgba(15,42,29,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.55;position:relative;overflow-x:hidden}
body::before{content:'';position:fixed;top:190px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100vw - 52px));aspect-ratio:768 / 700;background:url('assets/eu-map-reference.png') center top / 100% auto no-repeat;opacity:.10;pointer-events:none;z-index:0}

a{color:inherit;text-decoration:none}
.site-header{background:var(--green);color:var(--white);position:sticky;top:0;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.15)}
.nav-wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:18px 26px 16px;min-height:150px}
.header-left-text{justify-self:start;text-transform:uppercase;font-size:12px;letter-spacing:.18em;color:var(--gold-soft);font-weight:800}.brand{display:flex;flex-direction:column;gap:6px}.logo-brand{display:flex;align-items:center;justify-content:center;justify-self:center}.brand-logo{display:block;width:360px;height:auto;max-height:128px;object-fit:contain}.brand-name{font-family:Georgia,Times New Roman,serif;font-size:34px;letter-spacing:.035em}.brand-tagline{text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:var(--gold-soft);font-weight:700}.nav-links{display:flex;gap:10px;align-items:center;justify-self:end}.nav-links a{padding:10px 14px;border:1px solid transparent;border-radius:999px;color:#e9eee8;font-size:14px}.nav-links a.active,.nav-links a:hover{border-color:rgba(217,191,117,.8);color:#fff;background:rgba(255,255,255,.06)}.mobile-menu{display:none;justify-self:end;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:8px;font-size:22px;padding:5px 10px}.gold-line{height:12px;background:var(--gold)}
main{max-width:1180px;margin:0 auto;padding:54px 26px 70px;position:relative;z-index:1}.tab-panel{display:none}.tab-panel.active{display:block}.hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;align-items:stretch}.hero-copy,.page-intro,.panel,.service-card,.booking-form,.summary-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:2px}.hero-copy{padding:56px}.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.17em;color:var(--gold);font-size:12px;font-weight:800}h1,h2{font-family:Georgia,Times New Roman,serif;color:var(--green);line-height:1.1}h1{font-size:52px;margin:0 0 20px}h2{font-size:30px;margin:0 0 18px}.lead{font-size:19px;color:#3d463f;max-width:780px}.narrow{max-width:850px}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 19px;font-weight:750;border:1px solid var(--green);cursor:pointer}.btn.primary{background:var(--green);color:var(--white)}.btn.secondary{background:transparent;color:var(--green)}.btn:hover{transform:translateY(-1px)}.wide{width:100%;margin-top:16px}.hero-card,.summary-card{background:var(--green);color:#fff;border-radius:2px;padding:34px;border-bottom:12px solid var(--gold);box-shadow:var(--shadow)}.card-label{display:block;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-soft);font-size:12px;font-weight:800;margin-bottom:16px}.hero-card strong,.summary-card strong{font-family:Georgia,Times New Roman,serif;font-size:44px;display:block;margin-bottom:16px}.small-note{color:rgba(255,255,255,.76);font-size:14px}.content-grid{display:grid;gap:26px;margin-top:30px}.two-col{grid-template-columns:1fr 1fr}.panel{padding:34px}.dark-panel{background:var(--green);color:#fff}.dark-panel h2{color:#fff}.light-panel{background:#fff}.feed-card{border-top:1px solid rgba(182,139,46,.4);padding:18px 0}.feed-card:first-child{border-top:0}.feed-card time{font-size:12px;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.feed-card h3{margin:6px 0 6px;font-size:18px}.feed-card p{margin:0;color:inherit;opacity:.82}.page-intro{padding:46px 52px;margin-bottom:30px}.offer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.service-card{padding:32px}.service-card span{color:var(--gold);font-weight:900;letter-spacing:.18em}.service-card h2{font-size:27px;margin-top:10px}.service-card p{color:#3f4942}.service-card ul{padding-left:18px;color:#3f4942}.service-card li{margin:6px 0}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}.booking-form{padding:34px}fieldset{border:0;padding:0;margin:0 0 28px}legend{font-family:Georgia,Times New Roman,serif;font-size:25px;color:var(--green);margin-bottom:14px}.choice{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;border:1px solid var(--line);padding:15px;margin-bottom:10px;background:#fff}.choice input{margin-top:4px}.choice small{display:block;color:var(--muted);margin-top:3px}.choice em{font-style:normal;color:var(--green);font-weight:800;white-space:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-weight:700;color:var(--green)}input,textarea{width:100%;margin-top:7px;border:1px solid var(--line);padding:12px 13px;font:inherit;background:#fff;color:var(--ink)}textarea{resize:vertical}.summary-items{border-top:1px solid rgba(255,255,255,.2);margin-top:18px;padding-top:16px}.summary-items div{display:flex;justify-content:space-between;gap:12px;margin:9px 0;color:rgba(255,255,255,.9)}.form-status{font-weight:700;color:var(--green)}.footer{max-width:1180px;margin:0 auto;padding:24px 26px 42px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:14px;position:relative;z-index:1}.footer a{color:var(--green);font-weight:800}
@media(max-width:880px){.nav-wrap{grid-template-columns:1fr auto 1fr;min-height:112px;gap:10px;padding:14px 18px 12px}.header-left-text{font-size:10px;letter-spacing:.14em;line-height:1.25;max-width:130px}.mobile-menu{display:block}.nav-links{display:none;position:absolute;right:18px;top:108px;background:var(--green);border:1px solid rgba(255,255,255,.2);padding:10px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.hero,.two-col,.offer-list,.booking-layout{grid-template-columns:1fr}h1{font-size:38px}.hero-copy,.page-intro{padding:34px}.brand-logo{width:220px;max-height:88px}.brand-name{font-size:26px}.footer{flex-direction:column}.form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.nav-wrap{grid-template-columns:1fr auto;min-height:auto}.header-left-text{grid-column:1;grid-row:1}.logo-brand{grid-column:1 / -1;grid-row:2}.mobile-menu{grid-column:2;grid-row:1}.brand-logo{width:230px;max-height:92px}.nav-links{top:150px}}
.programme{font-size:13px;font-weight:800;color:var(--gold-soft);margin-top:4px!important}.deadline{margin-top:8px!important}.oakthorpe-comment{margin-top:10px!important;border-left:3px solid var(--gold);padding-left:10px}.text-link{display:inline-block;margin-top:10px;color:var(--gold-soft);font-weight:800;text-decoration:underline;text-underline-offset:3px}.light-panel .text-link{color:var(--green)}
.feed-slider{position:relative;overflow:hidden;min-height:360px}.slider-track{display:flex;transition:transform .35s ease;will-change:transform}.slider-card{min-width:100%;padding-right:4px}.slider-controls{display:flex;align-items:center;gap:12px;justify-content:flex-end;border-top:1px solid rgba(182,139,46,.35);padding-top:14px;margin-top:14px}.slider-btn{width:34px;height:34px;border-radius:999px;border:1px solid rgba(217,191,117,.75);background:rgba(255,255,255,.08);color:inherit;font-size:24px;line-height:1;cursor:pointer}.slider-btn:hover{background:rgba(182,139,46,.2)}.slider-count{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);font-weight:800}.light-panel .slider-btn{color:var(--green);background:#fff}.light-panel .slider-count{color:var(--gold)}.empty-feed{opacity:.8;margin:0}.feed-card p{max-height:165px;overflow:auto;padding-right:3px}

@media(max-width:880px){}
@media(max-width:560px){}

@media(max-width:880px){body::before{top:164px;width:calc(100vw - 36px);opacity:.09}}
@media(max-width:560px){body::before{top:198px;width:calc(100vw - 28px);opacity:.08}}

.language-switch{justify-self:end;display:flex;align-items:center;gap:8px;color:var(--gold-soft);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.language-switch select{margin:0;width:auto;padding:8px 10px;border-radius:999px;border:1px solid rgba(217,191,117,.75);background:rgba(255,255,255,.06);color:#fff;font-weight:800}.language-switch option{color:#111}.nav-wrap{grid-template-columns:1fr auto 1.1fr auto}.availability-fieldset{background:#faf8f0;border:1px solid var(--line);padding:20px;margin-top:8px}.availability-note{margin-top:0;color:#4c554e}.availability-status{font-weight:800;color:var(--green);margin:8px 0 12px}.slot-picker{display:flex;flex-wrap:wrap;gap:9px}.slot-choice{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-weight:800;color:var(--green);cursor:pointer}.slot-choice input{width:auto;margin:0}.slot-choice:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 2px rgba(182,139,46,.18)}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:start}.contact-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:34px}.contact-card h2{margin-top:0}.small-dark{color:var(--muted);font-size:14px}.compact-form{display:grid;gap:14px}.newsletter-box{margin-top:26px;border-top:1px solid var(--line);padding-top:24px}.agency-strip{margin:44px 0 0;background:rgba(255,255,255,.76);border:1px solid var(--line);box-shadow:var(--shadow);padding:22px 0 18px;overflow:hidden}.agency-strip .eyebrow{padding:0 26px}.agency-slider{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.agency-track{display:flex;gap:18px;width:max-content;animation:agency-marquee 34s linear infinite;padding:18px}.agency-track span{min-width:160px;text-align:center;border:1px solid rgba(15,42,29,.22);border-bottom:5px solid var(--gold);padding:14px 18px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:800;color:var(--green);background:#fbfaf6;letter-spacing:.04em}.agency-slider:hover .agency-track{animation-play-state:paused}@keyframes agency-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(max-width:880px){.nav-wrap{grid-template-columns:1fr auto auto;}.language-switch{grid-column:2;grid-row:1}.contact-layout{grid-template-columns:1fr}.agency-track span{min-width:132px;font-size:15px}.nav-links{right:18px;top:120px}}@media(max-width:560px){.language-switch span{display:none}.nav-wrap{grid-template-columns:1fr auto auto}.logo-brand{grid-column:1 / -1;grid-row:2}.language-switch{grid-column:2;grid-row:1}.mobile-menu{grid-column:3;grid-row:1}}

/* Header centering fix: keep logo geometrically centered independent of menu/language width */
.site-header .nav-wrap{
  position:relative;
  display:flex;
  align-items:center;
  max-width:1180px;
  min-height:150px;
  grid-template-columns:none;
}
.site-header .header-left-text{
  flex:0 0 auto;
  max-width:240px;
  margin-right:24px;
}
.site-header .logo-brand{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:1;
  justify-self:auto;
}
.site-header .brand-logo{
  width:360px;
  max-height:128px;
}
.site-header .language-switch{
  margin-left:auto;
  order:3;
  position:relative;
  z-index:2;
}
.site-header .nav-links{
  order:4;
  margin-left:12px;
  justify-self:auto;
  position:relative;
  z-index:2;
}
.site-header .mobile-menu{
  order:5;
  position:relative;
  z-index:3;
}
@media(max-width:1080px){
  .site-header .brand-logo{width:300px;max-height:112px}
  .site-header .nav-links{gap:6px}
  .site-header .nav-links a{padding:9px 10px;font-size:13px}
  .site-header .language-switch span{display:none}
}
@media(max-width:880px){
  .site-header .nav-wrap{display:grid;grid-template-columns:1fr auto auto;min-height:116px;gap:10px;padding:14px 18px 12px}
  .site-header .header-left-text{grid-column:1;grid-row:1;max-width:150px;margin-right:0}
  .site-header .logo-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  .site-header .brand-logo{width:220px;max-height:88px}
  .site-header .language-switch{grid-column:2;grid-row:1;margin-left:0}
  .site-header .mobile-menu{grid-column:3;grid-row:1;display:block}
  .site-header .nav-links{display:none;position:absolute;right:18px;top:116px;margin-left:0;background:var(--green);border:1px solid rgba(255,255,255,.2);padding:10px;flex-direction:column;align-items:stretch}
  .site-header .nav-links.open{display:flex}
}
@media(max-width:560px){
  .site-header .nav-wrap{grid-template-columns:1fr auto auto;min-height:138px}
  .site-header .logo-brand{top:78px}
  .site-header .brand-logo{width:230px;max-height:92px}
  .site-header .nav-links{top:138px}
}


/* Dropdown header redesign: keep logo dead center and place all navigation/language inside a single menu */
.site-header .nav-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1180px;
  min-height:150px;
  padding:18px 26px 16px;
}
.site-header .header-left-text{
  flex:0 0 auto;
  max-width:240px;
  margin-right:24px;
}
.site-header .logo-brand{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:1;
}
.site-header .brand-logo{
  width:360px;
  max-height:128px;
}
.site-header .header-actions{
  margin-left:auto;
  position:relative;
  z-index:4;
}
.site-header .mobile-menu{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff;
  border:1px solid rgba(217,191,117,.7);
  font-size:30px;
  line-height:1;
  padding:0;
  cursor:pointer;
}
.site-header .mobile-menu:hover{
  background:rgba(255,255,255,.12);
}
.site-header .nav-links{
  display:none;
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  width:min(320px, calc(100vw - 32px));
  background:var(--green);
  border:1px solid rgba(217,191,117,.35);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  border-radius:16px;
  padding:14px;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
}
.site-header .nav-links.open{
  display:flex;
}
.site-header .nav-links a{
  width:100%;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  padding:12px 14px;
  color:#f2f4f1;
  font-size:14px;
  text-align:left;
}
.site-header .nav-links a.active,
.site-header .nav-links a:hover{
  border-color:rgba(217,191,117,.8);
  background:rgba(255,255,255,.08);
}
.site-header .language-switch{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:4px 2px 12px;
  margin:0 0 4px;
  border-bottom:1px solid rgba(217,191,117,.28);
  color:var(--gold-soft);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
}
.site-header .language-switch select{
  margin:0;
  width:auto;
  min-width:84px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(217,191,117,.75);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-weight:800;
}
.site-header .language-switch option{color:#111}
@media(max-width:1080px){
  .site-header .brand-logo{width:300px;max-height:112px}
}
@media(max-width:880px){
  .site-header .nav-wrap{min-height:118px;padding:14px 18px 12px}
  .site-header .header-left-text{max-width:160px;font-size:10px;letter-spacing:.14em;line-height:1.3;margin-right:12px}
  .site-header .brand-logo{width:220px;max-height:88px}
  .site-header .nav-links{top:calc(100% + 10px);width:min(300px, calc(100vw - 24px))}
}
@media(max-width:560px){
  .site-header .nav-wrap{min-height:138px;align-items:flex-start;padding-top:14px}
  .site-header .header-left-text{max-width:120px}
  .site-header .logo-brand{top:76px}
  .site-header .brand-logo{width:230px;max-height:92px}
  .site-header .mobile-menu{width:44px;height:44px;font-size:26px}
  .site-header .nav-links{top:112px;right:0;width:min(280px, calc(100vw - 20px))}
}


/* Main page: grant counter removed, hero now spans full content width */
#about .hero{grid-template-columns:1fr;}
#about .hero-copy{max-width:none;}
