.welcome-paths{padding-top:68px;padding-bottom:65px;border-top:1px solid #cfd8ce}
.welcome-grid,.home-editorial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.welcome-grid a{display:flex;flex-direction:column;min-height:158px;padding:18px 19px;background:#fffdf8;border:2px solid var(--ink);border-radius:10px;box-shadow:4px 4px 0 var(--ink)}
.welcome-grid a:nth-child(2){background:#dce7dd}.welcome-grid a:nth-child(3){background:#f3d8cb}.welcome-grid a:nth-child(4){background:#eee1b8}
.welcome-grid a>span{font-size:31px;line-height:1}.welcome-grid strong{font-family:Fraunces,Georgia,serif;font-size:24px;letter-spacing:-.035em;margin-top:auto}.welcome-grid small{font-size:12px;margin-top:5px}.welcome-grid a:hover,.home-editorial-grid a:hover{transform:translateY(-3px)}
.home-editorial{padding-top:10px;padding-bottom:82px}.home-editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-editorial-grid a{display:flex;flex-direction:column;min-height:247px;padding:23px;border:2px solid var(--ink);border-radius:12px;background:#e5d2ba;box-shadow:5px 5px 0 var(--ink)}.home-editorial-grid a:nth-child(2){background:#d2dfd5}.home-editorial-grid a:nth-child(3){background:#d0d8e0}.home-editorial-grid a>span{font-size:10px;letter-spacing:.15em;font-weight:900}.home-editorial-grid strong{font-family:Fraunces,Georgia,serif;font-size:34px;letter-spacing:-.05em;line-height:1.07;margin:37px 0 12px}.home-editorial-grid small{font-size:13px;line-height:1.5}.home-editorial-grid b{font-size:12px;margin-top:auto;padding-top:19px}
.issue-actions{display:flex;flex-wrap:wrap;gap:11px}.issue-feature .issue-actions a:last-child{background:#fff}
.restaurant-intro{max-width:1152px;margin:auto;padding:29px 24px 0;color:#62716c;font-size:12px;line-height:1.6}
.restaurant-card{background:#fffdf8;border:2px solid var(--ink);border-radius:11px;overflow:hidden;box-shadow:5px 5px 0 var(--ink);display:flex;flex-direction:column}
.restaurant-art{height:172px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--card-accent,#dce1d8);border-bottom:2px solid var(--ink)}
.restaurant-art:before{content:"";position:absolute;width:133px;height:133px;border-radius:50%;background:#fffdf8;border:12px double var(--ink);opacity:.75;box-shadow:9px 9px 0 #1f2a3328}.restaurant-art:after{content:"✳";position:absolute;font-family:Fraunces,Georgia,serif;font-size:56px;color:var(--ink);opacity:.8}.restaurant-art>span{position:absolute;z-index:1;left:17px;bottom:14px;background:#fffdf8;padding:7px 9px;font-size:10px;font-weight:900;border:1px solid var(--ink);border-radius:5px;letter-spacing:.07em}
.restaurant-card .card-copy{display:flex;flex-direction:column;flex:1;padding:19px}.restaurant-card small{font-size:10px;letter-spacing:.12em;font-weight:850;text-transform:uppercase;color:#a2583b}.restaurant-card h3{font-family:Fraunces,Georgia,serif;font-size:29px;letter-spacing:-.045em;margin:8px 0}.restaurant-card p{font-size:13px;line-height:1.6;color:#526261;margin:0 0 15px}.restaurant-card .restaurant-meta{font-size:11px;margin-bottom:12px;color:#657472}.restaurant-card .card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #dce4db;padding-top:12px;margin-top:auto}.restaurant-card .card-actions button{border:0;background:none;padding:4px 0;font-size:12px;font-weight:900;color:var(--ink)}.restaurant-card .card-actions button:hover{text-decoration:underline}.restaurant-card .card-actions .save-place{font-size:20px;padding:3px 8px}.restaurant-card .card-actions .save-place.active{color:#d16e55}
.restaurant-dialog{border:2px solid var(--ink);border-radius:14px;box-shadow:12px 12px 0 var(--ink);padding:0;max-width:min(90vw,630px);width:100%;max-height:85vh;overflow:auto;background:#fffdf8;color:var(--ink)}.restaurant-dialog::backdrop{background:#122125b5;backdrop-filter:blur(3px)}.restaurant-dialog-inner{padding:30px}.restaurant-dialog header{display:flex;justify-content:space-between;gap:15px}.restaurant-dialog h2{font-family:Fraunces,Georgia,serif;font-size:42px;letter-spacing:-.05em;margin:8px 0}.restaurant-dialog .close-dialog{align-self:start;border:2px solid var(--ink);border-radius:50%;background:#fff;width:39px;height:39px;font-size:24px;line-height:1}.restaurant-dialog p{line-height:1.7;color:#536263}.restaurant-dialog .restaurant-links{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 7px}.restaurant-dialog .restaurant-links a{border:2px solid var(--ink);background:var(--yellow);padding:10px 13px;border-radius:5px;font-size:12px;font-weight:800}.restaurant-dialog .restaurant-links a:nth-child(2),.restaurant-dialog .restaurant-links a:nth-child(3){background:#fff}.restaurant-dialog small{color:#6b7771;line-height:1.5}
.planner-shell{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:27px;padding-top:47px;padding-bottom:85px}.planner-controls{align-self:start;background:#fffdf8;border:2px solid var(--ink);border-radius:12px;padding:24px;box-shadow:5px 5px 0 var(--ink)}.planner-controls h2,.planner-results h2{font-family:Fraunces,Georgia,serif;font-size:35px;letter-spacing:-.05em;line-height:1.1;margin:0 0 20px}.planner-controls fieldset{border:0;border-top:1px solid #dce3da;margin:0;padding:17px 0}.planner-controls legend{font-size:12px;font-weight:900;padding-top:17px}.planner-controls label{cursor:pointer}.planner-controls input[type=date],.planner-controls select{width:100%;height:44px;border:2px solid var(--ink);border-radius:5px;background:#fff;padding:0 9px;font-size:13px;margin-top:10px}.choice-row{display:flex;flex-wrap:wrap;gap:7px}.choice-row label{position:relative}.choice-row input{position:absolute;opacity:0;width:1px;height:1px}.choice-row span{display:block;border:1.5px solid #95a5a2;border-radius:100px;padding:8px 11px;font-size:11px;font-weight:750;background:#fff}.choice-row input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}.choice-row input:focus-visible+span{outline:3px solid var(--yellow);outline-offset:2px}.planner-controls .build-plan,.planner-actions button{border:2px solid var(--ink);border-radius:6px;background:var(--coral);box-shadow:3px 3px 0 var(--ink);padding:12px 17px;font-size:12px;font-weight:900}.planner-controls .build-plan{width:100%;margin-top:13px}.planner-results .plan-intro{font-size:13px;line-height:1.6;color:#61706c;margin:-6px 0 21px}.planner-results .plan-note{font-size:12px;line-height:1.6;color:#687875;background:#e8eee8;padding:13px 15px;border-radius:6px;margin:0 0 22px}.plan-stack{display:grid;gap:12px}.plan-card{display:grid;grid-template-columns:75px 1fr;gap:15px;border:2px solid var(--ink);border-radius:9px;padding:18px;background:#fff;box-shadow:4px 4px 0 var(--ink)}.plan-time{font-size:11px;font-weight:900;color:#a0523c;white-space:nowrap}.plan-card h3{font-family:Fraunces,Georgia,serif;font-size:23px;margin:0 0 5px;line-height:1.2}.plan-card p{font-size:12px;color:#5b6968;margin:5px 0 12px;line-height:1.5}.plan-card a{font-size:11px;text-decoration:underline;text-underline-offset:3px;font-weight:850}.planner-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.planner-actions button:nth-child(2){background:#fff}.plan-empty{background:#fff;border:2px dashed #9aaea4;padding:25px;border-radius:10px}.plan-empty p{font-size:13px;line-height:1.6}.plan-empty a{text-decoration:underline;font-weight:800}
.book-shell{background:#24383b;color:#f7f2e9;padding:30px 24px 64px;min-height:79vh}.book-top{max-width:1070px;margin:0 auto 27px;display:flex;align-items:center;justify-content:space-between;gap:15px}.book-top a{font-size:12px;text-decoration:underline;text-underline-offset:4px}.book-top span{font-size:11px;letter-spacing:.14em;font-weight:900;color:#e9be68}.book-heading{max-width:1070px;margin:0 auto 25px}.book-heading h1{font-family:Fraunces,Georgia,serif;font-size:clamp(31px,5vw,49px);line-height:1.1;letter-spacing:-.04em;margin:0}.book-heading p{margin:8px 0 0;font-size:13px;color:#c2d0c8}.book-reader{max-width:1000px;margin:auto}.book-frame{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;position:relative;perspective:1800px;border-radius:7px;box-shadow:15px 18px 0 #122426,0 23px 48px #0d1d1b80;isolation:isolate}.book-page{height:590px;padding:33px 38px 26px;background:#fffaf0;color:#263b3a;overflow:auto;position:relative;box-shadow:inset -13px 0 18px #1f2a330b}.book-page:first-child{border-radius:7px 0 0 7px}.book-page:nth-child(2){border-radius:0 7px 7px 0;box-shadow:inset 13px 0 18px #1f2a330f}.book-page .folio{position:absolute;bottom:13px;right:30px;font-size:10px;color:#83918a}.book-page:first-child .folio{right:auto;left:30px}.book-page .book-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.19em;font-weight:900;color:#a3523d}.book-page h2{font-family:Fraunces,Georgia,serif;font-size:clamp(28px,3.6vw,48px);letter-spacing:-.05em;line-height:1.06;margin:12px 0 13px}.book-page h3{font-family:Fraunces,Georgia,serif;font-size:29px;letter-spacing:-.04em;margin:7px 0 12px}.book-page p{font-size:14px;line-height:1.67;margin:0 0 15px}.book-page img{display:block;width:100%;height:253px;object-fit:cover;border:1px solid #31463f;border-radius:3px;margin:0 0 17px}.book-page .book-byline{font-size:11px;font-weight:800;color:#6b7973}.book-page .book-jump{display:block;text-align:left;border:0;border-bottom:1px solid #cdd6ce;padding:9px 0;width:100%;background:none;font-size:13px;color:var(--ink);cursor:pointer}.book-page .book-jump:hover{color:#a6513a}.book-page .book-jump small{display:block;color:#9a6a52;font-size:9px;letter-spacing:.1em;margin-bottom:3px}.book-page .book-body p{font-family:Georgia,serif;font-size:15px;line-height:1.72}.book-page a{font-size:11px;font-weight:850;text-decoration:underline;text-underline-offset:3px}.book-page.book-cover{padding:0;background:#233638}.book-cover img{width:100%;height:100%;margin:0;border:0;object-fit:cover;border-radius:0}.book-cover .folio{color:#fff}.book-page.book-back{background:#e4bf69;display:flex;flex-direction:column;justify-content:center;text-align:center}.book-back h2{font-size:50px}.book-back p{font-size:16px}.book-page.book-back a{font-size:13px}.book-page.book-opener{background:#f2eadb}.book-page.book-opener h2{font-size:35px}.book-page.book-opener img{height:268px}.book-flip-sheet{position:absolute;z-index:5;top:0;width:50%;margin:0;border-radius:0;backface-visibility:hidden;pointer-events:none;overflow:hidden;transform-style:preserve-3d}.book-flip-sheet.next{right:0;transform-origin:left center;animation:book-turn-next .46s ease-in forwards}.book-flip-sheet.prev{left:0;transform-origin:right center;animation:book-turn-prev .46s ease-in forwards}@keyframes book-turn-next{to{transform:rotateY(-180deg)}}@keyframes book-turn-prev{to{transform:rotateY(180deg)}}.book-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1000px;margin:28px auto 0}.book-controls button,.book-controls select{border:2px solid var(--yellow);border-radius:100px;padding:10px 16px;background:transparent;color:#fff;font-size:12px;font-weight:800}.book-controls button:not(:disabled):hover{background:var(--yellow);color:var(--ink)}.book-controls button:disabled{opacity:.45;cursor:not-allowed}.book-controls select{background:#24383b;max-width:250px}.book-progress{font-size:12px;text-align:center;min-width:110px}.book-hint{max-width:1000px;margin:18px auto 0;color:#bed0c8;font-size:11px;text-align:center}.book-reader :focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.book-cover-band{height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffaf0;color:#1f2a33;position:relative;z-index:1}.book-cover-band strong{font-family:Fraunces,Georgia,serif;font-size:clamp(36px,5vw,60px);line-height:1;letter-spacing:-.065em}.book-cover-band span{font-size:9px;font-weight:900;letter-spacing:.17em;margin-top:7px}.book-cover-band+img{height:calc(100% - 96px)}
.book-page.book-opener img{height:225px}
@media(max-width:1100px){.site-header nav{font-size:12px}.site-header nav>a{padding:9px 9px}.book-page{padding:27px 25px 25px}}
@media(max-width:900px){.planner-shell{grid-template-columns:1fr}.planner-controls{max-width:none}.welcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-editorial-grid{grid-template-columns:1fr}.home-editorial-grid a{min-height:172px}.home-editorial-grid strong{margin:20px 0 10px}.book-frame{grid-template-columns:1fr;max-width:550px;margin:auto}.book-page{height:630px}.book-page:first-child,.book-page:nth-child(2){border-radius:7px}.book-flip-sheet{width:100%}.book-flip-sheet.next{right:0}.book-flip-sheet.prev{left:0}}
@media(max-width:680px){.welcome-paths{padding-top:45px;padding-bottom:55px}.welcome-grid{gap:10px}.welcome-grid a{padding:14px;min-height:145px}.welcome-grid strong{font-size:20px}.welcome-grid small{font-size:11px}.home-editorial{padding-bottom:62px}.home-editorial-grid strong{font-size:30px}.planner-shell{padding:28px 20px 65px}.planner-controls{padding:18px}.plan-card{grid-template-columns:1fr;gap:2px}.book-shell{padding:25px 16px 47px}.book-page{height:min(70vh,650px);min-height:520px;padding:25px 25px 30px}.book-page.book-cover{padding:0}.book-controls{flex-wrap:wrap}.book-controls select{order:3;max-width:none;width:100%}.book-heading p{line-height:1.5}.restaurant-dialog-inner{padding:22px}}
@media(prefers-reduced-motion:reduce){.book-flip-sheet.next,.book-flip-sheet.prev{animation-duration:.01ms}.welcome-grid a,.home-editorial-grid a{transition:none}}
