/* Condensed editorial header type; fallback uses installed narrow faces. */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&display=swap');

:root {
  --ink: #07131b;
  --ink-2: #102631;
  --paper: #f3f0e9;
  --paper-2: #fbfaf7;
  --muted: #66757c;
  --line: rgba(7, 19, 27, .14);
  --aqua: #55dfd3;
  --aqua-2: #9ef1e8;
  --gold: #f3c86a;
  --white: #fff;
  --radius: 20px;
  --shadow: 0 20px 60px rgba(7,19,27,.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.55; }
a { color:inherit; }
.wrap { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.skip-link { position:absolute; left:-9999px; top:12px; z-index:999; background:white; padding:10px 14px; border-radius:8px; }
.skip-link:focus { left:12px; }
.topbar { position:sticky; top:0; z-index:50; height:76px; display:flex; align-items:center; gap:28px; padding:10px max(20px, calc((100vw - 1180px)/2)); background:rgba(7,19,27,.90); color:white; backdrop-filter: blur(18px); border-bottom:1px solid rgba(255,255,255,.1); }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; margin-right:auto; }
.brand img { width:118px; height:50px; object-fit:contain; object-position:left center; }
.brand span { display:flex; flex-direction:column; line-height:1.1; }
.brand b { letter-spacing:.03em; }
.brand small { color:#a8bac2; margin-top:4px; }
.desktop-nav { display:flex; gap:24px; }
.desktop-nav a { text-decoration:none; font-size:.92rem; color:#dbe5e8; }
.desktop-nav a:hover { color:var(--aqua-2); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:999px; padding:13px 20px; text-decoration:none; font-weight:750; border:1px solid transparent; transition:.18s ease; }
.button:hover { transform:translateY(-1px); }
.button-small { padding:9px 16px; font-size:.9rem; }
.button-primary { background:var(--aqua); color:#06201f; box-shadow:0 10px 30px rgba(85,223,211,.22); }
.button-primary:hover { background:var(--aqua-2); }
.button-ghost { border-color:rgba(255,255,255,.28); color:white; background:rgba(255,255,255,.05); }
.button-outline { border-color:var(--line); background:white; }
.hero { min-height:690px; position:relative; display:flex; align-items:center; overflow:hidden; color:white; }
.hero-bg { position:absolute; inset:0; background:url('assets/images/bergen/bergen-hero.jpg') center 45%/cover no-repeat; transform:scale(1.01); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(4,14,21,.97) 0%, rgba(4,14,21,.82) 45%, rgba(4,14,21,.38) 78%, rgba(4,14,21,.56) 100%), linear-gradient(0deg, rgba(4,14,21,.75), transparent 45%); }
.hero-content { position:relative; padding:96px 0 70px; }
.eyebrow { font-size:.76rem; font-weight:850; letter-spacing:.16em; color:var(--aqua-2); text-transform:uppercase; }
.eyebrow.dark { color:#187d78; }
h1 { font-size:clamp(3rem, 7vw, 6.1rem); line-height:.94; letter-spacing:-.055em; margin:16px 0 24px; max-width:960px; }
h1 span { color:#d9e5e8; font-weight:560; }
.hero-lede { max-width:760px; font-size:clamp(1.05rem, 2vw, 1.32rem); color:#d9e5e8; margin:0 0 30px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.countdown { margin-top:58px; display:flex; align-items:end; gap:24px; }
.countdown > span:not(.countdown-note) { min-width:72px; display:flex; flex-direction:column; }
.countdown strong { font-size:2rem; line-height:1; }
.countdown small { color:#b7c8ce; margin-top:5px; }
.countdown-note { color:#b7c8ce; padding-bottom:2px; }
.quick-strip { background:#0d2530; color:white; border-top:1px solid rgba(255,255,255,.07); }
.quick-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.quick-grid article { display:flex; gap:12px; padding:24px 18px; border-right:1px solid rgba(255,255,255,.08); }
.quick-grid article:first-child { padding-left:0; }
.quick-grid article:last-child { border-right:0; }
.quick-grid b, .quick-grid small { display:block; }
.quick-grid small { color:#aac0c8; margin-top:3px; line-height:1.35; }
.mini-icon { font-size:1.35rem; }
.section { padding:92px 0; }
.section-heading { display:grid; grid-template-columns:1.35fr .8fr; gap:60px; align-items:end; margin-bottom:38px; }
.section-heading h2 { margin:8px 0 0; font-size:clamp(2.1rem, 4vw, 4rem); line-height:1; letter-spacing:-.04em; }
.section-heading > p { color:var(--muted); margin:0; font-size:1.05rem; }
.section-heading.light h2 { color:white; }
.section-heading.light > p { color:#b8cbd2; }
.card-grid { display:grid; gap:18px; }
.card-grid.three { grid-template-columns:repeat(3,1fr); }
.card { background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:28px; box-shadow:0 8px 30px rgba(7,19,27,.04); }
.card h3 { margin:8px 0 12px; font-size:1.45rem; }
.card p { color:#53646b; }
.card-kicker { font-size:.7rem; font-weight:850; letter-spacing:.13em; color:#328f89; }
.accent-card { background:#dff9f5; }
.text-link { color:#0c6c68; font-weight:800; text-decoration:none; }
.text-link:hover { text-decoration:underline; }
.callout { margin-top:18px; display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; padding:22px 24px; background:white; border:1px solid var(--line); border-radius:var(--radius); }
.callout-icon { font-size:1.7rem; }
.callout p { margin:3px 0 0; color:var(--muted); }
.section-dark { background:var(--ink); color:white; }
.quota-panel { display:grid; grid-template-columns:.9fr 1.5fr; gap:20px 46px; align-items:center; padding:34px; background:linear-gradient(135deg, #12323f, #0d242d); border:1px solid rgba(255,255,255,.1); border-radius:26px; }
.quota-intro h3 { font-size:2rem; margin:8px 0; }
.quota-intro p, .quota-note { color:#b9cbd1; }
.quota-items { display:flex; gap:18px; align-items:center; justify-content:space-between; }
.quota-items > div:not(.plus) { min-width:125px; text-align:center; padding:18px 12px; border-radius:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.08); }
.quota-emoji { display:block; font-size:1.6rem; }
.quota-items strong { display:block; font-size:2rem; margin:2px 0; }
.quota-items small { color:#c7d5da; }
.plus { color:#66838e; font-size:1.7rem; font-weight:900; }
.quota-note { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.1); padding-top:18px; font-size:.92rem; }
.alcohol-cards { margin-top:18px; }
.dark-card { background:#0e2731; border-color:rgba(255,255,255,.09); }
.dark-card h3 { color:white; }
.dark-card p { color:#b8cbd2; }
.warning-card { border-color:rgba(243,200,106,.45); background:linear-gradient(180deg, rgba(243,200,106,.12), #0e2731 62%); }
.light-link { color:var(--aqua-2); }
.rule-details { margin-top:18px; background:#0e2731; border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); overflow:hidden; }
.rule-details summary { cursor:pointer; list-style:none; padding:22px 26px; font-weight:800; display:flex; justify-content:space-between; }
.rule-details summary::-webkit-details-marker { display:none; }
.rule-body { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; padding:0 26px 26px; }
.rule-body p { color:#b8cbd2; margin:.4rem 0 0; }
.source-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; }
.source-row a { color:#b9cbcF; font-size:.9rem; }
.price-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.price-grid article { background:white; border:1px solid var(--line); border-radius:18px; padding:24px 18px; text-align:center; }
.price-grid span { font-size:1.6rem; display:block; }
.price-grid b { display:block; font-size:1.25rem; margin-top:7px; }
.price-grid small { color:var(--muted); }
.fineprint { color:var(--muted); font-size:.85rem; margin-top:16px; }
.bergen-section { background:linear-gradient(180deg, #133b49, #0b2630); color:white; }
.attractions-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.attraction { min-height:240px; display:flex; flex-direction:column; justify-content:flex-end; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius); padding:24px; text-decoration:none; transition:.18s ease; }
.attraction:hover { background:rgba(255,255,255,.10); transform:translateY(-2px); }
.attraction-wide { grid-column:span 2; background:linear-gradient(135deg, rgba(85,223,211,.18), rgba(255,255,255,.05)); }
.attraction span { font-size:.68rem; letter-spacing:.14em; font-weight:850; color:var(--aqua-2); }
.attraction h3 { font-size:1.8rem; margin:8px 0; }
.attraction p { color:#c2d2d7; margin:0 0 22px; }
.attraction b { margin-top:auto; }
.utility-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.utility-card { display:grid; grid-template-columns:auto 1fr; gap:20px; background:white; border:1px solid var(--line); border-radius:var(--radius); padding:26px; text-decoration:none; }
.utility-card:hover { box-shadow:var(--shadow); }
.utility-card.toilet { background:#fff8df; border-color:#ead99b; }
.utility-card h3 { margin:5px 0 8px; font-size:1.45rem; }
.utility-card p { color:var(--muted); }
.utility-icon { font-size:2rem; }
.emergency-panel { margin-top:18px; background:#1d2c31; color:white; border-radius:var(--radius); padding:28px; display:grid; grid-template-columns:1fr 2fr; align-items:center; gap:30px; }
.emergency-panel h3 { margin:5px 0 0; font-size:1.6rem; }
.emergency-numbers { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.emergency-numbers span { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09); border-radius:14px; padding:14px; }
.emergency-numbers b, .emergency-numbers small { display:block; }
.emergency-numbers b { font-size:1.35rem; color:var(--aqua-2); }
.emergency-numbers small { color:#c6d4d8; }
.event-section { background:#060e13; color:white; }
.event-grid { display:grid; grid-template-columns:310px 1fr; gap:60px; align-items:center; }
.event-logo { background:white; border-radius:24px; overflow:hidden; padding:18px; box-shadow:0 0 0 14px rgba(255,255,255,.04); }
.event-logo img { display:block; width:100%; }
.event-copy h2 { font-size:clamp(3rem, 6vw, 5rem); margin:8px 0 12px; letter-spacing:-.05em; }
.event-copy > p { color:#b8cbd2; max-width:760px; font-size:1.08rem; }
.event-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.contact-line a { color:var(--aqua-2); }
footer { background:#02080b; color:#9fb0b6; padding:34px 0; border-top:1px solid rgba(255,255,255,.08); }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr auto; gap:30px; font-size:.88rem; }
.footer-grid b { color:white; }
.footer-grid p { margin:4px 0 0; }
.footer-grid > div:last-child { display:flex; flex-direction:column; gap:5px; }
.footer-grid a { color:#c8d6da; }
@media (max-width: 980px) {
  .desktop-nav { display:none; }
  .quick-grid { grid-template-columns:repeat(2,1fr); }
  .quick-grid article:nth-child(2) { border-right:0; }
  .section-heading { grid-template-columns:1fr; gap:16px; }
  .card-grid.three { grid-template-columns:1fr; }
  .quota-panel { grid-template-columns:1fr; }
  .quota-note { grid-column:auto; }
  .price-grid { grid-template-columns:repeat(3,1fr); }
  .attractions-grid { grid-template-columns:repeat(2,1fr); }
  .event-grid { grid-template-columns:220px 1fr; }
  .emergency-panel { grid-template-columns:1fr; }
}
@media (max-width: 660px) {
  .wrap { width:min(100% - 28px, 1180px); }
  .topbar { height:68px; padding-inline:14px; }
  .brand span { display:none; }
  .brand img { width:100px; height:44px; }
  .hero { min-height:720px; }
  .hero-content { padding-top:72px; }
  h1 { font-size:clamp(2.9rem, 15vw, 4.6rem); }
  .countdown { gap:14px; flex-wrap:wrap; }
  .countdown-note { width:100%; }
  .quick-grid { grid-template-columns:1fr; }
  .quick-grid article { border-right:0; border-bottom:1px solid rgba(255,255,255,.08); padding-inline:0; }
  .section { padding:66px 0; }
  .callout { grid-template-columns:auto 1fr; }
  .callout .button { grid-column:1/-1; }
  .quota-items { gap:8px; }
  .quota-items > div:not(.plus) { min-width:0; padding:14px 8px; flex:1; }
  .quota-items strong { font-size:1.5rem; }
  .rule-body { grid-template-columns:1fr; }
  .price-grid { grid-template-columns:repeat(2,1fr); }
  .attractions-grid { grid-template-columns:1fr; }
  .attraction-wide { grid-column:auto; }
  .utility-grid { grid-template-columns:1fr; }
  .utility-card { grid-template-columns:1fr; }
  .emergency-numbers { grid-template-columns:repeat(2,1fr); }
  .event-grid { grid-template-columns:1fr; }
  .event-logo { width:180px; }
  .footer-grid { grid-template-columns:1fr; }
}

/* v2: walkability, food, hidden Bergen, shopping and practical travel */
.section-soft { background:#e9e6de; }
.hotel-base { display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; background:linear-gradient(135deg,#fff,#e7faf7); border:1px solid var(--line); border-radius:24px; padding:28px; margin-bottom:18px; }
.hotel-base h3 { font-size:1.8rem; margin:7px 0 8px; }
.hotel-base p { color:var(--muted); max-width:800px; margin:0; }
.transport-prices { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:18px; }
.transport-prices > div { background:white; border:1px solid var(--line); border-radius:16px; padding:18px 14px; text-align:center; }
.transport-prices span { display:block; font-size:1.35rem; }
.transport-prices b { display:block; font-size:1.12rem; margin:4px 0; }
.transport-prices small { color:var(--muted); line-height:1.25; display:block; }
.walk-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:10px; }
.walk-grid a { min-height:170px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; background:#fbfaf7; border:1px solid var(--line); border-radius:18px; padding:18px; transition:.18s ease; }
.walk-grid a:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.walk-grid strong { font-size:1.8rem; color:#157f79; line-height:1; }
.walk-grid span { font-weight:850; margin-top:9px; }
.walk-grid small { color:var(--muted); }
.route-note { margin-top:16px; padding:18px 20px; border-left:4px solid #208c84; background:#f7f5ef; border-radius:0 14px 14px 0; color:#526067; }
.place-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.place-card { display:flex; flex-direction:column; min-height:285px; background:var(--paper-2); border:1px solid var(--line); border-radius:18px; padding:22px; }
.place-card.featured { background:#e2f8f5; }
.place-card h3 { font-size:1.45rem; margin:10px 0 8px; }
.place-card p { color:var(--muted); margin:0 0 22px; }
.place-card > a { margin-top:auto; font-weight:850; color:#0c6c68; text-decoration:none; }
.place-card > a:hover { text-decoration:underline; }
.tag-row { display:flex; flex-wrap:wrap; gap:6px; }
.tag-row span { font-size:.62rem; font-weight:850; letter-spacing:.09em; padding:5px 8px; border-radius:999px; color:#246a66; background:#e8f5f3; }
.food-note { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px; }
.food-note > div { padding:18px 20px; background:white; border:1px solid var(--line); border-radius:16px; }
.food-note p { margin:5px 0 0; color:var(--muted); }
.hidden-section { background:linear-gradient(180deg,#091820,#102e38); color:white; }
.hidden-intro { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; padding:28px; border-radius:22px; background:linear-gradient(135deg,rgba(85,223,211,.14),rgba(255,255,255,.04)); border:1px solid rgba(255,255,255,.1); margin-bottom:16px; }
.hidden-intro h3 { font-size:2rem; margin:7px 0; }
.hidden-intro p { color:#c1d1d6; max-width:820px; margin:0; }
.wine-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.wine-grid article { min-height:300px; display:flex; flex-direction:column; padding:22px; border:1px solid rgba(255,255,255,.10); border-radius:18px; background:rgba(255,255,255,.045); }
.wine-grid article:hover { background:rgba(255,255,255,.07); }
.wine-no { color:var(--aqua-2); font-size:.72rem; font-weight:900; letter-spacing:.15em; }
.wine-grid h3 { font-size:1.32rem; margin:12px 0 8px; }
.wine-grid p { color:#b8cbd2; margin:0 0 20px; }
.wine-grid a { margin-top:auto; color:var(--aqua-2); text-decoration:none; font-weight:850; }
.dark-callout { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12); color:white; }
.dark-callout p { color:#b8cbd2; }
.shop-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.shop-grid article { min-height:270px; display:flex; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:18px; background:white; }
.shop-grid > article > span { font-size:1.8rem; }
.shop-grid h3 { margin:10px 0 6px; font-size:1.3rem; }
.shop-grid p { color:var(--muted); margin:0 0 20px; }
.shop-grid a { margin-top:auto; color:#0c6c68; text-decoration:none; font-weight:850; }
.taxfree-note { margin-top:16px; padding:20px 22px; background:#fff7dc; border:1px solid #e9d89b; border-radius:16px; color:#596267; }
.taxfree-note a { color:#0c6c68; font-weight:850; }
.practical-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }
.practical-grid article { min-height:220px; padding:22px; background:white; border:1px solid var(--line); border-radius:18px; }
.practical-grid article > span { font-size:1.6rem; }
.practical-grid h3 { margin:10px 0 7px; }
.practical-grid p { color:var(--muted); margin:0; }
.practical-grid a { color:#0c6c68; font-weight:800; }
@media (max-width: 1120px) {
  .walk-grid { grid-template-columns:repeat(4,1fr); }
  .place-grid { grid-template-columns:repeat(2,1fr); }
  .wine-grid { grid-template-columns:repeat(3,1fr); }
  .shop-grid { grid-template-columns:repeat(3,1fr); }
  .transport-prices { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 760px) {
  .hotel-base { grid-template-columns:1fr; }
  .walk-grid { grid-template-columns:repeat(2,1fr); }
  .wine-grid, .shop-grid, .practical-grid { grid-template-columns:1fr 1fr; }
  .hidden-intro { grid-template-columns:1fr; }
  .food-note { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .transport-prices, .place-grid, .wine-grid, .shop-grid, .practical-grid { grid-template-columns:1fr; }
  .walk-grid { grid-template-columns:1fr 1fr; }
  .walk-grid a { min-height:140px; }
}

/* v3: live weather + flat-file news */
.weather-section { background:linear-gradient(180deg,#07131b,#0e2d39); color:white; position:relative; overflow:hidden; }
.weather-section::before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-180px; top:-220px; background:radial-gradient(circle,rgba(85,223,211,.18),transparent 66%); pointer-events:none; }
.weather-heading { position:relative; }
.weather-shell { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; position:relative; }
.weather-current { background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045)); border:1px solid rgba(255,255,255,.13); border-radius:26px; padding:28px; }
.weather-status-row { display:flex; gap:18px; align-items:center; }
.weather-big-icon { font-size:4rem; line-height:1; filter:drop-shadow(0 8px 18px rgba(0,0,0,.24)); }
.weather-kicker { color:var(--aqua-2); }
.weather-current h3 { font-size:1.65rem; margin:4px 0 0; }
.weather-current p { color:#abc0c7; margin:3px 0 0; }
.weather-temp-row { display:flex; align-items:end; gap:18px; margin:26px 0 22px; }
.weather-temp-row > strong { font-size:4.5rem; line-height:.9; letter-spacing:-.06em; }
.weather-temp-row > span { color:#c3d3d8; padding-bottom:5px; }
.weather-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.weather-metrics > div { background:rgba(0,0,0,.16); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:14px; }
.weather-metrics span,.weather-metrics b,.weather-metrics small { display:block; }
.weather-metrics b { margin:4px 0; font-size:1.05rem; }
.weather-metrics small { color:#9fb5bd; }
.weather-advice { display:grid; gap:16px; }
.weather-advice article { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; padding:25px; border-radius:24px; background:#f4f0e7; color:var(--ink); }
.weather-advice article:first-child { background:linear-gradient(135deg,#dff9f5,#f7f3ea); }
.weather-advice h3 { margin:5px 0 6px; font-size:1.35rem; }
.weather-advice p { margin:0; color:#5d6a70; }
.advice-icon { font-size:2rem; }
.forecast-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:16px; position:relative; }
.forecast-day { border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.055); border-radius:18px; padding:18px; min-height:190px; }
.forecast-day.today { border-color:rgba(85,223,211,.45); background:rgba(85,223,211,.10); }
.forecast-day .forecast-name { font-size:.7rem; font-weight:850; letter-spacing:.12em; color:var(--aqua-2); text-transform:uppercase; }
.forecast-day .forecast-icon { display:block; font-size:2rem; margin:9px 0 4px; }
.forecast-day .forecast-temp { font-size:1.35rem; font-weight:850; }
.forecast-day p { color:#b6c8ce; font-size:.88rem; margin:7px 0 0; }
.forecast-placeholder { grid-column:1/-1; padding:24px; border:1px dashed rgba(255,255,255,.2); border-radius:18px; color:#afc1c7; }
.weather-source { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:14px; color:#8fa8b1; font-size:.82rem; }
.weather-source a { color:#c7e5e2; }
.news-section { background:var(--paper); }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.news-card,.news-loading { min-height:250px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:20px; background:var(--paper-2); padding:24px; }
.news-card:first-child { background:linear-gradient(145deg,#e1f8f5,#fbfaf7); }
.news-card time { color:var(--muted); font-size:.82rem; }
.news-card h3,.news-loading h3 { font-size:1.45rem; margin:10px 0 9px; }
.news-card p { color:var(--muted); margin:0 0 22px; }
.news-card a { margin-top:auto; color:#0c6c68; text-decoration:none; font-weight:850; }
.news-card a:hover { text-decoration:underline; }
.news-actions { margin-top:18px; }
.news-page { min-height:70vh; }
.news-page-hero { padding:76px 0 40px; background:linear-gradient(180deg,#0b2732,#07131b); color:white; }
.news-page-hero h1 { font-size:clamp(2.8rem,6vw,5.2rem); margin-bottom:14px; }
.news-page-hero p { color:#bfd0d5; max-width:760px; }
.news-archive { padding:60px 0 90px; }
.news-article { max-width:820px; }
.news-article-header { margin-bottom:28px; }
.news-article-header h2 { font-size:clamp(2.2rem,5vw,4rem); line-height:1; letter-spacing:-.04em; margin:10px 0 12px; }
.news-meta { color:var(--muted); font-size:.9rem; }
.news-body { font-size:1.08rem; }
.news-body p { margin:0 0 1.2em; }
.news-body ul { padding-left:1.3em; }
.news-body a { color:#0c6c68; font-weight:800; }
.news-back { display:inline-block; margin-bottom:26px; color:#0c6c68; font-weight:800; text-decoration:none; }
@media (max-width:980px) {
  .weather-shell { grid-template-columns:1fr; }
  .forecast-grid { grid-template-columns:repeat(3,1fr); }
  .news-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:660px) {
  .weather-temp-row > strong { font-size:3.6rem; }
  .weather-metrics { grid-template-columns:1fr; }
  .forecast-grid { grid-template-columns:1fr 1fr; }
  .news-grid { grid-template-columns:1fr; }
}

/* v4 — image-ready venue cards + Bird fees */
.bird-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.bird-card{position:relative;min-height:275px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--paper-2);overflow:hidden}.bird-card h3{font-size:1.8rem;margin:8px 0 10px}.bird-card p{color:var(--muted);font-size:1.02rem}.bird-card small{display:block;margin-top:20px;color:var(--muted);font-weight:700}.bird-icon{font-size:2.15rem;margin-bottom:12px}.bird-main{box-shadow:inset 0 4px 0 var(--aqua)}.bird-happy{background:#edf7e8}.bird-angry{background:#f8ece8}.bird-summary{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.bird-summary>*{padding:9px 13px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:.9rem}
.photo-place-grid{grid-template-columns:repeat(4,1fr)}.photo-card{padding:0;overflow:hidden;min-height:390px}.place-photo{position:relative;height:155px;background:#18333d;overflow:hidden}.place-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.photo-card:hover .place-photo img{transform:scale(1.035)}.place-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,14,20,.68))}.place-photo>span{position:absolute;left:14px;bottom:11px;z-index:2;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.09em}.place-body{padding:20px;display:flex;flex-direction:column;flex:1}.place-body h3{font-size:1.4rem;margin:10px 0 8px}.place-body p{color:var(--muted);margin:0 0 20px}.place-body>a{margin-top:auto;font-weight:850;color:#0c6c68;text-decoration:none}.place-body>a:hover{text-decoration:underline}.place-photo.photo-fallback,.photo-fallback{background:linear-gradient(135deg,#173946,#0b766f 58%,#85c8ba)}.bryggen-photo{background:linear-gradient(135deg,#7a2f25,#b95b38 50%,#243b42)}.seafood-photo{background:linear-gradient(135deg,#0d3e55,#1f7390 52%,#6cb4b8)}.timber-photo{background:linear-gradient(135deg,#6c3926,#a16d3d 52%,#283a3d)}.street-photo{background:linear-gradient(135deg,#343743,#70556d 55%,#c1876b)}.courtyard-photo{background:linear-gradient(135deg,#234b3f,#667d50 55%,#b18a59)}.bistro-photo{background:linear-gradient(135deg,#372f45,#78526d 55%,#c3957b)}.brasserie-photo{background:linear-gradient(135deg,#5a2733,#9e5965 55%,#d5a575)}.photo-fallback:before{content:"PHOTO";position:absolute;right:15px;top:14px;color:rgba(255,255,255,.7);font-size:.7rem;font-weight:900;letter-spacing:.12em}.photo-note{margin:14px 0 0;color:var(--muted);font-size:.88rem}.wine-photo-card{padding-top:0!important;overflow:hidden}.wine-photo{height:112px;margin:0 -22px 14px;overflow:hidden;background:linear-gradient(135deg,#3f2b34,#8c5f51)}.wine-photo img{width:100%;height:100%;object-fit:cover;display:block}.wine-photo-card .wine-no{margin-top:0}
@media(max-width:980px){.bird-grid{grid-template-columns:1fr}.photo-place-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.photo-place-grid{grid-template-columns:1fr}.place-photo{height:180px}.bird-summary{display:grid;grid-template-columns:1fr}}

/* v4.1 cheap & easy eats */
.cheap-eats-block{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}
.mini-section-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:end;margin-bottom:16px}
.mini-section-heading h3{font-size:clamp(1.7rem,3vw,2.35rem);margin:6px 0 0}
.mini-section-heading p{margin:0;color:var(--muted);max-width:58ch}
.cheap-eats-grid{grid-template-columns:repeat(4,1fr)}
.cheap-card{min-height:310px}
.cheap-icon{font-size:2rem;line-height:1;margin-bottom:4px}
@media(max-width:980px){.cheap-eats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.mini-section-heading{grid-template-columns:1fr}.cheap-eats-grid{grid-template-columns:1fr}}

.photo-credit{display:block;margin-top:10px;color:#7d8b91;font-size:.68rem;line-height:1.35;font-weight:600}.photo-card .photo-credit{margin-top:10px}.wine-photo.photo-fallback:before{content:"PHOTO COMING";display:grid;place-items:center;height:100%;color:rgba(255,255,255,.72);font-size:.68rem;font-weight:900;letter-spacing:.12em}

/* Mobile safeguard: never clip practical cards */
@media (max-width: 760px) {
  .practical-section,
  .practical-section .wrap,
  .practical-grid {
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .practical-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-auto-rows:auto !important;
  }
  .practical-grid > article {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    height:auto !important;
    max-height:none !important;
  }
}


/* Floating quick navigation */
.quick-nav{
  position:fixed;
  right:22px;
  bottom:calc(22px + env(safe-area-inset-bottom, 0px));
  z-index:80;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
.quick-nav-toggle{
  width:56px;
  height:56px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  display:grid;
  place-items:center;
  padding:0;
  background:rgba(7,19,27,.96);
  color:#fff;
  box-shadow:0 14px 34px rgba(3,12,18,.28);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.quick-nav-toggle:hover{transform:translateY(-2px);background:#0d2732;box-shadow:0 18px 38px rgba(3,12,18,.34)}
.quick-nav-toggle:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}
.quick-nav-toggle span{
  display:block;
  font-size:2rem;
  line-height:1;
  transform:translateY(-3px);
  transition:transform .2s ease;
}
.quick-nav.open .quick-nav-toggle span{transform:translateY(3px) rotate(180deg)}
.quick-nav-panel{
  width:min(310px,calc(100vw - 32px));
  padding:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:rgba(7,19,27,.97);
  color:#fff;
  box-shadow:0 22px 54px rgba(3,12,18,.34);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transform:translateY(10px) scale(.97);
  transform-origin:bottom right;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
.quick-nav.open .quick-nav-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.quick-nav-label{
  display:block;
  padding:3px 7px 10px;
  color:#8fc9d5;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.13em;
}
.quick-nav-panel nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.quick-nav-panel a{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  background:rgba(255,255,255,.045);
  color:#eef5f7;
  text-decoration:none;
  font-size:.86rem;
  font-weight:760;
}
.quick-nav-panel a:hover,
.quick-nav-panel a:focus-visible{
  background:rgba(143,201,213,.16);
  border-color:rgba(143,201,213,.28);
  outline:none;
}
section[id]{scroll-margin-top:84px}
@media(max-width:660px){
  .quick-nav{
    right:14px;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px));
  }
  .quick-nav-toggle{width:52px;height:52px}
  .quick-nav-panel{
    width:calc(100vw - 28px);
    max-height:min(68vh,520px);
    overflow:auto;
    border-radius:20px;
  }
  .quick-nav-panel nav{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){
  .quick-nav-panel nav{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .quick-nav-toggle,.quick-nav-toggle span,.quick-nav-panel{transition:none}
}


/* Footer affiliations */
.footer-partners{
  display:flex;
  align-items:center;
  gap:14px;
  padding:28px 0 22px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-partner{
  min-height:66px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:11px 16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  color:#fff;
  text-decoration:none;
}
.footer-partner:hover{background:rgba(255,255,255,.065)}
.footer-partner img{
  display:block;
  width:auto;
  max-width:92px;
  max-height:42px;
  object-fit:contain;
}
.footer-partner span{display:flex;flex-direction:column;gap:2px}
.footer-partner small{
  color:#8fa4ab;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.12em;
}
.footer-partner strong{font-size:.94rem}
.heritage-mark{
  width:38px;
  height:38px;
  display:grid!important;
  place-items:center;
  flex:0 0 38px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:var(--aqua-2);
  font-size:.9rem;
}
footer .footer-grid{padding-top:22px}
@media(max-width:660px){
  .footer-partners{display:grid;grid-template-columns:1fr}
  .footer-partner{width:100%}
}

.hotel-actions{display:flex;flex-direction:column;gap:9px;align-items:stretch}
.hotel-actions .button{justify-content:center;white-space:nowrap}
@media(max-width:760px){
  .hotel-actions{width:100%}
  .hotel-actions .button{width:100%}
}


/* Visit Bergen rotating background photography */
.hero-bg{
  background-image:var(--random-bg, url('assets/images/bergen/bergen-hero.jpg'));
  background-position:center 45%;
  background-size:cover;
  background-repeat:no-repeat;
}
.hidden-section,
#alcohol,
.bergen-section,
.event-section{
  position:relative;
  isolation:isolate;
  background-color:#07131b;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.hidden-section{
  background-image:
    linear-gradient(180deg,rgba(6,18,25,.84),rgba(10,39,49,.93)),
    var(--random-bg, linear-gradient(180deg,#091820,#102e38));
}
#alcohol{
  background-image:
    linear-gradient(180deg,rgba(6,18,25,.90),rgba(8,28,36,.95)),
    var(--random-bg, linear-gradient(180deg,var(--ink),var(--ink)));
}
.bergen-section{
  background-image:
    linear-gradient(180deg,rgba(8,29,38,.76),rgba(5,21,29,.89)),
    var(--random-bg, linear-gradient(180deg,#133b49,#0b2630));
}
.event-section{
  background-image:
    linear-gradient(90deg,rgba(4,12,17,.94),rgba(4,12,17,.78)),
    var(--random-bg, linear-gradient(180deg,#060e13,#060e13));
}
.hidden-section > .wrap,
#alcohol > .wrap,
.bergen-section > .wrap,
.event-section > .wrap{
  position:relative;
  z-index:1;
}
.bergen-section .attraction,
.hidden-section .wine-grid article,
.hidden-section .hidden-intro{
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.visitbergen-credits{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 18px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:.72rem;
  line-height:1.45;
}
.visitbergen-credits > span{
  grid-column:1/-1;
  color:#71878f;
  font-weight:800;
}
.active-photo-credits{
  color:#9fb0b6;
}
.active-photo-credits span + span::before{content:" · ";color:#536970}
.visitbergen-credit-link{color:#c8d6da;text-decoration:none;font-weight:800}
.visitbergen-credit-link:hover{text-decoration:underline}
.credit-approval-note{
  grid-column:1/-1;
  color:#61757d;
  margin-top:2px;
}
@media(max-width:660px){
  .visitbergen-credits{grid-template-columns:1fr}
  .visitbergen-credit-link{justify-self:start}
}
.visitbergen-partner img{max-width:116px;max-height:44px}

/* Customs / controlled substances warning */
.customs-warning{
  margin-top:18px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  padding:22px;
  border:1px solid rgba(255,191,93,.28);
  border-radius:var(--radius);
  background:rgba(255,180,70,.08);
  color:#eef5f7;
}
.customs-warning-icon{font-size:1.7rem;line-height:1.1}
.customs-warning h3{margin:5px 0 8px;color:#fff;font-size:1.35rem}
.customs-warning p{margin:0 0 9px;color:#c6d3d8;max-width:90ch}
.customs-warning-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.customs-warning-links a{color:var(--aqua-2);font-weight:850;text-decoration:none}
.customs-warning-links a:hover{text-decoration:underline}
@media(max-width:640px){
  .customs-warning{grid-template-columns:1fr}
}


/* How to Norway culture guide */
.culture-hero{min-height:610px}
.culture-hero .hero-content{padding-top:86px;padding-bottom:72px}
.culture-cheat-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.culture-cheat-grid article{display:flex;gap:12px;padding:24px 18px;border-right:1px solid rgba(255,255,255,.08)}
.culture-cheat-grid article:first-child{padding-left:0}
.culture-cheat-grid article:last-child{border-right:0}
.culture-cheat-grid b,.culture-cheat-grid small{display:block}
.culture-cheat-grid small{color:#aac0c8;margin-top:3px;line-height:1.35}
.culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.culture-grid-four{grid-template-columns:repeat(4,1fr)}
.culture-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 8px 30px rgba(7,19,27,.04)}
.culture-card.accent{background:#dff9f5}
.culture-card h3{font-size:1.45rem;margin:8px 0 12px}
.culture-card p{color:#53646b;margin:.5rem 0 0}
.culture-icon{display:block;font-size:2rem;margin-bottom:14px}
.culture-night-section{background:linear-gradient(180deg,#091a23,#07131b);color:white}
.culture-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.culture-timeline article{padding:26px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:rgba(255,255,255,.05)}
.culture-timeline h3{margin:7px 0 10px;font-size:1.5rem}
.culture-timeline p{color:#b8cbd2;margin:0}
.culture-time{display:inline-block;margin-bottom:18px;color:var(--gold);font-size:1.35rem;font-weight:900;letter-spacing:-.02em}
.culture-callout{margin-top:18px;display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;padding:28px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(85,223,211,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.1)}
.culture-callout-big{font-size:clamp(2.7rem,6vw,5.2rem);line-height:.9;font-weight:950;letter-spacing:-.07em;color:var(--aqua-2)}
.culture-callout h3{margin:0 0 8px;font-size:1.55rem}
.culture-callout p{margin:0 0 10px;color:#c3d2d7}
.culture-weather-section{background:#dff9f5}
.culture-weather-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:42px;align-items:center}
.culture-weather-grid h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:.98;letter-spacing:-.05em;margin:10px 0 14px}
.culture-weather-grid>div>p{font-size:1.05rem;max-width:68ch}
.culture-translation{font-size:1.25rem!important;color:#245b59;font-weight:750}
.culture-weather-card{background:white;border:1px solid rgba(7,19,27,.12);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.culture-weather-card h3{font-size:1.55rem;margin:4px 0 10px}
.culture-weather-card p{color:var(--muted);margin:0 0 18px}
.culture-kos-section{background:linear-gradient(135deg,#143945,#0a242d);color:white}
.culture-kos-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px;align-items:start}
.culture-kos-grid h2{font-size:clamp(4rem,10vw,8rem);line-height:.85;letter-spacing:-.07em;margin:10px 0 0;color:var(--aqua-2)}
.culture-kos-grid p{color:#c2d2d7;font-size:1.08rem;margin:0 0 14px}
.culture-finale{padding-top:72px;padding-bottom:90px}
.culture-finale-card{background:var(--ink);color:white;border-radius:28px;padding:clamp(30px,5vw,58px);text-align:center}
.culture-finale-card h2{font-size:clamp(2.4rem,5vw,4.3rem);letter-spacing:-.04em;margin:10px auto 16px;max-width:900px}
.culture-finale-card p{max-width:840px;margin:0 auto 14px;color:#bfd0d5;font-size:1.08rem}
.culture-finale-card .button{margin-top:18px}
@media(max-width:980px){
  .culture-cheat-grid{grid-template-columns:repeat(2,1fr)}
  .culture-cheat-grid article:nth-child(2){border-right:0}
  .culture-grid,.culture-grid-four{grid-template-columns:repeat(2,1fr)}
  .culture-timeline{grid-template-columns:1fr}
  .culture-weather-grid,.culture-kos-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .culture-hero{min-height:680px}
  .culture-cheat-grid,.culture-grid,.culture-grid-four{grid-template-columns:1fr}
  .culture-cheat-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding-inline:0}
  .culture-callout{grid-template-columns:1fr}
  .culture-callout-big{font-size:3.4rem}
}


/* Culture page refinements v2 */
.culture-page .culture-cheat{
  padding:18px 0;
}
.culture-page .culture-cheat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  align-items:stretch;
}
.culture-page .culture-cheat-grid article{
  min-height:104px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:24px 22px;
}
.culture-page .culture-cheat-grid .mini-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  font-size:1.45rem;
  line-height:1;
  border-radius:12px;
  background:rgba(255,255,255,.07);
}
.culture-page .culture-cheat-grid b{
  display:block;
  margin-bottom:4px;
  line-height:1.2;
}
.culture-page .culture-cheat-grid small{
  display:block;
  color:#aac0c8;
  line-height:1.35;
}

.culture-page .culture-night-section,
.culture-page .culture-weather-section,
.culture-page .culture-kos-section{
  position:relative;
  isolation:isolate;
  color:white;
  background-color:var(--ink);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.culture-page .culture-night-section{
  background-image:
    linear-gradient(180deg,rgba(5,16,23,.88),rgba(7,19,27,.94)),
    var(--random-bg,linear-gradient(180deg,#091a23,#07131b));
}
.culture-page .culture-weather-section{
  background-image:
    linear-gradient(90deg,rgba(5,18,25,.88),rgba(7,31,38,.78)),
    var(--random-bg,linear-gradient(180deg,#123742,#0b2831));
}
.culture-page .culture-kos-section{
  background-image:
    linear-gradient(135deg,rgba(8,27,34,.86),rgba(5,16,22,.93)),
    var(--random-bg,linear-gradient(135deg,#143945,#0a242d));
}
.culture-page .culture-night-section > .wrap,
.culture-page .culture-weather-section > .wrap,
.culture-page .culture-kos-section > .wrap{
  position:relative;
  z-index:1;
}
.culture-page .culture-night-section .section-heading > p,
.culture-page .culture-weather-section p,
.culture-page .culture-kos-section p{
  color:#c2d2d7;
}
.culture-page .culture-night-section .culture-timeline article,
.culture-page .culture-callout{
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.culture-page .culture-timeline article{
  background:rgba(7,19,27,.68);
  border-color:rgba(255,255,255,.12);
}
.culture-page .culture-callout{
  background:rgba(8,31,39,.72);
}
.culture-page .culture-weather-grid h2{
  color:white;
}
.culture-page .culture-translation{
  color:var(--aqua-2)!important;
}
.culture-page .culture-weather-card{
  background:rgba(251,250,247,.95);
  color:var(--ink);
  border-color:rgba(255,255,255,.28);
}
.culture-page .culture-weather-card p{
  color:#53646b;
}
.culture-page .culture-weather-card .button-outline{
  background:white;
}
.culture-page .culture-opening,
.culture-page .culture-finale{
  background:var(--paper);
}
.culture-page main > .section.wrap{
  padding-top:96px;
  padding-bottom:96px;
}

@media(max-width:980px){
  .culture-page .culture-cheat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .culture-page .culture-cheat-grid article:nth-child(2){border-right:0}
  .culture-page .culture-cheat-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)}
}
@media(max-width:640px){
  .culture-page .culture-cheat{padding:10px 0}
  .culture-page .culture-cheat-grid{grid-template-columns:1fr}
  .culture-page .culture-cheat-grid article{
    min-height:auto;
    padding:18px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .culture-page main > .section.wrap{
    padding-top:70px;
    padding-bottom:70px;
  }
}


/* Silvensa programme planner */
.programme-page .programme-hero{min-height:610px}
.programme-page .programme-legend-strip{padding:18px 0}
.programme-legend{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}
.programme-legend>span{display:flex;align-items:center;gap:9px;color:#dce7ea;font-size:.9rem}
.programme-legend-note{margin-left:auto;color:#9fb3ba!important;max-width:460px}
.legend-dot{width:13px;height:13px;border-radius:50%;display:inline-block;flex:0 0 13px}
.legend-dot.clear{background:var(--aqua)}
.legend-dot.conflict{background:var(--gold)}
.legend-dot.window{background:transparent;border:2px dashed #88a5af}

.programme-warning{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px 24px;border:1px solid #e7d391;background:#fff8df;border-radius:var(--radius)}
.programme-warning>span{font-size:1.6rem}
.programme-warning p{margin:4px 0 0;color:var(--muted)}
.programme-warning a{font-weight:850;color:#0c6c68;text-decoration:none}
.programme-warning a:hover{text-decoration:underline}

.programme-days{padding-bottom:90px}
.programme-day{padding:42px 0 18px;border-top:1px solid var(--line)}
.programme-day:first-child{border-top:0}
.programme-day-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:18px}
.programme-day-heading h2{margin:5px 0 0;font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.04em}
.programme-day-summary{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:white}
.programme-day-summary strong{font-size:1.3rem;color:#0c6c68}
.programme-day-summary span{color:var(--muted);font-size:.82rem;max-width:150px;line-height:1.2}

.programme-scroll{overflow-x:auto;padding-bottom:7px}
.programme-timeline{position:relative;min-width:1000px;padding-top:34px}
.programme-ticks{position:absolute;left:0;right:0;top:0;height:28px}
.programme-ticks span{position:absolute;transform:translateX(-50%);font-size:.72rem;font-weight:800;color:#75858c}
.programme-ticks span:first-child{transform:none}
.programme-ticks span:last-child{transform:translateX(-100%)}
.programme-grid-lines{position:absolute;left:0;right:0;top:32px;bottom:0;pointer-events:none}
.programme-grid-lines span{position:absolute;top:0;bottom:0;width:1px;background:rgba(7,19,27,.09);font-size:0}
.programme-track{position:relative;border:1px solid var(--line);border-radius:18px;background:
  linear-gradient(180deg,rgba(255,255,255,.82),rgba(251,250,247,.92));
  overflow:hidden}
.programme-block{position:absolute;min-width:72px;height:56px;padding:8px 10px;border-radius:12px;border:1px solid rgba(7,19,27,.12);text-decoration:none;overflow:hidden;box-shadow:0 5px 16px rgba(7,19,27,.07);transition:transform .15s ease,box-shadow .15s ease}
.programme-block:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(7,19,27,.13);z-index:5}
.programme-block strong,.programme-block small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.programme-block strong{font-size:.78rem;line-height:1.2}
.programme-block small{font-size:.68rem;margin-top:4px;opacity:.72}
.programme-block.type-social{background:#f6e8ee}
.programme-block.type-sports{background:#e8f3dc}
.programme-block.type-games{background:#e2eff8}
.programme-block.type-food{background:#fff1d6}
.programme-block.type-music{background:#f6e2ef}
.programme-block.is-window{height:40px;border-style:dashed;background:repeating-linear-gradient(135deg,#eef2f3,#eef2f3 8px,#f8fafb 8px,#f8fafb 16px);color:#4c6068}
.programme-block.has-conflict{box-shadow:inset 0 0 0 2px var(--gold),0 5px 16px rgba(7,19,27,.07)}
.programme-overlap{position:absolute;right:6px;top:5px;padding:2px 5px;border-radius:999px;background:#6d4a08;color:white;font-size:.48rem;font-weight:950;letter-spacing:.07em}
.programme-block.has-conflict strong{padding-right:48px}

.programme-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.programme-card{display:grid;grid-template-columns:105px 1fr auto;gap:18px;align-items:center;background:white;border:1px solid var(--line);border-radius:18px;padding:18px}
.programme-card-time{display:grid;grid-template-columns:auto auto auto;gap:5px;align-items:center}
.programme-card-time strong{font-size:1.15rem}
.programme-card-time span{color:#9aabad}
.programme-card-time small{grid-column:1/-1;color:var(--muted)}
.programme-card-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.programme-type,.programme-card-conflict,.programme-card-window,.programme-card-clear{font-size:.62rem;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:5px 8px}
.programme-type{background:#edf3f4;color:#365158}
.programme-card-conflict{background:#fff0c8;color:#785300}
.programme-card-window{background:#eef2f3;color:#576b72;border:1px dashed #94a8ae}
.programme-card-clear{background:#dff9f5;color:#12655f}
.programme-card h3{margin:7px 0 3px;font-size:1.2rem}
.programme-card p{margin:0;color:var(--muted);font-size:.9rem}
.programme-note{margin-top:5px!important;font-style:italic}
.programme-card-action{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:130px}
.programme-card-action>strong{color:#18333d}
.programme-card-action a{font-weight:850;color:#0c6c68;text-decoration:none;font-size:.86rem;text-align:right}
.programme-card-action a:hover{text-decoration:underline}

.programme-bottom{position:relative;isolation:isolate;background-color:var(--ink);background-position:center;background-size:cover;background-repeat:no-repeat;background-image:
  linear-gradient(90deg,rgba(5,18,25,.92),rgba(7,29,36,.84)),
  var(--random-bg,linear-gradient(180deg,#123742,#0b2831));color:white}
.programme-bottom>.wrap{position:relative;z-index:1}
.programme-bottom-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.programme-bottom h2{font-size:clamp(2.5rem,5vw,4.6rem);line-height:.98;letter-spacing:-.05em;margin:8px 0 0}
.programme-bottom p{color:#c2d2d7;font-size:1.05rem;margin:0 0 14px}

@media(max-width:980px){
  .programme-cards{grid-template-columns:1fr}
  .programme-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .programme-legend{display:grid;grid-template-columns:1fr}
  .programme-legend-note{margin-left:0}
  .programme-warning{grid-template-columns:auto 1fr}
  .programme-warning a{grid-column:1/-1}
  .programme-day-heading{align-items:flex-start;flex-direction:column}
  .programme-card{grid-template-columns:1fr}
  .programme-card-time{justify-content:start}
  .programme-card-action{align-items:flex-start;min-width:0}
  .programme-card-action a{text-align:left}
}


/* Programme planner refinements v2 */
.programme-page .programme-scroll{
  overflow-x:auto;
  padding-bottom:0;
  scrollbar-width:none;
}
.programme-page .programme-scroll::-webkit-scrollbar{display:none}

.programme-page .programme-cards{
  align-items:stretch;
}
.programme-page .programme-card{
  grid-template-columns:1fr auto;
  grid-template-areas:
    "meta action"
    "body action";
  gap:10px 18px;
  align-items:start;
  min-height:168px;
  padding:20px;
}
.programme-page .programme-card-time{
  grid-area:meta;
  display:flex;
  align-items:baseline;
  gap:6px;
  flex-wrap:wrap;
}
.programme-page .programme-card-time strong{
  font-size:1.18rem;
  line-height:1;
}
.programme-page .programme-card-time span{color:#9aabad}
.programme-page .programme-card-time small{
  width:100%;
  margin-top:3px;
  color:var(--muted);
}
.programme-page .programme-card-body{
  grid-area:body;
  min-width:0;
}
.programme-page .programme-card-top{
  margin-bottom:6px;
}
.programme-page .programme-card h3{
  margin:0 0 5px;
  font-size:1.24rem;
  line-height:1.15;
}
.programme-page .programme-card p{
  margin:0;
  line-height:1.45;
}
.programme-page .programme-card-action{
  grid-area:action;
  align-self:start;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  min-width:145px;
  padding-left:10px;
}
.programme-page .programme-card-action>strong{
  font-size:1.05rem;
  white-space:nowrap;
}
.programme-page .programme-card-action a{
  white-space:nowrap;
}
.programme-page .programme-type,
.programme-page .programme-card-conflict,
.programme-page .programme-card-window,
.programme-page .programme-card-clear{
  line-height:1;
}
.programme-page .programme-block{
  display:block;
}
.programme-page .programme-block strong{
  max-width:calc(100% - 6px);
}
.programme-page .programme-block.has-conflict strong{
  max-width:calc(100% - 58px);
}

@media(max-width:760px){
  .programme-page .programme-card{
    grid-template-columns:1fr;
    grid-template-areas:
      "meta"
      "body"
      "action";
  }
  .programme-page .programme-card-action{
    align-items:flex-start;
    padding-left:0;
    min-width:0;
  }
}


/* Programme growing notice */
.programme-growing{
  margin-top:14px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  padding:22px 24px;
  border-radius:var(--radius);
  border:1px solid rgba(85,223,211,.28);
  background:#e9fbf8;
}
.programme-growing-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--aqua);
  color:#07312e;
  font-size:1.7rem;
  font-weight:900;
}
.programme-growing h3{margin:4px 0 4px;font-size:1.35rem}
.programme-growing p{margin:0;color:var(--muted)}
.programme-growing>a{font-weight:850;color:#0c6c68;text-decoration:none;white-space:nowrap}
.programme-growing>a:hover{text-decoration:underline}
@media(max-width:700px){
  .programme-growing{grid-template-columns:auto 1fr}
  .programme-growing>a{grid-column:1/-1}
}

/* Journey / adventure guide */
.adventure-page .adventure-hero{min-height:650px}
.adventure-quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.adventure-quick-grid>a{
  display:flex;
  gap:12px;
  padding:24px 18px;
  border-right:1px solid rgba(255,255,255,.08);
  color:white;
  text-decoration:none;
}
.adventure-quick-grid>a:first-child{padding-left:0}
.adventure-quick-grid>a:last-child{border-right:0}
.adventure-quick-grid>a:hover b{color:var(--aqua-2)}
.adventure-quick-grid>a>span{font-size:1.55rem}
.adventure-quick-grid b,.adventure-quick-grid small{display:block}
.adventure-quick-grid small{color:#aac0c8;margin-top:3px;line-height:1.35}

.adventure-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.adventure-choice{
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:26px;
  border-radius:24px;
  text-decoration:none;
  color:white;
  overflow:hidden;
  position:relative;
  isolation:isolate;
  box-shadow:var(--shadow);
}
.adventure-choice:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(135deg,#183844,#0a1d25);
}
.adventure-choice:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,transparent 20%,rgba(3,13,18,.86) 100%);
}
.adventure-choice-train:before{background:linear-gradient(135deg,#385769,#101e28)}
.adventure-choice-sea:before{background:linear-gradient(135deg,#0c4861,#0b2630)}
.adventure-choice-air:before{background:linear-gradient(135deg,#536d78,#1d3039)}
.adventure-choice-icon{font-size:2.4rem;margin-bottom:auto}
.adventure-choice h3{font-size:2rem;margin:7px 0 8px}
.adventure-choice p{color:#d5e1e5;margin:0 0 20px}
.adventure-choice b{color:var(--aqua-2)}

.adventure-train-section,
.adventure-air-section,
.adventure-final-section{
  position:relative;
  isolation:isolate;
  color:white;
  background-color:var(--ink);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.adventure-train-section{
  background-image:
    linear-gradient(180deg,rgba(5,17,24,.9),rgba(7,19,27,.95)),
    var(--random-bg,linear-gradient(180deg,#0d2732,#07131b));
}
.adventure-air-section{
  background-image:
    linear-gradient(90deg,rgba(5,18,25,.91),rgba(7,31,38,.83)),
    var(--random-bg,linear-gradient(180deg,#123742,#0b2831));
}
.adventure-final-section{
  background-image:
    linear-gradient(135deg,rgba(6,19,26,.92),rgba(5,16,22,.88)),
    var(--random-bg,linear-gradient(135deg,#143945,#0a242d));
}
.adventure-train-section>.wrap,
.adventure-air-section>.wrap,
.adventure-final-section>.wrap{position:relative;z-index:1}

.adventure-feature{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:0;
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:white;
  color:var(--ink);
  box-shadow:var(--shadow);
}
.adventure-feature.reverse{grid-template-columns:.95fr 1.05fr}
.adventure-feature.reverse .adventure-feature-image{order:2}
.adventure-feature-image{
  min-height:430px;
  background-position:center;
  background-size:cover;
  position:relative;
}
.adventure-feature-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(3,13,18,.72));
}
.adventure-feature-image>span{
  position:absolute;
  z-index:1;
  left:22px;
  bottom:18px;
  color:white;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.13em;
}
.adventure-feature-copy{padding:34px;display:flex;flex-direction:column;justify-content:center}
.adventure-feature-copy h3{font-size:clamp(2rem,4vw,3.1rem);line-height:1;letter-spacing:-.04em;margin:8px 0 16px}
.adventure-feature-copy p{color:#53646b;margin:0 0 14px}
.adventure-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.adventure-credit{display:block;color:#829197;margin-top:16px}

.adventure-train-grid,.adventure-excursion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.adventure-info-card,.adventure-excursion{
  padding:26px;
  border-radius:var(--radius);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.11);
}
.adventure-info-card h3,.adventure-excursion h3{font-size:1.5rem;margin:7px 0 10px}
.adventure-info-card p{color:#bfd0d5;margin:.45rem 0}
.adventure-info-card a{display:inline-block;margin-top:14px;color:var(--aqua-2);font-weight:850;text-decoration:none}
.adventure-info-card a:hover{text-decoration:underline}
.adventure-info-icon{display:block;font-size:2rem;margin-bottom:12px}
.adventure-info-card.starwars{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.05));border-color:rgba(158,241,232,.26)}

.adventure-video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}
.adventure-video{
  min-height:260px;
  display:flex;
  align-items:flex-end;
  gap:18px;
  padding:24px;
  border-radius:22px;
  overflow:hidden;
  position:relative;
  isolation:isolate;
  color:white;
  text-decoration:none;
  background-position:center;
  background-size:cover;
}
.adventure-video:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,10,15,.12),rgba(2,10,15,.9))}
.adventure-video-play{
  width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:50%;
  background:var(--aqua);color:#06201f;font-size:1.2rem
}
.adventure-video small,.adventure-video strong,.adventure-video b{display:block}
.adventure-video small{color:var(--aqua-2);font-weight:900;letter-spacing:.11em}
.adventure-video strong{font-size:1.35rem;margin:4px 0}
.adventure-video b{color:white}
.adventure-video:hover .adventure-video-play{background:var(--aqua-2)}
.adventure-video-wide{margin-top:18px;min-height:340px}

.adventure-air-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.adventure-air-grid article{
  min-height:260px;
  padding:24px;
  border-radius:var(--radius);
  background:rgba(7,19,27,.72);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(3px);
}
.adventure-air-grid article>span{font-size:2rem}
.adventure-air-grid h3{font-size:1.5rem;margin:10px 0 8px}
.adventure-air-grid p{color:#bfd0d5}
.adventure-air-grid b{display:block;color:var(--aqua-2);margin:12px 0 6px}
.adventure-air-grid a{color:white;font-weight:850;text-decoration:none}
.adventure-air-grid a:hover{text-decoration:underline}

.adventure-extra-section .adventure-excursion{
  background:white;
  color:var(--ink);
  border-color:var(--line);
  box-shadow:0 8px 30px rgba(7,19,27,.04);
}
.adventure-extra-section .adventure-excursion p{color:var(--muted)}
.adventure-extra-section .adventure-excursion a{display:inline-block;margin-top:12px;color:#0c6c68;font-weight:850;text-decoration:none}
.adventure-extra-section .adventure-excursion a:hover{text-decoration:underline}

.adventure-final-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.adventure-final-grid h2{font-size:clamp(2.8rem,5vw,4.8rem);line-height:.98;letter-spacing:-.05em;margin:8px 0 0}
.adventure-final-grid p{color:#c2d2d7;font-size:1.08rem;margin:0 0 14px}

@media(max-width:980px){
  .adventure-quick-grid{grid-template-columns:repeat(2,1fr)}
  .adventure-choice-grid{grid-template-columns:1fr}
  .adventure-feature,.adventure-feature.reverse{grid-template-columns:1fr}
  .adventure-feature.reverse .adventure-feature-image{order:0}
  .adventure-train-grid,.adventure-excursion-grid{grid-template-columns:1fr}
  .adventure-air-grid{grid-template-columns:repeat(2,1fr)}
  .adventure-final-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .adventure-quick-grid{grid-template-columns:1fr}
  .adventure-quick-grid>a{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding-inline:0}
  .adventure-video-grid{grid-template-columns:1fr}
  .adventure-air-grid{grid-template-columns:1fr}
  .adventure-feature-image{min-height:280px}
  .adventure-feature-copy{padding:24px}
}


/* Unified site vs in-page navigation */
.site-switcher{
  display:flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.site-tab{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 13px;
  border-radius:999px;
  color:#c8d6da;
  text-decoration:none;
  font-size:.79rem;
  font-weight:800;
  white-space:nowrap;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.site-tab:hover{
  color:white;
  background:rgba(255,255,255,.07);
}
.site-tab.is-active,
.site-tab[aria-current="page"]{
  color:#06201f;
  background:var(--aqua);
  box-shadow:0 5px 16px rgba(85,223,211,.16);
}
.site-tab.is-active:hover,
.site-tab[aria-current="page"]:hover{
  color:#06201f;
  background:var(--aqua-2);
}
.site-tab:focus-visible{
  outline:2px solid var(--aqua-2);
  outline-offset:2px;
}

/* Quick nav now distinguishes scrolling from opening another guide */
.quick-nav-panel{
  width:min(340px,calc(100vw - 32px));
  padding:14px;
}
.quick-nav-group + .quick-nav-group{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.09);
}
.quick-nav-group .quick-nav-label{
  padding-top:0;
}
.quick-nav-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.quick-nav-guides,
.quick-nav-official{
  grid-template-columns:1fr!important;
}
.quick-nav-guides a{
  justify-content:space-between;
  min-height:46px;
  background:rgba(85,223,211,.075);
  border-color:rgba(85,223,211,.16);
}
.quick-nav-guides a:hover,
.quick-nav-guides a:focus-visible{
  background:rgba(85,223,211,.15);
  border-color:rgba(85,223,211,.30);
}
.quick-nav-guides a span,
.quick-nav-official a span{
  margin-left:auto;
  color:var(--aqua-2);
  font-size:1rem;
}
.quick-nav-official a{
  justify-content:space-between;
  min-height:46px;
  background:rgba(243,200,106,.09);
  border-color:rgba(243,200,106,.20);
}
.quick-nav-official a:hover,
.quick-nav-official a:focus-visible{
  background:rgba(243,200,106,.16);
  border-color:rgba(243,200,106,.34);
}
.quick-nav-official a span{color:var(--gold)}
.quick-nav-guide-group .quick-nav-label{color:var(--aqua-2)}
.quick-nav-official-group .quick-nav-label{color:var(--gold)}

@media(max-width:1050px){
  .topbar{gap:16px}
  .site-tab{padding-inline:10px;font-size:.75rem}
  .brand span{display:none}
}
@media(max-width:820px){
  .site-switcher{display:none}
}
@media(max-width:660px){
  .quick-nav-panel{width:calc(100vw - 28px)}
  .quick-nav-links{grid-template-columns:1fr 1fr}
  .quick-nav-guides,.quick-nav-official{grid-template-columns:1fr!important}
}
@media(max-width:390px){
  .quick-nav-links{grid-template-columns:1fr}
}


/* Site guide navigation polish v2 */
.site-switcher{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.site-tab{
  min-height:40px;
  padding:9px 16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#e3ecef;
  text-decoration:none!important;
  font-size:.82rem;
  font-weight:850;
  letter-spacing:.01em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.site-tab:visited{color:#e3ecef}
.site-tab:hover{
  color:#fff;
  background:rgba(255,255,255,.095);
  border-color:rgba(143,201,213,.36);
  transform:translateY(-1px);
}
.site-tab.is-active,
.site-tab[aria-current="page"]{
  color:#06201f!important;
  background:var(--aqua);
  border-color:var(--aqua);
  box-shadow:0 7px 20px rgba(85,223,211,.20);
}
.site-tab.is-active:hover,
.site-tab[aria-current="page"]:hover{
  color:#06201f!important;
  background:var(--aqua-2);
  border-color:var(--aqua-2);
}
.topbar .site-switcher{
  margin-left:auto;
  margin-right:8px;
}
@media(max-width:1120px){
  .site-switcher{gap:7px}
  .site-tab{padding:8px 12px;font-size:.76rem}
}
@media(max-width:920px){
  .site-switcher{display:none}
}


/* Tablet + mobile guide navigation */
@media(max-width:920px){
  .topbar{
    height:auto;
    min-height:68px;
    flex-wrap:wrap;
    row-gap:8px;
    padding-top:8px;
    padding-bottom:8px;
  }
  .topbar .brand{
    margin-right:auto;
  }
  .topbar .site-switcher{
    order:3;
    display:flex;
    width:100%;
    margin:0;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 0 1px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
  }
  .topbar .site-switcher::-webkit-scrollbar{display:none}
  .topbar .site-tab{
    flex:0 0 auto;
    min-height:38px;
    padding:8px 14px;
    font-size:.78rem;
    scroll-snap-align:start;
  }
}

@media(max-width:660px){
  .topbar{
    padding-inline:14px;
    row-gap:7px;
  }
  .topbar .brand img{
    width:92px;
    height:40px;
  }
  .topbar .button-small{
    padding:8px 13px;
    font-size:.82rem;
  }
  .topbar .site-switcher{
    gap:7px;
    padding-bottom:2px;
  }
  .topbar .site-tab{
    min-height:36px;
    padding:7px 12px;
    font-size:.74rem;
  }
}

@media(max-width:390px){
  .topbar .site-tab{
    padding-inline:11px;
    font-size:.72rem;
  }
}


/* Embedded journey videos */
.adventure-embed-card{
  overflow:hidden;
  border-radius:22px;
  background:#07131b;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 34px rgba(3,12,18,.18);
}
.adventure-embed{
  aspect-ratio:16 / 9;
  background:#000;
}
.adventure-embed iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.adventure-embed-copy{
  display:grid;
  gap:5px;
  padding:18px 20px 20px;
}
.adventure-embed-copy small{
  color:var(--aqua-2);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.11em;
}
.adventure-embed-copy strong{
  color:white;
  font-size:1.15rem;
  line-height:1.25;
}
.adventure-embed-copy a{
  margin-top:4px;
  color:#dfe9ec;
  font-size:.86rem;
  font-weight:800;
  text-decoration:none;
}
.adventure-embed-copy a:hover{
  color:var(--aqua-2);
  text-decoration:underline;
}
.adventure-embed-wide{
  margin-top:18px;
}


/* Voss post-tour */
.voss-page .voss-hero{min-height:690px}
.voss-hero-bg{
  background-image:url('https://www.visitvoss.no/sites/cb_voss/files/styles/slide_large/public/Hunnalvatn%20Media-Jon%20Hunn%C3%A5lvatn%20T%C3%B8n%202-04972.jpg.webp?itok=8KI2qCFe')!important;
  background-position:center 52%!important;
}
.voss-hero-credit{
  position:relative;
  display:block;
  margin-top:42px;
  color:#a9bbc1;
  font-size:.72rem;
}
.voss-flow-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.voss-flow-grid article{
  display:flex;
  gap:12px;
  align-items:center;
  padding:24px 18px;
  border-right:1px solid rgba(255,255,255,.08);
}
.voss-flow-grid article:first-child{padding-left:0}
.voss-flow-grid article:last-child{border-right:0}
.voss-flow-grid article>span{font-size:1.5rem}
.voss-flow-grid b,.voss-flow-grid small{display:block}
.voss-flow-grid small{color:#aac0c8;margin-top:3px;line-height:1.35}

.voss-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.voss-step-grid article{
  position:relative;
  min-height:290px;
  display:flex;
  flex-direction:column;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:white;
  box-shadow:0 8px 30px rgba(7,19,27,.04);
}
.voss-step-number{
  display:block;
  color:#15938b;
  font-size:2.4rem;
  font-weight:950;
  line-height:1;
  letter-spacing:-.05em;
  margin-bottom:26px;
}
.voss-step-grid h3{font-size:1.45rem;line-height:1.15;margin:0 0 10px}
.voss-step-grid p{color:var(--muted);margin:0 0 16px}
.voss-step-grid a{margin-top:auto;color:#0c6c68;font-weight:850;text-decoration:none}
.voss-step-grid a:hover{text-decoration:underline}

.voss-mountain-section,
.voss-plan-section{
  position:relative;
  isolation:isolate;
  background-color:var(--ink);
  color:white;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.voss-mountain-section{
  background-image:
    linear-gradient(180deg,rgba(5,17,24,.9),rgba(7,19,27,.96)),
    url('https://www.visitvoss.no/sites/cb_voss/files/styles/slide_large/public/DSC00816_Hunnalvatn%20Media_tilweb.jpg.webp?itok=IZoZvZR6');
}
.voss-plan-section{
  background-image:
    linear-gradient(90deg,rgba(5,18,25,.93),rgba(8,34,42,.87)),
    var(--random-bg,linear-gradient(180deg,#123742,#0b2831));
}
.voss-mountain-section>.wrap,
.voss-plan-section>.wrap{position:relative;z-index:1}

.voss-mountain-feature{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  overflow:hidden;
  border-radius:28px;
  background:white;
  color:var(--ink);
  box-shadow:var(--shadow);
}
.voss-mountain-image{
  min-height:470px;
  background:url('https://www.visitvoss.no/sites/cb_voss/files/styles/slide_large/public/Hunnalvatn%20Media-Jon%20Hunn%C3%A5lvatn%20T%C3%B8n%202-04972.jpg.webp?itok=8KI2qCFe') center/cover no-repeat;
}
.voss-mountain-copy{padding:34px;display:flex;flex-direction:column;justify-content:center}
.voss-mountain-copy h3{font-size:clamp(2rem,4vw,3.1rem);line-height:1;letter-spacing:-.04em;margin:8px 0 16px}
.voss-mountain-copy p{color:#53646b;margin:0 0 14px}
.voss-mountain-copy small{color:#829197;margin-top:16px}

.voss-ski-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:18px;
}
.voss-ski-grid article{
  min-height:300px;
  display:flex;
  flex-direction:column;
  padding:24px;
  border-radius:var(--radius);
  background:rgba(7,19,27,.72);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(3px);
}
.voss-ski-grid article>span:first-child{font-size:2rem}
.voss-ski-grid h3{font-size:1.4rem;line-height:1.15;margin:8px 0 9px}
.voss-ski-grid p{color:#bfd0d5;margin:.35rem 0}
.voss-ski-grid a{margin-top:auto;padding-top:14px;color:var(--aqua-2);font-weight:850;text-decoration:none}
.voss-ski-grid a:hover{text-decoration:underline}
.voss-video{margin-top:18px}

.voss-hotel-feature{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:white;
  box-shadow:var(--shadow);
}
.voss-hotel-photo{
  min-height:470px;
  background:url('https://img.scandichotels.com/.netlify/images?url=https%3A%2F%2Fimages.scandichotels.com%2Fpublishedmedia%2Ffdnoahfetg8i7bkfrw58%2FScandic-Voss-Facade-Entrance-Gondola.jpg&w=2400') center/cover no-repeat;
}
.voss-hotel-copy{padding:34px;display:flex;flex-direction:column;justify-content:center}
.voss-hotel-copy h3{font-size:clamp(2rem,4vw,3.1rem);line-height:1;letter-spacing:-.04em;margin:8px 0 15px}
.voss-hotel-copy>p{color:#53646b}
.voss-hotel-facts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 8px;
}
.voss-hotel-facts span{
  padding:8px 10px;
  border-radius:999px;
  background:#edf4f4;
  color:#365158;
  font-size:.8rem;
}
.voss-hotel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}
.voss-hotel-grid article{
  min-height:220px;
  padding:24px;
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.voss-hotel-grid article>span{font-size:2rem}
.voss-hotel-grid h3{font-size:1.35rem;margin:10px 0 8px}
.voss-hotel-grid p{color:var(--muted);margin:0}

.voss-itinerary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.voss-itinerary article{
  min-height:270px;
  padding:26px;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(7,19,27,.72);
  backdrop-filter:blur(3px);
}
.voss-day{
  display:inline-block;
  margin-bottom:26px;
  padding:6px 9px;
  border-radius:999px;
  background:var(--aqua);
  color:#07312e;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.11em;
}
.voss-itinerary h3{font-size:1.5rem;margin:0 0 9px}
.voss-itinerary p{color:#bfd0d5;margin:0}
.voss-booking-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:18px;
}
.voss-booking-row a{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 11px;
  align-items:center;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.06);
  color:white;
  text-decoration:none;
}
.voss-booking-row a>span{grid-row:1/3;font-size:1.6rem}
.voss-booking-row b{font-size:1rem}
.voss-booking-row small{color:#a9bdc4}
.voss-booking-row a:hover{background:rgba(85,223,211,.11);border-color:rgba(85,223,211,.26)}

.voss-final-actions{justify-content:center;margin-top:22px}
.voss-final .culture-finale-card p{font-size:1.1rem}

.adventure-voss-callout{padding-top:30px}
.adventure-voss-card{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  min-height:470px;
  border-radius:30px;
  overflow:hidden;
  background:#07131b;
  color:white;
  text-decoration:none;
  box-shadow:var(--shadow);
}
.adventure-voss-card-image{
  background:
    linear-gradient(180deg,rgba(3,13,18,.05),rgba(3,13,18,.28)),
    url('https://www.visitvoss.no/sites/cb_voss/files/styles/slide_large/public/Hunnalvatn%20Media-Jon%20Hunn%C3%A5lvatn%20T%C3%B8n%202-04972.jpg.webp?itok=8KI2qCFe') center/cover no-repeat;
}
.adventure-voss-card-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(30px,5vw,56px);
}
.adventure-voss-card-copy h2{
  font-size:clamp(2.8rem,5vw,4.8rem);
  line-height:.95;
  letter-spacing:-.055em;
  margin:8px 0 18px;
}
.adventure-voss-card-copy p{color:#bfd0d5;font-size:1.05rem;max-width:62ch}
.adventure-voss-facts{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 24px}
.adventure-voss-facts span{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#dce7ea;
  font-size:.78rem;
  font-weight:750;
}
.adventure-voss-card-copy>b{color:var(--aqua-2);font-size:1rem}
.adventure-voss-card:hover .adventure-voss-card-copy>b{text-decoration:underline}

@media(max-width:1050px){
  .voss-step-grid,.voss-ski-grid,.voss-hotel-grid,.voss-booking-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .voss-flow-grid{grid-template-columns:repeat(2,1fr)}
  .voss-flow-grid article:nth-child(2){border-right:0}
  .voss-mountain-feature,.voss-hotel-feature,.adventure-voss-card{grid-template-columns:1fr}
  .voss-mountain-image,.voss-hotel-photo,.adventure-voss-card-image{min-height:340px}
  .voss-itinerary{grid-template-columns:1fr}
}
@media(max-width:640px){
  .voss-flow-grid{grid-template-columns:1fr}
  .voss-flow-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding-inline:0}
  .voss-step-grid,.voss-ski-grid,.voss-hotel-grid,.voss-booking-row{grid-template-columns:1fr}
  .voss-mountain-image,.voss-hotel-photo,.adventure-voss-card-image{min-height:260px}
  .voss-mountain-copy,.voss-hotel-copy{padding:24px}
}

/* Self-guided pre- and post-Silvensa adventures */
.tour-intro{max-width:880px;margin-inline:auto;text-align:center}
.tour-intro p{font-size:1.12rem;line-height:1.7}
.tour-hero .hero-bg{background-image:linear-gradient(110deg,rgba(5,19,27,.70),rgba(5,19,27,.35)),url('assets/images/bergen/bergen-hero.jpg')}
.tour-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px}
.tour-choice{background:#fff;border:1px solid rgba(9,35,44,.13);border-radius:22px;overflow:hidden;box-shadow:0 10px 35px rgba(5,20,29,.06)}
.tour-choice-photo{min-height:230px;background-position:center;background-size:cover}
.tour-choice-body{padding:27px}
.tour-choice-body h3{margin:9px 0 12px;font-size:clamp(1.55rem,2.6vw,2.2rem);letter-spacing:-.035em}
.tour-choice-body p{line-height:1.65;color:#405960}
.tour-facts{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}
.tour-facts span{border-radius:100px;padding:7px 11px;background:#e7f3f3;color:#16353d;font-size:.81rem;font-weight:700}
.tour-choice-body .button{margin-top:6px}
.tour-notice{border:1px solid rgba(22,99,102,.25);border-radius:18px;padding:24px 28px;background:#e9f6f6;color:#16353d;margin:32px 0}
.tour-notice h2{font-size:1.2rem;margin:0 0 7px}
.tour-notice p{margin:0;line-height:1.7}
.tour-winter-note{margin-top:30px;color:#c8d8dd;max-width:800px;line-height:1.75}
@media(max-width:760px){.tour-choice-grid{grid-template-columns:1fr}.tour-choice-photo{min-height:205px}.tour-choice-body{padding:22px}}

/* Editorial Pre & Post tour styling v2 */
.tour-overview-strip{background:#0c2832;color:white}
.tour-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.tour-overview-grid a{display:flex;flex-direction:column;gap:5px;text-decoration:none;color:white;padding:23px 20px;border-right:1px solid rgba(255,255,255,.12)}
.tour-overview-grid a:last-child{border-right:0}
.tour-overview-grid a:hover{background:rgba(255,255,255,.08)}
.tour-overview-grid span{font-size:1.8rem}
.tour-overview-grid small{color:#b6cbd2}
.tour-choice{scroll-margin-top:145px}
.tour-choice-photo{min-height:270px}
.tour-choice-body{display:flex;flex-direction:column;align-items:flex-start}
.tour-choice-body p{line-height:1.7}
.tour-choice-body p small{color:#6b8288}
.tour-choice-body .tour-facts{margin-top:auto}
.tour-action-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.tour-action-links>a:not(.button){color:#147c7e;font-weight:800;text-underline-offset:3px}
.tour-coast-section{position:relative;isolation:isolate;background:#071e28;color:white;scroll-margin-top:110px}
.tour-coast-section:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(130deg,rgba(4,18,26,.92),rgba(4,25,32,.81)),var(--random-bg,linear-gradient(140deg,#17434c,#0b202a));background-position:center;background-size:cover}
.tour-coast-section .section-heading p{color:#bed2d7}
.tour-coast-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:680px;border:1px solid rgba(255,255,255,.16);border-radius:27px;overflow:hidden;background:rgba(3,16,23,.80);box-shadow:0 25px 65px rgba(0,0,0,.25)}
.tour-coast-image{background:linear-gradient(180deg,transparent 40%,rgba(3,14,19,.56)),url('https://images.ctfassets.net/7mmwp5vb96tc/74PTSJAVJdyXzEVfupdEgr/c78748cb02ec993373a0a31cfa50103d/ms-nordnorge-87774-Photo_Competition.jpg?fm=webp&q=75&w=3840') center/cover no-repeat;min-height:540px;display:flex;align-items:flex-end;padding:28px}
.tour-coast-image span{font-size:.72rem;font-weight:900;letter-spacing:.13em}
.tour-coast-copy{padding:clamp(26px,4vw,50px);display:flex;flex-direction:column;justify-content:center}
.tour-coast-copy h3{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.055em;line-height:1.05;margin:12px 0 22px}
.tour-coast-copy p{color:#cbdde2;line-height:1.72}
.tour-coast-facts span{background:rgba(87,203,198,.13);color:#e7f9f8}
.tour-coast-cost{border:1px solid rgba(238,199,118,.27);background:rgba(238,199,118,.08);border-radius:15px;padding:20px;margin:13px 0 22px}
.tour-coast-cost strong{color:#f0d6a5}
.tour-coast-cost p{font-size:.92rem;margin:8px 0 0}
.tour-coast-copy .tour-action-links>a:not(.button){color:#83e4de}
.tour-photo-credit{color:#aac0c5;margin-top:20px;line-height:1.5}
.tour-coast-mini-grid,.tour-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.tour-coast-mini-grid article{border-radius:18px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);padding:25px}
.tour-coast-mini-grid span{font-size:1.9rem}
.tour-coast-mini-grid h3{margin:14px 0}
.tour-coast-mini-grid p{color:#c1d4da;line-height:1.65}
.tour-plan-grid article{padding:29px;border:1px solid rgba(7,38,46,.11);border-radius:20px;background:#edf5f5;display:flex;flex-direction:column}
.tour-plan-grid span{font-size:2.3rem;color:#65aaa8;font-weight:900}
.tour-plan-grid h3{font-size:1.55rem;margin:10px 0}
.tour-plan-grid p{color:#3d575f;line-height:1.7}
.tour-plan-grid a{margin-top:auto;color:#196f71;font-weight:800}
@media(max-width:1000px){.tour-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-overview-grid a:nth-child(2){border-right:0}.tour-coast-feature{grid-template-columns:1fr}.tour-coast-image{min-height:390px;background-position:center 45%}.tour-coast-mini-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.tour-coast-mini-grid,.tour-plan-grid{grid-template-columns:1fr}.tour-overview-grid a{padding:19px 13px}.tour-coast-image{min-height:270px}.tour-coast-copy{padding:24px}.tour-coast-feature{min-height:0}}

/* Silvensa event and accommodation feature pages · October 2026 */
@media(min-width:921px){
.topbar{height:auto;min-height:76px;flex-wrap:wrap;row-gap:9px;padding-top:9px;padding-bottom:9px}
.topbar .site-switcher{flex:1 1 590px;flex-wrap:wrap;justify-content:center;gap:7px}
.topbar .site-tab{white-space:nowrap;font-size:.74rem;padding:8px 12px;min-height:37px}
.topbar .brand{flex-shrink:0}
.topbar>.button{flex-shrink:0}
}
.gala-hero,.stay-hero{min-height:690px}
.gala-hero-bg{background:linear-gradient(95deg,rgba(4,13,19,.64),rgba(4,13,19,.20)),url('https://assets.simpleviewcms.com/simpleview/image/fetch/c_fill%2Ch_1080%2Cw_1920/f_jpg/q_65/https%3A/media.newmindmedia.com/TellUs/image/%3Ffile%3D8_18__1654661652.jpg%26dh%3D533%26dw%3D800%26t%3D4') center/cover no-repeat!important}
.stay-hero-bg{background:linear-gradient(92deg,rgba(5,20,31,.66),rgba(6,23,32,.28)),url('assets/images/bergen/bergen-hero.jpg') center 50%/cover no-repeat!important}
.gala-hero .hero-overlay{background:linear-gradient(90deg,rgba(4,12,18,.79) 0%,rgba(4,12,18,.34) 75%,rgba(4,12,18,.26))}
.stay-hero .hero-overlay{background:linear-gradient(90deg,rgba(4,18,26,.78) 0%,rgba(4,18,26,.28) 70%,rgba(4,18,26,.19))}
.gala-hero-credit,.stay-hero-credit{display:block;color:#d7e7e7;margin-top:18px;font-size:.72rem}
.gala-factbar,.stay-factbar{background:#0d2a34;color:#fff;border-top:1px solid rgba(255,255,255,.12)}
.gala-fact-grid,.stay-fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.gala-fact-grid>div,.stay-fact-grid>div{padding:26px 20px;border-right:1px solid rgba(255,255,255,.11)}
.gala-fact-grid>div:last-child,.stay-fact-grid>div:last-child{border:0}
.gala-fact-grid small,.stay-fact-grid small{display:block;color:#92b3bd;font-size:.71rem;letter-spacing:.15em;font-weight:850;margin-bottom:10px}
.gala-fact-grid strong,.stay-fact-grid b{font-size:1.03rem;color:#fff}
.gala-feature,.stay-overview{display:grid;grid-template-columns:1.04fr .96fr;overflow:hidden;border-radius:27px;box-shadow:0 15px 48px rgba(6,29,39,.12);border:1px solid rgba(10,44,52,.1);background:#fff}
.gala-feature-image{min-height:545px;background:linear-gradient(170deg,transparent 40%,rgba(5,17,25,.65)),url('https://www.visitbergen.com/imageresizer/?action=Open_Graph_img&image=%2Fdmsimgs%2F14_21__836045513.jpg') center/cover no-repeat}
.stay-overview-photo{min-height:540px;background:linear-gradient(170deg,transparent 40%,rgba(5,17,25,.65)),url('https://www.thonhotels.no/globalassets/hoteller/norge/bergen/thon-hotel-orion/thon-hotel.orion-fasade-1.jpg?height=550&mode=crop&quality=80&width=1100') center/cover no-repeat}
.gala-feature-image,.stay-overview-photo{display:flex;align-items:flex-end;padding:27px}
.gala-feature-image span,.stay-overview-photo span{color:white;font-weight:900;font-size:.74rem;letter-spacing:.11em}
.gala-feature-copy,.stay-overview-copy{padding:clamp(26px,4.7vw,58px);display:flex;flex-direction:column;justify-content:center}
.gala-feature-copy h3,.stay-overview-copy h3{font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.04;letter-spacing:-.05em;margin:13px 0 22px}
.gala-feature-copy p,.stay-overview-copy p{color:#405860;line-height:1.73}
.gala-feature-copy>a{color:#197475;font-weight:800;margin:12px 0}
.gala-feature-copy small{color:#6a7e85}
.stay-overview-copy .hero-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:11px}
.gala-stills,.stay-room-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}
.gala-stills figure,.stay-room-photos figure{margin:0;overflow:hidden;border-radius:20px;background:#0a2631}
.gala-stills img,.stay-room-photos img{width:100%;height:290px;object-fit:cover;display:block}
.gala-stills figcaption,.stay-room-photos figcaption{font-size:.73rem;padding:12px 16px;color:#d4e5e7}
.gala-night-section,.stay-booking-section,.stay-facilities-section,.stay-arrival-section,.gala-visit-section{position:relative;isolation:isolate;color:#fff;background:#08212c}
.gala-night-section:before,.stay-booking-section:before,.stay-facilities-section:before,.stay-arrival-section:before,.gala-visit-section:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(125deg,rgba(6,24,33,.94),rgba(9,38,46,.88)),var(--random-bg,linear-gradient(120deg,#173b46,#092331));background-position:center;background-size:cover}
.gala-night-section .section-heading p,.gala-visit-section .section-heading p,.stay-booking-section .section-heading p,.stay-facilities-section .section-heading p,.stay-arrival-section .section-heading p{color:#cee1e3}
.gala-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gala-experience-grid article,.gala-practical-grid article,.stay-amenity-grid article,.stay-arrival-grid article{padding:28px;border:1px solid rgba(255,255,255,.13);border-radius:19px;background:rgba(255,255,255,.06);backdrop-filter:blur(7px)}
.gala-experience-grid article>span,.gala-practical-grid article>span,.stay-amenity-grid article>span,.stay-arrival-grid article>span{font-size:2rem;display:block;margin-bottom:14px}
.gala-experience-grid article small{color:#87d5d0;font-size:.72rem;font-weight:850;letter-spacing:.10em}
.gala-experience-grid h3,.gala-practical-grid h3,.stay-amenity-grid h3,.stay-arrival-grid h3{font-size:1.35rem;margin:10px 0 13px}
.gala-experience-grid p,.gala-practical-grid p,.stay-amenity-grid p,.stay-arrival-grid p{color:#c7d9df;line-height:1.7;font-size:.94rem}
.gala-practical-grid a,.stay-arrival-grid a{color:#91e7de;font-weight:800;text-underline-offset:3px}
.gala-video-stage{overflow:hidden;border-radius:26px;border:1px solid rgba(7,40,51,.14);box-shadow:0 18px 50px rgba(4,22,29,.13);background:#092630}
.gala-video-poster{min-height:490px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;background:linear-gradient(95deg,rgba(6,16,23,.52),rgba(6,16,23,.24)),url('https://en.visitbergen.com/imageresizer/?action=ProductDetailExtraLargeNew&image=%2Fdmsimgs%2F12_20__43173873.jpg') center/cover no-repeat}
.gala-video-play{width:102px;height:102px;border:2px solid rgba(255,255,255,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(7,30,40,.7);text-decoration:none;color:white;box-shadow:0 15px 55px rgba(0,0,0,.25);font-size:2.1rem;transition:transform .18s ease}
.gala-video-play:hover{transform:scale(1.08)}
.gala-video-overprint{position:absolute;left:clamp(20px,4vw,50px);bottom:clamp(18px,4vw,45px);color:#fff;pointer-events:none}
.gala-video-overprint small{font-weight:850;letter-spacing:.13em;color:#abd8dd}
.gala-video-overprint h3{font-size:clamp(1.7rem,4vw,3rem);line-height:1.05;margin:8px 0 10px;letter-spacing:-.045em}
.gala-video-overprint a{color:#96eee4;font-weight:800;pointer-events:auto}
.gala-video-caption{padding:15px 23px;color:#b8ced3;font-size:.84rem;margin:0}
.gala-practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gala-timing-note{color:#c4d9dd;margin:24px 0 0;font-size:.84rem}
.gala-close,.stay-close{padding-top:80px}
.stay-booking-layout{display:grid;grid-template-columns:1.13fr .87fr;gap:20px}
.stay-booking-main,.stay-booking-side{border:1px solid rgba(255,255,255,.13);border-radius:23px;background:rgba(255,255,255,.065);padding:clamp(26px,4vw,45px)}
.stay-booking-main h3{font-size:clamp(2rem,4vw,3.5rem);line-height:1.07;letter-spacing:-.045em;margin:14px 0 20px}
.stay-booking-main p,.stay-booking-side p{color:#cedde1;line-height:1.72}
.stay-booking-main .button{margin:17px 0 15px}
.stay-booking-main small{display:block;color:#acc5c9}
.stay-booking-side h3{font-size:1.3rem;margin:9px 0}
.stay-booking-side h3:not(:first-child){margin-top:28px}
.stay-booking-side a{color:#8ce2da;font-weight:800}
.stay-rooms-grid,.stay-walk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.stay-rooms-grid article,.stay-walk-grid article{border:1px solid rgba(11,48,56,.12);border-radius:19px;background:#f2f7f7;padding:26px;display:flex;flex-direction:column}
.stay-rooms-grid article span{font-size:2.3rem;color:#6aafae;font-weight:900}
.stay-rooms-grid article h3,.stay-walk-grid article h3{font-size:1.28rem;margin:9px 0}
.stay-rooms-grid article p,.stay-walk-grid article p{color:#415b64;line-height:1.66}
.stay-room-disclaimer{color:#57717a;margin-top:18px;font-size:.86rem}
.stay-breakfast-feature{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid rgba(255,255,255,.12);border-radius:26px;overflow:hidden;background:rgba(5,21,30,.68)}
.stay-breakfast-image{background:linear-gradient(170deg,transparent 40%,rgba(4,17,25,.66)),url('https://dam.thon.com/transform/36d9cc3d-71a5-494b-975b-696e3a826029/Thon_Hotel_Orion_Frokost?format=webp&io=transform%3Afill%2Cwidth%3A1100%2Cheight%3A619') center/cover no-repeat;min-height:420px;display:flex;align-items:flex-end;padding:25px}
.stay-breakfast-image span{font-size:.73rem;letter-spacing:.13em;font-weight:850}
.stay-breakfast-text{padding:clamp(25px,4vw,45px);display:flex;flex-direction:column;justify-content:center}
.stay-breakfast-text h3{font-size:clamp(1.9rem,3vw,3rem);letter-spacing:-.045em;margin:12px 0 18px}
.stay-breakfast-text p{color:#cedee2;line-height:1.75}
.stay-facility-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.stay-facility-pills span{padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.07);font-size:.78rem;font-weight:750}
.stay-amenity-grid,.stay-arrival-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:20px}
.stay-walk-grid article>b{font-size:1.16rem;color:#277d7e}
.stay-walk-grid article>span{font-size:1.9rem;margin:13px 0 3px}
.stay-walk-grid article a{margin-top:auto;color:#206f72;font-weight:800;text-underline-offset:3px}
.stay-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.stay-note-grid article{padding:29px;background:#f0f6f6;border:1px solid rgba(12,51,58,.12);border-radius:20px}
.stay-note-grid h3{font-size:1.25rem;margin:0 0 12px}
.stay-note-grid p{color:#3e5962;line-height:1.72}
@media(max-width:1080px){.gala-experience-grid,.stay-rooms-grid,.stay-walk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-amenity-grid,.stay-arrival-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.gala-feature,.stay-overview,.stay-booking-layout,.stay-breakfast-feature{grid-template-columns:1fr}.gala-feature-image,.stay-overview-photo,.stay-breakfast-image{min-height:330px}.gala-fact-grid,.stay-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gala-fact-grid>div:nth-child(2),.stay-fact-grid>div:nth-child(2){border-right:0}.gala-fact-grid>div,.stay-fact-grid>div{border-bottom:1px solid rgba(255,255,255,.10)}}
@media(max-width:620px){.gala-hero,.stay-hero{min-height:690px}.gala-experience-grid,.gala-practical-grid,.stay-rooms-grid,.stay-walk-grid,.stay-amenity-grid,.stay-arrival-grid,.stay-note-grid{grid-template-columns:1fr}.gala-stills,.stay-room-photos{grid-template-columns:1fr}.gala-stills img,.stay-room-photos img{height:240px}.gala-feature-image,.stay-overview-photo{min-height:270px}.gala-feature-copy,.stay-overview-copy{padding:25px}.gala-fact-grid>div,.stay-fact-grid>div{padding:19px 13px}.gala-fact-grid strong,.stay-fact-grid b{font-size:.88rem}.gala-video-poster{min-height:330px;justify-content:center;align-items:flex-start;padding-top:55px}.gala-video-play{width:76px;height:76px;font-size:1.6rem}.gala-video-overprint{bottom:22px}.stay-booking-main,.stay-booking-side{padding:25px}}

/* Masquerade overlays — editorial decoration, transparent WebP assets */
.gala-page .gala-mask{display:block;position:absolute;object-fit:contain;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none}
.gala-hero{isolation:isolate}
.gala-hero .gala-mask-hero{
  z-index:1;top:31%;right:-4%;width:min(41vw,590px);max-width:none;
  opacity:.92;transform:rotate(-9deg);
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.50)) drop-shadow(0 0 45px rgba(173,103,48,.20));
}
.gala-hero .hero-content{z-index:2}
.gala-hero .hero-content h1{max-width:890px;text-shadow:0 2px 26px rgba(0,0,0,.36)}
.gala-hero .hero-lede{max-width:710px}
.gala-feature-image{position:relative;isolation:isolate}
.gala-feature-image .gala-mask-feature{
  z-index:1;top:1%;right:-5%;width:min(60%,340px);
  opacity:.91;transform:rotate(12deg);
  filter:drop-shadow(0 16px 24px rgba(0,0,0,.48));
}
.gala-feature-image>span{position:relative;z-index:2;text-shadow:0 2px 16px rgba(0,0,0,.8)}
.gala-night-section{overflow:hidden;isolation:isolate}
.gala-night-section .gala-mask-night{
  z-index:0;width:min(34vw,430px);right:-4%;top:3%;opacity:.22;transform:rotate(13deg);
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.32));
}
.gala-night-section>.wrap{position:relative;z-index:1}
@media(max-width:1050px){
  .gala-hero .gala-mask-hero{width:45vw;right:-8%;top:38%;opacity:.73}
  .gala-feature-image .gala-mask-feature{width:min(53%,300px)}
}
@media(max-width:760px){
  .gala-hero .gala-mask-hero{width:76vw;right:-26%;top:auto;bottom:4%;opacity:.38;transform:rotate(-13deg)}
  .gala-hero .hero-content h1{position:relative;max-width:100%}
  .gala-feature-image .gala-mask-feature{width:min(55%,260px);right:-5%;top:3%;opacity:.85}
  .gala-night-section .gala-mask-night{width:58vw;right:-19%;top:7%;opacity:.15}
}
@media(max-width:480px){
  .gala-feature-image .gala-mask-feature{width:59%;right:-9%;opacity:.78}
  .gala-hero .gala-mask-hero{right:-27%;bottom:11%;opacity:.34}
}
@media(prefers-reduced-motion:reduce){
  .gala-page .gala-mask{transition:none!important;animation:none!important}
}


/* Site-wide identity refresh: prominent Silvensa emblem and refined header. */
.topbar{
  background:linear-gradient(108deg,rgba(8,22,30,.98),rgba(11,27,35,.95));
  border-bottom:1px solid rgba(162,213,218,.14);
  box-shadow:0 9px 30px rgba(4,12,18,.19);
}
.topbar .brand{
  display:inline-flex;align-items:center;flex-shrink:0;gap:13px;
  margin-right:0;padding:3px 9px 3px 3px;border-radius:22px;
  background:transparent;
  transition:background .2s ease;
}
.topbar .brand:hover{background:transparent}
.topbar .brand img{
  display:block;width:86px;height:80px;object-fit:contain;object-position:center;
  flex-shrink:0;mix-blend-mode:normal;
  filter:none;
}
.topbar .brand b{font-size:1.07rem;font-weight:850;letter-spacing:.01em;white-space:nowrap}
.topbar .brand small{font-size:.73rem;letter-spacing:.025em;color:#b7cbd0}
.topbar .brand:focus-visible{outline:2px solid var(--aqua-2);outline-offset:4px}
@media(min-width:921px){
  .topbar{height:auto;min-height:104px;gap:15px;padding-top:9px;padding-bottom:9px}
  .topbar .site-switcher{flex:1 1 560px;gap:6px}
}
@media(min-width:921px) and (max-width:1240px){
  .topbar .brand span{display:none}
  .topbar .site-switcher{flex-basis:540px}
}
@media(max-width:920px){
  .topbar{min-height:90px;padding-top:8px;padding-bottom:8px;row-gap:8px}
  .topbar .brand{padding:2px 5px 2px 2px}
  .topbar .brand img{width:76px;height:72px}
}
@media(max-width:660px){
  .topbar{min-height:81px;row-gap:6px}
  .topbar .brand img{width:68px;height:64px}
  .topbar .brand span{display:none}
  .topbar .brand{background:transparent}
}

/* Finalised Elegant masquerade treatment — actual cross-panel cutout. */
.gala-page .gala-feature{position:relative;isolation:isolate;overflow:hidden}
.gala-page .gala-feature-image{position:relative;z-index:1;isolation:isolate}
.gala-page .gala-feature-copy{position:relative;z-index:2}
.gala-page .gala-feature .gala-mask-across-seam{
  display:block;position:absolute;z-index:8;pointer-events:none;
  top:6%;bottom:auto;left:52%;right:auto;width:258px;height:auto;
  max-width:none;opacity:.95;transform:translateX(-50%) rotate(7deg);
  filter:drop-shadow(0 17px 22px rgba(3,12,18,.28));
}
.gala-page .gala-feature-copy{padding-top:58px}
.gala-page .gala-feature-copy>.card-kicker,
.gala-page .gala-feature-copy>h3{padding-left:105px}
.gala-page .gala-feature-copy>h3{font-size:clamp(2rem,3.1vw,3.05rem)}
.gala-page .gala-hero .gala-mask-hero{width:min(35vw,505px);right:-3%;top:32%}
.gala-page .gala-night-section .gala-mask-night{
  width:min(27vw,340px);right:-6%;top:5%;opacity:.13
}
@media(max-width:1050px){
  .gala-page .gala-hero .gala-mask-hero{width:39vw;right:-7%}
}
@media(max-width:850px){
  .gala-page .gala-feature .gala-mask-across-seam{
    top:245px;bottom:auto;left:62%;width:min(48vw,250px);
    transform:translateX(-50%) rotate(8deg)
  }
  .gala-page .gala-feature-copy{padding:145px 26px 34px;justify-content:flex-start}
  .gala-page .gala-feature-copy>.card-kicker,
  .gala-page .gala-feature-copy>h3{padding-left:0}
}
@media(max-width:760px){
  .gala-page .gala-hero .gala-mask-hero{
    width:64vw;right:-22%;top:auto;bottom:9%;opacity:.37
  }
}
@media(max-width:620px){
  .gala-page .gala-feature .gala-mask-across-seam{
    top:218px;left:63%;width:min(51vw,235px)
  }
  .gala-page .gala-feature-copy{padding:130px 24px 30px}
}
@media(max-width:480px){
  .gala-page .gala-hero .gala-mask-hero{width:58vw;right:-25%;bottom:10%;opacity:.32}
}
@media(max-width:420px){
  .gala-page .gala-feature .gala-mask-across-seam{top:218px;left:59%;width:48vw}
}

/* Quiet grey footer wordmarks: no mismatched/failed bitmap logos. */
.footer-partners{flex-wrap:wrap;gap:16px}
.footer-partner.mensa-partner,
.footer-partner.visitbergen-partner{
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:204px;
  padding:15px 21px;
  gap:6px;
}
.footer-partner span.footer-partner-name{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:0;
  color:#abb9be;
  line-height:1;
  white-space:nowrap;
}
.footer-partner .mensa-wordmark{font-family:Arial,Helvetica,sans-serif;font-size:1.38rem;letter-spacing:-.045em}
.footer-partner .mensa-wordmark b{font-weight:900}
.footer-partner .mensa-wordmark em{font-style:normal;font-weight:350;letter-spacing:.01em;margin-left:.26em}
.footer-partner .visit-wordmark{font-family:Arial,Helvetica,sans-serif;font-size:1.56rem;letter-spacing:-.065em;font-weight:400}
.footer-partner .visit-wordmark b{font-weight:850}
.footer-partner .footer-partner-caption{
  display:block;
  color:#738992;
  font-size:.62rem;
  letter-spacing:.14em;
  font-weight:850;
}
.footer-partner.mensa-partner:hover .footer-partner-name,
.footer-partner.visitbergen-partner:hover .footer-partner-name{color:#dce5e7}
@media(max-width:660px){
 .footer-partner.mensa-partner,.footer-partner.visitbergen-partner{min-width:0}
}

/* Galleri Nygaten: native direct-file venue film, responsive like our embeds */
.gala-video-stage .gala-video-frame{width:100%;background:#06151e;line-height:0}
.gala-video-stage .gala-video-frame video{
 display:block;width:100%;height:auto;aspect-ratio:16/9;
 object-fit:contain;max-height:min(72vh,710px);background:#06151e
}
.gala-video-stage .gala-video-caption{
 display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
 gap:10px 20px;padding:16px 22px
}
.gala-video-stage .gala-video-caption span{
 color:#c5d9de;font-size:.73rem;letter-spacing:.11em;font-weight:850
}
.gala-video-stage .gala-video-caption a{
 color:#a1e9e1;text-decoration:none;font-size:.84rem;font-weight:750
}
.gala-video-stage .gala-video-caption a:hover{text-decoration:underline}


/* Footer brand row: original-color, background-free logo art; heritage right.
   The verified Bergen destination mark keeps its source pixel colors.
   Mensa remains text until its exact official bitmap/vector asset is available. */
.footer-partners{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:18px;
  padding:17px 22px;
  margin-top:26px;
  margin-bottom:12px;
  background:#e5ebeb;
  border:1px solid #d4dfe0;
  border-radius:20px;
  color:#34404c;
}
.footer-partners .footer-partner-primary{
  display:flex;
  align-items:center;
  gap:20px;
  flex:0 1 auto;
  min-width:0;
}
.footer-partners .footer-partner{
  min-height:80px;
  min-width:0;
  padding:10px 13px;
  border:1px solid transparent;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  text-decoration:none;
  color:#34404c;
  background:transparent;
}
.footer-partners .footer-partner:hover{
  background:rgba(33,54,63,.065);
  border-color:rgba(33,54,63,.08);
}
.footer-partners .footer-partner .footer-name-fallback{
  display:block;
  color:#34404c;
  font-size:1.5rem;
  letter-spacing:-.055em;
  font-weight:800;
  line-height:1.1;
}
.footer-partners .footer-partner .footer-logo-cutout{
  display:block;
  width:202px;
  height:55px;
  max-width:100%;
  max-height:none;
  object-fit:contain;
  object-position:left center;
  mix-blend-mode:normal;
  filter:none;
}
.footer-partners .footer-partner .footer-partner-caption{
  display:block;
  color:#65767e;
  font-size:.60rem;
  letter-spacing:.09em;
  font-weight:800;
  line-height:1.35;
}
.footer-partners .heritage-partner{
  flex:0 0 auto;
  margin-left:auto;
  align-items:flex-end;
  text-align:right;
  border-left:1px solid #bac6c9;
  border-radius:0;
  padding-left:25px;
}
.footer-partners .heritage-text{
  display:flex;
  flex-direction:column;
  gap:4px;
  color:#34404c;
}
.footer-partners .heritage-text small{
  font-size:.66rem;
  color:#65767e;
  font-weight:850;
  letter-spacing:.12em;
}
.footer-partners .heritage-text strong{
  color:#34404c;
  font-size:.98rem;
  font-weight:850;
}
@media(max-width:880px){
  .footer-partners{flex-wrap:wrap}
  .footer-partners .footer-partner-primary{
    flex:1 1 100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
  }
  .footer-partners .heritage-partner{
    margin-left:auto;
    border-left:0;
    border-top:1px solid #c0cbcd;
    padding:12px 13px 5px;
    align-items:flex-end;
    width:100%;
  }
}
@media(max-width:660px){
  .footer-partners{display:flex;flex-direction:column;align-items:stretch;padding:13px;gap:2px}
  .footer-partners .footer-partner-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .footer-partners .footer-partner{width:100%;padding:10px 8px;min-height:75px}
  .footer-partners .footer-partner .footer-logo-cutout{width:100%;max-width:175px;height:45px}
  .footer-partners .footer-partner .footer-name-fallback{font-size:1.23rem}
  .footer-partners .footer-partner .footer-partner-caption{font-size:.53rem}
  .footer-partners .heritage-partner{width:100%;margin-left:0;padding:12px 8px 5px}
}


/* Mobile navigation tap/visibility fix — Oct 2026
   All seven site links remain visible; no hidden horizontal swipe.
   Non-sticky phone/tablet header avoids covering in-page link targets. */
@media (max-width:920px){
  .topbar{
    position:relative;
    top:auto;
    z-index:60;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:10px;
    row-gap:10px;
    width:100%;
    min-height:0;
    height:auto;
    padding:9px clamp(12px,2.2vw,20px) 12px;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .topbar .brand{
    grid-column:1;
    grid-row:1;
    justify-self:start;
    margin:0;
    min-width:0;
    position:relative;
    z-index:2;
    touch-action:manipulation;
  }
  .topbar > .button{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    margin:0;
    position:relative;
    z-index:2;
    touch-action:manipulation;
  }
  .topbar .site-switcher{
    grid-column:1/-1;
    grid-row:2;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
    gap:5px;
    order:unset;
    width:100%;
    min-width:0;
    margin:0;
    padding:0;
    overflow:visible;
    scroll-snap-type:none;
    -webkit-overflow-scrolling:auto;
  }
  .topbar .site-tab{
    flex:none;
    position:relative;
    z-index:2;
    min-width:0;
    min-height:44px;
    padding:8px 5px;
    font-size:clamp(.68rem,1.45vw,.80rem);
    line-height:1.18;
    white-space:normal;
    overflow-wrap:normal;
    text-align:center;
    scroll-snap-align:none;
    touch-action:manipulation;
    pointer-events:auto;
    -webkit-tap-highlight-color:rgba(85,223,211,.22);
  }
}
@media (max-width:660px){
  .topbar{row-gap:8px;padding:8px 12px 12px}
  .topbar .site-switcher{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .topbar .site-tab{min-height:44px;padding:8px 5px;font-size:.76rem}
}
@media (max-width:360px){
  .topbar .site-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}
  .topbar .site-tab{font-size:.78rem}
}
/* Decorative surfaces must never intercept touchscreen taps on actual links. */
.hero-bg,
.hero-overlay,
.adventure-feature-image::after,
.weather-section::before{pointer-events:none}
a[href],button{touch-action:manipulation}


/* iOS tap interception fix: closed floating quick-nav's invisible panel
   previously occupied almost the entire phone width over card links. */
.quick-nav{pointer-events:none}
.quick-nav .quick-nav-toggle{pointer-events:auto}
.quick-nav.open .quick-nav-panel{pointer-events:auto}

/* Keep every guide tab fully contained within its touch target. */
@media (max-width:920px){
  .topbar .site-tab{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
    overflow:hidden;
    isolation:isolate;
  }
}
@media (min-width:361px) and (max-width:800px){
  .topbar .site-switcher{grid-template-columns:repeat(4,minmax(0,1fr))}
  
}
@media (max-width:360px){
  .topbar .site-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}
  
}


/* Silvensa's hotel: authentic Thon Hotels wordmark from the official Thon
   press image bank (thon.no/om/presse/). Original SVG colors, no filter.
   Keep the three linked organizations together and World Heritage separate. */
.footer-partners .footer-partner-primary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(7px,1.1vw,15px);
  flex:1 1 auto;
  min-width:0;
}
.footer-partners .footer-partner-primary > .footer-partner{
  min-width:0;
  width:100%;
  padding:10px 9px;
}
.footer-partners .thon-partner .footer-logo-cutout{
  display:block;
  width:180px;
  height:55px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
  mix-blend-mode:normal;
  filter:none;
}
.footer-partners .thon-partner .footer-partner-caption{
  color:#536a73;
}
@media(max-width:660px){
  .footer-partners .footer-partner-primary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .footer-partners .thon-partner{
    grid-column:1/-1;
    align-items:center;
    text-align:center;
    border-top:1px solid #d3dddd;
    padding-top:14px;
  }
  .footer-partners .thon-partner .footer-logo-cutout{
    width:min(195px,100%);
    max-width:195px;
    height:56px;
    object-position:center;
  }
}

 
/* GUIDE2: Event guest manual and practical Bergen pages */
.guest-page{background:#f3f0e9}
.guide-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(113deg,rgba(5,19,26,.97),rgba(9,46,55,.93)),url('assets/images/bergen/bergen-hero.jpg') center 45%/cover no-repeat;color:#fff}
.guide-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 12%,rgba(85,223,211,.14),transparent 52%);pointer-events:none}
.guide-hero-inner{position:relative;padding:95px 0 85px}
.guide-hero h1{font-size:clamp(2.8rem,6.2vw,5.6rem);max-width:940px;line-height:1.02;letter-spacing:-.058em}
.guide-hero h1 span{color:#bcebe5}
.guide-hero-inner>p{max-width:760px;font-size:clamp(1.05rem,1.8vw,1.25rem);color:#d7e6e7}
.guide-hero-actions,.guide-end-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.guide-jumpbar{position:relative;margin-top:18px;display:flex;gap:8px;flex-wrap:wrap;padding:16px 0 4px}
.guide-jumpbar a{background:#e1eeee;color:#1b5960;white-space:nowrap;font-size:.8rem;font-weight:800;padding:9px 12px;text-decoration:none;border-radius:999px;border:1px solid #c6d8d8}
.guide-jumpbar a:hover,.guide-jumpbar a:focus-visible{background:#cef1eb;text-decoration:underline}
.guest-page section[id]{scroll-margin-top:28px}
.guest-page .section-heading{margin-bottom:27px}
.guest-page .section-heading>p{align-self:end}
.guide-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.guide-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border:1px solid #d9e2e0;border-radius:17px;padding:25px;background:white;box-shadow:0 6px 18px rgba(7,19,27,.04)}
.guide-card-icon{font-size:1.8rem;line-height:1}
.guide-card h3{font-size:1.32rem;line-height:1.15;margin:18px 0 7px;letter-spacing:-.025em}
.guide-card p{line-height:1.63;color:#4e656c;margin:0 0 18px;flex:1}
.guide-card a{margin-top:auto;font-size:.87rem;color:#116d68;font-weight:850;text-decoration:none}
.guide-card a:hover{text-decoration:underline}
.guide-notice{background:#e6f3f1;border:1px solid #bedbd6;border-radius:16px;padding:22px 25px;margin-top:22px;color:#264951}
.guide-notice strong{font-size:1rem}
.guide-notice p{line-height:1.63;color:#3e646a;margin:7px 0 0}
.guide-tone{background:linear-gradient(125deg,#071d27,#0e3641);color:white}
.guide-tone .section-heading>p{color:#c8dde0}
.guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.guide-steps article{padding:27px 23px;border-radius:18px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column}
.guide-steps article>b{font-size:2.2rem;line-height:1;color:#81e4d9}
.guide-steps h3{font-size:1.28rem;margin:20px 0 9px;line-height:1.18}
.guide-steps p{color:#c5dbe0;line-height:1.65;flex:1;font-size:.94rem}
.guide-steps a,.guide-panel-dark a{margin-top:auto;color:#9cf0e7;font-weight:800;text-decoration:none}
.guide-steps a:hover,.guide-panel-dark a:hover{text-decoration:underline}
.guide-small-note{font-size:.83rem;color:#a9c4cb;line-height:1.5;margin:19px 0 0}
.guide-soft{background:#e8f0ee}
.guide-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.guide-panel{background:white;padding:31px;border-radius:19px;border:1px solid #d4e2e0;min-width:0}
.guide-panel h3{font-size:1.55rem;margin:0 0 16px;line-height:1.12;letter-spacing:-.03em}
.guide-panel p,.guide-panel li{color:#486069;line-height:1.72}
.guide-panel li+li{margin-top:5px}
.guide-panel ul{padding-left:22px;margin:12px 0 18px}
.guide-panel a{color:#147773;font-weight:800;text-decoration:none}
.guide-panel a:hover{text-decoration:underline}
.guide-panel-dark{background:rgba(255,255,255,.065);color:white;border-color:rgba(255,255,255,.14)}
.guide-panel-dark h3{color:#fff}
.guide-panel-dark p,.guide-panel-dark li{color:#d1e2e5}
.guide-panel-dark a{color:#9cf0e7}
.guide-checklist{list-style:none;padding:0!important}
.guide-checklist li{margin:0;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.11)}
.guide-checklist li label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.guide-checklist li input{width:18px;height:18px;flex:0 0 18px;accent-color:#55dfd3;margin-top:4px}
.guide-night-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.guide-night-grid>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px}
.guide-night-grid strong{font-size:1.15rem;color:#e6f8f4}
.guide-night-grid p{color:#c9dbe0;line-height:1.67}
.guide-search{display:flex;align-items:center;flex-wrap:wrap;gap:9px 15px;margin-bottom:19px}
.guide-search label{font-weight:850;color:#294953}
.guide-search input{width:min(530px,100%);flex:1 1 280px;min-height:46px;padding:12px 16px;border:1px solid #a9c6c7;border-radius:12px;background:#fff;color:#18333c;font:inherit}
.guide-search input:focus-visible{outline:3px solid rgba(85,223,211,.40);outline-offset:1px}
#guide-faq-count{font-size:.78rem;color:#526e77}
.guide-faq-list{display:grid;gap:9px}
.guide-faq{background:#fff;border:1px solid #d4e0de;border-radius:14px;overflow:hidden}
.guide-faq[hidden]{display:none}
.guide-faq summary{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;font-weight:850;color:#17363e;line-height:1.35;list-style:none;touch-action:manipulation}
.guide-faq summary::-webkit-details-marker{display:none}
.guide-faq summary span{color:#168378;font-size:1.35rem;line-height:1;transition:transform .1s}
.guide-faq[open] summary span{transform:rotate(45deg)}
.guide-faq>div{padding:0 20px 18px;color:#47616a;line-height:1.68}
.guide-faq>div p{margin:0}
.guide-faq a{color:#13746d;font-weight:800}
.guide-empty{padding:16px;border:1px dashed #b5cbcb;border-radius:12px;color:#42636b}
.guide-phrase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.guide-phrase-grid article{background:#fff;padding:22px;border:1px solid #d4dfde;border-radius:15px;display:flex;flex-direction:column;gap:8px;min-width:0}
.guide-phrase-grid strong{font-size:1.35rem;color:#153641}
.guide-phrase-grid span{color:#207971;font-weight:800}
.guide-phrase-grid small{color:#577078;line-height:1.5}
.pocket-hero .guide-hero-inner{padding:58px 0}
.pocket-sheet{padding-top:54px}
.pocket-sheet h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:18px 0;letter-spacing:-.04em}
.pocket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pocket-grid article{border:1px solid #d0dedc;padding:22px;border-radius:14px;background:#fff;min-width:0}
.pocket-grid article h3{font-size:1.16rem;margin:0 0 12px}
.pocket-grid article p{line-height:1.55;color:#50666d;margin:0 0 11px}
.pocket-grid article a{color:#146f6d;font-weight:800}
.pocket-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #b7c5c5;margin-top:35px;padding-top:12px;color:#64777c;font-size:.77rem}
.guide-page-search-results{display:grid;gap:8px}
@media(max-width:1100px){
 .guide-cards,.guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .guide-phrase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 .guide-hero-inner{padding:64px 0 55px}
 .guide-hero h1{font-size:clamp(2.8rem,9vw,4.6rem)}
 .guide-cards,.guide-steps,.guide-duo,.guide-night-grid{grid-template-columns:1fr}
 .guide-phrase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pocket-grid{grid-template-columns:1fr}
 .guide-panel,.guide-card{padding:22px}
 .guide-steps article{padding:22px}
 .guide-jumpbar{gap:6px}
 .guide-jumpbar a{font-size:.72rem;padding:8px 10px}
 .pocket-bottom{flex-direction:column}
 .guest-page .section{padding:60px 0}
}
@media(max-width:400px){.guide-phrase-grid{grid-template-columns:1fr}}
@media print{
 @page{size:A4;margin:13mm}
 html,body{color:#161616;background:white!important}
 .offline-page .topbar,.offline-page footer,.offline-page .pocket-hero .guide-hero-actions,.offline-page .quick-nav,.offline-page .skip-link{display:none!important}
 .offline-page .pocket-hero{background:white!important;color:#161616!important}
 .offline-page .pocket-hero:before{display:none}
 .offline-page .pocket-hero .guide-hero-inner{padding:0 0 12px}
 .offline-page .pocket-hero h1{font-size:28pt;line-height:1.12;margin:8px 0;color:#111}
 .offline-page .pocket-hero h1 span{color:#333}
 .offline-page .pocket-hero p{color:#444;font-size:10pt}
 .offline-page .eyebrow{color:#444}
 .offline-page .pocket-sheet{width:100%;padding:0}
 .offline-page .pocket-sheet h2{font-size:17pt;margin:12px 0 8px}
 .offline-page .pocket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .offline-page .pocket-grid article{border:1px solid #999;padding:11px;border-radius:6px;background:white!important;break-inside:avoid}
 .offline-page .pocket-grid article h3{font-size:11pt;margin:0 0 4px}
 .offline-page .pocket-grid article p{font-size:8.6pt;margin:0 0 5px}
 .offline-page .pocket-grid article a{font-size:8.5pt;color:#111;text-decoration:underline}
 .offline-page .pocket-bottom{font-size:8pt;margin-top:12px}
}

/* Guide2 navigation: eight always-visible destinations, with shorter phone label. */
.topbar .tab-label-short{display:none}
.topbar .tab-label-long{display:inline}
@media(max-width:920px){
 .topbar .site-switcher{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .topbar .site-tab{min-height:44px;overflow-wrap:anywhere;font-size:clamp(.73rem,1.65vw,.83rem);padding:8px 4px}
 .topbar .tab-label-long{display:none}
 .topbar .tab-label-short{display:inline}
}
@media(max-width:660px){
 .topbar .site-tab{font-size:.75rem}
}
@media(max-width:360px){
 .topbar .site-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}
 .topbar .site-tab{font-size:.77rem}
}
.guide-home-callout{padding:28px 0;background:#e6f3f1;border-top:1px solid #c2dfd9;border-bottom:1px solid #c2dfd9}
.guide-home-inner{display:grid;grid-template-columns:1.25fr auto;gap:24px;align-items:center}
.guide-home-inner h2{font-size:clamp(1.6rem,3vw,2.25rem);letter-spacing:-.04em;line-height:1.13;margin:4px 0 8px}
.guide-home-inner p{max-width:680px;color:#4a6369;margin:0;line-height:1.6}
.guide-home-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.guide-home-actions .button{white-space:nowrap}
@media(max-width:820px){.guide-home-inner{grid-template-columns:1fr}.guide-home-actions{justify-content:flex-start}}

/* Guide2 search also offers direct links to matching pages/sections. */
.guide-search-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:2px 0 20px;
}
.guide-search-links[hidden]{display:none}
.guide-search-link{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:12px 15px;
  background:#e5f2ef;
  border:1px solid #c4dbd7;
  border-radius:12px;
  color:#145b59;
  font-size:.91rem;
  font-weight:800;
  text-decoration:none;
  touch-action:manipulation;
}
.guide-search-link:hover,.guide-search-link:focus-visible{
  border-color:#60b0a6;
  background:#d3ede7;
  outline-offset:2px;
}
@media(max-width:700px){.guide-search-links{grid-template-columns:1fr}}


/* Official uploaded Mensa Norge white cutout displayed inverted on the light
   partner footer. Image alpha is preserved, and no dark logo tile is needed. */
.footer-partners .footer-partner-primary > .footer-partner.mensa-partner {
  width:100%;
  min-width:0;
  min-height:98px;
  padding:10px 9px;
  border:1px solid transparent;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  background:transparent;
  color:#34404c;
}
.footer-partners .footer-partner-primary > .footer-partner.mensa-partner:hover,
.footer-partners .footer-partner-primary > .footer-partner.mensa-partner:focus-visible {
  background:rgba(33,54,63,.065);
  border-color:rgba(33,54,63,.08);
}
.footer-partners .mensa-partner .mensa-logo-cutout {
  display:block;
  width:min(100%,178px);
  height:75px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
  mix-blend-mode:normal;
  filter:invert(1);
}
.footer-partners .mensa-partner .footer-partner-caption {
  color:#65767e;
  text-align:left;
  font-size:.60rem;
  letter-spacing:.09em;
  font-weight:800;
}
@media(max-width:660px){
  .footer-partners .mensa-partner .mensa-logo-cutout{
    width:min(100%,160px);
    height:65px;
  }
  .footer-partners .footer-partner-primary > .footer-partner.mensa-partner {
    min-height:90px;
    padding:8px 6px;
  }
  .footer-partners .mensa-partner .footer-partner-caption{font-size:.53rem}
}


/* Guide2 footer alignment: balanced logo lockups and predictable spacing.
   Keep the approved white Mensa source, inverted to dark on the pale strip. */
.footer-partners{
  gap:clamp(14px,2vw,28px);
  align-items:center;
}
.footer-partners .footer-partner-primary{
  display:grid;
  width:min(100%,646px);
  flex:0 1 646px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.footer-partners .footer-partner-primary > .footer-partner,
.footer-partners .footer-partner-primary > .footer-partner.mensa-partner{
  width:100%;
  min-width:0;
  min-height:133px;
  padding:12px 8px;
  align-items:center;
  justify-content:flex-end;
  text-align:center;
  gap:7px;
  background:transparent;
}
.footer-partners .footer-partner-primary .footer-partner .footer-partner-caption{
  display:block;
  width:100%;
  min-height:26px;
  line-height:1.3;
  font-size:.57rem;
  letter-spacing:.07em;
  color:#65767e;
  text-align:center;
}
.footer-partners .footer-partner-primary .mensa-partner img.mensa-logo-cutout{
  display:block;
  flex:0 1 auto;
  width:198px;
  max-width:100%;
  height:86px;
  max-height:none;
  object-fit:contain;
  object-position:center;
  filter:invert(1);
}
.footer-partners .footer-partner-primary .visitbergen-partner img.footer-logo-cutout,
.footer-partners .footer-partner-primary .thon-partner img.footer-logo-cutout{
  display:block;
  flex:0 1 auto;
  width:176px;
  max-width:100%;
  height:86px;
  max-height:none;
  object-fit:contain;
  object-position:center;
  filter:none;
}
.footer-partners .heritage-partner{
  flex:0 0 auto;
  margin-left:auto;
}
@media(max-width:980px){
  .footer-partners{flex-wrap:wrap;gap:12px}
  .footer-partners .footer-partner-primary{
    width:100%;
    flex:1 1 100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .footer-partners .heritage-partner{
    width:100%;
    border-left:0;
    border-top:1px solid #c0cbcd;
    padding:12px 8px 4px;
    align-items:flex-end;
    text-align:right;
  }
}
@media(max-width:660px){
  .footer-partners{
    flex-direction:column;
    align-items:stretch;
    padding:14px;
    gap:9px;
  }
  .footer-partners .footer-partner-primary{
    display:grid;
    flex:0 0 auto;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 10px;
  }
  .footer-partners .footer-partner-primary > .footer-partner,
  .footer-partners .footer-partner-primary > .footer-partner.mensa-partner{
    min-height:116px;
    padding:9px 5px;
    gap:5px;
  }
  .footer-partners .footer-partner-primary .mensa-partner img.mensa-logo-cutout{
    width:165px;
    height:72px;
    max-width:100%;
  }
  .footer-partners .footer-partner-primary .visitbergen-partner img.footer-logo-cutout,
  .footer-partners .footer-partner-primary .thon-partner img.footer-logo-cutout{
    width:156px;
    height:72px;
    max-width:100%;
  }
  .footer-partners .footer-partner-primary > .thon-partner{
    grid-column:1/-1;
    justify-self:center;
    width:min(205px,100%);
    border-top:0;
    padding-top:9px;
  }
  .footer-partners .footer-partner-primary .footer-partner .footer-partner-caption{
    min-height:24px;
    font-size:.51rem;
    letter-spacing:.055em;
  }
  .footer-partners .heritage-partner{
    margin:0;
    width:100%;
    padding:11px 5px 2px;
  }
}


/* Silvensa Companion — editorial start page and consistent guide wayfinding. */
.companion-page{background:#f3f0e9}
.companion-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:white;
  background:linear-gradient(108deg,rgba(4,18,27,.97) 0%,rgba(7,30,42,.91) 53%,rgba(8,32,41,.73) 100%),url('assets/images/bergen/bergen-hero.jpg') center/cover no-repeat;
}
.companion-hero:before{
  position:absolute;inset:0;content:"";
  background:radial-gradient(ellipse at 84% 10%,rgba(85,223,211,.16),transparent 50%);
  pointer-events:none;
}
.companion-hero-inner{position:relative;padding:clamp(68px,8vw,116px) 0 clamp(55px,7vw,85px)}
.companion-hero h1{font-size:clamp(3.1rem,6.7vw,6.4rem);line-height:.99;letter-spacing:-.063em;max-width:950px}
.companion-hero h1 span{color:#a4ece4}
.companion-hero .hero-lede{max-width:770px;line-height:1.55;color:#dcebee}
.companion-hero-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:38px}
.companion-hero-chips span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 13px;color:#dce8ea;font-weight:750;font-size:.78rem}
.companion-explain{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,6vw,95px);align-items:start}
.companion-explain h2,.companion-roadmap h2,.companion-steps h2{font-size:clamp(2.25rem,4.3vw,4rem);line-height:1.06;letter-spacing:-.045em;margin:8px 0 20px}
.companion-explain p{font-size:1.06rem;line-height:1.74;color:#455c65}
.companion-side-note{background:#e0efec;padding:29px;border:1px solid #c6deda;border-radius:19px}
.companion-side-note h3{font-size:1.3rem;margin:0 0 12px}
.companion-side-note p{margin:0 0 16px;font-size:.98rem}
.companion-side-note a{color:#12675f;font-weight:850}
.companion-roadmap{background:#e8f1ef}
.companion-roadmap-header{display:flex;align-items:end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:28px}
.companion-roadmap-header p{max-width:480px;color:#526a70}
.companion-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.companion-route{
  position:relative;display:flex;flex-direction:column;gap:9px;min-width:0;
  background:#fff;border:1px solid #d2e1df;border-radius:18px;padding:25px;
  text-decoration:none;box-shadow:0 7px 21px rgba(6,20,27,.045);transition:.18s ease;
}
.companion-route:hover,.companion-route:focus-visible{border-color:#5db9ad;transform:translateY(-2px);box-shadow:0 12px 27px rgba(6,20,27,.08)}
.companion-route .route-icon{font-size:1.9rem}
.companion-route strong{font-size:1.35rem;line-height:1.16;color:#102a34;letter-spacing:-.026em}
.companion-route .route-desc{flex:1;color:#4d656e;font-size:.95rem;line-height:1.59}
.companion-route .route-action{font-size:.83rem;color:#126f67;font-weight:850;margin-top:8px}
.companion-route-first{background:linear-gradient(145deg,#d5f4ee,#f4fbf7)}
.companion-steps{background:linear-gradient(115deg,#0a2530,#10414b);color:#fff}
.companion-steps .section-heading p{color:#c5dfe0}
.companion-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.companion-step-grid article{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:17px;padding:25px}
.companion-step-grid span{font-size:2rem;font-weight:900;color:#85eadf}
.companion-step-grid h3{font-size:1.25rem;color:#fff;margin:13px 0 8px}
.companion-step-grid p{color:#c2d9dc;line-height:1.66}
.companion-step-grid a{color:#a3ede6;font-weight:850}
.companion-latest{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;background:#fff;border:1px solid #d7e3e1;border-radius:19px;padding:27px}
.companion-latest h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 6px;letter-spacing:-.04em}
.companion-latest p{color:#51656c;margin:0;line-height:1.65}
.companion-latest-actions{display:flex;gap:10px;flex-wrap:wrap}
.companion-latest .button{white-space:nowrap}
.companion-context{background:#e4eeeb;border-bottom:1px solid #c7ddda}
.companion-context-inner{padding:10px 0;display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.companion-context a{color:#126b64;font-size:.78rem;font-weight:850;text-decoration:none}
.companion-context a:hover{text-decoration:underline}
.companion-context .context-chevron{color:#809798}
.companion-context span.context-label{font-size:.78rem;color:#446269;font-weight:720}
.companion-related{padding-top:42px;padding-bottom:60px;border-top:1px solid #d5e3e0}
.companion-related h2{margin:8px 0 18px;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.04em}
.companion-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.companion-related-grid a{display:flex;flex-direction:column;gap:8px;border:1px solid #d3e0dd;border-radius:14px;background:#fff;padding:19px;text-decoration:none;min-height:104px}
.companion-related-grid a:hover{background:#e4f3ef;border-color:#6abeb5}
.companion-related-grid strong{color:#1a484d;font-size:1rem}
.companion-related-grid small{color:#516970;line-height:1.5;font-size:.79rem}
@media(max-width:980px){
 .companion-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .companion-explain{grid-template-columns:1fr}
}
@media(max-width:700px){
 .companion-hero-inner{padding:64px 0 55px}
 .companion-explain{gap:18px}
 .companion-route-grid,.companion-step-grid,.companion-related-grid{grid-template-columns:1fr}
 .companion-hero-chips span{font-size:.72rem}
 .companion-latest{grid-template-columns:1fr}
 .companion-side-note,.companion-route{padding:22px}
 .companion-related{padding-top:31px;padding-bottom:39px}
}
/* Nine tabs; 3×3 on tablets/phones, with no clipped or hidden horizontal scrolling. */
@media(min-width:1151px){
 .topbar{gap:12px;padding-left:clamp(12px,2vw,32px);padding-right:clamp(12px,2vw,32px)}
 .topbar .brand{min-width:190px;gap:8px}
 .topbar .brand b{font-size:.87rem}
 .topbar .brand small{font-size:.72rem}
 .topbar .site-switcher{gap:5px;margin-right:0}
 .topbar .site-tab{font-size:clamp(.62rem,.78vw,.77rem);padding:8px clamp(5px,.65vw,11px);white-space:nowrap}
 .topbar>.button{font-size:.78rem;padding:9px 11px}
}
@media(max-width:1150px){
 .topbar{
   position:relative;top:auto;z-index:60;isolation:isolate;
   display:grid;grid-template-columns:minmax(0,1fr) auto;
   align-items:center;column-gap:10px;row-gap:10px;
   height:auto;min-height:0;padding:10px clamp(12px,2vw,21px) 12px;
   -webkit-backdrop-filter:none;backdrop-filter:none;
 }
 .topbar .brand{grid-column:1;grid-row:1;justify-self:start;margin:0;min-width:0}
 .topbar>.button{grid-column:2;grid-row:1;justify-self:end;margin:0}
 .topbar .site-switcher{
   grid-column:1/-1;grid-row:2;
   display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;
   width:100%;min-width:0;margin:0;padding:0;overflow:visible;scroll-snap-type:none;
 }
 .topbar .site-tab{position:relative;min-width:0;min-height:44px;padding:9px 7px;text-align:center;white-space:normal;font-size:.8rem;touch-action:manipulation}
 .topbar .tab-label-long{display:none}
 .topbar .tab-label-short{display:inline}
}
@media(max-width:660px){
 .topbar .site-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}
 .topbar .site-tab{padding:8px 4px;font-size:.74rem}
}
@media(max-width:360px){
 .topbar .site-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}
 .topbar .site-tab{font-size:.71rem}
}
@media print{
 .companion-context,.companion-related{display:none!important}
}


/* Companion homepage: direct, accessible topic search into existing guides. */
.companion-search-section{background:#e6f0ed;border-bottom:1px solid #cbded9;padding:30px 0 34px}
.companion-search-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:start;gap:clamp(22px,4vw,62px)}
.companion-search-wrap h2{font-size:clamp(1.55rem,2.6vw,2.25rem);letter-spacing:-.035em;line-height:1.16;margin:4px 0 10px}
.companion-search-wrap p{color:#4d676c;line-height:1.55;font-size:.94rem;margin:0}
.companion-search-widget{min-width:0}
.companion-search-widget label{display:block;margin:0 0 7px;font-weight:850;font-size:.85rem;color:#214a50}
.companion-search-widget input{display:block;box-sizing:border-box;width:100%;min-height:50px;padding:12px 14px;background:#fff;border-radius:12px;border:1px solid #a8c7c3;font:inherit;font-size:1rem;color:#19383e}
.companion-search-widget input:focus-visible{outline:3px solid rgba(40,170,155,.36);outline-offset:2px}
.companion-search-status{font-size:.77rem!important;line-height:1.5!important;min-height:20px;margin:8px 0 0!important}
.companion-topic-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}
.companion-topic-results[hidden]{display:none}
.companion-topic-result{display:flex;align-items:center;min-height:44px;padding:10px 12px;text-decoration:none;border:1px solid #bedbd4;border-radius:10px;background:#fff;color:#136960;font-weight:800;font-size:.82rem;touch-action:manipulation}
.companion-topic-result:hover,.companion-topic-result:focus-visible{background:#d5efe9;border-color:#70b8ad}
@media(max-width:800px){.companion-search-wrap{grid-template-columns:1fr;gap:16px}}
@media(max-width:480px){.companion-topic-results{grid-template-columns:1fr}}


/* Guide3: align anchored headings instead of leaving a large empty strip.
   The desktop header is sticky; section padding supplies the remaining offset. */
body section[id]{scroll-margin-top:22px}
@media(max-width:1150px){body section[id]{scroll-margin-top:8px}}

/* Compact live Bergen weather glance, shared via script.js across all pages. */
.bergen-weather-glance{background:#112d39;border-bottom:1px solid rgba(136,219,211,.24);color:#eaf5f3;position:relative;z-index:2}
.bergen-glance-inner{max-width:1340px;margin:0 auto;padding:9px clamp(14px,2.2vw,32px);display:flex;align-items:center;gap:clamp(12px,2.4vw,26px)}
.glance-summary{min-width:0;display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none}
.glance-summary:hover .glance-more{text-decoration:underline}
.glance-weather-icon{font-size:1.35rem;line-height:1}
.glance-place{font-size:.64rem;letter-spacing:.11em;font-weight:900;color:#9ecbc8;white-space:nowrap}
.glance-temp{font-size:1.18rem;line-height:1;font-weight:850;font-variant-numeric:tabular-nums}
.glance-condition{font-size:.77rem;color:#d1e8e6;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.glance-more{font-size:.72rem;font-weight:850;color:#8be6d8;white-space:nowrap}
.glance-kit{margin-left:auto;display:flex;align-items:center;gap:clamp(7px,1.5vw,20px);min-width:0}
.glance-kit-item{display:flex;align-items:center;gap:7px;font-size:1.18rem;white-space:nowrap}
.glance-kit-item>span:last-child{display:flex;flex-direction:column;gap:1px;font-size:.69rem;line-height:1.26}
.glance-kit-item b{color:#e7f1f1;font-weight:800}
.glance-kit-item small{color:#a5d7d2;font-size:.66rem}
.glance-credit{color:#aac7ca;font-size:.62rem;white-space:nowrap}
@media(max-width:1090px){
  .bergen-glance-inner{flex-wrap:wrap;gap:9px 16px}
  .glance-summary{flex:1 1 100%}
  .glance-kit{margin-left:0;flex:1}
  .glance-credit{margin-left:auto}
}
@media(max-width:550px){
  .bergen-glance-inner{padding:9px 12px;gap:9px 8px}
  .glance-weather-icon{font-size:1.15rem}
  .glance-place{display:none}
  .glance-condition{font-size:.7rem;max-width:30vw}
  .glance-more{margin-left:auto}
  .glance-kit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:100%;flex:1 1 100%;margin:0}
  .glance-kit-item{min-width:0;justify-content:center;gap:5px;font-size:1rem;padding:5px 2px;border:1px solid rgba(255,255,255,.09);border-radius:8px}
  .glance-kit-item>span:last-child{font-size:.62rem}
  .glance-kit-item small{font-size:.61rem;white-space:normal}
  .glance-credit{display:none}
}

/* Bergen is now an overview with dedicated food/nightlife and practical guides. */
.bergen-hub{padding-top:45px!important;padding-bottom:45px!important}
.bergen-hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.bergen-hub-grid a{min-width:0;min-height:180px;display:flex;flex-direction:column;gap:9px;text-decoration:none;color:#203e48;background:#fff;border:1px solid #ccddda;border-radius:16px;padding:19px}
.bergen-hub-grid a:hover,.bergen-hub-grid a:focus-visible{background:#e6f4ef;border-color:#7ecfc1}
.bergen-hub-grid a>span{font-size:1.7rem;line-height:1}
.bergen-hub-grid strong{font-size:1.06rem;line-height:1.25}
.bergen-hub-grid small{color:#526d73;font-size:.8rem;line-height:1.45;flex:1}
.bergen-hub-grid b{color:#087768;font-size:.78rem}
.bergen-subguide{background:#f3f0e9}
.bergen-subhero{padding:clamp(42px,6vw,86px) 0;background:linear-gradient(125deg,#092531,#174452);color:#fff}
.bergen-subhero .eyebrow{color:#85ded6;font-size:.72rem;font-weight:900;letter-spacing:.14em}
.bergen-subhero h1{font-size:clamp(2.4rem,5.2vw,4.8rem);line-height:1.07;letter-spacing:-.05em;margin:18px 0 15px}
.bergen-subhero h1 span{color:#acece4}
.bergen-subhero p{max-width:810px;color:#d5e7e7;line-height:1.65;font-size:1.03rem}
.bergen-subhero .button{margin-top:12px}
.bergen-subnav{display:flex;flex-wrap:wrap;gap:8px;padding-top:19px;padding-bottom:12px}
.bergen-subnav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #cddbd8;border-radius:999px;padding:10px 17px;background:#fff;color:#135f61;font-weight:800;font-size:.82rem;text-decoration:none}
.bergen-subnav a:hover,.bergen-subnav a:focus-visible{background:#d8f2ed;border-color:#72c2b8}
@media(max-width:1050px){.bergen-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bergen-hub-grid{grid-template-columns:1fr}.bergen-hub-grid a{min-height:135px}.bergen-subnav a{flex:1 1 42%}}

/* Start Here booking-first hierarchy and the organiser-negotiated Orion offer.
   Keep rates visibly indicative; the Thon booking link is authoritative. */
.companion-page .companion-steps{padding-top:clamp(42px,6vw,75px);padding-bottom:clamp(42px,6vw,70px)}
.companion-steps .section-heading{margin-bottom:25px}
.companion-step-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.companion-step-grid article p{flex:1}
.companion-step-grid article>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:14px;padding:11px 17px;border-radius:999px;background:#9aeee3;color:#0b3339;font-weight:850;font-size:.84rem;text-decoration:none;line-height:1.28}
.companion-step-grid article>a:hover,.companion-step-grid article>a:focus-visible{background:#fff;outline-offset:3px}
.companion-step-grid .companion-step-register{border-color:rgba(141,239,218,.5);background:rgba(90,216,202,.12)}
.companion-step-grid .companion-step-hotel{border-color:rgba(243,200,106,.5);background:rgba(243,200,106,.10)}
.companion-step-price{display:flex;align-items:center;gap:12px;margin:0 0 6px;padding:12px 0;color:#fff}
.companion-step-price>strong{font-size:clamp(2.1rem,4vw,3.1rem);letter-spacing:-.07em;line-height:1;color:#f3d38e}
.companion-step-price>span{display:flex;flex-direction:column;gap:5px;line-height:1.3;font-size:.78rem;font-weight:850}
.companion-step-price small{font-size:.71rem;font-weight:500;color:#cee0dd}
.companion-step-disclaimer{margin:19px 0 0;color:#bdd2d3;line-height:1.55;font-size:.73rem;max-width:880px}
.silvensa-hotel-deal{border:1px solid rgba(243,200,106,.4);background:linear-gradient(135deg,rgba(243,200,106,.16),rgba(85,223,211,.055));border-radius:21px;padding:clamp(23px,3vw,34px);margin-bottom:23px}
.silvensa-hotel-deal-intro h3{font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.16;letter-spacing:-.04em;margin:9px 0}
.silvensa-hotel-deal-intro p{color:#e0e9e7;margin:0 0 17px;line-height:1.58;max-width:760px}
.silvensa-hotel-deal-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.silvensa-hotel-deal-prices>div{display:flex;flex-direction:column;gap:6px;padding:17px 14px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(4,25,33,.32)}
.silvensa-hotel-deal-prices strong{color:#f4db9c;font-size:clamp(2rem,4vw,3rem);line-height:1;font-weight:900;letter-spacing:-.06em}
.silvensa-hotel-deal-prices span{font-size:.8rem;line-height:1.35;color:#e6eeed}
.silvensa-hotel-deal-prices .silvensa-hotel-deal-best{border-color:rgba(85,223,211,.52);background:rgba(85,223,211,.11)}
.silvensa-hotel-deal-prices .silvensa-hotel-deal-best strong{color:#9cf1e4}
.silvensa-hotel-deal-note{max-width:930px;color:#c4d9dc;font-size:.76rem;line-height:1.55;margin:15px 0 17px}
@media(max-width:700px){
 .companion-step-grid article{padding:23px}
 .silvensa-hotel-deal-prices{grid-template-columns:1fr}
 .silvensa-hotel-deal-prices>div{padding:13px 15px}
 .silvensa-hotel-deal-prices strong{font-size:2.2rem}
 .companion-step-price{flex-wrap:wrap}
}

/* Guide2: evidence-based rate context. Not a like-for-like discount or a current quote. */
.companion-deal-proof{border-top:1px solid rgba(243,200,106,.28);margin:7px 0 2px;padding:12px 0 2px;color:#d5e6e6;font-size:.78rem;line-height:1.5}
.companion-deal-proof strong{display:block;color:#f5d594;font-size:.83rem;margin-bottom:4px}
.companion-step-grid .companion-deal-proof a{color:#b5f5eb;display:inline;text-decoration:underline;text-underline-offset:3px}
.stay-price-comparison{padding:clamp(23px,3vw,35px);margin-bottom:24px;border-radius:22px;background:rgba(5,24,33,.72);border:1px solid rgba(161,220,217,.26);scroll-margin-top:20px}
.stay-price-comparison-heading h3{font-size:clamp(1.65rem,3.5vw,2.55rem);line-height:1.14;letter-spacing:-.044em;margin:11px 0}
.stay-price-comparison-heading p{color:#d1e4e5;line-height:1.63;max-width:930px;margin:0 0 22px}
.stay-price-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.stay-price-comparison-grid article{min-width:0;border-radius:15px;padding:20px 17px;display:flex;align-items:flex-start;flex-direction:column;gap:7px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.055)}
.stay-price-comparison-grid .stay-price-comparison-event{border-color:rgba(243,200,106,.5);background:rgba(243,200,106,.11)}
.stay-price-comparison-grid h4{font-size:1.03rem;line-height:1.25;margin:5px 0 0;color:#fff}
.stay-comparison-number{font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.1;letter-spacing:-.064em;color:#d5f9f2;font-variant-numeric:tabular-nums}
.stay-price-comparison-event .stay-comparison-number{color:#f5dc9a}
.stay-comparison-unit{font-size:.81rem;font-weight:750;line-height:1.45;color:#e0eeee}
.stay-price-comparison-grid small{font-size:.73rem;line-height:1.48;color:#b7d0d4;margin-top:auto}
.stay-price-comparison-grid small a{color:#b0f0e5}
.stay-price-comparison-takeaway{color:#f4e8c9;font-size:1rem;line-height:1.55;margin:19px 0 9px}
.stay-price-comparison-fineprint{font-size:.72rem;color:#b4cacf;line-height:1.57;max-width:960px;margin:0 0 20px}
.stay-price-comparison>.button{min-height:44px}
@media(max-width:760px){.stay-price-comparison-grid{grid-template-columns:1fr}.stay-price-comparison-grid article{padding:17px}.stay-comparison-number{font-size:2.55rem}}

/* NOK ⇄ EUR guest price translator; Frankfurter/ECB daily published reference. */
.silvensa-fx{
  margin:25px 0;
  padding:clamp(21px,3.2vw,33px);
  border-radius:19px;
  border:1px solid rgba(112,213,206,.38);
  background:linear-gradient(125deg,#0c2935,#16404b);
  color:#f1f8f7;
  box-shadow:0 10px 28px rgba(7,19,27,.09);
  scroll-margin-top:18px;
}
.silvensa-fx-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}
.silvensa-fx-heading .card-kicker{color:#a2eae0;letter-spacing:.11em;font-size:.72rem}
.silvensa-fx-heading h3{margin:9px 0;font-size:clamp(1.5rem,3.3vw,2.2rem);line-height:1.16;letter-spacing:-.045em;color:#fff}
.silvensa-fx-heading p{max-width:660px;margin:0;color:#d1e4e5;line-height:1.58;font-size:.91rem}
.silvensa-fx-symbol{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:46px;padding:7px 13px;border:1px solid rgba(146,230,221,.26);border-radius:11px;background:rgba(255,255,255,.05);font-size:1.14rem;font-weight:850;color:#a1efe1}
.silvensa-fx-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:end;max-width:850px}
.silvensa-fx-field{display:flex;flex-direction:column;gap:9px;min-width:0}
.silvensa-fx-field>span{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:.78rem;font-weight:730;color:#d2e6e6}
.silvensa-fx-field b{font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#8bede0}
.silvensa-fx-field input{
  box-sizing:border-box;width:100%;min-width:0;min-height:54px;padding:12px 15px;
  border:1px solid rgba(174,229,221,.36);border-radius:11px;
  background:#f3faf9;color:#0b3037;font-size:1.35rem;line-height:1.15;font-weight:820;
  font-variant-numeric:tabular-nums;letter-spacing:-.025em;
}
.silvensa-fx-field input:focus-visible{outline:3px solid #9cf4e4;outline-offset:2px}
.silvensa-fx-arrow{padding-bottom:13px;color:#afe9e1;font-size:1.55rem;line-height:1}
.silvensa-fx-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:16px 0 12px}
.silvensa-fx-shortcuts>span{color:#c1dcdf;font-size:.74rem;font-weight:730;margin-right:5px}
.silvensa-fx-shortcuts button{
  min-height:40px;border:1px solid rgba(191,240,231,.32);border-radius:999px;
  padding:8px 12px;background:rgba(255,255,255,.07);color:#eaf6f5;
  font:inherit;font-size:.75rem;font-weight:820;cursor:pointer;
}
.silvensa-fx-shortcuts button:hover,.silvensa-fx-shortcuts button:focus-visible{background:rgba(155,242,223,.19);border-color:#a2f1e4}
.silvensa-fx-status{margin:12px 0 7px;color:#aff3e3;font-size:.81rem;line-height:1.5;font-weight:800;font-variant-numeric:tabular-nums}
.silvensa-fx-footnote{margin:0!important;max-width:970px;color:#c1d4d9;font-size:.72rem;line-height:1.58}
.silvensa-fx-footnote a{color:#afeee6;text-underline-offset:2px}
@media(max-width:630px){
 .silvensa-fx{padding:20px 15px}
 .silvensa-fx-heading{gap:11px}
 .silvensa-fx-symbol{font-size:.94rem;min-height:40px;padding:7px}
 .silvensa-fx-fields{gap:7px}
 .silvensa-fx-field>span{font-size:.7rem}
 .silvensa-fx-field input{font-size:1.16rem;min-height:49px;padding:10px 9px}
 .silvensa-fx-arrow{font-size:1.05rem;padding-bottom:13px}
 .silvensa-fx-shortcuts button{font-size:.71rem;padding:8px 10px}
}

/* Small NOK → EUR glance alongside Bergen weather. Currency rate is shared
   with the three full converters; this is not another API request. */
.glance-fx{
  display:flex;align-items:center;gap:5px;flex:0 0 auto;max-width:100%;
  border:1px solid rgba(137,222,212,.30);border-radius:10px;
  background:rgba(181,242,229,.075);padding:4px 7px;color:#effbf8;
}
.glance-fx-input-wrap{display:flex;align-items:center;gap:5px;min-width:0}
.glance-fx-input-wrap span{font-size:.65rem;font-weight:850;letter-spacing:.04em;color:#bceee6}
.glance-fx-input-wrap input{
  box-sizing:border-box;width:59px;min-width:0;min-height:36px;
  padding:6px 7px;border:1px solid rgba(164,227,216,.55);border-radius:7px;
  background:#eaf7f5;color:#13363c;font-size:.83rem;font-weight:850;
  font-variant-numeric:tabular-nums;text-align:right;
}
.glance-fx-input-wrap input:focus-visible,.glance-fx-full:focus-visible{
  outline:3px solid #8cfae7;outline-offset:2px;
}
.glance-fx-arrow{font-size:.78rem;font-weight:850;color:#9be8dc}
.glance-fx-result{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:59px;white-space:nowrap}
.glance-fx-result output{font-size:.87rem;line-height:1.1;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}
.glance-fx-result small{font-size:.57rem;color:#a1d8d4;line-height:1.22;white-space:nowrap}
.glance-fx-full{display:grid;place-items:center;min-width:25px;min-height:36px;border-radius:6px;color:#a3f0e5;text-decoration:none;font-size:1rem;font-weight:800}
.glance-fx-full:hover{background:rgba(162,240,225,.15);color:#fff}
@media(max-width:1090px){.glance-credit{display:none}}
/* 320–660px: weather and currency share row 1; umbrella, boots and jacket
   share row 2. No horizontal scrolling or hidden essential controls. */
@media(max-width:660px){
  .bergen-glance-inner{
    display:grid;grid-template-columns:minmax(0,1fr) max-content;
    grid-template-areas:"weather fx" "kit kit";
    align-items:center;column-gap:7px;row-gap:5px;
    padding:7px 10px 8px;
  }
  .glance-summary{
    grid-area:weather;display:flex;align-items:center;gap:6px;
    min-width:0;width:auto;flex:none;overflow:hidden;
  }
  .glance-summary .glance-place,.glance-summary .glance-condition,.glance-summary .glance-more{display:none}
  .glance-summary .glance-weather-icon{font-size:1.27rem}
  .glance-summary .glance-temp{font-size:1.1rem}
  .glance-kit{
    grid-area:kit;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;min-width:0;gap:5px;margin:0;flex:none;
  }
  .glance-kit-item{min-width:0;justify-content:center;gap:6px;padding:5px 2px;border:1px solid rgba(255,255,255,.09);border-radius:8px}
  .glance-fx{grid-area:fx;padding:3px 5px;gap:4px}
  .glance-fx-input-wrap{gap:4px}
  .glance-fx-input-wrap span{font-size:.59rem}
  .glance-fx-input-wrap input{width:51px;min-height:37px;padding:7px 4px;font-size:.77rem}
  .glance-fx-result{min-width:49px}
  .glance-fx-result output{font-size:.79rem}
  .glance-fx-result small{font-size:.51rem}
  .glance-fx-full{min-width:22px;min-height:37px;font-size:.9rem}
}

/* Compact mobile navigation · October 2026
   Four priority tabs stay visible, and five remaining tabs live behind the
   native, keyboard-friendly More disclosure. Desktop retains all nine tabs. */
.mobile-nav-more{display:none}
@media(min-width:661px) and (max-width:1150px){
  .topbar .site-switcher{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .topbar .site-tab{min-height:44px;padding:8px 5px}
}
@media(max-width:660px){
  .topbar{
    position:relative;z-index:100;overflow:visible;
    grid-template-columns:minmax(0,1fr) auto auto;
    column-gap:8px;row-gap:8px;
    padding:7px 11px 9px;
  }
  .topbar .brand{
    grid-column:1;grid-row:1;
    display:flex;align-items:center;min-height:44px;min-width:0;
    margin:0;justify-self:start;
  }
  .topbar .brand img{width:70px;height:48px;object-fit:contain;object-position:left center}
  .topbar .brand span{display:none}
  .topbar>.button{
    grid-column:3;grid-row:1;
    min-height:44px;align-self:center;justify-self:end;
    padding:9px 14px;border-radius:12px;
    font-size:.82rem;font-weight:850;white-space:nowrap;
  }
  .topbar .site-switcher{
    grid-column:1/-1;grid-row:2;
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px;min-width:0;width:100%;margin:0;
    border:0;background:transparent;box-shadow:none;
    padding:0;overflow:visible;scroll-snap-type:none;
  }
  .topbar .site-switcher .site-tab{
    min-width:0;min-height:44px;padding:6px 2px;
    display:flex;align-items:center;justify-content:center;
    border-radius:10px;border:1px solid rgba(165,205,210,.2);
    background:rgba(255,255,255,.045);box-shadow:none;
    text-align:center;white-space:normal;overflow-wrap:normal;
    font-size:clamp(.64rem,2.85vw,.75rem);
    line-height:1.2;letter-spacing:-.015em;font-weight:750;
  }
  .topbar .site-switcher .site-tab.is-active,
  .topbar .site-switcher .site-tab[aria-current="page"]{
    color:#062e34!important;background:#55dfd3;border-color:#55dfd3;
    box-shadow:none;
  }
  .topbar .site-switcher .site-tab:nth-of-type(n+5){display:none}
  .topbar .site-switcher .site-tab.is-section{
    border-color:rgba(114,230,210,.55);
    color:#b3eee4;
  }
  .mobile-nav-more{
    grid-column:2;grid-row:1;
    display:block;min-width:0;align-self:center;
  }
  .mobile-nav-more>summary{
    box-sizing:border-box;list-style:none;cursor:pointer;
    min-height:44px;display:flex;align-items:center;justify-content:center;
    gap:4px;padding:8px 10px;border:1px solid rgba(151,204,204,.26);
    border-radius:11px;color:#e4f6f4;background:rgba(255,255,255,.045);
    font-size:.75rem;font-weight:800;white-space:nowrap;
  }
  .mobile-nav-more>summary::-webkit-details-marker{display:none}
  .mobile-nav-more>summary::marker{content:""}
  .mobile-nav-more>summary span{transition:transform .16s ease;color:#93e4db}
  .mobile-nav-more[open]>summary span{transform:rotate(180deg)}
  .mobile-nav-more>summary:focus-visible{outline:3px solid #93e4db;outline-offset:3px}
  .mobile-nav-panel{
    position:absolute;top:100%;left:9px;right:9px;z-index:200;
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
    padding:12px;border:1px solid rgba(139,219,208,.35);
    border-radius:0 0 16px 16px;background:#0a2430;
    box-shadow:0 18px 38px rgba(0,0,0,.35);
  }
  .mobile-nav-panel .mobile-extra-link{
    display:flex;align-items:center;justify-content:center;min-height:44px;
    border:1px solid rgba(175,215,213,.19);border-radius:10px;
    padding:8px 5px;text-align:center;font-size:.8rem;font-weight:800;
    line-height:1.25;color:#e5f2f1;text-decoration:none;
    background:rgba(255,255,255,.045);
  }
  .mobile-nav-panel .mobile-extra-link:last-child:nth-child(odd){grid-column:1/-1}
  .mobile-nav-panel .mobile-extra-link.is-active,
  .mobile-nav-panel .mobile-extra-link[aria-current="page"]{
    color:#073137;background:#55dfd3;border-color:#55dfd3;
  }
  .mobile-nav-panel .mobile-extra-link:focus-visible{outline:3px solid #9ceadd;outline-offset:2px}
  /* Mobile weather row follows the mock: quiet currency input, not a second card. */
  .bergen-glance-inner{padding:6px 11px 8px;column-gap:8px;row-gap:6px}
  .glance-summary .glance-weather-icon{font-size:1.23rem}
  .glance-summary .glance-temp{font-size:1.13rem}
  .glance-fx{border:0;border-radius:0;background:transparent;padding:0;gap:4px}
  .glance-fx-input-wrap{gap:4px}
  .glance-fx-input-wrap input{
    min-height:43px;width:48px;padding:7px 4px;
    font-size:.8rem;color:#f5fbfa;background:rgba(255,255,255,.075);
    border-color:rgba(175,232,227,.32);box-shadow:none;
  }
  .glance-fx-result{min-width:49px;gap:2px}
  .glance-fx-result output{font-size:.83rem}
  .glance-fx-result small{font-size:.55rem;color:#b0d8d6}
  .glance-fx-full{min-width:25px;min-height:43px;font-size:.91rem}
  .glance-kit{gap:5px}
  .glance-kit-item{border-color:rgba(255,255,255,.065);background:rgba(255,255,255,.025);padding:5px 2px;gap:5px}
  .glance-kit-item>span:first-child{font-size:1.05rem}
  .glance-kit-item>span:last-child{font-size:.63rem}
  .glance-kit-item small{font-size:.57rem}
  .companion-page .companion-hero-inner{padding-top:40px;padding-bottom:42px}
  .companion-page .companion-hero h1{font-size:clamp(2.65rem,10.8vw,3.6rem);line-height:1.035;letter-spacing:-.05em}
  .companion-page .companion-hero .hero-lede{font-size:.99rem;line-height:1.58}
}
@media(max-width:360px){
  .topbar{column-gap:5px;padding-inline:8px}
  .topbar .brand img{width:62px;height:45px}
  .topbar .site-switcher .site-tab{font-size:.62rem}
  .mobile-nav-more>summary{padding-inline:7px;font-size:.69rem}
  .topbar>.button{padding-inline:10px;font-size:.75rem}
  .glance-fx-input-wrap span{font-size:.55rem}
  .glance-fx-result output{font-size:.77rem}
  .glance-fx-result small{font-size:.5rem}
  .glance-fx-arrow{font-size:.68rem}
}
@media print{
  .mobile-nav-more{display:none!important}
}

/* Start Here mobile focus (real iPhone Safari screenshot 8 Oct 2026).
   Registration remains prominent; avoid three oversized stacked CTAs. */
.companion-hero .companion-hero-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;color:#a8ece4;font-size:.92rem;font-weight:850;
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(168,236,228,.55);
}
.companion-hero .companion-hero-secondary:hover,
.companion-hero .companion-hero-secondary:focus-visible{
  color:#fff;text-decoration-color:#fff;
}
@media(max-width:660px){
  .companion-page .companion-hero-inner{
    padding:24px 0 28px;
  }
  .companion-page .companion-hero .eyebrow{
    letter-spacing:.10em;font-size:.64rem;line-height:1.5;
  }
  .companion-page .companion-hero h1{
    font-size:clamp(2.5rem,10vw,3.25rem);
    line-height:1.03;letter-spacing:-.057em;
    margin:13px 0 12px;
  }
  .companion-page .companion-hero .hero-lede{
    max-width:34rem;margin:0 0 16px;
    font-size:.95rem;line-height:1.5;
  }
  .companion-page .companion-hero .hero-actions{
    display:flex;align-items:center;flex-wrap:wrap;
    column-gap:20px;row-gap:8px;
  }
  .companion-page .companion-hero .hero-actions .button-primary{
    min-height:44px;border-radius:11px;
    padding:10px 18px;font-size:.9rem;
    box-shadow:0 5px 14px rgba(85,223,211,.14);
  }
  .companion-page .companion-hero .companion-hero-secondary{
    font-size:.83rem;min-height:44px;
  }
  .companion-page .companion-hero-chips{display:none}
  /* The weather advice already has a label and meaning; lose the extra boxes. */
  .bergen-glance-inner{row-gap:3px;padding-bottom:6px}
  .glance-kit-item{
    border:0;border-radius:0;background:transparent;
    padding:2px 0 0;min-height:32px;
  }
  .glance-kit-item>span:first-child{font-size:1rem}
  .glance-kit-item>span:last-child{gap:1px}
}
@media(max-width:360px){
  .companion-page .companion-hero-inner{padding-top:20px;padding-bottom:25px}
  .companion-page .companion-hero h1{font-size:clamp(2.22rem,10.3vw,2.6rem)}
  .companion-page .companion-hero .hero-actions{column-gap:15px}
}

/* Mobile trio + separated weather/FX utility · 2026-10-08
   Responds to real iPhone feedback: one nav row, one weather row, FX below.
   Desktop keeps the complete nine-tab navigation; all page routes still exist. */
.mobile-start-link{display:none}
@media(max-width:660px){
  /* No second nav row and no large brand: these are the ONLY three mobile actions. */
  .topbar{
    position:relative;z-index:100;overflow:visible;
    display:grid;grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-rows:auto;
    gap:6px;padding:8px 10px;
    min-height:0;height:auto;
  }
  .topbar .brand{display:none!important}
  .topbar .site-switcher{display:none!important}
  .topbar .mobile-start-link{
    display:flex;grid-column:1;grid-row:1;
    align-items:center;justify-content:center;
    box-sizing:border-box;min-width:0;min-height:44px;
    padding:8px 12px;border-radius:10px;
    border:1px solid rgba(172,214,211,.23);
    background:rgba(255,255,255,.06);
    color:#eaf4f3;text-decoration:none;
    font-size:.8rem;font-weight:850;line-height:1.15;
    white-space:nowrap;
  }
  .topbar .mobile-start-link.is-active,
  .topbar .mobile-start-link[aria-current="page"]{
    border-color:#55dfd3;background:#55dfd3;color:#063135;
  }
  .topbar .mobile-start-link:focus-visible{
    outline:3px solid #9aede3;outline-offset:2px;
  }
  .topbar .mobile-nav-more{grid-column:2;grid-row:1;display:block;align-self:stretch}
  .topbar .mobile-nav-more>summary{
    min-height:44px;height:100%;padding:8px 11px;border-radius:10px;
    font-size:.79rem;box-sizing:border-box;
  }
  .topbar .mobile-nav-more.is-current>summary{
    border-color:rgba(85,223,211,.7);
    background:rgba(85,223,211,.12);
    color:#b4f1e8;
  }
  .topbar>.button{
    grid-column:3;grid-row:1;
    align-self:stretch;justify-self:stretch;
    min-height:44px;margin:0;padding:9px 14px;
    border-radius:10px;font-size:.82rem;font-weight:850;
  }
  .topbar .mobile-nav-panel{
    top:100%;left:10px;right:10px;
    grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
    padding:10px;max-height:min(75dvh,560px);overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-nav-panel .mobile-extra-link.is-section{
    color:#b4efe6;border-color:rgba(85,223,211,.6);
  }

  /* The complete weather report occupies one row; no FX mixed in. */
  .bergen-glance-inner{
    display:grid;
    grid-template-columns:minmax(62px,auto) minmax(0,1fr);
    grid-template-areas:"weather kit" "fx fx";
    align-items:center;justify-content:stretch;
    column-gap:8px;row-gap:4px;
    padding:6px 11px 7px;
    min-width:0;
  }
  .glance-summary{
    grid-area:weather;display:flex;align-items:center;
    gap:5px;min-width:0;overflow:visible;white-space:nowrap;
  }
  .glance-summary .glance-weather-icon{font-size:1.12rem}
  .glance-summary .glance-temp{font-size:1.06rem}
  .glance-summary .glance-place,
  .glance-summary .glance-condition,
  .glance-summary .glance-more{display:none}
  .glance-kit{
    grid-area:kit;display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;min-width:0;margin:0;gap:3px;
    justify-content:stretch;
  }
  .glance-kit-item{
    min-width:0;display:flex;align-items:center;justify-content:center;
    gap:3px;white-space:nowrap;
    margin:0;padding:3px 0;
    min-height:30px;border:0;border-radius:0;background:transparent;
  }
  .glance-kit-item>span:first-child{
    flex:none;font-size:1rem;line-height:1;
  }
  .glance-kit-item>span:last-child{min-width:0;display:flex;flex-direction:column}
  /* Names remain available to screen readers; show weather recommendations
     directly to keep the complete weather report on a single visible line. */
  .glance-kit-item b{
    position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);
    width:1px;height:1px;overflow:hidden;white-space:nowrap;
  }
  .glance-kit-item small{
    display:block;min-width:0;font-size:clamp(.52rem,2.5vw,.62rem);
    line-height:1.15;white-space:nowrap;overflow:visible;
    color:#c2e6e0;
  }

  /* FX has its own quiet second row, with a clear dividing line. */
  .glance-fx{
    grid-area:fx;box-sizing:border-box;
    display:flex;align-items:center;justify-content:center;
    width:100%;max-width:none;min-width:0;
    border:0;border-top:1px solid rgba(169,224,221,.17);
    border-radius:0;background:transparent;
    padding:6px 0 0;margin:0;gap:8px;
  }
  .glance-fx-input-wrap{gap:6px}
  .glance-fx-input-wrap span{font-size:.64rem}
  .glance-fx-input-wrap input{
    width:76px;min-height:39px;padding:7px 9px;
    border-radius:8px;font-size:.88rem;
  }
  .glance-fx-arrow{font-size:.84rem}
  .glance-fx-result{min-width:68px;gap:1px}
  .glance-fx-result output{font-size:.92rem}
  .glance-fx-result small{font-size:.62rem}
  .glance-fx-full{min-width:44px;min-height:39px;font-size:1rem}
  .glance-credit{display:none}
}
@media(max-width:360px){
  .topbar{gap:5px;padding-inline:8px}
  .topbar .mobile-start-link{padding:7px 8px;font-size:.74rem}
  .topbar .mobile-nav-more>summary{padding:7px 8px;font-size:.73rem}
  .topbar>.button{padding:8px 10px;font-size:.75rem}
  .bergen-glance-inner{grid-template-columns:minmax(56px,auto) minmax(0,1fr);column-gap:5px;padding-inline:7px}
  .glance-kit-item{gap:2px}
  .glance-kit-item>span:first-child{font-size:.85rem}
  .glance-kit-item small{font-size:.5rem;letter-spacing:-.01em}
  .glance-fx{gap:6px}
}

/* Tools-only FX · restore weather-only header · 8 October 2026
   Currency widget is intentionally absent from every shared header.
   Keep weather and clothing guidance on ONE row at every screen size. */
@media(min-width:661px) and (max-width:1090px){
  .bergen-glance-inner{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;min-width:0}
  .glance-summary{flex:0 1 auto;min-width:0}
  .glance-kit{display:flex;flex:0 0 auto;margin-left:auto;gap:clamp(8px,2vw,20px)}
  .glance-kit-item{min-width:0}
  .glance-condition{max-width:18vw}
}
@media(max-width:660px){
  .bergen-glance-inner{
    display:grid;
    grid-template-columns:minmax(59px,auto) minmax(0,1fr);
    grid-template-areas:"weather kit";
    column-gap:9px;row-gap:0;
    padding:7px 11px;
  }
  .glance-summary{grid-area:weather;min-width:0}
  .glance-kit{grid-area:kit;gap:4px;min-width:0}
  .glance-kit-item{min-width:0;gap:3px}
  .glance-kit-item small{white-space:nowrap}
}

/* One home for the currency tool; legacy page anchors keep a small link. */
.tools-page{background:#f3f0e9}
.tools-hero{background:linear-gradient(120deg,#092733,#174a53);color:#fff}
.tools-hero .wrap{max-width:1180px}
.tools-hero h1 span{font-size:.78em;line-height:1.12}
.tools-main{padding-top:clamp(32px,5vw,64px);padding-bottom:clamp(20px,4vw,44px)}
.tools-main .silvensa-fx{margin:22px 0 0}
.tools-extras{padding-top:20px;padding-bottom:clamp(35px,5vw,75px)}
.tools-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tools-resource-grid a{
  min-width:0;min-height:128px;
  display:flex;flex-direction:column;gap:9px;padding:21px;
  border:1px solid #c7dbd6;border-radius:14px;
  background:#fff;color:#173c46;text-decoration:none;
}
.tools-resource-grid a:hover,.tools-resource-grid a:focus-visible{
  background:#e6f3ef;border-color:#65b7ab
}
.tools-resource-grid a>span{font-size:1.55rem}
.tools-resource-grid strong{font-size:1.02rem}
.tools-resource-grid small{font-size:.8rem;line-height:1.4;color:#577078}
.tools-moved{
  display:flex;align-items:center;gap:15px;
  margin:16px 0 22px;padding:14px 18px;
  background:rgba(17,68,77,.055);border:1px solid #c7dbd6;
  border-radius:13px;color:#173e49;
}
.tools-moved>span{font-size:1.55rem;color:#168477}
.tools-moved>div{min-width:0;flex:1}
.tools-moved strong{font-size:.87rem}
.tools-moved p{margin:4px 0 0;font-size:.76rem;line-height:1.45;color:#516b71}
.tools-moved a{color:#076f68;font-size:.8rem;font-weight:900;white-space:nowrap}
@media(max-width:700px){
  .tools-resource-grid{grid-template-columns:1fr}
  .tools-resource-grid a{min-height:96px}
  .tools-moved{align-items:flex-start;flex-wrap:wrap;gap:8px;padding:13px}
  .tools-moved a{flex-basis:100%;padding:6px 0 2px;white-space:normal}
  .tools-hero h1{font-size:clamp(2.1rem,9vw,3rem)}
  .tools-main{padding-top:32px}
}

/* Restore traditional mommy-letter explanation above booking/action cards.
   Keep it succinct on phones while retaining the factual sidebar. */
.companion-page #about{padding-top:clamp(30px,5vw,68px);padding-bottom:clamp(30px,5vw,68px)}
.companion-page #about .companion-explain p{font-size:1rem;line-height:1.62}
@media(max-width:700px){
  .companion-page #about{padding-top:28px;padding-bottom:30px}
  .companion-page #about .companion-explain{gap:16px}
  .companion-page #about h2{font-size:clamp(1.95rem,8vw,2.6rem);margin:6px 0 13px}
  .companion-page #about .companion-explain p{font-size:.92rem;line-height:1.58;margin:9px 0}
  .companion-page #about .companion-side-note{padding:17px}
  .companion-page #about .companion-side-note h3{font-size:1.05rem;margin-bottom:8px}
  .companion-page #about .companion-side-note p{font-size:.84rem;line-height:1.5}
}
/* Ten nav destinations now include Tools. Preserve tap targets / avoid overflow. */
@media(min-width:1151px) and (max-width:1400px){
  .topbar{gap:8px}
  .topbar .brand{min-width:150px}
  .topbar .site-switcher{gap:3px}
  .topbar .site-tab{font-size:clamp(.59rem,.68vw,.73rem);padding:7px 5px;min-height:40px}
  .topbar>.button{padding:8px 10px}
}

/* Section-aware secondary navigation. One narrow, horizontally scrollable row
   directly beneath main navigation; links match the CURRENT guide, not all guides.
   Intentionally static HTML so old #anchors do not jump after JavaScript loads. */
.guide-subnav{
  position:relative;z-index:8;box-sizing:border-box;
  background:#11303c;color:#e5f5f2;
  border-bottom:1px solid rgba(151,210,206,.20);
}
.guide-subnav-inner{
  max-width:1340px;margin-inline:auto;min-width:0;
  display:flex;align-items:center;gap:14px;
  padding:5px clamp(12px,2.2vw,32px);
}
.guide-subnav-label{
  flex:none;white-space:nowrap;
  color:#91d5cb;font-size:.63rem;font-weight:900;
  letter-spacing:.095em;line-height:1.15;
}
.guide-subnav-links{
  flex:1 1 0;min-width:0;
  display:flex;align-items:center;gap:7px;
  overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  scrollbar-width:thin;scrollbar-color:rgba(131,214,205,.28) transparent;
  scroll-snap-type:x proximity;
}
.guide-subnav-links a{
  box-sizing:border-box;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:8px 13px;
  color:#e7f3f2;font-size:.75rem;font-weight:800;
  line-height:1.2;text-decoration:none;white-space:nowrap;
  border-radius:8px;border:1px solid transparent;
  scroll-snap-align:start;
}
.guide-subnav-links a:hover{
  color:#fff;background:rgba(145,230,217,.105);
  border-color:rgba(145,230,217,.20);
}
.guide-subnav-links a:focus-visible{
  outline:2px solid #9aeee2;outline-offset:-3px;
}
@media(max-width:660px){
  .guide-subnav-inner{padding:3px 9px;gap:0}
  .guide-subnav-label{display:none}
  .guide-subnav-links{gap:5px}
  .guide-subnav-links a{
    min-height:44px;
    padding:8px 12px;font-size:.73rem;
    border-color:rgba(143,207,203,.14);
    background:rgba(255,255,255,.035);
  }
}
@media print{
  .guide-subnav{display:none}
}
/* Food and practical city subguides stay discoverable inside mobile More. */
.mobile-nav-panel .mobile-extra-link.is-subguide{
  border-color:rgba(138,221,208,.27);
  background:rgba(65,144,134,.15);
  color:#beefe7;
}
.mobile-nav-panel .mobile-extra-link.is-subguide.is-active{
  color:#072f35;
  border-color:#55dfd3;
  background:#55dfd3;
}

/* Secondary navigation refinements · 8 Oct 2026.
   The primary nav is made of buttons. This contextual strip is deliberately
   only a text trail: category › current subcategory · related anchors. */
.guide-subnav-inner{
  box-sizing:border-box;
  width:min(1180px,calc(100% - 40px));
  max-width:1180px;
  margin-inline:auto;
  padding:5px 0;
  gap:11px;
}
.guide-subnav-label{
  display:inline-flex;align-items:center;gap:7px;
  flex:none;
  letter-spacing:.075em;
  font-weight:850;
  color:#8ddccf;
}
.guide-subnav-label a{
  color:#8ddccf;text-decoration:none;
  border-bottom:1px solid transparent;
}
.guide-subnav-label a:hover,.guide-subnav-label a:focus-visible{
  color:#d9f7f2;border-color:currentColor;
}
.guide-subnav-label strong{font-weight:850;color:#d4f1ed;letter-spacing:.03em}
.guide-subnav-sep{font-size:1.15rem;line-height:1;color:#9adad2}
.guide-subnav-links{gap:0;scroll-snap-type:x proximity}
.guide-subnav-links a{
  min-height:42px;
  border:0;background:transparent;
  border-radius:0;
  color:#dcebea;
  padding:8px 11px;
  font-size:.76rem;font-weight:700;
  text-underline-offset:4px;
  transition:color .15s ease, background .15s ease;
}
.guide-subnav-links a + a::before{
  content:"·";margin-right:13px;
  color:rgba(165,218,211,.65);
  font-weight:400;
}
.guide-subnav-links a:hover,.guide-subnav-links a:focus-visible{
  border:0;color:#a6f2e6;
  background:transparent;
  text-decoration:underline;
}
.guide-subnav-links a:focus-visible{
  outline:2px solid rgba(154,238,226,.85);
  outline-offset:-4px;
  border-radius:5px;
}
.bergen-glance-inner{
  box-sizing:border-box;
  width:min(1180px,calc(100% - 40px));
  max-width:1180px;
  margin-inline:auto;
  padding-inline:0;
}
@media(max-width:660px){
  /* Keep the category trail visible on phones, but the link row flat and
     horizontally swipable; never introduce a second row of main-menu pills. */
  .guide-subnav-inner{
    width:calc(100% - 24px);
    padding:3px 0;
    gap:5px;
  }
  .guide-subnav-label{
    display:inline-flex;
    font-size:.59rem;letter-spacing:.02em;gap:4px;
    max-width:55vw;
  }
  .guide-subnav-label strong{
    font-size:.59rem;white-space:nowrap;
  }
  .guide-subnav-sep{font-size:.91rem}
  .guide-subnav-links{gap:0}
  .guide-subnav-links a{
    min-height:44px;
    background:transparent;
    border:0;
    border-radius:0;
    padding:9px 8px;
    font-size:.70rem;
    font-weight:680;
  }
  .guide-subnav-links a + a::before{
    margin-right:9px;
  }
  .guide-subnav-links a:hover,.guide-subnav-links a:focus-visible{
    background:transparent;
    border:0;
    text-decoration:underline;
  }
  .bergen-glance-inner{
    width:calc(100% - 24px);
    padding:6px 0;
  }
}

/* Always offer a dependable return to the page top inside the floating
   quick-navigation arrow, including the newly added panels. */
.quick-nav-panel .quick-nav-top{
  grid-column:1/-1;
  min-height:44px;
  justify-content:center;
  color:#a9f2e5;
  background:rgba(85,223,211,.09);
  border-color:rgba(85,223,211,.23);
  font-weight:850;
}
.quick-nav-panel .quick-nav-top:hover,
.quick-nav-panel .quick-nav-top:focus-visible{
  background:rgba(85,223,211,.18);
  border-color:rgba(85,223,211,.42);
}

/* Selling and serving hours first in the alcohol guide, including New Year. */
.alcohol-hours{
  margin:0 0 clamp(25px,4vw,42px);
  scroll-margin-top:18px;
}
.alcohol-hours-heading .card-kicker{color:#a5edda;font-size:.72rem;letter-spacing:.10em}
.alcohol-hours-heading h3{
  font-size:clamp(1.65rem,3.4vw,2.55rem);
  letter-spacing:-.04em;line-height:1.15;margin:8px 0;
  color:#f6ffff;
}
.alcohol-hours-heading p{color:#d0e2e3;margin:0 0 18px;line-height:1.5}
.alcohol-hours-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.alcohol-hours-card{
  box-sizing:border-box;min-width:0;
  display:flex;align-items:flex-start;flex-direction:column;gap:5px;
  border:1px solid rgba(180,239,225,.22);border-radius:15px;
  padding:clamp(16px,2.4vw,23px);
  background:rgba(228,252,245,.075);
  color:#f0f8f8;
}
.alcohol-hours-icon{font-size:1.56rem;line-height:1.25;margin-bottom:3px}
.alcohol-hours-card h4{color:#fcffff;margin:0 0 7px;font-size:1.09rem;line-height:1.25}
.alcohol-hours-card strong{
  color:#a9f0de;font-size:clamp(1.18rem,2vw,1.55rem);
  line-height:1.2;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
.alcohol-hours-card p{margin:0 0 12px;color:#e1e9e9;font-size:.8rem;line-height:1.4}
.alcohol-hours-card small{
  margin-top:auto;color:#c9dddd;font-size:.74rem;line-height:1.53;
}
.alcohol-hours-card small strong{font-size:inherit;font-weight:800;color:#d8f5e9;letter-spacing:0}
.alcohol-hours-card a{color:#a5eede;font-size:.79rem;font-weight:820;margin-top:9px;text-underline-offset:3px}
.alcohol-hours-holiday{
  display:flex;align-items:flex-start;gap:12px;
  background:rgba(236,196,94,.14);border:1px solid rgba(236,196,94,.37);
  border-radius:12px;padding:14px 17px;margin-top:13px;
}
.alcohol-hours-holiday>span{flex:none;font-size:1.35rem}
.alcohol-hours-holiday p{
  color:#f5ebd4;font-size:.86rem;line-height:1.52;margin:0;
}
.alcohol-hours-source{
  max-width:1000px;margin:13px 0 0!important;
  color:#bdced0;font-size:.72rem;line-height:1.57;
}
.alcohol-hours-source a{color:#a5ede1;text-underline-offset:2px}
@media(max-width:740px){
  .alcohol-hours-grid{grid-template-columns:1fr;gap:8px}
  .alcohol-hours-card{display:flex;flex-direction:column;gap:4px;padding:16px}
  .alcohol-hours-icon{font-size:1.3rem}
  .alcohol-hours-card h4{margin:0 0 5px}
  .alcohol-hours-card>strong{font-size:1.22rem}
  .alcohol-hours-card>p{margin:0 0 9px;font-size:.8rem}
  .alcohol-hours-card>small{margin-top:3px}
  .alcohol-hours-holiday{gap:9px;padding:12px}
}

/* Guide2 restaurant shortlist · five new image-led recommendations (Oct 2026).
   Dedicated two-column feature grids keep the long Bergen favourites compact. */
.food-curated-section{
  margin:clamp(25px,4vw,48px) 0 clamp(28px,4vw,48px);
  scroll-margin-top:20px;
}
.food-curated-heading{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  align-items:end;gap:24px;margin-bottom:16px;
}
.food-curated-heading h3{
  font-size:clamp(1.5rem,2.8vw,2.2rem);
  letter-spacing:-.04em;line-height:1.17;margin:7px 0 0;
  color:#183a44;
}
.food-curated-heading .card-kicker{color:#1e7a70;font-size:.73rem;letter-spacing:.10em}
.food-curated-heading>p{
  color:#4b6870;line-height:1.55;
  font-size:.9rem;margin:0 0 2px;
}
.food-curated-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.food-curated-grid .food-curated-card{min-width:0}
.food-curated-grid .place-photo{height:clamp(185px,21vw,280px)}
.food-curated-grid .place-body{padding:22px}
.food-curated-grid .place-body h3{font-size:1.5rem}
.food-curated-grid .place-body>p:not(.food-place-address){margin-bottom:13px;line-height:1.55}
.food-curated-grid .food-place-address,
.cheap-eats-grid .food-place-address{
  margin:0 0 13px;
  color:#587278;line-height:1.45;font-size:.79rem;
}
.food-curated-grid .place-body>a,
.cheap-eats-grid .place-body>a{margin-top:auto}
.food-curated-grid .photo-credit,
.cheap-eats-grid .photo-credit{display:block;line-height:1.35;margin-top:10px}
.food-more-heading{
  margin-top:clamp(25px,4vw,42px);
  padding-top:clamp(22px,3vw,34px);
  border-top:1px solid rgba(25,75,77,.16);
}
.cheap-eats-grid .place-body{min-width:0}
.cheap-eats-block{scroll-margin-top:20px}
@media(max-width:760px){
  .food-curated-heading{grid-template-columns:1fr;gap:7px}
  .food-curated-grid{grid-template-columns:1fr;gap:12px}
  .food-curated-grid .place-photo{height:clamp(195px,52vw,265px)}
  .food-curated-grid .place-body{padding:18px}
}

/* Food & Drink / desktop header alignment / Bergen drink categories · 8 Oct 2026
   Header tabs begin on the same 1180px content grid as quick links/weather.
   Emblem sits in the left gutter, so it doesn't push the navigation right.
   Phones preserve the successful Start Here · More · Register layout. */
@media(min-width:1350px){
  .topbar{
    display:flex;justify-content:flex-start;align-items:center;
    min-height:78px;height:auto;
    padding:11px max(20px,calc((100vw - 1180px)/2));
    gap:7px;
  }
  .topbar .brand{
    position:absolute;top:50%;left:max(12px,calc((100vw - 1400px)/2));
    transform:translateY(-50%);margin:0;padding:0;gap:0;
    min-width:0;width:64px;flex:none;
  }
  .topbar .brand img{width:64px;height:62px;object-fit:contain}
  .topbar .brand span{display:none}
  .topbar .site-switcher{
    flex:1 1 auto;min-width:0;max-width:none;
    display:flex;justify-content:flex-start;align-items:center;
    margin:0;gap:3px;flex-wrap:nowrap;
  }
  .topbar .site-tab{
    min-height:39px;font-size:clamp(.59rem,.69vw,.74rem);
    line-height:1.14;padding:8px clamp(5px,.46vw,8px);
    white-space:nowrap;flex:0 1 auto;
  }
  .topbar>.button{
    flex:none;min-height:40px;
    padding:8px 10px;font-size:.73rem;white-space:nowrap;
    margin:0 0 0 auto;
  }
}
@media(min-width:1151px) and (max-width:1349px){
  .topbar{
    display:grid;grid-template-columns:minmax(0,1fr) auto;
    gap:4px 12px;padding:8px 20px 10px;
  }
  .topbar .brand{grid-column:1;grid-row:1}
  .topbar .brand img{width:62px;height:55px}
  .topbar .brand span{display:none}
  .topbar>.button{grid-column:2;grid-row:1;justify-self:end;margin:0}
  .topbar .site-switcher{
    grid-column:1/-1;grid-row:2;
    display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
    width:100%;margin:0;gap:5px;
  }
  .topbar .site-tab{
    justify-self:stretch;min-height:42px;
    font-size:.70rem;white-space:normal;text-align:center;
  }
}
@media(min-width:661px) and (max-width:1150px){
  .topbar .site-switcher{
    display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
    gap:5px;
  }
  .topbar .site-tab{min-height:44px;padding:8px 4px;font-size:clamp(.61rem,1vw,.74rem)}
}
/* Distinct drink locations, fitting the existing photo-card family. */
.bergen-wine-bites,
.bergen-drinks-section{
  margin:clamp(28px,5vw,52px) 0 30px;
  scroll-margin-top:20px;
}
.bergen-wine-bites .food-curated-heading,
.bergen-drinks-section .food-curated-heading{
  margin-bottom:15px;
}
.hidden-section .bergen-wine-bites .food-curated-heading h3,
.hidden-section .bergen-drinks-section .food-curated-heading h3,
.hidden-section .bergen-wine-original-heading h3{
  color:#f5ffff;
}
.hidden-section .bergen-wine-bites .food-curated-heading>p,
.hidden-section .bergen-drinks-section .food-curated-heading>p,
.hidden-section .bergen-wine-original-heading>p{
  color:#bed4d6;
}
.bergen-wine-bites .wine-bites-villani{
  display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  min-height:0;overflow:hidden;padding:0;
  background:#f8faf5;
}
.bergen-wine-bites .place-photo{height:100%;min-height:250px}
.bergen-wine-bites .place-body{padding:clamp(18px,3vw,28px)}
.bergen-wine-bites .place-body p{margin-bottom:12px;line-height:1.52}
.bergen-wine-bites .food-place-address{font-size:.80rem}
.bergen-wine-original-heading{margin-top:32px}
.bergen-drinks-category{margin:23px 0 31px;scroll-margin-top:16px}
.bergen-drinks-subhead{
  display:flex;gap:12px;align-items:center;margin:0 0 14px;
  padding:0 0 9px;border-bottom:1px solid rgba(167,221,218,.2);
}
.bergen-drinks-subhead span{
  color:#98e8dd;font-weight:900;letter-spacing:.12em;font-size:.70rem;
}
.bergen-drinks-subhead h4{
  color:#f8ffff;font-size:clamp(1.1rem,2vw,1.38rem);
  line-height:1.2;margin:0;
}
.bergen-drinks-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.bergen-drinks-grid .wine-photo-card{min-width:0}
.bergen-drinks-grid .drink-type{
  color:#75e0cf;font-size:.67rem;font-weight:900;letter-spacing:.09em;
  display:block;margin:12px 0 0;
}
.bergen-drinks-grid .drink-address{
  font-size:.75rem;color:#bfd0d2;line-height:1.45;margin-top:4px;
}
.bergen-drinks-grid .wine-photo{height:clamp(170px,19vw,245px)}
.bergen-drinks-grid .wine-photo img{width:100%;height:100%;object-fit:cover}
.bergen-drinks-grid .wine-photo-card h3{margin-top:6px}
.bergen-drinks-grid .wine-photo-card .photo-credit{
  line-height:1.4;color:#b8c9cd;
}
@media(max-width:950px){
  .bergen-drinks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bergen-wine-bites .wine-bites-villani{grid-template-columns:1fr}
  .bergen-wine-bites .place-photo{height:230px;min-height:0}
}
@media(max-width:660px){
  .bergen-drinks-grid{grid-template-columns:1fr}
  .bergen-drinks-grid .wine-photo{height:215px}
  .bergen-wine-bites .place-photo{height:215px}
  .bergen-drinks-subhead{margin-bottom:10px}
  .bergen-drinks-grid .wine-photo-card{min-height:0}
}
/* Extra photo previews are pending publication permission from owners. */

/* Universal end-of-page return link · Guide2, 8 October 2026.
   Complements (does not replace) the floating quick-nav Back to top.
   Static anchor works when JavaScript or a network request is unavailable. */
.page-bottom-nav{
  background:#0b2731;
  border-top:1px solid rgba(165,226,217,.19);
  border-bottom:1px solid rgba(165,226,217,.13);
  color:#e8f6f3;
}
.page-bottom-nav-inner{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:60px;
  padding-top:7px;
  padding-bottom:7px;
}
.page-bottom-top-link{
  display:inline-flex;
  gap:11px;
  align-items:center;
  justify-content:center;
  min-width:148px;
  min-height:46px;
  padding:10px 18px;
  border:1px solid rgba(148,221,208,.34);
  border-radius:999px;
  background:rgba(85,223,211,.07);
  text-decoration:none;
  color:#b7f3e8;
  font-weight:800;
  font-size:.87rem;
  letter-spacing:.01em;
  line-height:1.2;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.page-bottom-top-link span{
  font-size:1.17rem;
  font-weight:900;
  line-height:1;
}
.page-bottom-top-link:hover{
  color:#fff;
  border-color:rgba(148,221,208,.65);
  background:rgba(85,223,211,.17);
}
.page-bottom-top-link:focus-visible{
  outline:3px solid #a3efe5;
  outline-offset:3px;
}
@media(max-width:660px){
  .page-bottom-nav-inner{justify-content:center;min-height:64px;padding-block:8px}
  .page-bottom-top-link{min-height:48px;min-width:170px;font-size:.9rem}
}
@media print{
  .page-bottom-nav{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* Guide2 October 8 follow-up: fully visible contextual navigation,
   legible/even dining cards and one-click search from every page. */
.guide-subnav-inner{
  align-items:flex-start;min-height:0;
}
.guide-subnav-label{padding-top:10px}
.guide-subnav-links{
  display:flex;flex-wrap:wrap;align-items:center;align-content:center;
  width:100%;max-height:none;overflow:visible;gap:1px 0;
  scroll-snap-type:none;white-space:normal;
}
.guide-subnav-links a{
  flex:0 0 auto;min-height:35px;padding:6px 10px;
  line-height:1.35;white-space:nowrap;scroll-snap-align:none;
}
.guide-subnav-links a + a::before{margin-right:10px}
@media(max-width:660px){
  .guide-subnav-inner{display:block;width:calc(100% - 24px);padding:6px 0 7px}
  .guide-subnav-label{
    display:flex;max-width:none;margin:0 0 2px;
    padding:0;min-height:20px;
  }
  .guide-subnav-links{display:flex;flex-wrap:wrap;overflow:visible;gap:1px 0}
  .guide-subnav-links a{min-height:40px;padding:6px 7px;font-size:.68rem}
  .guide-subnav-links a + a::before{margin-right:7px}
}
@media(min-width:1350px){
  .topbar .site-switcher{gap:2px;flex-wrap:wrap;row-gap:5px}
  .topbar .site-tab{padding:7px 5px;font-size:clamp(.58rem,.65vw,.71rem)}
  .topbar>.button{padding:8px 9px;font-size:.72rem}
}
.topbar .header-search-toggle{
  display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;flex:none;width:44px;height:44px;
  margin:0 1px 0 0;padding:0;
  border:1px solid rgba(163,225,217,.32);border-radius:12px;
  background:rgba(255,255,255,.065);color:#b6f0e6;
  cursor:pointer;
}
.topbar .header-search-toggle:hover{
  color:#fff;background:rgba(85,223,211,.16);border-color:#89dfd1;
}
.topbar .header-search-toggle:focus-visible{
  outline:3px solid #9dece1;outline-offset:2px;
}
@media(min-width:1151px) and (max-width:1349px){
  .topbar .header-search-toggle{grid-column:1;grid-row:1;justify-self:end;margin-right:110px}
}
@media(min-width:661px) and (max-width:1150px){
  .topbar .header-search-toggle{
    grid-column:1;grid-row:1;
    justify-self:end;align-self:center;
    margin-right:0;
  }
  .topbar .brand{max-width:calc(100% - 60px)}
}
@media(max-width:660px){
  .topbar{
    grid-template-columns:minmax(0,1fr) auto auto auto;
    column-gap:5px;padding-inline:9px;
  }
  .topbar .mobile-start-link{grid-column:1;grid-row:1;min-width:0;font-size:.74rem;padding-inline:8px}
  .topbar .mobile-nav-more{grid-column:2;grid-row:1}
  .topbar .mobile-nav-more>summary{padding-inline:8px;font-size:.73rem}
  .topbar .header-search-toggle{
    grid-column:3;grid-row:1;
    width:44px;height:44px;margin:0;
    border-radius:10px;
  }
  .topbar>.button{
    grid-column:4;grid-row:1;
    padding:7px 10px;font-size:.75rem;min-height:44px;
  }
}
@media(max-width:350px){
  .topbar{column-gap:3px;padding-inline:7px}
  .topbar .mobile-start-link{font-size:.69rem;padding-inline:6px}
  .topbar .mobile-nav-more>summary{padding-inline:6px;font-size:.68rem}
  .topbar .header-search-toggle{width:40px;height:44px}
  .topbar>.button{padding-inline:8px;font-size:.72rem}
}
/* Native modal: accessible search, real links, no extra backend request. */
.site-search-dialog{
  position:fixed;inset:0;z-index:500;
  box-sizing:border-box;width:min(590px,calc(100vw - 28px));
  max-height:min(80dvh,680px);margin:auto;padding:0;
  overflow:auto;border:1px solid #66b5a9;border-radius:17px;
  background:#f5faf8;color:#12373f;
  box-shadow:0 28px 75px rgba(0,0,0,.4);
}
.site-search-dialog:not([open]){display:none}
.site-search-dialog::backdrop{background:rgba(3,20,26,.68);backdrop-filter:blur(3px)}
.site-search-content{padding:clamp(17px,3vw,29px)}
.site-search-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.site-search-head h2{font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.15;margin:0 0 17px}
.site-search-close{
  min-width:44px;min-height:44px;padding:7px;border:1px solid #a6c8c2;
  border-radius:10px;background:#fff;color:#19454d;cursor:pointer;
}
.site-search-close:hover{background:#e5f3ed}
.site-search-content label{display:block;font-weight:850;font-size:.89rem;margin:0 0 7px}
.site-search-content input{
  box-sizing:border-box;width:100%;min-height:52px;
  border-radius:11px;border:2px solid #619d94;background:white;
  padding:12px 14px;font:inherit;font-size:1rem;color:#12373f;
}
.site-search-content input:focus-visible{outline:3px solid #7ad4c7;outline-offset:2px}
.site-search-status{font-size:.83rem;color:#537078;line-height:1.4;margin:11px 0}
.site-search-results{display:grid;grid-template-columns:1fr;gap:6px}
.site-search-results a{
  min-height:46px;display:flex;align-items:center;padding:11px 13px;
  border:1px solid #c3dad5;border-radius:9px;background:#fff;
  color:#176c69;font-size:.9rem;font-weight:800;text-decoration:none;
}
.site-search-results a:hover,.site-search-results a:focus-visible{
  background:#ddf3ee;border-color:#66bdae;
}

/* Compact, consistent dining-card hierarchy and legible Villani title. */
.cheap-eats-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.cheap-eats-grid>.place-card,
.food-curated-grid>.place-card,
.photo-place-grid>.place-card{
  min-width:0;display:flex;flex-direction:column;height:100%;
}
.cheap-eats-grid .place-photo{flex:none;height:174px}
.cheap-eats-grid .place-body{flex:1;display:flex;flex-direction:column;padding:18px 19px}
.cheap-eats-grid .tag-row{
  display:flex;flex-wrap:wrap;align-content:start;align-items:start;
  min-height:55px;margin:0 0 6px;
}
.cheap-eats-grid .place-body h3{
  min-height:2.75em;line-height:1.28;
  margin:0 0 9px;font-size:1.34rem;color:#102a32;
}
.cheap-eats-grid .place-body>p:not(.food-place-address){margin:0 0 17px}
.cheap-eats-grid .place-body>.food-place-address{margin-top:0}
.cheap-eats-grid .place-body>.place-actions{margin-top:auto}
.food-curated-grid .tag-row{min-height:45px;align-content:start}
.food-curated-grid .place-body h3{min-height:2.6em;line-height:1.25}
.hidden-section .bergen-wine-bites .wine-bites-villani{
  background:#f8faf5;color:#15343d;
}
.hidden-section .bergen-wine-bites .wine-bites-villani .place-body,
.hidden-section .bergen-wine-bites .wine-bites-villani .place-body h3{
  color:#15343d !important;
}
.hidden-section .bergen-wine-bites .wine-bites-villani .place-body>p{
  color:#526a70 !important;
}
.hidden-section .bergen-wine-bites .wine-bites-villani .place-body .tag-row span{
  color:#216e6a;
}
.place-body>.place-actions{margin-top:auto}
.place-actions{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:auto}
.place-actions a{
  display:inline-flex;align-items:center;min-height:34px;
  font-size:.80rem;font-weight:850;line-height:1.35;
  color:#087369;text-decoration:underline;text-underline-offset:3px;
}
.place-actions a:hover{color:#05534c}
.place-actions a:focus-visible{outline:2px solid #0a8376;outline-offset:2px}
.wine-photo-card{display:flex;flex-direction:column;min-width:0;height:100%}
.wine-photo-card>.place-actions{margin-top:auto}
.hidden-section .wine-photo-card .place-actions a{color:#a6f3e6}
.hidden-section .wine-photo-card .place-actions a:hover{color:#fff}
.wine-photo-card>.photo-credit{margin-top:9px}
@media(max-width:1050px){
  .cheap-eats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:660px){
  .cheap-eats-grid{grid-template-columns:1fr}
  .cheap-eats-grid .place-body h3,
  .food-curated-grid .place-body h3{min-height:0}
  .cheap-eats-grid .tag-row{min-height:0;margin-bottom:10px}
  .cheap-eats-grid .place-photo{height:190px}
}

/* Editorial primary navigation | Guide2 | 8 Oct 2026.
   Desktop/tablet: taller, regular-weight condensed type, spacious text and subtle pipe-style separators.
   The wide header is a single explicit GRID row: links | search | register,
   so actions cannot wrap into a phantom second navigation row.
   Phone <=660px keeps the existing four-action header untouched. */
@media (min-width:661px){
  .topbar .site-switcher{
    column-gap:0;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .topbar .site-switcher .site-tab{
    font-family:'Barlow Condensed','Arial Narrow','Nimbus Sans Narrow','Liberation Sans Narrow',sans-serif;
    font-stretch:condensed;
    box-sizing:border-box;
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:12px 10px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:#e2eff0;
    font-weight:400;
    line-height:1.2;
    letter-spacing:.013em;
    text-decoration:none!important;
    transform:none;
    transition:color .16s ease,background .16s ease;
  }
  /* Align the visible first label, not only the nav box, with the contextual trail. */
  .topbar .site-switcher .site-tab:first-child{padding-left:0}
  .topbar .site-switcher .site-tab:visited{color:#e2eff0}
  .topbar .site-switcher .site-tab + .site-tab::before{
    content:"";
    position:absolute;
    left:0;top:50%;
    width:1px;height:18px;
    background:rgba(178,224,221,.35);
    transform:translateY(-50%);
    pointer-events:none;
  }
  .topbar .site-switcher .site-tab:hover{
    color:#fff;
    background:rgba(190,245,237,.065);
    box-shadow:none;
    transform:none;
  }
  .topbar .site-switcher .site-tab.is-active,
  .topbar .site-switcher .site-tab[aria-current="page"]{
    color:#b4f8ec!important;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .topbar .site-switcher .site-tab.is-active::after,
  .topbar .site-switcher .site-tab[aria-current="page"]::after{
    content:"";
    position:absolute;
    bottom:3px;left:10px;right:10px;
    height:2px;border-radius:2px;
    background:#81e9d9;
    pointer-events:none;
  }
  .topbar .site-switcher .site-tab:first-child.is-active::after,
  .topbar .site-switcher .site-tab:first-child[aria-current="page"]::after{left:0}
  .topbar .site-switcher .site-tab.is-active:hover,
  .topbar .site-switcher .site-tab[aria-current="page"]:hover{
    color:#d0fff6!important;
    background:rgba(190,245,237,.065);
  }
  .topbar .site-switcher .site-tab:focus-visible{
    outline:2px solid #9beee1;
    outline-offset:-3px;
    border-radius:4px;
  }
}
@media (min-width:1350px){
  .topbar{
    /* One row regardless of legacy flex-wrap overrides elsewhere. */
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px max-content;
    grid-template-rows:auto;
    justify-content:stretch;
    align-items:center;
    column-gap:12px;
    row-gap:0;
    height:auto;min-height:84px;
    /* Identical 1180px guide grid as .guide-subnav-inner. */
    padding:14px max(20px, calc((100vw - 1180px)/2));
    padding-right:clamp(20px,2.3vw,44px);
  }
  .topbar .site-switcher{
    grid-column:1;grid-row:1;
    display:flex;flex-wrap:nowrap;
    justify-content:flex-start;align-items:center;
    min-width:0;width:100%;
    margin:0;gap:0;
  }
  .topbar .site-switcher .site-tab{
    flex:0 1 auto;
    min-width:0;min-height:54px;
    padding:12px clamp(7px,.67vw,12px);
    font-size:clamp(1.13rem,1.22vw,1.27rem);
    white-space:nowrap;
  }
  .topbar .header-search-toggle{
    grid-column:2;grid-row:1;
    justify-self:center;align-self:center;
    width:44px;height:44px;
    margin:0;
  }
  .topbar>.button{
    grid-column:3;grid-row:1;
    justify-self:end;align-self:center;
    margin:0;min-height:44px;
    padding:10px 14px;font-size:.8rem;
    white-space:nowrap;
  }
}
/* At the narrowest one-line desktop widths, the emblem stays inside its own gutter. */
@media (min-width:1350px) and (max-width:1410px){
  .topbar .brand{left:8px;min-width:0;width:56px}
  .topbar .brand img{width:56px;height:56px}
}
@media (min-width:1350px) and (max-width:1460px){
  .topbar .site-switcher .site-tab{
    padding-inline:clamp(5px,.51vw,8px);
    font-size:clamp(1.06rem,1.20vw,1.16rem);
  }
}
@media (min-width:661px) and (max-width:1349px){
  .topbar{
    /* Match the contextual strip on tablets and smaller desktop widths. */
    padding-left:max(20px,calc((100vw - 1180px)/2));
    padding-right:max(20px,calc((100vw - 1180px)/2));
  }
  .topbar .site-switcher{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    column-gap:0;
    row-gap:3px;
  }
  .topbar .site-switcher .site-tab{
    justify-self:stretch;
    min-width:0;min-height:50px;
    padding:11px 7px;
    font-size:clamp(1rem,1.24vw,1.13rem);
    white-space:normal;
    text-align:center;
  }
  /* Second row starts at item #7; no leading separator there. */
  .topbar .site-switcher .site-tab:nth-child(7)::before{display:none}
}
@media (prefers-reduced-motion:reduce){
  .topbar .site-switcher .site-tab{transition:none}
}

/* Silvensa guest app directory · use same clean card language as the guide. */
.travel-apps-section{scroll-margin-top:24px;padding-top:clamp(35px,5vw,64px);padding-bottom:clamp(35px,5vw,66px);border-top:1px solid rgba(14,75,79,.13)}
.travel-apps-section .section-heading{margin-bottom:19px}
.travel-apps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:15px}
.travel-app-card{min-width:0;display:flex;flex-direction:column;gap:12px;padding:22px 21px 19px;border:1px solid #c9dbd7;border-radius:15px;background:#fbfdfb;box-shadow:0 9px 24px rgba(7,34,40,.045)}
.travel-app-card-head{display:flex;align-items:center;gap:12px;min-width:0}
.travel-app-mark{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid #bfdcd4;border-radius:12px;background:#e7f3f0;font-size:1.55rem}
.travel-app-type{display:block;margin-bottom:4px;color:#237b74;font-size:.65rem;font-weight:850;letter-spacing:.075em;line-height:1.45}
.travel-app-card h3{margin:0;color:#122d37;font-size:1.27rem;line-height:1.2;letter-spacing:-.02em}
.travel-app-card>p{margin:1px 0 8px;color:#435b64;font-size:.86rem;line-height:1.58}
.travel-app-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.travel-app-links a{display:inline-flex;flex:1 1 124px;align-items:center;justify-content:center;min-height:44px;padding:9px 10px;border:1px solid #7ca9a4;border-radius:9px;background:#eef7f4;color:#106b65;font-size:.76rem;font-weight:850;line-height:1.25;text-align:center;text-decoration:none;transition:background .17s ease,border-color .17s ease}
.travel-app-links a:hover{border-color:#208d81;background:#d8efe9;color:#054940}
.travel-app-links a:focus-visible{outline:3px solid #39a99a;outline-offset:2px}
.travel-app-note{margin:19px 0 0;padding:14px 17px;border-left:3px solid #3eaaa0;background:#e7f3ef;color:#28535b;font-size:.83rem;line-height:1.6}
@media(max-width:1040px){.travel-apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:660px){.travel-apps-grid{grid-template-columns:1fr;gap:11px}.travel-app-card{padding:17px}.travel-app-mark{width:44px;height:44px;flex-basis:44px}.travel-apps-section{padding-block:30px}.travel-app-links a{flex:1 1 42%}}
@media(prefers-reduced-motion:reduce){.travel-app-links a{transition:none}}

/* Desktop pixel alignment: primary label and contextual category start together.
   The contextual category in the user's latest screenshot starts 8px left
   of the top navigation text. Shift the entire text menu, not its controls.
   Search, Register and the separate mobile menu retain their grid positions. */
@media(min-width:1350px){.topbar .site-switcher{position:relative;left:-8px}}

/* Four useful shortcuts on Tools, with responsive two-column tablet layout. */
@media(min-width:1051px){.tools-resource-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:1050px){.tools-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Group the visitor apps by use case: a small survival kit, onward travel,
   and food delivery for an evening when the hotel bed wins. */
.travel-apps-group + .travel-apps-group{margin-top:35px}
.travel-apps-group-heading{margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid rgba(26,86,86,.16)}
.travel-apps-group-heading h3{margin:0 0 3px;color:#173c43;font-size:clamp(1.18rem,2vw,1.45rem);line-height:1.24;letter-spacing:-.035em}
.travel-apps-group-heading p{margin:0;color:#566e74;font-size:.85rem;line-height:1.5}
.travel-apps-food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.travel-app-transit-note{background:transparent;border-color:#84bab3;margin-top:9px}
.food-delivery-prompt{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:24px;margin-bottom:22px;padding:17px 21px;background:#e6f3ef;border:1px solid #c5dfd7;border-radius:12px;color:#16464b}
.food-delivery-prompt p{margin:4px 0 0;font-size:.86rem;line-height:1.52;color:#416367}
.food-delivery-prompt a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border:1px solid #5baba0;border-radius:9px;background:#f8fffc;color:#0b6963;font-size:.83rem;font-weight:800;text-decoration:none}
.food-delivery-prompt a:hover{background:#d9f2ec}
.food-delivery-prompt a:focus-visible{outline:3px solid #28a89a;outline-offset:2px}
@media(max-width:820px){.food-delivery-prompt{align-items:flex-start;flex-direction:column;gap:10px}.travel-apps-food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:660px){.travel-apps-food-grid{grid-template-columns:1fr}.travel-apps-group + .travel-apps-group{margin-top:27px}.food-delivery-prompt{padding:15px}}

/* Bergen Guide now contains ALL practical visitor information, including
   former Practical Bergen sections and real app-store artwork. */
.bergen-practical-intro{padding-top:clamp(38px,5.5vw,74px);padding-bottom:clamp(22px,3vw,38px);scroll-margin-top:26px}
.bergen-practical-intro .section-heading{margin-bottom:15px}
.bergen-practical-jumps{display:flex;gap:9px;flex-wrap:wrap}
.bergen-practical-jumps a{display:inline-flex;min-height:44px;align-items:center;padding:9px 13px;border:1px solid #bad8d3;border-radius:8px;background:#fbfefa;color:#166e6a;text-decoration:none;font-size:.82rem;font-weight:780}
.bergen-practical-jumps a:hover{background:#dcefe9;border-color:#79bdb2}
.bergen-practical-jumps a:focus-visible{outline:2px solid #189785;outline-offset:2px}
.travel-app-mark.travel-app-mark-branded{overflow:hidden;padding:0;border-radius:12px;border:1px solid rgba(8,48,56,.12);background:#fff;box-shadow:0 2px 7px rgba(13,50,57,.07)}
.travel-app-mark-branded .travel-app-logo{display:block;width:100%;height:100%;object-fit:contain;border-radius:11px;background:#fff}
#practical,#alcohol,#essentials,#apps,#prices,#shop,#alcohol-hours{scroll-margin-top:105px}
@media(max-width:660px){
 .bergen-practical-jumps{gap:7px}
 .bergen-practical-jumps a{flex:1 1 42%;justify-content:center;text-align:center;padding:9px 7px}
 .bergen-practical-intro{padding-top:30px}
 .travel-app-mark.travel-app-mark-branded{width:48px;height:48px;flex-basis:48px}
}

/* October 2026 editorial polish — Vinmonopolet and accessible price reveal */
.vinmonopolet-feature{scroll-margin-top:105px;margin:clamp(24px,4vw,43px) 0;padding:clamp(22px,3vw,31px);border:1px solid rgba(176,229,214,.33);border-radius:17px;background:linear-gradient(126deg,rgba(25,85,88,.42),rgba(13,45,54,.8));color:#f2f8f5}
.vinmonopolet-feature-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.vinmonopolet-identity{display:flex;align-items:center;gap:14px;min-width:0}
.vinmonopolet-glyph{display:grid;place-items:center;flex:0 0 55px;height:55px;border-radius:13px;border:1px solid rgba(207,231,216,.24);background:rgba(220,244,229,.07);font-size:1.65rem}
.vinmonopolet-feature .card-kicker{color:#9fe5d4;letter-spacing:.1em}
.vinmonopolet-feature h3{font-size:clamp(1.65rem,3.2vw,2.23rem);line-height:1.18;letter-spacing:-.04em;margin:5px 0;color:#fff}
.vinmonopolet-feature-top>a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;color:#b8fff2;font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.vinmonopolet-feature a:focus-visible{outline:2px solid #a7f2df;outline-offset:3px}
.vinmonopolet-lede{max-width:760px;margin:0 0 23px;color:#e1f1ec;font-size:1rem;line-height:1.6}
.vinmonopolet-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.vinmonopolet-facts>div{min-width:0;padding:17px 18px;border:1px solid rgba(194,239,220,.17);border-radius:12px;background:rgba(3,25,35,.3)}
.vinmonopolet-facts h4{margin:6px 0 9px;font-size:1.07rem;color:#f7fff9;letter-spacing:-.025em;line-height:1.3}
.vinmonopolet-facts p{margin:0;color:#d1e4df;line-height:1.56;font-size:.84rem}
.vinmonopolet-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 22px;margin-top:17px;padding-top:16px;border-top:1px solid rgba(199,238,224,.2);font-size:.79rem;line-height:1.55;color:#d4e8e2}
.vinmonopolet-foot a{color:#acffea;text-underline-offset:3px}
.alcohol-cards-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#prices .price-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.more-prices{margin-top:21px;border:1px solid #b8d7d0;border-radius:15px;overflow:hidden;background:#fffefb}
.more-prices summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;padding:17px 21px;list-style:none;cursor:pointer;background:#e9f4f0;color:#153941}
.more-prices summary::-webkit-details-marker{display:none}
.more-prices summary:hover{background:#daeee7}
.more-prices summary:focus-visible{outline:3px solid #39aa9b;outline-offset:-3px}
.more-prices summary strong{font-size:1.03rem;line-height:1.25}
.more-prices summary small{display:block;margin-top:4px;color:#506970;font-size:.76rem;line-height:1.45}
.more-prices-plus{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border:1px solid #88b7ac;border-radius:10px;background:#f8fdfb;color:#126b60;font-size:1.38rem;font-weight:500;line-height:1}
.more-prices[open] summary{border-bottom:1px solid #c5ded7}
.more-prices[open] .more-prices-plus{transform:rotate(45deg)}
.more-prices-body{padding:19px 21px 23px}
.more-prices-intro,.more-prices-foot{margin:0;color:#4c6870;font-size:.83rem;line-height:1.62}
.cost-table-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:19px 0}
.cost-table{width:100%;border-collapse:collapse;font-size:.8rem;line-height:1.45}
.cost-table caption{text-align:left;font-size:1.07rem;font-weight:850;letter-spacing:-.025em;color:#1b4248;padding:0 0 11px}
.cost-table th,.cost-table td{padding:11px 10px;text-align:left;vertical-align:top;border-bottom:1px solid #e0e9e5}
.cost-table thead th{background:#eff7f3;color:#365960;font-size:.72rem;font-weight:850}
.cost-table tbody th{color:#173b42;font-weight:790;width:33%}
.cost-table td:last-child{white-space:nowrap;font-weight:780;color:#15675f}
.more-prices-foot{padding:12px 14px;background:#f0f5f2;border-radius:9px}
.more-prices-foot a{color:#0e6a64;text-underline-offset:2px;font-weight:760}
@media(max-width:1050px){.vinmonopolet-facts{grid-template-columns:1fr 1fr}.vinmonopolet-facts>div:last-child{grid-column:1/-1}.cost-table-wrap{grid-template-columns:1fr}}
@media(max-width:660px){.vinmonopolet-feature-top{align-items:flex-start;flex-direction:column}.vinmonopolet-facts{grid-template-columns:1fr}.vinmonopolet-facts>div:last-child{grid-column:auto}.vinmonopolet-glyph{flex-basis:49px;height:49px}.alcohol-cards-two{grid-template-columns:1fr}#prices .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.more-prices-body{padding:15px 11px}.more-prices summary{padding:15px}.cost-table{font-size:.73rem}.cost-table th,.cost-table td{padding:9px 5px}.cost-table td:last-child{white-space:normal}.vinmonopolet-feature{padding:19px}}
@media(prefers-reduced-motion:reduce){.more-prices-plus{transition:none}}

/* Food & Drink polish: Hardanger cider is a true regional speciality, not
   a footnote to the pub cards. Keep it legible on the dark drinks section. */
.hardanger-cider-note{display:flex;flex-direction:column;gap:9px;padding:17px 21px;margin:4px 0 17px;border-radius:12px;border:1px solid rgba(144,227,207,.36);background:linear-gradient(115deg,rgba(24,108,105,.27),rgba(8,32,46,.54));color:#e6f5ee}
.hardanger-cider-note>strong{font-size:1.02rem;font-weight:850;color:#dbfff1;line-height:1.35}
.hardanger-cider-note p{margin:0;max-width:87ch;font-size:.85rem;line-height:1.63;color:#cbe3de}
.hardanger-cider-note>div{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:3px}
.hardanger-cider-note a{color:#a9efdb;font-weight:770;font-size:.78rem;text-underline-offset:3px}
.hardanger-cider-note a:hover{color:#fff}
.hardanger-cider-note a:focus-visible{outline:2px solid #b4f4e3;outline-offset:3px}
.wine-photo-card .photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.wine-photo-card .photo-credit a:hover{color:#a7f4e2}
@media(max-width:660px){.hardanger-cider-note{padding:16px;margin-bottom:14px}.hardanger-cider-note>div{flex-direction:column;align-items:flex-start}}


/* Compact phone subnavigation: a tidy one-line disclosure rather than
   broken-up contextual links. Without JS, the original menu still works. */
.guide-subnav-mobile{display:none}
@media(max-width:660px){
  .guide-subnav.is-mobile-ready>.guide-subnav-inner{display:none}
  .guide-subnav.is-mobile-ready>.guide-subnav-mobile{
    display:block;width:calc(100% - 24px);margin-inline:auto;
  }
  .guide-subnav-mobile>summary{
    box-sizing:border-box;display:flex;align-items:center;
    min-height:54px;gap:12px;padding:8px 5px;
    list-style:none;cursor:pointer;user-select:none;
  }
  .guide-subnav-mobile>summary::-webkit-details-marker{display:none}
  .guide-subnav-mobile-title{
    flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;color:#8ddccf;font-size:.81rem;
    font-weight:830;letter-spacing:.025em;
  }
  .guide-subnav-mobile-action{
    flex:none;color:#e3f4f0;font-size:.76rem;font-weight:720;
  }
  .guide-subnav-mobile-arrow{
    flex:none;display:block;width:8px;height:8px;
    margin-right:5px;border-right:2px solid #8ddccf;
    border-bottom:2px solid #8ddccf;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .16s ease;
  }
  .guide-subnav-mobile[open] .guide-subnav-mobile-arrow{
    transform:translateY(2px) rotate(225deg);
  }
  .guide-subnav-mobile>summary:focus-visible,
  .guide-subnav-mobile-panel a:focus-visible{
    outline:2px solid #9aeee2;outline-offset:-2px;border-radius:3px;
  }
  .guide-subnav-mobile-panel{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 14px;padding:3px 5px 14px;
    border-top:1px solid rgba(151,210,206,.16);
  }
  .guide-subnav-mobile-panel a{
    box-sizing:border-box;display:flex;align-items:center;
    min-width:0;min-height:46px;padding:10px 3px;
    border-bottom:1px solid rgba(151,210,206,.14);
    color:#e3f3f0;text-decoration:none;font-size:.79rem;
    font-weight:690;line-height:1.35;overflow-wrap:anywhere;
  }
  .guide-subnav-mobile-panel a:hover{
    color:#a6f2e6;border-color:rgba(151,210,206,.35);
  }
}
@media(prefers-reduced-motion:reduce){.guide-subnav-mobile-arrow{transition:none}}


/* Pre & Post editorial advisory: keep the compact warning symbol with the
   title, use full-width copy and move the enquiry link below the text. */
.tour-page .tour-travel-note{
  margin:32px 0;padding:23px 27px;
  border:1px solid #e7d391;border-radius:var(--radius);
  background:#fff8df;color:#17343c;
}
.tour-travel-note-heading{display:flex;align-items:flex-start;gap:13px}
.tour-travel-note-icon{flex:none;font-size:1.3rem;line-height:1.4}
.tour-travel-note-heading h3{
  margin:0;color:#18363b;font-size:clamp(1.04rem,1.7vw,1.25rem);
  font-weight:800;line-height:1.4;letter-spacing:-.015em;
}
.tour-travel-note-content{margin:7px 0 0 35px;max-width:105ch}
.tour-travel-note-content p{margin:0;color:#485f68;line-height:1.65;font-size:.91rem}
.tour-travel-note-support{
  margin-top:15px;padding-top:14px;
  border-top:1px solid rgba(156,126,42,.22);
}
.tour-travel-note-support strong{color:#24434a;font-weight:800}
.tour-travel-note a:not(.tour-travel-note-cta){
  color:#0c6c68;font-weight:760;text-underline-offset:3px;
}
.tour-travel-note-cta{
  display:inline-flex;align-items:center;gap:6px;
  min-height:44px;box-sizing:border-box;margin-top:15px;padding:10px 15px;
  border:1px solid rgba(14,108,104,.38);border-radius:9px;
  background:#ffffff9c;color:#0c6c68;font-size:.85rem;font-weight:790;
  text-decoration:none;transition:background .16s,border-color .16s;
}
.tour-travel-note-cta:hover{background:white;border-color:#0c6c68}
.tour-travel-note a:focus-visible{outline:2px solid #0c6c68;outline-offset:3px}
@media(max-width:660px){
  .tour-page .tour-travel-note{margin:25px 0;padding:18px 16px}
  .tour-travel-note-heading{gap:10px}
  .tour-travel-note-icon{font-size:1.13rem}
  .tour-travel-note-content{margin:10px 0 0}
  .tour-travel-note-content p{font-size:.87rem;line-height:1.63}
  .tour-travel-note-support{margin-top:13px;padding-top:13px}
}
@media(prefers-reduced-motion:reduce){.tour-travel-note-cta{transition:none}}


/* Widescreen identity polish: Silvensa emblem 40% larger (8 October 2026).
   Keep the existing white transparent cutout and the complete editorial nav.
   The emblem is placed in its own left gutter from 1350px upwards. */
@media(min-width:1350px){
  .topbar .brand{width:89.6px}
  .topbar .brand img{width:89.6px;height:86.8px}
}
/* At 1350–1410px the 78.4px badge fits the narrower gutter without
   disturbing the deliberately aligned Start Here navigation text. */
@media(min-width:1350px) and (max-width:1410px){
  .topbar .brand{left:0;width:78.4px}
  .topbar .brand img{width:78.4px;height:78.4px}
}
/* Two-row intermediate desktop header: grow the same emblem by 40%,
   leaving Search, Register and the two rows of tabs in their own cells. */
@media(min-width:1151px) and (max-width:1349px){
  .topbar .brand img{width:86.8px;height:77px}
}


/* Header breathing room after +40% emblem sizing, 9 Oct 2026.
   The identity sits outside the grid at >=1350px; merely enlarging its
   absolutely positioned image did not increase the header's height.
   Reserve explicit vertical space without moving the 12 navigation links. */
@media(min-width:1350px){
  .topbar{
    min-height:120px;
    padding-top:18px;
    padding-bottom:18px;
  }
}
/* At intermediate desktop widths the emblem is part of the first grid row;
   give that row and the navigation beneath it comfortable padding. */
@media(min-width:1151px) and (max-width:1349px){
  .topbar{
    padding-top:16px;
    padding-bottom:16px;
    row-gap:10px;
  }
}
/* Tablet keeps the original smaller branding; phone retains its compact
   logo-free Start Here / More / Search / Register controls. */
@media(min-width:661px) and (max-width:1150px){
  .topbar .brand img{width:76px;height:72px}
}


/* 9 October: create horizontal clearance beside the larger header emblem.
   It is absolutely positioned outside the content grid: ONLY move the emblem.
   Main navigation and contextual subnavigation keep their exact coordinates. */
@media(min-width:1411px){
  .topbar .brand{
    left:max(0px,calc((100vw - 1400px)/2 - 22px));
  }
}
/* At the narrowest single-row desktop widths, there is no more room to
   translate the emblem left without clipping it at the viewport edge.
   Reduce it slightly here to preserve a clear gap before Start Here. */
@media(min-width:1350px) and (max-width:1410px){
  .topbar .brand{left:0;width:70px}
  .topbar .brand img{width:70px;height:70px}
}


/* Partner/footer symmetry on phones and tablets — Silvensa Guide2.
   Four intentionally distinct links occupy four equal cells. Heritage remains
   an informational UNESCO LISTING, not an official UNESCO partner logo.
   The original desktop composition and authorised artwork are unchanged. */
@media(max-width:980px){
  .footer-partners{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:0;
    padding:13px;
  }
  .footer-partners .footer-partner-primary{display:contents}
  .footer-partners .footer-partner-primary > .footer-partner,
  .footer-partners .footer-partner-primary > .footer-partner.mensa-partner{
    box-sizing:border-box;
    display:flex;
    width:100%;
    min-width:0;
    min-height:142px;
    padding:13px 9px;
    gap:8px;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .footer-partners .footer-partner-primary > .mensa-partner{
    grid-column:1;grid-row:1;
    border-right:1px solid #cad5d7;
    border-bottom:1px solid #cad5d7;
  }
  .footer-partners .footer-partner-primary > .visitbergen-partner{
    grid-column:2;grid-row:1;
    border-bottom:1px solid #cad5d7;
  }
  .footer-partners .footer-partner-primary > .thon-partner{
    grid-column:1;grid-row:2;
    justify-self:stretch;
    border-right:1px solid #cad5d7;
  }
  .footer-partners .footer-partner-primary .mensa-partner img.mensa-logo-cutout,
  .footer-partners .footer-partner-primary .visitbergen-partner img.footer-logo-cutout,
  .footer-partners .footer-partner-primary .thon-partner img.footer-logo-cutout{
    display:block;
    flex:none;
    box-sizing:border-box;
    width:min(100%,157px);
    height:72px;
    max-width:100%;
    max-height:none;
    object-fit:contain;
    object-position:center;
  }
  .footer-partners .footer-partner-primary .mensa-partner img.mensa-logo-cutout{
    width:min(100%,153px);
    filter:invert(1);
  }
  .footer-partners .footer-partner-primary .thon-partner img.footer-logo-cutout{
    width:min(100%,148px);
  }
  .footer-partners .footer-partner-primary .footer-partner .footer-partner-caption{
    display:block;
    width:100%;
    min-height:30px;
    margin:0;
    color:#65767e;
    text-align:center;
    font-size:.60rem;
    font-weight:800;
    letter-spacing:.045em;
    line-height:1.4;
  }
  .footer-partners .heritage-partner{
    box-sizing:border-box;
    display:flex;
    grid-column:2;grid-row:2;
    width:100%;
    min-width:0;
    min-height:142px;
    margin:0;
    padding:13px 9px;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .footer-partners .heritage-text{
    display:flex;
    flex-direction:column-reverse;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    text-align:center;
  }
  .footer-partners .heritage-text strong{
    display:flex;
    min-height:72px;
    align-items:center;
    justify-content:center;
    font-size:1rem;
    line-height:1.2;
    text-align:center;
  }
  .footer-partners .heritage-text small{
    display:block;
    min-height:30px;
    font-size:.60rem;
    font-weight:800;
    letter-spacing:.06em;
    line-height:1.4;
    text-align:center;
  }
}
@media(max-width:380px){
  .footer-partners{padding:9px}
  .footer-partners .footer-partner-primary > .footer-partner,
  .footer-partners .footer-partner-primary > .footer-partner.mensa-partner,
  .footer-partners .heritage-partner{padding:12px 5px}
  .footer-partners .footer-partner-primary .footer-partner .footer-partner-caption,
  .footer-partners .heritage-text small{font-size:.56rem;letter-spacing:.025em}
}


/* Start Here — sourced Bergen quality-of-life ranking, editorial not advertising. */
.companion-bergen-ranking{padding-top:clamp(27px,4.5vw,62px);padding-bottom:clamp(28px,4.5vw,62px)}
.companion-bergen-ranking-card{
  display:grid;grid-template-columns:minmax(0,1.7fr) minmax(235px,.8fr);
  align-items:center;gap:clamp(20px,4vw,54px);
  padding:clamp(22px,3.7vw,47px);border:1px solid #cbded9;
  border-radius:19px;background:#e6f1ec;
}
.companion-bergen-ranking-copy h2{
  margin:9px 0 17px;color:#112c35;
  font-size:clamp(1.85rem,3.45vw,3.2rem);
  letter-spacing:-.038em;line-height:1.13;
}
.companion-bergen-ranking-copy h2 span{color:#126e68}
.companion-bergen-ranking-copy p{
  max-width:70ch;margin:0 0 12px;color:#435b62;
  font-size:clamp(.9rem,1.1vw,1rem);line-height:1.7;
}
.companion-bergen-ranking-copy p a{color:#105e5c;text-decoration:underline;text-underline-offset:3px;font-weight:750}
.companion-bergen-ranking-copy .companion-bergen-ranking-question{
  color:#103e43;font-size:clamp(1.02rem,1.35vw,1.2rem);
  font-weight:850;letter-spacing:-.012em;margin-top:16px;
}
.companion-bergen-ranking-links{display:flex;flex-wrap:wrap;gap:7px 20px;margin-top:17px}
.companion-bergen-ranking-links a{
  display:inline-flex;align-items:center;min-height:38px;
  color:#0d6864;font-weight:790;font-size:.8rem;
  text-decoration:underline;text-underline-offset:3px;
}
.companion-bergen-ranking-links a:hover{color:#092e37}
.companion-bergen-ranking-links a:focus-visible{outline:2px solid #08766d;outline-offset:3px}
.companion-bergen-ranking-copy .companion-bergen-ranking-note{
  margin:10px 0 0;color:#60777a;font-size:.76rem;line-height:1.5;
}
.companion-bergen-ranking-stats{display:grid;grid-template-columns:1fr;gap:12px}
.companion-bergen-ranking-stat{
  box-sizing:border-box;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  min-height:137px;padding:16px 9px;
  border:1px solid #c8ddda;border-radius:12px;
  background:rgba(255,255,255,.69);
}
.companion-bergen-ranking-stat strong{
  color:#0f6a64;font-size:clamp(2.1rem,3.4vw,3.2rem);
  line-height:1;font-weight:900;letter-spacing:-.045em;
}
.companion-bergen-ranking-stat span{margin-top:10px;color:#183b43;font-size:.76rem;letter-spacing:.095em;font-weight:850}
.companion-bergen-ranking-stat small{margin-top:6px;color:#64777c;font-size:.69rem}
@media(max-width:750px){
  .companion-bergen-ranking-card{grid-template-columns:minmax(0,1fr);gap:20px}
  .companion-bergen-ranking-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .companion-bergen-ranking-stat{min-height:112px;padding:14px 7px}
  .companion-bergen-ranking-stat strong{font-size:clamp(2rem,8vw,2.7rem)}
}
@media(max-width:365px){
  .companion-bergen-ranking-card{padding:18px}
  .companion-bergen-ranking-stat span{font-size:.64rem;letter-spacing:.04em}
  .companion-bergen-ranking-stat small{font-size:.62rem}
}


/* Mensa Bergen's Inside Rock Café home: a genuinely special, image-led local note.
   Photo is preview-only until photographer and reuse permission are confirmed. */
.inside-home-feature{padding-top:clamp(18px,3vw,39px);padding-bottom:clamp(27px,4vw,48px)}
.inside-home-shell{
  display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  min-width:0;overflow:hidden;
  border:1px solid #c8d9d8;border-radius:18px;
  background:#e6efec;box-shadow:0 12px 35px rgba(6,31,40,.065);
}
.inside-home-visual{
  position:relative;display:flex;flex-direction:column;
  min-width:0;min-height:480px;margin:0;
  background:linear-gradient(145deg,#112d39,#1d5554);
}
.inside-home-visual img{display:block;width:100%;height:100%;min-height:440px;flex:1 1 auto;object-fit:cover;object-position:center}
.inside-home-photo-label{
  position:absolute;left:19px;top:19px;padding:9px 12px;
  border:1px solid rgba(255,255,255,.33);
  border-radius:5px;background:rgba(6,30,38,.87);
  color:#a9e7dc;letter-spacing:.115em;font-size:.69rem;font-weight:850;
}
.inside-home-visual figcaption{
  position:absolute;bottom:0;left:0;right:0;
  padding:15px 18px 11px;color:#d0dce0;
  background:linear-gradient(transparent,rgba(3,18,24,.9));
  font-size:.65rem;line-height:1.4;
}
.inside-home-visual.inside-home-photo-fallback{justify-content:center;align-items:center}
.inside-home-visual.inside-home-photo-fallback::before{
  content:"Inside Rock Café · Bergen";display:block;color:#ddf2e7;
  font-size:clamp(1.3rem,2.5vw,2rem);font-weight:800;text-align:center;
  padding:60px 20px;
}
.inside-home-story{
  display:flex;flex-direction:column;justify-content:center;min-width:0;
  padding:clamp(23px,3.2vw,43px);
}
.inside-home-story h2{
  margin:7px 0 18px;font-size:clamp(2rem,3.8vw,3.35rem);
  line-height:1.05;letter-spacing:-.046em;color:#142e38;
}
.inside-home-story h2 span{color:#17746d}
.inside-home-story p{margin:0 0 14px;font-size:.91rem;line-height:1.67;color:#415963}
.inside-home-story p.inside-home-lede{font-size:1.03rem;line-height:1.58;font-weight:740;color:#24444b}
.inside-home-offer{
  padding:14px 17px;margin:6px 0 16px;
  border:1px solid #a9d5ca;border-left:4px solid #248c7a;
  background:#f8fcf9;border-radius:9px;
}
.inside-home-offer>strong{display:block;color:#14564e;font-size:.92rem;line-height:1.35;margin-bottom:5px}
.inside-home-story .inside-home-offer p{margin:0;font-size:.85rem;line-height:1.57}
.inside-home-story p.inside-home-note{font-size:.75rem;line-height:1.55;color:#60757a}
.inside-home-story p.inside-home-address{margin-top:3px;color:#284d53;font-weight:800;font-size:.82rem}
.inside-home-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:2px}
.inside-home-links a{
  display:inline-flex;align-items:center;min-height:44px;
  color:#0e6d62;font-weight:800;font-size:.82rem;
  text-underline-offset:4px;
}
.inside-home-links a:hover{color:#083f42}
.inside-home-links a:focus-visible{outline:2px solid #098b78;outline-offset:3px}
@media(max-width:920px){
  .inside-home-shell{grid-template-columns:minmax(0,1fr)}
  .inside-home-visual{min-height:0;height:clamp(230px,46vw,430px)}
  .inside-home-visual img{min-height:0}
  .inside-home-story{padding:clamp(18px,4.5vw,30px)}
}
@media(max-width:660px){
  .inside-home-feature{padding-top:13px}
  .inside-home-shell{border-radius:14px}
  .inside-home-visual{height:clamp(220px,62vw,310px)}
  .inside-home-story h2{font-size:clamp(1.95rem,9vw,2.65rem)}
  .inside-home-photo-label{top:12px;left:12px;padding:7px 9px;font-size:.62rem}
  .inside-home-visual figcaption{font-size:.61rem}
}


/* Inside Rock Café: organiser-supplied portrait group photograph.
   Keep the actual framing visible at phone and tablet widths. */
.inside-home-visual img.inside-community-photo{object-position:center center}
@media(max-width:920px){
  .inside-home-visual:has(img.inside-community-photo){
    height:clamp(340px,74vw,570px);
    background:linear-gradient(145deg,#111b36,#112f42);
  }
  .inside-home-visual img.inside-community-photo{object-fit:contain}
}
@media(max-width:660px){
  .inside-home-visual:has(img.inside-community-photo){height:clamp(340px,126vw,510px)}
  .inside-home-visual img.inside-community-photo{object-fit:contain}
}


/* Brief, high-contrast currency notices beside visitor prices.
   One consistent component on pale and dark sections. */
.price-fx-note{
  box-sizing:border-box;display:block;max-width:100%;
  margin:16px 0;padding:11px 14px;
  border-left:3px solid #c28b24;border-radius:0 9px 9px 0;
  background:#fff5d8;color:#263c40;
  font-size:.85rem;line-height:1.55;
}
.price-fx-note strong{color:#182e35;font-weight:850}
.price-fx-note a{color:#126e68;font-weight:800;text-underline-offset:3px}
.price-fx-note.price-fx-note--dark{
  background:rgba(250,227,160,.12);
  color:#eaf0ec;border-color:#e9c46c;
}
.price-fx-note.price-fx-note--dark strong{color:#fff8df}
.price-fx-note.price-fx-note--dark a{color:#9cebe0}
.price-fx-note a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.companion-steps .price-fx-note,
.stay-booking-section .price-fx-note{font-size:.85rem;max-width:100%}
.stay-booking-section .silvensa-hotel-deal-note.price-fx-note{margin:17px 0 20px;line-height:1.55}
.stay-price-comparison-fineprint.price-fx-note{margin:12px 0 20px;font-size:.78rem;line-height:1.6}
@media(max-width:660px){.price-fx-note{font-size:.8rem;padding:10px 12px;margin:13px 0}}
