/* Behind Eleven: one stylesheet for every page.
   Navy #13152A and off-white #F2F1F1, Archivo (extra-condensed capitals for display), square, flat. */

:root{
  --navy:#13152A;       /* hero, footer, form, the highlighted fee */
  --paper:#F2F1F1;      /* body ground */
  --grey:#ECEBEA;       /* raised blocks on the body */
  --mid:#4D5462;        /* secondary text on light */
  --rule:#C9C7C7;       /* dividers */
  --on-navy:#D9D8E0;    /* text on navy */
  --muted:#B5B4C2;      /* secondary text on navy */
  --line-navy:#3A3E5C;  /* dividers on navy */
  --err-light:#9E1F2A;  /* form errors on light */
  --err-dark:#F2A7AE;   /* form errors on navy */
  --display:"Archivo","Arial Narrow",sans-serif;  /* always set at 62% width, 850 weight */
  --body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --gutter:clamp(16px,5vw,48px);
  --max:1200px;
  --header:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--navy);color:var(--paper)}
.navy ::selection{background:var(--paper);color:var(--navy)}
a{color:inherit}
img{max-width:100%;display:block}
p{margin:0}
h1,h2,h3{font-family:var(--display);font-stretch:62%;font-weight:850;text-transform:uppercase;line-height:.96;letter-spacing:0;word-spacing:.05em;margin:0;text-wrap:balance}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.navy :focus-visible{outline-color:var(--paper)}
section[id]{scroll-margin-top:calc(var(--header) + 8px)}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.navy{background:var(--navy);color:var(--on-navy)}
.navy h1,.navy h2,.navy h3{color:var(--paper)}
.navy .link{color:var(--paper)}

/* Buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;font-family:var(--body);font-weight:700;font-size:16px;letter-spacing:.01em;text-decoration:none;border:2px solid transparent;border-radius:0;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.btn-solid{background:var(--navy);color:var(--paper)}
.btn-solid:hover{background:#2A2E52}
.navy .btn-solid{background:var(--paper);color:var(--navy)}
.navy .btn-solid:hover{background:var(--on-navy)}
.btn[disabled]{opacity:.65;cursor:progress}
.link{font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.link:hover{text-decoration-thickness:3px}
.go{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(28px,4vw,40px);font-weight:700;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:4px}
.go svg{flex:none;transition:transform .2s ease}
.go:hover svg{transform:translateX(4px)}

/* Header */
.site-head{position:sticky;top:0;z-index:20;border-bottom:1px solid #2A2D47}
.site-head .wrap{display:flex;align-items:center;gap:28px;min-height:var(--header)}
.brand{margin-right:auto;display:block}
.brand img{height:34px;width:auto}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--muted);text-decoration:none;font-size:15px;font-weight:500}
.nav-links a:hover{color:var(--paper)}
.nav-links a[aria-current="page"]{color:var(--paper);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px}
.site-head .btn{min-height:44px;padding:0 18px;font-size:15px}
.nav-toggle{display:none;min-height:44px;padding:0 14px;background:transparent;color:var(--paper);border:1px solid var(--line-navy);font:600 14px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
@media (max-width:900px){
  .site-head .wrap{gap:12px}
  .nav-toggle{display:inline-flex;align-items:center}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:4px var(--gutter) 12px;background:var(--navy);border-bottom:1px solid #2A2D47}
  .site-head.open .nav-links{display:flex}
  .nav-links li + li{border-top:1px solid #2A2D47}
  .nav-links a{display:flex;align-items:center;min-height:52px;font-size:17px}
}
.site-head .btn{white-space:nowrap}
@media (max-width:440px){.site-head .btn{padding:0 12px;font-size:14px}.brand img{height:28px}}
@media (max-width:400px){.site-head .btn{display:none}}

/* Hero */
.hero{padding-block:clamp(56px,9vw,120px) clamp(64px,9vw,128px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,88px);align-items:center}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(20px,3vw,28px)}
.hero h1{font-size:clamp(52px,7.6vw,96px)}
.hero .sub{margin-top:clamp(22px,3vw,30px);font-size:clamp(17px,1.6vw,20px);line-height:1.55;max-width:54ch}
.hero-cta{margin-top:clamp(28px,4vw,40px);display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.hero-cta .link{color:var(--paper)}
/* Route check board: the sample's Player A, checked route by route.
   The markup's default is the finished check; .play rewinds it and the s1..s7 steps rebuild it. */
.route-map{display:flex;flex-direction:column;gap:14px}
.rc{width:100%;height:auto;display:block;overflow:visible}
.rc text{font-family:var(--body)}
.rc .kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;fill:var(--muted)}
.rc .base{fill:none;stroke:var(--line-navy);stroke-width:2;stroke-dasharray:2 6}
.rc .trace{fill:none;stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:0;stroke-linecap:square;transition:stroke-dashoffset .85s cubic-bezier(.65,0,.35,1)}
.rc .t1{stroke:#6E7291}
.rc .t2{stroke:var(--paper);stroke-width:3.5}
.rc .t3{stroke:var(--muted)}
.rc .player rect{fill:var(--navy);stroke:var(--paper);stroke-width:2}
.rc .player .name{font-family:var(--display);font-stretch:62%;font-weight:850;font-size:26px;fill:var(--paper);text-transform:uppercase}
.rc .player .pm{font-size:13px;fill:var(--muted)}
.rc .chip rect{fill:transparent;stroke:var(--line-navy);stroke-width:2;transition:fill .45s ease,stroke .45s ease}
.rc .chip .title{font-size:15px;font-weight:600;fill:var(--on-navy);transition:fill .45s ease}
.rc .chip .status{font-size:13px;fill:var(--muted);transition:opacity .4s ease,fill .45s ease}
.rc .chip .mark{fill:none;stroke-width:2.5;stroke-linecap:square;transition:opacity .4s ease}
.rc .c1 rect{stroke-dasharray:5 5}
.rc .c1 .title{fill:var(--muted)}
.rc .c1 .mark{stroke:var(--muted)}
.rc .c2 rect{fill:var(--paper);stroke:var(--paper)}
.rc .c2 .title{fill:var(--navy)}
.rc .c2 .status{fill:var(--navy);font-weight:700}
.rc .c2 .mark{stroke:var(--navy)}
.rc .c3 rect{stroke:var(--muted)}
.rc .c3 .status{fill:var(--on-navy)}
.rc .c3 .mark{stroke:var(--on-navy)}
.rc .verdict{transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1)}
.rc .verdict .label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;fill:var(--muted)}
.rc .verdict .word{font-family:var(--display);font-stretch:62%;font-weight:850;font-size:30px;fill:var(--paper);text-transform:uppercase}
.rc .verdict line{stroke:var(--line-navy);stroke-width:1}
/* Rewound state while playing */
.rc.reset *{transition:none !important}
.rc.play .trace{stroke-dashoffset:1}
.rc.play .chip .status,.rc.play .chip .mark{opacity:0}
.rc.play .c1 rect{stroke-dasharray:none}
.rc.play .c1 .title{fill:var(--on-navy)}
.rc.play .c2 rect{fill:transparent;stroke:var(--line-navy)}
.rc.play .c2 .title{fill:var(--on-navy)}
.rc.play .c3 rect{stroke:var(--line-navy)}
.rc.play .verdict{opacity:0;transform:translateY(8px)}
/* Steps */
.rc.play.s1 .t1,.rc.play.s3 .t2,.rc.play.s5 .t3{stroke-dashoffset:0}
.rc.play.s2 .c1 .status,.rc.play.s2 .c1 .mark,.rc.play.s4 .c2 .status,.rc.play.s4 .c2 .mark,.rc.play.s6 .c3 .status,.rc.play.s6 .c3 .mark{opacity:1}
.rc.play.s2 .c1 rect{stroke-dasharray:5 5}
.rc.play.s2 .c1 .title{fill:var(--muted)}
.rc.play.s4 .c2 rect{fill:var(--paper);stroke:var(--paper)}
.rc.play.s4 .c2 .title{fill:var(--navy)}
.rc.play.s6 .c3 rect{stroke:var(--muted)}
.rc.play.s7 .verdict{opacity:1;transform:none}
.rc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;font-size:14px;color:var(--muted)}
.rc-replay{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;background:transparent;color:var(--paper);border:1px solid var(--line-navy);font:600 14px/1 var(--body);cursor:pointer}
.rc-replay:hover{border-color:var(--muted)}
.rc-replay[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){
  .rc .base{animation:flow 1.4s linear infinite}
}
@keyframes flow{to{stroke-dashoffset:-16}}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.route-map{max-width:520px}}

