:root{
  --olive:#54563F;--olive-deep:#3E402E;--cream:#F2ECDF;--cream-2:#EAE3D2;--paper:#FAF6EE;--tan:#CFC5A8;--tan-deep:#B9AE8C;
  --ink:#2A2A20;--ink-soft:#5E5E4A;--line:#F2ECDF;
  --sans:'Poppins','Helvetica Neue',Arial,sans-serif;--serif:'Lora',Georgia,serif;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--olive:#46483A;--olive-deep:#2F3124;--cream:#EDE6D6;--cream-2:#E2DAC6;--paper:#F4EEE1;--tan:#C4B993;--tan-deep:#AFA37F;--ink:#22221A;--ink-soft:#4E4E3D}}
:root[data-theme="dark"]{--olive:#46483A;--olive-deep:#2F3124;--cream:#EDE6D6;--cream-2:#E2DAC6;--paper:#F4EEE1;--tan:#C4B993;--tan-deep:#AFA37F;--ink:#22221A;--ink-soft:#4E4E3D}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.7 var(--serif);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--tan);outline-offset:4px}
h1,h2,h3{font-family:var(--sans);font-weight:300;line-height:1.02;margin:0;letter-spacing:-.02em}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* ---------- header ---------- */
header{position:absolute;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:10;color:var(--cream)}
header .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:28px;gap:20px;flex-wrap:wrap}
.brand{font-family:var(--sans);font-size:20px;font-weight:400;letter-spacing:.01em;text-decoration:none}
nav{display:flex;gap:28px;flex-wrap:wrap;font-family:var(--sans);font-size:15px;font-weight:400}
nav a{text-decoration:none;opacity:.88}nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:5px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;color:var(--cream);background:var(--olive-deep);overflow:hidden;display:flex;align-items:flex-end}
.hero .bg{position:absolute;inset:0;background:url(img/road-trees.jpg) center/cover no-repeat}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(62,64,46,.92) 0%,rgba(62,64,46,.7) 42%,rgba(62,64,46,.15) 100%),linear-gradient(0deg,rgba(62,64,46,.85) 0%,rgba(62,64,46,0) 45%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:150px;padding-top:160px;width:100%}
.hero h1{font-size:clamp(36px,5vw,72px);max-width:17ch}
.hero .lead{font-style:italic;font-size:clamp(18px,1.6vw,21px);color:var(--tan);max-width:44ch;margin:30px 0 40px}
.btn{display:inline-block;font-family:var(--sans);font-size:16px;font-weight:400;text-decoration:none;padding:15px 30px;border-radius:999px;transition:background .2s,color .2s}
.btn.light{background:var(--cream);color:var(--olive-deep)}
.btn.light:hover{background:var(--tan)}
.btn.ghost{border:1px solid rgba(242,236,223,.6);color:var(--cream);margin-left:10px}
.btn.ghost:hover{background:rgba(242,236,223,.12)}
.btn.dark{background:var(--olive);color:var(--cream)}
.btn.dark:hover{background:var(--olive-deep)}
/* the road line: one orchestrated moment */
.road{position:absolute;left:0;right:0;bottom:0;width:100%;height:170px;z-index:3;pointer-events:none}
.road .fill{fill:var(--cream)}
.road .dash{fill:none;stroke:var(--olive);stroke-width:2.5;stroke-dasharray:14 12;stroke-linecap:round}
@media (prefers-reduced-motion:no-preference){
  .road .dash{animation:drive 2.4s ease-out .3s both}
  @keyframes drive{from{stroke-dashoffset:900;opacity:0}to{stroke-dashoffset:0;opacity:1}}
}

/* ---------- intro ---------- */
.intro{padding:70px 0 40px}
.intro .wrap{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-areas:"pic head" "pic bio";grid-template-rows:auto 1fr;column-gap:52px;align-items:start;max-width:1000px}
.intro .portrait{grid-area:pic}
.intro h2{grid-area:head;align-self:end}
.intro .bio{grid-area:bio}
.intro .portrait{position:relative;width:100%}
.intro .portrait .main{aspect-ratio:4/5;border-radius:160px 160px 20px 20px;overflow:hidden}
.intro .portrait img{width:100%;height:100%;object-fit:cover}
.intro h2{font-size:clamp(30px,4vw,50px);margin:26px 0 22px}
.intro p{font-size:19px;color:var(--ink-soft);max-width:48ch;margin-bottom:18px}

/* ---------- paths ---------- */
.paths{padding:40px 0 100px;position:relative}
.paths h2{font-size:clamp(34px,4.6vw,60px);text-align:center;margin-bottom:40px}
.paths .sub{text-align:center;font-style:italic;color:var(--ink-soft);margin-bottom:40px}
.pathgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:860px;margin:0 auto}
.path{border-radius:24px;padding:30px 30px 28px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}
.path:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(62,64,46,.45)}
.path.a{background:var(--olive);color:var(--cream)}
.path.b{background:var(--paper);border:1px solid var(--tan)}
.path .for{font-family:var(--sans);font-size:14px;margin-bottom:12px;opacity:.75}
.path h3{font-size:clamp(22px,2vw,26px);font-weight:400;line-height:1.15;margin-bottom:12px}
.pathgrid .path h3{min-height:2.3em}
.path p:not(.for){font-size:16px;line-height:1.6;opacity:.85;margin-bottom:22px;flex:1}
.path a.more{font-family:var(--sans);font-size:15px;text-decoration:none;align-self:flex-start;border:1px solid currentColor;border-radius:999px;padding:8px 18px}
.path.a a.more:hover{background:var(--cream);color:var(--olive-deep)}
.path.b a.more:hover{background:var(--olive);color:var(--cream);border-color:var(--olive)}

