
:root{--cream:#f7f2e8;--ink:#243e34;--rust:#a95236;--gold:#e3bd62;--line:#d9d4c6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}button,a.btn{font:inherit;cursor:pointer}.draft{background:var(--ink);color:var(--cream);text-align:center;padding:7px;font-size:12px;letter-spacing:1px}header{position:sticky;top:0;background:#f7f2e8f5;z-index:5;border-bottom:1px solid var(--line)}nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:17px 25px;gap:20px}.brand{font-weight:bold;letter-spacing:1px;font-size:14px;text-decoration:none}.links{display:flex;gap:22px;font-size:13px}.links a{text-decoration:none}main{max-width:1180px;margin:auto;padding:0 25px}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:55px;align-items:center;padding:65px 0}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:bold;color:var(--rust)}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.08}h1{font-size:clamp(48px,6vw,80px);margin:20px 0}h2{font-size:clamp(33px,4vw,48px);margin:12px 0 22px}h3{font-size:27px;margin:9px 0 16px}p{max-width:650px}.lead{font-size:18px}.photo{background:#ddd8c7;border:1px solid #c8c3b1;display:flex;align-items:center;justify-content:center;min-height:220px;text-align:center;padding:30px;color:#526053}.photo span{max-width:250px;font-size:13px}.hero .photo{height:530px;border-radius:140px 140px 8px 8px;background:linear-gradient(155deg,#dadbc9,#c3c9b4)}.photo small{display:block;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;font-size:10px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.btn,button{border:1px solid var(--ink);background:var(--ink);color:white;padding:12px 19px;border-radius:3px;text-decoration:none;display:inline-block}.secondary{background:transparent;color:var(--ink)}button:disabled{opacity:.6;cursor:not-allowed}.disclosure{font-size:12px;color:#58645b}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:20px}.stats strong{display:block;font-family:Georgia,serif;font-size:22px}.stats span{font-size:12px}.section{padding:70px 0;border-bottom:1px solid var(--line)}.intro{display:flex;justify-content:space-between;align-items:end;gap:25px}.daynav{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.daynav a{border:1px solid var(--line);border-radius:30px;padding:9px 20px;text-decoration:none}.day{margin-top:55px}.daytitle{display:flex;gap:20px;align-items:start}.number{font:48px Georgia;color:var(--rust)}.daytitle h3{font-size:34px}.stop[hidden]{display:none}.stop{display:grid;grid-template-columns:280px 1fr;gap:35px;margin:28px 0;background:#fffaf1;padding:20px;border:1px solid var(--line);border-radius:7px}.stop .photo{min-height:210px}.stop p{margin:10px 0}.meta{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--rust)}.tools{display:flex;gap:20px;align-items:center;font-size:13px;margin-top:20px}.save{padding:6px 12px;background:transparent;color:var(--ink)}.offer{background:var(--ink);color:var(--cream);padding:45px;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.offer .eyebrow{color:var(--gold)}.offer h2{font-size:45px}.offer .btn{background:var(--gold);color:var(--ink);border-color:var(--gold)}.offer button{background:transparent;color:var(--cream);border-color:#a1af9f}.amounts{display:flex;gap:30px;margin:25px 0}.amounts strong{font:44px Georgia;display:block}.amounts span{font-size:13px}.offer li{margin:9px 0;font-size:14px}.offer details{font-size:13px;border-top:1px solid #667568;padding-top:15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);padding:24px;border-radius:5px}.card h3{font-size:25px}.card p{font-size:14px}.note{background:#ece6d8;padding:18px 22px;font-size:13px;border-left:3px solid var(--rust)}footer{padding:45px 25px;text-align:center;font-size:13px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 22px;border-radius:4px;z-index:10;display:none}:focus-visible{outline:3px solid var(--rust);outline-offset:4px}@media(max-width:700px){nav{display:block;padding:12px 18px}.links{margin-top:10px;gap:20px;overflow:auto;white-space:nowrap}main{padding:0 18px}.hero{grid-template-columns:1fr;gap:25px;padding:35px 0}.hero .photo{height:320px;min-height:320px;order:-1;border-radius:90px 90px 5px 5px}h1{font-size:52px}.stats{grid-template-columns:1fr 1fr}.section{padding:45px 0}.intro{display:block}.stop{grid-template-columns:1fr;gap:18px;padding:15px}.offer{grid-template-columns:1fr;padding:25px;gap:15px}.cards{grid-template-columns:1fr}.daytitle h3{font-size:28px}}@media print{header,.draft,.actions,.tools,.daynav,.photo,.toast{display:none!important}.hero,.offer,.stop{display:block;padding:10px}.section{padding:15px 0}.offer{color:#000;background:white}.day{break-inside:avoid}body{font-size:11px}h1{font-size:32px}h2{font-size:25px}.cards{display:block}}
.stay-card[hidden]{display:none}.stay-card h3{font-size:23px}#stay-search{margin-left:10px}

.route-editor{background:#ece6d8;border:1px solid var(--line);border-radius:6px;padding:20px;margin:20px 0}.route-editor summary{font-weight:bold;cursor:pointer}.route-editor li{padding:9px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.route-editor li span{flex:1;min-width:130px}.route-editor li button{font-size:12px;padding:5px 9px}.add-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;align-items:center}.add-controls label{width:100%;font-size:13px}select{font:inherit;max-width:100%;padding:8px;border:1px solid var(--line);background:var(--cream);color:var(--ink)}.route-hint{font-size:13px}.route-editor ol{padding-left:0;list-style:none}

/* Warm, soft journal styling */
:root{--cream:#fcf8f1;--ink:#45483e;--rust:#a87667;--gold:#ead8ad;--line:#e9e1d5}
body{background:radial-gradient(ellipse at 0 0,#f4e5db66,transparent 45%),var(--cream);color:var(--ink);line-height:1.75}header{background:#fcf8f1f2;border-bottom:1px solid #eee7dc;backdrop-filter:blur(12px)}.brand{letter-spacing:1.2px}.links a{color:#656a5d}h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(48px,5.7vw,76px);line-height:1.12;max-width:540px}h2{line-height:1.15}.eyebrow{color:#99786a;letter-spacing:1.7px}.hero{gap:75px;padding:65px 0 75px}.hero .photo{height:590px;border:0;border-radius:160px 160px 22px 22px;padding:0;overflow:hidden;background:#e2e5d8;box-shadow:0 20px 50px #765b3b12;transform:rotate(1.5deg)}.photo img{width:100%;height:100%;object-fit:cover;object-position:center}.lead{color:#66675b;max-width:440px}.btn,button{border:1px solid #80917b;background:#80917b;color:#fffdf8;border-radius:28px;padding:11px 21px;font-size:14px}.secondary{background:#f4eee4;color:#5c6656;border-color:#e5ddcf}.btn:hover,button:hover{filter:brightness(.97)}.actions{gap:10px}.stats{background:#f1eddf80;border:0;border-radius:22px;padding:25px 30px}.stats strong{font-size:23px}.stats span{color:#777669}.section{padding:65px 0;border-color:#ede6dc}.daynav a{background:#f3eee6;border:0;font-size:13px;color:#686b5c}.daytitle h3{font-size:34px}.number{color:#b3937f;font-size:44px}.day-photo{float:right;width:33%;margin:22px 0 30px 35px;height:360px;border-radius:100px 100px 18px 18px;overflow:hidden;transform:rotate(-1deg)}.day-photo img{width:100%;height:100%;object-fit:cover}.day::after{content:'';display:block;clear:both}.stop{display:block;margin:18px 0;background:#fffdf8;border:1px solid #eee7dc;padding:25px 28px;border-radius:20px;box-shadow:0 5px 18px #624b2910;overflow:hidden}.stop h3{font-size:29px}.stop p{color:#68695d}.meta{color:#a78572;letter-spacing:1.2px;font-size:10px}.tools{margin-top:15px}.tools a{font-size:12px}.save{border-color:#e4dfd3;background:#f5f1e7;padding:5px 12px;font-size:12px}.note,.route-editor{background:#f1ede2;border:0;border-radius:18px;border-left:0;padding:20px 24px}.route-editor summary{font-size:14px}.route-editor p{font-size:13px}.route-editor li button{border-color:#e1daca;background:#fbf8f1;color:#65725e;border-radius:20px}.route-editor li{font-size:13px}.offer{background:#e5eadc;color:#454f3e;border-radius:28px;padding:45px;gap:50px;border:1px solid #dfe4d6}.offer .eyebrow{color:#768268}.offer h2{font-size:43px}.offer .btn{background:#76896d;color:#fffdf8;border-color:#76896d}.offer details{border-color:#cdd5c2}.offer p{color:#58634f}.amounts strong{color:#667c5a}.card{background:#fffdf8;border-color:#eee7dc;border-radius:20px;padding:25px;box-shadow:0 5px 18px #624b2908}.card p{color:#6c6b60}.card h3{font-size:27px}.card>a:not(.btn){font-size:13px}.add-controls{gap:7px;align-items:center;border-top:1px solid #eee7dc;padding-top:15px;margin-top:18px}.add-controls label{font-size:11px;color:#7c7b6d;letter-spacing:.5px}.add-controls select{font-size:12px;border-radius:20px;padding:6px 12px;background:#f8f3eb;flex:1;min-width:90px}.add-controls button{font-size:12px;white-space:nowrap;padding:7px 13px;background:#e6ebde;border-color:#d9e0ce;color:#607355}.stay-directory{border:1px solid #e4decf;border-radius:22px;background:#f3eee4;padding:20px 25px;margin:24px 0}.stay-directory>summary{cursor:pointer;font-family:Georgia,serif;font-size:24px;letter-spacing:-.02em}.stay-directory[open]>summary{margin-bottom:24px}.stay-directory .cards{max-height:540px;overflow-y:auto;padding:6px 8px 14px 0;scrollbar-color:#bcc6ae #f3eee4}.stay-card{box-shadow:none}.stay-card h3{font-size:22px}.journal-photos{display:flex;gap:15px;overflow:auto;padding:25px 5px 40px;scroll-snap-type:x mandatory}.journal-photos img{width:190px;height:275px;object-fit:cover;flex:none;border-radius:80px 80px 14px 14px;scroll-snap-align:start}.journal-photos img:nth-child(even){margin-top:25px;border-radius:16px}.toast{background:#718467;border-radius:22px}footer{background:#f0e8dc;color:#737262;border-radius:35px 35px 0 0}button:disabled{opacity:.35}.route-stops button{min-height:30px}
@media(max-width:700px){.hero{padding:28px 0 40px;gap:28px}.hero .photo{height:420px;transform:none;border-radius:130px 130px 20px 20px}.hero h1{font-size:49px;margin:12px 0}.lead{font-size:16px}.stats{padding:22px;gap:20px}.stats strong{font-size:21px}.section{padding:45px 0}.day-photo{float:none;width:100%;height:320px;margin:20px 0;transform:none;border-radius:90px 90px 18px 18px}.daytitle h3{font-size:30px}.stop{padding:21px}.offer{padding:26px;gap:24px}.offer h2{font-size:36px}.stay-directory{padding:18px}.stay-directory>summary{font-size:22px}.stay-directory .cards{max-height:450px}.add-controls select{flex:none}.route-editor{padding:18px}.journal-photos img{width:170px;height:240px}}
@media print{.day-photo,.journal-photos,.route-editor,.add-controls{display:none!important}.offer{background:#fff;color:#000}.stay-directory{display:none}.stop{box-shadow:none}}

.fall-doodle{display:block;pointer-events:none;user-select:none}.fall-doodle svg,.coffee-doodle svg{display:block;width:100%;height:100%}.hero .photo,.day-photo{position:relative}.photo-leaf{position:absolute;color:#fffdf5;opacity:.85;width:105px;height:105px;filter:drop-shadow(0 1px 2px #3333)}.hero-leaf{bottom:26px;right:18px;transform:rotate(16deg)}.day-leaf{bottom:15px;left:12px;width:78px;height:78px;transform:rotate(-12deg)}.section-leaf{color:#b9927d;opacity:.65;width:85px;height:85px;margin:15px auto -35px;transform:rotate(40deg)}.coffee-doodle{color:#af8e75;opacity:.7;width:65px;min-width:65px;height:65px;pointer-events:none;margin-left:auto;transform:rotate(8deg)}@media(max-width:700px){.hero-leaf{width:80px;height:80px;bottom:18px;right:12px}.day-leaf{display:none}.section-leaf{width:60px;height:60px;margin:12px auto -22px}.coffee-doodle{width:44px;min-width:44px;height:44px}}@media print{.fall-doodle,.coffee-doodle{display:none!important}}

:root{--cream:#faf3e8;--ink:#594b40;--rust:#a5755e;--line:#e7d7c5}
body{background:radial-gradient(ellipse at top left,#e9d1bc55,transparent 60%),#faf3e8}.hero{position:relative}.hero>div:first-child{position:relative;padding-bottom:28px}.hero-cocoa{width:160px;height:135px;margin:5px 0 -25px 10px;transform:rotate(-5deg)}.cozy-art{pointer-events:none;user-select:none}.cozy-art svg{width:100%;height:100%;display:block}.offer{background:#eadbca;border:1px solid #dfcbb5;color:#594b40;position:relative}.offer p{color:#74614f}.offer .eyebrow{color:#987659}.offer .btn{background:#89745e;border-color:#89745e}.offer h2{color:#63503f}.amounts strong{color:#997552}.offer details{border-color:#d2bfa7}.offer-fire{width:175px;height:145px;margin:8px 0 -20px auto;transform:rotate(2deg)}.packing-sweater{float:right;width:95px;height:78px;margin:-5px -7px 0 9px;transform:rotate(8deg)}.card:has(.packing-sweater){background:#f0e6d8}.stats{background:#eee0ce88}.route-editor,.note{background:#efe4d5}.daynav a{background:#eee1d2}.stop{background:#fffbf4;border-color:#e9dccd}.card{background:#fffbf4;border-color:#e9dccd}.stay-directory{background:#efe1d0;border-color:#e1cdb7}footer{background:#e7d3bd}.section{border-color:#e5d5c3}.knit-divider{height:22px;opacity:.45;margin:25px 0 0;border-radius:12px;background-color:#f1e7d8;background-image:linear-gradient(45deg,transparent 43%,#cbb399 44%,#cbb399 49%,transparent 50%),linear-gradient(-45deg,transparent 43%,#cbb399 44%,#cbb399 49%,transparent 50%);background-size:18px 18px;mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent)}.journal-photos img{border:6px solid #fff9ef;box-shadow:0 5px 15px #8b6b4314}.hero .photo{border:8px solid #fff9ef}.coffee-doodle{color:#b58a68}.section-leaf{color:#af835f;opacity:.75}
@media(max-width:700px){.hero>div:first-child{padding-bottom:0}.hero-cocoa{width:115px;height:95px;margin:0 0 -10px auto}.offer-fire{width:140px;height:115px;margin-top:15px}.packing-sweater{width:85px;height:70px}.knit-divider{margin:15px 0 0}.hero .photo{border-width:6px}}
@media print{.cozy-art,.knit-divider{display:none}}

@media print { .stop[hidden], .stay-card[hidden] { display:block!important } .route-editor { break-inside:avoid } }
:focus-visible { outline:3px solid #8a4d32; outline-offset:4px }

/* Personal picks, photo-led stops and coordinated planning cards */
.stop-photo{width:190px;height:160px;object-fit:cover;border-radius:18px;flex:none}
.suggestion-photo{width:100%;height:190px;object-fit:cover;border-radius:18px;margin-bottom:14px}
#plan .card:has(.packing-sweater){background:#fffbf4}
#plan .card:nth-child(2){background:#e7d3bd}
#saved-panel{width:min(680px,calc(100% - 32px));max-height:85vh;box-sizing:border-box;border:1px solid #d9c1a9;border-radius:26px;padding:28px;background:#faf3e8;color:#594b40;box-shadow:0 20px 80px #392b4055}
#saved-panel::backdrop{background:#392b4066;backdrop-filter:blur(4px)}
.saved-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.saved-panel-head h2{font-size:30px;margin:8px 0}
.saved-pick{display:flex;align-items:center;gap:16px;background:#fffbf4;border-radius:18px;padding:12px;margin:12px 0}
.saved-pick img{width:80px;height:75px;object-fit:cover;border-radius:12px}
.saved-pick a{flex:1;font-weight:600}
.saved-pick button,#close-saved{font-size:13px;padding:8px 12px;min-height:36px}
@media(max-width:700px){.stop{flex-direction:column}.stop-photo{width:100%;height:210px}.saved-panel-head h2{font-size:24px}#saved-panel{padding:20px}.saved-pick{gap:10px}.saved-pick img{width:60px;height:65px}}
@media print{#saved-panel{display:none!important}.stop-photo{width:100px;height:85px}.suggestion-photo{display:none}}

/* Compact thumbnails stay inside the right edge of each card. */
.stop{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:20px;align-items:start}
.stop>div{grid-column:1;grid-row:1;min-width:0}
.stop>.stop-photo{grid-column:2;grid-row:1;width:104px;height:104px;aspect-ratio:1;object-fit:cover;border-radius:16px;margin:0;align-self:start}
.card>.suggestion-photo{float:right;width:88px;height:88px;aspect-ratio:1;object-fit:cover;border-radius:14px;margin:0 0 12px 16px}
.card:has(>.suggestion-photo){display:flow-root}
.card:has(>.suggestion-photo) .add-controls{clear:both}
@media(max-width:700px){.stop{grid-template-columns:minmax(0,1fr) 76px;gap:12px}.stop>.stop-photo{width:76px;height:76px;border-radius:12px}.card>.suggestion-photo{width:76px;height:76px;border-radius:12px;margin-left:12px}}
@media print{.stop{grid-template-columns:minmax(0,1fr) 70px}.stop>.stop-photo{width:70px;height:70px}}

/* Keep each thumbnail in the same coloured content box as its text. */
.stop{display:block}
.stop>div{display:flow-root}
.stop>div>.stop-photo{float:right;width:104px;height:104px;object-fit:cover;border-radius:16px;margin:0 0 16px 22px}
@media(max-width:700px){.stop>div>.stop-photo{width:76px;height:76px;border-radius:12px;margin:0 0 12px 14px}}
