@layer base, layout, components, responsive;
@layer base {
 :root{--paper:#f8f6ef;--cream:#eeeade;--white:#fffdf7;--ink:#223b32;--muted:#72786c;--line:#dcded2;--green:#203c32;--red:#ae5f49;--serif:Georgia,'Times New Roman','Songti SC','Noto Serif CJK SC',serif;--sans:Arial,'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;scroll-behavior:smooth;scroll-padding-top:30px}
 *{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h3,h4{font-weight:500}ul{padding:0;margin:0;list-style:none}fieldset{border:0;margin:0;padding:0;min-width:0}legend{padding:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b8754c;outline-offset:4px}button{border:0;background:none}input[type=range]{accent-color:var(--green)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.icon{display:inline-block;flex-shrink:0;vertical-align:middle}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.6}.skip-link{position:fixed;top:-60px;left:20px;z-index:99;background:var(--green);color:var(--white);padding:12px 20px}.skip-link:focus{top:12px}button,a{touch-action:manipulation}
}
@layer layout {
 .site-header,.hero,.studio,.samples,.closing,footer{width:calc(100% - 96px);max-width:1344px;margin-inline:auto}
 .site-header{height:103px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand strong{display:block;font-size:23px;font-family:var(--serif);letter-spacing:4px;font-weight:500;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px}.site-header nav{display:flex;gap:30px;font-size:12px}.site-header nav a{border-bottom:1px solid transparent;padding-block:8px}.site-header nav a:hover{border-color:var(--red)}.header-actions{display:flex;align-items:center;gap:25px}.private-badge{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);letter-spacing:.3px}.badge-dot{height:5px;width:5px;border-radius:50%;background:#667c5c}.language-button{font-size:11px;min-height:42px}.language-button span{color:var(--red);margin-left:5px}
 .hero{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center;padding-block:64px 72px}.hero .eyebrow{display:flex;align-items:center;gap:12px;color:var(--red)}.tiny-rule{width:28px;height:1px;background:var(--red)}h1{font-size:clamp(52px,5.3vw,80px);line-height:1.06;letter-spacing:-3px;margin:24px 0}.hero-subtitle{font-size:15px;line-height:1.9;color:#72786c}.hero-cta{margin-top:28px}.hero-note{font-size:10px;color:var(--muted);margin-top:24px;letter-spacing:.15px}.hero-art{position:relative;align-self:stretch;min-height:330px;display:flex;flex-direction:column;justify-content:center}.hero-art>img{width:100%;height:auto;max-height:410px;object-fit:cover;border-radius:4px 80px 4px 4px}.art-caption{display:flex;justify-content:space-between;gap:16px;font-size:8px;letter-spacing:.6px;color:var(--muted);margin-top:11px}.art-caption span:first-child{font-family:monospace;flex-shrink:0}.art-stamp{position:absolute;top:33px;right:-14px;border:1px solid var(--green);background:var(--paper);border-radius:50%;height:80px;width:80px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--serif);font-size:15px;line-height:1.4;transform:rotate(12deg)}.art-stamp small{font-family:var(--sans);font-size:7px;letter-spacing:1.4px}
 .studio{padding-top:44px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}.section-heading .eyebrow{color:var(--red);margin-bottom:10px}.section-heading h2{font-size:36px;line-height:1.2;letter-spacing:-1px}.section-heading>p{font-size:12px;line-height:1.8;color:var(--muted)}.studio-layout{display:grid;grid-template-columns:276px minmax(0,1fr);gap:38px;align-items:start}.planner{background:#f1eee4;border:1px solid #e4e1d6;border-radius:5px;padding:24px 21px}.planner-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:21px;border-bottom:1px solid #dadccf;font-size:12px}.text-button{font-size:10px;text-decoration:underline;text-underline-offset:4px;padding:7px 0;color:var(--muted)}.control-group{padding-top:23px}.control-group legend{float:left;width:100%;display:flex;gap:9px;align-items:center;font-size:12px;font-weight:600;margin-bottom:13px}.control-group legend+*{clear:both}.control-number{font-family:var(--serif);color:#a4a08d;font-size:13px;font-weight:400}.field-hint{font-size:10px;color:var(--muted);line-height:1.7;margin-bottom:12px}.planner-foot{border-top:1px solid #d8d9ce;margin-top:25px;padding-top:17px;display:flex;align-items:flex-start;gap:10px;color:var(--muted)}.planner-foot p{font-size:10px;line-height:1.7}.small-spark{font-size:27px;line-height:1.2;color:var(--red)}
 .journey-output{min-width:0}.route-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.route-heading .eyebrow{color:var(--muted);font-size:9px;letter-spacing:1.5px}.route-heading h3{font-family:var(--serif);font-size:30px;margin-top:6px;letter-spacing:-.8px}.route-place-count{font-size:10px;background:#ebe9dd;padding:5px 9px;border-radius:3px;white-space:nowrap}.journey-stats{display:flex;flex-wrap:wrap;gap:20px;padding-top:19px;font-size:11px}.journey-stats>span{display:flex;gap:5px;align-items:center}.journey-stats .icon{width:16px;height:16px;margin-right:3px;color:var(--muted)}.journey-stats strong{font-weight:500}.route-strip{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:23px 0 17px}.route-stop{display:flex;gap:9px;align-items:center}.route-marker{display:grid;place-items:center;border:1px solid var(--city-color);color:var(--city-color);border-radius:50%;font-size:9px;width:24px;height:24px}.route-stop strong{display:block;font-size:12px;font-weight:500;line-height:1.2}.route-stop small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.route-link{color:#aaa997;font-size:16px}.route-explainer{color:var(--muted);font-size:9px;line-height:1.8;border-bottom:1px solid var(--line);padding-bottom:21px;margin-bottom:27px;max-width:100%}.result-layout{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:28px;align-items:start}.cost-column{position:sticky;top:20px}.timeline-heading{margin-bottom:20px}.timeline-heading h3{font-family:var(--serif);font-size:23px;letter-spacing:-.5px}.timeline-heading p{color:var(--muted);font-size:10px;line-height:1.7;margin-top:7px;max-width:360px}.day-card{display:grid;grid-template-columns:31px minmax(0,1fr);gap:13px;padding-bottom:22px}.day-rail{display:flex;align-items:center;flex-direction:column;gap:14px;padding-top:3px}.day-rail>span{font-family:var(--serif);font-size:17px;line-height:1;border:1px solid #dcdcd0;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--paper)}.day-rail i{height:100%;border-left:1px solid #dcdcd0;min-height:25px}.day-card:last-child .day-rail i{display:none}.day-content{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:17px 18px 13px;min-width:0}.day-meta{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;font-size:8px;color:var(--muted);letter-spacing:.1px;margin-bottom:9px}.meta-dot{margin-inline:4px}.day-status{display:inline-flex;align-items:center;gap:4px;background:#eeeee5;border-radius:3px;padding:3px 6px;font-size:8px;color:var(--muted);white-space:nowrap}.day-status .icon{width:12px;height:12px}.day-status.is-guided{background:#e9efe5;color:#446047}.day-content h4{font-family:var(--serif);font-size:22px;line-height:1.25;letter-spacing:-.3px}.day-stops{font-size:11px;line-height:1.7;margin-top:9px;color:#415547}.day-description{font-size:10px;line-height:1.8;margin-top:8px;color:var(--muted)}.day-controls{border-top:1px solid #eae9df;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;margin-top:15px;padding-top:12px}.guide-toggle{display:flex;align-items:center;gap:7px;font-size:9px;cursor:pointer;position:relative;min-height:30px}.guide-toggle input{position:absolute;left:0;width:28px;height:24px;opacity:0;cursor:pointer;margin:0}.toggle-switch{width:27px;height:15px;border-radius:20px;background:#d7d9cc;position:relative;flex-shrink:0;transition:background .2s}.toggle-switch:after{content:'';position:absolute;top:3px;left:3px;height:9px;width:9px;border-radius:50%;background:white;transition:transform .2s}.guide-toggle input:checked+.toggle-switch{background:#607854}.guide-toggle input:checked+.toggle-switch:after{transform:translateX(12px)}.guide-toggle input:focus-visible+.toggle-switch{outline:3px solid #b8754c;outline-offset:3px}.guide-toggle input:disabled~span{opacity:.5;cursor:not-allowed}.hour-control{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted)}.hour-control select{border:1px solid #dcdcd1;border-radius:3px;color:var(--ink);background:transparent;padding:4px 7px;font-size:10px;min-height:30px}.day-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:8px;color:var(--muted);margin-top:11px;padding-top:10px;border-top:1px solid #eae9df;align-items:center}.day-bottom>span:first-child{display:flex;gap:3px;align-items:center}.day-bottom .icon{width:12px;height:12px}.day-fee{text-align:right;color:var(--ink);font-size:10px}.day-fee small{font-size:7px;color:var(--muted);display:block}.transfer-card .day-content{background:#eeeee5;border-style:dashed}.transfer-card h4{font-size:20px}.transfer-card .day-rail>span{color:var(--muted);border-style:dashed}
 .samples{padding-top:62px;padding-bottom:40px;margin-top:58px;border-top:1px solid var(--line)}.sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.sample-card{border:1px solid var(--line);background:var(--white);border-radius:4px;overflow:hidden;transition:transform .2s,box-shadow .2s}.sample-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #203c320a}.sample-copy{padding:20px}.sample-copy h3{font-family:var(--serif);font-size:24px;letter-spacing:-.4px;line-height:1.2}.sample-copy>p:not(.sample-meta){font-size:11px;color:var(--muted);margin-top:7px}.sample-meta{color:var(--muted);font-size:8px;line-height:1.6;margin-bottom:10px}.sample-stops{font-size:10px;color:#6d7567;padding-top:15px;min-height:42px}.sample-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 0 0;border-top:1px solid var(--line);font-size:10px;margin-top:13px;text-align:left}.sample-button:hover{color:var(--red)}.sample-button .icon{width:17px;height:17px}.sample-art{height:148px;position:relative;display:grid;place-items:center;background:#e5e7df;overflow:hidden;color:var(--city-color)}.sample-art:before,.sample-art:after{content:'';position:absolute;border:1px solid currentColor;opacity:.15;border-radius:50%;width:180px;height:180px;right:-20px;top:-70px}.sample-art:after{width:210px;height:210px;right:-30px;top:-78px}.sample-large-icon{width:64px;height:64px;stroke-width:.6;z-index:1}.sample-index{font-family:var(--serif);position:absolute;top:13px;left:19px;font-size:18px}.sample-place{position:absolute;bottom:13px;right:18px;letter-spacing:3px;font-size:8px}.sample-art-kyoto{background:#efe2d8}.sample-art-osaka{background:#ece3cf}.sample-art-nara{background:#e2e6d8}.sample-art-hiroshima{background:#dfe7de}.sample-art-fuji{background:#e1e7e4}.sample-note{color:var(--muted);font-size:10px;line-height:1.8;margin-top:20px;max-width:950px}.closing{text-align:center;padding:40px 20px 62px}.closing-symbol{color:var(--red);font-size:43px;margin-bottom:12px}.closing h2{font-size:32px;line-height:1.25;letter-spacing:-.7px}.closing p{font-size:12px;color:var(--muted);line-height:1.9;margin:17px 0 24px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-block:28px 38px;gap:20px}.footer-brand strong{font-size:19px}.footer-brand small{font-size:6px}footer p{font-size:9px;color:var(--muted);line-height:1.8}footer>a{font-size:10px}
}
@layer components {
 .vehicle-reference{margin-top:24px;padding:20px 0;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35}
 .vehicle-reference h4{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:17px;font-weight:500}
 .vehicle-reference>p{font-size:11px;line-height:1.7;color:#dce4dd}
 .vehicle-reference label{display:block;font-size:11px;margin:15px 0 6px;color:#f7f5ee}
 .vehicle-reference select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #9bac9f;border-radius:4px;background:#f7f5ee;color:#203c32;font:inherit;font-size:12px;cursor:pointer}
 .vehicle-reference .vehicle-reference-rate{margin:19px 0 12px;display:grid;gap:4px}
 .vehicle-reference-rate strong{font-size:30px;line-height:1.3;font-weight:500;color:#fff8eb}
 .vehicle-reference-rate span{font-size:10px}
 .vehicle-rate-lines{margin:0;font-size:11px}.vehicle-rate-lines>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.vehicle-rate-lines dd{margin:0;white-space:nowrap}
 .vehicle-capacity-warning{padding:10px 12px;border-left:2px solid #e2bd8b;background:#ffffff0b}
 .vehicle-reference .vehicle-terms{margin-bottom:0;font-size:10px}
 .brand img{object-fit:contain;mix-blend-mode:multiply;clip-path:inset(1% 0 0);border-radius:0}
 .vehicle-reference .vehicle-assumption{border-left:2px solid #d7be96;padding-left:10px;margin-top:10px;color:#fff2d9}
 .day-vehicle-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid #eae9df;font-size:10px;color:var(--muted)}
 .day-vehicle-controls label{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0}
 .day-vehicle-controls select{max-width:100%;min-height:34px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);font-size:10px;padding:5px 7px}
 .day-vehicle-controls strong{color:var(--ink);font-weight:500}
 .primary-button,.outline-button,.light-button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:46px;padding:13px 22px;border-radius:3px;font-size:11px;letter-spacing:.2px;transition:background .2s,transform .2s}.primary-button{background:var(--green);color:var(--white)}.primary-button:hover{background:#375746}.outline-button{border:1px solid #b4bbae;color:var(--green)}.outline-button:hover{background:#e9e9df}.primary-button>span:last-child,.outline-button>span:last-child{font-size:16px}.days-display{display:flex;gap:12px;align-items:baseline;padding-block:1px 11px}.days-display strong{font-family:var(--serif);font-size:39px;font-weight:400;line-height:1}.days-display span{font-size:11px;color:var(--muted)}#days{appearance:none;width:100%;height:3px;border-radius:5px;background:linear-gradient(to right,var(--green) 0%,var(--green) var(--range-percent),#d4d7c9 var(--range-percent),#d4d7c9 100%);display:block;cursor:pointer;margin:10px 0}#days::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--green);border:2px solid var(--cream);box-shadow:0 0 0 1px var(--green)}#days::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid var(--cream)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;padding-top:2px}.day-presets{display:flex;gap:7px;margin-top:13px}.day-presets button{border:1px solid #d7d9cb;border-radius:3px;flex:1;min-height:31px;font-size:10px}.day-presets button:hover{border-color:var(--green)}.day-presets button.active{background:var(--green);color:var(--white);border-color:var(--green)}.destination-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.destination{display:flex;align-items:center;gap:6px;border:1px solid #d8d9cc;border-radius:3px;min-height:42px;padding:8px;white-space:nowrap;font-size:10px;text-align:left}.destination>.icon{width:16px;height:16px;color:#878b7d}.destination.active{border-color:#8b9a7f;background:#e5e9dc}.destination:hover{border-color:var(--green)}.destination.active>.icon{color:#5a7151}.destination-check{margin-left:auto;width:12px;flex-shrink:0}.destination-check .icon{width:11px;height:11px;stroke-width:2}.direction-wrap{margin-top:12px}.direction-wrap label{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.direction-wrap select{font-size:10px;background:transparent;border:1px solid #d7d9cb;min-height:35px;border-radius:3px;padding:7px 8px;width:100%;color:var(--ink)}.people-stepper{display:flex;align-items:center;gap:0;margin-top:2px;margin-bottom:10px}.people-stepper button{border:1px solid #d8d9cc;width:34px;height:34px;font-size:17px;border-radius:3px}.people-stepper button:hover:not(:disabled){background:#e4e7da}.people-stepper input{width:41px;text-align:center;background:none;border:0;color:var(--green);font-size:16px;appearance:textfield;padding:0}.people-stepper input::-webkit-inner-spin-button,.people-stepper input::-webkit-outer-spin-button{appearance:none}.people-stepper>span{font-size:10px;color:var(--muted);margin-left:12px}.people-stepper+.field-hint{margin-bottom:0}.service-options{display:flex;flex-direction:column;gap:8px}.service-option{display:flex;align-items:flex-start;gap:10px;cursor:pointer;position:relative;border:1px solid #d8d9cc;border-radius:3px;padding:12px 10px;min-height:67px}.service-option input{position:absolute;width:100%;height:100%;inset:0;opacity:0;cursor:pointer;margin:0}.service-option:has(input:focus-visible){outline:3px solid #b8754c;outline-offset:3px}.service-option.active{background:#e5e9dc;border-color:#8b9a7f}.service-option:hover{border-color:#8b9a7f}.service-icon{display:flex;align-items:center;padding-top:1px}.service-icon .icon{width:18px;height:18px;color:#7b8874}.service-option strong{font-size:10px;font-weight:500;line-height:1.4;display:block}.service-option small{font-size:8px;color:var(--muted);line-height:1.7;display:block;margin-top:5px}.radio-mark{width:12px;height:12px;border:1px solid #a9b29d;border-radius:50%;margin-left:auto;flex-shrink:0;margin-top:3px}.service-option.active .radio-mark{border:3px solid #f1eee4;outline:1px solid #6e865f;background:#6e865f}
 .cost-card{background:var(--green);color:#f6f4e8;padding:24px 21px 18px;border-radius:4px}.cost-card .eyebrow{color:#b9c3aa;font-size:8px;letter-spacing:1.5px}.cost-card h3{font-family:var(--serif);font-size:25px;letter-spacing:-.4px;margin-top:6px;margin-bottom:12px}.estimate-tag{background:#ffffff0c;border:1px solid #7e907257;display:inline-block;border-radius:3px;padding:3px 6px;font-size:8px;color:#d2dbc4}.big-price{font-family:var(--serif);font-size:41px;line-height:1.1;letter-spacing:-1px;margin-top:21px;font-variant-numeric:tabular-nums}.price-subtitle{font-size:11px;line-height:1.8;margin-top:9px}.price-subtitle span{font-size:8px;color:#b6c3ac}.per-person{font-size:8px;color:#b6c3ac;margin-top:9px}.subtotal-warning{margin-top:12px;font-size:9px;padding:8px 10px;background:#385244;border-left:2px solid #c6ba8c;color:#e9e5cf}.fee-breakdown{margin-top:17px;padding-top:10px;border-top:1px solid #7e907245;font-size:10px}.fee-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding-block:5px}.fee-breakdown dt{color:#c2cbb7}.fee-breakdown dd{margin:0;flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums}.allowance-note{font-size:8px;color:#c5cfb4;line-height:1.7;display:flex;gap:5px;margin-top:8px}.allowance-note .icon{width:12px;height:12px;margin-top:2px}.quote-pending{border-top:1px solid #7e907245;padding-top:17px;margin-top:16px}.quote-pending strong{font-size:10px;font-weight:500}.quote-pending ul{margin-top:10px}.quote-pending li{display:flex;align-items:baseline;gap:7px;font-size:9px;line-height:1.8;color:#c3ccb8;margin-block:5px}.quote-pending li>span:last-child:not(.pending-dot){font-size:8px;white-space:nowrap;background:#ffffff0b;padding:1px 5px}.pending-dot{width:3px;height:3px;border-radius:50%;background:#b7bd9e;flex-shrink:0;position:relative;top:-2px}.coverage-note{font-size:8px;line-height:1.9;color:#b6c3ac;margin-top:12px}.light-button{background:#ececdd;color:var(--green);width:100%;padding:11px 13px;min-height:43px;gap:9px;margin-top:20px;font-size:10px}.light-button:hover{background:white}.light-button .icon{width:15px;height:15px}.cost-export{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;font-size:10px;padding:15px 0 6px;color:#dedfcc}.cost-export:hover{color:white}.cost-export .icon{width:14px;height:14px}.cost-export .icon:last-child{margin-left:4px}.local-note{text-align:center;font-size:7px;color:#aebb9f;line-height:1.8;margin-top:8px}.quote-symbol{padding-block:24px 10px}.quote-symbol .icon{width:35px;height:35px;color:#d4d5b5;stroke-width:.9}.quote-message{font-family:var(--serif);font-size:20px;line-height:1.4;letter-spacing:-.3px;margin:3px 0 23px}.estimate-assumptions{border:1px solid var(--line);border-radius:3px;background:#f4f2e9;margin-top:12px}.estimate-assumptions summary{font-size:10px;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;list-style:none}.estimate-assumptions summary::-webkit-details-marker{display:none}.estimate-assumptions summary>span{font-size:15px;color:var(--muted)}.estimate-assumptions[open] summary>span{transform:rotate(45deg)}.assumptions-content{padding:0 14px 14px;font-size:9px;color:var(--muted);line-height:1.9}.assumptions-content ul{list-style:disc;padding-left:13px;margin-top:10px}.assumptions-content li{margin-top:7px}.day-price-lines{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.day-price-lines strong{font-size:9px;font-weight:500;display:block;margin-bottom:5px}.day-price-lines>div{display:flex;justify-content:space-between;gap:10px;font-size:8px;padding-block:3px}.journey-disclaimer{padding:19px 9px;display:grid;grid-template-columns:17px 1fr;gap:6px}.journey-disclaimer>span{color:var(--red);font-size:21px;line-height:1}.journey-disclaimer>strong{font-size:10px;font-weight:500}.journey-disclaimer>p{font-size:9px;line-height:1.8;color:var(--muted);grid-column:2}.empty-state{border:1px dashed #c9cfc0;padding:55px 45px;min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f0f1e7;border-radius:4px}.empty-symbol{width:62px;height:62px;border-radius:50%;background:#e1e5d7;display:grid;place-items:center;margin-bottom:20px}.empty-symbol .icon{height:28px;width:28px;stroke-width:1}.empty-state .eyebrow{color:var(--muted);font-size:9px}.empty-state h3{font-family:var(--serif);font-size:32px;line-height:1.3;max-width:470px;letter-spacing:-.7px;margin-top:8px}.empty-state>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9;max-width:430px;margin:18px 0}.empty-state .primary-button{margin-top:10px;gap:15px}.empty-state>a{font-size:11px;margin-top:23px;text-decoration:underline;text-underline-offset:4px}
 .toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,10px);background:#203c32;color:#f6f4e8;padding:12px 22px;border-radius:4px;box-shadow:0 4px 20px #14251d22;z-index:10;max-width:calc(100vw - 32px);width:max-content;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:26px;width:680px;max-width:calc(100vw - 32px);color:var(--ink);box-shadow:0 20px 80px #10201833}dialog::backdrop{background:#14231ddb;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-top h2{font-size:28px}.dialog-top button{font-size:24px;min-height:40px;min-width:40px;color:var(--muted)}dialog>p{font-size:12px;color:var(--muted);margin:8px 0 18px}#brief-text{width:100%;height:340px;max-height:45vh;background:var(--white);border:1px solid var(--line);border-radius:3px;padding:15px;color:var(--ink);font-size:11px;line-height:1.8;resize:vertical}.dialog-actions{display:flex;gap:12px;margin-top:16px}.dialog-actions .primary-button,.dialog-actions .outline-button{min-height:40px;font-size:11px;padding:10px 18px}
}
@layer responsive {
 @media(min-width:1600px){.hero{gap:110px}.studio-layout{grid-template-columns:296px minmax(0,1fr);gap:44px}.result-layout{grid-template-columns:minmax(0,1fr) 314px;gap:32px}.cost-card{padding:28px}.day-content{padding:21px}.sample-art{height:170px}}
 @media(max-width:1220px){.site-header,.hero,.studio,.samples,.closing,footer{width:calc(100% - 64px)}.hero{gap:40px}.studio-layout{grid-template-columns:250px minmax(0,1fr);gap:25px}.planner{padding:20px 16px}.result-layout{grid-template-columns:minmax(0,1fr) 258px;gap:17px}.cost-card{padding:20px 17px}.big-price{font-size:37px}.day-content{padding:15px 12px 12px}.day-card{gap:10px;grid-template-columns:27px minmax(0,1fr)}.day-rail>span{width:27px;height:27px;font-size:15px}.day-content h4{font-size:20px}.hero-art{min-height:300px}.art-stamp{height:65px;width:65px;font-size:13px}.art-stamp small{font-size:6px}.hero-note{font-size:9px}.journey-stats{gap:14px}}
 @media(max-width:1080px){.result-layout{grid-template-columns:minmax(0,1fr)}.cost-column{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px;align-items:start;grid-row:1}.cost-card{grid-row:1/4}.estimate-assumptions{margin-top:0}.journey-disclaimer{padding:14px 6px}.timeline{margin-top:15px}.cost-card{padding:22px}.timeline-heading p{max-width:100%}.day-controls{flex-wrap:nowrap}.day-meta{font-size:9px}.day-stops{font-size:12px}.day-description{font-size:11px}.day-content{padding:18px}.day-card{grid-template-columns:31px minmax(0,1fr);gap:14px}.day-rail>span{width:31px;height:31px}.guide-toggle,.hour-control{font-size:10px}.day-bottom{font-size:9px}.day-content h4{font-size:23px}.art-caption span:last-child{font-size:7px}.site-header nav{gap:20px}.header-actions{gap:15px}.hero{padding-block:48px 60px}.hero-subtitle{font-size:13px}.section-heading>p{max-width:280px}.route-heading h3{font-size:27px}.route-place-count{font-size:9px}}
 @media(max-width:850px){.site-header,.hero,.studio,.samples,.closing,footer{width:calc(100% - 44px)}.site-header{height:83px}.site-header nav{display:none}.hero{gap:24px;grid-template-columns:1fr 1fr}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero h1{font-size:52px;letter-spacing:-2px}.hero-art{min-height:270px}.hero-note{font-size:8px}.art-caption{flex-direction:column;gap:3px}.art-stamp{top:23px;right:-8px}.section-heading{gap:22px}.section-heading h2{font-size:31px}.section-heading>p{font-size:10px}.studio-layout{grid-template-columns:1fr;gap:30px}.planner{display:grid;grid-template-columns:1fr 1fr;gap:20px 25px;padding:23px}.planner-top{grid-column:1/-1;padding-bottom:10px}.control-group{padding-top:0}.control-group:nth-of-type(3){grid-column:1}.control-group:nth-of-type(4){grid-column:2;grid-row:3}.planner-foot{grid-column:1/-1;margin-top:0;padding-top:14px}.planner-foot p{max-width:480px}.field-hint{font-size:11px}.destination{font-size:11px}.service-option strong{font-size:11px}.service-option small{font-size:9px}.control-group legend{font-size:13px}.result-layout{grid-template-columns:minmax(0,1fr) 265px;gap:22px}.cost-column{display:block;grid-row:auto;position:sticky;top:20px}.timeline{margin-top:0}.estimate-assumptions{margin-top:12px}.day-content{padding:15px}.day-card{grid-template-columns:27px minmax(0,1fr);gap:10px}.day-rail>span{width:27px;height:27px}.day-content h4{font-size:21px}.day-controls{flex-wrap:wrap}.cost-card{padding:21px 18px}.sample-grid{gap:15px}.sample-copy{padding:16px}.sample-copy h3{font-size:21px}.sample-copy>p:not(.sample-meta){font-size:10px}.sample-meta{font-size:7px}.sample-art{height:125px}.sample-large-icon{height:53px;width:53px}.sample-stops{font-size:9px}.closing h2{font-size:30px}footer p{font-size:8px}}
 @media(max-width:650px){.site-header,.hero,.studio,.samples,.closing,footer{width:calc(100% - 36px)}.site-header{height:75px}.brand img{width:33px;height:33px}.brand strong{font-size:21px}.brand small{font-size:6px}.brand{gap:8px}.header-actions{gap:14px}.private-badge{font-size:8px;gap:5px}.language-button{font-size:10px}.hero{grid-template-columns:1fr;gap:27px;padding-block:37px 36px}.hero h1{font-size:63px;line-height:1.03;margin:18px 0 20px;letter-spacing:-2px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero-subtitle{font-size:13px;line-height:1.9}.hero-cta{margin-top:23px;min-height:45px;padding:12px 20px;font-size:11px}.hero-note{font-size:9px;margin-top:19px}.hero-art{min-height:0;max-width:100%;padding-right:7px}.hero-art>img{max-height:260px;object-fit:cover;border-radius:4px 60px 4px 4px;aspect-ratio:1.8;object-position:center}.art-caption{flex-direction:row;gap:12px;font-size:7px}.art-caption span:last-child{font-size:7px;text-align:right}.art-stamp{top:12px;right:-1px;height:60px;width:60px;font-size:12px}.art-stamp small{font-size:5px}.studio{padding-top:31px}.section-heading{display:block;margin-bottom:24px}.section-heading h2{font-size:32px}.section-heading>p{margin-top:12px;max-width:100%;font-size:11px;line-height:1.8}.section-heading .eyebrow{font-size:9px;letter-spacing:1.5px}.planner{padding:19px 16px;gap:23px 16px}.control-group legend{font-size:11px;gap:6px}.control-number{font-size:12px}.field-hint{font-size:9px}.destination-grid{gap:6px}.destination{font-size:9px;padding:7px 5px;gap:3px;min-height:42px}.destination>.icon{width:13px;height:13px}.destination-check{width:10px}.destination-check .icon{width:9px;height:9px}.service-option{padding:9px 7px;gap:6px;min-height:70px}.service-icon .icon{width:15px;height:15px}.service-option strong{font-size:9px}.service-option small{font-size:8px;line-height:1.5}.radio-mark{width:9px;height:9px;flex-shrink:0}.service-option.active .radio-mark{border-width:2px}.days-display{gap:7px;padding-bottom:8px}.days-display strong{font-size:34px}.days-display span{font-size:9px}.day-presets{gap:5px}.day-presets button{font-size:9px;min-height:30px}.people-stepper button{width:29px;height:31px}.people-stepper input{width:30px;font-size:14px}.people-stepper>span{font-size:9px;margin-left:7px}.planner-foot p{font-size:9px}.direction-wrap label{font-size:8px}.direction-wrap select{font-size:9px;padding:5px 4px}.route-heading h3{font-size:27px;line-height:1.3}.route-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.route-place-count{font-size:8px;padding:4px 6px}.journey-stats{font-size:10px;gap:14px}.journey-stats .icon{width:14px;height:14px}.route-strip{gap:8px 10px;padding:20px 0 15px}.route-stop strong{font-size:11px}.route-stop small{font-size:8px}.route-marker{width:22px;height:22px}.route-link{font-size:13px}.route-explainer{font-size:9px;margin-bottom:23px}.result-layout{display:flex;flex-direction:column;gap:20px}.cost-column{position:static;width:100%;order:-1}.cost-card{padding:23px}.cost-card h3{font-size:27px}.cost-card .eyebrow{font-size:9px}.estimate-tag{font-size:9px}.big-price{font-size:45px;margin-top:17px}.price-subtitle{font-size:12px}.price-subtitle span,.per-person{font-size:9px}.fee-breakdown{font-size:11px}.fee-breakdown dd{font-size:12px}.subtotal-warning{font-size:10px}.quote-pending strong{font-size:11px}.quote-pending li{font-size:10px}.coverage-note{font-size:9px}.light-button{font-size:11px;min-height:46px}.cost-export{font-size:11px;padding:17px 0 8px}.local-note{font-size:8px}.estimate-assumptions summary{font-size:11px;min-height:45px}.assumptions-content{font-size:10px}.journey-disclaimer{padding:17px 5px;gap:7px}.journey-disclaimer>strong{font-size:11px}.journey-disclaimer>p{font-size:10px}.timeline{width:100%}.timeline-heading h3{font-size:25px}.timeline-heading p{font-size:11px;line-height:1.8}.day-content{padding:16px 14px}.day-meta{font-size:8px}.day-content h4{font-size:23px}.day-description{font-size:11px}.day-stops{font-size:12px}.guide-toggle,.hour-control{font-size:10px}.day-bottom{font-size:9px}.day-fee{font-size:11px}.samples{padding-top:35px;margin-top:30px;padding-bottom:20px}.sample-grid{grid-template-columns:1fr 1fr;gap:14px}.sample-copy{padding:15px 12px}.sample-copy h3{font-size:21px;min-height:50px}.sample-art{height:125px}.sample-large-icon{width:53px;height:53px}.sample-index{font-size:15px;left:13px}.sample-place{font-size:7px;right:12px;letter-spacing:1.5px}.sample-copy>p:not(.sample-meta){font-size:10px;min-height:32px;line-height:1.6}.sample-meta{font-size:7px;min-height:25px}.sample-stops{font-size:9px;min-height:60px;line-height:1.8;padding-top:12px}.sample-button{font-size:9px;gap:6px;line-height:1.6;min-height:44px;padding-top:9px}.sample-button .icon{height:14px;width:14px}.sample-note{font-size:9px}.closing{padding:24px 5px 45px}.closing h2{font-size:29px;max-width:350px;margin-inline:auto}.closing p{font-size:11px;line-height:1.9}.closing p br{display:none}.closing .outline-button{font-size:10px}footer{flex-wrap:wrap;padding-block:22px 30px;gap:18px}footer p{font-size:8px;flex:1;text-align:right}footer>a{width:100%;font-size:9px;text-align:right}.footer-brand strong{font-size:17px}.footer-brand small{font-size:6px}.toast{font-size:11px;padding:13px 17px;bottom:16px}dialog{padding:20px}.dialog-top h2{font-size:25px}.dialog-top button{font-size:25px}dialog>p{font-size:11px}#brief-text{font-size:10px;max-height:50vh}.empty-state{padding:40px 23px;min-height:380px}.empty-state h3{font-size:28px}.empty-state>p:not(.eyebrow){font-size:11px}}
 @media(max-width:650px){.destination-grid{grid-template-columns:1fr;gap:6px}.destination{padding:9px;font-size:10px;gap:7px}.destination>.icon{height:16px;width:16px}.destination-check{width:12px}.destination-check .icon{height:12px;width:12px}.people-stepper button{min-height:36px}.day-presets button{min-height:36px}.day-controls{gap:8px}.guide-toggle{min-height:38px}.hour-control select{min-height:36px}.estimate-tag{font-size:10px}}
 @media(max-width:360px){.private-badge{display:none}.planner{padding:17px 13px;column-gap:13px}.control-group legend{font-size:10px}.destination>.icon{display:none}.destination{font-size:10px}.service-icon{display:none}.days-display span{font-size:8px}.hero h1{font-size:56px}.sample-copy h3{font-size:19px}}
 @media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
 @media print{.site-header nav,.header-actions,.hero,.planner,.samples,.closing,.day-controls,.cost-export,.light-button,.local-note,.toast,.dialog-actions{display:none!important}.site-header,.studio,footer{width:100%;max-width:none}.studio-layout,.result-layout{display:block}.cost-column{position:static}.cost-card{background:white;color:black;border:1px solid gray}.cost-card *{color:black!important}.day-card,.cost-card{break-inside:avoid}.site-header{height:70px}.studio{padding-top:20px}.cost-column{margin-top:20px}.day-rail i{display:none}.estimate-assumptions{display:block}.day-status{color:black!important}footer>a{display:none}}
}
@layer components {
 .estimate-tag{font-size:10px}.fee-breakdown{font-size:11px}.quote-pending li{font-size:10px}.coverage-note{font-size:10px}.local-note{font-size:9px}.allowance-note{font-size:10px}.assumptions-content{font-size:10px}.light-button,.cost-export{font-size:11px}.day-stops{font-size:12px}.day-description{font-size:11px}.day-meta{font-size:9px}.day-status{font-size:9px}.guide-toggle,.hour-control{font-size:10px}.sample-meta{font-size:9px}.sample-button{font-size:11px}.sample-note{font-size:11px}.destination{font-size:11px}.service-option strong{font-size:11px}.service-option small{font-size:9px}
}
