:root{font-family:Montserrat,Arial,sans-serif;color:#192d3b;background:#fff8f0;--teal:#00b8a9;--ink:#202184;--muted:#596d77}*{box-sizing:border-box}body{margin:0}a{color:#087d78}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #078b87;outline-offset:3px}button,.button{border:0;border-radius:12px;padding:14px 20px;background:var(--teal);color:white;font-weight:750;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;min-height:48px}.secondary{background:#edf3f3;color:#245762}.text-button{background:transparent;color:#4f6570;padding:7px 9px;min-height:40px;font-size:13px}.site-header{padding:14px clamp(20px,4vw,64px);background:#192d3b;display:flex;align-items:center;justify-content:space-between;gap:20px;color:white}.brand img{width:100px;height:76px;object-fit:contain;display:block}.ll-header-title{display:flex;align-items:center;gap:20px;font-size:clamp(18px,2.4vw,33px);font-weight:800}.compass-wave{width:90px;height:40px;object-fit:contain}.account-nav{color:white;background:#00a99e;font-size:13px;white-space:nowrap}.shell{max-width:1240px;margin:auto;padding:28px 28px 64px}.build{font-size:12px;color:var(--muted);margin:0 0 12px;text-align:right}.intro-hero{position:relative;overflow:hidden;border-radius:24px;padding:46px 48px;color:white;background:linear-gradient(90deg,#132b3be8,#132b3b55),url('../assets/japan/hero/fuji-chureito-104123676.jpg') center 48%/cover;min-height:310px;display:flex;align-items:center}.intro-hero h1{font-size:clamp(32px,4.1vw,53px);letter-spacing:-1.4px;line-height:1.08;max-width:650px;margin:16px 0}.intro-hero p{line-height:1.6;max-width:520px;margin:0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.intro-hero .eyebrow{padding:9px 13px;background:#fff;color:#263d49;border-radius:30px;display:inline-block}.steps{display:flex;gap:24px;padding:22px 2px;margin:0;list-style:none;color:#4a646c;font-size:13px}.steps b{display:inline-flex;border-radius:50%;background:#dff4f0;color:#087d78;width:24px;height:24px;align-items:center;justify-content:center;margin-right:6px}.setup-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.setup-main{min-width:0}.section-card{background:white;border:1px solid #e2e6e3;border-radius:20px;padding:28px;margin:0 0 20px}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.section-head h2{font-size:25px;letter-spacing:-.6px;color:var(--ink);margin:0 0 8px}.section-head .eyebrow{color:#008b82;font-size:10px;letter-spacing:1px}.section-card>p{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.55}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}.field input,.field select{width:100%;min-width:0;border:1px solid #cbd8d6;border-radius:10px;padding:12px;color:#192d3b;background:white;font-size:15px;min-height:46px}.field small{font-size:12px;font-weight:400;color:var(--muted)}.wide{grid-column:1/-1}fieldset{border:0;margin:24px 0 0;padding:0;min-width:0}legend{font-size:14px;font-weight:750;margin-bottom:12px}.destination-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.destination-choice{position:relative;display:block;background:white;padding:0;border:2px solid #dfe8e5;border-radius:12px;overflow:hidden;color:#193849;text-align:left;min-height:108px}.destination-choice img{width:100%;height:80px;object-fit:cover;display:block}.destination-choice span{display:block;padding:10px;font-size:14px}.destination-choice[aria-pressed="true"]{border-color:#00a99c;background:#effaf7}.destination-choice[aria-pressed="true"]:after{content:'✓';position:absolute;right:8px;top:8px;background:#008a81;color:white;border-radius:50%;width:22px;height:22px;text-align:center;line-height:22px;font-size:13px}.route-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.route-stop{display:grid;grid-template-columns:30px minmax(0,1fr) 100px 64px;gap:12px;align-items:center;border:1px solid #dfe6e4;border-radius:12px;padding:14px;background:#fafcfb}.route-number{display:flex;align-items:center;justify-content:center;background:#dff3ef;color:#08776f;font-size:12px;font-weight:800;width:28px;height:28px;border-radius:50%}.route-stop strong{display:block;font-size:15px;margin-bottom:4px}.route-stop .date-caption{font-size:12px;color:var(--muted)}.route-stop .field{font-size:11px;gap:5px}.route-stop input{padding:8px;min-height:38px}.route-order{display:flex;gap:2px;justify-content:end}.route-order button{border:1px solid #d5e0dd;border-radius:7px;min-height:34px;width:30px;padding:0;background:white;color:#34605d}.route-note{font-size:12px!important;margin:14px 0 0!important;line-height:1.5}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.check-tile{position:relative;display:flex;align-items:center;gap:9px;border:1px solid #d5e0dd;border-radius:11px;padding:13px;font-size:13px;line-height:1.35;cursor:pointer;min-height:58px}.check-tile:has(input:checked){background:#ecf9f5;border-color:#00a99c;color:#14635c}.check-tile input{accent-color:#008f84;width:17px;height:17px;flex:none;margin:0}.choice-grid.pace{grid-template-columns:repeat(3,1fr)}.pace .check-tile{display:block;padding:14px 10px;text-align:center}.pace input{position:absolute;opacity:0}.pace .check-tile:focus-within{outline:3px solid #008f84;outline-offset:2px}.pace strong{display:block;font-size:14px}.pace small{display:block;font-size:11px;margin-top:5px;color:#526d70}.style-grid{grid-template-columns:1fr 1fr}.extras{margin-top:22px;border-top:1px solid #e3e9e6;padding-top:16px}.extras summary{font-size:13px;font-weight:700;color:#196b66;cursor:pointer}.extras .fields{margin-top:16px}.review-card{position:sticky;top:20px;background:#edf8f5;border:1px solid #cbe4de;border-radius:20px;padding:26px}.review-card h2{color:var(--ink);font-size:22px;margin:8px 0 12px;letter-spacing:-.5px}.review-card .eyebrow{font-size:10px;color:#39736c}.review-total{padding-bottom:16px;border-bottom:1px solid #cbe0da;font-size:13px;color:#486b69;line-height:1.6}.review-route{list-style:none;padding:0;margin:18px 0}.review-route li{position:relative;padding:0 0 22px 22px;border-left:1px solid #a9cfc3;margin-left:5px}.review-route li:last-child{padding-bottom:0;border:0}.review-route li:before{content:'';position:absolute;width:9px;height:9px;border-radius:50%;left:-5px;top:4px;background:#00a99c}.review-route strong{display:block;font-size:15px}.review-route small{display:block;font-size:12px;color:#55736e;line-height:1.6;margin-top:3px}.review-route button{font-size:12px;background:transparent;padding:0;color:#087d78;text-decoration:underline;min-height:28px;justify-content:start}.review-prefs{border-top:1px solid #cbe0da;padding-top:16px;font-size:12px;line-height:1.7;color:#4f6c6c}.review-card .button,.review-card>button{width:100%;margin-top:12px}.review-card .save-note{font-size:11px;color:#58736d;line-height:1.5;margin:14px 0 0}.status{font-size:13px;line-height:1.5;color:#a03626;margin:12px 0 0;min-height:20px}.status:empty{display:none}.saved-note{font-size:12px;color:#39746c;margin-top:12px}.empty{font-size:13px;color:#586c74;line-height:1.5;padding:14px 0}.ll-agency-footer{display:flex;gap:24px;justify-content:space-between;max-width:1184px;margin:auto;padding:24px 0;border-top:1px solid #dde4df;font-size:11px;color:#60716f;line-height:1.7}.ll-footer-copy{max-width:690px;text-align:center}.ll-footer-copyright{white-space:nowrap}.ll-footer-privacy{white-space:nowrap}footer{padding:0 28px 20px}.ll-journey-nav{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;margin:0 0 18px;border:1px solid #cde2dc;border-radius:12px;background:#eff7f4;color:#395f60;font:13px Arial,sans-serif}.ll-journey-nav a{font-weight:700;color:#08776f}.ll-journey-nav .ll-journey-next{margin-left:auto}.ll-journey-nav span{font-size:12px}@media(max-width:960px){.setup-grid{grid-template-columns:minmax(0,1fr) 280px;gap:16px}.section-card{padding:22px}.choice-grid{grid-template-columns:1fr 1fr}.review-card{padding:20px}.compass-wave{display:none}}@media(max-width:720px){.site-header{flex-wrap:wrap;padding:14px 18px;gap:10px}.brand img{width:70px;height:54px}.ll-header-title{font-size:18px;flex:1;justify-content:end}.account-nav{font-size:11px;min-height:36px;padding:8px 12px;margin-left:auto}.shell{padding:16px 14px 36px}.intro-hero{padding:30px 24px;min-height:280px;background-position:60% center}.intro-hero h1{letter-spacing:-1px}.intro-hero p{font-size:14px;max-width:280px}.steps{gap:12px;font-size:11px;justify-content:space-between}.steps b{width:21px;height:21px;margin-right:3px}.setup-grid{display:flex;flex-direction:column}.setup-main,.review-card{width:100%}.review-card{position:static}.section-card{padding:22px 18px}.section-head h2{font-size:23px}.section-head .eyebrow{display:none}.fields{gap:14px}.route-stop{grid-template-columns:26px minmax(0,1fr) 72px;gap:8px;padding:12px}.route-order{grid-column:2/4;justify-content:start}.route-order button{width:40px;min-height:32px}.destination-choice img{height:66px}.destination-choice span{padding:9px;font-size:13px}.check-tile{padding:11px;font-size:12px}.pace .check-tile{padding:13px 5px}.pace strong{font-size:12px}.pace small{font-size:10px}.ll-agency-footer{flex-direction:column;gap:12px;text-align:center}.ll-footer-copy{text-align:center}.review-route{display:grid;gap:0}.field{font-size:12px}.ll-journey-nav .ll-journey-next{margin-left:0}}

/* City route sorting: a dedicated touch handle leaves day inputs and page scrolling usable. */
.route-stop{grid-template-columns:30px minmax(0,1fr) 100px 36px}.route-drag{width:36px;min-height:42px;padding:0;background:white;border:1px solid #d5e0dd;color:#34605d;border-radius:8px;cursor:grab;touch-action:none;user-select:none;font-size:26px}.route-drag:active{cursor:grabbing}.route-sorting{background:#e5f6f1;border-color:#00a99c;box-shadow:0 5px 18px #133b3820}.route-sorting .route-drag{cursor:grabbing}.route-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:720px){.route-stop{grid-template-columns:26px minmax(0,1fr) 72px 32px;gap:7px}.route-drag{width:32px}}

/* Matching grey city reorder end caps. */
.route-stop{position:relative;overflow:hidden;grid-template-columns:30px minmax(0,1fr) 100px;min-height:150px;padding:14px 66px 14px 14px}
.route-stop .route-drag{position:absolute;top:0;right:0;bottom:0;width:44px;height:100%;border:0;border-left:1px solid #dde1e4;border-radius:0 11px 11px 0;background:#f3f4f5;color:#69747d;display:flex;align-items:center;justify-content:center;font-weight:500;opacity:1}
.route-drag-caption{display:inline-flex;align-items:center;gap:7px;transform:rotate(90deg);white-space:nowrap;font-size:12px;letter-spacing:.07em}
.route-drag-caption>span:first-child{font-size:20px;line-height:1}
.route-stop .route-drag:hover{background:#e8ecef;color:#515f69}.route-stop .route-drag:focus-visible,.route-stop .route-drag[aria-pressed="true"]{background:#e3e8eb;outline-offset:-4px}
.route-stop .route-drag:disabled{opacity:.5}
@media(max-width:720px){.route-stop{grid-template-columns:26px minmax(0,1fr) 72px;padding:12px 54px 12px 12px;min-height:150px}.route-stop .route-drag{width:38px}.route-drag-caption{font-size:11px}}

/* Neutral entry, then destination-specific artwork after selection. */
.intro-hero{background-image:linear-gradient(90deg,#132b3bd9,#132b3b30),var(--trip-hero-url,url('../assets/shared/website-hero-santorini.png'))}
[hidden]{display:none!important}

#trip-interests .check-tile>span{min-width:0;flex:1}#trip-interests .interest-small-icon{width:30px;height:30px;flex:0 0 30px;object-fit:contain;margin-left:auto}
@media(max-width:720px){#trip-interests .interest-small-icon{width:24px;height:24px;flex-basis:24px}#trip-interests .check-tile{gap:7px}}

/* r14: larger interest artwork and more compact city rows. */
#trip-interests .interest-small-icon{width:44px;height:44px;flex-basis:44px}
#trip-interests .check-tile{min-height:72px}
.route-stop{min-height:104px}
@media(max-width:720px){#trip-interests .interest-small-icon{width:34px;height:34px;flex-basis:34px}#trip-interests .check-tile{min-height:68px}.route-stop{min-height:104px}}

.preference-note{font-size:12px;color:#536b76;line-height:1.5;margin:14px 0 0}
