:root{--ink:#092f3b;--red:#c84a38;--cream:#f3eadb;--paper:#fffdf8;--green:#295f4e;--line:#d8d3c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}a{color:inherit}.hero{min-height:92vh;position:relative;color:white;background:linear-gradient(90deg,rgba(4,32,42,.94) 0%,rgba(4,32,42,.65) 45%,rgba(4,32,42,.12) 100%),url("../images/bergen-hero-1536.webp") center/cover;display:flex;flex-direction:column;padding:24px clamp(22px,5vw,76px)}nav{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.brand{font-weight:700;text-decoration:none;letter-spacing:.02em}.brand span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;margin-right:9px;font-size:.72rem}.weather{font-size:.85rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55)}.hero-content{margin:auto 0;max-width:650px;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:700}.hero h1,.section-head h2,.tips h2{font:400 clamp(3.6rem,10vw,7.5rem)/.83 "DM Serif Display",serif;letter-spacing:-.04em;margin:24px 0}.hero h1 em{font-weight:400;color:#efb55c}.intro{max-width:520px;font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.55;color:#eef1ec}.primary{display:inline-flex;gap:42px;align-items:center;margin-top:24px;padding:15px 19px;background:var(--red);color:white;text-decoration:none;font-weight:700;border-radius:2px}.image-note{position:absolute;right:clamp(22px,5vw,76px);bottom:24px;font-size:.72rem;letter-spacing:.1em;writing-mode:vertical-rl}.quick{display:grid;grid-template-columns:repeat(3,1fr);max-width:1080px;margin:-42px auto 0;position:relative;background:var(--cream);border-left:6px solid var(--red);padding:28px 34px;box-shadow:0 18px 50px rgba(9,47,59,.12)}.quick div{display:flex;flex-direction:column;padding:0 28px;border-right:1px solid #c8bdaa}.quick div:last-child{border:0}.quick strong{font:400 1.75rem "DM Serif Display",serif}.quick span{font-size:.78rem;color:#49626a}.route,.food,.tips{max-width:1080px;margin:0 auto;padding:120px 28px}.section-head{display:grid;grid-template-columns:1.5fr .7fr;gap:50px;align-items:end;margin-bottom:70px}.section-head h2{font-size:clamp(3rem,7vw,5.8rem);margin:16px 0 0}.section-head>p{max-width:340px;color:#526970}.red{color:var(--red)}.stops{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.stops li{display:grid;grid-template-columns:90px 1fr;padding:42px 0;border-bottom:1px solid var(--line)}.number{font:400 2.6rem "DM Serif Display",serif;color:var(--red)}.stop-copy{display:grid;grid-template-columns:minmax(180px,1fr) 1.6fr auto;gap:30px;align-items:start}.stop-copy h3{font:400 2rem "DM Serif Display",serif;margin:24px 0 0;grid-row:1/3}.duration{grid-column:1;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.stop-copy p{margin:0;color:#526970}.stop-copy a,.choices a,.food a{font-weight:700;font-size:.8rem;text-decoration:none;border-bottom:1px solid currentColor;white-space:nowrap}.slow-note{margin:70px 0 0 90px;background:var(--cream);padding:28px 34px;display:grid;grid-template-columns:150px 1fr;gap:30px}.slow-note span{font-weight:700;color:var(--red);text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}.slow-note p{margin:0;font:400 1.3rem "DM Serif Display",serif}.day-two{background:var(--ink);color:white;padding:110px max(28px,calc((100vw - 1080px)/2 + 28px))}.section-head.light>p{color:#b7c6c9}.choices{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #49656d}.choices article{min-height:400px;padding:32px;display:flex;flex-direction:column;border-right:1px solid #49656d}.choices article:last-child{border:0}.icon{font-size:2rem;color:#efb55c}.label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin-top:60px}.choices h3{font:400 2.1rem/1 "DM Serif Display",serif;margin:8px 0 30px}.choices a{width:max-content;margin:7px 0;color:#e8efee}.food-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.food-grid article{display:grid;grid-template-columns:55px 1fr;padding:34px;background:var(--cream)}.food-grid article>span{font:400 1.5rem "DM Serif Display",serif;color:var(--red)}.food h3{font:400 1.8rem "DM Serif Display",serif;margin:0}.food p{color:#526970}.tips{max-width:none;background:var(--red);color:white;padding-left:max(28px,calc((100vw - 1080px)/2 + 28px));padding-right:max(28px,calc((100vw - 1080px)/2 + 28px))}.tips h2{font-size:clamp(2.8rem,6vw,5rem);margin:15px 0 60px}.tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.tip-grid p{border-top:1px solid rgba(255,255,255,.5);padding-top:20px;display:grid;grid-template-columns:45px 1fr}.tip-grid strong{font-family:"DM Serif Display",serif}footer{background:#05242e;color:white;padding:50px max(28px,calc((100vw - 1080px)/2 + 28px));display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}footer p{margin:7px 0;color:#b8c7ca}footer .brand{color:white}footer>a{text-decoration:none;font-weight:700}footer small{grid-column:1/-1;color:#81969c}
@media(max-width:760px){.hero{min-height:88vh;background-position:61% center}.weather{font-size:.72rem}.hero h1{font-size:clamp(3.3rem,18vw,5.2rem)}.image-note{display:none}.quick{margin:0;grid-template-columns:1fr;padding:20px 24px;box-shadow:none}.quick div{border-right:0;border-bottom:1px solid #c8bdaa;padding:14px 0}.quick div:last-child{border:0}.route,.food,.tips{padding:85px 22px}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:45px}.section-head h2{font-size:3.5rem}.stops li{grid-template-columns:55px 1fr;padding:32px 0}.number{font-size:1.7rem}.stop-copy{display:block}.stop-copy h3{font-size:1.8rem;margin:5px 0 12px}.stop-copy p{margin-bottom:18px}.slow-note{margin:45px 0 0;padding:24px;grid-template-columns:1fr;gap:10px}.day-two{padding:85px 22px}.choices{grid-template-columns:1fr}.choices article{min-height:320px;border-right:0;border-bottom:1px solid #49656d}.choices article:last-child{border:0}.label{margin-top:34px}.food-grid,.tip-grid{grid-template-columns:1fr}.food-grid article{padding:28px 22px}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.weather-card{display:flex;align-items:center;gap:10px;min-width:158px;padding:9px 12px;border:1px solid rgba(255,255,255,.42);background:rgba(5,36,46,.54);backdrop-filter:blur(12px);border-radius:3px}.weather-icon{display:grid;place-items:center;width:31px;height:31px;font-size:1.35rem;color:#efb55c}.weather-copy{display:flex;flex-direction:column;line-height:1.25}.weather-copy strong{font-size:.88rem}.weather-copy small{font-size:.68rem;color:#dce6e7}
@media(max-width:760px){.weather-card{min-width:0;padding:7px 9px}.weather-icon{width:24px;height:24px}.weather-copy strong{font-size:.78rem}.weather-copy small{font-size:.62rem;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.directory{max-width:1080px;margin:0 auto;padding:120px 28px}.directory-tools{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:20px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}.search-box{display:flex;align-items:center;gap:10px;background:var(--cream);padding:0 15px;min-height:48px}.search-box>span:first-child{font-size:1.5rem;color:var(--red)}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem}.filters{display:flex;gap:8px;justify-content:flex-end;overflow-x:auto;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter-button{min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 14px;font:600 .78rem "DM Sans",sans-serif;white-space:nowrap;cursor:pointer}.filter-button:hover,.filter-button:focus-visible{border-color:var(--red);outline:none}.filter-button.active{background:var(--ink);border-color:var(--ink);color:white}.result-count{margin:25px 0 18px;color:#62767c;font-size:.8rem}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.place-card{min-height:250px;padding:25px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.place-card:hover{transform:translateY(-3px);border-color:#b7aea0;box-shadow:0 14px 32px rgba(9,47,59,.09)}.place-type{color:var(--red);font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.place-card h3{font:400 1.55rem/1.08 "DM Serif Display",serif;margin:13px 0 12px}.place-card p{color:#526970;font-size:.88rem;margin:0 0 22px}.place-card a{margin-top:auto;width:max-content;text-decoration:none;font-size:.76rem;font-weight:700;border-bottom:1px solid currentColor}.empty-places{grid-column:1/-1;padding:60px 20px;text-align:center;background:var(--cream);color:#526970}.local-basket{margin-top:70px;padding:38px;background:var(--ink);color:white}.local-basket h3{font:400 2.25rem "DM Serif Display",serif;margin:8px 0 25px}.local-basket div{display:flex;flex-wrap:wrap;gap:9px}.local-basket span{border:1px solid #49656d;padding:9px 13px;font-size:.82rem;color:#e5eeee}
@media(max-width:900px){.directory-tools{grid-template-columns:1fr}.filters{justify-content:flex-start}.place-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.directory{padding:85px 22px}.filters{margin-right:-22px;padding-right:22px}.place-grid{grid-template-columns:1fr}.place-card{min-height:220px}.local-basket{margin-top:45px;padding:28px 22px}.local-basket h3{font-size:1.9rem}}
.top-tools{display:flex;align-items:center;gap:10px}.language-switcher{display:flex;border:1px solid rgba(255,255,255,.42);background:rgba(5,36,46,.5);backdrop-filter:blur(12px)}.language-switcher button{width:38px;height:38px;border:0;border-right:1px solid rgba(255,255,255,.25);background:transparent;color:white;font:700 .68rem "DM Sans",sans-serif;cursor:pointer}.language-switcher button:last-child{border-right:0}.language-switcher button[aria-pressed="true"]{background:white;color:var(--ink)}.language-switcher button:focus-visible{outline:2px solid #efb55c;outline-offset:2px}.share-strip{max-width:1080px;margin:26px auto 0;padding:24px 28px;background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:center;gap:30px}.share-strip>div:first-child{display:flex;align-items:center;gap:16px}.share-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--red);font-size:1.25rem}.share-strip p{display:flex;flex-direction:column;margin:0}.share-strip small{color:#b8c8cc}.share-actions{display:flex;gap:8px}.share-actions button,.nearby-button{min-height:44px;border:1px solid rgba(255,255,255,.35);background:transparent;color:white;padding:10px 15px;font:700 .78rem "DM Sans",sans-serif;cursor:pointer}.share-actions button:first-child{background:var(--red);border-color:var(--red)}.directory-actions{display:flex;align-items:center;gap:12px;min-width:0}.directory-actions .filters{flex:1}.nearby-button{color:var(--ink);border-color:var(--line);white-space:nowrap}.nearby-button:hover,.nearby-button:focus-visible,.nearby-button.active{background:var(--green);border-color:var(--green);color:white;outline:0}.location-note{min-height:1.4em;margin:16px 0 0;color:var(--green);font-size:.78rem}.result-count{margin-top:8px}.place-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.favorite-button{width:38px;height:38px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.25rem;line-height:1;cursor:pointer}.favorite-button:hover,.favorite-button:focus-visible,.favorite-button.active{background:var(--red);border-color:var(--red);color:white;outline:none}.place-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}.place-tags span{font-size:.65rem;font-weight:700;color:#47616a;background:var(--cream);padding:5px 7px}.place-tags .distance-badge{background:var(--green);color:white}.practical{max-width:1080px;margin:0 auto;padding:120px 28px}.practical-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.practical-grid article{min-height:280px;padding:26px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.practical-grid article>span{font:400 1.3rem "DM Serif Display",serif;color:var(--red)}.practical-grid h3{font:400 1.55rem "DM Serif Display",serif;margin:28px 0 10px}.practical-grid p{font-size:.84rem;color:#526970;margin:0 0 20px}.practical-grid a{margin-top:auto;width:max-content;font-size:.72rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}.qr-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,460px)}.qr-dialog::backdrop{background:rgba(5,36,46,.8);backdrop-filter:blur(5px)}.qr-inner{position:relative;background:var(--paper);padding:38px;text-align:center;color:var(--ink)}.qr-inner h2{font:400 2.25rem "DM Serif Display",serif;margin:8px 0 22px}.qr-inner img{display:block;width:260px;height:260px;max-width:100%;margin:0 auto;background:white}.qr-inner>p:last-child{font-size:.78rem;color:#526970;max-width:320px;margin:20px auto 0}.dialog-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;background:transparent;font-size:1.6rem;cursor:pointer}.toast{position:fixed;left:50%;bottom:24px;z-index:20;transform:translate(-50%,20px);padding:12px 18px;background:var(--ink);color:white;opacity:0;pointer-events:none;transition:.2s ease;box-shadow:0 10px 30px rgba(0,0,0,.2)}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.directory-actions{align-items:flex-start;flex-direction:column}.directory-actions .filters{width:100%}.practical-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){nav{align-items:flex-start}.top-tools{flex-direction:column-reverse;align-items:flex-end}.language-switcher button{width:34px;height:32px}.share-strip{margin-top:0;padding:22px;align-items:flex-start;flex-direction:column}.share-actions{width:100%}.share-actions button{flex:1}.practical{padding:85px 22px}.practical-grid{grid-template-columns:1fr}.practical-grid article{min-height:240px}.qr-inner{padding:34px 22px}.directory-tools{gap:14px}}
@media(max-width:430px){.weather-card{max-width:142px}.weather-copy small{max-width:82px}.hero nav .brand{font-size:.82rem}.hero nav .brand span{width:30px;height:30px;margin-right:5px}}
.hero-recognition{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;max-width:610px;margin:20px 0 2px;padding:12px 0;border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4);font-size:.9rem;line-height:1.4}.hero-recognition span{font-weight:700;color:#f6d59c}.hero-recognition a{color:#fff;text-underline-offset:4px;font-size:.82rem}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.language-switcher{display:block;min-width:0}.language-switcher select{display:block;min-height:40px;max-width:100%;padding:7px 30px 7px 10px;background:rgba(5,36,46,.82);color:white;border:0;font:600 .85rem "DM Sans",sans-serif;cursor:pointer}.language-switcher select:focus-visible{outline:2px solid #efb55c;outline-offset:2px}.language-switcher select option{background:#082d3a;color:white}@media(max-width:760px){.language-switcher select{min-height:36px;font-size:.78rem;max-width:145px}}
.aurora{background:radial-gradient(ellipse at 80% 0%,#28675e 0%,transparent 55%),linear-gradient(140deg,#041923,#102f3c 72%,#163e42);color:#f3f7f4;padding:110px 28px}.aurora-inner{max-width:1024px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.aurora h2{font:400 clamp(3rem,7vw,5.8rem)/1 "DM Serif Display",serif;margin:16px 0 32px}.aurora-copy p:not(.eyebrow){max-width:590px;font-size:1.05rem;color:#d9e7e3}.aurora .eyebrow{color:#bfe2b9}.aurora a{display:inline-block;margin-top:18px;color:#f4d7a2;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}.aurora-panel{padding:34px;border:1px solid #648982;background:rgba(4,25,35,.58)}.aurora-reading{display:flex;gap:10px;align-items:baseline;margin:22px 0 10px}.aurora-reading strong{font:400 5.8rem/.9 "DM Serif Display",serif}.aurora-reading span{font-weight:700;color:#bfe2b9}.aurora-panel p:not(.eyebrow){color:#e3eeeb}.aurora-panel small{display:block;color:#b9cbc8;line-height:1.5;font-size:.82rem}.aurora-panel a{font-size:.82rem}@media(max-width:760px){.aurora{padding:85px 22px}.aurora-inner{grid-template-columns:1fr;gap:36px}.aurora-panel{padding:26px}.aurora-reading strong{font-size:4.8rem}}
.aurora-gallery{grid-column:1/-1;margin-top:30px;padding-top:54px;border-top:1px solid #648982}.aurora-gallery-header{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:30px}.aurora-gallery-header h3{font:400 clamp(2.2rem,4vw,3.4rem)/1.05 "DM Serif Display",serif;margin:10px 0 0}.aurora-gallery-header>p{margin:0;color:#d9e7e3}.aurora-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.aurora-thumb{display:block;width:100%;aspect-ratio:3/4;padding:0;border:0;background:#102f3c;overflow:hidden;cursor:zoom-in}.aurora-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.aurora-thumb:hover img{transform:scale(1.055)}.aurora-thumb:focus-visible{outline:3px solid #f4d7a2;outline-offset:3px}.aurora-gallery-note{max-width:720px;margin:25px 0 0;color:#d9e7e3}.aurora-dialog{border:0;padding:0;background:transparent;color:white;max-width:100vw;max-height:100dvh;overflow:visible}.aurora-dialog::backdrop{background:rgba(2,14,20,.94)}.aurora-dialog-inner{position:relative;display:grid;place-items:center;min-width:min(95vw,500px);height:min(94dvh,1050px)}.aurora-dialog img{display:block;max-width:92vw;max-height:84dvh;width:auto;height:auto;object-fit:contain}.aurora-dialog button{position:absolute;z-index:1;display:grid;place-items:center;border:1px solid #91aaa9;background:rgba(4,25,35,.82);color:white;width:46px;height:46px;font-size:2rem;cursor:pointer}.aurora-dialog button:focus-visible{outline:3px solid #f4d7a2}.aurora-dialog-close{top:5px;right:5px}.aurora-dialog-prev{left:5px;top:50%;transform:translateY(-50%)}.aurora-dialog-next{right:5px;top:50%;transform:translateY(-50%)}.aurora-dialog #aurora-counter{margin:5px 0 0;font-size:.85rem;color:#d9e7e3}@media(max-width:760px){.aurora-gallery{margin-top:0;padding-top:35px}.aurora-gallery-header{grid-template-columns:1fr;gap:12px}.aurora-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.aurora-dialog-inner{min-width:95vw}.aurora-dialog-prev{left:0}.aurora-dialog-next{right:0}}@media(prefers-reduced-motion:reduce){.aurora-thumb img{transition:none}}
.place-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:28px}.place-pagination[hidden]{display:none}.place-pagination button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:white;color:var(--ink);font:inherit;cursor:pointer}.place-pagination button[aria-current=page]{background:var(--ink);color:white}.place-pagination button:disabled{opacity:.4;cursor:default}.place-pagination button:focus-visible{outline:2px solid var(--red);outline-offset:2px}.place-card-actions{display:flex;gap:7px;align-items:flex-start}.place-card-top{flex-wrap:wrap}.bergen-benefit{position:relative;font-size:.8rem;margin-left:auto}.bergen-benefit summary{cursor:pointer;background:#e5f0e7;color:#224b37;padding:8px;border:1px solid #b2cbb7;font-weight:700;list-style:none;white-space:nowrap}.bergen-benefit[open]{max-width:210px}.bergen-benefit p{font-size:.85rem;margin:10px 0}.place-card .bergen-benefit a{font-size:.8rem}.cash-details{font-size:.85rem}.cash-details summary{cursor:pointer;font-weight:700;margin-bottom:12px}.cash-details p{margin-top:12px}.practical-grid .cash-details a{white-space:normal}#place-count{scroll-margin-top:22px}
/* Category labels wrap at every width, including longer PT/ES translations. */
.directory-tools{grid-template-columns:1fr;gap:16px}.directory-actions{display:flex;flex-direction:column;align-items:stretch;min-width:0}.directory-actions .filters{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%;margin:0;padding:0;overflow:visible;min-width:0}.filter-button{flex:0 1 auto;white-space:normal;max-width:100%;font-size:.875rem;line-height:1.35;text-align:center}.nearby-button{align-self:flex-start;font-size:.875rem}.city-calendar{max-width:1080px;margin:auto;padding:80px 28px}.city-calendar .section-head{margin-bottom:36px}.calendar-quarter{border-top:1px solid var(--line)}.calendar-quarter:last-child{border-bottom:1px solid var(--line)}.calendar-quarter>summary{padding:20px 5px;font:400 1.7rem 'DM Serif Display',serif;cursor:pointer}.calendar-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 24px}.calendar-events article{padding:24px;background:var(--cream)}.calendar-events strong{display:block;font-size:1rem}.calendar-status{display:inline-block;margin-top:9px;font-size:.8rem;background:var(--ink);color:white;padding:4px 8px}.calendar-status.estimate{background:#765214}.calendar-events h3{font:400 1.5rem/1.2 'DM Serif Display',serif;margin:18px 0 10px}.calendar-events p{margin:0 0 15px}.calendar-events a{font-size:.875rem;font-weight:700}.calendar-note{font-size:.875rem;color:#526970;margin-top:24px}@media(max-width:600px){.city-calendar{padding:70px 22px}.calendar-events{grid-template-columns:1fr}.filter-button{padding:10px 12px}.place-card-actions{flex-wrap:wrap}}

.transport-options{margin-top:18px;font-size:.875rem}.transport-options summary{cursor:pointer;font-weight:700}.transport-options p{margin:18px 0 10px}.practical-grid .transport-options a{display:block;width:fit-content;max-width:100%;font-size:.875rem;margin:8px 0;overflow-wrap:anywhere}
[hidden]{display:none!important}.quick .route-choice,.quick .route-directory{display:flex;flex-direction:column;justify-content:center;text-align:left;padding:14px 24px;border:0;border-right:1px solid #c8bdaa;background:transparent;color:var(--ink);font:inherit;cursor:pointer;text-decoration:none}.quick .route-choice[aria-pressed=true]{background:var(--ink);color:white}.quick .route-choice[aria-pressed=true] span{color:#dce9ec}.quick .route-directory{border-right:0}.route-choice:focus-visible,.route-directory:focus-visible{outline:3px solid var(--red);outline-offset:3px}.route-notice{max-width:1024px;margin:20px auto;padding:0 22px;font-size:.9rem;color:#526970}.site-menu{display:flex;flex-wrap:wrap;gap:10px 24px;margin:18px 0;font-size:.9rem}.site-menu a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}.nightlife-note{padding:16px;background:var(--cream);font-size:.9rem}.place-card .venue-link{margin-top:12px}.stories-strip{max-width:1080px;margin:auto;padding:75px 28px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.stories-strip h2{font:400 2.4rem/1.1 'DM Serif Display',serif}.stories-strip a{font-weight:700}.page-header{background:var(--ink);color:white;padding:24px max(22px,calc((100vw - 1024px)/2));display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}.page-header .site-menu{margin:0}.page-main{max-width:1080px;margin:auto;padding:70px 28px 90px;min-height:65vh}.page-main h1{font:400 clamp(2.8rem,7vw,5rem)/1.02 'DM Serif Display',serif;margin:20px 0 30px;overflow-wrap:anywhere}.page-lead{font-size:1.15rem;max-width:750px;color:#526970}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.journal-card{border:1px solid var(--line);padding:24px}.journal-card img{width:100%;height:260px;object-fit:cover}.journal-card h2{font:400 1.8rem/1.15 'DM Serif Display',serif}.journal-card a{font-weight:700}.article-content{max-width:760px}.article-content p{font-size:1.1rem;line-height:1.8}.article-photo{width:min(100%,560px);max-height:680px;object-fit:contain;background:var(--ink);margin:25px 0}.author-line{color:#526970;font-size:.9rem}.sponsor-label{display:inline-block;background:var(--cream);padding:8px 12px}.empty-editorial{border-left:4px solid var(--red);background:var(--cream);padding:25px;margin:35px 0;max-width:750px}.page-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px}.page-footer small{color:#bfd2d4}.editor-form{max-width:800px;display:grid;gap:18px}.editor-form label{display:grid;gap:8px;font-weight:700}.editor-form input:not([type=checkbox]),.editor-form textarea,.editor-form select{font:inherit;color:var(--ink);padding:12px;border:1px solid #aebdc1;background:white;max-width:100%;width:100%}.editor-form textarea{min-height:250px;resize:vertical}.editor-actions{display:flex;flex-wrap:wrap;gap:10px}.editor-actions button,.editor-actions a{background:var(--ink);color:white;border:0;padding:13px 18px;font:inherit;cursor:pointer}.editor-preview{padding:25px;background:white;border:1px solid var(--line);overflow-wrap:anywhere}.editor-preview p{white-space:pre-wrap}.editor-form .check-row{display:flex;align-items:center;font-weight:400}.editor-notice{padding:18px;background:var(--cream);max-width:800px}.editor-status{min-height:1.5em;font-size:.9rem}.editor-import input{font-weight:400}@media(max-width:760px){.quick{padding:15px;grid-template-columns:1fr 1fr}.quick .route-choice{padding:16px 12px;border:0}.quick .route-directory{grid-column:1/-1;padding:16px 12px}.stories-strip{grid-template-columns:1fr;gap:28px;padding:55px 22px}.journal-grid{grid-template-columns:1fr}.page-main{padding:45px 22px}.page-header{align-items:flex-start}.page-header .site-menu{font-size:.85rem}.page-header .language-switcher{margin-left:auto}}

/* Static day summaries: both itinerary sections are always visible. */
.quick .route-summary{display:flex;flex-direction:column;justify-content:center;padding:14px 24px;border-right:1px solid #c8bdaa;cursor:default}.transport-options h4{font-size:1rem;margin:20px 0 8px}@media(max-width:760px){.quick .route-summary{padding:16px 12px;border:0}}

.practical-grid article> a{max-width:100%;white-space:normal;overflow-wrap:anywhere}.nightlife-note p{margin-top:0}.nightlife-note a{font-size:.85rem}

.profile-illustration{display:block;flex:none;width:112px;height:112px;object-fit:contain}.choices .profile-illustration + .label{margin-top:32px}@media(max-width:760px){.profile-illustration{width:112px;height:112px}}

.author-teaser{max-width:1080px;margin:42px auto 0;padding:24px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:28px}.author-teaser .eyebrow{margin:0}.author-teaser>p:not(.eyebrow){margin:0;font-size:1rem;max-width:620px}.author-teaser a{font-size:.83rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;white-space:nowrap}.about-page{max-width:780px;margin:0 auto}.about-page>h1{max-width:730px}.about-subtitle{font:400 clamp(1.5rem,3vw,2.1rem)/1.2 "DM Serif Display",serif;color:var(--red);max-width:660px;margin:12px 0 42px}.about-story{max-width:680px}.about-story p{font-size:1.05rem;line-height:1.8;color:#344f57;margin:0 0 22px}.about-story section{border-top:1px solid var(--line);margin-top:52px;padding-top:36px}.about-story h2{font:400 clamp(2rem,5vw,2.8rem)/1.1 "DM Serif Display",serif;margin:0 0 25px}.about-story .about-closing{background:var(--cream);border:0;margin:60px -28px 0;padding:34px 28px}.about-story .about-closing p:last-child{margin-bottom:0;color:var(--ink)}
@media(max-width:760px){.author-teaser{margin:24px 22px 0;padding:22px 0;grid-template-columns:1fr;gap:10px}.author-teaser a{justify-self:start}.about-subtitle{margin-bottom:32px}.about-story section{margin-top:40px;padding-top:28px}.about-story .about-closing{margin:48px -12px 0;padding:28px 20px}}

.social-links{display:flex;align-items:center;gap:9px}.social-links a{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #78939a;border-radius:50%;color:white;text-decoration:none;font:700 .82rem "DM Sans",sans-serif;letter-spacing:-.04em;transition:background .2s ease,border-color .2s ease}.social-links a:hover,.social-links a:focus-visible{background:var(--red);border-color:var(--red);outline:none}.page-footer .social-links{margin-left:auto}@media(max-width:760px){.page-footer .social-links{margin-left:0}}

.blog-card{display:flex;flex-direction:column;min-height:270px}.blog-card p{color:#526970;margin:0 0 26px;line-height:1.6}.blog-card>a{margin-top:auto;align-self:flex-start;text-decoration:none;border-bottom:1px solid currentColor}.blog-card img{margin-bottom:20px}.article-note{margin:38px 0;padding:18px 24px;border-left:4px solid var(--red);background:var(--cream)}.article-note p{margin:0;font-size:1rem}.article-sources{margin:45px 0;padding-top:25px;border-top:1px solid var(--line)}.article-sources h2{font:400 1.6rem "DM Serif Display",serif;margin:0 0 12px}.article-sources ul{padding-left:20px;margin:0}.article-sources li{margin:6px 0}.article-sources a{font-size:.92rem;overflow-wrap:anywhere}
.blog-category{margin-top:68px}.blog-category h2{font:400 clamp(2.2rem,5vw,3.2rem) "DM Serif Display",serif;margin:0 0 22px}.blog-category .journal-grid{margin-top:0}.blog-card h3{font:400 1.8rem/1.15 "DM Serif Display",serif;margin:6px 0 12px}.story-category{display:block;color:var(--red);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.article-content>.story-category{margin-top:35px}
.practical-grid article a + a{margin-top:8px}
/* Keep the itinerary summary below the hero at every zoom and text size. */
.hero{padding-bottom:64px}.hero-content{flex-shrink:0;padding:32px 0}.quick{margin:0 auto;z-index:0}
@media(max-width:760px){.hero{padding-bottom:40px}.hero-content{padding:24px 0}}
/* Compact language menu with SVG flags, independent of emoji support. */
.language-switcher{display:block;position:relative;z-index:15;min-width:0;border:1px solid rgba(255,255,255,.42);background:rgba(5,36,46,.75);backdrop-filter:blur(12px)}
.language-switcher summary{display:flex;align-items:center;gap:7px;min-height:42px;padding:7px 10px;color:white;font:700 .82rem "DM Sans",sans-serif;cursor:pointer;list-style:none;user-select:none}
.language-switcher summary::-webkit-details-marker{display:none}.language-switcher summary::after{content:'⌄';margin-left:4px;font-size:1rem;line-height:1}.language-switcher img{display:block;width:26px;height:18px;object-fit:cover;border:1px solid rgba(255,255,255,.25)}
.language-switcher .language-options{position:absolute;top:calc(100% + 4px);right:0;min-width:86px;padding:5px;background:#082d3a;border:1px solid #78939a;box-shadow:0 12px 25px rgba(0,0,0,.25)}
.language-options a{display:flex;align-items:center;gap:8px;min-height:40px;padding:7px 8px;color:white;text-decoration:none;font:700 .8rem "DM Sans",sans-serif}.language-options a:hover,.language-options a:focus-visible,.language-options a[aria-current=page]{background:#295f4e;outline:0}
.language-switcher summary:focus-visible{outline:2px solid #efb55c;outline-offset:2px}.page-header .language-switcher{margin-left:auto}
.local-basket .food-buttons{display:flex;flex-wrap:wrap;gap:9px}.local-basket .food-buttons button{border:1px solid #78939a;padding:10px 14px;background:transparent;color:#e5eeee;font:600 .85rem "DM Sans",sans-serif;cursor:pointer}.local-basket .food-buttons button:hover,.local-basket .food-buttons button:focus-visible{border-color:#f2b85e;background:#204757;outline:none}
.food-dialog{width:min(680px,92vw);max-height:90vh;padding:0;border:0;background:var(--paper);color:var(--ink)}.food-dialog::backdrop{background:rgba(4,29,38,.82)}.food-dialog-inner{display:grid;grid-template-columns:44% 1fr;position:relative}.food-dialog-inner>img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover}.food-dialog-inner>div{padding:38px 32px;align-self:center}.food-dialog h2{font:400 2.45rem/1.05 "DM Serif Display",serif;margin:12px 0 20px}.food-dialog p:not(.eyebrow){font-size:1rem;line-height:1.6}.food-dialog small{color:#526970}.food-dialog .dialog-close{z-index:1;background:var(--paper);border-radius:50%}
.contact-section{max-width:1080px;margin:0 auto;padding:90px 28px;display:grid;grid-template-columns:minmax(240px,.85fr) minmax(320px,1fr);gap:clamp(36px,8vw,100px);border-top:1px solid var(--line)}.contact-intro h2{font:400 clamp(2.5rem,5vw,4rem)/1 "DM Serif Display",serif;margin:14px 0 22px}.contact-intro>p:not(.eyebrow){font-size:1.07rem;color:#526970}.contact-social{margin-top:28px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:7px;font-size:.85rem;font-weight:700}.contact-form label:nth-child(3),.contact-form label:nth-child(4){grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:45px;padding:10px 12px;background:white;border:1px solid #aebdc1;border-radius:0;color:var(--ink);font:400 1rem "DM Sans",sans-serif}.contact-form textarea{resize:vertical}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--green);outline-offset:1px}.contact-form button{width:max-content;padding:13px 18px;border:0;background:var(--red);color:white;font:700 .9rem "DM Sans",sans-serif;cursor:pointer}.contact-form button:hover,.contact-form button:focus-visible{background:#9c3427;outline:0}.contact-note{align-self:center;margin:0;color:#526970;font-size:.78rem;line-height:1.45}
.social-links{display:flex;align-items:center;gap:12px}.social-links a{display:inline-grid;place-items:center;width:50px;height:50px;border:0;border-radius:12px;background:transparent;transition:transform .2s ease}.social-links a img{display:block;width:48px;height:48px}.social-links a:hover,.social-links a:focus-visible{transform:translateY(-3px);background:transparent;outline:2px solid currentColor;outline-offset:3px}.page-footer .social-links{margin-left:auto}
@media(max-width:760px){.language-switcher summary{min-height:36px}.contact-section{grid-template-columns:1fr;padding:65px 22px;gap:26px}.contact-form{grid-template-columns:1fr}.contact-form label:nth-child(3),.contact-form label:nth-child(4){grid-column:1}.contact-note{max-width:35ch}.food-dialog-inner{grid-template-columns:1fr}.food-dialog-inner>img{height:240px;min-height:0}.food-dialog-inner>div{padding:24px}.food-dialog h2{font-size:2rem}.page-footer .social-links{margin-left:0}}

/* Same full-frame image and cover positioning; alternate encodings only. */
@media(max-width:1024px){.hero{background-image:linear-gradient(90deg,rgba(4,32,42,.94) 0%,rgba(4,32,42,.65) 45%,rgba(4,32,42,.12) 100%),url("../images/bergen-hero-1024.webp")}}
@media(max-width:760px){.hero{background-image:linear-gradient(90deg,rgba(4,32,42,.94) 0%,rgba(4,32,42,.65) 45%,rgba(4,32,42,.12) 100%),url("../images/bergen-hero-768.webp");background-position:61% center}}
@media(max-width:760px) and (min-resolution:2dppx){.hero{background-image:linear-gradient(90deg,rgba(4,32,42,.94) 0%,rgba(4,32,42,.65) 45%,rgba(4,32,42,.12) 100%),url("../images/bergen-hero-1536.webp")}}

/* Place pages share the guide’s typography and reading rhythm. */
.place-card h3 a{font:inherit;border:0;width:auto;margin:0;overflow-wrap:anywhere}.place-card>.detail-link{margin-top:auto;margin-bottom:12px;font-size:.85rem;color:var(--red)}.place-card>.detail-link+a{margin-top:0}.place-card>a{max-width:100%;white-space:normal;overflow-wrap:anywhere}.place-detail{max-width:780px;margin:auto}.detail-back{font-size:.95rem;text-underline-offset:5px}.detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:30px 0 46px}.detail-actions .primary{margin:0;min-height:48px;gap:12px}.detail-actions>a{font-size:1rem;text-underline-offset:5px;overflow-wrap:anywhere}.detail-location{padding:28px;background:var(--cream);border-left:4px solid var(--red)}.detail-location h2,.place-index h2{font:400 2rem/1.15 'DM Serif Display',serif;margin:0 0 22px}.detail-location dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px 24px;margin:0}.detail-location dt{font-weight:700}.detail-location dd{margin:0;overflow-wrap:anywhere}.detail-note{color:#425f67;margin:24px 0 0;font-size:.95rem;line-height:1.65}.detail-sources{margin-top:28px;padding:20px 0;border-top:1px solid var(--line)}.detail-sources summary{cursor:pointer;font-weight:700;min-height:44px}.detail-sources li{margin-bottom:10px;overflow-wrap:anywhere}.place-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;margin-top:44px}.place-index section{border-top:1px solid var(--line);padding-top:24px}.place-index ul{padding-left:20px}.place-index li{margin:10px 0;overflow-wrap:anywhere}.detail-actions a:focus-visible,.detail-back:focus-visible,.place-card a:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:760px){.place-index{grid-template-columns:1fr}.detail-location{padding:22px}.detail-location dl{grid-template-columns:1fr;gap:6px}.detail-location dd{margin-bottom:14px}.detail-actions{gap:16px;margin-bottom:30px}.place-detail>h1{font-size:clamp(2.5rem,10vw,3.4rem)}}

.detail-map{margin-top:24px}.detail-map button{min-height:48px;padding:12px 18px;color:var(--ink);background:var(--paper);border:1px solid #81969b;font:700 1rem 'DM Sans',sans-serif;cursor:pointer;max-width:100%}.detail-map button:focus-visible{outline:3px solid var(--red);outline-offset:3px}.detail-map p{font-size:.85rem;color:#526970}.detail-map iframe{display:block;width:100%;height:340px;border:0;background:var(--paper)}@media(max-width:760px){.detail-map iframe{height:280px}}
.analytics-consent{position:fixed;z-index:1000;bottom:1rem;left:1rem;right:1rem;max-width:620px;margin:auto;padding:1.2rem;background:#fff;color:#082d3a;border:1px solid #ddd;border-radius:12px;box-shadow:0 5px 28px #0003}.analytics-consent[hidden]{display:none}.analytics-consent button,.privacy-preferences{font:inherit;padding:.65rem .9rem;margin:.3rem;border:1px solid currentColor;border-radius:6px;cursor:pointer;background:transparent;color:inherit}.analytics-consent a{display:inline-block;margin:.5rem}.privacy-preferences{font-size:.9rem}
.analytics-consent{max-width:660px;background:#fffdf7;border:1px solid #ddd7c9;border-top:4px solid #b64431;border-radius:16px;padding:1.5rem;box-shadow:0 12px 50px #082d3a30}.analytics-consent h2{font-family:'DM Serif Display',serif;font-size:1.45rem;margin:0 0 .7rem}.analytics-consent p{line-height:1.6;margin:0 0 .8rem}.analytics-consent button{min-height:46px;min-width:150px;font-weight:600}.analytics-consent .consent-granted{background:#082d3a;color:#fff;border-color:#082d3a}.analytics-consent .consent-denied{background:#fff;color:#082d3a;border-color:#082d3a}.analytics-consent button:focus-visible,.analytics-consent a:focus-visible{outline:3px solid #c8802d;outline-offset:3px}@media(max-width:480px){.analytics-consent{padding:1.15rem;bottom:.6rem;left:.6rem;right:.6rem}.analytics-consent button{width:calc(50% - .6rem);min-width:0}.analytics-consent a{display:block}}