/* Sections */
.section{padding-block:clamp(72px,10vw,128px)}
.section + .section{border-top:1px solid var(--rule)}
.section.navy,.section.navy + .section{border-top:0}
.sec-title{font-size:clamp(40px,5.4vw,68px);margin-bottom:clamp(36px,5vw,56px)}

/* Number vs route */
.versus{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border-top:2px solid var(--navy)}
.versus > div{padding-top:clamp(28px,4vw,40px)}
.versus > div:first-child{padding-right:clamp(28px,5vw,64px)}
.versus > div + div{border-left:1px solid var(--rule);padding-left:clamp(28px,5vw,64px)}
.versus h2{font-size:clamp(28px,3vw,38px);margin-bottom:clamp(24px,3vw,32px)}
.versus .one{font-family:var(--display);font-stretch:62%;font-weight:850;text-transform:uppercase;font-size:clamp(40px,5vw,64px);line-height:1;color:var(--mid)}
.gives{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.gives li{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);gap:8px 24px;align-items:baseline;padding-block:18px;border-bottom:1px solid var(--rule)}
.gives b{font-family:var(--display);font-stretch:62%;font-weight:850;text-transform:uppercase;font-size:clamp(24px,2.4vw,30px);line-height:1}
.gives span{color:var(--mid)}
@media (max-width:820px){
  .versus{grid-template-columns:minmax(0,1fr)}
  .versus > div:first-child{padding-right:0;padding-bottom:clamp(36px,6vw,48px)}
  .versus > div + div{border-left:0;padding-left:0;border-top:1px solid var(--rule)}
  .gives li{grid-template-columns:minmax(0,1fr)}
}

/* Fees */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.card{background:var(--grey);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:20px;min-width:0}
.card.navy{background:var(--navy)}
.card h3{font-size:clamp(28px,2.6vw,34px)}
.price{font-family:var(--display);font-stretch:62%;font-weight:850;text-transform:uppercase;font-size:clamp(56px,6vw,80px);line-height:.95;color:var(--navy)}
.card.navy .price{color:var(--paper)}
.meta{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.card.navy .meta{color:var(--muted)}
.ticks{list-style:none;margin:0;padding:18px 0 0;display:grid;gap:12px;border-top:1px solid var(--rule)}
.card.navy .ticks{border-top-color:var(--line-navy)}
.ticks li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:14px;align-items:baseline;font-size:16px;line-height:1.5}
.ticks li::before{content:"";width:8px;height:8px;background:currentColor;transform:translateY(-1px)}
.card .btn{margin-top:auto;width:100%}
.strips{margin-top:16px;display:grid;gap:16px}
.strip{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) minmax(0,3fr);gap:24px;align-items:center;padding:clamp(22px,3vw,30px) clamp(24px,3vw,36px);border:2px solid var(--navy)}
.strip h3{font-size:clamp(26px,2.4vw,32px)}
.strip p{color:var(--mid)}
.strip .price{font-size:clamp(36px,4vw,52px);text-align:right;color:var(--navy);white-space:nowrap}
.fee-note{margin-top:20px;color:var(--mid);font-size:15px}
@media (max-width:900px){.cards{grid-template-columns:minmax(0,1fr)}.strip{grid-template-columns:minmax(0,1fr);gap:10px}.strip .price{text-align:left}}

/* How it works */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
.steps li{border-top:2px solid var(--navy);padding-top:24px;display:flex;flex-direction:column;gap:18px}
.num{font-family:var(--display);font-stretch:62%;font-weight:850;font-size:clamp(72px,9vw,120px);line-height:.85;color:var(--navy)}
.steps p{font-size:clamp(18px,1.6vw,20px);line-height:1.5;max-width:30ch}
@media (max-width:820px){.steps{grid-template-columns:minmax(0,1fr)}}

/* Sample */
.sample{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:center}
.sheet{display:block;max-width:400px;width:100%;border:1px solid var(--rule);box-shadow:0 26px 50px -20px rgba(19,21,42,.4);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease}
.sheet img{width:100%;height:auto}
.sheet:hover{transform:translateY(-4px);box-shadow:0 34px 60px -22px rgba(19,21,42,.45)}
.sample-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.sample-copy .sec-title{margin-bottom:0}
.caption{color:var(--mid);font-size:15px}
@media (max-width:820px){.sample{grid-template-columns:minmax(0,1fr)}.sheet{max-width:280px}}

