/* Hallmark · v2.0.0 · built: the project · redesign: polish · genre: editorial · theme: locked TravelBee · hero: Stage · signature: actual trip calendar · copy: tightened · finish-review: in-thread, no further visual fixes */
/* Hallmark · pre-emit critique: P4 H4 E3 S5 R4 V3 · weakest: E, verification follows typography and surface fixes */
/* Hallmark · dismissed 54 · illustrative booking and expense notices identify fictional data and remain essential provenance */
/* Hallmark · answered F15 · kept section-specific gaps preserve the existing TravelBee layout during polish */
@import url("tokens.css");
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:var(--clear)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--amber);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p{line-height:1.65}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;left:16px;top:-80px;background:var(--ink);color:var(--white);padding:12px;z-index:10}.skip:focus{top:10px}.masthead{height:88px;display:flex;align-items:center;gap:44px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;gap:10px;align-items:center;font-size:22px;font-weight:700;text-decoration:none;white-space:nowrap}.hex{width:18px;height:21px;background:var(--amber);clip-path:polygon(50% 0,94% 25%,94% 75%,50% 100%,6% 75%,6% 25%)}nav{display:flex;gap:26px;font-size:13px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.folio{margin-left:auto;font-size:11px;color:var(--muted)}.hero{display:grid;grid-template-columns:minmax(0,0.86fr) minmax(0,1.14fr);align-items:center;gap:50px;padding-block:65px 48px}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--font-display)}h1{font-size:clamp(56px,6.1vw,82px);line-height:.99;letter-spacing:-.025em}.intro{font-size:17px;max-width:340px;margin-block:25px}.button{display:inline-flex;align-items:center;gap:24px;background:var(--ink);color:var(--white);border-radius:var(--radius);text-decoration:none;font-size:13px;padding:16px 20px;white-space:nowrap}.button:hover{background:var(--button-hover)}.button:active{transform:translateY(1px)}.hero-figure{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);transform:none}.hero-figure img{width:100%}.hero-figure figcaption{padding:12px 15px;font-size:11px;color:var(--muted)}.proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);gap:24px;padding-block:28px;border-block:1px solid var(--line)}.proof strong{display:block;font-family:var(--font-display);font-size:48px;line-height:1}.proof span{font-size:12px;display:block;margin-top:10px;color:var(--muted)}.proof>p{font-size:12px;align-self:center;border-left:1px solid var(--line);padding-left:34px;color:var(--muted)}h2{font-size:clamp(39px,4.5vw,55px);line-height:1.05;letter-spacing:-.02em}.context{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:100px;padding-block:65px}.context>div>p+p{margin-top:17px}.large-copy{font-size:21px;line-height:1.5}.context p:not(.large-copy){font-size:14px}.quiet{color:var(--muted)}.tour{padding-block:35px 0}.section-heading>p:last-child{margin-top:17px;color:var(--muted);font-size:14px}.tour-tabs{display:flex;gap:0;margin-top:32px;border-bottom:1px solid var(--line)}.tour-tabs button{flex:1;background:none;border:0;border-bottom:3px solid var(--clear);padding:17px 10px 17px 0;text-align:left;font-size:14px;line-height:1.4}.tour-tabs span{font-size:11px;margin-right:12px;color:var(--muted)}.tour-tabs [aria-selected=true]{border-color:var(--amber);font-weight:700}.tour-tabs button:hover{color:var(--amber)}.tour-panel{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:60px;padding-block:38px 45px;align-items:center;min-height:475px}.tour-panel[hidden]{display:none}h3{font-size:29px;line-height:1.2;letter-spacing:-.025em}.module-copy>p{font-size:14px;margin-top:18px;color:var(--muted)}.decision-note{margin-top:25px;border-left:2px solid var(--amber);padding-left:16px;font-size:12px}.decision-note b{font-weight:600}.decision-note p{margin-top:6px;color:var(--muted)}.module-figure .zoom{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:8px;background:var(--white);width:100%;cursor:zoom-in}.module-figure img{width:100%;border-radius:6px}.module-figure figcaption{margin-top:12px;font-size:11px;line-height:1.6;color:var(--muted)}.places-figure{max-width:530px;justify-self:end}.support{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:75px;background:var(--sage);padding:35px;border-radius:var(--radius);margin-top:8px}.feature-index{font-size:12px;color:var(--sage-text);display:block;margin-bottom:15px}.support h3{font-size:23px}.support p{font-size:13px;margin-top:13px}.support .caption{font-size:11px;max-width:390px;color:var(--muted)}.weather img{margin-top:18px;width:204px}.thinking{padding-block:70px 0}.thinking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:35px}.thinking-grid article{border-top:1px solid var(--line);padding-top:20px}.thinking-grid span{font-size:11px;color:var(--muted)}.thinking-grid h3{font-size:20px;margin-top:13px}.thinking-grid p{font-size:13px;margin-top:12px;color:var(--muted)}.learning{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:45px;border-top:1px solid var(--line);margin-top:32px;padding-top:23px;font-size:13px}.learning p{color:var(--muted)}.build{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:100px;padding-block:70px}.build>div>p{font-size:14px;color:var(--muted);margin-top:22px;max-width:430px}dl{margin:0;align-self:center}dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding-block:12px;border-bottom:1px solid var(--line);font-size:12px}dt{font-weight:600}dd{margin:0;color:var(--muted)}footer{display:flex;align-items:center;gap:30px;padding-block:24px 32px;border-top:1px solid var(--line)}footer .brand{font-size:18px}footer p{font-size:11px;color:var(--muted)}footer .source-note{margin-left:auto;font-size:10px}dialog{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);max-width:min(1000px,94vw);max-height:92dvh;padding:20px;color:var(--ink)}dialog::backdrop{background:var(--backdrop)}dialog img{max-height:72dvh;max-width:100%;object-fit:contain;margin-inline:auto}dialog p{font-size:12px;margin-top:12px;max-width:750px}#close-image{display:block;margin:0 0 15px auto;background:var(--ink);color:var(--white);border:0;border-radius:8px;padding:10px 15px}
@media(min-width:1450px){.hero{padding-block:80px 65px}}@media(max-width:1050px){.folio{display:none}.hero{gap:30px}h1{font-size:63px}.context{gap:55px}.tour-panel{gap:35px}.support{gap:35px}.build{gap:45px}.proof>p{padding-left:18px}footer{flex-wrap:wrap}footer .source-note{margin-left:0}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.masthead{height:72px;gap:10px;justify-content:space-between}.brand{font-size:20px}nav{gap:13px;font-size:11px}nav a:last-child{display:none}.hero{grid-template-columns:minmax(0,1fr);gap:35px;padding-block:40px 32px}h1{font-size:66px}.intro{max-width:345px;font-size:16px;margin-block:22px}.hero-figure{transform:none}.proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-block:23px}.proof strong{font-size:43px}.proof span{font-size:11px}.proof>p{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:15px 0 0;font-size:12px}.proof>p br{display:none}.context{grid-template-columns:minmax(0,1fr);gap:23px;padding-block:42px}.context h2 br{display:none}.large-copy{font-size:19px}.tour{padding-top:15px}.tour-tabs{gap:8px}.tour-tabs button{font-size:12px;padding-block:13px}.tour-tabs span{display:block;margin:0 0 6px}.tour-panel{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:26px 32px;min-height:0}.module-copy h3{font-size:29px}.module-copy>p{margin-top:12px}.decision-note{margin-top:18px}.module-figure{width:100%}.support{grid-template-columns:minmax(0,1fr);gap:28px;padding:25px}.support article+article{padding-top:25px;border-top:1px solid var(--sage-border)}.thinking{padding-top:43px}.thinking-grid{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:26px}.thinking-grid h3{margin-top:8px}.learning{grid-template-columns:minmax(0,1fr);gap:9px;margin-top:25px}.build{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:45px}.build>div>p{margin-top:18px}dl>div{grid-template-columns:95px minmax(0,1fr);gap:15px}footer{gap:16px}footer>p{width:100%}dialog{padding:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.masthead nav,.button,.zoom+button{display:none}.wrap{width:95%}.tour-panel[hidden]{display:grid}.tour-tabs{display:none}.tour-panel{break-inside:avoid}.hero-figure{transform:none}body{background:var(--white)}dialog{display:none}}
.expense-demo{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px}.example-label{font-size:10px;letter-spacing:normal;color:var(--muted);margin-bottom:16px}.demo-total{background:var(--ink);color:var(--paper);border-radius:9px;padding:20px}.demo-total>span{display:block;font-size:12px}.demo-total strong{display:block;font-family:var(--font-display);font-size:44px;font-weight:400;margin:8px 0}.demo-total small{font-size:11px;color:var(--inverse-muted)}.demo-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-block:16px;font-size:13px}.demo-row small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:5px}.demo-row b{text-align:right;font-weight:500}.expense-demo>p{font-size:11px;color:var(--muted);margin-top:15px}
.image-input-figure{margin-top:22px;max-width:280px}.image-input-figure .zoom{padding:0;background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:zoom-in}.image-input-figure figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:10px}
.demo-heading{background:var(--ink);color:var(--paper);padding:20px;border-radius:9px}.demo-heading>span{display:block;font-size:12px}.demo-heading strong{display:block;font-family:var(--font-display);font-size:34px;font-weight:400;line-height:1.15;margin:9px 0}.demo-heading small{display:block;color:var(--inverse-muted);font-size:11px;line-height:1.5}.route-schematic{background:var(--sage);border:1px solid var(--map-border);border-radius:9px;padding:14px 16px 22px;margin-top:18px}.schematic-label{font-size:9px;letter-spacing:normal;color:var(--map-label)}.schematic-stops{display:flex;align-items:flex-start;margin-top:23px;padding-inline:8px}.schematic-stops>div{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;min-width:48px}.route-pin{display:grid;place-items:center;width:33px;height:33px;background:var(--amber);color:var(--white);border-radius:50%;font-size:13px;font-weight:700}.route-connector{height:2px;flex:1;background:var(--route-connector);margin-top:16px}.sample-itinerary{list-style:none;padding:0;margin:20px 0 0}.sample-itinerary li:not(.sample-distance){display:flex;align-items:center;gap:12px}.stop-index{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:26px;height:26px;font-size:11px;flex-shrink:0}.sample-itinerary b,.sample-match b{font-size:13px;font-weight:500}.sample-itinerary small,.sample-match small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.sample-distance{border-left:1px dashed var(--route-divider);margin:8px 0 8px 13px;padding:6px 0 6px 25px;font-size:10px;color:var(--muted)}.sample-query{margin-top:20px}.sample-query>span,.match-heading,.sample-selection>span{display:block;font-size:11px;color:var(--muted)}.sample-query>div{display:flex;justify-content:space-between;border:1px solid var(--amber);border-radius:8px;padding:13px;margin-top:8px;font-size:15px}.sample-query>div>span{font-size:20px;color:var(--amber);line-height:1}.match-heading{margin-top:20px;margin-bottom:4px}.sample-match{display:flex;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.sample-match>div{flex:1;min-width:0}.place-symbol{color:var(--muted);font-size:10px;flex-shrink:0}.sample-match.chosen{background:var(--sage);margin-inline:-10px;padding-inline:10px;border-radius:8px;border-bottom-color:var(--clear)}.selected-label{color:var(--selected-text);font-size:10px;flex-shrink:0}.sample-selection{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.sample-selection b{display:block;font-size:13px;font-weight:500;margin-top:7px;line-height:1.5}@media(max-width:400px){.route-demo,.location-demo{padding:18px}.demo-heading{padding:17px}.demo-heading strong{font-size:30px}.sample-match{gap:8px}.sample-match b{font-size:12px}.selected-label{font-size:9px}.sample-match.chosen{margin-inline:-7px;padding-inline:7px}}
.city-coverage{padding-block:15px 55px}.city-intro{font-size:14px;max-width:660px;color:var(--muted);margin-top:18px}.city-map-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-block:25px 15px}.city-map-toolbar button{border:1px solid var(--line);background:var(--white);border-radius:8px;font-size:12px;padding:11px 14px;min-height:42px}.city-map-toolbar button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.city-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--white)}#city-map{height:560px;min-width:0;background:var(--map-surface);z-index:0}.map-loading{padding:25px;font-size:14px}.city-map-sidebar{padding:16px;min-width:0}#city-map-status{font-size:11px;line-height:1.5;color:var(--muted);padding-bottom:13px;min-height:48px;border-bottom:1px solid var(--line)}.city-list{display:grid;grid-template-columns:minmax(0,1fr);max-height:475px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.city-list button{display:flex;align-items:center;gap:11px;min-height:43px;border:0;border-bottom:1px solid var(--list-divider);text-align:left;background:none;font-size:12px;padding:9px 8px;border-radius:5px}.city-list button[hidden]{display:none}.city-list button>span{color:var(--muted);font-size:10px}.city-list button:hover{background:var(--paper)}.city-list button[aria-pressed=true]{background:var(--sage);font-weight:600}.map-caption{font-size:11px;color:var(--muted);line-height:1.7;margin-top:13px;max-width:850px}.city-coverage .leaflet-container{font-family:var(--font-body)}.city-coverage .leaflet-popup-content p{margin-block:7px;font-size:11px}.city-coverage .leaflet-popup-content a{color:var(--map-link)}.city-coverage .leaflet-control-attribution{font-size:10px}.city-coverage .leaflet-control-attribution a{color:var(--attribution-link)}@media(max-width:700px){.city-coverage{padding-block:10px 40px}.city-map-layout{grid-template-columns:minmax(0,1fr)}#city-map{height:380px}.city-map-sidebar{padding:14px}#city-map-status{min-height:0}.city-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-height:230px;gap:0 10px;margin-top:7px}.city-list button{font-size:11px;min-height:44px}.city-map-toolbar{gap:7px}.city-map-toolbar button{font-size:11px;padding-inline:10px}}@media print{.city-map-toolbar{display:none}.city-map-layout{grid-template-columns:minmax(0,1fr)}.city-list{max-height:none;grid-template-columns:repeat(3,minmax(0,1fr))}#city-map{height:400px}}
.sample-route-map-wrap{margin-top:18px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}.sample-route-map-label{font-size:9px;letter-spacing:normal;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}#sample-route-map{height:275px;min-width:0;background:var(--route-surface);z-index:0;font-family:var(--font-body)}.sample-map-pin{background:var(--clear);border:0}.sample-map-pin>span{display:grid;place-items:center;width:28px;height:28px;background:var(--route-pin);color:var(--white);font-weight:700;font-size:12px;border-radius:50%;box-shadow:0 2px 6px var(--pin-shadow)}.route-demo .leaflet-control-attribution{font-size:9px}.route-demo .leaflet-control-attribution a{color:var(--attribution-link)}.route-demo .leaflet-popup-content p{font-size:11px;margin-block:7px}.route-demo .leaflet-popup-content{font-size:12px}@media(max-width:400px){#sample-route-map{height:240px}}

