:root {
  --studio-bg: #eee8d9;
  --studio-paper: #fffdf7;
  --studio-ink: #173f3b;
  --studio-muted: #6d695a;
  --studio-line: rgba(29, 58, 48, .16);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--studio-bg); color: var(--studio-ink); font-family: "DM Sans", Inter, system-ui, sans-serif; }
button, input, select { font: inherit; }
.studio-shell { width: min(1500px, calc(100% - 28px)); margin: 20px auto 60px; display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 24px; align-items: start; }
.studio-controls { position: sticky; top: 112px; padding: 30px; border: 1px solid var(--studio-line); border-radius: 30px; background: rgba(255,253,247,.92); box-shadow: 0 18px 48px rgba(45,49,37,.1); backdrop-filter: blur(14px); }
.studio-back { display: inline-block; margin-bottom: 26px; color: var(--studio-muted); font-size: 13px; font-weight: 900; text-decoration: none; }
.studio-eyebrow { margin: 0 0 9px; color: #1e9b8e; font-size: 11px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.studio-controls h1 { margin: 0; font: 900 45px/.95 Fraunces, Georgia, serif; letter-spacing: -.035em; }
.studio-intro { margin: 16px 0 0; color: var(--studio-muted); font-size: 14px; font-weight: 650; line-height: 1.55; }
.studio-fields { display: grid; gap: 15px; margin-top: 26px; }
.studio-fields > label, .studio-field-row label { display: grid; gap: 7px; color: var(--studio-muted); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.studio-fields input, .studio-fields select { width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid var(--studio-line); border-radius: 13px; background: white; color: var(--studio-ink); font-size: 14px; font-weight: 750; letter-spacing: 0; text-transform: none; outline: none; }
.studio-fields input:focus, .studio-fields select:focus { border-color: #1e9b8e; box-shadow: 0 0 0 4px rgba(30,155,142,.13); }
.studio-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.packing-customizer { display:grid; gap:12px; padding:14px; border:1px solid rgba(30,155,142,.2); border-radius:16px; background:rgba(202,236,231,.32); }
.packing-customizer[hidden] { display:none; }
.packing-customizer > p { margin:0; color:#1b7469; font-size:12px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }
.packing-customizer > label { display:grid; gap:7px; color:var(--studio-muted); font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.packing-activity-options { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.packing-activity-options label { cursor:pointer; }
.packing-activity-options input { position:absolute; width:1px; min-height:0; opacity:0; pointer-events:none; }
.packing-activity-options span { min-height:38px; display:flex; align-items:center; padding:8px 10px; border:2px solid transparent; border-radius:11px; background:#fff; color:#173f3b; font-size:12px; font-weight:850; line-height:1.15; }
.packing-activity-options input:checked + span { border-color:#1e9b8e; background:#e3f4ef; box-shadow:0 3px 10px rgba(30,155,142,.1); }
.studio-fields fieldset { margin: 3px 0 0; padding: 0; border: 0; }.studio-fields legend { margin-bottom: 8px; color: var(--studio-muted); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.palette-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }.palette-options label { cursor: pointer; }.palette-options input { position: absolute; opacity: 0; pointer-events: none; }.palette-options span { min-height: 36px; display: flex; align-items: center; padding: 0 10px; border: 2px solid transparent; border-radius: 11px; color: #173f3b; font-size: 12px; font-weight: 900; }.palette-options input:checked + span { border-color: var(--studio-ink); }.palette-meadow { background: linear-gradient(90deg,#dcefcf 0 33%,#fff2b8 33% 66%,#f9c9cc 66%); }.palette-sunset { background: linear-gradient(90deg,#ffd5bd 0 33%,#f7a3a8 33% 66%,#e1c6eb 66%); }.palette-ocean { background: linear-gradient(90deg,#c7edf0 0 33%,#a9d8ef 33% 66%,#ffe2a9 66%); }.palette-berry { background: linear-gradient(90deg,#f6c8df 0 33%,#d8c9ed 33% 66%,#c8e4c0 66%); }
.studio-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 22px; }.studio-actions button { min-height: 44px; padding: 10px; border: 1px solid var(--studio-line); border-radius: 13px; background: white; color: var(--studio-ink); cursor: pointer; font-size: 12px; font-weight: 900; }.studio-actions .studio-primary { grid-column: 1 / -1; background: var(--studio-ink); color: white; }.studio-actions button:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(29,58,48,.1); }
.studio-actions button:disabled { cursor: wait; opacity: .62; transform: none; }
.studio-status { min-height: 18px; margin: 12px 0 0; color: #1b7469; font-size: 12px; font-weight: 800; }.studio-fine-print { margin: 13px 0 0; color: var(--studio-muted); font-size: 10px; font-weight: 650; line-height: 1.5; }
.studio-stage { min-width: 0; padding: 0 12px 40px; }.studio-stage-toolbar { display: flex; justify-content: space-between; gap: 12px; width: min(850px, 100%); margin: 0 auto 10px; color: var(--studio-muted); font-size: 11px; font-weight: 850; }.studio-stage-toolbar strong { color: #1e8f84; }
.print-sheet { --p1:#e1efd3; --p2:#f5c8cd; --p3:#f5d570; --p4:#7dc7c1; --p5:#a894d1; --deep:#173f3b; width: min(850px, 100%); aspect-ratio: 8.5 / 11; min-height: 1100px; margin: 0 auto; overflow: hidden; border-radius: 8px; background: var(--studio-paper); box-shadow: 0 28px 70px rgba(39,43,32,.2); container-type: inline-size; }
.print-sheet.is-landscape { width:min(1100px,100%); aspect-ratio:11 / 8.5; min-height:0; }
.print-sheet.is-landscape #printable-content { height:100%; min-height:0; padding:0; background:#ead39e; }
.print-sheet.palette-sunset { --p1:#ffd0ba; --p2:#ef9ba3; --p3:#f4c459; --p4:#d4b8e5; --p5:#ee735e; --deep:#49354e; }.print-sheet.palette-ocean { --p1:#caece7; --p2:#9fd2e6; --p3:#f6d88f; --p4:#70b9b6; --p5:#7c9bc9; --deep:#183f56; }.print-sheet.palette-berry { --p1:#e5d6ed; --p2:#f3bad6; --p3:#f4d9a4; --p4:#b8dcae; --p5:#b597d3; --deep:#47364e; }
#printable-content { min-height: 100%; padding: 6.4cqw; background: radial-gradient(circle at 97% 1%, color-mix(in srgb,var(--p2) 42%,transparent), transparent 24cqw), radial-gradient(circle at 0% 100%, color-mix(in srgb,var(--p4) 30%,transparent), transparent 27cqw); color: var(--deep); }
.print-sheet.is-multipage { aspect-ratio:auto; min-height:0; overflow:visible; border-radius:0; background:transparent; box-shadow:none; }
.print-sheet.is-multipage #printable-content { display:grid; gap:24px; min-height:0; padding:0; background:transparent; }
.printable-page { width:100%; aspect-ratio:8.5 / 11; min-height:0; overflow:hidden; padding:6.4cqw; border-radius:8px; background:radial-gradient(circle at 97% 1%,color-mix(in srgb,var(--p2) 42%,transparent),transparent 24cqw),radial-gradient(circle at 0% 100%,color-mix(in srgb,var(--p4) 30%,transparent),transparent 27cqw),var(--studio-paper); box-shadow:0 28px 70px rgba(39,43,32,.2); color:var(--deep); }
.sheet-header { position: relative; margin-bottom: 3.5cqw; padding-bottom: 2.6cqw; border-bottom: .22cqw solid color-mix(in srgb,var(--deep) 16%,transparent); }.sheet-brand { color: color-mix(in srgb,var(--deep) 65%,var(--p4)); font-size: 1.35cqw; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }.sheet-title { max-width: 15ch; margin: 1.1cqw 0 .5cqw; font: 900 clamp(33px,6.3cqw,58px)/.94 Fraunces, Georgia, serif; letter-spacing: -.045em; }.sheet-subtitle { margin: 0; color: color-mix(in srgb,var(--deep) 72%,white); font-size: 1.8cqw; font-weight: 750; }.sheet-meta { position: absolute; right: 0; top: 0; display: grid; gap: .6cqw; justify-items: end; color: color-mix(in srgb,var(--deep) 72%,white); font-size: 1.35cqw; font-weight: 850; }.sheet-editable { border-radius: .4cqw; outline: none; }.sheet-editable:hover { background: color-mix(in srgb,var(--p3) 20%,transparent); }.sheet-editable:focus { background: color-mix(in srgb,var(--p3) 32%,transparent); box-shadow: 0 0 0 .25cqw color-mix(in srgb,var(--p3) 58%,transparent); }
.print-sheet [contenteditable="true"] { border-color: transparent !important; }
.sheet-photo-ribbon { height: 8.5cqw; margin: -1.5cqw 0 2.2cqw; border-radius: 1.4cqw; background: linear-gradient(145deg,var(--p2),var(--p4)); background-position: center; background-size: cover; box-shadow: 0 .7cqw 2cqw rgba(51,55,39,.08); }
.sheet-footer { display: flex; justify-content: space-between; gap: 2cqw; margin-top: 3cqw; padding-top: 1.7cqw; border-top: .18cqw solid color-mix(in srgb,var(--deep) 14%,transparent); color: color-mix(in srgb,var(--deep) 62%,white); font-size: 1.15cqw; font-weight: 800; }.sheet-footer strong { color: var(--deep); }
.adventure-map-page { position:relative; display:grid; grid-template-rows:17% 61% 22%; width:100%; height:100%; overflow:hidden; border:.45cqw solid #173f3b; background:linear-gradient(#d7eef0 0 17%,#bdddb7 17% 75%,#ead39e 75%); color:#173f3b; isolation:isolate; }
.adventure-map-page::after { content:""; position:absolute; inset:.65cqw; z-index:12; border:.16cqw solid rgba(23,63,59,.6); pointer-events:none; }
.adventure-map-art { position:absolute; inset:0; z-index:-2; background-image:var(--adventure-map-art),linear-gradient(145deg,#cce9e9,#d7e6bb 58%,#ead39e); background-position:center; background-size:cover; }
.adventure-map-page:not(.has-destination-art) .adventure-map-art { background-image:radial-gradient(circle at 22% 34%,rgba(255,255,255,.7) 0 5%,transparent 5.3%),radial-gradient(circle at 76% 45%,rgba(255,232,170,.72) 0 8%,transparent 8.3%),linear-gradient(155deg,#bde4e5 0 22%,#a8d39d 22% 68%,#6eb9c7 68% 78%,#d9c58e 78%); }
.adventure-map-banner { position:relative; z-index:8; align-self:center; justify-self:center; width:70%; padding:1.35cqw 4cqw 1.1cqw; border:.18cqw solid rgba(69,49,26,.38); border-radius:1.1cqw; background:linear-gradient(180deg,#fff4cb,#ecd393); box-shadow:0 .55cqw 1.4cqw rgba(48,35,18,.24); text-align:center; transform:rotate(-.25deg); }
.adventure-map-banner::before,.adventure-map-banner::after { content:""; position:absolute; top:44%; z-index:-1; width:8cqw; height:4.4cqw; border:.18cqw solid rgba(69,49,26,.34); background:#d9b464; transform:translateY(-50%) rotate(-6deg) skewX(-12deg); }
.adventure-map-banner::before { left:-6.2cqw; }
.adventure-map-banner::after { right:-6.2cqw; transform:translateY(-50%) rotate(6deg) skewX(12deg); }
.adventure-map-banner > span { display:block; margin-bottom:.25cqw; color:#8d4b27; font-size:1.05cqw; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
.adventure-map-banner h2 { margin:0; color:#173f3b; font:950 3.8cqw/.95 Fraunces,Georgia,serif; letter-spacing:-.035em; text-transform:uppercase; text-shadow:0 .12cqw 0 rgba(255,255,255,.75); }
.adventure-map-canvas { position:relative; z-index:3; min-height:0; }
.adventure-map-stop { position:absolute; z-index:6; width:20.5%; min-height:14.3cqw; overflow:hidden; border:.16cqw solid rgba(23,63,59,.3); border-radius:1.15cqw; background:rgba(255,251,231,.96); box-shadow:0 .65cqw 1.3cqw rgba(28,45,29,.3); transform:rotate(-1deg); }
.adventure-map-stop:nth-of-type(even) { transform:rotate(1deg); }
.adventure-map-stop-art { position:relative; display:grid; place-items:center; height:7.2cqw; overflow:hidden; background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.94) 0 24%,transparent 25%),linear-gradient(145deg,color-mix(in srgb,var(--quest) 70%,#fff2c5),color-mix(in srgb,var(--quest) 35%,#87c6c4)); }
.adventure-map-stop-art::after { content:""; position:absolute; left:-10%; right:-10%; bottom:-48%; height:72%; border-radius:50%; background:color-mix(in srgb,var(--quest) 38%,#2f866c); }
.adventure-map-stop-art span { position:relative; z-index:2; font-size:4.2cqw; filter:drop-shadow(0 .25cqw .18cqw rgba(23,63,59,.22)); }
.adventure-map-stop-copy { display:grid; grid-template-columns:2.65cqw minmax(0,1fr); gap:.55cqw; align-items:center; min-height:5.8cqw; padding:.7cqw .75cqw .72cqw .62cqw; }
.adventure-map-stop-copy > b { display:grid; place-items:center; width:2.5cqw; height:2.5cqw; border:.16cqw solid #fff; border-radius:50%; background:var(--quest); box-shadow:0 .18cqw .4cqw rgba(23,63,59,.24); color:#fff; font:950 1.35cqw Fraunces,serif; text-shadow:0 .08cqw .1cqw rgba(23,63,59,.35); }
.adventure-map-stop-copy strong { display:block; overflow:hidden; font:950 1.28cqw/.98 Fraunces,serif; text-overflow:ellipsis; }
.adventure-map-stop-copy small { display:block; margin-top:.23cqw; color:#9a482b; font-size:.68cqw; font-weight:900; line-height:1.05; }
.adventure-map-trail { position:absolute; z-index:2; height:0; border-top:.66cqw dotted var(--quest); filter:drop-shadow(0 .14cqw 0 #fff); transform-origin:left center; }
.adventure-map-trail-1 { left:20%; top:39%; width:15%; transform:rotate(-8deg); }
.adventure-map-trail-2 { left:43%; top:36%; width:14%; transform:rotate(7deg); }
.adventure-map-trail-3 { left:66%; top:39%; width:14%; transform:rotate(-4deg); }
.adventure-map-trail-4 { left:88%; top:43%; width:10%; transform:rotate(74deg); }
.adventure-map-trail-5 { left:20%; top:75%; width:16%; transform:rotate(4deg); }
.adventure-map-trail-6 { left:45%; top:76%; width:15%; transform:rotate(-5deg); }
.adventure-map-trail-7 { left:69%; top:74%; width:13%; transform:rotate(6deg); }
.adventure-map-trail-8 { left:10%; top:47%; width:16%; transform:rotate(76deg); }
.adventure-map-footer { position:relative; z-index:9; display:grid; grid-template-columns:9.5cqw 1.2fr 1fr; gap:1.5cqw; align-items:center; padding:1.4cqw 2.2cqw 1.3cqw; border-top:.24cqw solid rgba(23,63,59,.5); background:linear-gradient(180deg,rgba(255,243,202,.96),rgba(234,204,139,.98)); }
.adventure-map-compass { position:relative; display:grid; place-items:center; width:8.2cqw; height:8.2cqw; border:.3cqw solid #173f3b; border-radius:50%; background:rgba(255,249,221,.84); box-shadow:inset 0 0 0 .35cqw rgba(157,73,36,.22); }
.adventure-map-compass::before,.adventure-map-compass::after { content:""; position:absolute; width:.24cqw; height:6.7cqw; background:#173f3b; }
.adventure-map-compass::after { transform:rotate(90deg); }
.adventure-map-compass span { position:absolute; top:.45cqw; z-index:2; font-size:.75cqw; font-weight:950; }
.adventure-map-compass i { position:relative; z-index:2; width:0; height:0; border-left:1.4cqw solid transparent; border-right:1.4cqw solid transparent; border-bottom:3.8cqw solid #c65f32; transform:translateY(-.9cqw); }
.adventure-map-legend { display:flex; flex-wrap:wrap; gap:.65cqw 1.25cqw; align-content:center; }
.adventure-map-legend > strong { flex-basis:100%; font:950 1.55cqw/1 Fraunces,serif; text-transform:uppercase; }
.adventure-map-legend > span { display:flex; align-items:center; gap:.42cqw; font-size:.85cqw; font-weight:950; }
.adventure-map-legend > span i { width:2.3cqw; border-top:.45cqw dotted var(--quest); }
.adventure-map-legend > small { flex-basis:100%; margin-top:.2cqw; color:#0e322f; font-size:.72cqw; font-weight:950; line-height:1.15; }
.adventure-map-chooser { padding:1cqw 1.25cqw; border:.16cqw solid rgba(23,63,59,.35); border-radius:1.2cqw; background:rgba(255,248,218,.82); text-align:center; }
.adventure-map-chooser > strong { display:block; margin-bottom:.7cqw; font:950 1.35cqw/1 Fraunces,serif; text-transform:uppercase; }
.adventure-map-chooser > div { display:grid; grid-template-columns:repeat(3,1fr); gap:.8cqw; }
.adventure-map-chooser span { display:grid; justify-items:center; gap:.35cqw; font-size:.58cqw; font-weight:950; text-transform:uppercase; }
.adventure-map-chooser i { width:3.5cqw; height:3.5cqw; border:.22cqw solid #277b82; border-radius:50%; background:rgba(255,255,255,.3); }
.adventure-map-chooser span:nth-child(2) i { border-color:#538a3e; }
.adventure-map-chooser span:nth-child(3) i { border-color:#bd5a2e; }
.city-itinerary-map { position:relative;height:18.5cqw;margin:0 0 1.35cqw;overflow:hidden;border:.22cqw solid color-mix(in srgb,var(--deep) 14%,transparent);border-radius:1.8cqw;background:radial-gradient(circle at 14% 75%,color-mix(in srgb,var(--p1) 72%,white) 0 8cqw,transparent 8.2cqw),radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--p3) 62%,white) 0 6.5cqw,transparent 6.7cqw),linear-gradient(135deg,color-mix(in srgb,var(--p4) 30%,white),#fff8e9 46%,color-mix(in srgb,var(--p2) 24%,white));box-shadow:inset 0 0 0 .65cqw rgba(255,255,255,.42),0 .65cqw 2cqw rgba(51,55,39,.08);isolation:isolate;}.city-itinerary-map::before { content:"";position:absolute;left:-8%;bottom:-47%;width:116%;height:63%;border:.9cqw solid rgba(255,255,255,.88);border-radius:50%;background:color-mix(in srgb,var(--p4) 60%,#b9e5ed);transform:rotate(-6deg);z-index:0;}.city-itinerary-map::after { content:"";position:absolute;inset:0;background:linear-gradient(74deg,transparent 0 14%,rgba(255,255,255,.75) 14.3% 15%,transparent 15.3% 43%,rgba(255,255,255,.72) 43.3% 44%,transparent 44.3% 72%,rgba(255,255,255,.7) 72.3% 73%,transparent 73.3%),linear-gradient(7deg,transparent 0 28%,rgba(255,255,255,.78) 28.3% 29.2%,transparent 29.5% 62%,rgba(255,255,255,.76) 62.3% 63.2%,transparent 63.5%);z-index:1;}.city-map-heading { position:absolute;left:1.35cqw;top:1.15cqw;z-index:8;display:grid;gap:.2cqw;max-width:44%;padding:.65cqw .85cqw;border-radius:.85cqw;background:rgba(255,253,247,.9);box-shadow:0 .35cqw 1cqw rgba(51,55,39,.12);}.city-map-heading strong { font:900 1.55cqw/1 Fraunces,serif;}.city-map-heading span { font-size:.72cqw;font-weight:850;line-height:1.15;}.city-map-fallback { position:absolute;inset:0;z-index:2;}.city-map-streets { position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(0deg,transparent 0 4.3cqw,color-mix(in srgb,var(--deep) 7%,transparent) 4.4cqw 4.55cqw),repeating-linear-gradient(90deg,transparent 0 7.3cqw,color-mix(in srgb,var(--deep) 6%,transparent) 7.4cqw 7.55cqw);}.city-map-compass { position:absolute;right:1.2cqw;top:1.1cqw;z-index:8;display:grid;place-items:center;width:2.5cqw;height:2.5cqw;border:.17cqw solid color-mix(in srgb,var(--deep) 35%,transparent);border-radius:50%;background:rgba(255,255,255,.82);font:900 .9cqw Fraunces,serif;}.city-map-compass::before { content:"";position:absolute;top:.25cqw;border-left:.34cqw solid transparent;border-right:.34cqw solid transparent;border-bottom:.72cqw solid var(--p5);}.city-map-route { position:absolute;z-index:2;height:0;border-top:.28cqw dashed color-mix(in srgb,var(--deep) 47%,transparent);transform-origin:0 50%;}.city-map-pin { position:absolute;z-index:4;width:2.5cqw;height:3.1cqw;transform:translate(-50%,-88%);}.city-map-pin i,.itinerary-mapbox-marker i { position:absolute;left:.35cqw;top:.15cqw;display:grid;place-items:center;width:1.95cqw;height:1.95cqw;border:.18cqw solid rgba(255,255,255,.96);border-radius:50% 50% 50% 0;background:var(--pin);box-shadow:0 .28cqw .55cqw rgba(23,63,59,.28);transform:rotate(-45deg);font-style:normal;}.city-map-pin b,.itinerary-mapbox-marker b { color:var(--deep);font:900 .92cqw/1 DM Sans,sans-serif;transform:rotate(45deg);}.city-itinerary-map > small { position:absolute;right:1.15cqw;bottom:.75cqw;z-index:8;padding:.35cqw .55cqw;border-radius:.55cqw;background:rgba(255,253,247,.9);font-size:.62cqw;font-weight:850;}.itinerary-layout-3 .city-itinerary-map { height:25cqw;}.itinerary-mapbox-canvas { position:absolute;inset:0;z-index:3;opacity:0;background:#dceff2;}.city-itinerary-map.mapbox-ready::before,.city-itinerary-map.mapbox-ready::after { display:none;}.city-itinerary-map.mapbox-ready .itinerary-mapbox-canvas { opacity:1;}.city-itinerary-map.mapbox-ready .city-map-fallback,.city-itinerary-map.mapbox-ready .city-map-compass { display:none;}.city-itinerary-map.mapbox-ready > small { bottom:2.05cqw;max-width:42%;text-align:right;}.itinerary-mapbox-marker { position:relative;z-index:5;display:block;width:2.7cqw;height:3.45cqw;}.itinerary-mapbox-snapshot { position:absolute;inset:0;z-index:1;display:none;width:100%;height:100%;object-fit:cover;pointer-events:none;}.itinerary-map-capture .itinerary-mapbox-snapshot { display:block;}.itinerary-map-capture .mapboxgl-canvas { visibility:hidden;}.city-itinerary-map .mapboxgl-ctrl-attrib { max-width:55%;font-size:7px;line-height:1.05;}.day-list { display: grid; gap: 1.3cqw; }.day-card { display: grid; grid-template-columns: 8cqw 1fr; min-height: 11.4cqw; overflow: hidden; border-radius: 1.6cqw; background: rgba(255,255,255,.75); box-shadow: 0 .8cqw 2.4cqw rgba(51,55,39,.07); }.day-number { display: grid; align-content: center; justify-items: center; background: var(--day); color: var(--deep); }.day-number span { font-size: 1.3cqw; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }.day-number strong { font: 900 4.1cqw/1 Fraunces, serif; }.day-content { display: grid; grid-template-columns: 1fr 12cqw; gap: 1cqw; padding: 1.25cqw 1.6cqw; }.day-content h3 { margin: 0 0 .25cqw; font: 900 2.15cqw/1 Fraunces, serif; }.day-logistics { margin: 0 0 .5cqw; color: color-mix(in srgb,var(--deep) 65%,white); font-size: .93cqw; font-weight: 800; line-height: 1.15; }.day-content ul { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .38cqw 1cqw; list-style: none; }.day-content li { display:grid;grid-template-columns:1.35cqw minmax(0,1fr);column-gap:.38cqw;min-width: 0; overflow: hidden; font-size: 1.18cqw; font-weight: 700; line-height: 1.1; }.day-content li::before { display:none; }.map-stop-number { grid-row:1 / span 2;display:grid;place-items:center;width:1.3cqw;height:1.3cqw;border-radius:50%;background:var(--stop);color:var(--deep);font-size:.78cqw;font-weight:950;}.day-content li span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.day-content li small { display: block; margin: .18cqw 0 0; color: color-mix(in srgb,var(--deep) 58%,white); font-size: .83cqw; font-weight: 800; text-transform: capitalize; }.day-image { min-height: 7.5cqw; border-radius: 1.1cqw; background: linear-gradient(145deg,var(--day),color-mix(in srgb,var(--day) 35%,white)); background-size: cover; background-position: center; }.itinerary-layout-7 .city-itinerary-map { height:14.5cqw;margin-bottom:.75cqw;}.itinerary-layout-7 .city-map-heading { padding:.45cqw .7cqw;}.itinerary-layout-7 .city-map-heading strong { font-size:1.25cqw;}.itinerary-layout-7 .city-map-heading span,.itinerary-layout-7 .city-itinerary-map > small { font-size:.58cqw;}.itinerary-layout-7 .day-list { gap:.58cqw;}.itinerary-layout-7 .day-card { min-height:7.45cqw;border-radius:1.05cqw;grid-template-columns:6.4cqw 1fr;}.itinerary-layout-7 .day-number span { font-size:.95cqw;}.itinerary-layout-7 .day-number strong { font-size:3.15cqw;}.itinerary-layout-7 .day-content { grid-template-columns:1fr 9.6cqw;padding:.72cqw 1.05cqw;}.itinerary-layout-7 .day-content h3 { font-size:1.55cqw;}.itinerary-layout-7 .day-logistics { margin-bottom:.25cqw;font-size:.7cqw;}.itinerary-layout-7 .day-content li { font-size:.88cqw;}.itinerary-layout-7 .day-content li small { font-size:.62cqw;}.itinerary-layout-7 .map-stop-number { width:1.05cqw;height:1.05cqw;font-size:.62cqw;}.itinerary-layout-7 .day-content ul { gap:.18cqw .7cqw;}.itinerary-layout-7 .day-image { min-height:5.65cqw;border-radius:.75cqw;}
.itinerary-mapbox-static { position:absolute;inset:0;z-index:3;display:block;width:100%;height:100%;opacity:0;object-fit:fill;}.itinerary-mapbox-pins { position:absolute;inset:0;z-index:5;display:none;}.city-itinerary-map.mapbox-ready .itinerary-mapbox-static { opacity:1;}.city-itinerary-map.mapbox-ready .itinerary-mapbox-pins { display:block;}.city-itinerary-map.mapbox-ready > small { top:1.15cqw;right:1.15cqw;bottom:auto;max-width:35%;text-align:right;}.itinerary-mapbox-marker { position:absolute;transform:translate(-50%,-88%);}.itinerary-map-scale { position:absolute;left:1.15cqw;bottom:2.4cqw;z-index:8;display:none;min-width:4cqw;color:#173f3b;text-align:center;filter:drop-shadow(0 .12cqw .2cqw rgba(255,255,255,.8));}.city-itinerary-map.mapbox-ready .itinerary-map-scale { display:grid;}.itinerary-map-scale i { display:block;width:100%;height:.52cqw;border:solid #173f3b;border-width:0 .18cqw .18cqw;}.itinerary-map-scale span { justify-self:center;margin-top:.12cqw;padding:.15cqw .3cqw;border-radius:.3cqw;background:rgba(255,255,255,.9);font-size:.62cqw;font-weight:950;line-height:1;}
[data-pick-id] { position: relative; overflow: hidden; }
[data-image-accuracy="representative"]::after { content: "Representative image"; position: absolute; right: .45cqw; bottom: .45cqw; max-width: calc(100% - .9cqw); padding: .25cqw .42cqw; overflow: hidden; border-radius: .4cqw; background: rgba(12,37,34,.78); color: white; font-size: .72cqw; font-style: normal; font-weight: 800; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.sheet-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25cqw; }.sheet-grid-card { min-height: 16.5cqw; overflow: hidden; border-radius: 1.5cqw; background: rgba(255,255,255,.8); box-shadow: 0 .7cqw 2cqw rgba(51,55,39,.07); }.sheet-grid-image { height: 9.5cqw; background: linear-gradient(145deg,var(--card),color-mix(in srgb,var(--card) 35%,white)); background-size: cover; background-position: center; }.sheet-grid-card strong { display: block; padding: 1.1cqw; font: 900 1.65cqw/1.05 Fraunces,serif; }
.sheet-bingo { display:grid; grid-template-columns:repeat(4,1fr); gap:1cqw; }.bingo-cell { aspect-ratio:1; display:grid; align-content:center; justify-items:center; gap:.6cqw; padding:1cqw; border:.2cqw solid color-mix(in srgb,var(--deep) 15%,transparent); border-radius:1.5cqw; background:rgba(255,255,255,.74); text-align:center; }.bingo-cell i { display:grid; place-items:center; width:3.6cqw; height:3.6cqw; border-radius:50%; background:var(--card); font-style:normal; font-size:1.8cqw; }.bingo-cell span { font-size:1.25cqw; font-weight:850; line-height:1.15; }.bingo-cell b { width:1.7cqw;height:1.7cqw;border:.18cqw solid color-mix(in srgb,var(--deep) 40%,transparent);border-radius:.25cqw; }
.sheet-checklist { display:grid; grid-template-columns:1fr 1fr; gap:1.2cqw 2cqw; }.check-item { display:grid; grid-template-columns:2.1cqw 1fr; gap:.9cqw; align-items:start; padding:1.05cqw 0; border-bottom:.15cqw solid color-mix(in srgb,var(--deep) 13%,transparent); }.check-item i { width:1.8cqw;height:1.8cqw;border:.18cqw solid var(--deep);border-radius:.35cqw; }.check-item span { font-size:1.5cqw;font-weight:750;line-height:1.25; }
.sheet-plan { display:grid; gap:1.4cqw; }.plan-block { display:grid; grid-template-columns:13cqw 1fr; min-height:12cqw; overflow:hidden; border-radius:1.7cqw;background:rgba(255,255,255,.8); }.plan-block h3 { margin:0;padding:2cqw;background:var(--card);font:900 2.15cqw/1 Fraunces,serif; }.plan-block div { padding:1.7cqw 2cqw; }.plan-block strong { display:block;margin-bottom:.6cqw;font-size:1.8cqw; }.plan-block p { margin:0;color:color-mix(in srgb,var(--deep) 70%,white);font-size:1.35cqw;font-weight:700;line-height:1.4; }
.travel-day-sheet { display:grid; grid-template-columns:1fr 1fr; gap:1.05cqw; }.travel-day-card { min-height:15.2cqw; padding:1.15cqw 1.25cqw; border-top:.75cqw solid var(--card); border-radius:1.25cqw; background:rgba(255,255,255,.8); box-shadow:0 .45cqw 1.5cqw rgba(51,55,39,.06); }.travel-day-card h3 { margin:0 0 .65cqw; font:900 1.7cqw/1 Fraunces,serif; }.travel-day-card ul { display:grid; gap:.38cqw; margin:0; padding:0; list-style:none; }.travel-day-card li { display:grid; grid-template-columns:1.25cqw 1fr; gap:.55cqw; align-items:start; min-width:0; font-size:1.05cqw; font-weight:750; line-height:1.18; }.travel-day-card li i { width:1.1cqw; height:1.1cqw; margin-top:.04cqw; border:.16cqw solid color-mix(in srgb,var(--deep) 45%,transparent); border-radius:.22cqw; background:#fff; }.travel-day-reminder { margin:1.05cqw 0 0; padding:1cqw 1.25cqw; border-radius:1.05cqw; background:color-mix(in srgb,var(--p3) 28%,white); font-size:1.1cqw; font-weight:750; line-height:1.3; }.travel-day-reminder strong { font-weight:900; }.travel-day-sheet + .travel-day-reminder + .sheet-footer { margin-top:1.6cqw; }
.museum-page-header .sheet-title { max-width:17ch; font-size:5.6cqw; }
.museum-page-callout { display:grid; grid-template-columns:4cqw 1fr 4cqw; gap:1cqw; align-items:center; margin:-.4cqw 0 1.15cqw; padding:.9cqw 1.2cqw; border-radius:1.25cqw; background:linear-gradient(110deg,color-mix(in srgb,var(--p5) 32%,white),color-mix(in srgb,var(--p3) 45%,white)); text-align:center; }
.museum-page-callout > span { display:grid; place-items:center; width:3.5cqw; height:3.5cqw; border-radius:50%; background:rgba(255,255,255,.72); font-size:2cqw; }
.museum-page-callout strong { display:block; font:900 1.75cqw/1 Fraunces,serif; }
.museum-page-callout small { display:block; margin-top:.25cqw; font-size:.88cqw; font-weight:800; }
.museum-checklist { display:grid; grid-template-columns:1fr 1fr; gap:1cqw; }
.museum-check-item { position:relative; display:grid; grid-template-columns:1.55cqw 2.1cqw 7.4cqw minmax(0,1fr); gap:.65cqw; align-items:center; min-height:11.4cqw; padding:.8cqw; border-left:.6cqw solid var(--card); border-radius:1.1cqw; background:rgba(255,255,255,.86); box-shadow:0 .38cqw 1.2cqw rgba(51,55,39,.06); }
.museum-check-box { width:1.3cqw; height:1.3cqw; border:.17cqw solid color-mix(in srgb,var(--deep) 48%,transparent); border-radius:.25cqw; background:#fff; }
.museum-check-item > b { display:grid; place-items:center; width:1.85cqw; height:1.85cqw; border-radius:50%; background:var(--card); font-size:.9cqw; }
.museum-check-photo { width:7.4cqw; height:7.4cqw; border-radius:.8cqw; background:linear-gradient(145deg,var(--card),white); background-position:center; background-size:cover; }
.museum-check-item strong { display:block; font:900 1.1cqw/1.05 Fraunces,serif; }
.museum-check-item small { display:block; margin-top:.16cqw; color:color-mix(in srgb,var(--deep) 62%,white); font-size:.7cqw; font-weight:850; }
.museum-check-item p { margin:.38cqw 0 0; color:color-mix(in srgb,var(--deep) 72%,white); font-size:.78cqw; font-weight:750; line-height:1.15; }
.museum-check-item p span { font-size:1cqw; }
.museum-parent-strip { display:grid; grid-template-columns:1.2fr repeat(3,1fr); gap:.6cqw; align-items:center; margin-top:1.1cqw; padding:.8cqw 1cqw; border-radius:1cqw; background:color-mix(in srgb,var(--p1) 35%,white); font-size:.78cqw; font-weight:800; }
.museum-parent-strip strong { font:900 1.05cqw Fraunces,serif; }
.museum-mission-empty,.museum-map-empty { min-height:40cqw; display:grid; align-content:center; justify-items:center; gap:1cqw; padding:4cqw; border:.22cqw dashed color-mix(in srgb,var(--deep) 25%,transparent); border-radius:1.5cqw; background:rgba(255,255,255,.72); text-align:center; }
.museum-mission-empty strong,.museum-map-empty strong { font:900 3cqw Fraunces,serif; }
.museum-mission-empty p,.museum-map-empty p { max-width:36ch; margin:0; font-size:1.2cqw; font-weight:750; }
.museum-real-map { position:relative; height:48cqw; margin:0 0 1cqw; overflow:hidden; border:.22cqw solid color-mix(in srgb,var(--deep) 18%,transparent); border-radius:1.45cqw; background:#dceff2; box-shadow:0 .65cqw 2cqw rgba(51,55,39,.09); isolation:isolate; }
.museum-map-canvas { position:absolute; inset:0; background:#dceff2; }
.museum-map-canvas .maplibregl-canvas { outline:none; }
.museum-map-loading { position:absolute; inset:0; z-index:7; display:grid; align-content:center; justify-items:center; gap:.45cqw; padding:3cqw; background:linear-gradient(145deg,#d9edf1,#f8f1d7); text-align:center; }
.museum-map-loading[hidden] { display:none; }
.museum-map-loading strong { font:900 1.45cqw/1 Fraunces,serif; }
.museum-map-loading span { max-width:32ch; font-size:.78cqw; font-weight:800; line-height:1.25; }
.museum-map-loading.is-error { background:linear-gradient(145deg,color-mix(in srgb,var(--p3) 35%,white),#fffdf7); }
.museum-static-attribution { position:absolute; right:.45cqw; bottom:.4cqw; z-index:8; display:flex; gap:.5cqw; padding:.28cqw .42cqw; border-radius:.35cqw; background:rgba(255,255,255,.88); color:#344; font-size:.48cqw; font-weight:750; line-height:1; }
.museum-real-marker { position:relative; z-index:5; display:block; width:2.7cqw; height:3.45cqw; }
.museum-real-marker > i { position:absolute; left:.38cqw; top:.12cqw; display:grid; place-items:center; width:2.05cqw; height:2.05cqw; border:.18cqw solid #fff; border-radius:50% 50% 50% 0; background:var(--pin); box-shadow:0 .28cqw .65cqw rgba(23,63,59,.3); color:var(--deep); font-style:normal; font-size:.88cqw; font-weight:950; transform:rotate(-45deg); }
.museum-real-marker > i span { transform:rotate(45deg); }
.museum-real-marker > b { position:absolute; left:2.75cqw; top:.05cqw; width:max-content; max-width:10.5cqw; padding:.42cqw .58cqw; border:.12cqw solid rgba(23,63,59,.13); border-radius:.6cqw; background:rgba(255,253,247,.96); box-shadow:0 .24cqw .7cqw rgba(23,63,59,.18); color:var(--deep); font:900 .69cqw/1.08 DM Sans,sans-serif; }
.museum-real-marker-1 > b,.museum-real-marker-3 > b { left:auto; right:2.75cqw; text-align:right; }
.museum-real-marker-2 > b { top:-1.55cqw; }
.museum-real-marker-3 > b { top:1.4cqw; }
.museum-map-snapshot { position:absolute; inset:0; z-index:1; display:none; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.museum-map-capture .museum-map-snapshot { display:block; }
.museum-map-capture .maplibregl-canvas { visibility:hidden; }
.museum-map-key { display:grid; grid-template-columns:1fr 1fr; gap:.65cqw .9cqw; }
.museum-map-key > div { display:grid; grid-template-columns:2cqw 1fr; gap:.55cqw; align-items:start; min-width:0; padding:.65cqw .75cqw; border-radius:.85cqw; background:rgba(255,255,255,.8); }
.museum-map-key i { display:grid; place-items:center; width:1.8cqw; height:1.8cqw; border-radius:50%; background:var(--pin); font-style:normal; font-size:.78cqw; font-weight:950; }
.museum-map-key strong { display:block; font:900 .95cqw/1.05 Fraunces,serif; }
.museum-map-key small { display:block; margin-top:.15cqw; color:color-mix(in srgb,var(--deep) 62%,white); font-size:.58cqw; font-weight:800; line-height:1.15; }
.museum-map-note { margin-top:1cqw; padding:.85cqw 1.1cqw; border-radius:1cqw; background:color-mix(in srgb,var(--p3) 26%,white); font-size:.85cqw; font-weight:750; line-height:1.25; }
.beach-kid-banner { display:grid; grid-template-columns:4cqw 1fr 4cqw; gap:1cqw; align-items:center; margin:-.4cqw 0 1.1cqw; padding:.8cqw 1.15cqw; border-radius:1.25cqw; background:linear-gradient(110deg,color-mix(in srgb,var(--p3) 60%,white),color-mix(in srgb,var(--p2) 42%,white)); text-align:center; }
.beach-kid-banner > span { display:grid; place-items:center; width:3.5cqw; height:3.5cqw; border-radius:50%; background:rgba(255,255,255,.7); font-size:2.15cqw; }
.beach-kid-banner strong { display:block; font:900 1.75cqw/1 Fraunces,serif; }
.beach-kid-banner small { display:block; margin-top:.25cqw; font-size:.9cqw; font-weight:800; }
.beach-place-section,.beach-mission-section { margin-bottom:1.15cqw; }
.beach-section-heading { display:flex; align-items:center; gap:.7cqw; margin:0 0 .7cqw; }
.beach-section-heading > span { display:grid; place-items:center; width:2.6cqw; height:2.6cqw; border-radius:50%; background:color-mix(in srgb,var(--p4) 35%,white); font-size:1.45cqw; }
.beach-section-heading strong { display:block; font:900 1.55cqw/1 Fraunces,serif; }
.beach-section-heading small { display:block; margin-top:.18cqw; color:color-mix(in srgb,var(--deep) 65%,white); font-size:.75cqw; font-weight:800; }
.beach-place-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.8cqw; }
.beach-place-grid-1 { grid-template-columns:1fr; }
.beach-place-grid-2 { grid-template-columns:repeat(2,1fr); }
.beach-place-card { position:relative; min-width:0; overflow:hidden; border-top:.55cqw solid var(--card); border-radius:1.15cqw; background:rgba(255,255,255,.86); box-shadow:0 .42cqw 1.3cqw rgba(51,55,39,.07); }
.beach-place-photo { height:6.4cqw; background:linear-gradient(145deg,var(--card),white); background-position:center; background-size:cover; }
.beach-place-card > strong { display:block; min-height:3.6cqw; padding:.65cqw 3cqw .65cqw .8cqw; font:900 1.18cqw/1.05 Fraunces,serif; }
.beach-place-card > span { position:absolute; right:.65cqw; bottom:.65cqw; font-size:1.5cqw; }
.beach-fill-note { margin:0 0 1.1cqw; padding:1cqw 1.2cqw; border:.18cqw dashed color-mix(in srgb,var(--deep) 35%,transparent); border-radius:1.1cqw; background:rgba(255,255,255,.75); font-size:1.05cqw; }
.beach-mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7cqw; }
.beach-mission { position:relative; display:grid; grid-template-columns:3.3cqw 1fr; gap:.7cqw; min-height:7.2cqw; padding:.75cqw 2.8cqw .75cqw .75cqw; border-left:.55cqw solid var(--card); border-radius:1.05cqw; background:rgba(255,255,255,.84); box-shadow:0 .35cqw 1.1cqw rgba(51,55,39,.05); }
.beach-mission-icon { display:grid; place-items:center; width:3.05cqw; height:3.05cqw; border-radius:50%; background:color-mix(in srgb,var(--card) 48%,white); font-size:1.75cqw; }
.beach-mission strong { display:block; font:900 1.18cqw/1 Fraunces,serif; }
.beach-mission p { margin:.3cqw 0 0; color:color-mix(in srgb,var(--deep) 74%,white); font-size:.84cqw; font-weight:750; line-height:1.2; }
.beach-mission > i { position:absolute; right:.7cqw; top:.75cqw; width:1.35cqw; height:1.35cqw; border:.16cqw solid color-mix(in srgb,var(--deep) 45%,transparent); border-radius:50%; background:#fff; }
.beach-safety-strip { margin-top:1cqw; padding:.75cqw 1cqw; border-radius:1.05cqw; background:color-mix(in srgb,var(--p4) 22%,white); }
.beach-safety-strip > strong { display:block; margin-bottom:.55cqw; font:900 1.1cqw Fraunces,serif; }
.beach-safety-strip > div { display:grid; grid-template-columns:repeat(4,1fr); gap:.6cqw; }
.beach-safety-strip span { display:flex; align-items:center; gap:.35cqw; min-width:0; font-size:.7cqw; font-weight:850; line-height:1.12; }
.beach-safety-strip i { font-style:normal; font-size:1.1cqw; }
.packing-summary { display:flex; flex-wrap:wrap; gap:.65cqw; margin:-.5cqw 0 1.25cqw; }
.packing-chip { padding:.55cqw .85cqw; border-radius:99cqw; background:color-mix(in srgb,var(--p1) 48%,white); font-size:.92cqw; font-weight:900; }
.packing-chip-season { background:color-mix(in srgb,var(--p4) 45%,white); }
.packing-sections { display:grid; grid-template-columns:1fr 1fr; gap:1cqw; }
.packing-section { min-height:13.4cqw; padding:1.1cqw 1.2cqw; border-top:.72cqw solid var(--card); border-radius:1.25cqw; background:rgba(255,255,255,.82); box-shadow:0 .45cqw 1.5cqw rgba(51,55,39,.06); }
.packing-section-wide { grid-column:1 / -1; min-height:12.2cqw; }
.packing-section h3 { margin:0 0 .65cqw; font:900 1.65cqw/1 Fraunces,serif; }
.packing-section ul { display:grid; gap:.38cqw; margin:0; padding:0; list-style:none; }
.packing-section-wide ul { grid-template-columns:1fr 1fr; column-gap:1.4cqw; }
.packing-section li { display:grid; grid-template-columns:1.2cqw minmax(0,1fr); gap:.52cqw; align-items:start; min-width:0; font-size:1.02cqw; font-weight:750; line-height:1.16; }
.packing-section li i { width:1.05cqw; height:1.05cqw; margin-top:.04cqw; border:.15cqw solid color-mix(in srgb,var(--deep) 45%,transparent); border-radius:.22cqw; background:#fff; }
.packing-reminder { margin:1cqw 0 0; padding:.9cqw 1.15cqw; border-radius:1.05cqw; background:color-mix(in srgb,var(--p3) 28%,white); font-size:1.02cqw; font-weight:750; line-height:1.25; }
.packing-reminder strong { font-weight:950; }
.packing-sections + .packing-reminder + .sheet-footer { margin-top:1.45cqw; }
.sheet-route { position:relative; display:grid; gap:1.1cqw; padding-left:4cqw; }.sheet-route::before { content:"";position:absolute;left:1.75cqw;top:2cqw;bottom:2cqw;border-left:.35cqw dashed color-mix(in srgb,var(--p4) 70%,var(--deep)); }.route-stop { position:relative;display:grid;grid-template-columns:1fr 12cqw;gap:1cqw;min-height:10cqw;padding:1.4cqw;border-radius:1.5cqw;background:rgba(255,255,255,.8); }.route-stop::before { content:attr(data-stop);position:absolute;left:-4cqw;top:2.4cqw;width:3.4cqw;height:3.4cqw;display:grid;place-items:center;border-radius:50%;background:var(--card);font:900 1.6cqw Fraunces,serif; }.route-stop strong { font:900 1.8cqw Fraunces,serif; }.route-stop p { margin:.4cqw 0 0;color:color-mix(in srgb,var(--deep) 67%,white);font-size:1.25cqw;font-weight:700; }.route-stop i { border-radius:1cqw;background:linear-gradient(145deg,var(--card),white);background-size:cover;background-position:center; }
.sheet-postcard { min-height:68cqw;display:grid;align-content:center;justify-items:center;padding:5cqw;border:.25cqw solid color-mix(in srgb,var(--deep) 18%,transparent);border-radius:3cqw;background:linear-gradient(145deg,color-mix(in srgb,var(--p2) 30%,white),color-mix(in srgb,var(--p1) 36%,white));text-align:center; }.sheet-postcard .postcard-mark { font-size:7cqw; }.sheet-postcard h2 { max-width:12ch;margin:1cqw 0;font:900 7cqw/.92 Fraunces,serif;letter-spacing:-.05em; }.sheet-postcard p { max-width:32ch;margin:1cqw 0;color:color-mix(in srgb,var(--deep) 72%,white);font-size:1.8cqw;font-weight:750;line-height:1.45; }.postcard-prompts { width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1.2cqw;margin-top:3cqw; }.postcard-prompts div { min-height:10cqw;padding:1.5cqw;border-radius:1.4cqw;background:rgba(255,255,255,.72); }.postcard-prompts strong { display:block;margin-bottom:.6cqw;font-size:1.25cqw;text-transform:uppercase;letter-spacing:.08em; }.postcard-prompts span { font:900 1.8cqw Fraunces,serif; }
.sheet-table { width:100%;border-collapse:separate;border-spacing:.6cqw; }.sheet-table th,.sheet-table td { padding:1.1cqw;border-radius:.8cqw;background:rgba(255,255,255,.75);font-size:1.25cqw;text-align:left; }.sheet-table th { background:var(--p1);font-weight:900; }.sheet-table td:first-child { font-weight:900; }.hotel-pick-strip { display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw;margin-bottom:1.15cqw;}.hotel-pick { overflow:hidden;border-top:.7cqw solid var(--hotel);border-radius:1.3cqw;background:rgba(255,255,255,.82);box-shadow:0 .55cqw 1.6cqw rgba(51,55,39,.07);}.hotel-pick-photo { height:7.2cqw;background:linear-gradient(145deg,var(--hotel),white);background-position:center;background-size:cover;}.hotel-pick > div:last-child { display:grid;gap:.3cqw;padding:.85cqw 1cqw 1cqw;}.hotel-pick small { color:color-mix(in srgb,var(--deep) 65%,white);font-size:.8cqw;font-weight:900;letter-spacing:.06em;text-transform:uppercase;}.hotel-pick strong { font:900 1.55cqw/1.05 Fraunces,serif;}.hotel-pick span { color:color-mix(in srgb,var(--deep) 68%,white);font-size:.85cqw;font-weight:800;}.hotel-comparison-table { table-layout:fixed;border-spacing:.45cqw;}.hotel-comparison-table th,.hotel-comparison-table td { padding:.72cqw .8cqw;font-size:.92cqw;line-height:1.15;vertical-align:top;}.hotel-comparison-table th:first-child,.hotel-comparison-table td:first-child { width:15cqw;}.hotel-comparison-table th { background:color-mix(in srgb,var(--p1) 72%,white);font:900 1cqw/1.1 Fraunces,serif;}.hotel-comparison-table th span { display:block;margin-bottom:.2cqw;color:color-mix(in srgb,var(--deep) 58%,white);font:900 .68cqw DM Sans,sans-serif;letter-spacing:.08em;text-transform:uppercase;}.hotel-comparison-table tbody tr:nth-child(3n+1) td:not(:first-child) { background:color-mix(in srgb,var(--p2) 13%,white);}.hotel-comparison-note { margin:1cqw 0 0;padding:.75cqw 1cqw;border-radius:.85cqw;background:color-mix(in srgb,var(--p3) 22%,white);font-size:.72cqw;font-weight:750;line-height:1.3;}.hotel-guide-unavailable { min-height:55cqw;display:grid;align-content:center;justify-items:center;gap:1.2cqw;padding:6cqw;border:.24cqw dashed color-mix(in srgb,var(--deep) 25%,transparent);border-radius:2cqw;background:color-mix(in srgb,var(--p3) 18%,white);text-align:center;}.hotel-guide-unavailable strong { max-width:18ch;font:900 4cqw/.98 Fraunces,serif;}.hotel-guide-unavailable p { max-width:42ch;margin:0;font-size:1.45cqw;font-weight:750;line-height:1.45;}

@media (max-width: 980px) { .studio-shell { grid-template-columns:1fr; }.studio-controls { position:static; }.print-sheet { min-height:0; }.studio-stage { padding:0 0 40px; } }
@media (max-width: 620px) { .studio-shell { width:min(100% - 14px,1500px); }.studio-controls { padding:22px;border-radius:24px; }.studio-field-row { grid-template-columns:1fr; }.studio-stage-toolbar { padding:0 4px; }.print-sheet { width:100%; }.sheet-title { font-size:6.3cqw; } }
@media print {
  @page { size: letter portrait; margin: 0; }
  @page adventure-map { size:letter landscape; margin:0; }
  html,body { margin:0!important;padding:0!important;background:white!important; }
  body > .ww-global-header, .studio-controls, .studio-stage-toolbar, body > footer { display:none!important; }
  .studio-shell,.studio-stage { display:block!important;width:100%!important;margin:0!important;padding:0!important; }
  .print-sheet { width:8.5in!important;height:11in!important;min-height:11in!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important; }
  .print-sheet.is-landscape { page:adventure-map;width:11in!important;height:8.5in!important;min-height:8.5in!important; }
  .print-sheet.is-multipage { height:auto!important;min-height:0!important;overflow:visible!important; }
  .print-sheet.is-multipage #printable-content { display:block!important; }
  .printable-page { width:8.5in!important;height:11in!important;min-height:11in!important;border:0!important;border-radius:0!important;box-shadow:none!important;break-after:page;page-break-after:always; }
  .sheet-editable:hover,.sheet-editable:focus { background:transparent!important;box-shadow:none!important; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none!important; } }

/* Keep the editing panel and printable paper readable inside the site dark theme. */
html[data-theme="dark"] body.printables-studio-page .studio-controls {
  background: rgba(255,253,247,.96) !important;
  color: #173f3b !important;
}
html[data-theme="dark"] body.printables-studio-page .studio-controls h1 {
  color: #173f3b !important;
}
html[data-theme="dark"] body.printables-studio-page :is(.studio-back, .studio-intro, .studio-fields > label, .studio-field-row label, .studio-fields legend, .studio-fine-print) {
  color: #6d695a !important;
}
html[data-theme="dark"] body.printables-studio-page .studio-fields :is(input, select) {
  background: #fff !important;
  color: #173f3b !important;
  color-scheme: light;
}
html[data-theme="dark"] body.printables-studio-page .studio-fields select :is(option, optgroup) {
  background: #fff !important;
  color: #173f3b !important;
}
html[data-theme="dark"] body.printables-studio-page .studio-actions button {
  background: #fff !important;
  color: #173f3b !important;
}
html[data-theme="dark"] body.printables-studio-page .studio-actions .studio-primary {
  background: #173f3b !important;
  color: #fff !important;
}
html[data-theme="dark"] body.printables-studio-page #printable-content,
html[data-theme="dark"] body.printables-studio-page #printable-content :is(h1, h2, h3, h4, p, li, strong, span) {
  color: var(--deep) !important;
}
html[data-theme="dark"] body.printables-studio-page #printable-content .day-card {
  background: rgba(255,255,255,.75) !important;
  color: var(--deep) !important;
  box-shadow: 0 .8cqw 2.4cqw rgba(51,55,39,.07) !important;
}
html[data-theme="dark"] body.printables-studio-page #printable-content [data-image-accuracy="representative"]::after {
  color: #fff !important;
}

@media print {
  .print-sheet [contenteditable="true"] { border: 0 !important; }
}

/* Real destination photography for plans; original illustration for keepsakes. */
.sheet-destination-photo { margin: -1.5cqw 0 2.2cqw; }
.sheet-destination-photo .sheet-photo-ribbon { height: 8.5cqw; margin: 0; }
.sheet-destination-photo figcaption { margin-top: .5cqw; font-size: 1.1cqw; line-height: 1.3; color: var(--deep); }
.sheet-postcard { min-height: 0; padding: 0 3cqw 3cqw; overflow: hidden; background: #fffdf7; }
.postcard-art { width: calc(100% + 6cqw); margin: 0 -3cqw 1.5cqw; }
.postcard-art img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.postcard-art figcaption { padding: .6cqw 1cqw 0; color: var(--deep); font-size: 1.1cqw; line-height: 1.3; }
.sheet-postcard h2 { max-width: 18ch; font-size: 5cqw; line-height: 1.05; }
.postcard-prompts { margin-top: 1.8cqw; text-align: left; }
.postcard-prompts div { background: color-mix(in srgb,var(--p2) 20%,white); }

.postcard-art-photo img { object-fit: cover; }
.postcard-art-unavailable { padding: 2cqw; }

/* Give the landmark art the page while retaining an editable title and writing space. */
.print-sheet.is-keepsake .sheet-header { margin-bottom: 2cqw; padding-bottom: 1.5cqw; }
.print-sheet.is-keepsake .sheet-title { max-width: 26ch; font-size: 3.4cqw; line-height: 1.05; }
.print-sheet.is-keepsake .sheet-subtitle { font-size: 1.5cqw; }
.print-sheet.is-keepsake .sheet-meta { position: static; display: flex; flex-wrap: wrap; gap: 1cqw; margin-top: .8cqw; }
.print-sheet.is-keepsake .sheet-postcard h2 { max-width: 24ch; font-size: 4cqw; }