/* Arrival plan */
.section.arrival{background:var(--grey);border-top:0}
.section.arrival + .section{border-top:0}
.arrival-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start}
.arrival h2{font-size:clamp(34px,4vw,52px)}
.arrival .lede{font-size:clamp(18px,1.7vw,21px);line-height:1.5;max-width:46ch}
.arrival .fee{margin-top:20px;font-weight:700;font-size:18px}
.small{margin-top:14px;color:var(--mid);font-size:14px}
@media (max-width:820px){.arrival-grid{grid-template-columns:minmax(0,1fr)}}

/* Why */
.why{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--navy)}
.why li{padding:clamp(22px,3vw,32px) clamp(20px,2.4vw,28px) 0 0;font-size:clamp(18px,1.6vw,20px);line-height:1.45;font-weight:500}
.why li + li{padding-left:clamp(20px,2.4vw,28px);border-left:1px solid var(--rule)}
@media (max-width:820px){.why{grid-template-columns:minmax(0,1fr)}.why li{padding-right:0}.why li + li{border-left:0;padding-left:0;border-top:1px solid var(--rule);margin-top:22px}}

/* Request */
.request{padding-block:clamp(72px,10vw,128px)}
.request-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.request h2{font-size:clamp(44px,5.6vw,72px)}
.request .sub{margin-top:22px;font-size:clamp(17px,1.6vw,20px);line-height:1.55;max-width:40ch}
.contact{margin-top:clamp(32px,5vw,48px);padding-top:24px;border-top:1px solid var(--line-navy);display:grid;gap:2px}
.contact .who{color:var(--paper);font-weight:700;font-size:18px;margin-bottom:6px}
.contact .who span{color:var(--muted);font-weight:500}
.contact a{color:var(--paper);font-weight:600;text-decoration:none;font-size:18px;min-height:44px;display:inline-flex;align-items:center;width:max-content;max-width:100%;overflow-wrap:anywhere}
.contact a:hover{text-decoration:underline;text-underline-offset:5px}
form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 18px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field.full{grid-column:1/-1}
label{font-size:14px;font-weight:600;color:var(--on-navy)}
label .opt{font-weight:400;color:var(--muted)}
input,textarea,select{font:inherit;font-size:16px;color:var(--navy);background:var(--paper);border:2px solid var(--paper);border-radius:0;padding:12px 14px;width:100%;min-height:50px;caret-color:var(--navy)}
input::placeholder,textarea::placeholder{color:var(--mid);opacity:1}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--paper);outline-offset:2px}
input[type="date"]{color-scheme:light}
textarea{min-height:120px;resize:vertical}
[aria-invalid="true"]{border-color:var(--err-dark);box-shadow:inset 0 0 0 2px #9E1F2A}
.check{grid-column:1/-1;display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:start;font-weight:400;font-size:15px;line-height:1.5}
.check input{width:22px;height:22px;min-height:0;margin:2px 0 0;padding:0;accent-color:var(--paper)}
.check input[aria-invalid="true"]{box-shadow:none;outline:2px solid var(--err-dark);outline-offset:2px}
.check a{color:var(--paper);font-weight:600}
.form-foot{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.status{min-height:1.5em;font-size:15px}
.status.ok{color:var(--paper);font-weight:600}
.status.err{color:var(--err-dark)}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:900px){.request-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){form{grid-template-columns:minmax(0,1fr)}.form-foot .btn{width:100%}}

/* Footer */
.site-foot{border-top:1px solid #2A2D47;padding-block:36px 44px;font-size:14px;line-height:1.6;color:var(--muted)}
.site-foot p{max-width:96ch}

@media (prefers-reduced-motion:reduce){.btn,.go svg,.sheet{transition:none}.sheet:hover{transform:none}}

/* ==========================================================================
   Site pages: home and media. Same tokens, type and grammar as the GBE page.
   ========================================================================== */

/* Section heads with an intro beside the title */
.sec-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px clamp(32px,5vw,72px);align-items:end;margin-bottom:clamp(36px,5vw,56px)}
.sec-head .sec-title{margin-bottom:0}
.sec-head p{color:var(--mid);font-size:18px;line-height:1.55;max-width:46ch}
.navy .sec-head p{color:var(--muted)}
@media (max-width:820px){.sec-head{grid-template-columns:minmax(0,1fr)}}

/* Hero pitch: the 4-3-3 behind the name, in the route board's line language */
.pitch{width:100%;height:auto;display:block}
.pitch .chalk{fill:none;stroke:var(--line-navy);stroke-width:2}
.pitch .spot{fill:var(--line-navy)}
.pitch .link-line{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:2 6}
.pitch .player circle{fill:var(--navy);stroke:var(--paper);stroke-width:2}
.pitch .player text{fill:var(--paper);font:600 13px var(--body);text-anchor:middle;dominant-baseline:central}
.pitch .be rect{fill:var(--paper)}
.pitch .be text{fill:var(--navy);font-family:var(--display);font-stretch:62%;font-weight:850;font-size:22px;text-anchor:middle;dominant-baseline:central}
@media (prefers-reduced-motion:no-preference){.pitch .link-line{animation:flow 1.4s linear infinite}}
@media (max-width:900px){.pitch-wrap{max-width:560px}}

/* Credentials strip */
.creds{border-bottom:1px solid var(--rule)}
.creds ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.creds li{padding:26px 20px 26px 0;display:flex;flex-direction:column;gap:6px;color:var(--mid);font-size:15px;line-height:1.45}
.creds li + li{padding-left:20px;border-left:1px solid var(--rule)}
.creds strong{color:var(--navy);font-family:var(--display);font-stretch:62%;font-weight:850;text-transform:uppercase;font-size:26px;line-height:1}
@media (max-width:860px){.creds ul{grid-template-columns:repeat(2,minmax(0,1fr))}.creds li:nth-child(3){padding-left:0;border-left:0}.creds li:nth-child(n+3){border-top:1px solid var(--rule)}}

/* Services */
.svc{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.svc li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);grid-template-areas:"h p i" "t p i";column-gap:clamp(24px,4vw,56px);row-gap:8px;padding-block:28px;border-bottom:1px solid var(--rule);align-items:start}
.svc-photo{grid-area:i;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--grey)}
.svc h3{grid-area:h;font-size:clamp(26px,2.6vw,34px)}
.svc .tag{grid-area:t;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
.svc p{grid-area:p;font-size:18px;line-height:1.6;max-width:58ch}
@media (max-width:820px){.svc li{grid-template-columns:minmax(0,1fr);grid-template-areas:"i" "h" "t" "p"}.svc-photo{aspect-ratio:16/8;margin-bottom:8px}}

/* Markets: flat cards, navy duotone photo on top, live local time (not links, so no hover state) */
.markets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.city{background:var(--grey);padding:0 20px 24px;display:flex;flex-direction:column;gap:12px;min-height:240px;min-width:0}
.city-photo{margin:0 -20px 10px;width:calc(100% + 40px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover}
.city-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
.city .tz{color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.city h3{font-size:clamp(36px,3.4vw,46px)}
.city p{margin-top:auto;color:var(--mid);font-size:15px;line-height:1.5}
@media (max-width:1000px){.markets{grid-template-columns:repeat(2,minmax(0,1fr))}.city{min-height:200px}}
@media (max-width:560px){.markets{grid-template-columns:minmax(0,1fr)}.city{min-height:0}.city-photo{aspect-ratio:16/9}}

/* Home GBE band */
.gbe-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,88px);align-items:start}
.gbe-copy p{max-width:56ch}
.gbe-copy p + p{margin-top:16px}
.gbe-copy strong{color:var(--paper);font-weight:600}
.howto{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--line-navy)}
.howto li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding-block:18px;border-bottom:1px solid var(--line-navy)}
.howto .n{font-family:var(--display);font-stretch:62%;font-weight:850;font-size:30px;line-height:1;color:var(--paper)}
.howto b{display:block;color:var(--paper);font-weight:700}
.howto span{color:var(--muted);font-size:16px}
@media (max-width:900px){.gbe-grid{grid-template-columns:minmax(0,1fr)}.gbe-grid .route-map{max-width:520px}}