/* ---------- wave divider ---------- */
.wave{display:block;width:100%;height:140px}
.wave .fill{fill:var(--olive)}
.wave .dash{fill:none;stroke:var(--cream);stroke-opacity:.55;stroke-width:2.5;stroke-dasharray:14 12;stroke-linecap:round;vector-effect:non-scaling-stroke}
footer .wave .fill{fill:var(--tan)}
footer .wave .dash{stroke:var(--olive-deep);stroke-opacity:.5}
.roadline{display:block;width:100%;height:90px;margin:10px 0}
.roadline path{fill:none;stroke:var(--tan-deep);stroke-width:2.5;stroke-dasharray:14 12;stroke-linecap:round;vector-effect:non-scaling-stroke}

/* ---------- quote ---------- */
.quote{background:var(--olive);color:var(--cream);padding:40px 0 60px;position:relative}
.quote .wrap{max-width:900px;text-align:center}
.quote blockquote{margin:0;font-family:var(--sans);font-weight:300;font-size:clamp(19px,2vw,25px);line-height:1.55;letter-spacing:0}
.quote cite{display:block;margin-top:28px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--tan)}

/* ---------- how I work: steps on a road ---------- */
.how{padding:60px 0 120px}
.how .head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
.how h2{font-size:clamp(34px,4.4vw,56px);max-width:13ch}
.how .head{align-items:center;grid-template-columns:1.3fr .7fr}
.how .head p{color:var(--ink-soft);max-width:46ch;margin-top:26px}
.how .desk{margin:0;justify-self:end;width:100%;max-width:330px;border-radius:24px 24px 24px 140px;overflow:hidden;aspect-ratio:1}
.how .desk img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.foot .top{display:flex;justify-content:space-between;align-items:center;gap:30px}
.foot .me{width:clamp(120px,13vw,180px);aspect-ratio:1;border-radius:50%;overflow:hidden;flex:none;border:8px solid var(--cream)}
.foot .me img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.route{position:relative}
.route svg{position:absolute;left:0;right:0;top:0;width:100%;height:120px}
.route svg path{fill:none;stroke:var(--tan-deep);stroke-width:2.5;stroke-dasharray:14 12;stroke-linecap:round}
.stops{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;position:relative;padding-top:0}
.stop{padding-top:0}
.stop .dot{width:22px;height:22px;border-radius:50%;background:var(--olive);border:5px solid var(--cream);box-shadow:0 0 0 1px var(--tan-deep);margin-bottom:26px}
.stop:nth-child(1) .dot{margin-top:78px}
.stop:nth-child(2) .dot{margin-top:18px}
.stop:nth-child(3) .dot{margin-top:78px}
.stop:nth-child(4) .dot{margin-top:18px}
.how .head p.second{margin-top:16px}
.how h2.routeh{font-size:clamp(28px,3.4vw,42px);margin:90px 0 30px;max-width:none}
.ctas{margin-top:30px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ctas .msg{font-family:var(--sans);font-size:16px;color:var(--ink-soft)}
.stop h3{font-size:24px;font-weight:400;margin-bottom:8px}
.stop p{color:var(--ink-soft);font-size:16px;max-width:30ch}
.note{margin-top:60px;font-style:italic;color:var(--ink-soft);max-width:60ch;font-size:16px}

/* ---------- footer ---------- */
footer{background:var(--tan);position:relative}

.foot{padding:10px 0 36px}
.foot h2{font-size:clamp(34px,4.6vw,58px);font-weight:300;color:var(--olive-deep)}
.foot .invite{font-family:var(--sans);font-weight:300;font-size:clamp(19px,2vw,24px);line-height:1.3;color:var(--olive-deep);max-width:none;margin:4px 0 24px}
.foot .row{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap;margin-top:24px}
.foot p{font-size:20px;color:var(--ink-soft);max-width:36ch}
.foot .email{font-family:var(--sans);font-size:clamp(20px,2.4vw,28px);text-decoration:none;border-bottom:1px solid currentColor;display:inline-block;margin-top:6px}
.foot .bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--tan-deep);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--sans);font-size:14px;color:var(--ink-soft)}

@media (max-width:860px){
  .wrap{padding:0 20px}
  nav{gap:16px;font-size:14px}
  .hero .wrap{padding-bottom:130px}
  .btn.ghost{margin:12px 0 0}
  .how .head{grid-template-columns:1fr;gap:40px}
  .intro .wrap{grid-template-columns:180px minmax(0,1fr);column-gap:28px}
  .foot .top{align-items:flex-end}
  
  .how .head{grid-template-columns:1fr}
  .how .desk{justify-self:start;max-width:260px}
  .route svg{display:none}
  .stops{grid-template-columns:1fr;gap:34px;border-left:2px dashed var(--tan-deep);padding-left:28px;margin-left:10px}
  .stop .dot,.stop:nth-child(n) .dot{margin:0 0 14px -40px}
}
@media (max-width:640px){.pathgrid{grid-template-columns:1fr;gap:16px}.pathgrid .path h3{min-height:0}}
@media (max-width:560px){.intro .wrap{grid-template-columns:110px minmax(0,1fr);grid-template-areas:"pic head" "bio bio";grid-template-rows:auto auto;column-gap:20px;align-items:center}.intro h2{align-self:center;margin:0}.intro .bio{margin-top:24px}}

