:root{--navy:#102938;--blue:#2588e8;--orange:#2588e8;--cream:#f8f6f0;--muted:#61727d}*{box-sizing:border-box}body{margin:0;background:var(--cream);font-family:Arial,Helvetica,sans-serif;color:var(--navy)}header{max-width:1220px;margin:auto;padding:28px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce1df}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);text-decoration:none;font-size:13px;font-weight:800;letter-spacing:1px;line-height:1.3}.brandmark{font-size:27px;letter-spacing:-2px;background:var(--navy);color:white;padding:12px;border-radius:50%}.header-note,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}.header-note{color:var(--muted)}main{max-width:1220px;margin:auto;padding:52px 40px}.intro{position:relative;padding-bottom:38px}.intro:after{content:'↗';position:absolute;right:40px;top:-10px;font-size:220px;color:#e6ebe2;font-weight:bold;z-index:-1}h1{font-size:64px;letter-spacing:-3px;line-height:1.06;margin:19px 0}h1 em{font-style:normal;color:var(--blue)}.intro>p:not(.eyebrow){font-size:17px;line-height:1.7;color:var(--muted)}.pills{display:flex;gap:9px;margin-top:24px;flex-wrap:wrap}.pills span{border:1px solid #d9dfda;border-radius:25px;padding:8px 12px;font-size:12px}.pills span:before{content:'●';color:var(--orange);margin-right:7px}.planner{background:white;border:1px solid #e0e5df;border-radius:18px;padding:30px;box-shadow:0 12px 35px #102e4b08}.panel-heading,.toolbar{display:flex;justify-content:space-between;align-items:center}.tag{font-size:10px;background:#eef4f3;padding:7px 9px;border-radius:4px;letter-spacing:1px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 18px}label{display:block;font-size:10px;font-weight:bold;letter-spacing:1.2px}select{display:block;width:100%;margin-top:9px;border:1px solid #cfd9dc;border-radius:8px;padding:15px 12px;color:var(--navy);background:#fbfcfa;font-size:16px}.check{letter-spacing:0;font-weight:normal;font-size:13px;display:flex;align-items:center;gap:5px}button,a{touch-action:manipulation}button{cursor:pointer}.quiet{background:white;border:0;color:var(--blue);font-size:13px}.route-title{border-top:1px solid #e3e7e2;margin-top:22px;padding-top:24px;display:flex;justify-content:space-between;gap:15px}.route-title h2{font-size:24px;margin:0 0 8px;letter-spacing:-.5px}.sub{font-size:13px;color:var(--muted);line-height:1.5}.route-badge{font-size:11px;white-space:nowrap;color:var(--blue)}.steps{margin:22px 0}.step{position:relative;padding:0 0 24px 33px;margin-left:7px;border-left:2px solid #dce4e6}.step:last-child{padding-bottom:4px;border:0}.dot{position:absolute;left:-9px;top:1px;width:16px;height:16px;border-radius:50%;border:4px solid white;outline:2px solid var(--line,var(--blue));background:var(--line,var(--blue))}.step strong{display:block;font-size:15px;margin-bottom:6px}.step a,.stops a{font-size:12px;color:var(--blue)}.line{font-size:11px;display:inline-block;border-left:4px solid var(--line);padding:3px 8px;margin:2px 0 7px;background:#f1f5f5}.route-actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-block;padding:13px 17px;border-radius:7px;background:var(--navy);color:white;text-decoration:none;font-size:13px}.button.secondary{background:#eaf1f2;color:var(--navy)}.advice{font-size:12px;background:#fff3e6;border-left:3px solid var(--orange);padding:13px 15px;line-height:1.6;margin-top:18px}.stops{padding:15px;background:#f4f7f5;border-radius:8px;font-size:13px;line-height:1.8}.stops strong{display:block}.directory{margin-top:46px}h2{font-size:30px;letter-spacing:-1px;margin:12px 0 22px}#cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{background:transparent;border:1px solid #d7dfda;border-radius:10px;padding:19px;text-align:left;color:var(--navy);min-height:110px}.card.active,.card:hover{background:#e8efeb;border-color:#a7bdb7}.card span{font-size:10px;letter-spacing:1px;color:var(--blue);display:block;margin-bottom:12px}.card strong{font-size:16px;line-height:1.4}.notice{margin:35px 0 5px;padding:24px;background:#eaf0ec;border-radius:10px;font-size:13px;line-height:1.7}.notice p{color:#4c6369}.notice a{color:var(--blue)}footer{max-width:1140px;margin:0 auto;padding:25px 0 35px;border-top:1px solid #dce1df;font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between}@media(max-width:700px){header{padding:20px}.header-note{display:none}main{padding:30px 18px}h1{font-size:45px;letter-spacing:-2px}.intro:after{display:none}.planner{padding:20px}.fields{grid-template-columns:1fr;gap:16px}#cards{grid-template-columns:1fr 1fr}.route-title{display:block}.route-badge{display:block;margin-top:10px}footer{margin:0 20px;gap:18px;line-height:1.6}.desktop{display:none}}@media print{header,main{padding:15px}.intro,.directory,.toolbar,.notice,.route-actions,footer{display:none}.planner{border:0;box-shadow:none;padding:0}a{color:black!important}.fields{display:none}.step{break-inside:avoid}}

.logo{width:255px;height:auto;display:block}header{background:white}.brandmark{display:none}@media(max-width:700px){.logo{width:220px}}

.walking-tour,.checklist-panel{margin-top:28px;background:#eef4f6;border-radius:12px;padding:24px}.walking-tour h3{font-size:25px;margin:10px 0 20px}.tour-steps{list-style:none;counter-reset:tour;padding:0;margin:20px 0}.tour-steps li{counter-increment:tour;position:relative;margin:0 0 22px;padding-left:44px;line-height:1.65;font-size:14px}.tour-steps li:before{content:counter(tour);position:absolute;left:0;top:0;width:28px;height:28px;line-height:28px;text-align:center;background:#2588e8;color:white;border-radius:50%;font-size:12px;font-weight:bold}.tour-steps p{margin:6px 0 0;color:#4c6369}.checklist-panel{background:white;border:1px solid #dce4e6}.checklist-panel h2{font-size:28px;margin:8px 0}.checklist-item{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid #e2e8e8;letter-spacing:0;font-weight:normal;cursor:pointer}.checklist-item:last-child{border-bottom:0}.checklist-item input{width:20px;height:20px;flex:0 0 20px;accent-color:#2588e8}.checklist-item strong{display:block;font-size:14px;line-height:1.5}.checklist-item small{display:block;font-size:13px;line-height:1.65;color:#61727d;margin-top:5px}.checklist-item:has(input:checked){background:#f4f9f5}.checklist-panel .panel-heading{gap:15px}.checklist-panel .tag{white-space:nowrap}@media print{.walking-tour,.checklist-panel{background:white;padding:10px 0;border:0}.tour-steps li,.checklist-item{break-inside:avoid}.checklist-panel .tag{display:none}}

.trip-overview{padding:16px;background:#edf4fa;border-radius:8px;line-height:1.7;font-size:14px;margin:20px 0}.cruise-card{background:#102938;color:white;padding:22px;border-radius:12px;margin:20px 0}.cruise-card h3{font-size:23px;line-height:1.4;margin:12px 0}.cruise-card p{line-height:1.7;font-size:14px}.cruise-card a{color:#9bd0ff;font-size:13px}.planner h3{line-height:1.5}@media print{.cruise-card{color:#102938;background:white;border:1px solid #aaa;break-inside:avoid}}