.hero-screen-button{display:block;width:100%;border:0;padding:0;background:var(--clear);cursor:zoom-in}.hero-screen-button:hover{background:var(--sage)}.enlarge-hint{display:block;margin-top:5px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.proof-map-link{display:block;color:inherit;text-decoration:none}.proof-map-link:hover span{text-decoration:underline}.masthead nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 4px}.city-coverage{padding-block:50px 15px}.city-details{margin-top:23px;border-block:1px solid var(--line)}.city-details>summary{cursor:pointer;padding:20px 4px;font-size:15px;min-height:60px}.city-details>summary span{display:inline-block;color:var(--muted);font-size:12px;margin-left:20px}.city-details-body{padding-bottom:20px}.city-map-stage{min-width:0}.map-tile-notice{padding:12px;background:var(--warning-surface);color:var(--warning-text);font-size:12px;line-height:1.5;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.map-tile-notice[hidden]{display:none}.map-tile-notice button{min-height:44px;padding:9px 13px;border:1px solid var(--warning-border);background:var(--white);border-radius:8px;font-size:12px}.map-tile-notice button:disabled{cursor:not-allowed;opacity:.65;color:var(--muted);background:var(--sage)}.image-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.image-dialog-toolbar>div{display:flex;align-items:center;gap:8px}.image-dialog-toolbar button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:20px}.image-dialog-toolbar button:disabled{opacity:.55;cursor:not-allowed;color:var(--muted);background:var(--sage)}.image-dialog-toolbar output{font-size:12px;min-width:43px;text-align:center}#close-image{margin:0;font-size:13px;min-height:44px}.image-viewport{overflow:auto;max-height:62dvh;overscroll-behavior:contain}.image-viewport img{max-height:62dvh;width:auto;max-width:100%;margin-inline:auto}.image-viewport img.is-zoomed{max-width:none;max-height:none;margin-inline:0}dialog{width:min(1000px,94vw)}.decision-note{border-left-width:1px}
@media(max-width:700px){.masthead{height:auto;min-height:72px;flex-wrap:wrap;padding-block:12px;gap:8px}.masthead nav{width:100%;order:2;justify-content:space-between;gap:5px;font-size:12px}.masthead nav a:last-child{display:inline-flex}.masthead nav a{min-height:44px;padding-inline:3px}.city-coverage{padding-block:35px 10px}.city-details>summary span{display:block;margin:8px 0 0 18px}.city-details>summary{font-size:14px}.image-dialog-toolbar{gap:10px}.image-dialog-toolbar>div{gap:5px}.enlarge-hint{font-size:12px}}
.creator-line{font-size:13px;margin-bottom:23px;line-height:1.6}.creator-line strong{font-weight:600}.creator-line span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.portfolio-link{color:var(--ink);min-height:44px;display:inline-flex;align-items:center;font-size:12px;text-underline-offset:5px}.story-link{display:inline-flex;align-items:center;min-height:44px;margin-top:15px;font-size:13px}.ai-story{margin-top:18px;padding:34px;background:var(--sage);border-radius:12px}.ai-story>h2{font-size:42px;max-width:700px}.ai-intro{font-size:14px;max-width:760px;margin-top:18px;color:var(--review-text)}.ai-story>.example-label{margin-block:25px 17px;color:var(--review-text)}.ai-flow{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px}.ai-flow h3{font-size:20px}.extraction-review>p{font-size:12px;color:var(--review-text);margin-top:9px}.sample-booking{background:var(--white);border:1px solid var(--booking-border);border-radius:12px;padding:23px;margin-top:20px}.sample-booking>span{display:block;font-size:12px;color:var(--muted)}.sample-booking>strong{display:block;font-family:var(--font-display);font-weight:400;font-size:31px;margin-top:12px}.sample-booking>p{font-size:14px;margin-block:17px}.sample-booking dl>div{grid-template-columns:100px minmax(0,1fr);font-size:12px;gap:10px}.flow-note{font-size:11px;color:var(--review-text);margin-top:13px;line-height:1.6}.ai-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:20px}.ai-fields label{font-size:12px;display:block;min-width:0}.ai-fields label:first-child,.ai-fields .full{grid-column:1/-1}.ai-fields input{display:block;width:100%;min-width:0;min-height:44px;border:1px solid var(--input-border);border-radius:8px;background:var(--white);padding:10px;font:inherit;font-size:13px;color:var(--ink);margin-top:7px}.ai-fields input:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.ai-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.ai-actions button{min-height:44px;padding:11px 15px;border-radius:8px;border:1px solid var(--ink);font-size:12px;background:var(--ink);color:var(--white)}.ai-actions button+button{background:var(--clear);color:var(--ink);border-color:var(--secondary-border)}.ai-actions button:active{transform:translateY(1px)}.ai-saved{border-top:1px solid var(--review-divider);margin-top:20px;padding-top:15px;font-size:13px;line-height:1.6}.ai-saved[hidden]{display:none}.ai-saved p{font-size:12px;margin-top:6px;overflow-wrap:anywhere}.upload-proof{border-top:1px solid var(--review-divider);margin-top:25px;padding-top:8px}.upload-proof summary{font-size:13px;cursor:pointer;min-height:44px;padding-block:14px}.weather-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:50px;padding-block:28px;border-bottom:1px solid var(--line)}.weather-inline h3{font-size:22px}.weather-inline p{font-size:13px;color:var(--muted);margin-top:10px}.weather-inline figure img{width:190px}.weather-inline figcaption{font-size:11px;color:var(--muted);line-height:1.6;margin-top:11px}.thinking>h2{max-width:780px}.decision-case{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:75px;margin-top:30px}.case-story h3{font-size:19px;margin-top:22px}.case-story h3:first-child{margin-top:0}.case-story p{font-size:14px;line-height:1.7;color:var(--muted);margin-top:9px}.case-result{border-top:1px solid var(--line);padding-top:18px}.case-result h3{font-size:16px}.case-result>div{padding-block:20px;border-bottom:1px solid var(--line)}.case-result>div>span{display:block;font-size:12px;color:var(--muted)}.case-result strong{display:block;font-family:var(--font-display);font-weight:400;font-size:48px;margin-top:6px;line-height:1.1}.case-result>p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:14px}.scope-heading{font-size:20px;margin-top:40px}.scope-heading+.thinking-grid{margin-top:18px}.author-close{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:45px;padding-block:35px 45px}.author-close h2{font-size:38px}.author-close p{font-size:14px;color:var(--muted);margin-top:13px;max-width:550px}.build{padding-block:50px}footer .source-note{font-size:11px}
@media(max-width:700px){.creator-line{margin-bottom:19px}.ai-story{padding:25px;margin-top:5px}.ai-story>h2{font-size:34px}.ai-flow{grid-template-columns:minmax(0,1fr);gap:30px}.ai-intro{font-size:14px}.ai-fields{gap:12px}.ai-fields input{font-size:16px}.sample-booking{padding:20px}.sample-booking>strong{font-size:30px}.weather-inline{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:25px}.decision-case{grid-template-columns:minmax(0,1fr);gap:25px}.case-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}.case-result h3,.case-result>p{grid-column:1/-1}.case-result strong{font-size:43px}.scope-heading{margin-top:30px}.author-close{flex-direction:column;align-items:flex-start;gap:22px;padding-block:30px}.author-close h2{font-size:33px}.build{padding-block:40px}.folio.portfolio-link{display:none}}