/* ---------- inner pages ---------- */
nav a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:5px}
.hero.inner{min-height:0}
.hero.inner .wrap{padding-top:170px;padding-bottom:165px}
.hero.inner h1{font-size:clamp(38px,5.4vw,72px);max-width:16ch}
.hero.inner .lead{max-width:54ch;margin-bottom:0}
.cards{padding:34px 0 10px}
.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1060px;margin:0 auto}
.cardgrid.two{grid-template-columns:1fr 1fr;max-width:860px}
.path.c{background:var(--tan)}
.path.c a.more:hover{background:var(--olive-deep);color:var(--cream);border-color:var(--olive-deep)}
.sec{padding:30px 0 90px;scroll-margin-top:10px}
.sec .label{font-family:var(--sans);font-size:15px;color:var(--ink-soft);margin-bottom:12px}
.sec h2{font-size:clamp(30px,3.8vw,48px);max-width:20ch;margin-bottom:20px}
.sec .intro-p{font-size:19px;color:var(--ink-soft);max-width:58ch;margin-bottom:40px}
.moments{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:40px}
.moment{background:var(--paper);border:1px solid var(--tan);border-radius:22px;padding:28px 30px}
.moment h3{font-size:22px;font-weight:400;line-height:1.2;margin-bottom:10px}
.moment p{font-size:16px;color:var(--ink-soft)}
.moment.open{background:transparent;border:1.5px dashed var(--tan-deep)}
.offers{list-style:none;padding:0;margin:0 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:30px 56px;max-width:980px}
.offers li{padding-left:30px;position:relative}
.offers li::before{content:"";position:absolute;left:0;top:9px;width:12px;height:12px;border-radius:50%;border:2px solid currentColor;opacity:.7}
.offers h3{font-size:21px;font-weight:400;margin-bottom:6px}
.offers p{font-size:16px;opacity:.82}
.checks{list-style:none;padding:0;margin:0 0 36px;display:grid;grid-template-columns:1fr 1fr;gap:14px 48px;max-width:980px}
.checks li{position:relative;padding-left:32px;font-size:17px;opacity:.9}
.checks li::before{content:"";position:absolute;left:0;top:13px;width:12px;border-top:1.5px solid currentColor;opacity:.45}
.sub-h{font-family:var(--sans);font-weight:400;font-size:20px;margin:0 0 16px}
.sec.dark{background:var(--olive);color:var(--cream);padding:20px 0 50px}
.sec.dark .label,.sec.dark .intro-p,.sec.dark .fine{color:var(--tan)}
.fine{font-style:italic;color:var(--ink-soft);font-size:16px;max-width:62ch;margin:0 0 30px}
.closing{text-align:center;padding:10px 0 90px}
.closing p{font-family:var(--sans);font-weight:300;font-size:clamp(24px,3vw,36px);line-height:1.25;margin:0 auto 26px;max-width:none}
@media (max-width:860px){
  .cardgrid{grid-template-columns:1fr}
  .moments,.offers,.checks{grid-template-columns:1fr}
  .hero.inner .wrap{padding-top:140px;padding-bottom:140px}
}
@media (min-width:641px) and (max-width:860px){.cardgrid.two{grid-template-columns:1fr 1fr}}

/* ---------- about + faq ---------- */
.hero.inner.plain{background:var(--olive-deep)}
.hero.inner.plain .wrap{padding-bottom:150px}
.about-intro .wrap{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:56px;align-items:center;max-width:1040px}
.about-intro .arch{aspect-ratio:3/4;border-radius:150px 150px 20px 20px;overflow:hidden}
.about-intro .arch img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.about-intro h2{font-size:clamp(30px,3.6vw,46px);margin-bottom:20px}
.about-intro p{font-size:18px;color:var(--ink-soft);max-width:54ch;margin-bottom:16px}
.stops.five{grid-template-columns:repeat(5,1fr);gap:40px}
.stops.five .stop:nth-child(5) .dot{margin-top:78px}
.stops.five .country{font-family:var(--sans);font-size:13px;color:var(--ink-soft);margin-bottom:4px;letter-spacing:.02em}
.stops.five h3{font-size:20px}
.stops.five p{font-size:15px}
.quals{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 48px;max-width:980px}
.quals li{border-top:1px solid rgba(242,236,223,.3);padding-top:14px}
.quals b{display:block;font-family:var(--sans);font-weight:400;font-size:18px}
.quals span{font-size:15px;opacity:.8}
.quals .todo span{font-style:italic;opacity:.6}
.faq{max-width:820px}
.faq h2.group{font-size:clamp(24px,2.6vw,30px);margin:50px 0 6px}
.faq h2.group:first-child{margin-top:0}
.faq details{border-bottom:1px solid var(--tan)}
.faq summary{list-style:none;cursor:pointer;font-family:var(--sans);font-weight:400;font-size:19px;line-height:1.35;padding:22px 44px 22px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:30px;width:12px;height:12px;border-right:2px solid var(--olive);border-bottom:2px solid var(--olive);transform:rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(-135deg);top:36px}
.faq details p{color:var(--ink-soft);padding:0 44px 24px 0;margin:0;font-size:17px;max-width:62ch}
@media (max-width:860px){
  .about-intro .wrap{grid-template-columns:160px minmax(0,1fr);column-gap:28px;align-items:start}
  .stops.five{grid-template-columns:1fr}
  .quals{grid-template-columns:1fr}
}
@media (max-width:560px){.about-intro .wrap{grid-template-columns:1fr}.about-intro .arch{max-width:220px;margin-bottom:28px}}

