:root {
  --paper:#f4efe5; --paper-2:#fbf8f1; --ink:#1d211e; --muted:#686b65; --line:#d6d0c4;
  --red:#d8472f; --red-dark:#ad321f; --blue:#214e5a; --green:#315b43; --gold:#b7842f;
  --shadow:0 1px 0 rgba(29,33,30,.06),0 12px 34px rgba(29,33,30,.08);
  --serif:"Instrument Serif",Georgia,serif; --sans:"DM Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;color:inherit}.skip-link{position:fixed;left:12px;top:-60px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:12px}
.site-header{height:72px;padding:0 clamp(18px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(244,239,229,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700}.brand-mark{display:inline-grid;place-items:center;width:31px;height:31px;border:1px solid var(--ink);border-radius:50%;font-family:var(--serif);font-size:21px;font-weight:400}.site-header nav{display:flex;gap:28px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:600}.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.saved-button{justify-self:end;border:1px solid var(--line);background:var(--paper-2);height:42px;min-width:62px;border-radius:22px;cursor:pointer}.saved-button span{font-size:20px;vertical-align:-1px}
.hero{min-height:calc(100svh - 72px);display:grid;grid-template-columns:minmax(220px,.72fr) minmax(460px,1.2fr) minmax(220px,.72fr);border-bottom:1px solid var(--line)}.hero-image{background-size:cover;background-position:center;min-height:600px;position:relative;filter:saturate(.82) contrast(.94)}.amsterdam-image{background-image:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.36)),url('assets/images/hero-amsterdam.jpg')}.copenhagen-image{background-image:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.36)),url('https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/The_Nyhavn_Canal_3.jpg/1280px-The_Nyhavn_Canal_3.jpg')}.photo-credit{position:absolute;bottom:10px;left:12px;right:auto;max-width:calc(100% - 24px);color:#fff;font-size:10px;line-height:1.25;text-shadow:0 1px 4px #000;background:rgba(20,23,21,.52);padding:5px 7px;border-radius:2px;opacity:.95}.photo-credit a{color:#fff}.hero-copy{padding:clamp(48px,7vw,100px) clamp(32px,6vw,88px);display:flex;flex-direction:column;justify-content:center;text-align:center;align-items:center}.eyebrow{margin:0 0 16px;font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--red)}h1,h2,h3,p{overflow-wrap:anywhere}h1{font:400 clamp(58px,6.8vw,112px)/.86 var(--serif);letter-spacing:-.045em;margin:0;max-width:750px}h1 em{color:var(--red);font-weight:400}.lede{font-size:clamp(16px,1.5vw,20px);line-height:1.55;color:var(--muted);max-width:590px;margin:32px 0}.route{display:grid;grid-template-columns:auto minmax(70px,120px) auto;gap:18px;align-items:center;width:min(100%,560px);padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.route div{display:grid;gap:2px}.route strong{font:400 36px/1 var(--serif)}.route span{font-weight:700;font-size:13px}.route small{font-size:11px;color:var(--muted)}.route-line{height:1px;background:var(--line);position:relative}.route-line i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--red);left:50%;top:50%;transform:translate(-50%,-50%)}.primary-cta{margin-top:30px;padding:15px 20px;background:var(--ink);color:white;text-decoration:none;border-radius:2px;font-size:14px;font-weight:600;transition:.2s}.primary-cta:hover{background:var(--red);transform:translateY(-2px)}.primary-cta span{margin-left:14px}
.ticker{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:13px clamp(18px,4vw,64px);background:var(--ink);color:#fff}.ticker span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#e7c26e}.ticker p{margin:0;text-align:center;font-size:12px;color:#cfd1ce}.section{padding:clamp(74px,9vw,138px) clamp(20px,6vw,100px);max-width:1720px;margin:0 auto}.section-heading{margin-bottom:42px}.section-heading h2,.full-bleed-note h2,.drawer-head h2{font:400 clamp(47px,5.7vw,86px)/.92 var(--serif);letter-spacing:-.035em;margin:0}.section-heading .section-intro{font-size:16px;line-height:1.6;color:var(--muted);max-width:780px;margin:22px 0 0}.split-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:12%;align-items:end}.split-heading>p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 6px;max-width:580px}
.urgency-section{background:var(--paper-2);max-width:none}.urgency-section>*{max-width:1520px;margin-left:auto;margin-right:auto}.urgency-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.urgency-card{background:var(--paper-2);padding:30px;min-height:310px;display:flex;flex-direction:column}.urgency-card .number{font:400 38px/1 var(--serif);color:var(--red);margin-bottom:auto}.urgency-card .when{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:12px}.urgency-card h3{font:400 29px/1 var(--serif);margin:0 0 10px}.urgency-card p{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 20px}.text-link{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid;width:max-content;padding-bottom:3px}.text-link:hover{color:var(--red)}
.city-switcher-wrap{position:sticky;top:72px;z-index:40;background:rgba(244,239,229,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 clamp(10px,4vw,60px)}.city-switcher{display:grid;grid-template-columns:repeat(3,1fr);max-width:920px;margin:auto}.city-tab{border:0;border-right:1px solid var(--line);background:transparent;padding:17px 15px;cursor:pointer;font-weight:700}.city-tab:first-child{border-left:1px solid var(--line)}.city-tab small{display:block;color:var(--muted);font-size:10px;margin-top:3px;font-weight:500}.city-tab.active{background:var(--ink);color:#fff}.city-tab.active small{color:#d1d4cf}
.filter-row{display:flex;gap:8px;overflow:auto;padding:2px 0 14px;scrollbar-width:none}.filter{white-space:nowrap;border:1px solid var(--line);background:transparent;border-radius:22px;padding:10px 16px;font-size:12px;font-weight:600;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);border-color:var(--ink);color:#fff}.legend{display:flex;gap:20px;font-size:11px;color:var(--muted);margin-bottom:26px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.green{background:#4b8b64}.dot.amber{background:#cf9134}.dot.red{background:#c84736}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.place-card{background:var(--paper-2);border:1px solid var(--line);min-width:0;display:flex;flex-direction:column;position:relative}.place-card:hover{box-shadow:var(--shadow)}.place-image{aspect-ratio:16/9;background:#ddd center/cover;position:relative;overflow:hidden}.place-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.25))}.card-city{position:absolute;left:14px;top:14px;z-index:2;background:rgba(251,248,241,.92);backdrop-filter:blur(5px);padding:7px 9px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.save-place{position:absolute;right:12px;top:12px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:rgba(251,248,241,.92);font-size:21px;cursor:pointer}.save-place.saved{background:var(--red);color:#fff}.place-body{padding:23px;display:flex;flex-direction:column;flex:1}.place-topline{display:flex;justify-content:space-between;gap:12px;align-items:start}.place-topline h3{font:400 29px/1 var(--serif);margin:0}.price{font-size:11px;font-weight:700;white-space:nowrap}.meta{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-weight:700;margin:7px 0 14px}.place-description{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 18px}.policy{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start}.policy .dot{margin-top:5px}.policy strong{font-size:11px;display:block}.policy span{font-size:10px;line-height:1.4;color:var(--muted);display:block;margin-top:2px}.card-actions{display:flex;gap:8px;margin-top:18px}.card-actions a{flex:1;text-align:center;text-decoration:none;padding:11px 8px;border:1px solid var(--ink);font-size:11px;font-weight:700}.card-actions .book{background:var(--ink);color:#fff}.card-actions a:hover{background:var(--red);border-color:var(--red);color:#fff}.source-note{font-size:9px;color:var(--muted);margin-top:8px}.show-more{display:block;margin:36px auto 0;border:1px solid var(--ink);background:transparent;padding:14px 22px;cursor:pointer;font-weight:700}.show-more:hover{background:var(--ink);color:white}.hidden-card{display:none!important}
.full-bleed-note{background:var(--blue);color:#fff;padding:clamp(70px,9vw,130px) clamp(22px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.full-bleed-note .eyebrow{color:#e7c26e}.backup-rules{border-top:1px solid rgba(255,255,255,.28)}.backup-rules p{display:grid;grid-template-columns:56px 1fr;gap:20px;align-items:center;margin:0;border-bottom:1px solid rgba(255,255,255,.28);padding:20px 0}.backup-rules b{font:400 28px var(--serif);color:#e7c26e}.backup-rules span{font-size:14px}
.culture-section{padding-bottom:70px}.culture-feature{display:grid;grid-template-columns:1.2fr .8fr;background:var(--ink);color:#fff;margin-bottom:24px;min-height:470px}.culture-feature-image{background:center/cover}.culture-feature-copy{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.culture-feature-copy .eyebrow{color:#e7c26e}.culture-feature-copy h3{font:400 clamp(40px,4.3vw,68px)/.94 var(--serif);margin:0}.culture-feature-copy p{color:#cfd1ce;line-height:1.6;font-size:14px}.culture-feature-copy .card-actions a{border-color:#fff;color:#fff}.culture-grid{grid-template-columns:repeat(4,1fr)}.culture-grid .place-card:nth-child(5n+1){grid-column:span 2}.culture-grid .place-card:nth-child(5n+1) .place-image{aspect-ratio:2/1}
.itinerary-section{background:var(--paper-2);max-width:none}.itinerary-section>*{max-width:1500px;margin-left:auto;margin-right:auto}.day-rail{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);margin-bottom:1px}.day-tab{border:0;border-right:1px solid var(--line);background:transparent;padding:18px 8px;cursor:pointer}.day-tab:last-child{border:0}.day-tab b{font:400 31px var(--serif);display:block}.day-tab span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.day-tab.active{background:var(--red);color:#fff}.day-tab.active span{color:#fff}.day-detail{border:1px solid var(--line);display:grid;grid-template-columns:.72fr 1.28fr;min-height:510px}.day-art{min-height:360px;background:center/cover;position:relative}.day-copy{padding:clamp(28px,5vw,72px)}.day-copy .date-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--red);font-weight:700}.day-copy h3{font:400 clamp(42px,4.2vw,67px)/.95 var(--serif);margin:12px 0 26px}.day-slots{display:grid;gap:0}.day-slot{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:14px 0;border-top:1px solid var(--line)}.day-slot b{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.day-slot p{margin:0;font-size:13px;line-height:1.5}.day-slot a{font-weight:700;text-underline-offset:3px}
.table-wrap{overflow:auto;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:820px;background:var(--paper-2)}th,td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);font-size:12px}th{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}td:first-child{font:400 20px var(--serif)}td a{font-weight:700}.commit-pill{font-size:9px;border-radius:10px;padding:5px 8px;text-transform:uppercase;letter-spacing:.07em;background:#e5e1d8}.commit-pill.low{background:#d8e7dc;color:#224b32}.commit-pill.medium{background:#efe0bc;color:#6d4911}.commit-pill.high{background:#efcbc4;color:#792619}
.practical-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.practical-card{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px}.practical-card .icon{font:400 38px var(--serif);color:var(--red)}.practical-card h3{font:400 25px var(--serif);margin:30px 0 10px}.practical-card p{font-size:12px;line-height:1.55;color:var(--muted)}.practical-card a{font-size:11px;font-weight:700}.sources-section{padding-top:20px}.sources-section details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sources-section summary{list-style:none;display:flex;justify-content:space-between;padding:24px 0;cursor:pointer;font-weight:700}.sources-content{padding:0 0 28px;max-width:1100px;color:var(--muted);font-size:12px;line-height:1.6}.credit-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 30px;margin-top:24px}.credit-list a{font-size:10px}
footer{border-top:1px solid var(--line);padding:50px clamp(20px,6vw,100px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}footer>div{display:flex;align-items:center;gap:12px}footer p{margin:0;font-weight:700;font-size:13px}footer small{color:var(--muted);font-weight:400}footer>a{justify-self:end;font-size:12px;font-weight:700}
.saved-drawer{position:fixed;inset:0;z-index:100;pointer-events:none}.saved-drawer.open{pointer-events:auto}.drawer-scrim{position:absolute;inset:0;border:0;background:rgba(20,23,21,.52);opacity:0;transition:.25s;width:100%}.saved-drawer.open .drawer-scrim{opacity:1}.saved-drawer aside{position:absolute;right:0;top:0;bottom:0;width:min(520px,94vw);background:var(--paper-2);padding:34px;transform:translateX(100%);transition:.28s;overflow:auto}.saved-drawer.open aside{transform:none}.drawer-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:24px}.drawer-head h2{font-size:44px}.drawer-head button{border:0;background:transparent;font-size:32px;cursor:pointer}.saved-item{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.saved-item strong{font:400 23px var(--serif)}.saved-item span{font-size:10px;color:var(--muted);display:block}.saved-item button{border:0;background:transparent;cursor:pointer}
@media(max-width:1050px){.hero{grid-template-columns:1fr 1.35fr}.hero .copenhagen-image{display:none}.urgency-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.culture-grid{grid-template-columns:repeat(2,1fr)}.practical-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){html{scroll-padding-top:64px}.site-header{height:62px;grid-template-columns:1fr auto;padding:0 16px}.site-header nav{display:none}.brand{font-size:13px}.hero{display:block;min-height:auto}.hero-image{min-height:42vh}.hero .amsterdam-image{display:none}.hero .copenhagen-image{display:block;min-height:35vh;order:2}.hero-copy{padding:66px 22px 58px}.hero h1{font-size:65px}.lede{font-size:15px}.route{grid-template-columns:auto 55px auto;gap:10px}.ticker{grid-template-columns:1fr;padding:16px 20px}.ticker span:last-child{display:none}.ticker p{text-align:left}.section{padding:76px 17px}.split-heading{display:block}.split-heading>p{margin-top:24px}.section-heading h2{font-size:52px}.urgency-grid{grid-template-columns:1fr}.urgency-card{min-height:240px}.city-switcher-wrap{top:62px;padding:0}.city-tab{font-size:11px;padding:13px 5px}.filter-row{margin-right:-17px}.legend{flex-wrap:wrap;gap:9px 16px}.card-grid,.culture-grid{grid-template-columns:1fr;gap:16px}.culture-grid .place-card:nth-child(5n+1){grid-column:span 1}.culture-feature{grid-template-columns:1fr}.culture-feature-image{min-height:280px}.full-bleed-note{grid-template-columns:1fr}.full-bleed-note h2{font-size:49px}.backup-rules{margin-top:36px}.day-rail{overflow:auto;display:flex}.day-tab{min-width:82px}.day-detail{grid-template-columns:1fr}.day-copy{padding:34px 22px}.practical-grid{grid-template-columns:1fr}.credit-list{grid-template-columns:1fr}footer{grid-template-columns:1fr;gap:30px}footer>a{justify-self:start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