/* Audit fixes: preserve the visual marker while enlarging its hit area. */
.city-map-toolbar button,.city-list button{min-height:44px}
.sample-map-pin{display:grid;place-items:center}
.sample-map-pin>span{color:var(--ink);border:1px solid var(--ink)}
#city-map .leaflet-control-zoom a,#sample-route-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
.form-requirements{font-size:12px;color:var(--review-text);margin-top:16px}

html, body { overflow-x: clip; }
body { font-family: var(--font-body); font-size: 16px; }
h1, h2, h3 { min-width: 0; overflow-wrap: break-word; text-wrap: balance; }
p { text-wrap: pretty; }
a, button, input, summary, [tabindex] { -webkit-tap-highlight-color: var(--clear); }
:is(a, button, input, summary, [tabindex]):focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
::selection { background: var(--sage); color: var(--ink); }
input { caret-color: var(--ink); }
html { scrollbar-color: var(--secondary-border) var(--paper); }
.hero { padding-block: 64px 48px; }
.hero-figure { transform: none; }
.intro { max-width: 35ch; }
.context p:not(.large-copy), .section-heading>p:last-child, .module-copy>p,
.ai-intro, .case-story p, .thinking-grid p, .learning, .build>div>p,
.author-close p, .city-intro, .weather-inline p { font-size: 16px; }
.decision-note, .proof span, .proof>p, .creator-line span, .portfolio-link,
.story-link, .module-figure figcaption, .hero-figure figcaption, .flow-note,
.extraction-review>p, .form-requirements, .ai-fields label, .ai-saved,
.ai-saved p, .upload-proof summary, .weather-inline figcaption, .case-result>p,
.case-result>div>span, .map-caption, footer p, footer .source-note,
.sample-booking dl>div { font-size: 14px; }
.example-label, .schematic-label, .sample-route-map-label { font-size: 13px; letter-spacing: normal; }
.example-label { text-transform: none; }
.ai-fields input { font-size: 16px; border-color: var(--secondary-border); }
.ai-actions button { font-size: 14px; border-radius: var(--radius); }
.ai-actions button:hover { background: var(--button-hover); }
.ai-actions button+button:hover { background: var(--paper); }
.ai-actions button+button { color: var(--ink); }
.button, button, summary, input { white-space: normal; }
.button, .masthead nav a { white-space: nowrap; }
.button, .tour-tabs button, .city-map-toolbar button, .city-list button,
.image-dialog-toolbar button, .upload-proof summary { min-height: 44px; }
button:active { transform: translateY(1px); }
button:disabled { transform: none; }
.demo-total, .demo-heading { padding: 0 0 20px; border-radius: 0; background: var(--clear); color: var(--ink); border-bottom: 1px solid var(--line); }
.demo-total small, .demo-heading small { color: var(--muted); font-size: 14px; }
.demo-total>span, .demo-heading>span, .demo-row, .sample-query>span,
.match-heading, .sample-selection>span, .sample-itinerary b, .sample-match b,
.sample-selection b, .sample-booking>span { font-size: 14px; }
.demo-row small, .expense-demo>p, .sample-itinerary small,
.sample-match small, .sample-distance, .selected-label { font-size: 13px; }
.sample-booking { border: 0; border-radius: 0; background: var(--clear); padding-inline: 0; }
.sample-booking dl>div { grid-template-columns: minmax(0, 100px) minmax(0, 1fr); }
.sample-booking dd { overflow-wrap: break-word; }
.sample-route-map-wrap { border: 0; border-radius: 0; }
.sample-match.chosen { background: var(--clear); border-radius: 0; border-bottom-color: var(--line); box-shadow: inset 3px 0 var(--amber); }
.scope-heading { margin-top: 40px; }
.case-result strong, .proof strong { font-variant-numeric: tabular-nums; }
@media (max-width: 700px) {
  .hero { padding-block: 40px 32px; }
  .hero h1 { font-size: clamp(52px, 15vw, 66px); }
  .tour-tabs { flex-direction: column; gap: 0; }
  .tour-tabs button { font-size: 14px; padding: 12px 8px; }
  .tour-tabs span { display: inline; margin: 0 12px 0 0; font-size: 13px; }
  .expense-demo { padding: 20px; }
  .demo-total, .demo-heading { padding: 0 0 20px; }
  .sample-match { flex-wrap: wrap; }
  .selected-label { margin-left: 20px; }
  .ai-story { padding: 24px; }
  .ai-story>h2 { font-size: 34px; }
  .ai-fields { grid-template-columns: minmax(0, 1fr); }
  .ai-fields label { grid-column: 1 / -1; }
  .sample-booking { padding: 0; }
  .proof>p br { display: block; }
  .learning { gap: 12px; }
  .case-result { gap: 0 16px; }
  .case-result strong { font-size: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

.build dl>div { font-size: 14px; }
.tour-tabs button { white-space: nowrap; }
