:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#11213d;background:#f9fcff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit}h1,h2,h3,p{margin-top:0}.site-header{height:60px;padding:0 clamp(22px,3.5vw,55px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;position:relative;z-index:4}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;font-weight:850;font-size:clamp(22px,2.2vw,30px);white-space:nowrap;letter-spacing:-.05em}.brand svg{width:48px;height:34px;flex:none}.site-header nav{height:100%;display:flex;align-items:center;gap:clamp(20px,2.4vw,42px);font-size:14px;font-weight:700}.site-header nav a{text-decoration:none;padding:19px 2px 16px;border-bottom:3px solid transparent}.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a.active{color:#1359c5;border-color:#2164e0}.sun{font-size:30px;font-weight:200}.hero{height:450px;display:grid;grid-template-columns:minmax(420px,42%) 1fr;position:relative;overflow:hidden;background:linear-gradient(115deg,#eff9ff 0%,#fff 44%,#dcefff 100%)}.hero-copy{padding:38px 0 10px clamp(28px,3.5vw,55px);position:relative;z-index:2;max-width:575px}.eyebrow{font-size:10px;letter-spacing:.34em;font-weight:900;color:#4c6384;margin-bottom:10px;white-space:nowrap}.hero h1{font-size:clamp(58px,6.3vw,92px);line-height:.99;letter-spacing:-.065em;margin:12px 0 4px;font-weight:900;white-space:nowrap}.teal-stroke{height:6px;width:185px;background:#18a8a7;transform:rotate(-3deg);border-radius:100%;margin:0 0 18px 245px}.hero-lead{font-size:clamp(18px,1.55vw,22px);font-weight:750;line-height:1.17;max-width:500px;margin-bottom:17px}.hero-sub{font-size:16px;line-height:1.48;max-width:500px;margin-bottom:20px}.hero-actions{display:flex;gap:17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;border-radius:17px;font-weight:750;min-height:46px;padding:10px 25px;white-space:nowrap}.button span{font-size:23px;line-height:0}.button.primary{background:#2362de;color:white;box-shadow:0 2px 3px #10418a20}.button.secondary{border:1.5px solid #14274c;color:#14274c;background:#ffffffaa}.button:hover,.button:focus-visible{filter:brightness(.95);transform:translateY(-1px)}.hand-note,.margin-note,.scribble{font-family:cursive;font-style:italic;line-height:.93;transform:rotate(-10deg);font-size:21px;letter-spacing:-.04em}.hand-note{margin:21px 0 0 12px}.hero-art{position:relative;overflow:hidden}.hero-art img{position:absolute;width:1456px;height:1086px;max-width:none;left:-610px;top:-60px}.margin-note{position:absolute;right:19px;top:8px;z-index:2}.section-wrap{max-width:1456px;margin:auto;padding-left:clamp(28px,3.5vw,55px);padding-right:clamp(28px,3.5vw,55px)}.projects{padding-top:32px}.section-heading{display:flex;justify-content:space-between;align-items:start}.section-heading h2,.interests h2{font-size:30px;letter-spacing:-.045em;margin:0 0 14px;font-weight:850}.scribble{position:absolute;right:20px;z-index:1;margin:-6px 0 0;font-size:21px}.project-grid{display:grid;grid-template-columns:1.08fr .93fr;gap:17px;padding-right:5%}.project-card{min-height:200px;border-radius:10px;padding:15px;display:flex;gap:24px;position:relative;text-decoration:none;overflow:hidden}.project-card.bikefit{background:#e9faf6}.project-card.sports{background:#e4f3ff}.project-card.sports:hover,.project-card.sports:focus-visible{outline:3px solid #3986e0}.card-art{width:32%;min-width:150px;height:170px;position:relative;overflow:hidden;border-radius:9px;align-self:center}.card-art img{position:absolute;width:1456px;height:1086px;max-width:none}.bikefit .card-art img{left:-67px;top:-603px}.sports .card-art img{left:-742px;top:-603px}.card-copy{padding:8px 30px 0 0;max-width:385px}.card-copy h3{font-size:25px;letter-spacing:-.045em;margin-bottom:3px}.card-kicker{color:#137b83;font-weight:760;margin-bottom:14px}.sports .card-kicker{color:#1765df}.card-copy>p:not(.card-kicker){font-size:15px;line-height:1.35;max-width:350px}.card-status{font-size:12px;font-weight:800;color:#155c77}.card-arrow{position:absolute;right:21px;bottom:14px;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#a5e9e1;font-size:28px}.sports .card-arrow{background:#a4d7ff}.interests{min-height:168px;display:grid;grid-template-columns:44% 56%;align-items:center;gap:0}.interests h2{margin-bottom:12px}.interests-copy p{font-size:16px;line-height:1.5;max-width:550px}.interest-list{list-style:none;margin:0;padding:0;display:flex;align-items:start;justify-content:space-between;gap:8px;text-align:center;font-size:13px;font-weight:700}.interest-list li{min-width:67px}.interest-list span{width:65px;height:65px;border-radius:50%;background:#ddf9f3;display:grid;place-items:center;font-size:32px;margin:0 auto 7px;line-height:1}.interest-list li:nth-child(2) span,.interest-list li:nth-child(4) span{background:#e3efff}.interest-list li:nth-child(3) span{background:#fff1d5}.interest-list li:nth-child(5) span{background:#dceeff;color:#2362de}.interest-list li:nth-child(6) span{background:#ffe5d3}.site-footer{height:135px;position:relative;overflow:hidden;background:#112841;color:#fff}.landscape{position:absolute;inset:0;overflow:hidden}.landscape img{position:absolute;width:1456px;height:1086px;max-width:none;left:50%;top:-952px;transform:translateX(-50%)}.footer-content{position:absolute;bottom:18px;left:clamp(28px,3.5vw,55px);right:clamp(28px,3.5vw,55px);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px}.footer-content span:last-child{font-size:8px;letter-spacing:.2em;font-weight:800}.sports-page{min-height:100vh;display:flex;flex-direction:column}.sports-main{flex:1;display:grid;grid-template-columns:45% 55%;min-height:580px;background:linear-gradient(135deg,#e8f8ff,#fff)}.sports-art{position:relative;overflow:hidden}.sports-art img{position:absolute;width:4344px;height:3258px;max-width:none;left:-2226px;top:-1809px}.sports-copy{padding:clamp(60px,8vw,120px) 8vw 60px 3vw;max-width:700px}.sports-copy h1{font-size:clamp(48px,5.5vw,82px);line-height:1;letter-spacing:-.06em}.sports-copy p:not(.eyebrow){font-size:20px;line-height:1.4;max-width:550px}.sports-copy .button{margin-top:15px}.simple-footer{height:80px}
@media(max-width:1100px){.hero{grid-template-columns:50% 50%}.hero-art img{left:-670px}.margin-note,.scribble{display:none}.project-grid{padding-right:0}.project-card{gap:14px}.card-art{min-width:120px}.card-copy h3{font-size:21px}.interests{display:block;padding-top:30px;padding-bottom:28px}.interest-list{margin-top:20px}}
@media(max-width:700px){.site-header{height:auto;min-height:64px;flex-wrap:wrap;gap:0;padding:12px 22px}.brand{font-size:24px}.site-header nav{order:3;width:100%;height:42px;justify-content:space-between;gap:8px;font-size:13px}.site-header nav a{padding:12px 0 8px}.sun{display:none}.hero{height:auto;display:flex;flex-direction:column}.hero-copy{padding:28px 25px 24px;max-width:none}.eyebrow{font-size:8px;letter-spacing:.23em}.hero h1{font-size:clamp(55px,11vw,76px)}.teal-stroke{margin-left:145px;width:150px}.hero-lead{font-size:20px}.hero-sub{font-size:15px}.hero-actions{gap:8px}.button{padding:9px 14px;gap:9px;min-height:44px;font-size:13px;border-radius:13px}.hand-note{display:none}.hero-art{height:320px;order:2}.hero-art img{width:1043px;height:782px;left:-403px;top:-43px;transform:none}.section-wrap{padding-left:22px;padding-right:22px}.projects{padding-top:26px}.section-heading h2,.interests h2{font-size:27px}.project-grid{display:flex;flex-direction:column}.project-card{min-height:170px;padding:12px}.card-art{width:34%;min-width:105px;height:145px}.card-art img{width:1202px;height:901px;transform:none}.bikefit .card-art img{left:-55px;top:-500px}.sports .card-art img{left:-610px;top:-500px}.card-copy{padding:5px 19px 0 0}.card-copy h3{font-size:20px}.card-kicker{font-size:13px;margin-bottom:8px}.card-copy>p:not(.card-kicker){font-size:13px}.card-status{font-size:11px}.card-arrow{width:32px;height:32px;font-size:22px;right:8px;bottom:8px}.interests{padding-top:28px}.interests-copy p{font-size:15px}.interest-list{flex-wrap:wrap;justify-content:center;column-gap:13px;row-gap:18px}.interest-list li{width:67px;font-size:12px}.interest-list span{width:55px;height:55px;font-size:25px}.site-footer{height:125px}.landscape img{width:1150px;height:auto;top:-753px}.footer-content{left:22px;right:22px;bottom:11px;align-items:start;flex-direction:column;gap:6px;font-size:11px}.footer-content span:last-child{font-size:7px}.sports-main{display:flex;flex-direction:column}.sports-art{height:250px}.sports-art img{width:4923px;height:3692px;left:-2523px;top:-2271px}.sports-copy{padding:32px 24px 60px}.sports-copy h1{font-size:51px}.sports-copy p:not(.eyebrow){font-size:17px}}
@media(max-width:420px){.hero h1{font-size:52px}.hero-actions{flex-wrap:wrap}.hero-art img{left:-425px}.card-art{min-width:95px}.card-copy h3{font-size:18px}}
.lab-line{display:inline-block;margin:0 0 20px;padding:9px 13px;border-left:4px solid #0b6b68;background:#ffffffb8;border-radius:0 9px 9px 0;font-size:14px;line-height:1.35}.section-sub{max-width:720px;margin:-4px 0 18px;color:#4c6384;font-size:14px;line-height:1.45}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-right:0}.project-card{min-height:220px}.project-card.atlas{background:#eef8f7}.project-card.atlas:hover,.project-card.atlas:focus-visible{outline:3px solid #0b6b68}.atlas .card-kicker{color:#0b6b68}.atlas .card-arrow{background:#b9ebe5}.atlas .card-art img{left:-355px;top:-515px}@media(max-width:1100px){.project-grid{grid-template-columns:1fr 1fr}.project-card.atlas{grid-column:1/-1}}@media(max-width:700px){.project-grid{display:flex}.project-card.atlas{grid-column:auto}.atlas .card-art img{left:-290px;top:-430px}.section-sub{font-size:13px}.lab-line{font-size:13px}}
.atlas .card-art{background:linear-gradient(145deg,#0f1b2b 0%,#153748 55%,#0b6b68 100%);border:1px solid rgba(17,33,61,.1)}
.atlas-visual{position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.atlas-badge{width:42px;height:42px;border-radius:11px;background:#fff;color:#0b6b68;display:grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:.08em;box-shadow:0 7px 20px rgba(0,0,0,.18)}
.atlas-lines{display:grid;gap:7px;width:76%;margin-left:auto}
.atlas-lines i{display:block;height:7px;border-radius:10px;background:rgba(255,255,255,.82)}
.atlas-lines i:nth-child(2){width:86%}.atlas-lines i:nth-child(3){width:68%}.atlas-lines i:nth-child(4){width:52%}
.atlas-route{position:absolute;left:18px;right:18px;bottom:23px;height:1px;background:rgba(255,255,255,.45)}
.atlas-route b{position:absolute;top:-4px;width:9px;height:9px;border-radius:50%;background:#fff}
.atlas-route b:nth-child(1){left:0}.atlas-route b:nth-child(2){left:47%;background:#7fe0d5}.atlas-route b:nth-child(3){right:0}

/* Draft Here keeps the paceline colours and the existing desktop navigation. */
.menu-toggle{display:none}
#draft-here{scroll-margin-top:24px}
#draft-here-form label{display:block;font-weight:700;margin-bottom:8px}
.draft-input-row{display:flex;flex-wrap:wrap;gap:10px}
.draft-input-row input{min-width:0;flex:1 1 180px;max-width:100%;border:1px solid #52677d;border-radius:12px;padding:12px;font:inherit;background:white;color:#102e47}
.draft-input-row button{border:0;font:inherit;font-weight:750;cursor:pointer;white-space:normal}
.draft-input-row button:disabled{opacity:.65;cursor:wait}
.draft-help{font-size:13px;color:#52677d;margin:12px 0}
#draft-here-status{font-size:15px;line-height:1.5;min-height:1.5em;margin-bottom:0}
.draft-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.menu-toggle:focus-visible,.draft-input-row input:focus-visible,.draft-input-row button:focus-visible{outline:3px solid #0b6b68;outline-offset:4px}
@media(max-width:1180px){
 .site-header{height:auto;min-height:64px;flex-wrap:wrap;gap:12px;padding:12px clamp(16px,3.5vw,30px)}
 .site-header .brand{font-size:25px}.site-header .brand svg{width:40px}
 .site-header .sun{display:none}
 .site-header nav{width:100%;height:auto;flex-wrap:wrap;gap:8px 20px;font-size:15px}
 .site-header nav a{padding:12px 2px}
 .site-header.menu-ready .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #c8e3e1;border-radius:10px;background:#eff9f7;color:#102e47;font-size:26px;margin-left:auto;cursor:pointer}
 .site-header.menu-ready nav{display:none}
 .site-header.menu-ready.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #c8e3e1;padding-top:8px}
 .site-header.menu-ready.menu-open nav a{width:100%;min-height:44px;padding:12px 8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.site-header nav.mobile-only-nav{display:none}
@media(max-width:1180px){
 .site-header.menu-ready.menu-open nav.desktop-only-nav{display:none}
 .site-header.menu-ready.menu-open nav.mobile-only-nav{display:flex}
}
