:root{--paper:#f8f5f0;--paper-light:#fffdf9;--ink:#1c1b1a;--muted:#6b6258;--line:#e4dcd0;--line-soft:#ece5da;--line-strong:#c9bfb0;--brand:#5b2ea6;--brand-dark:#3e1f73;--brand-tint:#f1ecfa;--font-serif:"Cormorant Garamond",Georgia,serif;--font-script:"Pinyon Script",cursive;--font-sans:"Jost",system-ui,sans-serif;--trip-primary:#3b6e8f;--trip-accent:#e4a57e;--trip-tint:#f6ddbe;--trip-title-font:var(--font-serif)}*{box-sizing:border-box}body,html{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:var(--brand)}a:hover{color:var(--brand-dark)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}.eyebrow.trip{color:var(--trip-primary)}.eyebrow.brand{color:var(--brand)}.serif{font-family:var(--font-serif);font-weight:600}.script{font-family:var(--font-script);font-weight:400}.muted,.script{color:var(--muted)}.city-title{margin:0;font-family:var(--trip-title-font);font-weight:600;letter-spacing:.07em;line-height:1.05}.btn,.city-title{text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:none;border-radius:999px;background:var(--brand);color:#fff;font-size:13px;letter-spacing:.16em;text-decoration:none;cursor:pointer}.btn:hover{background:var(--brand-dark);color:#fff}.btn:disabled{opacity:.5;cursor:default}.link-caps{min-height:44px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;background:none;border:none;padding:0;color:var(--brand)}.icon-btn,.link-caps{display:inline-flex;align-items:center;cursor:pointer}.icon-btn{width:44px;height:44px;border-radius:999px;border:none;background:var(--brand);color:#fff;justify-content:center;flex-shrink:0}.icon-btn:hover{background:var(--brand-dark)}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:18px clamp(20px,4vw,40px);border-bottom:1px solid var(--line)}.site-header nav{display:flex;gap:28px}.site-header nav a{white-space:nowrap;font-size:13px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:12px 0}.site-header nav a[aria-current=page]{color:var(--ink);border-bottom:1px solid var(--ink)}.header-left{gap:36px}.header-left,.header-right{display:flex;align-items:center}.header-right{gap:16px}@media (max-width:700px){.header-left{gap:20px}.header-note{display:none}}.logo{gap:7px;text-decoration:none;font-size:30px;letter-spacing:.04em}.avatar,.logo{display:inline-flex;align-items:center;color:var(--brand);font-family:var(--font-serif);font-weight:600}.avatar{width:40px;height:40px;border-radius:999px;background:var(--brand-tint);font-size:20px;justify-content:center}.chat{min-height:0}.chat,.chat-log{display:flex;flex-direction:column;gap:18px}.chat-log{overflow-y:auto;flex:1 1 auto;padding-right:4px}.bubble-user{align-self:flex-end;max-width:85%;background:var(--brand-tint);padding:12px 16px;border-radius:20px 20px 6px 20px;font-size:15px;line-height:1.45}.bubble-ai{display:flex;flex-direction:column;gap:6px;max-width:95%;font-size:15px;line-height:1.5}.typing{font-family:var(--font-serif);font-style:italic;color:var(--muted)}.chat-form{display:flex;gap:10px;align-items:center;padding-top:8px}.chat-form input{flex:1 1 auto;min-width:0;min-height:44px;padding:12px 0;border:none;border-bottom:1px solid var(--line-strong);background:transparent;font-size:15px;outline:none}.chat-form input:focus{border-bottom-color:var(--brand)}.draft-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.draft-row:last-of-type{border-bottom:1px solid var(--line)}.draft-day{font-family:var(--font-serif);font-weight:600;font-size:17px;color:var(--trip-primary);width:48px;flex-shrink:0}.draft-thumb{width:44px;height:44px;border-radius:999px;overflow:hidden;flex-shrink:0}.workspace{display:flex;flex-wrap:wrap;align-items:stretch;min-height:calc(100vh - 81px)}.col-chat{flex:1 1 320px;max-width:400px;padding:28px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 81px);position:-webkit-sticky;position:sticky;top:0;overflow-y:auto}.col-chat .chat{min-height:320px}.col-trip{flex:999 1 520px;min-width:0;padding:28px clamp(20px,4vw,48px) 48px;display:flex;flex-direction:column;gap:22px}.col-poster{flex:1 1 260px;max-width:320px;padding:28px 32px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:16px}@media (max-width:1100px){.col-chat,.col-poster{max-width:none;border:none;position:static;max-height:none}.col-chat{order:2;border-top:1px solid var(--line)}.col-trip{order:1}.col-poster{order:3;border-top:1px solid var(--line)}}.trip-hero{width:100%;height:clamp(180px,26vw,260px);border-radius:4px;overflow:hidden}.trip-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.trip-heading .city-title{font-size:clamp(34px,5vw,52px)}.trip-heading .script{font-size:clamp(24px,3vw,30px)}.days{list-style:none;margin:0;padding:14px;border-radius:18px;background:color-mix(in srgb,var(--trip-tint) 60%,var(--paper-light));display:flex;flex-direction:column;gap:10px}.day{background:var(--paper-light);border-radius:14px;overflow:hidden}.day-toggle{width:100%;display:flex;align-items:flex-start;gap:16px;padding:16px 18px;background:none;border:none;text-align:left;cursor:pointer}.day-num{flex:none;width:52px;height:52px;border-radius:12px;background:var(--trip-primary);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:21px;font-weight:400;font-feature-settings:"lnum";font-variant-numeric:lining-nums;line-height:1}.day-num span{font-family:var(--font-sans);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:3px;opacity:.85}.day-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.day-label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--trip-accent-text,var(--trip-accent))}.day-title{font-family:var(--trip-title-font);font-size:23px;line-height:1.2}.day-extra{display:flex;flex-wrap:wrap;gap:2px 14px}.day-extra:empty{display:none}.day-summary{margin-top:4px;font-size:13.5px;color:var(--muted)}.day-scene{flex:none;width:104px;height:70px;border-radius:10px;overflow:hidden}.day-toggle:hover .day-title{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}@media (max-width:700px){.days{padding:8px}.day-toggle{padding:14px;gap:12px}.day-scene{display:none}}.stops{list-style:none;margin:0;padding:0 18px 18px;position:relative;display:flex;flex-direction:column;gap:4px}.stops:before{content:"";position:absolute;left:34px;top:6px;bottom:24px;width:2px;background:color-mix(in srgb,var(--trip-primary) 14%,transparent)}.stops li{position:relative;border-radius:10px}.stops li.tone-primary{--tone:var(--trip-primary)}.stops li.tone-accent{--tone:var(--trip-accent-text,var(--trip-accent))}.stops li.tone-brand{--tone:var(--brand)}.stops li.tone-muted{--tone:var(--muted)}.stop{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;background:none;border:none;padding:7px 8px 7px 0;border-radius:10px;cursor:pointer}.stop:hover{background:color-mix(in srgb,var(--tone,var(--trip-primary)) 7%,transparent)}.stop:hover .stop-name{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.stop-dot{position:relative;flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--tone,var(--trip-primary));background:color-mix(in srgb,var(--tone,var(--trip-primary)) 14%,var(--paper-light));font-size:14px}.stop-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:6px}.stop-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.stop-time{font-size:12px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:1px 8px;border-radius:6px;color:color-mix(in srgb,var(--tone,var(--trip-primary)) 80%,#000);background:color-mix(in srgb,var(--tone,var(--trip-primary)) 12%,var(--paper-light))}.stop-arrow{font-size:12px;color:var(--tone,var(--trip-primary));margin-left:4px}.stop-name{font-size:15px}.stop-note{font-size:13px;color:var(--muted)}.stop-added{font-family:var(--font-serif);font-style:italic;font-size:15px;color:var(--brand)}.theme-picker{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.theme-swatch{width:28px;height:28px;border-radius:999px;border:2px solid transparent;cursor:pointer;padding:0}.theme-swatch[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}.poster-frame{overflow:hidden;flex-shrink:0;box-shadow:0 1px 0 var(--line)}.poster{width:480px;height:854px;background:var(--paper-light);padding:26px 24px 14px;transform-origin:top left}.poster,.poster-head{display:flex;flex-direction:column}.poster-head{align-items:center;text-align:center;gap:2px}.poster-head .city-title{font-size:46px;margin-top:4px}.poster-rule{height:1px;background:#d9cfc0;margin-top:14px}.poster-days{list-style:none;margin:0;padding:4px 0;flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-evenly}.poster-day{display:grid;grid-template-columns:62px minmax(0,1fr) 128px;grid-gap:12px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #e6ddd0}.poster-day:last-child{border-bottom:none}.poster-date{display:flex;flex-direction:column;align-items:center;gap:2px}.poster-date .serif{font-size:19px;color:var(--trip-primary)}.poster-date small{font-size:10.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.poster-plan{display:flex;flex-direction:column;gap:6px}.poster-plan strong{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.poster-stop{display:flex;gap:6px;align-items:center;font-size:12px}.poster-stop .time{color:var(--trip-primary);width:38px;flex-shrink:0}.poster-photo{width:128px;height:86px;border-radius:3px;overflow:hidden}.poster-foot{margin-top:auto;padding-top:10px;border-top:1px solid #d9cfc0;display:flex;align-items:center;justify-content:space-between}.poster-foot .logo{font-size:17px}.poster-days.compact .poster-day{grid-template-columns:56px minmax(0,1fr) 96px;padding:6px 0}.poster-days.compact .poster-photo{width:96px;height:54px}.poster-days.compact .poster-date .serif{font-size:17px}.poster-days.list .poster-day{grid-template-columns:56px minmax(0,1fr);padding:3px 0;gap:8px}.poster-days.list .poster-plan strong,.poster-days.list .poster-stop{font-size:11px}.poster-days.list .poster-plan{gap:2px}.poster-days.list .poster-date{flex-direction:row;gap:6px;align-items:baseline}.poster-days.list .poster-date small{display:none}.poster-days.list .poster-date .serif,.poster-more{font-size:15px}.poster-more{font-family:var(--font-serif);font-style:italic;color:var(--muted);text-align:center;padding-top:6px}.page-narrow{max-width:640px;margin:0 auto;padding:28px 24px 40px}.page-center{flex-direction:column;gap:18px;padding:32px 20px 56px}.choice,.page-center{display:flex;align-items:center}.choice{justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.choice:last-child{border-bottom:1px solid var(--line)}.choice:hover{color:var(--brand)}.home-hero{max-width:760px;margin:0 auto;padding:clamp(40px,8vw,96px) 24px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.home-hero h1{margin:0;font-family:var(--font-serif);font-weight:600;font-size:clamp(40px,6vw,64px);line-height:1.04}.home-start{width:100%;max-width:560px;margin-top:18px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:30px;gap:30px;max-width:1200px;margin:0 auto;padding:24px clamp(20px,4vw,40px) 72px}.theme-card{display:flex;flex-direction:column;gap:6px}.theme-card .photo{height:140px;border-radius:3px;overflow:hidden}.swatches{display:flex;gap:8px}.swatches span{width:16px;height:16px;border-radius:999px}.choices{border:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.choices-q{padding:0;font-family:var(--font-serif);font-weight:600;font-size:19px;margin-bottom:2px}.choices-list{border-top:1px solid var(--line)}.choice-opt,.choices-list{display:flex;flex-direction:column}.choice-opt{gap:3px;text-align:left;padding:12px 12px 12px 14px;min-height:44px;background:none;border:none;border-bottom:1px solid var(--line);border-left:2px solid transparent;cursor:pointer}.choice-opt:hover,.choice-opt[aria-pressed=true]{background:var(--brand-tint);border-left-color:var(--brand)}.choice-label{font-size:15px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.choice-rec{font-family:var(--font-serif);font-style:italic;font-size:15px;color:var(--brand)}.choice-detail{font-size:13px;color:var(--muted);line-height:1.4}.decisions{gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line)}.decisions,.decisions dl{display:flex;flex-direction:column}.decisions dl{margin:0}.decision{display:flex;gap:14px;padding:5px 0;font-size:14px}.decision dt{width:64px;flex-shrink:0;font-family:var(--font-serif);font-weight:600;font-size:16px;color:var(--brand)}.decision dd{margin:0}.decision.pending dd{font-family:var(--font-serif);font-style:italic;color:var(--muted)}.trip-list{list-style:none;margin:10px 0 0;padding:0}.trip-list li{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line)}.trip-list li:last-child{border-bottom:1px solid var(--line)}.trip-list .choice{flex:1 1 auto;border:none!important}.preview-scrim{position:fixed;inset:0;background:rgba(28,27,26,.18);z-index:40}.preview{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:41;background:var(--paper);border-left:1px solid var(--line);box-shadow:-12px 0 40px rgba(28,27,26,.08);padding:22px 28px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;animation:preview-in .18s ease-out}@keyframes preview-in{0%{transform:translateX(24px);opacity:0}}@media (max-width:700px){.preview{top:auto;width:100vw;max-height:82vh;border-left:none;border-top:1px solid var(--line);border-radius:16px 16px 0 0}}.preview-head{display:flex;align-items:center;justify-content:space-between}.preview-close{width:44px;height:44px;margin-right:-12px;border:none;background:none;color:var(--ink);cursor:pointer;border-radius:999px}.preview-close:hover{background:var(--line-soft)}.preview-wiki{display:flex;flex-direction:column;gap:8px}.preview-wiki img{width:100%;max-height:220px;object-fit:cover;border-radius:3px}.preview-wiki p{margin:0;font-size:14.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.preview-map{width:100%;height:240px;border:none;border-radius:3px;background:var(--line-soft);flex-shrink:0}.preview-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}.explore-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));grid-gap:24px;gap:24px;max-width:1200px;margin:0 auto;padding:24px clamp(20px,4vw,40px) 72px}.explore-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink)}.explore-card .photo{height:150px;border-radius:3px;overflow:hidden}.explore-card:hover .explore-title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.explore-title{font-family:var(--font-serif);font-weight:600;font-size:19px;line-height:1.2}.rating{font-size:15px;display:inline-flex;align-items:baseline;gap:2px;flex-wrap:wrap}.rating .stars{color:#b7791f}.options{display:flex;flex-direction:column;gap:10px}.options ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.option{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.option-photo{width:76px;height:76px;border-radius:3px;object-fit:cover;flex-shrink:0;background:var(--trip-tint)}.option-body{display:flex;flex-direction:column;gap:2px;min-width:0}.option-name{font-size:15px;font-weight:500}.option-links{display:flex;gap:16px;flex-wrap:wrap}.option-links .link-caps{min-height:32px;font-size:11.5px}.chat-error{gap:10px}.print-only{display:none}@page{margin:14mm}@media print{body,html{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.col-chat,.col-poster,.col-trip,.no-print,.preview,.preview-scrim,.site-header{display:none!important}.workspace{min-height:0}.print-only,.workspace{display:block}.print-poster{display:flex;justify-content:center;page-break-before:always;break-before:page}.print-days{column-count:2;column-gap:28px;column-rule:1px solid var(--line-soft)}.print-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 28px;gap:0 28px;align-items:start;page-break-inside:avoid;break-inside:avoid}.print-poster .poster-frame{box-shadow:none;border:1px solid var(--line)}.print-itinerary{font-size:12px}.print-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--line)}.print-day{page-break-inside:avoid;break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--line-soft)}.print-day-head{display:flex;align-items:baseline;gap:14px;margin-bottom:4px}.print-day ul{list-style:none;margin:0;padding:0}.print-day li{display:flex;gap:12px;padding:3px 0}.print-time{width:40px;flex-shrink:0;font-family:var(--font-serif);font-weight:600;color:var(--trip-primary)}.print-stop{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}.print-link{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.print-foot{margin-top:16px;text-align:center;font-family:var(--font-serif);font-style:italic;color:var(--brand)}}.day-cost{font-size:13px;color:var(--muted)}.stop-meta{font-size:12.5px;color:var(--trip-primary)}.stop-travel{cursor:default}.stop-travel:hover{background:none}.stop-travel .stop-name{font-style:italic;font-family:var(--font-serif);font-size:17px}.preview-facts{gap:4px;font-size:14px;padding:10px 0}.costs,.preview-facts{display:flex;flex-direction:column;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.costs{gap:8px;padding:16px 0}.costs dl{margin:0;display:flex;flex-direction:column}.costs dl>div{display:flex;justify-content:space-between;gap:16px;padding:4px 0;font-size:14.5px}.costs dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.costs-total{border-top:1px solid var(--line);margin-top:4px;padding-top:8px!important;font-family:var(--font-serif);font-weight:600;font-size:18px!important}.costs-ok dd{color:#2f6b3a}.costs-over dd{color:#9a3412}.bookings{gap:6px;padding-bottom:14px;border-bottom:1px solid var(--line)}.bookings,.bookings-form{display:flex;flex-direction:column}.bookings-form{gap:12px}.bookings-form fieldset{border:none;margin:0;padding:6px 0;display:flex;flex-direction:column;gap:6px}.bookings-form legend{font-family:var(--font-serif);font-weight:600;font-size:16px;color:var(--brand);padding:0}.bookings-form label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted);flex:1 1}.bookings-form input{min-height:40px;padding:6px 0;border:none;border-bottom:1px solid var(--line-strong);background:transparent;font-size:14.5px;color:var(--ink);outline:none}.bookings-form input:focus{border-bottom-color:var(--brand)}.bookings-form .pair{display:flex;gap:12px}.place-search{position:relative;display:flex;flex-direction:column;gap:2px}.place-search>label{font-size:12px;color:var(--muted)}.place-search input{min-height:40px;padding:6px 0;border:none;border-bottom:1px solid var(--line-strong);background:transparent;font-size:14.5px;color:var(--ink);outline:none}.place-search input:focus{border-bottom-color:var(--brand)}.place-suggestions{position:absolute;top:100%;left:0;right:0;z-index:5;list-style:none;margin:4px 0 0;padding:4px 0;background:var(--paper-light);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px rgba(28,27,26,.08);max-height:280px;overflow-y:auto}.place-suggestions li[role=option]{display:flex;flex-direction:column;padding:8px 12px;cursor:pointer;font-size:14px}.place-suggestions li[role=option] .muted{font-size:12px}.place-suggestions li[aria-selected=true],.place-suggestions li[role=option]:hover{background:var(--brand-tint)}.place-credit{text-align:right;font-size:10.5px;color:var(--muted);padding:4px 12px 2px}.trip-actions{display:flex;gap:16px;flex-shrink:0}.trip-actions .link-caps{font-size:11.5px}.rename{flex:1 1 auto;display:flex;align-items:center;gap:16px;padding:10px 0}.rename input{flex:1 1 auto;min-width:0;min-height:44px;font-family:var(--font-serif);font-weight:600;font-size:22px;border:none;border-bottom:1px solid var(--brand);background:transparent;outline:none;padding:4px 0}.poster-open{position:relative;padding:0;border:none;background:none;cursor:zoom-in;display:block}.poster-open-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(28,27,26,.72);padding:6px 12px;border-radius:999px;opacity:0;transition:opacity .15s;white-space:nowrap}.poster-open:focus-visible .poster-open-hint,.poster-open:hover .poster-open-hint{opacity:1}.lightbox{position:fixed;inset:0;z-index:60;background:rgba(28,27,26,.6);display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:lightbox-in .18s ease-out}@keyframes lightbox-in{0%{opacity:0}}.lightbox-poster{cursor:default;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:lightbox-grow .2s ease-out}@keyframes lightbox-grow{0%{transform:scale(.94)}}.lightbox-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:999px;border:none;background:var(--paper);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center}@media print{.lightbox{display:none!important}}.trip-top{display:flex;flex-direction:column;gap:10px}.trip-banner{position:relative;height:150px;border-radius:4px;overflow:hidden}.trip-banner-photo{position:absolute;inset:0}.trip-banner-card{position:absolute;left:24px;bottom:18px;max-width:calc(100% - 48px);background:var(--paper);padding:12px 20px 8px;border-radius:4px;display:flex;flex-direction:column}.trip-banner-card .city-title{font-size:clamp(26px,3.4vw,34px)}.trip-banner-card .script{font-size:24px;line-height:1.2}.trip-top-notes{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:13px;color:var(--muted)}@media (max-width:700px){.trip-banner{height:132px}.trip-banner-card{left:12px;bottom:12px;padding:10px 14px 6px}}.bookings-form select{min-height:40px;border:none;border-bottom:1px solid var(--line-strong);background:transparent;font-size:14.5px;color:var(--ink)}.segmented{display:flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden}.segmented button{flex:1 1;min-height:40px;border:none;background:transparent;font-size:13px;cursor:pointer}.segmented button[aria-checked=true]{background:var(--brand);color:#fff}:root{--added:#2f7a46;--added-tint:#e8f3ea;--changed:#a46412;--changed-tint:#fbf0dd;--removed:#9a3412}.stops li.mark-added,.stops li.mark-changed,.stops li.mark-removed{position:relative;padding-left:0;outline:1px solid;outline-offset:0}.stops li.mark-added .mark-tag,.stops li.mark-changed .mark-tag,.stops li.mark-removed .mark-tag{position:absolute;right:10px;top:4px;margin:0}.stops li.mark-added{outline-color:color-mix(in srgb,var(--added) 45%,transparent);background:color-mix(in srgb,var(--added-tint) 60%,var(--paper-light))}.stops li.mark-changed{outline-color:color-mix(in srgb,var(--changed) 40%,transparent);background:color-mix(in srgb,var(--changed-tint) 55%,var(--paper-light))}.stops li.mark-removed{outline-color:color-mix(in srgb,var(--removed) 35%,transparent);opacity:.6}.mark-tag{display:inline-block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin:6px 0 2px}.mark-added .mark-tag{color:var(--added)}.mark-changed .mark-tag{color:var(--changed)}.mark-removed .mark-tag{color:var(--removed)}.mark-before{font-size:12px;color:var(--muted)}.day-changed{font-size:12.5px;color:var(--changed)}.stops li.flash{animation:flash 1.2s ease-out}@keyframes flash{0%,30%{box-shadow:0 0 0 3px var(--brand)}to{box-shadow:0 0 0 0 transparent}}.trip-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:-8px}.trip-toolbar .link-caps{min-height:36px;font-size:11.5px}.trip-toolbar .link-caps:disabled{color:var(--line-strong);text-decoration:none;cursor:default}.undo-redo{display:flex;gap:18px;margin-left:auto}.change-legend{display:flex;align-items:center;gap:14px;font-size:12px}.change-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.lg-added:before{background:var(--added)}.lg-changed:before{background:var(--changed)}.lg-removed:before{background:var(--removed);opacity:.6}.what-changed{gap:6px;margin-top:6px;padding:10px 12px;border-left:2px solid var(--brand);background:var(--brand-tint);border-radius:2px}.what-changed,.what-changed ul{display:flex;flex-direction:column}.what-changed ul{list-style:none;margin:0;padding:0;gap:3px;font-size:13.5px}.wc-kind{display:inline-block;width:64px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}.wc-added .wc-kind{color:var(--added)}.wc-changed .wc-kind{color:var(--changed)}.wc-removed .wc-kind{color:var(--removed)}.wc-link{background:none;border:none;padding:0;font:inherit;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;cursor:pointer;text-align:left}.wc-link:hover{color:var(--brand)}.wc-struck{text-decoration:line-through;color:var(--muted)}@media print{.trip-toolbar{display:none!important}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--brand-tint);border-top-color:var(--brand);border-radius:999px;vertical-align:-2px;margin-right:4px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.suggestion-chips{display:flex;flex-wrap:wrap;gap:6px}.suggestion-chips button{font-size:12.5px;padding:6px 12px;min-height:32px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;text-align:left;animation:chip-in .3s ease-out}.suggestion-chips button:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-tint)}@keyframes chip-in{0%{opacity:0}}.chip-link{font-size:12.5px;padding:6px 12px;min-height:32px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink);text-decoration:none;animation:chip-in .3s ease-out}.chip-link:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-tint)}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:-6px}.tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:10px 0;min-height:44px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);cursor:pointer}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--brand)}.stays{gap:18px}.stay-seg,.stays{display:flex;flex-direction:column}.stay-seg{gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.stay-seg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.stay-current{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-left:3px solid var(--brand);background:var(--brand-tint);border-radius:2px;min-width:220px}.stay-current.booked{border-left-color:var(--added);background:var(--added-tint)}.stay-styles{max-width:560px}.stay-options{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.stay-sites{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.stops li.tonight{margin:6px 0 0 48px}.tonight-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--brand) 8%,var(--paper-light));font-size:13.5px}.tonight-label{font-family:var(--font-serif);font-style:italic;font-size:16px;color:var(--brand)}@media print{.tabs,.tonight{display:none!important}}.login{min-height:100vh;justify-content:center;padding-top:0}.login .logo{color:var(--brand)}.login-form{width:min(320px,100%);display:flex;flex-direction:column;gap:10px;margin-top:12px}.login-form input{height:44px;padding:0 4px;border:none;border-bottom:1px solid var(--line-strong);background:transparent;font:inherit;font-size:16px}.login-form input:focus{outline:none;border-bottom-color:var(--brand)}.login-form input[aria-invalid=true]{border-bottom-color:var(--removed,#9a3412)}.login-error{font-size:13px;color:var(--removed,#9a3412)}.login-form .btn{margin-top:8px}