/*
 * Víkingur 26: design-system components.
 *
 * One block per component, ported from the inline styles of the matching
 * React component in the Víkingur Design System (components/*). The PHP that
 * renders each block is in inc/components.php.
 *
 * Hover-only reveals (product "Í körfu", promo text) are shown permanently on
 * devices without hover, so touch users are never shut out of an action.
 */

/* ── Small pieces ── */
.w-btn--sm{height:36px;padding:0 16px;font-size:13px}
.w-viewall{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:900;font-size:clamp(20px,1.9vw,26px);line-height:1;text-transform:uppercase;color:var(--gray-500);text-decoration:none;transition:color var(--dur-fast)}
.w-viewall:hover{color:var(--vik-astrida)}
.w-viewall-inv{color:rgba(255,255,255,.75)}.w-viewall-inv:hover{color:#fff}

/* Reveal on scroll: content is visible without JavaScript; the hidden start
   state only applies once front.js has marked the page (html.vik-js). */
.vik-js .vik-reveal{opacity:0;transform:translateY(24px);transition:opacity 600ms var(--ease-strike) var(--vik-delay,0ms),transform 700ms var(--ease-strike) var(--vik-delay,0ms)}
.vik-js .vik-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.vik-js .vik-reveal{opacity:1;transform:none;transition:none}}

