.hero{position:relative;min-height:min(940px,92vh);display:flex;align-items:center;color:var(--white);overflow:hidden;padding-top:var(--header-height)}
.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-image{object-fit:cover}
.hero-image-photo{object-position:52% center}
.hero-image-fallback{object-position:center}
.hero-shade{background:linear-gradient(90deg,rgba(3,30,48,.76) 0%,rgba(3,40,63,.36) 48%,rgba(3,40,63,.08) 100%),linear-gradient(0deg,rgba(3,40,63,.3),transparent 48%)}
.hero-content{position:relative;z-index:1}
.hero h1{max-width:750px;color:var(--white);text-shadow:0 3px 24px rgba(0,25,45,.35)}
.hero-lead{max-width:580px;margin-top:1.25rem;font-size:clamp(1.12rem,2.3vw,1.5rem);color:rgba(255,255,255,.86)}
.hero-actions{display:flex;gap:.8rem;margin-top:2rem}
.anniversary-chip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;width:min(100%,365px);margin-top:1rem;padding:.55rem .8rem;border:1px solid rgba(255,255,255,.32);border-radius:.75rem;background:rgba(0,43,88,.42);color:var(--white);backdrop-filter:blur(6px);text-decoration:none;font-size:.82rem;font-weight:700}
.anniversary-chip-year{padding:.18rem .5rem;border-radius:999px;background:var(--accent-600);font-size:.67rem;letter-spacing:.06em}
.scroll-cue{position:absolute;z-index:2;bottom:4.4rem;left:50%;display:grid;place-items:center;width:44px;height:44px;color:var(--white);border:1px solid rgba(255,255,255,.42);border-radius:50%;text-decoration:none;animation:float 2s ease-in-out infinite}
@keyframes float{50%{transform:translateY(6px)}}
.cameras-section{padding-top:7rem;background:var(--mist-50)}
.camera-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:1.25rem}
.camera-card{position:relative;min-height:340px;display:flex;align-items:flex-end;overflow:hidden;border-radius:var(--radius-lg);background:var(--navy-900);color:var(--white);box-shadow:var(--shadow-sm)}
.camera-card:first-child{min-height:430px;grid-row:span 1}
.camera-card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.65;transition:transform .5s ease,opacity var(--transition)}
.camera-card:hover .camera-card-bg{transform:scale(1.03);opacity:.75}
.camera-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,40,63,.9),rgba(3,40,63,.05) 70%)}
.camera-content{position:relative;z-index:1;width:100%;padding:1.5rem}
.camera-content h3{margin-top:.75rem}
.camera-content p{margin-top:.25rem;color:rgba(255,255,255,.72);font-size:.86rem}
.camera-icon{position:absolute;z-index:2;right:1.2rem;top:1.2rem;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(3,40,63,.58);backdrop-filter:blur(5px)}
.camera-icon img{width:21px}
.sea-section{color:var(--white);background:var(--navy-950);position:relative;overflow:hidden}
.sea-section::after{content:"";position:absolute;width:650px;height:650px;right:-250px;top:-300px;border:1px solid rgba(98,213,208,.12);border-radius:50%;box-shadow:0 0 0 80px rgba(98,213,208,.035),0 0 0 160px rgba(98,213,208,.025)}
.sea-section .container{position:relative;z-index:1}
.sea-section h2{color:var(--white)}
.sea-section .section-heading p:not(.eyebrow){color:rgba(255,255,255,.7)}
.marine-freshness{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:.48rem .75rem;border:1px solid transparent;border-radius:999px;font-size:.72rem;font-weight:800}
.freshness-loading{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:var(--aqua-200)}
.freshness-fresh{border-color:rgba(98,213,208,.3);background:rgba(98,213,208,.14);color:var(--aqua-200)}
.freshness-aging{border-color:rgba(255,197,88,.38);background:rgba(255,197,88,.14);color:#ffe2a7}
.freshness-stale{border-color:rgba(255,138,107,.45);background:rgba(239,63,22,.18);color:#ffd1c4}
.marine-error{margin-bottom:1rem;padding:1.2rem 1.35rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:rgba(255,255,255,.75)}
.marine-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;color:rgba(255,255,255,.7);font-size:.78rem}.marine-meta a{color:var(--aqua-200);font-weight:800}.marine-cache-note{width:100%;color:#ffe2a7}
.sea-dashboard{display:grid;grid-template-columns:1.2fr 2fr;gap:1rem}
.windy-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);color:var(--ink);overflow:hidden;box-shadow:var(--shadow-md)}
.windy-card-sea{margin-top:2.5rem;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.055);color:var(--white);backdrop-filter:blur(10px)}
.windy-card-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:1.4rem 1.5rem}
.windy-card-header>div:first-child{max-width:680px}.windy-card-header .eyebrow{margin-bottom:.45rem}.windy-card-header h3{font-size:clamp(1.4rem,3vw,2rem)}
.windy-card-sea .windy-card-header h3{color:var(--white)}
.windy-card-header>div:first-child>p:not(.eyebrow){margin-top:.4rem;color:var(--muted);font-size:.84rem}.windy-card-sea .windy-card-header>div:first-child>p:not(.eyebrow){color:rgba(255,255,255,.66)}
.windy-layer-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}
.windy-layer-controls button{min-height:38px;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--navy-900);font-size:.72rem;font-weight:800;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}
.windy-card-sea .windy-layer-controls button{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:var(--white)}
.windy-layer-controls button:hover{border-color:var(--ocean-600);background:var(--sky-100)}.windy-card-sea .windy-layer-controls button:hover{background:rgba(255,255,255,.16)}
.windy-layer-controls button.active{border-color:var(--accent-600);background:var(--accent-600);color:var(--white)}
.windy-frame-wrap{position:relative;min-height:540px;background:linear-gradient(145deg,var(--navy-950),var(--navy-800));overflow:hidden}
.windy-card-fishing .windy-frame-wrap{min-height:500px}
.windy-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;background:radial-gradient(circle at 50% 25%,rgba(83,197,222,.22),transparent 34%),linear-gradient(145deg,var(--navy-950),var(--navy-800));color:var(--white)}
.windy-consent::before,.windy-consent::after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(83,197,222,.15);border-radius:50%}.windy-consent::after{width:220px;height:220px}
.windy-consent>*{position:relative;z-index:1}.windy-consent>img{margin-bottom:1rem;filter:brightness(0) invert(1)}.windy-consent>strong{font-size:1.25rem}.windy-consent>p{max-width:540px;margin:.55rem 0 1.3rem;color:rgba(255,255,255,.72);font-size:.82rem}
.windy-frame{display:block;width:100%;height:540px;border:0;background:var(--navy-950)}.windy-card-fishing .windy-frame{height:500px}
.windy-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.5rem;color:var(--muted);font-size:.72rem}.windy-card-sea .windy-card-footer{color:rgba(255,255,255,.64)}
.windy-card-footer a{color:var(--ocean-600);font-weight:800;text-decoration:none}.windy-card-sea .windy-card-footer a{color:var(--aqua-200)}.windy-card-footer a:hover{text-decoration:underline}
.wind-feature,.metric-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:var(--radius-md);backdrop-filter:blur(10px)}
.wind-feature{min-height:310px;display:flex;align-items:center;justify-content:center;gap:2.5rem;padding:2rem}
.compass-placeholder{position:relative;flex:0 0 170px;width:170px;height:170px;border:1px solid rgba(98,213,208,.45);border-radius:50%;background:radial-gradient(circle,rgba(98,213,208,.12),transparent 65%)}
.compass-placeholder::before,.compass-placeholder::after{content:"";position:absolute;background:rgba(255,255,255,.15)}
.compass-placeholder::before{width:1px;height:100%;left:50%}.compass-placeholder::after{height:1px;width:100%;top:50%}
.compass-placeholder span{position:absolute;font-size:.65rem;font-weight:800;color:var(--aqua-200)}
.compass-placeholder span:nth-child(1){top:8px;left:50%;transform:translateX(-50%)}
.compass-placeholder span:nth-child(2){right:8px;top:50%;transform:translateY(-50%)}
.compass-placeholder span:nth-child(3){bottom:8px;left:50%;transform:translateX(-50%)}
.compass-placeholder span:nth-child(4){left:8px;top:50%;transform:translateY(-50%)}
.compass-placeholder i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-style:normal;font-size:3rem}
.metric-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.58)}
.feature-value{display:block;font-size:3.2rem;line-height:1.1;margin:.3rem 0;color:var(--aqua-200)}
.wind-feature .muted{max-width:180px;color:rgba(255,255,255,.52);font-size:.78rem;line-height:1.45}
.marine-direction{color:var(--white);font-size:.9rem;font-weight:800}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.metric-card{min-height:147px;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between}
.metric-card img{width:24px;height:24px;opacity:.8}
.metric-card strong{font-size:1.65rem;color:var(--aqua-200)}
.metric-card small{color:rgba(255,255,255,.48);font-size:.7rem}
.marine-metric-card small{min-height:2.6em;line-height:1.3}
.marine-forecast-panel{margin-top:1.2rem;padding:1.3rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.045)}
.marine-forecast-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.marine-forecast-heading h3{color:var(--white);font-size:clamp(1.35rem,2.5vw,1.8rem)}.marine-forecast-heading>span{color:rgba(255,255,255,.55);font-size:.72rem}
.marine-forecast{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(185px,1fr);gap:.75rem;margin-top:1rem;padding-bottom:.45rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-color:var(--ocean-600) rgba(255,255,255,.08)}
.forecast-card{scroll-snap-align:start;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:rgba(3,40,63,.48)}.forecast-card time{display:block;margin-bottom:.8rem;color:var(--aqua-200);font-size:1.25rem;font-weight:800}.forecast-row{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem;padding:.32rem 0;border-top:1px solid rgba(255,255,255,.08);font-size:.68rem}.forecast-row span{color:rgba(255,255,255,.52)}.forecast-row strong{color:var(--white);font-size:.72rem;text-align:right}
.coastal-accuracy-note{margin-top:.8rem;color:rgba(255,255,255,.52);font-size:.72rem}
.provider-section-label{margin:0 0 .65rem;color:var(--aqua-200);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.aemet-panel{margin-top:2.5rem;padding:clamp(1.2rem,3vw,2rem);border:1px solid rgba(98,213,208,.28);border-radius:var(--radius-lg);background:var(--white);color:var(--ink);box-shadow:var(--shadow-md)}
.aemet-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.aemet-heading h3{color:var(--navy-950);font-size:clamp(1.4rem,3vw,2rem)}.aemet-heading a{color:var(--ocean-700);font-size:.76rem;font-weight:800;text-decoration:none}.aemet-heading a:hover{text-decoration:underline}.aemet-heading a:focus-visible{outline:3px solid var(--accent-600);outline-offset:4px}
.aemet-content{margin-top:1.2rem}.aemet-unavailable{margin:0;padding:1rem;border-radius:var(--radius-sm);background:var(--mist-50);color:var(--muted)}
.aemet-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;color:var(--muted);font-size:.75rem}.aemet-cache-note{width:100%;padding:.7rem .85rem;border-left:3px solid #d28c08;background:#fff8e5;color:#6b4b0a}
.aemet-situation{margin-top:1rem;padding:1rem;border-radius:var(--radius-sm);background:var(--sky-100)}.aemet-situation h4,.aemet-warnings h4{color:var(--navy-950);font-size:.9rem}.aemet-situation p,.aemet-warning-item{margin-top:.45rem;white-space:pre-line;line-height:1.65}
.aemet-warnings{margin-top:1rem;padding:1rem;border:1px solid #f0c5b9;border-radius:var(--radius-sm);background:#fff5f1}.aemet-warning-item{color:#74301e}
.aemet-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.aemet-zone{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--mist-50)}.aemet-zone h4{color:var(--navy-950);font-size:.92rem}.aemet-zone small{display:block;margin-top:.2rem;color:var(--muted);font-size:.68rem}.aemet-zone p{margin-top:.5rem;color:var(--ink);font-size:.82rem;line-height:1.65;white-space:pre-line}
.fishing-section{background:linear-gradient(135deg,#f4f9fa 0%,#e9f5f6 100%)}
.fishing-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.fishing-copy>p:not(.eyebrow):not(.data-note){max-width:570px;margin-top:1.2rem;color:var(--muted);font-size:1.08rem}
.fishing-conditions-title{margin-top:2rem;color:var(--navy-950);font-size:1.25rem}.fishing-conditions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}.fishing-condition{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;min-width:0;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white)}.fishing-condition>img{width:21px;height:21px}.fishing-condition div{display:flex;min-width:0;flex-direction:column}.fishing-condition span{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.fishing-condition strong{margin-top:.2rem;color:var(--navy-950);font-size:1rem}.fishing-condition small{margin-top:.15rem;color:var(--muted);font-size:.68rem}.fishing-updated{margin-top:.8rem!important;color:var(--muted)!important;font-size:.72rem!important}
.fishing-variables{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.variable-pill{display:flex;align-items:center;gap:.45rem;padding:.6rem .85rem;background:var(--white);border:1px solid var(--line);border-radius:999px;font-size:.8rem;font-weight:700}
.variable-pill img{width:18px;height:18px}
.map-placeholder{position:relative;min-height:470px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;border-radius:var(--radius-lg);background:var(--navy-900);color:var(--white);box-shadow:var(--shadow-md)}
.map-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(98,213,208,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(98,213,208,.6) 1px,transparent 1px);background-size:42px 42px;transform:perspective(500px) rotateX(50deg) scale(1.5)}
.map-placeholder::after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(98,213,208,.28);border-radius:50%;box-shadow:0 0 0 50px rgba(98,213,208,.04),0 0 0 100px rgba(98,213,208,.03)}
.map-placeholder>*:not(.map-grid){position:relative;z-index:2}
.map-placeholder>img{filter:brightness(0) invert(1);margin-bottom:1rem}
.map-placeholder strong{font-size:1.4rem}
.map-placeholder>span:not(.demo-badge){max-width:320px;margin:.4rem 0 1.2rem;color:rgba(255,255,255,.65);font-size:.9rem}
.split-layout{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:550px;border-radius:var(--radius-lg);overflow:hidden;background:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.image-panel{min-height:430px;background-color:var(--ocean-700)}
.marina-illustration{background-image:url('/img/port/marina-illustration.svg');background-position:center;background-size:cover}
.content-panel{padding:clamp(2rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center}
.content-panel .large-copy{margin-top:1.2rem}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.2rem;padding-top:1.8rem;border-top:1px solid var(--line)}
.values-grid strong,.values-grid span{display:block}.values-grid strong{color:var(--navy-900)}.values-grid span{margin-top:.35rem;color:var(--muted);font-size:.78rem;line-height:1.45}
.port-section{position:relative;min-height:480px;display:flex;align-items:center;color:var(--white);background:linear-gradient(90deg,rgba(3,40,63,.95),rgba(3,40,63,.5)),url('/img/hero/port-bera-illustration.svg') center 58%/cover}
.port-content{max-width:var(--container)}
.port-content>*{max-width:660px}
.port-content h2{color:var(--white)}
.port-content>p:not(.eyebrow){margin-top:1.2rem;color:rgba(255,255,255,.75);font-size:1.1rem}
.activities-section{background:var(--white)}
.year-mark{color:var(--accent-100);font-size:clamp(3.5rem,9vw,7rem);font-weight:800;line-height:.8;letter-spacing:-.06em}
.anniversary-panel{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:clamp(1.5rem,4vw,3rem);margin:-.5rem 0 2rem;padding:1.5rem 2rem;border:1px solid #ffd1c4;border-radius:var(--radius-lg);background:linear-gradient(110deg,var(--white),var(--accent-100));box-shadow:var(--shadow-sm);scroll-margin-top:calc(var(--header-height) + 1rem)}
.anniversary-logo-wrap{width:150px;height:155px;display:grid;place-items:center;border-radius:1rem;background:var(--white);box-shadow:0 10px 30px rgba(0,43,88,.1)}
.anniversary-logo-wrap img{width:100%;height:100%;object-fit:contain}
.anniversary-panel h3{color:var(--navy-900);font-size:clamp(1.65rem,3vw,2.5rem)}
.anniversary-panel p:not(.eyebrow){max-width:620px;margin-top:.55rem;color:var(--muted)}
.activities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.activity-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--white);color:inherit;text-decoration:none;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}
.activity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.activity-card:focus-visible{outline-color:var(--accent-600);border-color:var(--ocean-600);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.activity-card:first-child{grid-column:span 2}
.activity-image{position:relative;height:190px;background:var(--sky-100);overflow:hidden}
.activity-card:first-child .activity-image{height:240px}
.activity-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.activity-card:hover .activity-image img{transform:scale(1.04)}
.activity-media-badge{position:absolute;right:.8rem;bottom:.8rem;padding:.32rem .55rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(0,43,88,.72);color:var(--white);font-size:.62rem;font-weight:800;backdrop-filter:blur(6px)}
.activity-date{position:absolute;top:1rem;left:1rem;min-width:64px;padding:.5rem .65rem;border-radius:.55rem;background:var(--white);color:var(--navy-900);text-align:center;box-shadow:var(--shadow-sm)}
.activity-date strong,.activity-date span{display:block;line-height:1}.activity-date strong{font-size:1.4rem}.activity-date span{margin-top:.25rem;font-size:.64rem;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.activity-body{padding:1.25rem}.activity-body p{margin-top:.5rem;color:var(--muted);font-size:.78rem}.activity-body .future-link{display:block;margin-top:1rem;color:var(--ocean-700);font-size:.75rem;font-weight:800}
.activity-dialog,.lightbox-dialog{width:min(1100px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:0;border-radius:var(--radius-lg);background:var(--white);color:var(--ink);box-shadow:0 28px 90px rgba(0,25,45,.35);overflow:auto}
.activity-dialog::backdrop,.lightbox-dialog::backdrop{background:rgba(0,28,49,.72);backdrop-filter:blur(5px)}
.activity-dialog-shell,.lightbox-shell{position:relative}
.dialog-close{position:sticky;z-index:5;top:1rem;float:right;width:44px;height:44px;margin:1rem 1rem -60px 0;border:1px solid rgba(0,43,88,.13);border-radius:50%;background:rgba(255,255,255,.94);color:var(--navy-950);font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm)}
.dialog-close:hover{background:var(--sky-100)}
.activity-detail-header{padding:clamp(2.5rem,6vw,5rem) clamp(1.25rem,6vw,5rem) clamp(2rem,5vw,3.5rem);background:linear-gradient(135deg,var(--mist-50),var(--sky-100))}
.activity-detail-header h2{max-width:800px;margin-top:.5rem;font-size:clamp(2.2rem,5vw,4rem)}
.activity-detail-header>p{max-width:720px;margin-top:1rem;color:var(--muted);font-size:1.05rem}
.activity-detail-date{display:block;margin-top:1.4rem;color:var(--ocean-700);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.back-to-activities{display:inline-flex;color:var(--ocean-700);font-size:.82rem;font-weight:800;text-decoration:none}
.back-to-activities::before{content:"←";margin-right:.45rem}
.activity-media-section{padding:clamp(2rem,5vw,4rem) clamp(1.25rem,6vw,5rem) 0}
.activity-media-section h3,.activity-collaborators h3{color:var(--navy-950);font-size:clamp(1.5rem,3vw,2.2rem)}
.activity-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.4rem}
.gallery-count-1{grid-template-columns:1fr}
.gallery-item{min-height:260px;max-height:520px;padding:0;border:0;border-radius:var(--radius-md);background:var(--navy-950);overflow:hidden;cursor:zoom-in}
.gallery-item img{width:100%;height:100%;min-height:260px;max-height:520px;object-fit:cover;transition:transform .35s ease,opacity var(--transition)}
.gallery-count-1 .gallery-item img{aspect-ratio:16/9}
.gallery-item:hover img{transform:scale(1.025);opacity:.94}
.gallery-item:focus-visible{outline-color:var(--accent-600)}
.activity-empty-media{margin-top:1rem;padding:1rem 1.2rem;border-radius:var(--radius-sm);background:var(--mist-50);color:var(--muted)}
.activity-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.4rem}
.activity-video{margin:0}.activity-video video{display:block;width:100%;aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--navy-950);object-fit:contain}.activity-video figcaption{margin-top:.45rem;color:var(--muted);font-size:.78rem}
.activity-collaborators{margin-top:clamp(2.5rem,6vw,5rem);padding:clamp(2rem,5vw,4rem) clamp(1.25rem,6vw,5rem);background:var(--mist-50);border-block:1px solid var(--line)}
.collaborator-heading>p:not(.eyebrow){max-width:780px;margin-top:.8rem;color:var(--muted)}
.collaborators-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.8rem}
.collaborator-card{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white)}
.collaborator-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--accent-100);color:var(--accent-600);font-size:.8rem}
.collaborator-card h4{margin:0;color:var(--navy-950);font-size:.88rem;line-height:1.3}.collaborator-card p{margin-top:.28rem;color:var(--muted);font-size:.72rem;line-height:1.45}
.detail-back-button{margin:2rem clamp(1.25rem,6vw,5rem) clamp(2rem,5vw,4rem)}
.lightbox-dialog{width:min(1400px,calc(100% - 2rem));background:var(--navy-950)}
.lightbox-shell{min-height:200px;padding:1rem}.lightbox-close{position:absolute;right:0;float:none;margin:0}
.lightbox-shell>img{width:100%;max-height:calc(100dvh - 7rem);object-fit:contain;border-radius:var(--radius-sm)}
.lightbox-shell>p{padding:.7rem 3.5rem 0 .25rem;color:rgba(255,255,255,.8);font-size:.78rem}
.documents-section{background:var(--mist-50)}
.document-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:900px;margin:auto}
.document-card{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white)}
.document-card span{display:block;margin-top:.4rem;color:var(--muted);font-size:.82rem}
.document-card .status-badge{margin-top:1.2rem}
.join-section{background:linear-gradient(135deg,var(--navy-950),var(--navy-800));color:var(--white)}
.join-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,8vw,7rem);align-items:center}
.join-copy h2{color:var(--white)}
.join-copy>p:not(.eyebrow){margin-top:1.2rem;color:rgba(255,255,255,.7);font-size:1.08rem}
.join-copy ul{margin-top:2rem}.join-copy li{position:relative;padding:.55rem 0 .55rem 1.8rem;color:rgba(255,255,255,.86)}.join-copy li::before{content:"✓";position:absolute;left:0;color:var(--aqua-400);font-weight:900}
.contact-section{background:var(--sand-100)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.contact-layout>div:first-child>p:not(.eyebrow){max-width:650px;margin-top:1rem;color:var(--muted)}
.contact-card{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.contact-card-content{display:flex;min-width:0;flex:1;flex-direction:column}.contact-card-content>span{color:var(--muted);font-size:.85rem}
.contact-methods{display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.contact-methods a{display:flex;flex-direction:column;width:max-content;max-width:100%;color:var(--ocean-700);text-decoration:none}.contact-methods a:hover strong{text-decoration:underline}.contact-methods span{color:var(--muted);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.contact-methods strong{overflow-wrap:anywhere;font-size:.9rem}
.legal-section{background:var(--white);padding-block:clamp(3.5rem,7vw,6rem)}
.legal-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,7vw,6rem);align-items:start}
.legal-section .section-heading{margin:0}.legal-section .section-heading p:not(.eyebrow){margin-top:1rem}
.legal-accordions{display:grid;gap:.8rem}
.legal-accordions details{scroll-margin-top:calc(var(--header-height) + 1rem);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--mist-50);overflow:hidden}
.legal-accordions summary{position:relative;padding:1.15rem 3rem 1.15rem 1.25rem;color:var(--navy-900);font-weight:800;cursor:pointer;list-style:none}
.legal-accordions summary::-webkit-details-marker{display:none}
.legal-accordions summary::after{content:"+";position:absolute;right:1.25rem;font-size:1.3rem;color:var(--accent-600)}
.legal-accordions details[open] summary::after{content:"−"}
.legal-body{padding:0 1.25rem 1.35rem;border-top:1px solid var(--line)}
.legal-body dl{margin:0}.legal-body dl>div{display:grid;grid-template-columns:160px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.legal-body dt{font-size:.76rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.legal-body dd{margin:0;font-size:.9rem}
.pending-note{margin-top:1rem;padding:.8rem 1rem;border-left:3px solid var(--accent-600);background:var(--accent-100);font-size:.8rem;color:var(--muted)}
