:root{
  --paper:#eef8ff;--paper2:#e3f3fd;--panel:rgba(255,255,255,.91);--panel-solid:#ffffff;--ink:#15394f;--muted:#55778a;--blue:#298fc9;--blue2:#83d4fb;--blue3:#d6f0ff;--glow:#d1ecff;--line:rgba(60,139,184,.22);--shadow:0 28px 65px rgba(28,98,139,.12);--deep:#102d45;--on-deep:#fff;--photo-filter:rgba(238,249,255,.51);--ease:cubic-bezier(.22,1,.36,1);
  color-scheme:light;scroll-padding-top:108px
}
:root[data-theme="sky"]{--paper:#e7f5ff;--paper2:#d5ecff;--panel:rgba(248,253,255,.91);--panel-solid:#fafdff;--ink:#183e65;--muted:#537695;--blue:#137ac4;--blue2:#81ccff;--blue3:#c8e6ff;--glow:#cce9ff;--line:rgba(42,129,200,.26);--deep:#0d3159;--photo-filter:rgba(230,246,255,.49)}
:root[data-theme="powder"]{--paper:#f3f7ff;--paper2:#e7edff;--panel:rgba(255,255,255,.92);--panel-solid:#fff;--ink:#303c69;--muted:#677499;--blue:#7285da;--blue2:#c4cdfb;--blue3:#e1e8ff;--glow:#e0e5ff;--line:rgba(101,118,192,.24);--deep:#293560;--photo-filter:rgba(246,247,255,.53)}
:root[data-theme="aqua"]{--paper:#eafbf9;--paper2:#d7f5f1;--panel:rgba(251,255,254,.92);--panel-solid:#fff;--ink:#174e58;--muted:#57828b;--blue:#229eaa;--blue2:#81dce1;--blue3:#d0f3f3;--glow:#c9eeee;--line:rgba(42,142,151,.24);--deep:#16424e;--photo-filter:rgba(235,254,250,.51)}
:root[data-theme="lavender"]{--paper:#f7f4ff;--paper2:#ede7ff;--panel:rgba(255,255,255,.92);--panel-solid:#fff;--ink:#493a72;--muted:#8173a0;--blue:#9371d7;--blue2:#d2bffc;--blue3:#eee3ff;--glow:#e9dfff;--line:rgba(144,110,207,.24);--deep:#423269;--photo-filter:rgba(250,246,255,.54)}
:root[data-theme="dawn"]{--paper:#fff6ef;--paper2:#ffe8da;--panel:rgba(255,253,250,.93);--panel-solid:#fff;--ink:#66454e;--muted:#96767c;--blue:#de8c76;--blue2:#ffc8a1;--blue3:#ffe6d7;--glow:#ffebd4;--line:rgba(212,128,108,.24);--deep:#5d414b;--photo-filter:rgba(255,249,240,.53)}
:root[data-theme="mint"]{--paper:#f1fbf4;--paper2:#e0f7e9;--panel:rgba(252,255,253,.92);--panel-solid:#fff;--ink:#285744;--muted:#628876;--blue:#49a888;--blue2:#a1e0c1;--blue3:#d5f4e4;--glow:#dcf5e4;--line:rgba(57,142,103,.22);--deep:#214b3c;--photo-filter:rgba(241,254,244,.54)}
:root[data-theme="pearl"]{--paper:#f9fcff;--paper2:#eef4f9;--panel:rgba(255,255,255,.94);--panel-solid:#fff;--ink:#344a5f;--muted:#758898;--blue:#6f9db9;--blue2:#c9e2ef;--blue3:#edf5fc;--glow:#e5f1f8;--line:rgba(105,151,182,.21);--deep:#31485a;--photo-filter:rgba(250,253,255,.58)}
:root[data-theme="nordic"]{--paper:#eff7fb;--paper2:#deebf5;--panel:rgba(250,253,255,.92);--panel-solid:#fff;--ink:#284a61;--muted:#638196;--blue:#3e83ad;--blue2:#a6d3e9;--blue3:#deedf7;--glow:#d7e9f4;--line:rgba(67,126,166,.23);--deep:#234156;--photo-filter:rgba(241,250,255,.52)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.75 'Aptos','Segoe UI','Helvetica Neue',Arial,sans-serif;overflow-x:clip;isolation:isolate;transition:background .5s,color .5s}
body.modal-open{overflow:hidden}
button,input,textarea,select{font:inherit}
button{cursor:pointer;color:inherit}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.12;letter-spacing:-.04em}
em{font-family:Georgia,Times,serif;font-weight:400;letter-spacing:-.045em}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
[hidden]{display:none!important}
::selection{background:var(--blue2);color:var(--deep)}
.wrap{width:min(1220px,calc(100% - 64px));margin-inline:auto}
.section{position:relative;padding:112px 0;z-index:2}
.skip{position:absolute;z-index:500;top:-60px;left:20px;background:var(--panel-solid);padding:10px 18px;border-radius:8px}.skip:focus{top:15px}
/* Photo wall: two identical 12 × 8 panels; 192 tiles total. */
.photo-mosaic{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:1;--tile:clamp(110px,9.1vw,152px);--gap:12px;}
.mosaic-track{position:absolute;left:0;top:50%;width:max-content;display:flex;align-items:center;transform:translate3d(0,-50%,0);will-change:transform;animation:mosaic-loop 82s linear infinite}
.mosaic-panel{display:grid;grid-template-columns:repeat(12,var(--tile));grid-template-rows:repeat(8,var(--tile));gap:var(--gap);padding:calc(var(--gap)/2);flex:none}
.photo-tile{width:var(--tile);height:var(--tile);border-radius:15px;background-size:cover;background-position:center;filter:brightness(.93) saturate(.98);box-shadow:0 7px 15px rgba(32,94,131,.09)}
.mosaic-wash{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--paper) 77%,transparent) 0%,color-mix(in srgb,var(--paper) 60%,transparent) 48%,color-mix(in srgb,var(--paper) 69%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,var(--paper) 25%,transparent),color-mix(in srgb,var(--paper) 52%,transparent));pointer-events:none}
@keyframes mosaic-loop{from{transform:translate3d(0,-50%,0)}to{transform:translate3d(-50%,-50%,0)}}
.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.ambient-layer{position:absolute;inset:-18px;background-position:center;background-size:cover;filter:blur(12px) saturate(.95);opacity:0;transition:opacity .8s var(--ease)}
.ambient-layer.active{opacity:.14}
.ambient-wash{position:absolute;inset:0;background:color-mix(in srgb,var(--paper) 55%,transparent)}
.page-noise{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.03;background-image:radial-gradient(var(--deep) .7px,transparent .7px);background-size:5px 5px}
.site-header,main,.ticker,.site-footer{position:relative;z-index:3}


.site-header{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--panel-solid) 79%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(22px)}
.nav-shell{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;flex:none}.brand-icon{width:49px;height:49px;flex:none;border-radius:14px;box-shadow:0 7px 17px color-mix(in srgb,var(--blue) 23%,transparent)}
.brand-name strong{display:block;font-weight:900;font-size:13px;letter-spacing:-.01em;line-height:1.4}.brand-name small{display:block;font-weight:850;font-size:9px;letter-spacing:.18em;color:var(--muted)}
.desktop-nav,.nav-actions{display:flex;align-items:center;gap:25px}.desktop-nav a{font-size:13px;font-weight:750;color:var(--muted);transition:color .2s}.desktop-nav a:hover{color:var(--blue)}.nav-actions{gap:11px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 22px;border-radius:999px;border:1px solid transparent;font-size:13px;line-height:1.25;font-weight:900;min-height:47px;transition:transform .3s,box-shadow .3s,background .3s;color:var(--ink);white-space:nowrap}
.button:hover{transform:translateY(-3px)}
.button.primary{background:linear-gradient(135deg,var(--blue2),var(--blue));color:#fff;box-shadow:0 13px 31px color-mix(in srgb,var(--blue) 24%,transparent)}
.button.primary:hover{box-shadow:0 19px 36px color-mix(in srgb,var(--blue) 32%,transparent)}
.button.outline{background:color-mix(in srgb,var(--panel-solid) 78%,transparent);border-color:color-mix(in srgb,var(--blue) 35%,transparent);color:var(--deep)}
.theme-top{display:inline-flex;align-items:center;gap:10px;padding:11px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-size:12px;font-weight:850}.theme-top-dot{height:15px;width:15px;border-radius:50%;background:var(--blue);border:3px solid var(--glow)}
.menu-toggle{display:none;border:1px solid var(--line);background:var(--panel);border-radius:12px;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{display:block;width:20px;height:2px;background:var(--deep);border-radius:5px}
.mobile-nav{display:grid;gap:0;padding:6px 30px 18px;background:var(--panel-solid);border-top:1px solid var(--line)}.mobile-nav a{padding:11px 3px;border-bottom:1px solid var(--line);font-weight:800}
.side-tab{position:fixed;z-index:90;top:48%;border:1px solid var(--line);background:color-mix(in srgb,var(--panel-solid) 88%,transparent);color:var(--ink);padding:13px 11px;border-radius:15px;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.04em;font-weight:850;backdrop-filter:blur(12px);transition:transform .25s}
.side-tab:hover{transform:translateY(-5px)}.tab-left{left:9px;transform:rotate(180deg)}.tab-left:hover{transform:rotate(180deg) translateY(5px)}.tab-right{right:9px}.side-tab>span:first-child{font-size:20px;color:var(--blue)}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.19em;text-transform:uppercase;color:var(--blue);margin-bottom:18px;line-height:1.6}.mini-line{display:inline-block;vertical-align:middle;width:25px;height:2px;background:var(--blue);margin-right:9px}.tiny-star{margin-inline:8px}
.hero{padding-top:73px;padding-bottom:27px;min-height:710px}
.hero-layout{display:grid;grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr);gap:54px;align-items:center;min-height:580px}
.hero-copy{padding-left:18px;position:relative;z-index:2}
.hero h1{font-size:clamp(3.1rem,5vw,5.4rem);font-weight:950;letter-spacing:-.07em;line-height:1.07;max-width:690px}
.hero h1 em{color:var(--blue);white-space:normal}
.hero-lead{color:var(--muted);font-size:16px;line-height:1.85;max-width:500px;margin-top:26px}
.hero-buttons{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:30px}
.hero-meta{margin-top:55px;display:flex;align-items:center;gap:13px}.meta-icon{height:44px;width:44px;border-radius:15px;display:grid;place-items:center;background:var(--panel);color:var(--blue);font-size:21px;border:1px solid var(--line)}.hero-meta strong,.hero-meta small{display:block}.hero-meta strong{font-size:12px}.hero-meta small{font-size:11px;color:var(--muted)}
.hero-visual{height:560px;position:relative;min-width:0}
.hero-main-photo{position:absolute;inset:0 0 15px 28px;border:8px solid color-mix(in srgb,var(--panel-solid) 88%,transparent);border-radius:240px 40px 40px 40px;box-shadow:0 30px 100px rgba(21,82,117,.19);overflow:hidden;background:var(--blue3)}
.hero-main-photo img{height:100%;width:100%;object-fit:cover;object-position:54% 50%;transition:transform .75s var(--ease)}
.hero-visual:hover .hero-main-photo img{transform:scale(1.04)}
.hero-main-photo::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(16,43,69,.3));pointer-events:none}
.photo-note{position:absolute;bottom:22px;right:22px;color:#fff;font-weight:800;font-size:9px;letter-spacing:.13em;z-index:1;text-shadow:0 2px 6px #183445}
.hero-small-photo{position:absolute;left:-42px;bottom:11px;width:175px;height:211px;border:7px solid var(--panel-solid);border-radius:27px;overflow:hidden;box-shadow:0 24px 60px rgba(15,66,103,.2);transform:rotate(-7deg);z-index:3;transition:transform .4s}
.hero-small-photo:hover{transform:rotate(0) translateY(-6px)}
.hero-small-photo img{height:100%;width:100%;object-fit:cover}.hero-small-photo::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(9,40,59,.7))}.hero-small-photo span{position:absolute;z-index:1;left:13px;bottom:13px;right:13px;color:#fff;font-size:10px;line-height:1.4;font-weight:800}
.hero-float-card{position:absolute;z-index:4;top:58px;right:-20px;display:flex;align-items:center;gap:11px;padding:12px 18px;border-radius:18px;border:1px solid var(--line);background:var(--panel-solid);box-shadow:0 22px 65px rgba(39,103,134,.13);transform:rotate(4deg)}
.float-snow{color:var(--blue);font-size:27px}.hero-float-card strong,.hero-float-card small{display:block;line-height:1.5}.hero-float-card strong{font-size:12px}.hero-float-card small{font-size:10px;color:var(--muted)}
.orbit{position:absolute;z-index:-1;border:1px solid color-mix(in srgb,var(--blue) 25%,transparent);border-radius:50%;pointer-events:none}.orbit-a{height:130px;width:130px;bottom:-18px;right:-22px}.orbit-b{height:48px;width:48px;top:12px;left:11px;background:var(--glow)}
.hero-bottom{display:flex;align-items:center;gap:16px;color:var(--muted);font-weight:850;font-size:10px;letter-spacing:.11em;min-height:70px}.hero-scroll-line{height:1px;flex:1;background:var(--line)}.hero-bottom a{color:var(--ink)}
.ticker{overflow:hidden;background:linear-gradient(105deg,var(--blue),color-mix(in srgb,var(--blue2) 75%,var(--blue)));color:#fff;min-height:58px;display:flex;align-items:center;box-shadow:0 14px 36px color-mix(in srgb,var(--blue) 20%,transparent)}
.ticker-track{display:flex;align-items:center;white-space:nowrap;gap:30px;min-width:max-content;animation:ticker 42s linear infinite;font-size:12px;letter-spacing:.17em;font-weight:900}.ticker b{font-size:22px;font-weight:300;color:#e6f8ff}
@keyframes ticker{to{transform:translateX(-50%)}}
.section-head{display:grid;grid-template-columns:1fr 440px;align-items:end;gap:35px;margin-bottom:36px}
.section h2{font-size:clamp(2.6rem,4.2vw,4.8rem);font-weight:900;line-height:1.12}.section h2 em{color:var(--blue)}
.section-lead,.head-side p,.head-side-text,.intro-grid p,.status-content>p,.race-copy>p,.faq-layout>div>p,.contact-copy>p{color:var(--muted);font-size:15px;line-height:1.9}
.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}
.intro-grid>div:first-child{padding-left:14px}.intro-grid h2{margin-bottom:26px}
.intro-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 30px}.intro-points span{display:flex;gap:9px;align-items:center;font-weight:800;font-size:12px}.intro-points i{display:grid;place-items:center;width:22px;height:22px;background:var(--blue3);color:var(--blue);border-radius:50%;font-style:normal;font-size:11px}
.text-link{border:0;background:transparent;padding:0;color:var(--blue);font-weight:900;font-size:13px}
.intro-photo-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:15px;height:455px;align-items:center}
.intro-photo-grid figure{position:relative;overflow:hidden;border-radius:26px;box-shadow:var(--shadow);border:7px solid var(--panel-solid);height:100%;background:var(--blue3)}.intro-photo-grid .photo-small{height:75%;border-radius:130px 130px 22px 22px}.intro-photo-grid img{width:100%;height:100%;object-fit:cover}.intro-photo-grid figcaption{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,rgba(12,39,56,.68));padding:32px 14px 16px;font-size:12px;font-weight:850}
.hover-photo img{transition:transform .6s var(--ease)}.hover-photo:hover img{transform:scale(1.055)}
.services-section{background:color-mix(in srgb,var(--paper2) 43%,transparent);border-block:1px solid var(--line)}
.head-side{display:grid;gap:19px}.carousel-nav{display:flex;gap:10px}.carousel-nav button{width:45px;height:45px;border-radius:50%;border:1px solid var(--line);background:var(--panel-solid);color:var(--blue);font-size:18px;transition:background .2s,transform .2s}.carousel-nav button:hover{background:var(--blue3);transform:translateY(-3px)}
.services-viewport{overflow:hidden}.services-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:19px;padding:4px 5px 18px;overscroll-behavior-inline:contain}.services-track::-webkit-scrollbar{display:none}
.service-card{flex:0 0 calc((100% - 56px)/3.15);min-width:270px;position:relative;height:450px;scroll-snap-align:start;cursor:pointer;overflow:hidden;border-radius:27px;box-shadow:var(--shadow);border:7px solid var(--panel-solid);background:var(--blue3);text-align:left;padding:0;color:#fff;transition:transform .35s var(--ease)}.service-card:hover{transform:translateY(-7px)}
.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.service-card:hover img{transform:scale(1.07)}
.service-card::after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(7,25,43,.78));pointer-events:none}
.service-card-body{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:23px}.service-card-tag{display:inline-block;border:1px solid #ffffff80;color:#fff;font-size:10px;letter-spacing:.15em;font-weight:850;padding:7px 11px;border-radius:999px;margin-bottom:10px}.service-card h3{font-size:24px;font-weight:900;letter-spacing:-.035em;margin-bottom:7px}.service-card p{font-size:12px;line-height:1.6;color:#e4eff7;max-width:280px}.card-arrow{display:grid;place-items:center;position:absolute;right:22px;top:22px;width:39px;height:39px;border-radius:50%;background:#fff;color:var(--blue);font-size:18px}
.services-bottom{display:flex;justify-content:space-between;margin-top:10px;font-weight:850;color:var(--muted);font-size:11px;letter-spacing:.11em}
.status-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.status-content h2{margin-bottom:22px}.status-content>p{margin-bottom:24px}.status-cards{display:grid;gap:12px;margin:22px 0 28px}.status-chip{padding:15px 17px;display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:17px;box-shadow:0 12px 38px rgba(30,104,143,.07)}.status-icon{height:38px;width:38px;border-radius:13px;display:grid;place-items:center;background:var(--blue3);color:var(--blue);font-size:20px}.status-chip small,.status-chip strong{display:block;line-height:1.5}.status-chip small{font-size:9px;font-weight:850;letter-spacing:.12em;color:var(--muted)}.status-chip strong{font-size:12px}
.status-photo{position:relative;height:530px;border-radius:40px 40px 190px 40px;border:9px solid var(--panel-solid);box-shadow:var(--shadow);overflow:hidden}.status-photo img{height:100%;width:100%;object-fit:cover}.status-photo-label{position:absolute;bottom:20px;left:20px;color:#fff;font-weight:850;font-size:10px;letter-spacing:.13em;background:rgba(23,66,92,.65);padding:10px 14px;border-radius:999px}
.gallery-section{background:color-mix(in srgb,var(--paper) 42%,transparent)}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;margin:12px 0 24px;gap:15px}.gallery-filters{display:flex;flex-wrap:wrap;gap:8px}.filter{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:10px 16px;color:var(--muted);font-size:12px;font-weight:800;transition:all .2s}.filter.active,.filter:hover{background:var(--blue);color:white;border-color:var(--blue)}#galleryCount{color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-item{position:relative;overflow:hidden;height:225px;border:6px solid var(--panel-solid);border-radius:22px;padding:0;text-align:left;background:var(--blue3);box-shadow:0 12px 40px rgba(45,111,146,.1);cursor:pointer}.gallery-item:nth-child(1){grid-column:span 2;height:315px}.gallery-item:nth-child(5){grid-column:span 2;height:315px}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .6s var(--ease)}.gallery-item:hover img{transform:scale(1.075)}.gallery-item::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(8,31,49,.66))}.gallery-item-title{position:absolute;z-index:1;bottom:15px;left:18px;right:35px;color:#fff;font-weight:850;font-size:12px}.gallery-item-zoom{position:absolute;z-index:1;right:13px;top:12px;width:32px;height:32px;display:grid;place-items:center;background:#fff;border-radius:50%;color:var(--blue)}
.race-section{background:color-mix(in srgb,var(--paper2) 40%,transparent)}.race-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:75px;align-items:center}.race-picture{height:510px;position:relative;border:9px solid var(--panel-solid);box-shadow:var(--shadow);overflow:hidden;border-radius:40px 200px 40px 40px}.race-picture img{height:100%;width:100%;object-fit:cover}.race-photo-mark{position:absolute;left:22px;bottom:22px;color:#fff;font-weight:900;letter-spacing:.15em;font-size:11px;text-shadow:0 2px 10px #333}.race-copy h2{margin-bottom:24px}.race-copy>p{margin-bottom:26px}.race-date{display:flex;align-items:center;gap:17px;margin-bottom:27px}.race-date>span{font-size:65px;color:var(--blue);font-weight:900;letter-spacing:-.05em;line-height:1}.race-date strong,.race-date small{display:block}.race-date strong{font-size:11px;letter-spacing:.12em}.race-date small{font-size:12px;color:var(--muted)}
.map-section{background:color-mix(in srgb,var(--paper) 35%,transparent)}.map-layout{display:grid;grid-template-columns:1.15fr .85fr;background:var(--panel-solid);border:1px solid var(--line);border-radius:30px;padding:12px;box-shadow:var(--shadow);min-height:440px;gap:12px}.map-area{position:relative;overflow:hidden;border-radius:22px;min-height:430px;background:linear-gradient(135deg,var(--blue3),var(--paper2))}.map-area::before{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--blue) 25%,transparent) 1.4px,transparent 1.4px);background-size:28px 28px;opacity:.28;pointer-events:none}.map-placeholder{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.map-target{display:grid;place-items:center;width:60px;height:60px;border-radius:20px;background:var(--panel-solid);font-size:33px;color:var(--blue);margin-bottom:18px}.map-placeholder h3{font-size:25px}.map-placeholder p,.map-placeholder small{color:var(--muted)}.map-placeholder p{margin:8px 0 26px}.map-placeholder small{margin-top:14px;font-size:10px}.map-embed{position:absolute;inset:0;z-index:2}.map-embed iframe{width:100%;height:100%;border:0}.map-info{padding:38px 27px}.map-info h3{font-size:32px}.map-info h3 em{color:var(--blue)}.map-info>p{font-size:13px;color:var(--muted);margin:15px 0 25px;line-height:1.75}.map-action{display:flex;align-items:center;gap:13px;padding:12px 0;border-top:1px solid var(--line);font-size:13px;font-weight:850}.map-action>b{margin-left:auto;color:var(--blue)}.map-action span:nth-child(2) small{display:block;color:var(--muted);font-weight:550;font-size:10px}.action-icon{height:39px;width:39px;border-radius:13px;background:var(--blue3);color:var(--blue);display:grid;place-items:center;font-size:20px}.action-icon.waze{background:#dff4ff}.action-icon.phone{background:var(--glow)}
.faq-section{background:color-mix(in srgb,var(--paper2) 38%,transparent)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.faq-layout>div>p{margin-top:23px;max-width:370px}.faq-items{display:grid;gap:12px}.faq-items details{border-radius:17px;padding:19px 22px;background:var(--panel);border:1px solid var(--line)}.faq-items summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;font-weight:850;font-size:14px;list-style:none}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{color:var(--blue)}.faq-items details p{color:var(--muted);font-size:13px;line-height:1.75;margin-top:13px}
.contact-section{background:color-mix(in srgb,var(--paper2) 47%,transparent)}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}.contact-copy h2{margin-bottom:23px}.contact-facts{margin-top:32px;display:grid;gap:10px}.contact-facts a{display:block;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow-wrap:anywhere}.contact-facts a span,.contact-facts a strong{display:block}.contact-facts a span{font-size:10px;font-weight:900;letter-spacing:.13em;color:var(--muted)}.contact-facts a strong{font-size:16px;color:var(--blue)}
.contact-form{background:var(--panel-solid);border:1px solid var(--line);padding:32px;border-radius:27px;box-shadow:var(--shadow);display:grid;gap:15px}.form-header{display:flex;align-items:center;gap:13px;margin-bottom:7px}.form-header>span{background:var(--blue3);border-radius:15px;width:46px;height:46px;display:grid;place-items:center;color:var(--blue);font-size:23px}.form-header strong,.form-header small{display:block}.form-header small{font-size:11px;color:var(--muted)}.contact-form label{display:grid;gap:7px;font-weight:800;font-size:12px}.contact-form input,.contact-form select,.contact-form textarea{border-radius:13px;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:100%;min-width:0;padding:13px 15px;outline:0;font-size:13px}.contact-form textarea{resize:vertical}.contact-form :is(input,select,textarea):focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--glow)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:5px}.form-status{font-size:11px;line-height:1.5;color:var(--muted);min-height:15px}
.site-footer{background:var(--deep);color:var(--on-deep);padding:45px 0 25px}.footer-inner{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.footer-inner>div:first-child{max-width:490px}.footer-logo{width:fit-content;margin-bottom:12px}.footer-logo .brand-wordmark{font-size:clamp(17px,4.7vw,24px)}.footer-logo .brand-wordmark>span{color:var(--blue2)}.footer-inner strong{display:block;font-size:13px}.footer-inner p{color:#d5e7f1;opacity:.86;font-size:11px;margin-top:9px;line-height:1.7}.footer-links{display:flex;gap:18px;font-size:12px;font-weight:700}.footer-bottom{border-top:1px solid #ffffff35;padding-top:19px;margin-top:33px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;color:#dcecf5}
/* Side drawers */
.drawer-backdrop,.service-backdrop{position:fixed;inset:0;background:rgba(15,34,52,.33);backdrop-filter:blur(8px);z-index:150}
.profiles{position:fixed;inset:0;z-index:160;pointer-events:none}.profiles.is-open .profile-left,.profiles.has-detail .profile-right{pointer-events:auto}
.profile-left,.profile-right{position:absolute;top:0;bottom:0;width:min(425px,100%);padding:27px 27px 30px;background:linear-gradient(155deg,#123c5d,#102c47 67%,#173c56);color:#f3fbff;overflow-y:auto;box-shadow:0 10px 75px rgba(3,31,51,.27);transition:transform .42s var(--ease)}
.profile-left{left:0;transform:translateX(-105%);border-right:1px solid #ffffff35}.profile-right{right:0;transform:translateX(105%);border-left:1px solid #ffffff35}.profiles.is-open .profile-left{transform:translateX(0)}.profiles.has-detail .profile-right{transform:translateX(0)}
.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:36px}.drawer-top>span{letter-spacing:.2em;font-size:10px;color:#a7dcf8;font-weight:900}.drawer-close,.drawer-back{height:40px;min-width:40px;border-radius:13px;border:1px solid #ffffff4b;color:#fff;background:#ffffff1c;display:grid;place-items:center;font-weight:850;font-size:24px}.drawer-back{display:flex;gap:6px;align-items:center;padding:0 13px;font-size:12px}
.profile-left h2,.theme-panel h2{font-size:clamp(43px,5vw,60px);line-height:1.04;letter-spacing:-.06em}.profile-left h2 em,.theme-panel h2 em{color:#8cddff}.profile-left>p,.theme-panel>p{font-size:13px;line-height:1.8;color:#c8dfed;margin:18px 0 24px}
.source-list{display:grid;gap:10px}.source-item{width:100%;display:grid;grid-template-columns:49px 1fr 20px;align-items:center;gap:11px;text-align:left;border:1px solid #ffffff35;border-radius:17px;padding:10px 12px;background:#ffffff17;color:#fff;transition:background .25s,transform .25s}.source-item:hover,.source-item.is-selected{background:#ffffff2e;transform:translateX(4px)}.source-icon{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:19px;font-weight:900;border:2px solid #ffffff45}.source-item strong,.source-item small{display:block}.source-item strong{font-size:13px;line-height:1.3}.source-item small{font-size:10px;color:#cadeee;margin-top:2px;line-height:1.3}.source-item>b{font-size:17px;color:#d4eeff}.drawer-small{margin-top:22px!important;color:#9ec4dc!important;font-size:10px!important}
.profile-picture{height:205px;border-radius:21px;overflow:hidden;position:relative;border:1px solid #ffffff33;margin-bottom:25px}.profile-picture img{height:100%;width:100%;object-fit:cover}.profile-detail .eyebrow{color:#9ee4ff}.profile-detail h2{font-size:38px;line-height:1.13;letter-spacing:-.05em}.profile-detail p{color:#c6dfec;font-size:12px;margin:17px 0;line-height:1.8}.source-facts{display:grid;gap:9px;margin:19px 0 25px}.source-fact{background:#ffffff19;border:1px solid #ffffff24;border-radius:13px;padding:12px 14px}.source-fact small,.source-fact strong{display:block;line-height:1.5}.source-fact small{font-size:9px;letter-spacing:.12em;color:#a2d2ea;font-weight:900}.source-fact strong{font-size:12px;overflow-wrap:anywhere}.profile-external{width:100%;color:#12364e!important;background:linear-gradient(110deg,#d6f4ff,#86d8ff)!important}
.theme-panel{position:fixed;z-index:160;right:0;top:0;bottom:0;width:min(435px,100%);background:linear-gradient(155deg,#153b5a,#102f4b);color:#fff;padding:28px;overflow-y:auto;box-shadow:0 20px 90px #082b46aa}.theme-panel>p{margin-bottom:26px}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-choice{display:grid;align-content:start;gap:12px;text-align:left;background:#ffffff16;border:1px solid #ffffff38;border-radius:18px;padding:14px;color:#fff}.theme-choice.active,.theme-choice:hover{border-color:#b9ebff;background:#ffffff27}.theme-choice .swatches{display:flex}.theme-choice i{width:25px;height:25px;border-radius:50%;border:2px solid #ffffffcf;display:block;margin-right:-6px}.theme-choice strong{font-size:11px;line-height:1.35}
.service-detail{position:fixed;z-index:160;right:0;top:0;bottom:0;width:min(490px,100%);overflow:auto;background:var(--panel-solid);box-shadow:-18px 0 70px #122f4a50}.service-close{position:absolute;z-index:2;top:17px;right:17px;background:#163951b9}.service-detail>img{width:100%;height:290px;object-fit:cover}.service-detail-copy{padding:29px}.service-detail-copy h2{font-size:35px;color:var(--ink);margin-bottom:14px}.service-detail-copy p,.service-detail-copy li{color:var(--muted);font-size:13px;line-height:1.8}.service-detail-copy ul{padding-left:19px;margin:17px 0 26px}.service-detail-copy li{margin-bottom:8px}
/* Fullscreen gallery */
.lightbox{padding:0;max-width:none;max-height:none;width:min(1180px,96vw);height:min(90vh,900px);border:0;border-radius:27px;background:var(--panel-solid);color:var(--ink);overflow:hidden;box-shadow:0 30px 100px #072b48aa}.lightbox::backdrop{background:#061c2bd9;backdrop-filter:blur(14px)}.lightbox-bar{min-height:55px;padding:7px 17px 6px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-weight:900;color:var(--muted);font-size:12px}.lightbox-bar button{font-size:24px;background:var(--blue3);border:0;width:40px;height:40px;border-radius:50%;color:var(--ink)}.lightbox-main{height:calc(100% - 185px);background:var(--paper2);position:relative;display:flex;align-items:center;justify-content:center}.lightbox-main img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.light-arrow{position:absolute;z-index:1;top:50%;transform:translateY(-50%);width:50px;height:50px;border:0;border-radius:50%;background:#ffffffde;color:#17465e;font-size:21px;box-shadow:0 7px 25px #0002}.light-arrow.prev{left:18px}.light-arrow.next{right:18px}.lightbox-bottom{min-height:130px;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.lightbox-bottom strong{font-size:16px}.lightbox-bottom p{font-size:11px;color:var(--muted)}.lightbox-thumbs{display:flex;gap:8px;overflow:auto;max-width:65%}.lightbox-thumbs button{flex:0 0 62px;width:62px;height:53px;padding:0;border-radius:10px;border:3px solid transparent;overflow:hidden}.lightbox-thumbs button.active{border-color:var(--blue)}.lightbox-thumbs img{width:100%;height:100%;object-fit:cover}
.toast{position:fixed;z-index:200;bottom:22px;left:50%;transform:translate(-50%,130px);opacity:0;transition:opacity .3s,transform .3s;background:var(--deep);color:#fff;font-size:12px;padding:13px 19px;border-radius:16px;box-shadow:var(--shadow);pointer-events:none}.toast.visible{transform:translate(-50%,0);opacity:1}
@media(max-width:1260px){.side-tab{top:auto;bottom:70px}.hero-layout{gap:35px}.hero h1{font-size:clamp(3.1rem,5vw,4.8rem)}.desktop-nav{gap:14px}}
@media(max-width:1100px){.desktop-nav{display:none}.intro-grid,.status-layout,.race-layout{gap:30px}.hero-layout{gap:24px}.hero-visual{height:490px}.hero-float-card{right:0}.service-card{flex-basis:calc((100% - 36px)/2.4)}.contact-layout{gap:30px}.nav-actions{gap:8px}}
@media(max-width:820px){.section{padding:77px 0}.wrap{width:min(100% - 36px,710px)}.menu-toggle{display:flex}.brand-name .brand-wordmark{font-size:15px}.theme-top{display:none}.hero{padding-top:45px}.hero-layout,.intro-grid,.status-layout,.race-layout,.contact-layout{grid-template-columns:1fr}.hero-layout{gap:30px}.hero-copy{padding:0}.hero h1{max-width:620px}.hero-visual{height:495px}.hero-small-photo{left:0}.hero-main-photo{left:30px}.section-head{grid-template-columns:1fr;gap:16px}.intro-photo-grid{height:390px}.services-track .service-card{flex-basis:calc((100% - 19px)/1.8)}.status-photo{height:430px}.race-picture{height:430px}.map-layout{grid-template-columns:1fr}.map-area{min-height:410px}.map-info{padding:18px}.faq-layout{grid-template-columns:1fr;gap:24px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{flex-direction:column}.profile-left,.profile-right{width:min(100%,440px)}}
@media(max-width:560px){.nav-shell{min-height:68px;gap:6px}.brand{gap:8px;min-width:0}.brand-icon{height:37px;width:37px;border-radius:11px}.brand-name .brand-wordmark{font-size:clamp(12px,3.4vw,15px)}.brand-name small{font-size:8px}.nav-phone{padding:10px 13px;min-height:40px;font-size:11px;gap:5px}.menu-toggle{height:39px;width:39px}.hero h1{font-size:clamp(2.65rem,11.2vw,3.7rem)}.hero-copy .eyebrow{font-size:8px}.hero-lead{font-size:14px;margin-top:18px}.hero-buttons{gap:10px;margin-top:22px}.hero-buttons .button{flex:1;padding:13px 14px;font-size:11px;gap:5px}.hero-meta{margin-top:28px}.hero-visual{height:380px}.hero-main-photo{inset:8px 0 12px 21px;border-radius:150px 24px 24px 24px;border-width:6px}.hero-small-photo{height:147px;width:110px;left:-2px;bottom:0;border-width:5px;border-radius:16px}.hero-small-photo span{font-size:8px;padding:0}.hero-float-card{top:15px;right:-5px;padding:8px 10px;gap:5px}.float-snow{font-size:17px}.hero-float-card strong{font-size:9px}.hero-float-card small{font-size:8px}.hero-bottom{font-size:8px}.side-tab{top:auto;bottom:10px;writing-mode:horizontal-tb;padding:8px 12px;border-radius:999px;font-size:10px;gap:7px}.tab-left{left:10px;transform:none}.tab-left:hover{transform:translateY(-3px)}.tab-right{right:10px}.side-tab>span:first-child{font-size:14px}.section h2{font-size:clamp(2.2rem,9.5vw,3rem)}.section-head{margin-bottom:20px}.intro-photo-grid{height:335px;gap:8px}.intro-photo-grid figure{border-width:4px}.services-track .service-card{flex-basis:84%;min-width:252px;height:390px}.service-card h3{font-size:21px}.carousel-nav button{height:42px;width:42px}.status-photo{height:360px;border-width:6px}.gallery-toolbar{align-items:flex-start;flex-direction:column}.gallery-grid{gap:9px}.gallery-item{height:165px;border-width:4px;border-radius:15px}.gallery-item:nth-child(1),.gallery-item:nth-child(5){grid-column:span 2;height:220px}.gallery-item-title{font-size:10px;left:10px;bottom:9px}.race-picture{height:335px;border-width:6px}.map-layout{padding:7px}.map-area{min-height:350px}.map-info{padding:18px 12px}.form-pair{grid-template-columns:1fr}.contact-form{padding:22px}.contact-facts a strong{font-size:13px}.footer-links{flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:4px}.theme-grid{grid-template-columns:1fr 1fr}.lightbox{width:100vw;height:100dvh;border-radius:0}.lightbox-main{height:calc(100% - 182px)}.lightbox-thumbs{max-width:56%}.lightbox-thumbs button{width:43px;flex-basis:43px;height:42px}.light-arrow{height:42px;width:42px}.light-arrow.prev{left:8px}.light-arrow.next{right:8px}.lightbox-bottom strong{font-size:12px}}
@media(max-width:360px){.brand{gap:6px}.brand-icon{width:33px;height:33px}.brand-name small{font-size:7px;letter-spacing:.09em}.nav-phone{padding-inline:9px}.hero-buttons{flex-direction:column}.hero-buttons .button{width:100%}.hero-visual{height:340px}.hero-small-photo{height:133px;width:95px}.hero-float-card{right:-4px}.section{padding:65px 0}.gallery-filters{gap:5px}.filter{font-size:10px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* V3 QA refinements: stronger photographic wall, no tiny-screen spill */
.mosaic-wash{background:linear-gradient(90deg,color-mix(in srgb,var(--paper) 56%,transparent) 0%,color-mix(in srgb,var(--paper) 43%,transparent) 48%,color-mix(in srgb,var(--paper) 50%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,var(--paper) 12%,transparent),color-mix(in srgb,var(--paper) 31%,transparent))}
.ambient-wash{background:linear-gradient(90deg,color-mix(in srgb,var(--paper) 25%,transparent),color-mix(in srgb,var(--paper) 18%,transparent))}
@media(max-width:560px){.orbit-a{right:0}}
@media(max-width:360px){.nav-phone{display:none}}

/* Final V3 finishing: calm motion control and consistent hover feedback */
.motion-toggle{background:color-mix(in srgb,var(--panel-solid) 85%,transparent);border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:var(--deep);font-size:10px;font-weight:850;letter-spacing:.015em;white-space:nowrap;transition:background .22s,transform .22s}
.motion-toggle:hover{background:var(--blue3);transform:translateY(-2px)}
.motion-toggle:disabled{opacity:.65;cursor:default}
.motion-paused .mosaic-track,.motion-paused .ticker-track{animation-play-state:paused!important}
@media(max-width:560px){.hero-bottom{flex-wrap:wrap;padding-block:10px;gap:7px}.hero-scroll-line{min-width:15px}.motion-toggle{padding:7px 10px;font-size:9px}}


/* Text and photo entry, using the same travel, easing and photo wipe as the reference. */
.scroll-reveal{--reveal-travel:28px;--reveal-direction:1}
:is(h1,h2).scroll-reveal{--reveal-travel:55px}
.scroll-reveal.reveal-from-top{--reveal-direction:-1}
.motion-ready:not(.motion-paused) .scroll-reveal{
 transition:opacity .85s cubic-bezier(.16,1,.3,1),translate 1.05s cubic-bezier(.16,1,.3,1),filter .85s ease;
}
.motion-ready:not(.motion-paused) .scroll-reveal:not(.inview):not(:focus-within){
 opacity:0;translate:0 calc(var(--reveal-travel) * var(--reveal-direction));filter:blur(5px)
}
.motion-ready:not(.motion-paused) :is(.scroll-reveal)>img{
 clip-path:inset(0 round 0);transition:clip-path 1.12s cubic-bezier(.16,1,.3,1),transform .65s var(--ease)
}
.motion-ready:not(.motion-paused) .scroll-reveal:not(.inview):not(:focus-within)>img{
 clip-path:inset(18% 6% round 24px)
}
@media(prefers-reduced-motion:reduce){
 .motion-ready:not(.motion-paused) .scroll-reveal:not(.inview){opacity:1;translate:none;filter:none}
 .motion-ready:not(.motion-paused) .scroll-reveal:not(.inview)>img{clip-path:none}
}

/* Temporary photo backdrop with the original mosaic and tint underneath. */
.ambient-layer{transition:opacity .8s var(--ease),filter .8s var(--ease)}
.ambient.photo-preview .ambient-layer.active{opacity:.63;filter:blur(5px) saturate(.95)}
.ambient-wash{transition:opacity .65s var(--ease)}
.ambient.photo-preview .ambient-wash{opacity:.58}
:is(.hero-main-photo,.hero-small-photo,.hover-photo,.service-card,.profile-picture)::before{
 content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
 background:#0c233d;opacity:0;transition:opacity .45s var(--ease)
}
@media(hover:hover){
 :is(.hero-main-photo,.hero-small-photo,.hover-photo,.service-card,.profile-picture):hover::before{opacity:.21}
}
.lightbox-main{
 background-image:linear-gradient(#edf7ff87,#edf7ff87),var(--hover-photo,none);
 background-position:center;background-size:cover
}
.gallery-credit{margin-top:1rem;font-size:.8rem}
.gallery-credit a,.faq-items p a,.lightbox-bottom p a{text-decoration:underline;text-underline-offset:.18em}
.carousel-nav button:disabled{opacity:.45;cursor:default;transform:none}
@media(min-width:821px){.mobile-nav{display:none}}

@media(max-width:880px){.profiles.has-detail .profile-left{visibility:hidden}}