/* ── Badge: square label ── */
.vik-badge{display:inline-flex;align-items:center;height:24px;padding:0 9px;font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1;white-space:nowrap}
.vik-badge--sm{height:20px;padding:0 7px;font-size:11px}
.vik-badge--black{background:var(--black);color:#fff}
.vik-badge--red{background:var(--vik-astrida);color:#fff}
.vik-badge--outline{background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1px var(--black)}
.vik-badge--gold{background:var(--vik-arangur);color:#000}

/* ── WebSectionTitle: TITLE / LINK > ── */
.vik-stitle{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.vik-stitle__main{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.vik-stitle__title{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(34px,3.6vw,50px);line-height:.9;text-transform:uppercase;color:var(--ink)}
.vik-stitle__slash{font-family:var(--font-display);font-weight:900;font-size:clamp(22px,2.1vw,30px);line-height:.9;color:var(--text-brand)}
.vik-stitle__link{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:900;font-size:clamp(20px,1.9vw,26px);line-height:1;text-transform:uppercase;color:var(--gray-500);text-decoration:none;transition:color var(--dur-fast)}
.vik-stitle__link:hover{color:var(--vik-astrida)}
.vik-stitle__controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.vik-stitle--inv .vik-stitle__title{color:#fff}
.vik-stitle--inv .vik-stitle__link{color:rgba(255,255,255,.75)}
.vik-stitle--inv .vik-stitle__link:hover{color:#fff}

/* ── Rail arrows ── */
.vik-rail-arrows{display:flex;gap:8px}
.vik-rail-btn{width:40px;height:40px;border:1px solid var(--border-hairline);border-radius:50%;background:var(--white);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast)}
.vik-rail-btn:hover{background:var(--gray-50)}
.vik-rail-btn:disabled{opacity:.35;cursor:default}
.vik-stitle--inv .vik-rail-btn{border-color:transparent}

/* ── Segmented tabs ── */
.vik-tabs{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius-pill);background:var(--gray-50)}
.vik-tabs__tab{height:34px;padding:0 16px;border:0;border-radius:var(--radius-pill);background:transparent;font-family:var(--font-condensed);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}
.vik-tabs__tab:hover{color:var(--ink)}
.vik-tabs__tab.is-active{background:var(--black);color:#fff}

/* ── TeamMark ── */
.vik-team{flex:none;display:inline-flex;align-items:center;justify-content:center}
.vik-team img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.vik-team--code{background:var(--white);border:1px solid var(--black);font-family:var(--font-condensed);font-weight:700;letter-spacing:.02em;color:var(--ink);line-height:1}

/* ── FixtureCard: shield-cut card ── */
.vik-fixture{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;min-height:100%;padding:24px 24px 22px;border-radius:var(--radius-card);clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%) /* fallback; cut-corners.js rounds the joints */;background:var(--canvas);color:var(--ink);transition:background var(--dur-base) var(--ease-strike);scroll-snap-align:start}
.vik-fixture:hover{background:var(--white)}
.vik-fixture__shield{position:absolute;right:-18px;bottom:-26px;width:190px;height:auto;color:var(--gray-100);transition:transform 600ms var(--ease-strike);pointer-events:none}
.vik-fixture:hover .vik-fixture__shield{transform:translateX(-6px)}
.vik-fixture__head{position:relative;display:flex;align-items:center;gap:10px;min-width:0}
.vik-fixture__team,.vik-fixture__status{font-family:var(--font-condensed);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.vik-fixture__team{font-size:12px;padding:5px 7px;background:var(--black);color:#fff}
.vik-fixture__status{color:var(--text-brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vik-fixture.is-played .vik-fixture__status{color:var(--ink)}
.vik-fixture__rows{position:relative;display:grid;gap:12px}
.vik-fixture__row{display:flex;align-items:center;gap:14px;min-width:0}
.vik-fixture__name,.vik-fixture__score{font-family:var(--font-display);font-weight:900;font-size:32px;line-height:.9;text-transform:uppercase;white-space:nowrap}
.vik-fixture__name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis}
.vik-fixture__score{flex:none;color:var(--gray-400);font-variant-numeric:tabular-nums}
.vik-fixture__score.is-vik{color:var(--vik-astrida)}
.vik-fixture__comp{position:relative;font-size:13px;color:var(--text-secondary);margin-top:-6px}
.vik-fixture__cta{position:relative;margin-top:auto;display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-family:var(--font-display);font-weight:900;font-size:24px;line-height:1;text-transform:uppercase;color:var(--vik-astrida);text-decoration:none}
.vik-fixture__cta:hover{color:var(--red-700)}
.vik-fixture__cta .vik-icon{transition:transform var(--dur-fast)}
.vik-fixture__cta:hover .vik-icon{transform:translateX(3px)}

/* ── MediaCard ── */
.vik-media{min-width:0}
.vik-media__link{display:grid;gap:14px;color:inherit;text-decoration:none}
.vik-media__frame{position:relative;overflow:hidden;border-radius:var(--radius-card);background:var(--gray-100)}
.vik-media__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-strike)}
.vik-media__link:hover .vik-media__img{transform:scale(1.05)}
.vik-media__meta{display:grid;gap:8px}
.vik-media__tag{font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-brand)}
.vik-media__title{margin:0;font-family:var(--font-condensed);font-weight:700;font-size:20px;line-height:1.12;text-transform:uppercase;text-wrap:balance;color:var(--ink);text-decoration-thickness:2px;text-underline-offset:4px}
.vik-media--sm .vik-media__title{font-size:17px}
.vik-media--lg .vik-media__title{font-family:var(--font-display);font-weight:900;font-size:34px;line-height:.92}
.vik-media__link:hover .vik-media__title{text-decoration:underline}
.vik-media__date{font-size:13px;color:var(--text-secondary)}
.vik-media--overlay .vik-media__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.78) 100%)}
.vik-media__meta--over{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:20px}
.vik-media--overlay .vik-media__tag,.vik-media--overlay .vik-media__title{color:#fff}
.vik-media--overlay .vik-media__date{color:rgba(255,255,255,.85)}
.vik-media--overlay .vik-media__link:hover .vik-media__title{text-decoration:none}
.vik-media__dur{position:absolute;left:12px;top:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px 0 8px;border-radius:var(--radius-pill);background:rgba(0,0,0,.72);color:#fff;font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}

/* ── EventRow ── */
.vik-event{display:grid;grid-template-columns:72px minmax(0,1fr) 220px 170px;align-items:center;gap:28px;padding:20px 16px;border-bottom:1px solid var(--border-hairline);background:var(--white);color:var(--ink);text-decoration:none;transition:background var(--dur-fast)}
a.vik-event:hover{background:var(--canvas);color:var(--ink)}
.vik-event[hidden]{display:none}
.vik-event__date{display:grid;justify-items:center;line-height:1}
.vik-event__wd,.vik-event__mon,.vik-event__dept{font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.vik-event__wd,.vik-event__dept{color:var(--text-secondary)}
.vik-event__day{font-family:var(--font-display);font-weight:900;font-size:44px;line-height:.9;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.vik-event__body{display:grid;gap:8px;min-width:0}
.vik-event__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vik-event__title-row{display:flex;align-items:center;gap:12px;min-width:0}
.vik-event__marks{display:flex;gap:4px;flex:none}
.vik-event__title{font-family:var(--font-condensed);font-weight:700;font-size:22px;line-height:1.1;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vik-event__where{display:grid;gap:6px;font-size:15px;color:var(--text-secondary)}
.vik-event__where span{display:flex;align-items:center;gap:6px}
.vik-event__cta{justify-self:end;display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:900;font-size:20px;line-height:1;text-transform:uppercase;color:var(--gray-500);transition:color var(--dur-fast)}
a.vik-event:hover .vik-event__cta{color:var(--vik-astrida)}
@media (max-width:1060px){
	.vik-event{grid-template-columns:60px minmax(0,1fr);gap:8px 16px}
	.vik-event__date{grid-row:span 3}
	.vik-event__where{display:flex;flex-wrap:wrap;gap:16px;font-size:14px}
	.vik-event__cta{justify-self:start}
}

/* ── ProductCard ── */
.vik-product{position:relative;display:grid;gap:14px;min-width:0}
.vik-product__frame{position:relative;display:block;aspect-ratio:3/4;background:var(--gray-50);overflow:hidden;border-radius:var(--radius-card)}
.vik-product__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-strike)}
.vik-product:hover .vik-product__frame img{transform:scale(1.05)}
.vik-product__label{position:absolute;top:12px;left:12px}
.vik-product__add{position:absolute;right:12px;z-index:1;opacity:0;transform:translateY(8px);transition:opacity var(--dur-base) var(--ease-strike),transform var(--dur-base) var(--ease-strike)}
.vik-product__info{display:grid;gap:4px}
.vik-product__type{font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.vik-product__name{font-family:var(--font-condensed);font-weight:700;font-size:19px;text-transform:uppercase;color:var(--ink);text-decoration:none}
.vik-product__name:hover{color:var(--ink);text-decoration:underline}
.vik-product__price{display:flex;gap:8px;align-items:baseline;font-size:15px}
.vik-product__price.is-sale>span{color:var(--text-brand);font-weight:700}
.vik-product__price s{color:var(--text-secondary);font-size:14px}

/* The add button sits over the image's bottom-right corner. The image is
   3:4 of the card width, so its bottom edge is at 133.33% of the width. */
.vik-product{container-type:inline-size}
.vik-product__add{top:calc(133.333cqw - 52px)}
.vik-product:hover .vik-product__add,.vik-product__add:focus-visible{opacity:1;transform:none}
@media (hover:none){.vik-product__add{opacity:1;transform:none}}

/* ── PromoTile: shield-cut tile, photo or solid colour field ── */
.vik-promo{position:relative;display:block;overflow:hidden;min-height:280px;border-radius:var(--radius-card);clip-path:polygon(0 0,100% 0,100% calc(100% - 36px),calc(100% - 36px) 100%,0 100%) /* fallback; cut-corners.js rounds the joints */;background:var(--black);color:#fff;text-decoration:none}
.vik-promo:hover{color:#fff}
.vik-promo--red{background:var(--vik-astrida)}
.vik-promo--hefd{background:var(--vik-hefd)}
.vik-promo__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-strike)}
.vik-promo:hover .vik-promo__img{transform:scale(1.05)}
.vik-promo__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.7) 100%);transition:background 400ms}
.vik-promo:hover .vik-promo__scrim{background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.88) 100%)}
/* Low-contrast V watermark: #1a1a1a on black, red-600 on red (design system rules). */
.vik-promo__shield{position:absolute;right:-8%;top:-6%;width:78%;max-width:420px;height:auto;color:#1a1a1a;transition:transform 900ms var(--ease-strike)}
.vik-promo--red .vik-promo__shield{color:var(--red-600)}
.vik-promo--hefd .vik-promo__shield{color:var(--hefd-700)}
.vik-promo:hover .vik-promo__shield{transform:translateX(-8px)}
.vik-promo__body{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,2.4vw,36px);display:grid;gap:14px}
.vik-promo__title{font-family:var(--font-display);font-weight:900;font-size:clamp(32px,3vw,48px);line-height:.86;text-transform:uppercase}
.vik-promo__more{display:grid;gap:14px;max-height:0;opacity:0;overflow:hidden;transition:max-height 500ms var(--ease-strike),opacity 400ms}
.vik-promo:hover .vik-promo__more,.vik-promo:focus-visible .vik-promo__more{max-height:160px;opacity:1}
@media (hover:none){.vik-promo__more{max-height:none;opacity:1}}
.vik-promo__text{max-width:420px;font-size:16px;line-height:1.45;color:rgba(255,255,255,.9)}
.vik-promo__cta{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:900;font-size:24px;line-height:1;text-transform:uppercase}

/* ── PageHero ── */
.vik-phero{position:relative;display:flex;align-items:flex-end;background:var(--white);color:var(--ink);overflow:hidden}
.vik-phero--img{min-height:420px;background:var(--black);color:#fff}
.vik-phero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vik-phero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.75))}
.vik-phero__inner{position:relative;width:100%;padding-top:56px;padding-bottom:32px}
.vik-phero--img .vik-phero__inner{padding-top:120px;padding-bottom:48px}
.vik-phero__kicker{margin:0 0 14px;font-family:var(--font-condensed);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-brand)}
.vik-phero--img .vik-phero__kicker{color:#fff}
/* Smaller than the design's clamp(56px,9vw,140px): real headlines are long. */
.vik-phero__title{margin:0;max-width:22ch;font-family:var(--font-display);font-weight:900;font-size:clamp(40px,6.2vw,96px);line-height:.9;text-transform:uppercase;text-wrap:balance;overflow-wrap:normal;hyphens:manual}
@media (max-width:640px){.vik-phero--img{min-height:360px}.vik-phero--img .vik-phero__inner{padding-top:96px;padding-bottom:32px}}

/* ── IconButton: outline variant, 40px ── */
.vik-ibtn{position:relative;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:50%;border:1px solid var(--gray-200);background:var(--white);color:var(--ink);cursor:pointer;transition:background var(--dur-fast)}
.vik-ibtn[hidden]{display:none}
.vik-ibtn:hover{background:var(--gray-50)}
.vik-ibtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.vik-ibtn .vik-icon+.vik-icon,.vik-ibtn svg+svg{display:none}
.vik-ibtn.is-done svg:first-child{display:none}
.vik-ibtn.is-done svg+svg{display:block;color:var(--status-win)}

/* ── Tag: pill filter chip (components/core/Tag.jsx); a link here, so the
   selected one is also aria-current ── */
.vik-tag{display:inline-flex;align-items:center;height:36px;padding:0 16px;border:1px solid var(--gray-200);border-radius:var(--radius-pill);background:var(--white);color:var(--ink);font-family:var(--font-body);font-weight:500;font-size:13px;white-space:nowrap;text-decoration:none;transition:background var(--dur-fast)}
.vik-tag:hover{background:var(--gray-50)}
.vik-tag.is-selected{background:var(--black);border-color:var(--black);color:#fff}
.vik-tag:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}

/* ── Rail: a row of cards that scrolls sideways, paged by vik26_rail_arrows()
   (front.js). Used on the front page and Víkingur TV. ── */
.vik-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.vik-rail::-webkit-scrollbar{display:none}
.vik-rail--wide{grid-auto-columns:calc((100% - 48px)/3)}
.vik-rail>*{scroll-snap-align:start}
@media (max-width:1180px){.vik-rail{grid-auto-columns:calc((100% - 48px)/3)}}
@media (max-width:900px){.vik-rail,.vik-rail--wide{grid-auto-columns:calc((100% - 24px)/2)}}
@media (max-width:640px){.vik-rail,.vik-rail--wide{grid-auto-columns:82%}}

/* ── Button: ghost variant (components/core/Button.jsx) ── */
.w-btn--ghost{background:transparent;color:var(--ink);border-color:transparent}
.w-btn--ghost:hover{background:var(--gray-50);color:var(--ink)}

/* ── Badge: result variants (S / J / T) ── */
.vik-badge--win{background:var(--status-win);color:#fff}
.vik-badge--draw{background:var(--gray-500);color:#fff}
.vik-badge--loss{background:var(--vik-astrida);color:#fff}

/* PageHero's slot for controls under the title. */
.vik-phero__after{margin-top:28px}

/* Segmented tabs that are links (the squad pages' Karlar / Konur). */
a.vik-tabs__tab{display:inline-flex;align-items:center;text-decoration:none}
a.vik-tabs__tab:not(.is-active){color:var(--text-secondary)}
a.vik-tabs__tab:not(.is-active):hover{color:var(--ink)}

/* ── Chip: square, uppercase filter or jump link (the design's shop and BUR
   chips, not the pill Tag) ── */
.vik-chip{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid var(--border-hairline);background:var(--white);color:var(--ink);cursor:pointer;font-family:var(--font-condensed);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}
.vik-chip:hover{border-color:var(--ink)}
.vik-chip.is-selected{background:var(--ink);border-color:var(--ink);color:#fff}
.vik-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}

/* ── Breadcrumb ── */
.vik-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:24px;font-size:13px;color:var(--text-secondary)}
.vik-crumbs a{color:inherit;text-decoration:none}
.vik-crumbs a:hover{color:var(--ink);text-decoration:underline}
.vik-crumbs [aria-current]{color:var(--ink)}
.vik-crumbs .vik-icon{flex:none}

/* ── QuickLinks: pill shortcuts (front page, department pages) ── */
.vik-quick{background:var(--white);border-bottom:1px solid var(--border-hairline)}
.vik-quick .w-wrap{padding-top:24px;padding-bottom:24px}
.vik-quick__list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.vik-quick__link{display:inline-flex;align-items:center;gap:6px;flex:none;height:44px;padding:0 16px 0 20px;border-radius:var(--radius-pill);background:var(--white);border:1px solid var(--gray-200);font-family:var(--font-condensed);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}
.vik-quick__link .vik-icon{color:var(--vik-astrida);transition:transform var(--dur-fast)}
.vik-quick__link:hover{background:var(--black);border-color:var(--black);color:#fff}
.vik-quick__link:hover .vik-icon{transform:translateX(2px)}

/* ── Photo hero (ClubHero; also the department pages) ── */
.vik-xhero{position:relative;overflow:hidden;background:var(--black);color:#fff}
.vik-xhero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vik-xhero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.4) 60%,rgba(0,0,0,.2) 100%),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6) 100%)}
.vik-xhero__shield{position:absolute;right:-6%;bottom:-18%;width:min(56vw,760px);height:auto;aspect-ratio:980/1043;color:#141414}
.vik-xhero__in{position:relative;display:grid;gap:22px;align-content:end;justify-items:start;min-height:clamp(400px,54vh,580px);padding-top:96px;padding-bottom:64px}
.vik-xhero--tall .vik-xhero__in{min-height:clamp(440px,60vh,640px)}
.vik-xhero__kicker{font-family:var(--font-condensed);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.vik-xhero__title{margin:0;max-width:900px;font-family:var(--font-display);font-weight:900;font-size:min(clamp(56px,8.6vw,140px),calc((100vw - 32px) / (var(--len,8) * .56)));line-height:.88;text-transform:uppercase;text-wrap:balance}
.vik-xhero__sub{margin:0;max-width:560px;font-size:19px;line-height:1.45;color:rgba(255,255,255,.88)}
.vik-xhero__actions{display:flex;gap:10px;flex-wrap:wrap}
.vik-btn-lg{height:56px;padding:0 26px;font-size:16px}
@media (max-width:640px){.vik-xhero__in,.vik-xhero--tall .vik-xhero__in{min-height:420px;padding-bottom:48px}.vik-xhero__sub{font-size:17px}}

/* ── Page head (PageHead) and contact strip (ContactStrip) ── */
.vik-phead{background:var(--canvas);border-bottom:1px solid var(--border-hairline)}
.vik-phead__in{display:grid;gap:24px;justify-items:start;padding-top:clamp(56px,9vh,104px);padding-bottom:56px}
.vik-phead .vik-crumbs{margin:0}
.vik-phead__title{margin:0;max-width:1000px;font-family:var(--font-display);font-weight:900;font-size:min(clamp(48px,7.6vw,124px),calc((100vw - 32px) / (var(--len,8) * .56)));line-height:.9;text-transform:uppercase;text-wrap:balance}
.vik-phead__lede{margin:0;max-width:760px;font-size:clamp(19px,1.6vw,23px);line-height:1.5;font-weight:500}
.vik-cstrip{background:var(--black);color:#fff}
.vik-cstrip__in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-top:56px;padding-bottom:56px}
.vik-cstrip__text{display:grid;gap:8px;font-size:17px;color:rgba(255,255,255,.8)}
.vik-cstrip__text a{color:inherit}
.vik-cstrip__text a:hover{color:#fff}
.vik-cstrip__title{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(36px,3.6vw,56px);line-height:.9;text-transform:uppercase;color:#fff}

/* ── Lightbox (vik26_lightbox(), lightbox.js) ── */
.vik-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--black);color:#fff}
.vik-lightbox::backdrop{background:rgba(0,0,0,.6)}
html:has(.vik-lightbox[open]){overflow:hidden}
.vik-lightbox[open]{display:flex;align-items:center;justify-content:center}
.vik-lightbox__fig{margin:0;display:grid;gap:12px;justify-items:center;padding:64px 72px}
.vik-lightbox__img{display:block;max-width:100%;max-height:calc(100dvh - 160px);width:auto;height:auto;object-fit:contain}
.vik-lightbox__cap{font-size:14px;color:rgba(255,255,255,.8);text-align:center;max-width:760px}
.vik-lightbox__cap:empty{display:none}
.vik-lightbox__count{position:absolute;top:24px;left:24px;font-family:var(--font-condensed);font-weight:700;font-size:13px;letter-spacing:.08em}
.vik-lightbox__btn{position:absolute;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;transition:background var(--dur-fast)}
.vik-lightbox__btn:hover{background:rgba(255,255,255,.12)}
.vik-lightbox__btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.vik-lightbox__close{top:16px;right:16px}
.vik-lightbox__prev{left:16px;top:50%;transform:translateY(-50%)}
.vik-lightbox__next{right:16px;top:50%;transform:translateY(-50%)}
@media (max-width:640px){.vik-lightbox__fig{padding:64px 12px 88px}.vik-lightbox__prev,.vik-lightbox__next{top:auto;bottom:16px;transform:none}.vik-lightbox__prev{left:calc(50% - 56px)}.vik-lightbox__next{right:calc(50% - 56px)}}
