@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/montserrat-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/montserrat-500-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--petrol:#063A4B;--turq:#00A8A4;--turq-ink:#00706D;--gold:#F2B544;--ivory:#FCFAF5;--muted:#45606A;--line:#DCE6E4;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mont:"Montserrat",var(--sans)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ivory);color:var(--petrol);font:17px/1.6 var(--sans)}
img{max-width:100%;height:auto}a{color:var(--turq-ink)}a:hover{color:var(--petrol)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.shell{max-width:1120px;margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-9999px;top:0;background:var(--petrol);color:#fff;padding:.6rem 1rem;z-index:10}.skip:focus{left:1rem;top:1rem}
.top{position:sticky;top:0;z-index:5;background:rgba(252,250,245,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;min-height:4rem;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--petrol)}
.brand span,.foot-brand span{font-family:var(--mont);font-weight:500;letter-spacing:.18em;font-size:1.05rem}
.top-links{display:flex;align-items:center;gap:.5rem}
.top-links a{text-decoration:none;font-weight:600;font-size:.9rem;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--line);color:var(--petrol)}
.top-links a.lang{border-color:var(--turq);color:var(--turq-ink)}
.top-links a:hover{background:var(--petrol);color:#fff;border-color:var(--petrol)}
.banner{background:var(--petrol);color:#fff;font-size:.95rem}
.banner .shell{display:flex;align-items:center;gap:.7rem;padding-top:.6rem;padding-bottom:.6rem}.banner p{margin:0}
.dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--gold);flex:none;box-shadow:0 0 0 0 rgba(242,181,68,.7);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 .55rem rgba(242,181,68,0)}100%{box-shadow:0 0 0 0 rgba(242,181,68,0)}}
@media (prefers-reduced-motion:reduce){.dot{animation:none}}
.hero{padding:3.5rem 0 1.5rem;background:radial-gradient(circle at 85% 20%,rgba(0,168,164,.12),transparent 45%)}
.hero-in{display:grid;grid-template-columns:1.4fr .8fr;gap:2.5rem;align-items:center}
.hero-logo{justify-self:center;width:min(300px,70vw);opacity:.95}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--turq-ink);margin:0 0 .6rem}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0 0 1rem}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}h1 em{font-style:normal;color:var(--turq-ink)}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem)}h3{font-size:1.3rem}
.lead{font-size:1.1rem;color:var(--muted);max-width:62ch}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.button{display:inline-block;padding:.8rem 1.4rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--petrol)}
.button.primary{background:var(--petrol);color:#fff}.button.primary:hover{background:var(--turq-ink);border-color:var(--turq-ink);color:#fff}
.button.ghost{color:var(--petrol)}.button.ghost:hover{background:var(--petrol);color:#fff}
.button.light{border-color:#fff;color:#fff}.button.light:hover{background:#fff;color:var(--petrol)}
.toc{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:2.5rem 0 0}
.toc a{display:block;font-size:.88rem;padding:.35rem .8rem;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--petrol)}
.toc a:hover{border-color:var(--turq)}
.block{padding:3.5rem 0}.tint{background:#F1F6F5}
.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}
.fig{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.2rem}
.fig strong{display:block;font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--turq-ink)}
.fig p{margin:.3rem 0 0;font-size:.95rem;color:var(--muted)}
.src{font-size:.78rem;white-space:nowrap}
.question{border-left:4px solid var(--gold);background:#fff;padding:1rem 1.2rem;border-radius:0 12px 12px 0;max-width:70ch}
.flow{list-style:none;padding:0;margin:1.5rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:f}
.flow li{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.2rem}
.flow li:not(:last-child)::after{content:"→";position:absolute;right:-.85rem;top:50%;transform:translateY(-50%);color:var(--turq);font-weight:700;z-index:1}
.flow .n{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--petrol);color:#fff;font-size:.85rem;font-weight:700;margin-bottom:.5rem}
.flow li:last-child{border-color:var(--turq);background:#E9F6F5}
.flow strong{display:block}.flow p{margin:.3rem 0 0;font-size:.93rem;color:var(--muted)}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.5rem}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.5rem}
.card .tag{font-size:.8rem;font-weight:700;color:var(--turq-ink);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .4rem}.card p{margin:0}
.road{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.road li{border-top:3px solid var(--turq);padding-top:.8rem}.road li:first-child{border-color:var(--gold)}
.year{font-family:var(--serif);font-size:1.4rem}.road p{margin:.3rem 0 0;color:var(--muted);font-size:.95rem}
.fine{font-size:.85rem;color:var(--muted)}
.people{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}
.person{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.2rem;display:flex;flex-direction:column;gap:.2rem}
.person span{color:var(--muted)}.person a{font-size:.92rem;word-break:break-all}
.media{display:grid;grid-template-columns:1fr 1.4fr;gap:1.5rem;margin-top:1.5rem;align-items:stretch}
.flyer-box,.video-soon{background:#fff;border:2px dashed var(--line);border-radius:16px;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:220px}
.flyer-box:has(.button){border-style:solid}
.soon,.video-soon p{color:var(--muted);margin:0}
.video-soon{aspect-ratio:16/9;min-height:0;background:linear-gradient(135deg,#0A4A5E,var(--petrol));border:0;color:#fff}
.video-soon p{color:#D8E8E8}.play{font-size:2rem;width:4rem;height:4rem;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.5);margin-bottom:.8rem;padding-left:.3rem}
.video{margin:0}.video video{width:100%;border-radius:16px;background:#000;display:block}
.cta{background:var(--petrol);color:#fff;border-radius:22px;padding:2.5rem}
.cta .kicker{color:var(--gold)}.cta p{color:#D8E8E8;max-width:65ch}
.routes{list-style:none;padding:0;margin:1.5rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.routes li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:.9rem 1rem;display:flex;flex-direction:column}
.routes span{font-size:.9rem;color:#D8E8E8}.routes a{color:#fff;font-weight:700;word-break:break-all}.routes a:hover{color:var(--gold)}
.foot{border-top:1px solid var(--line);padding:2.5rem 0;font-size:.92rem}
.foot-brand{display:flex;align-items:center;gap:.6rem;margin:0}.foot-tag{color:var(--muted)}
.foot details{margin:1rem 0}.foot summary{cursor:pointer;font-weight:700}.foot details p{color:var(--muted);max-width:80ch}
@media (max-width:900px){.figs,.flow,.road{grid-template-columns:1fr 1fr}.flow li:nth-child(2)::after{display:none}}
@media (max-width:760px){.hero-in,.cards,.people,.media,.routes{grid-template-columns:1fr}.hero-logo{display:none}.hero{padding-top:2rem}.block{padding:2.5rem 0}.cta{padding:1.6rem}.top-links a.team{display:none}}
@media (max-width:480px){.figs,.flow,.road{grid-template-columns:1fr}.flow li::after{display:none}}
