:root{--ink:#1c302c;--muted:#62706a;--paper:#fbf8f0;--cream:#f2ebdc;--white:#fff;--forest:#173f39;--forest-2:#23584f;--clay:#a54129;--clay-dark:#7e2e1d;--gold:#c0913b;--rule:#d8ddd3;--shadow:0 22px 70px rgba(26,48,43,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}.wrap{width:min(1180px,calc(100% - 40px));margin:auto;min-width:0}button,input,select{font:inherit}button{color:inherit}a{color:inherit}.skip{position:absolute;left:-9999px;top:1rem;z-index:50;background:#fff;padding:.65rem 1rem}.skip:focus{left:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(a,button,input,select,[tabindex]):focus-visible{outline:3px solid #c35a3d;outline-offset:3px}.site-header{position:sticky;top:0;z-index:20;background:rgba(251,248,240,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{text-decoration:none;font:600 1.3rem Georgia,serif;letter-spacing:-.02em}.brand b{color:var(--clay)}.nav-links{display:flex;align-items:center;gap:1.55rem}.nav-links a{text-decoration:none;font-size:.84rem;font-weight:650}.nav-cta{background:var(--forest);color:#fff!important;padding:.65rem 1rem;border-radius:2px}.menu-toggle{display:none;border:0;background:transparent;padding:.6rem;min-width:44px;min-height:44px}.planner-hero{height:min(680px,78vh);min-height:570px;position:relative;display:grid;align-items:end;color:#fff;overflow:hidden}.planner-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,35,31,.88) 0%,rgba(8,35,31,.55) 48%,rgba(8,35,31,.12) 75%),linear-gradient(0deg,rgba(8,35,31,.55),transparent 45%)}.hero-copy{position:relative;padding-bottom:clamp(4rem,8vw,7rem);min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:#f0c875}.eyebrow.dark{color:var(--clay)}.hero-copy h1,.planner-heading h2{font:600 clamp(3rem,7vw,6.3rem)/.94 Georgia,serif;letter-spacing:-.045em;margin:.75rem 0 1.3rem}.hero-copy h1{max-width:980px}.hero-copy h1 em,.planner-heading h2 em{font-weight:400}.hero-copy p{font:1.1rem/1.7 Georgia,serif;max-width:610px;color:#e9eee9;margin:0 0 2rem}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;padding:.75rem 1.3rem;text-decoration:none;font-size:.82rem;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:.2s ease}.button:hover{transform:translateY(-1px)}.button-light{background:#fff;color:var(--forest)}.button-primary{background:var(--clay);color:#fff}.button-primary:hover{background:var(--clay-dark)}.button-primary:disabled{opacity:.45;cursor:not-allowed}.button-ghost{background:transparent;border:1px solid var(--rule)}.button-small{min-height:42px;padding:.55rem .85rem;font-size:.74rem}
.planner-section{padding:clamp(4.5rem,8vw,8rem) 0;scroll-margin-top:70px}.planner-heading{display:grid;grid-template-columns:1fr 360px;align-items:end;gap:2rem;margin-bottom:3rem}.planner-heading h2{font-size:clamp(2.5rem,5vw,4.5rem);margin:.65rem 0 0}.planner-heading>p{color:var(--muted);margin:0 0 .5rem}.stepper{display:flex;align-items:center;margin-bottom:1.4rem;padding:0 1.25rem}.step{border:0;background:transparent;display:flex;align-items:center;gap:.65rem;padding:.5rem 0;color:#82908a;min-height:44px}.step span{display:grid;place-items:center;width:29px;height:29px;border:1px solid #b9c2bc;border-radius:50%;font-size:.75rem}.step b{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.step.is-active{color:var(--ink)}.step.is-active span,.step.is-complete span{background:var(--forest);border-color:var(--forest);color:#fff}.step.is-complete{color:var(--forest);cursor:pointer}.step-line{height:1px;flex:1;background:var(--rule);margin:0 1rem}.planner-shell{display:grid;grid-template-columns:280px minmax(0,1fr);background:#fff;border:1px solid var(--rule);box-shadow:var(--shadow);min-height:700px}.planner-aside{background:var(--forest);color:#fff;padding:2rem;position:relative;overflow:hidden}.aside-kicker{color:#e8c16c;text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;font-weight:750}.planner-aside h3{font:400 2rem/1.05 Georgia,serif;margin:.75rem 0 2rem}.trip-summary{margin:0;position:relative;z-index:1}.trip-summary div{border-top:1px solid rgba(255,255,255,.14);padding:1rem 0}.trip-summary dt{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:#a9c0b9}.trip-summary dd{margin:.3rem 0 0;font:1rem Georgia,serif;color:#fff}.aside-note{position:absolute;left:2rem;right:2rem;bottom:1.7rem;color:#b9cac5;font-size:.75rem;z-index:2}.aside-art{position:absolute;left:0;right:0;bottom:6rem;height:150px;opacity:.65}.sun-orb{position:absolute;width:72px;height:72px;border-radius:50%;background:#eab94e;right:35px;top:8px}.wave{position:absolute;left:-15%;width:130%;height:80px;border:1px solid rgba(255,255,255,.22);border-radius:50%;bottom:-25px}.wave.two{bottom:-45px;left:-5%}.planner-card{padding:clamp(1.4rem,4vw,3.5rem);min-width:0}.draft-tools{min-height:1.4rem;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-bottom:.35rem}.save-note{color:var(--forest-2);font-size:.76rem}.draft-tools button{border:0;background:transparent;color:var(--clay);font-size:.72rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.form-step{animation:fade .25s ease}.form-step[hidden]{display:none}@keyframes fade{from{opacity:.2;transform:translateY(6px)}}.form-head{max-width:720px;margin-bottom:2rem}.form-head>span{color:var(--clay);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.form-head h3,.result-head h3{font:600 clamp(1.8rem,3vw,2.7rem)/1.08 Georgia,serif;margin:.55rem 0 .65rem;scroll-margin-top:90px}.form-head h3:focus,.result-head h3:focus{outline:0}.form-head p,.result-head p{color:var(--muted);margin:0;max-width:680px}.field-grid{display:grid;gap:1rem;margin-bottom:1.5rem}.field-grid.two{grid-template-columns:1fr 1fr}.field{display:flex;flex-direction:column;gap:.4rem}.field>span,legend{font-weight:750;font-size:.82rem}.field input,.field select,.search input{width:100%;border:1px solid var(--rule);background:#fff;padding:.85rem;color:var(--ink);border-radius:2px}.field input:focus,.field select:focus,.search input:focus{outline:3px solid rgba(165,65,41,.14);border-color:var(--clay)}.field small{color:var(--muted);font-size:.72rem}.field-error{color:#9d2e1a!important;font-size:.78rem!important;font-weight:700;margin:.45rem 0 0}.field [aria-invalid="true"]{border-color:#9d2e1a;background:#fff8f6}fieldset{border:0;padding:0;margin:0 0 1.7rem}fieldset[aria-invalid="true"]{border-left:3px solid #9d2e1a;padding-left:.75rem}legend{margin-bottom:.7rem}legend small{font-weight:400;color:var(--muted);margin-left:.35rem}
.choice-grid{display:grid;gap:.75rem}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-grid.four{grid-template-columns:repeat(4,1fr)}.choice{display:block;cursor:pointer}.choice input,.interest input,.must-grid input{position:absolute;opacity:0;pointer-events:none}.choice span{display:flex;flex-direction:column;gap:.2rem;height:100%;min-height:78px;padding:1rem;border:1px solid var(--rule);background:#fff}.choice small{font-size:.72rem;color:var(--muted);font-weight:400}.choice input:checked+span{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:#f2f6f2}.choice input:focus-visible+span,.interest input:focus-visible~* ,.must-grid input:focus-visible+span{outline:3px solid rgba(165,65,41,.25);outline-offset:2px}.choice-grid.compact .choice span{min-height:58px}.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.interest{position:relative;min-height:130px;border:1px solid var(--rule);padding:1rem;display:flex;flex-direction:column;cursor:pointer;background:#fff}.interest:has(input:checked){border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:#f2f6f2}.interest-icon{font:1.6rem Georgia,serif;color:var(--clay);height:38px}.interest b{font-size:.87rem}.interest small{font-size:.72rem;color:var(--muted);margin-top:.2rem}.must-grid{display:flex;flex-wrap:wrap;gap:.55rem}.must-grid label{cursor:pointer}.must-grid span,.tune-actions button{display:block;border:1px solid var(--rule);padding:.55rem .75rem;font-size:.76rem;background:#fff}.must-grid input:checked+span{background:var(--forest);color:#fff;border-color:var(--forest)}.form-actions{border-top:1px solid var(--rule);padding-top:1.4rem;margin-top:2rem;display:flex;justify-content:space-between;gap:1rem}.form-actions.end{justify-content:flex-end}
.suggestion-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.suggestion-toolbar p{margin:0}.suggestion-toolbar p span{display:block;font-size:.78rem;color:var(--muted)}.suggestion-tools{display:flex;align-items:center;gap:.55rem}.text-button{border:0;background:transparent;color:var(--clay);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:750;min-height:44px}.suggestion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.suggestion-card{display:grid;grid-template-columns:116px 1fr;min-height:126px;border:1px solid var(--rule);background:#fff;position:relative;overflow:hidden}.suggestion-card img{width:116px;height:100%;object-fit:cover}.suggestion-copy{padding:.85rem 3.4rem .85rem .9rem}.suggestion-copy small{font-size:.7rem;color:var(--clay);text-transform:uppercase;letter-spacing:.08em}.suggestion-copy h4{font:600 1rem/1.2 Georgia,serif;margin:.25rem 0}.suggestion-copy p{font-size:.78rem;color:var(--muted);margin:0}.place-toggle{position:absolute;right:.55rem;top:.55rem;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);background:#fff;cursor:pointer;font-weight:800}.suggestion-card.is-selected .place-toggle{background:var(--forest);border-color:var(--forest);color:#fff}.place-toggle:disabled{cursor:not-allowed;background:#e8eee9;color:var(--forest);opacity:1}.must-do-badge{display:inline-block!important;background:#f4e6bf;color:#654810!important;padding:.18rem .38rem;margin-left:.3rem;letter-spacing:.04em!important}.excluded-list{margin:.9rem 0;padding:.8rem;background:#f6f2e8}.excluded-list strong{display:block;font-size:.74rem;margin-bottom:.45rem}.excluded-list button{border:1px solid var(--rule);background:#fff;min-height:38px;padding:.35rem .6rem;margin:.2rem;font-size:.74rem;cursor:pointer}.catalog{margin:1.7rem 0;border-top:1px solid var(--rule);padding-top:1.7rem}.catalog-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.45rem}.catalog h4,.tune-box h4,.plan-notes h4{font:600 1.35rem Georgia,serif;margin:.25rem 0}.search{width:min(300px,100%)}.catalog-status{font-size:.75rem;color:var(--muted);margin:.4rem 0 .8rem}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;max-height:330px;overflow:auto;padding:.2rem .3rem .2rem .2rem}.catalog-card{border:1px solid var(--rule);background:#fff;text-align:left;padding:.75rem;cursor:pointer;min-height:62px}.catalog-card b{display:block;font:600 .92rem Georgia,serif}.catalog-card small{color:var(--muted)}.catalog-card.is-selected{background:#edf4ef;border-color:var(--forest)}.tune-box{margin-top:1.5rem;padding:1.2rem;background:var(--cream);display:grid;grid-template-columns:1fr 1.3fr;gap:1rem;align-items:center}.tune-box p{font-size:.78rem;color:var(--muted);margin:.25rem 0 0}.tune-actions{display:flex;flex-wrap:wrap;gap:.45rem}.tune-actions button{cursor:pointer;min-height:44px}.tune-actions button:hover,.tune-actions button[aria-pressed="true"]{border-color:var(--clay);color:var(--clay);background:#fff7f3;box-shadow:inset 0 0 0 1px var(--clay)}
.result-head{display:flex;justify-content:space-between;align-items:start;gap:2rem;margin-bottom:1.4rem}.result-actions{display:flex;gap:.5rem;flex-shrink:0}.icon-button{border:1px solid var(--rule);background:#fff;padding:.6rem .75rem;cursor:pointer;font-size:.78rem;min-height:44px}.result-meta{display:flex;flex-wrap:wrap;gap:.55rem;padding:1rem;background:var(--cream);margin-bottom:.75rem}.result-meta span{border-right:1px solid #cfc5b4;padding-right:.7rem;font-size:.78rem}.result-meta span:last-child{border:0}.transport-guidance{font-size:.8rem;color:var(--muted);border-left:3px solid var(--gold);padding:.65rem .8rem;margin:0 0 1rem}.day-overview{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0 1rem}.day-overview a{min-width:118px;border:1px solid var(--rule);padding:.6rem;text-decoration:none;font-size:.74rem;background:#fff}.day-overview a b{display:block;font-family:Georgia,serif;color:var(--forest)}.day-card{border-top:1px solid var(--rule);padding:1.8rem 0;scroll-margin-top:90px}.day-title{display:grid;grid-template-columns:66px 1fr auto;align-items:center;gap:1rem;margin-bottom:1.2rem}.day-number{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--forest);color:#fff;text-align:center;font-size:.68rem;text-transform:uppercase}.day-number b{display:block;font:1.2rem Georgia,serif}.day-title h4{font:600 1.45rem Georgia,serif;margin:0}.day-title p{margin:.25rem 0 0;color:var(--muted);font-size:.8rem}.day-date{font-size:.76rem;color:var(--clay);font-weight:750}.timeline{margin-left:28px;border-left:1px solid #cbd3cd}.timeline-item{position:relative;display:grid;grid-template-columns:82px 1fr;gap:1rem;padding:0 0 1.3rem 1.6rem}.timeline-item:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold);left:-5px;top:.35rem;box-shadow:0 0 0 4px var(--paper)}.timeline-time{font-size:.78rem;color:var(--clay);font-weight:800}.timeline-content h5{font:600 1rem Georgia,serif;margin:0}.timeline-content p{font-size:.8rem;color:var(--muted);margin:.25rem 0}.timeline-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.45rem}.timeline-tags span{font-size:.7rem;background:#eef2ed;padding:.2rem .4rem}.timeline-content a{display:inline-block;font-size:.76rem;color:var(--clay);margin-top:.35rem}.meal-stop:before{background:var(--forest)}.travel-note{margin:-.45rem 0 .8rem 108px;font-size:.76rem;color:#6d7d76}.plan-notes{background:var(--cream);padding:1.4rem;margin-top:1rem}.plan-notes ul{margin:.75rem 0 0;padding-left:1.2rem;color:var(--muted);font-size:.8rem}.result-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}
.trust-strip{background:var(--forest);color:#fff;padding:4rem 0}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.trust-grid>div{border-top:1px solid rgba(255,255,255,.2);padding-top:1.3rem}.trust-grid span{color:#e6be66;font-size:.7rem}.trust-grid h2{font:600 1.25rem Georgia,serif}.trust-grid p{color:#b8ccc6;font-size:.84rem}.site-footer{background:#102f2a;color:#fff;padding:3.2rem 0 1.2rem}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3rem}.site-footer .brand{display:block;margin-bottom:.8rem}.site-footer p,.site-footer a{color:#baccc7;font-size:.82rem}.footer-grid>div:nth-child(2){display:flex;flex-direction:column;gap:.5rem}.footer-grid strong{font:600 1rem Georgia,serif;margin-bottom:.4rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1rem;display:flex;justify-content:space-between;font-size:.72rem;color:#9db4ae}.footer-bottom a{color:#e7bf67}
@media(max-width:980px){.planner-shell{grid-template-columns:1fr}.planner-aside{min-height:0;padding:1.25rem 1.5rem}.planner-aside h3,.aside-note,.aside-art{display:none}.trip-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.trip-summary div{padding:.65rem 0}.choice-grid.four{grid-template-columns:repeat(2,1fr)}.suggestion-grid{grid-template-columns:1fr}}
@media(max-width:760px){.wrap{width:calc(100% - 28px);max-width:1180px}.menu-toggle{display:block}.nav{min-height:62px;position:relative}.nav-links{display:none;position:absolute;left:-14px;right:-14px;top:62px;padding:1rem 14px 1.4rem;background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch}.nav-links.is-open{display:flex}.planner-hero{height:500px;min-height:500px}.hero-copy{width:calc(100% - 28px);padding-bottom:3rem}.hero-copy h1{font-size:clamp(2.45rem,12vw,3.15rem);line-height:.98;letter-spacing:-.04em}.hero-copy p{font-size:1rem;line-height:1.55}.hero-shade{background:linear-gradient(90deg,rgba(8,35,31,.88),rgba(8,35,31,.38)),linear-gradient(0deg,rgba(8,35,31,.72),transparent)}.planner-section{padding:3.5rem 0}.planner-heading{grid-template-columns:1fr;margin-bottom:2rem}.planner-heading h2{font-size:2.6rem}.stepper{padding:0}.step b{display:none}.step-line{margin:0 .4rem}.planner-aside{display:none}.planner-card{padding:1.2rem}.draft-tools{justify-content:space-between}.trip-summary{grid-template-columns:1fr 1fr}.choice-grid.three,.interest-grid,.field-grid.two{grid-template-columns:1fr}.choice-grid.three.compact{grid-template-columns:1fr 1fr}.form-actions,.result-footer{align-items:stretch;position:sticky;bottom:0;background:#fff;padding:1rem 0;z-index:8;box-shadow:0 -10px 22px rgba(23,63,57,.08)}.form-actions .button,.result-footer .button{flex:1}.suggestion-toolbar{align-items:flex-start;flex-direction:column}.suggestion-tools{width:100%;justify-content:space-between}.suggestion-card{grid-template-columns:92px 1fr}.suggestion-card img{width:92px}.suggestion-copy{padding-right:3.2rem}.catalog-head,.result-head{align-items:stretch;flex-direction:column}.catalog-grid{grid-template-columns:1fr 1fr}.tune-box{grid-template-columns:1fr}.day-title{grid-template-columns:56px 1fr}.day-date{grid-column:2}.timeline-item{grid-template-columns:62px 1fr;padding-left:1.1rem}.travel-note{margin-left:82px}.trust-grid,.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-bottom{flex-direction:column;gap:.5rem}}
@media(max-width:480px){.planner-card{padding:1rem}.choice-grid.four,.choice-grid.three.compact,.catalog-grid{grid-template-columns:1fr}.suggestion-card{grid-template-columns:1fr}.suggestion-card img{width:100%;height:130px}.result-actions{width:100%}.result-actions button{flex:1}.day-title h4{font-size:1.2rem}.timeline{margin-left:8px}.timeline-item{grid-template-columns:1fr}.travel-note{margin-left:30px}.footer-bottom{padding-bottom:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.planner-hero,.planner-heading,.stepper,.planner-aside,.form-step:not(.result-step),.result-actions,.result-footer,.trust-strip,.site-footer,.draft-tools,.stop-controls,.day-edit-tools,.editorial-service,.map-instructions,.map-sources{display:none!important}.planner-section{padding:0}.wrap{width:100%}.planner-shell{display:block;border:0;box-shadow:none}.planner-card{padding:0}.result-step{display:block!important}.day-card{break-inside:auto}.timeline-item{break-inside:avoid}.plan-notes{border:1px solid #ccc}body{background:#fff}}
.sightseeing-area{max-width:100%;margin-bottom:.6rem}.interest-context,.suggestion-explanation{padding:.8rem 1rem;background:#eef4ef;color:var(--forest);font-size:.84rem;border-left:3px solid var(--forest)}.interest-context{margin:0 0 1.6rem}.interest small{overflow-wrap:anywhere}.interest-empty{background:#f7f7f3}.place-visual{width:116px;min-height:126px;padding:.8rem;background:linear-gradient(140deg,#dce9de,#f1e8d4);display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:.63rem;color:var(--forest)}.place-visual>span{display:block;font:2.8rem Georgia,serif}.visit-allowance{font-weight:700;color:var(--forest)!important;margin-top:.4rem!important}.catalog-area{max-width:330px;margin-bottom:.75rem}.trip-route-editor{margin:1.5rem 0;border:1px solid var(--rule);background:#f7f9f4;padding:1rem;min-width:0}.route-editor-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.route-editor-head h4{font:600 1.6rem Georgia,serif;margin:.3rem 0}.route-editor-head label{font-size:.75rem;display:flex;align-items:center;gap:.5rem}.route-editor-head select{max-width:180px;min-height:44px;background:white;border:1px solid var(--rule);padding:.4rem}.route-summary{font-size:.83rem;font-weight:750;color:var(--forest)}.map-instructions,.map-caption,.map-sources{font-size:.75rem;color:var(--muted)}.map-sources summary{cursor:pointer;min-height:32px;color:var(--forest)}.route-map-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.route-map{border:1px solid #c6d8d4;background:#e7f2f2;min-width:0}.trip-map-svg{display:block;width:100%;height:auto;max-height:520px}.trip-route-line{fill:none;stroke:var(--clay);stroke-width:2.4;stroke-dasharray:7 5;opacity:.85}.pin-leader{stroke:#955c46;stroke-width:1}.route-pin{cursor:grab;touch-action:none;outline:none}.route-pin circle,.pin-ghost circle{fill:var(--clay);stroke:#fff;stroke-width:3}.route-pin text,.pin-ghost text{font:bold 13px system-ui;fill:white;pointer-events:none}.route-pin:focus circle,.route-pin:hover circle{stroke:#eac05e;stroke-width:5}.route-pin.is-drop-target circle{fill:var(--forest);stroke:#eac05e;stroke-width:5}.route-pin.is-drag-source{opacity:.3}.pin-ghost{pointer-events:none;opacity:.85}.trip-map-svg.is-dragging{cursor:grabbing}.town-label{font:11px system-ui;fill:#496453;paint-order:stroke;stroke:#eef0dd;stroke-width:3px}.sea-label{font:italic 13px Georgia;fill:#648a91;letter-spacing:2px}.north-label{font:bold 16px system-ui;fill:#173f39}.map-stop-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;padding:0;margin:0}.map-stop-list button{display:flex;align-items:center;gap:.6rem;text-align:left;width:100%;min-height:52px;padding:.5rem;border:1px solid var(--rule);background:white;cursor:pointer;font-size:.79rem;overflow-wrap:anywhere}.map-stop-list b,.stop-number{display:inline-grid;place-items:center;border-radius:50%;background:var(--clay);color:white;min-width:25px;height:25px;font:700 .75rem system-ui}.map-stop-list small{display:block;font-size:.69rem;color:var(--muted)}.stop-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.8rem;padding:.6rem;background:#f2f5ee}.stop-controls label{display:flex;align-items:center;gap:.35rem;font-size:.75rem}.stop-controls select,.stop-controls input{min-height:44px;max-width:75px;border:1px solid #bcc8be;border-radius:2px;padding:.4rem;background:white}.move-buttons{display:flex;gap:.3rem}.move-buttons button{height:44px;width:44px;border:1px solid #bcc8be;background:white;cursor:pointer;font-size:1.15rem}.move-buttons button:disabled{opacity:.3;cursor:default}.stop-links{display:flex;flex-wrap:wrap;gap:1rem}.day-edit-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem}.day-edit-tools span{font-size:.72rem;color:var(--muted)}.route-warnings{padding:.9rem .9rem .9rem 2rem;background:#fff1dc;border-left:3px solid #a5631c;font-size:.8rem;color:#77451a}.visit-stop{border-radius:4px}.visit-stop.is-drag-source{opacity:.4}.open-day{min-height:90px;padding:1rem;font-size:.85rem;color:var(--muted)}.timeline-content{min-width:0}.day-title>div{min-width:0;overflow-wrap:anywhere}
@media(min-width:1300px){.planner-shell:has(.result-step:not([hidden])){grid-template-columns:1fr}.planner-shell:has(.result-step:not([hidden])) .planner-aside{display:none}.planner-shell:has(.result-step:not([hidden])) .route-map-layout{grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr)}.planner-shell:has(.result-step:not([hidden])) .map-stop-list{grid-template-columns:1fr;align-content:start}}
@media(max-width:760px){.place-visual{width:92px}.route-editor-head{align-items:start;flex-direction:column}.route-editor-head select{max-width:230px}.map-stop-list{grid-template-columns:1fr}.trip-route-editor{padding:.7rem}.stop-controls{gap:.5rem}.stop-links{gap:.7rem}.map-instructions{font-size:.8rem}.trip-map-svg{max-height:none}.route-pin circle{stroke-width:2}}
@media(max-width:480px){.place-visual{width:100%;min-height:80px;flex-direction:row;gap:1rem;align-items:center}.place-visual>span{font-size:2rem}.trip-route-editor{margin-left:-.25rem;margin-right:-.25rem}}
.route-pin .pin-hit,.route-pin:hover .pin-hit,.route-pin:focus .pin-hit,.route-pin.is-drop-target .pin-hit,.pin-ghost .pin-hit{fill:transparent;stroke:none}
.trip-map-svg,.route-pin circle{touch-action:none}
.planner-card .button-ghost{color:var(--forest)}.planner-card .button-ghost:hover{background:#edf4ef;border-color:var(--forest)}
.draft-tools{flex-wrap:wrap;gap:.5rem 1rem}.draft-tools .save-note{margin-right:auto}
.suggestion-reasons{font-size:.72rem!important;color:var(--forest)!important;border-top:1px solid var(--rule);padding-top:.45rem;margin-top:.55rem!important}
.trip-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.3rem}.trip-totals>div{border-top:2px solid var(--gold);padding:.7rem .3rem .2rem;min-width:0}.trip-totals dt{font-size:.7rem;color:var(--muted);margin-bottom:.35rem}.trip-totals dd{font:600 1.2rem Georgia,serif;color:var(--forest);margin:0;overflow-wrap:anywhere}
.trip-downloads{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;padding:1rem;margin-bottom:1rem;background:var(--cream);border:1px solid var(--rule)}.trip-downloads>div{flex:1 1 220px}.trip-downloads b{font:600 1.1rem Georgia,serif}.trip-downloads p{font-size:.76rem;color:var(--muted);margin:.3rem 0 0}.trip-file-status{font-size:.84rem;color:var(--forest);background:#eef4ef;border-left:3px solid var(--forest);padding:.8rem 1rem}.trip-file-status.is-error{color:#77451a;background:#fff1dc;border-color:#a5631c}
@media(max-width:760px){.trip-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.trip-totals>div:last-child{grid-column:1/-1}.trip-downloads .icon-button{flex:1}.draft-tools .save-note{flex-basis:100%}}
@media print{.trip-downloads,.trip-file-status{display:none!important}.trip-totals{grid-template-columns:repeat(5,minmax(0,1fr));break-inside:avoid}}
.catalog-entry{display:flex;flex-direction:column;min-width:0;border:1px solid var(--rule);background:#fff}.catalog-entry .catalog-card{width:100%;flex:1;border:0}.place-guide-link{display:inline-flex;align-items:center;min-height:44px;font-size:.78rem;color:var(--clay);text-underline-offset:3px}.catalog-entry>.place-guide-link{padding:0 .75rem}.place-access-note{display:block;font-size:.75rem;line-height:1.5;color:var(--clay);margin-top:.4rem}.suggestion-copy .place-access-note{color:var(--clay);margin-top:.4rem}