/* ---------- athlete stages ---------- */
.stages{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:16px 0 22px;align-items:stretch}
.stage{position:relative;display:flex;flex-direction:column}
.stage .sign{position:relative;z-index:1;width:64px;height:64px;border-radius:50%;background:var(--olive);border:6px solid var(--cream);box-sizing:content-box;margin:-6px 0 18px -6px;display:grid;place-items:center}
.stage .sign svg{width:30px;height:30px;fill:none;stroke:var(--cream);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.stage-card{flex:1;background:var(--paper);border:1px solid var(--tan);border-radius:24px;padding:26px 26px 22px}
.stage-label{font-family:var(--sans);font-size:14px;color:var(--ink-soft);margin-bottom:8px}
.stage-card h3{font-size:21px;font-weight:400;line-height:1.25;margin-bottom:16px}
.stage-card .sub-h{font-size:15px;color:var(--ink-soft);margin-bottom:10px}
.stage-card .checks{grid-template-columns:1fr;gap:10px;margin:0}
.stage-card .checks li{font-size:15.5px;line-height:1.5;padding-left:22px}
.stage-card .checks li::before{width:10px;top:12px}
.moment.anytime{margin-bottom:0}
.topics{list-style:none;padding:0;margin:0 0 40px;display:flex;flex-wrap:wrap;gap:10px;max-width:980px}
.topics li{font-family:var(--sans);font-size:14.5px;border:1px solid var(--tan-deep);border-radius:999px;padding:7px 16px;color:var(--ink)}
@media (max-width:900px){.stages{grid-template-columns:1fr;gap:34px}}
.extra{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.extra .moment{margin:0}
@media (max-width:860px){.extra{grid-template-columns:1fr}}
.offer-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
.offer-cards .moment h3{font-size:21px}
@media (max-width:900px){.offer-cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.offer-cards{grid-template-columns:1fr}}
.offer-cards.formats .moment{background:transparent;border:1px solid var(--tan-deep);padding:22px 24px}
.offer-cards.formats h3{font-size:19px;margin-bottom:6px}
.offer-cards.formats p{font-size:15px}

/* sport icon bullets */
.stage-card[class*='ic-'] .checks li{padding-left:30px}
.stage-card[class*='ic-'] .checks li::before{width:18px;height:18px;border:0;top:3px;opacity:1;background:var(--olive);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.stage-card.ic-ball{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27/%3E%3Cpath%20d%3D%27M12%207.5l3.8%202.8-1.4%204.4H9.6l-1.4-4.4zM12%203v4.5M15.8%2010.3l4.4-1.5M14.4%2014.7l2.6%203.8M9.6%2014.7L7%2018.5M8.2%2010.3L3.8%208.8%27/%3E%3C/svg%3E")}
.stage-card.ic-bike{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%275.5%27%20cy%3D%2716%27%20r%3D%273.8%27/%3E%3Ccircle%20cx%3D%2718.5%27%20cy%3D%2716%27%20r%3D%273.8%27/%3E%3Cpath%20d%3D%27M5.5%2016l4-7.5h6.5l2.5%207.5M12%2016l4-7.5M9.5%208.5L8.5%206H6.5M16%208.5L15.3%206h2.2%27/%3E%3C/svg%3E")}
.stage-card.ic-watch{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2714%27%20r%3D%277.5%27/%3E%3Cpath%20d%3D%27M12%2014v-4M10%203h4M12%203v3.5M18.2%207.8l1.6-1.6%27/%3E%3C/svg%3E")}
.stage-card.ic-tennis{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27/%3E%3Cpath%20d%3D%27M5.6%205.6a9%209%200%200%201%200%2012.8M18.4%205.6a9%209%200%200%200%200%2012.8%27/%3E%3C/svg%3E")}
.stage-card.ic-medal{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2715.5%27%20r%3D%275.5%27/%3E%3Cpath%20d%3D%27M8.8%2011L6.5%203h4l1.5%204.5L13.5%203h4L15.2%2011%27/%3E%3C/svg%3E")}
.stage-card.wide{margin-bottom:36px}
.stage-card.wide .checks{grid-template-columns:1fr 1fr;gap:12px 44px;max-width:none}
.offer-cards.two{grid-template-columns:1fr 1fr}
@media (max-width:760px){.stage-card.wide .checks,.offer-cards.two{grid-template-columns:1fr}}
.route.small{margin:6px 0 34px}
.route.small .stop h3{font-size:19px;margin-bottom:4px}
.route.small .stop p{font-size:15px;color:var(--ink-soft)}
.route.small .stop .dot{width:18px;height:18px;border-width:4px}
.route .dur{font-family:var(--sans);font-size:13px;color:var(--ink-soft);margin-bottom:2px}
/* living abroad: tan band, text left, card right */
.sec.tanband{background:var(--tan);padding:80px 0}
.vc-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.vc-grid .intro-p{margin-bottom:30px}
.vc-card{background:var(--paper);border:1px solid var(--tan-deep);border-radius:24px;padding:26px 28px 14px}
.vc-card .sub-h{margin-bottom:6px}
.vc-list{list-style:none;padding:0;margin:0}
.vc-list li{position:relative;padding:11px 0 11px 24px;font-size:15.5px;line-height:1.5;color:var(--ink-soft);border-bottom:1px solid var(--tan)}
.vc-list li:last-child{border-bottom:0}
.vc-list li::before{content:"";position:absolute;left:0;top:22px;width:11px;border-top:1.5px solid var(--olive);opacity:.7}
@media (max-width:860px){.vc-grid{grid-template-columns:1fr;gap:34px}.sec.tanband{padding:60px 0}}
.wave.tan .fill{fill:var(--tan)}
.wave.tan .dash{stroke:var(--olive-deep);stroke-opacity:.45}
.sec.tanband{padding:30px 0 50px}
/* movement reset: text + stacked photos */
.mr-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:start;margin-bottom:10px}
.mr-grid .intro-p{margin-bottom:26px}
.mr-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:40px}
.mr-photos figure{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:3/4}
.mr-photos figure:nth-child(2),.mr-photos figure:nth-child(4){transform:translateY(40px)}
.mr-photos img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.mr-grid{grid-template-columns:1fr;gap:30px}.mr-photos{grid-template-columns:repeat(4,1fr);padding-top:0}.mr-photos figure:nth-child(n){transform:none}}
@media (max-width:520px){.mr-photos{grid-template-columns:1fr 1fr}}
.tanband.tb-div{background:var(--tan)}
.tanband.tb-div .roadline{margin:0;height:70px}
.tanband.tb-div .roadline path{stroke:var(--olive-deep);opacity:.35}
.sec.tanband.tb2{padding:20px 0 60px}
.sec.tanband .topics li{border-color:var(--tan-deep);background:var(--paper)}
.about-intro .belief{font-family:var(--sans);font-weight:300;font-size:clamp(20px,2vw,24px);line-height:1.35;color:var(--olive-deep);border-left:2px solid var(--tan-deep);padding-left:20px;margin-top:26px;max-width:40ch}
.btn.outline-dark{background:transparent;color:var(--olive-deep);border:1.5px solid var(--olive);padding:13.5px 28px}
.btn.outline-dark:hover{background:var(--olive);color:var(--cream)}
.ctas{gap:12px}
.qual-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px 60px;max-width:1000px}
.sec.dark .qual-cols .sub-h{color:var(--tan);font-size:16px;margin-bottom:8px}
.qlist{list-style:none;padding:0;margin:0}
.qlist li{padding:10px 0;border-bottom:1px solid rgba(242,236,223,.2);font-size:16px;color:var(--cream)}
.qlist li:last-child{border-bottom:0}
.qlist em{opacity:.6}
.stops.five .stop h3{margin-bottom:0}
@media (max-width:760px){.qual-cols{grid-template-columns:1fr}}
/* quieter keyword tags */
.topics{gap:6px}
.topics li{font-size:12.5px;padding:4px 11px;color:var(--ink-soft);border-color:var(--tan)}
.sec .sub-h + .topics{margin-top:-4px}
.stage-card .checks.thoughts li{font-style:italic;color:var(--ink)}
.topics.small{gap:5px;max-width:900px}
.topics.small li{font-size:11.5px;padding:3px 10px;opacity:.85}
.sub-h.small-h{font-size:15px;color:var(--ink-soft);margin-bottom:10px}
/* section cards match their top card colors: athletes = olive, teams = cream, agents = tan */
#athletes .stage-card{background:var(--olive);border-color:var(--olive);color:var(--cream)}
#athletes .stage-card .stage-label,#athletes .stage-card .sub-h{color:var(--tan)}
#athletes .stage-card .checks li,#athletes .stage-card .checks.thoughts li{color:var(--cream)}
#athletes .stage-card[class*='ic-'] .checks li::before{background:var(--tan)}
#agents .stage-card{background:var(--tan);border-color:var(--tan-deep)}
#agents .stage-card .stage-label{color:var(--olive-deep)}
#agents .stage-card[class*='ic-'] .checks li::before{background:var(--olive-deep)}
/* about: messy photo collage */
.collage-sec{padding:0 0 70px;margin-top:-30px}
.collage{position:relative;height:520px;max-width:1000px;margin:0 auto}
.collage figure{position:absolute;margin:0;background:#fff;padding:10px 10px 34px;box-shadow:0 12px 28px -14px rgba(42,42,32,.45);transition:transform .3s ease}
.collage figure:hover{transform:rotate(0) scale(1.04)!important;z-index:9}
.collage img{display:block;width:100%;height:100%;object-fit:cover}
.collage figcaption{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-family:var(--sans);font-size:12.5px;color:var(--ink-soft)}
.collage .p1{width:230px;height:200px;left:0;top:40px;transform:rotate(-6deg);z-index:2}
.collage .p2{width:210px;height:290px;left:200px;top:150px;transform:rotate(4deg);z-index:3}
.collage .p3{width:270px;height:270px;left:380px;top:10px;transform:rotate(-3deg);z-index:1}
.collage .p4{width:220px;height:270px;left:600px;top:170px;transform:rotate(5deg);z-index:4}
.collage .p5{width:200px;height:250px;left:790px;top:30px;transform:rotate(-5deg);z-index:2}
.collage .p1 img{object-position:40% 50%}
.collage .p4 img{object-position:50% 30%}
.collage .p5 img{object-position:50% 35%}
@media (max-width:1040px){
  .collage{height:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
  .collage figure{position:relative;left:auto!important;top:auto!important;width:44%!important;height:230px!important;margin:-6px -4px}
}
@media (max-width:520px){.collage figure{height:180px!important}}
/* about: stacked overlapping photos on the left */
.about-intro .wrap{align-items:start}
.stack{position:relative;height:920px}
.stack figure{position:absolute;margin:0;overflow:hidden;box-shadow:0 12px 26px -16px rgba(42,42,32,.55);transition:transform .3s ease}
.stack figure:hover{transform:rotate(0) scale(1.04)!important;z-index:9}
.stack img{display:block;width:100%;height:100%;object-fit:cover}
.stack .s1{width:160px;height:140px;left:0;top:0;border-radius:70px 18px 70px 18px;transform:rotate(-4deg);z-index:2}
.stack .s1 img{object-position:35% 55%}
.stack .s2{width:200px;height:260px;left:105px;top:40px;border-radius:110px 110px 18px 18px;transform:rotate(2deg);z-index:3}
.stack .s2 img{object-position:50% 20%}
.stack .s3{width:155px;height:215px;left:-10px;top:200px;border-radius:18px 90px 18px 18px;transform:rotate(-3deg);z-index:4}
.stack .s4{width:190px;height:180px;left:120px;top:320px;border-radius:18px;transform:rotate(3deg);z-index:2}
.stack .s5{width:160px;height:200px;left:0;top:450px;border-radius:90px 18px 18px 18px;transform:rotate(-2deg);z-index:5}
.stack .s5 img{object-position:50% 25%}
.stack .s6{width:140px;height:160px;left:165px;top:510px;border-radius:18px 18px 18px 80px;transform:rotate(4deg);z-index:6}
.stack .s6 img{object-position:50% 30%}
.stack .s7{width:180px;height:230px;left:-5px;top:640px;border-radius:18px 18px 110px 110px;transform:rotate(-3deg);z-index:4}
.stack .s8{width:175px;height:250px;left:125px;top:655px;border-radius:18px 90px 18px 90px;transform:rotate(3deg);z-index:5}
.stack .s8 img{object-position:50% 15%}
.stack .s7 img{object-position:50% 60%}
@media (max-width:860px){.about-intro .wrap{grid-template-columns:1fr}.stack{height:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px}.stack figure{position:relative;left:auto!important;top:auto!important;width:30%!important;height:150px!important}}
.qlist .yr{display:block;font-size:14px;color:var(--tan);margin-top:2px}

/* compact qualifications band */
.sec.dark.quals-sec{padding:4px 0 20px}
.quals-sec h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:14px}
.quals-sec .label{margin-bottom:6px}
.quals-sec .qlist li{padding:6px 0;font-size:14.5px}
.quals-sec .qlist .yr{font-size:12.5px}
.quals-sec .qual-cols .sub-h{font-size:14px;margin-bottom:4px}
.quals-sec .qual-cols{gap:10px 48px}

/* compact working together */
.sec.work-sec{padding:10px 0 40px}
.work-sec h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:10px}
.work-sec .intro-p{font-size:16px;margin-bottom:20px;max-width:60ch}

/* fees */
.fees{margin:56px 0 30px}
.fees-h{font-size:clamp(24px,2.6vw,32px);font-weight:300;margin-bottom:18px}
.fee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fee{background:var(--paper);border:1px solid var(--tan);border-radius:20px;padding:20px 22px}
.fee-name{font-family:var(--sans);font-size:14px;color:var(--ink-soft);margin:0 0 6px}
.fee-price{font-family:var(--sans);font-weight:300;font-size:28px;color:var(--olive-deep);margin:0 0 4px;line-height:1.1}
.fee-note{font-size:14px;color:var(--ink-soft);margin:0}
.fee-fine{font-size:14px;font-style:italic;color:var(--ink-soft);margin-top:14px}
@media (max-width:860px){.fee-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.fee-grid{grid-template-columns:1fr}}
.fee-tag{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.fee-tag span{font-family:var(--sans);font-size:13.5px;color:var(--ink-soft);background:var(--paper);border:1px solid var(--tan);border-radius:999px;padding:6px 14px}
.fee-tag b{font-weight:500;color:var(--olive-deep)}
.sub-h.fee-h{margin:26px 0 10px}
/* legal pages */
.sec.legal .wrap{max-width:780px}
.legal .updated{font-size:14px;color:var(--ink-soft);font-style:italic;margin-bottom:24px}
.legal h2{font-size:clamp(20px,2vw,24px);font-weight:400;margin:36px 0 10px}
.legal p,.legal li{font-size:16px;line-height:1.7;color:var(--ink-soft)}
.legal ul{padding-left:20px;margin:0 0 14px}
.legal li{margin-bottom:6px}
.legal b{color:var(--ink);font-weight:600}
.legal .ph{background:#f6e7b8;color:var(--ink);padding:0 4px;border-radius:4px}
.legal .crisis{background:var(--paper);border:1px solid var(--tan-deep);border-left:4px solid var(--olive);border-radius:14px;padding:16px 20px;margin-bottom:10px}
.legal .crisis p{margin:0}
.legal-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;font-family:var(--sans);font-size:13px}
.legal-links a{color:var(--ink-soft);text-decoration:none}
.legal-links a:hover{text-decoration:underline}

.me-wrap{display:flex;align-items:center;gap:18px}
.socials{display:flex;flex-direction:column;gap:12px}
.socials a{width:48px;height:48px;border-radius:50%;background:var(--olive);display:grid;place-items:center;transition:background .2s}
.socials a:hover{background:var(--olive-deep)}
.socials svg{width:24px;height:24px;fill:none;stroke:var(--cream);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.socials svg .dotf{fill:var(--cream);stroke:none}
@media (max-width:600px){.socials a{width:40px;height:40px}.socials svg{width:20px;height:20px}}

/* footer layout D */
.foot-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding-top:20px}
.foot-left h2{margin-bottom:12px}
.foot-left .invite{margin:0 0 24px}
.foot-contact p{font-size:16px;color:var(--ink-soft);margin:0 0 4px}
.socials.row-s{flex-direction:row}
.socials.inline{margin-top:16px}
.socials.inline a{width:42px;height:42px}
@media (max-width:700px){.foot-grid{grid-template-columns:1fr;gap:30px;align-items:start}}
.foot-grid{align-items:start}
.foot-contact{padding-top:14px}
.socials.inline{gap:16px;margin-top:20px}
.foot-grid{align-items:stretch}
.foot-contact{display:flex;flex-direction:column;padding-top:16px}
.foot-contact .socials.inline{margin-top:auto;padding-top:20px}
.socials.inline a{width:46px;height:46px}
/* ---------- language switch ---------- */
header nav{margin-left:auto}
.lang-switch{display:flex;gap:4px;align-items:center;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.04em}
.lang-switch a{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;text-decoration:none;color:inherit;opacity:.7;border:1px solid transparent}
.lang-switch a:hover{opacity:1}
.lang-switch a[aria-current="true"]{opacity:1;border-color:currentColor}
.lang-switch svg{width:20px;height:13px;border-radius:2px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
@media (max-width:860px){header .wrap{position:relative}.lang-switch{position:absolute;top:22px;right:16px}header nav{width:100%;margin-left:0;gap:2px 16px}}
@media (max-width:860px){.hero.inner .wrap{padding-top:170px}}
@media (min-width:561px){.intro .wrap{grid-template-columns:300px minmax(0,1fr)}.intro .portrait{align-self:center}}@media (min-width:561px) and (max-width:860px){.intro .wrap{grid-template-columns:200px minmax(0,1fr)}}
.fee-tag{flex-direction:column;gap:4px}.fee-tag span{font-size:16px;color:var(--ink);background:none;border:0;border-radius:0;padding:0}.fee-tag .fee-note2{font-size:14px;color:var(--ink-soft);font-style:italic;margin-top:4px}
.about-intro h2{font-size:clamp(28px,3vw,40px);line-height:1.2}
@media (max-width:420px){.foot-contact .email{font-size:18px;overflow-wrap:anywhere}}

/* Booking page */
.booking .wrap{max-width:900px}
.cal-consent{background:var(--paper);border:1px solid var(--tan-deep);border-left:4px solid var(--olive);border-radius:14px;padding:26px 28px}
.cal-consent h2{font-size:clamp(24px,2.6vw,32px);margin:0 0 10px}
.cal-consent p{font-size:16px;line-height:1.7;color:var(--ink-soft);max-width:60ch;margin:0 0 20px}
.cal-consent a,.cal-fallback a{color:var(--olive-deep);text-decoration:underline;text-underline-offset:3px}
.cal-frame{border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--tan)}
.cal-frame iframe{display:block;width:100%;height:900px;border:0}
.cal-fallback{font-size:15px;color:var(--ink-soft);margin-top:22px}
@media (max-width:640px){.cal-consent{padding:20px}.cal-frame iframe{height:1000px}}
button.btn{border:0;cursor:pointer;font-family:var(--sans)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.booking h2{font-size:clamp(26px,3vw,36px);margin:0 0 22px}
.ctypes{border:0;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ctype{position:relative;display:block;cursor:pointer;scroll-margin-top:20px}
.ctype input{position:absolute;opacity:0;pointer-events:none}
.ct-body{display:flex;flex-direction:column;gap:8px;height:100%;box-sizing:border-box;background:var(--paper);border:1px solid var(--tan-deep);border-radius:14px;padding:20px 22px;transition:border-color .15s,box-shadow .15s}
.ctype:hover .ct-body{border-color:var(--olive)}
.ctype input:checked+.ct-body{border-color:var(--olive);box-shadow:inset 0 0 0 2px var(--olive);background:#fff}
.ctype input:focus-visible+.ct-body{outline:3px solid var(--olive-deep);outline-offset:3px}
.ct-name{font-family:var(--sans);font-size:19px;color:var(--ink)}
.ct-meta{font-family:var(--sans);font-size:14px;color:var(--ink-soft)}
.ct-meta b{color:var(--olive-deep);font-weight:500}
.ct-desc{font-size:15px;line-height:1.6;color:var(--ink-soft)}
.cal-note{font-size:15px;color:var(--ink-soft);margin:0 0 26px}
.cal-note a{color:var(--olive-deep);text-decoration:underline;text-underline-offset:3px}
.cal-consent h2{display:none}
.cal-back{background:none;border:0;padding:0;margin:0 0 16px;font:15px var(--sans);color:var(--olive-deep);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:820px){.ctypes{grid-template-columns:1fr}}

/* Homepage focus layout */
.pathgrid.focus{grid-template-columns:1.7fr 1fr;max-width:1000px;align-items:stretch}
.pathgrid.focus .path.a h3{font-size:clamp(28px,2.8vw,36px)}
.pathgrid.focus .aud{display:flex;flex-wrap:wrap;gap:10px}
.pathgrid.focus .path.b{align-self:end}
@media (max-width:640px){.pathgrid.focus{grid-template-columns:1fr}}
.la-more{margin-top:44px}
#abroad .intro-p{margin-bottom:18px}
.hero.to-tan .road .fill{fill:var(--tan)}
.hero.to-tan .road .dash{stroke:var(--olive-deep)!important;stroke-opacity:.5}
#abroad .vc-grid{align-items:start}

/* Contact form */
.contact .wrap{max-width:720px}
.cform{display:grid;gap:18px;background:var(--paper);border:1px solid var(--tan-deep);border-radius:18px;padding:28px}
.cform label{display:grid;gap:6px;font:15px var(--sans);color:var(--ink)}
.cform input[type=text],.cform input[type=email],.cform select,.cform textarea{font:16px var(--serif);color:var(--ink);background:#fff;border:1px solid var(--tan-deep);border-radius:10px;padding:11px 13px;width:100%;box-sizing:border-box}
.cform textarea{resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--olive);outline-offset:1px;border-color:var(--olive)}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform .check{display:flex;gap:10px;align-items:flex-start;font:14px/1.5 var(--serif);color:var(--ink-soft)}
.cform .check input{margin-top:4px;accent-color:var(--olive)}
.cform .check a{color:var(--olive-deep);text-decoration:underline;text-underline-offset:3px}
.cform .btn{justify-self:start}
.cform-status{margin:0;font-size:15px;color:var(--olive-deep);min-height:1em}
@media (max-width:640px){.cform{padding:20px}.cform .row2{grid-template-columns:1fr}}

.cform .req{color:#8A5A3C;margin-left:2px}
.cform .req-note{margin:0 0 -6px;font:13px var(--sans);color:var(--ink-soft)}
.cform .hint{font:14px/1.5 var(--serif);font-style:italic;color:var(--ink-soft)}
.cform [hidden]{display:none!important}
.fee-tag a{color:var(--olive-deep);text-decoration:underline;text-underline-offset:3px}

/* Homepage bio emphasis */
.intro h2.hi{font-size:clamp(38px,5.4vw,68px);line-height:1.05;letter-spacing:-.01em}
.intro h2.hi span{color:var(--olive);font-family:var(--serif);font-style:italic;font-weight:400}
.intro .bio b{font-weight:500;color:var(--ink)}
.intro .bio .role{font-size:1.12em;line-height:1.55}
.intro .bio-cta{margin-top:30px;padding-top:26px;border-top:1px solid var(--tan-deep)}
.intro .bio-cta p{font-family:var(--serif);font-size:clamp(19px,1.8vw,23px);line-height:1.5;color:var(--ink);margin:0 0 18px}

/* Get-started tabs */
.route-tabs{display:inline-flex;gap:6px;padding:5px;margin:-6px 0 40px;background:var(--cream-2);border:1px solid var(--tan);border-radius:999px;flex-wrap:wrap}
.route-tabs button{font:15px var(--sans);color:var(--ink-soft);background:none;border:0;border-radius:999px;padding:10px 20px;cursor:pointer}
.route-tabs button[aria-selected=true]{background:var(--olive);color:var(--cream)}
.route-tabs button:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
.start-panel[hidden]{display:none!important}
@media (max-width:560px){.route-tabs{display:flex;border-radius:18px}.route-tabs button{flex:1 1 100%;text-align:left}}

.aim{margin:40px 0 0;padding:4px 0 4px 22px;border-left:3px solid var(--olive);font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.7vw,21px);line-height:1.55;color:var(--ink);max-width:62ch}
.tally-wrap{background:#8f9472;border-radius:18px;overflow:hidden}.tally-wrap iframe{display:block;border:0;width:100%}