/* Team */
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--navy)}
.agent{padding:24px 24px 0 0;display:flex;flex-direction:column;gap:12px;min-width:0}
.agent + .agent{padding-left:24px;border-left:1px solid var(--rule)}
.agent-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
.agent-top .clock{color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.agent h3{font-size:clamp(28px,2.6vw,36px);min-height:1.92em}
.agent .role{font-size:15px;font-weight:600}
.agent .role span{display:block;font-weight:400;color:var(--mid)}
.agent .focus{margin-top:auto;padding-top:14px;border-top:1px solid var(--rule);color:var(--mid);font-size:16px;line-height:1.5}
@media (max-width:980px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}.agent:nth-child(3){padding-left:0;border-left:0}.agent:nth-child(n+3){margin-top:28px}}
@media (max-width:560px){.team{grid-template-columns:minmax(0,1fr)}.agent,.agent + .agent{padding:24px 0 0;border-left:0}.agent + .agent{margin-top:28px;border-top:1px solid var(--rule)}.agent h3{min-height:0}}

/* Publication card */
.pub-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.pub{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;background:var(--grey);padding:clamp(22px,3.4vw,40px)}
.pub img{width:100%;height:auto;box-shadow:0 18px 36px -16px rgba(19,21,42,.45)}
.pub-body{display:flex;flex-direction:column;gap:14px;min-width:0}
.when{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mid)}
.pub h2,.pub h3{font-size:clamp(28px,3vw,40px)}
.pub p{color:var(--mid);max-width:60ch}
.pub-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:6px}
@media (max-width:700px){.pub{grid-template-columns:minmax(0,1fr)}.pub img{max-width:160px}}

