@font-face{font-family:'Tektur';src:url('../fonts/tektur-500.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Carlito';src:url('../fonts/carlito-400.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Carlito';src:url('../fonts/carlito-700.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
:root{--sky:#EAF3F8;--steel:#0E2A3D;--or:#F25C05;--mist:#8FB3C7;--w:#fff;--gut:clamp(16px,4vw,56px);--hd:'Tektur','Carlito',system-ui,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sky);color:var(--steel);font:400 19px/1.5 'Carlito',system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img,video{max-width:100%}
a{color:var(--steel);text-decoration-color:var(--or);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--or)}
h1,h2,h3{font-family:var(--hd);font-weight:500;line-height:1.05;margin:0;letter-spacing:-.01em}
p{margin:0 0 1em}
.mono{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;background:var(--steel);color:var(--w);padding:10px 14px;z-index:100}
.skip:focus{top:8px}
:focus-visible{outline:3px solid var(--or);outline-offset:3px}
.top{background:var(--steel);color:var(--w);position:relative;z-index:30}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--gut);max-width:1440px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;color:var(--w);text-decoration:none;font:500 1.55rem/1 var(--hd)}
.brand svg{width:34px;height:26px}
.nav{display:flex;gap:6px}
.nav a{color:var(--w);text-decoration:none;padding:9px 14px;font-size:1.05rem;border-bottom:3px solid transparent}
.nav a:hover{border-color:var(--mist);color:var(--w)}
.nav a[aria-current=page]{border-color:var(--or)}
.burger{display:none;background:none;border:2px solid var(--w);width:46px;height:44px;cursor:pointer}
.burger-bars,.burger-bars::before,.burger-bars::after{display:block;width:20px;height:2px;background:var(--w);position:relative;margin:auto;content:""}
.burger-bars::before{position:absolute;top:-6px;left:0}.burger-bars::after{position:absolute;top:6px;left:0}
@media(max-width:820px){
 .burger{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--steel);padding:4px var(--gut) 14px;gap:0}
 .nav.open{display:flex}
 .nav a{padding:16px 0;border-bottom:1px solid #27455a}
 .nav a[aria-current=page]{border-bottom:3px solid var(--or)}
}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--gut)}
.btn{display:inline-block;background:var(--steel);color:var(--w);border:2px solid var(--steel);padding:13px 20px;font:700 1rem/1 'Carlito';text-decoration:none;cursor:pointer}
.btn:hover{background:var(--or);border-color:var(--or);color:var(--w)}
.btn.alt{background:transparent;color:var(--steel)}
.btn.alt:hover{background:var(--steel);color:var(--w);border-color:var(--steel)}
.row{display:flex;flex-wrap:wrap;gap:12px}
/* hero: arch */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--gut);align-items:end;padding-top:clamp(24px,4vw,56px)}
.hero h1{font-size:clamp(2.6rem,6vw,5.4rem);line-height:.98;margin-bottom:.5em}
.hero h1 span{color:var(--or)}
.lead{font-size:1.25rem;max-width:26em;margin-bottom:1.4em}
.arch{position:relative;margin:0}
.arch-in{position:relative;border-radius:999px 999px 0 0;overflow:hidden;aspect-ratio:5/4;background:var(--steel);border:6px solid var(--or);border-bottom:0}
.arch video,.arch .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.arch-btn{position:absolute;right:10px;top:10px;z-index:2;background:var(--sky);color:var(--steel);border:2px solid var(--steel);font:700 .85rem/1 'Carlito';padding:7px 10px;cursor:pointer}
.arch-cap{position:absolute;left:0;right:0;bottom:14px;text-align:center;z-index:2}
.arch-cap b{background:var(--steel);color:var(--w);padding:4px 10px;font:500 .9rem/1 var(--hd)}
@media(max-width:820px){.hero{grid-template-columns:1fr}.arch-btn{right:auto;left:50%;top:auto;bottom:48px;transform:translateX(-50%)}}
.deck{position:relative;background:var(--steel);height:14px;margin-top:0}
.deck::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px;background:repeating-linear-gradient(90deg,var(--or) 0 3px,transparent 3px 28px)}
.shores{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px 0 8px}
.shore{display:flex;flex-direction:column}
.shore small{color:#3a5a70;font-size:.95rem}
.shore .t{font:500 clamp(2rem,5vw,3.6rem)/1 var(--hd)}
.shore.r{text-align:right}
.sec{padding:clamp(34px,6vw,84px) 0}
.sec h2{font-size:clamp(1.8rem,3.6vw,3rem);margin-bottom:.6em}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,44px)}
.facts h3{font-size:1.35rem;padding-bottom:.5em;border-bottom:3px solid var(--or);margin-bottom:.6em}
@media(max-width:820px){.facts{grid-template-columns:1fr}.shores{gap:10px}}
.next{background:var(--steel);color:var(--w);padding:clamp(20px,3vw,34px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.next h2{font-size:clamp(1.5rem,3vw,2.4rem);margin:0 0 .3em}
.next a{color:var(--w)}
@media(max-width:620px){.next{grid-template-columns:1fr}}
/* bridge rows */
.ph{padding:clamp(28px,5vw,64px) 0 8px}
.ph h1{font-size:clamp(2.4rem,5.6vw,4.8rem)}
.ph p{max-width:36em;margin-top:.9em;font-size:1.2rem}
.tools{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:end;padding:16px 0;border-top:2px solid var(--steel);border-bottom:2px solid var(--steel);margin:18px 0 0}
.tools label{display:block;font-weight:700;font-size:.9rem;margin-bottom:5px}
.tools input,.tools select{font:400 1rem 'Carlito';padding:10px 12px;border:2px solid var(--steel);background:var(--w);color:var(--steel);min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:700 .95rem/1 'Carlito';padding:10px 14px;border:2px solid var(--steel);background:transparent;color:var(--steel);cursor:pointer}
.chip[aria-pressed=true]{background:var(--steel);color:var(--w)}
.list{list-style:none;margin:0;padding:0}
.list li[hidden]{display:none}
.br{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(16px,3vw,44px);padding:26px 0;border-bottom:2px solid var(--steel);align-items:center}
.br img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:2px solid var(--steel)}
.br h2{font-size:clamp(1.5rem,2.6vw,2.2rem);margin-bottom:.3em}
.br .meta{color:#3a5a70;margin-bottom:.8em}
.br .diff{display:inline-block;background:var(--or);color:var(--w);padding:3px 9px;font-weight:700}
.empty{border:2px dashed var(--steel);padding:26px;margin:26px 0;max-width:560px}
.empty h2{font-size:1.8rem;margin-bottom:.4em}
@media(max-width:700px){.br{grid-template-columns:1fr}}
/* schedule */
.sch{width:100%;border-collapse:collapse;margin-top:18px}
.sch th,.sch td{text-align:left;padding:14px 10px;border-bottom:2px solid var(--steel);vertical-align:middle}
.sch th{font-size:.9rem}
.sch tr.now td{background:var(--or);color:var(--w)}
.sch tr.past td{opacity:.5}
.sch .st{font-weight:700}
.dnav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}
.tbl-wrap{overflow-x:auto}
@media(max-width:620px){.sch .hm{display:none}}
/* calc */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,60px);align-items:start;padding-bottom:60px}
.field{margin-bottom:22px}
.field label{display:flex;justify-content:space-between;font-weight:700;margin-bottom:8px}
.field input[type=range]{width:100%;accent-color:var(--or)}
.field select{font:400 1rem 'Carlito';padding:11px 12px;border:2px solid var(--steel);background:var(--w);width:100%}
.out{background:var(--steel);color:var(--w);padding:clamp(20px,3vw,36px)}
.out .num{font:500 clamp(2.8rem,7vw,5rem)/1 var(--hd)}
.out p{margin:.8em 0 0}
@media(max-width:780px){.calc{grid-template-columns:1fr}}
.prose{max-width:44em;padding-bottom:50px}
.prose h2{font-size:1.8rem;margin:1.5em 0 .5em}
.hist{list-style:none;margin:0;padding:0;max-width:44em}
.hist li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-top:2px solid var(--steel)}
@media(max-width:560px){.hist li{grid-template-columns:1fr;gap:2px}}
.foot{background:var(--steel);color:var(--w);padding:24px var(--gut)}
.foot-in{max-width:1440px;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 30px;justify-content:space-between}
.nf{padding-top:clamp(30px,6vw,90px);padding-bottom:clamp(40px,6vw,90px)}
.nf h1{font-size:clamp(4.5rem,20vw,15rem);line-height:.85;color:var(--steel)}
.nf h1 i{font-style:normal;color:var(--or)}
.gap-svg{display:block;width:100%;max-width:560px;margin:10px 0 26px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