/* Contact block on home */
.email{display:inline-block;font-family:var(--body);font-weight:700;font-size:clamp(22px,2.2vw,28px);line-height:1.2;color:var(--paper);text-decoration:none;overflow-wrap:anywhere}
.email:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.email-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px}
.copy{min-height:44px;padding:0 14px;background:transparent;color:var(--paper);border:1px solid var(--line-navy);font:600 14px/1 var(--body);cursor:pointer}
.copy:hover{border-color:var(--muted)}
.detail{display:grid;gap:10px;margin-top:clamp(28px,4vw,40px)}
.detail .label{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.consent{grid-column:1/-1;color:var(--muted);font-size:14px}
.consent a{color:var(--paper)}

/* Social links */
.social{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;list-style:none;margin:0;padding:0}
.social a{display:inline-flex;align-items:center;min-height:44px;color:var(--paper);text-decoration:none;font-weight:600;font-size:15px}
.social a:hover{text-decoration:underline;text-underline-offset:5px}

/* Full footer (home and media pages) */
.site-foot .wrap{display:grid;gap:24px}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot-top .brand{margin-right:0}
.foot-mid{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-block:22px;border-block:1px solid var(--line-navy)}
.foot-mid p{max-width:64ch}
.alffa img{height:46px;width:auto}
.site-foot details summary{cursor:pointer;color:var(--paper);font-weight:600;min-height:44px;display:flex;align-items:center;width:max-content}
.site-foot details .policy{margin-top:6px;max-width:75ch;display:grid;gap:10px}

/* Media pages */
.page-hero{padding-block:clamp(56px,8vw,104px) clamp(48px,7vw,88px)}
.page-hero h1{font-size:clamp(48px,7vw,92px);max-width:16ch}
.page-hero h1.article-title{font-size:clamp(38px,5.2vw,68px);max-width:22ch}
.page-hero .sub{margin-top:22px;font-size:clamp(17px,1.6vw,20px);line-height:1.55;max-width:56ch}
.crumb{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(20px,3vw,28px)}
.crumb a{color:var(--paper);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.article-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
.article-body{display:grid;gap:20px;font-size:clamp(18px,1.6vw,20px);line-height:1.7;max-width:62ch}
.book{background:var(--grey);padding:clamp(22px,3vw,32px);display:grid;gap:24px}
.book img{width:100%;max-width:220px;height:auto;box-shadow:0 18px 36px -16px rgba(19,21,42,.45)}
.book dl{margin:0;display:grid;gap:4px}
.book dt{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin-top:12px}
.book dt:first-child{margin-top:0}
.book dd{margin:0;font-size:16px;font-weight:500}
@media (max-width:860px){.article-grid{grid-template-columns:minmax(0,1fr)}}

