:root { --navy:#061c35; --navy2:#0f2a4a; --gold:#e7b32e; --gold-deep:#9a711b; --cream:#f7f8fa; --paper:#ffffff; --ink:#112843; --muted:#617185; --rule:#dce4eb; --green:#376d52; --shadow:0 14px 40px rgba(6,28,53,.08); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family: 'Segoe UI',Arial,sans-serif; color:var(--ink); background:var(--cream); -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button { cursor:pointer; }
a { color:inherit; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #c99d50; outline-offset:3px; }
.hidden { display:none!important; }
.shell { width:min(100% - 44px,1090px); margin:0 auto; }
.top-ribbon { background:#0a1123;color:#d6c39c;text-align:center;padding:8px 12px;font-size:10px;letter-spacing:2px;font-weight:700; }
.site-header { height:83px;padding:0 max(22px,calc((100vw - 1090px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff; }
.brand { display:flex;align-items:center;gap:13px;text-decoration:none; }
.brand-icon { display:grid;place-items:center; width:47px;height:47px;border:1px solid var(--gold);border-radius:50%; color:var(--gold);font-size:27px; }
.brand-text { display:flex;flex-direction:column;gap:5px; }.brand-text strong {font-family:Georgia,serif;letter-spacing:1.7px;font-size:17px;font-weight:500;}.brand-text small {letter-spacing:2.8px;color:#d3bd8c;font-size:9px;font-weight:700;}
.pilot-label {font-size:10px;letter-spacing:1.4px;color:#d6c39c;display:flex;align-items:center;gap:8px;font-weight:700;}.pilot-dot{width:7px;height:7px;border-radius:50%;background:#d7c089;}
.hero {height:470px;isolation:isolate;position:relative;background:linear-gradient(115deg,#16233a,#5c574b);color:white;overflow:hidden;}.hero-photo{position:absolute;inset:0;z-index:-2;background-image:url('https://static.wixstatic.com/media/dd5811_9b25a430b20b4b2db5572c01c96b0a3f~mv2.jpg');background-size:cover;background-position:center 41%;filter:saturate(.78);}.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,25,49,.97) 0%,rgba(17,25,49,.89) 39%,rgba(17,25,49,.25) 100%),linear-gradient(0deg,rgba(17,25,49,.32),transparent);}
.hero-content {padding-top:70px;}.eyebrow {letter-spacing:2.6px;font-size:11px;font-weight:700;color:#ecd4a1;display:flex;align-items:center;gap:10px;}.eyebrow .line{width:28px;height:1px;background:#dfbf83;}
h1,h2,h3,p{margin-top:0;}h1,h2 {font-family:Georgia,'Times New Roman',serif;font-weight:400;}h1{font-size:clamp(40px,5vw,69px);line-height:1.12;letter-spacing:-1.5px;max-width:770px;margin:24px 0 20px;}h1 em,h2 em {font-weight:400;color:#e7c77f;} .hero-content p {max-width:525px;font-size:16px;line-height:1.8;color:#e3e5e9;}.hero-points {display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:19px;color:#e1d6bb;font-size:11px;letter-spacing:.4px;}.text-link{display:inline-block;color:#f3ddad;font-size:12px;margin-top:31px;text-underline-offset:6px;text-decoration-thickness:1px;}.hero-index{position:absolute;bottom:22px;right:4%;letter-spacing:3px;color:#e2dbcf;font-size:10px;opacity:.8;}
.content-shell{padding-top:33px;padding-bottom:76px;}.opening-note{background:#ede9e1;border-left:3px solid #caa760;padding:18px 23px;display:flex;align-items:flex-start;gap:17px;font-size:13px;line-height:1.75;color:#4d5769;}.note-mark{font-size:22px;color:#ae8e4d;}.opening-note strong{color:#26354a;}
.steps{display:flex;align-items:center;justify-content:center;gap:23px;padding:48px 0 39px;}.step{display:flex;align-items:center;gap:8px;letter-spacing:1.6px;font-size:10px;color:#9d9c99;font-weight:700;white-space:nowrap;}.step b{font-size:11px;border:1px solid #d5d1c8;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;}.step.active{color:var(--navy);}.step.active b,.step.done b{border-color:var(--gold-deep);background:var(--navy);color:#f7dc9c;}.step.done{color:#777c80;}.connector{height:1px;width:55px;background:#d6d1c6;}
.step-panel{margin:0 auto;max-width:825px;}.section-kicker,.tiny-heading,.question-label,.coming-next{font-size:11px;letter-spacing:2.2px;font-weight:800;color:#a18346;}.step-panel h2,.result-heading h2{font-size:clamp(38px,4.5vw,55px);letter-spacing:-1px;margin:14px 0 15px;line-height:1.14;}.muted{color:var(--muted);}.intro{font-size:15px;line-height:1.8;margin-bottom:29px;max-width:720px;}
.town-card{display:grid;grid-template-columns:80px 1fr 35px;align-items:center;gap:24px;background:#fff;border:1px solid #d9cba8;border-radius:6px;padding:29px;box-shadow:var(--shadow);}.town-card-crest{background:#182842;color:#e3c484;border-radius:50%;width:77px;height:77px;display:grid;place-items:center;font-size:42px;}.town-card h3{font:normal 30px Georgia,serif;margin:7px 0 7px;}.town-card p{color:#6b7280;font-size:14px;line-height:1.65;margin:0;}.selected-check{width:27px;height:27px;border:1px solid #b4934f;background:#f4eddc;border-radius:50%;display:grid;place-items:center;color:#846625;font-weight:800;}.coming-next{display:flex;gap:15px;align-items:center;margin:34px 0 15px;color:#8f836b;}.coming-next span{font-size:9px;background:#ebe6da;padding:6px 9px;letter-spacing:1px;}.other-towns{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}.other-towns a{padding:17px;background:#eeece6;border:1px solid #e1dace;text-decoration:none;color:#697385;display:flex;align-items:center;justify-content:space-between;font:normal 19px Georgia,serif;}.other-towns a span{font:normal 14px Arial;}
.actions{margin-top:36px;display:flex;justify-content:flex-end;gap:15px;}.actions.split{justify-content:space-between;}.primary-btn,.secondary-btn,.outline-btn{border-radius:3px;padding:17px 25px;display:inline-flex;align-items:center;justify-content:center;gap:25px;text-decoration:none;font-weight:800;font-size:11px;letter-spacing:1.4px;min-height:55px;border:1px solid transparent;}.primary-btn{background:var(--navy);color:#f4dfb0;}.primary-btn:hover{background:#2b3c59;}.primary-btn span{font-size:19px;font-weight:400;}.secondary-btn{background:transparent;color:#5a6271;border-color:#d5d0c7;}.secondary-btn:hover,.outline-btn:hover{background:#eee7da;}
.question-label{margin:22px 0 13px;color:#233047;}.question-label span{font-size:11px;letter-spacing:0;color:#8d9299;text-transform:none;font-weight:400;}.interest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.interest{border:1px solid #e4dfd3;background:white;padding:16px 17px;min-height:76px;display:flex;align-items:center;gap:14px;text-align:left;color:#354259;font-size:14px;font-weight:700;border-radius:4px;}.interest:hover,.duration:hover{border-color:#bb9d62;}.interest.active{border-color:#ab8a48;background:#f3ecdc;box-shadow:inset 0 0 0 1px #cdb57c;}.interest-icon{font-size:23px;min-width:30px;color:#a88b52;text-align:center;font-family:Georgia,serif;}.check-icon{margin-left:auto;width:21px;height:21px;display:none;place-items:center;border-radius:50%;background:#263954;color:#e9ca89;font-size:11px;}.interest.active .check-icon{display:grid;}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:31px;}.field label{display:block;font-size:11px;letter-spacing:1.8px;font-weight:800;color:#233047;margin-bottom:11px;}.field input,.field select{width:100%;background:white;border:1px solid #d7d3cb;padding:15px 17px;min-height:54px;border-radius:3px;color:#29384d;}.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;}.duration{border:1px solid #ddd6c8;background:#fff;padding:18px 9px;display:flex;flex-direction:column;gap:6px;border-radius:3px;}.duration strong{font-size:13px;color:#344259;}.duration span{font-size:11px;color:#8b9197;}.duration.active{border-color:#a98a48;background:#f3ecdc;box-shadow:inset 0 0 0 1px #cfb67e;}.toggle-row{display:flex;align-items:center;gap:14px;background:#eeeae2;border:1px solid #e2dccf;padding:15px 18px;margin-top:23px;cursor:pointer;}.toggle-row input{position:absolute;opacity:0;}.switch{width:43px;height:25px;background:#c6c4bd;border-radius:50px;position:relative;flex-shrink:0;}.switch:before{content:'';width:19px;height:19px;background:white;position:absolute;left:3px;top:3px;border-radius:50%;transition:transform .15s;}.toggle-row input:checked+.switch{background:#435e4f;}.toggle-row input:checked+.switch:before{transform:translateX(18px);}.toggle-row input:focus-visible+.switch{outline:3px solid #c99d50;outline-offset:3px;}.toggle-row strong{font-size:13px;display:block;}.toggle-row small{font-size:11px;display:block;margin-top:4px;color:#818790;}.validation{color:#9b3030;font-size:13px;margin:15px 0 0;}
.result{max-width:990px;margin:0 auto;}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;}.result-heading h2 em{color:#a58243;}.result-heading p{font-size:14px;line-height:1.6;}.result-seal{width:108px;height:108px;flex-shrink:0;border:1px solid #c8a96d;outline:1px solid #c8a96d;outline-offset:-7px;border-radius:50%;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;font-size:9px;letter-spacing:2px;line-height:1.5;text-align:center;color:#a78446;transform:rotate(10deg);}.result-seal b{font:normal 25px Georgia,serif;color:var(--navy);letter-spacing:0;}.result-seal span{font-size:17px;line-height:1;}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);background:#f0e7d3;border:1px solid #e2d7bd;margin:25px 0 24px;}.summary-cards div{display:flex;flex-direction:column;gap:9px;padding:21px 23px;border-right:1px solid #dacbab;}.summary-cards div:last-child{border:0;}.summary-cards small{font-size:10px;letter-spacing:1.7px;color:#826f50;font-weight:700;}.summary-cards strong{font-family:Georgia,serif;font-size:21px;font-weight:400;}.plan-intro{display:flex;align-items:start;gap:17px;background:var(--navy);color:white;padding:25px 28px;}.plan-intro-mark{color:#e4c484;font-size:28px;line-height:1;}.plan-intro h3{font:normal 24px Georgia,serif;margin:0 0 7px;}.plan-intro p{color:#d5d9e3;font-size:13px;line-height:1.65;margin:0;}.timeline-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:39px 0 18px;}.timeline-title h3{font-size:11px;letter-spacing:2px;margin:0;}.timeline-title span{font-size:11px;color:#8b8c8c;}.timeline{position:relative;margin-left:15px;border-left:1px solid #d2c19f;padding-left:31px;}.stop{position:relative;margin:0 0 15px;background:#fff;border:1px solid #e1d9ca;box-shadow:0 8px 24px rgba(21,25,39,.035);padding:23px 25px;}.stop::before{content:'';position:absolute;left:-41px;top:32px;width:17px;height:17px;background:var(--navy);border:3px solid var(--cream);box-shadow:0 0 0 1px #d4b979;border-radius:50%;}.stop-head{display:flex;align-items:center;justify-content:space-between;gap:15px;}.stop-index{color:#a48244;font-weight:800;letter-spacing:1.7px;font-size:10px;}.stop-category{color:#7d8a84;font-size:10px;letter-spacing:1px;text-transform:uppercase;}.stop h4{font:normal 26px Georgia,serif;margin:9px 0 8px;}.stop p{font-size:13px;line-height:1.65;color:#596576;margin:0 0 14px;}.stop-meta{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;}.stop-meta span{font-size:11px;padding:6px 9px;background:#f3f0e9;color:#6b6f77;}.stop-note{border-left:2px solid #cab184;padding-left:12px;margin-top:13px!important;color:#7a6e5b!important;font-size:12px!important;}.stop-links{display:flex;flex-wrap:wrap;gap:15px 23px;align-items:center;margin-top:16px;}.stop-links a{color:#1b3654;text-decoration:underline;text-decoration-color:#c6ab74;text-underline-offset:4px;font-size:11px;letter-spacing:.4px;font-weight:800;}.stop-links a:last-child{font-weight:500;color:#687587;}
.journey-notice,.checks-card{padding:23px 25px;margin:22px 0;background:#eee9de;border-left:3px solid #b89b5e;font-size:13px;line-height:1.7;color:#5e6570;}.journey-notice strong{color:#26354a;}.checks-card{margin-top:30px;background:#fefdf9;border:1px solid #e0d8c9;border-left:3px solid #a99464;}.checks-card h3{font:normal 26px Georgia,serif;margin:0 0 9px;color:#283447;}.checks-card p{margin:0 0 10px;}.checks-card .snapshot{color:#987b4b;letter-spacing:1px;font-weight:700;font-size:10px;margin:20px 0 0;}.result-buttons{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px;margin-top:25px;}.result-buttons .primary-btn,.result-buttons .outline-btn{padding:16px 14px;text-align:center;font-size:10px;letter-spacing:.9px;gap:0;}.outline-btn{background:transparent;color:#203047;border-color:#d5cbbc;}.edit-plan{display:block;margin:24px auto 45px;border:0;background:transparent;color:#6f6f71;font-size:11px;font-weight:800;letter-spacing:1.2px;text-decoration:underline;text-underline-offset:4px;}.bottom-cta{background:var(--navy);padding:36px 36px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;}.bottom-cta span{font-size:10px;color:#e2c17f;letter-spacing:2px;font-weight:700;}.bottom-cta h3{font:normal 27px Georgia,serif;margin:10px 0;}.bottom-cta p{font-size:12px;color:#c7cdd5;margin:0;line-height:1.6;}.bottom-cta a{color:#f2d89c;border:1px solid #a68a55;padding:17px;white-space:nowrap;text-decoration:none;font-size:11px;letter-spacing:1px;font-weight:800;}
.site-footer{background:#10192a;color:#dad6ca;padding:38px 0 27px;text-align:center;}.footer-logo{font-family:Georgia,serif;letter-spacing:2px;font-size:19px;color:#f4eee1;}.footer-logo span{color:#d7bd87;padding-right:5px;}.site-footer p{font-size:12px;margin:12px 0 23px;color:#bfc4ca;}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;}.footer-links a{font-size:11px;color:#e3c889;text-underline-offset:4px;}.site-footer small{display:block;color:#8793a0;margin-top:26px;font-size:10px;letter-spacing:.4px;}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--navy);color:#fff;box-shadow:0 20px 55px #10192a30;border:1px solid #d3ad68;padding:16px 24px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:90vw;text-align:center;font-size:12px;z-index:100;}.toast.show{opacity:1;transform:translate(-50%,0);}
@media(max-width:720px){.shell{width:min(100% - 34px,1090px)}.top-ribbon{font-size:8px;letter-spacing:1.2px}.site-header{height:70px;padding:0 17px}.brand-icon{width:40px;height:40px;font-size:23px}.brand-text strong{font-size:13px;letter-spacing:1.2px}.brand-text small{font-size:8px;letter-spacing:1.6px}.pilot-label{font-size:8px;letter-spacing:.6px;max-width:105px;line-height:1.6;text-align:right}.hero{height:490px}.hero-photo{background-position:60% center}.hero-overlay{background:linear-gradient(90deg,rgba(17,25,49,.95),rgba(17,25,49,.65)),linear-gradient(0deg,rgba(17,25,49,.5),transparent)}.hero-content{padding-top:68px}.hero-content p{font-size:14px;line-height:1.75}.hero-points{font-size:10px;gap:10px 13px}.hero-index{display:none}h1{font-size:clamp(39px,9vw,56px);letter-spacing:-.6px}.content-shell{padding-top:22px}.opening-note{padding:16px;gap:10px;font-size:12px}.steps{gap:8px;padding:36px 0 34px;justify-content:space-between}.step{font-size:8px;letter-spacing:.5px;gap:5px}.step b{width:27px;height:27px;font-size:9px}.connector{width:16px;flex:1}.step-panel h2,.result-heading h2{font-size:38px}.town-card{grid-template-columns:48px 1fr 23px;gap:13px;padding:20px 13px}.town-card-crest{width:48px;height:48px;font-size:27px}.town-card h3{font-size:26px}.town-card p{font-size:12px}.selected-check{width:22px;height:22px}.other-towns{grid-template-columns:1fr}.other-towns a{font-size:17px;padding:13px}.coming-next{font-size:9px;letter-spacing:1.2px}.interest-grid{gap:9px}.interest{min-height:78px;padding:12px 10px;gap:8px;font-size:12px}.interest-icon{font-size:19px;min-width:20px}.check-icon{width:18px;height:18px;font-size:9px}.form-grid{grid-template-columns:1fr;gap:15px}.time-options{gap:6px}.duration{min-height:80px;padding:11px 4px}.duration strong{font-size:11px}.duration span{font-size:10px}.actions{margin-top:26px}.actions.split{gap:9px}.primary-btn,.secondary-btn{padding:14px;font-size:10px;letter-spacing:.6px;gap:11px}.result-heading h2{font-size:36px}.result-seal{width:77px;height:77px;font-size:7px;letter-spacing:1px}.result-seal b{font-size:18px}.summary-cards div{padding:14px 10px}.summary-cards small{font-size:8px;letter-spacing:.5px}.summary-cards strong{font-size:15px}.plan-intro{padding:21px 17px}.plan-intro h3{font-size:21px}.timeline-title{align-items:flex-start;flex-direction:column;gap:7px}.timeline{padding-left:24px;margin-left:10px}.stop{padding:19px 16px}.stop::before{left:-35px}.stop h4{font-size:24px}.stop-links{gap:9px 17px}.result-buttons{grid-template-columns:1fr 1fr}.result-buttons .primary-btn{grid-column:span 2}.bottom-cta{padding:26px 20px;flex-direction:column;align-items:flex-start;gap:20px}.bottom-cta h3{font-size:23px}.bottom-cta a{width:100%;text-align:center}.site-footer{padding:32px 20px 24px}.footer-links{gap:13px 20px}}
@media(max-width:370px){.steps .connector{width:7px}.step{font-size:7px}.brand-text strong{font-size:12px}.pilot-label{font-size:7px}.interest{font-size:11px}.hero{height:515px}}
@media print{.top-ribbon,.site-header,.hero,.opening-note,.steps,#formFlow,.result-buttons,.edit-plan,.site-footer,.bottom-cta,.toast{display:none!important}body{background:#fff}.content-shell{padding-top:0}.result{display:block!important}.stop{break-inside:avoid;box-shadow:none}.checks-card{break-inside:avoid}.timeline{border-left:1px solid #777}.result-seal{display:none}}

.dated-events{margin:30px 0;border:1px solid #ddcfb2;background:#f7f0df;padding:25px;}.dated-events h3{font:normal 30px Georgia,serif;margin:10px 0 18px;}.dated-event{border-top:1px solid #ded1b5;padding:15px 0;}.dated-event strong{display:block;font:normal 22px Georgia,serif;color:#26354a;margin-bottom:7px;}.dated-event span{display:block;color:#92764a;font-size:11px;font-weight:700;margin-bottom:7px;}.dated-event p{font-size:12px;line-height:1.6;margin:0 0 7px;color:#6b7180;}.dated-event a{font-size:11px;font-weight:800;color:#203956;text-underline-offset:4px;}.dated-events>p{font-size:11px;color:#7e796e;line-height:1.6;margin:15px 0 0;}.events-more{text-align:center;font-size:12px;color:#687487;margin:25px 0;}.events-more a{color:#1b3654;text-decoration:underline;text-underline-offset:4px;font-weight:800;}


/* ========================================================================
   V2 WHITE SHIRE BRAND MATCH — purely presentation; app.js and data.js unchanged
   Official current Wix logo: dd5811_5c1f1f09f2e94c1b9805fdfb31a8713a~mv2.png
   ======================================================================== */
.top-ribbon {background:#061c35;color:#f6da8c;border-bottom:1px solid #c79726;font-size:10px;letter-spacing:1.7px;padding:9px 12px;}
.top-ribbon span{padding:0 9px;color:#fff;}
.site-header {background:#fff;color:#061c35;display:block;height:auto;padding:0 22px;border-bottom:1px solid #edf0f3;}
.header-inner {width:min(100%,1100px);margin:auto;min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand {display:inline-flex;align-items:center;min-width:0;text-decoration:none;}
.brand-logo {display:block;object-fit:contain;object-position:left center;width:min(100%,300px);height:100px;max-width:300px;}
.header-feature {display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;}
.header-feature-kicker {font-size:9px;color:#946815;letter-spacing:2px;font-weight:800;}
.header-feature strong{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.15;font-weight:600;color:#061c35;letter-spacing:-.25px;}
.pilot-label {font-size:9px;color:#556b84;letter-spacing:1.3px;}
.pilot-dot{background:#e7b32e;}
.brand-nav {background:#061c35;color:#fff;border-bottom:3px solid #e7b32e;}
.brand-nav-inner {width:min(100%,1100px);margin:auto;display:flex;align-items:center;justify-content:center;gap:0;min-height:49px;}
.brand-nav a,.brand-nav .nav-active {font-family:'Segoe UI',Arial,sans-serif;letter-spacing:1.2px;font-size:10px;font-weight:800;white-space:nowrap;text-decoration:none;padding:17px 19px 16px;line-height:1.4;}
.brand-nav a:hover,.brand-nav a:focus-visible{background:#173656;color:#fff;}
.brand-nav .nav-active {color:#061c35;background:#e7b32e;}
.hero {background:#061c35;}
.hero-overlay{background:linear-gradient(90deg,rgba(6,28,53,.98) 0%,rgba(6,28,53,.86) 43%,rgba(6,28,53,.32) 100%),linear-gradient(0deg,rgba(6,28,53,.4),transparent);}
h1 em,h2 em{color:#f0ca63;}
.eyebrow,.hero-points,.text-link{color:#f4d47d;}
.opening-note {background:#fff;border:1px solid #dce4eb;border-left:4px solid #e7b32e;border-radius:5px;color:#52667c;box-shadow:0 4px 18px #061c3509;}
.note-mark,.section-kicker,.tiny-heading,.coming-next {color:#9a711b;}
.step.active{color:#061c35;}.step.active b,.step.done b{background:#061c35;color:#ffdc83;border-color:#d5a422;}
.town-card {border:1px solid #dbe5ed;border-top:3px solid #e7b32e;border-radius:9px;}
.town-card-crest {background:#061c35;color:#f1ca5c;}
.selected-check {background:#e7b32e;color:#061c35;border-color:#c89b24;}
.other-towns a {background:white;border:1px solid #dce4eb;color:#17395b;border-radius:6px;}
.primary-btn {background:#061c35;color:#f4cf69;border:1px solid #061c35;border-radius:6px;}
.primary-btn:hover {background:#103457;}
.secondary-btn,.outline-btn{border-radius:6px;}
.interest{border:1px solid #dbe4ed;border-radius:7px;}
.interest.active,.duration.active{background:#fff8e7;border-color:#c49924;box-shadow:inset 0 0 0 1px #e3b94f;}
.interest-icon,.tiny-heading,.question-label {color:#956f1b;}
.check-icon {background:#061c35;color:#e7b32e;}
.duration,.field input,.field select{border-radius:7px;border-color:#dbe4ed;}
.toggle-row {background:#fff;border:1px solid #dce4eb;border-radius:7px;}
.summary-cards {background:#eef3f7;border-color:#d8e2ea;border-radius:7px;overflow:hidden;}
.summary-cards div{border-color:#d8e2ea;}.summary-cards small{color:#7a6326;}
.plan-intro {border-left:4px solid #e7b32e;border-radius:7px;}
.plan-intro-mark{color:#e7b32e;}
.result-seal{border-color:#e7b32e;color:#9a711b;outline-color:#e7b32e;}
.checks-card {background:white;border:1px solid #dce4eb;border-left:4px solid #e7b32e;border-radius:5px;}
.journey-notice {background:#eef3f7;border-left:4px solid #e7b32e;border-radius:5px;}
.bottom-cta {border-radius:7px;}
.bottom-cta a {border-color:#e7b32e;color:#f2d681;border-radius:4px;}
.dated-events {background:#fff8e8;border:1px solid #e7cf84;border-radius:7px;}
.site-footer {background:#061c35;border-top:3px solid #e7b32e;}
.footer-logo-link {display:inline-flex;background:#fff;border-radius:5px;padding:5px 10px;text-decoration:none;align-items:center;}
.footer-logo-link img{display:block;width:220px;height:74px;object-fit:contain;}
.site-footer .footer-links a {color:#f4d47d;}
.toast{background:#061c35;border-color:#e7b32e;}
@media(max-width:720px){
  .site-header{padding:0 15px;}
  .header-inner{min-height:91px;gap:8px;}
  .brand{flex:1;}
  .brand-logo{width:min(100%,215px);height:75px;}
  .header-feature{flex:0 0 auto;max-width:129px;gap:5px;}
  .header-feature-kicker{font-size:7px;letter-spacing:.75px;}
  .header-feature strong{font-size:15px;line-height:1.2;}
  .pilot-label{font-size:7px;letter-spacing:.2px;max-width:none;}
  .brand-nav-inner{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:0 8px;}
  .brand-nav-inner::-webkit-scrollbar{display:none;}
  .brand-nav a,.brand-nav .nav-active{padding:15px 12px;font-size:9px;}
  .hero-content{padding-top:63px;}
  .top-ribbon{font-size:8px;letter-spacing:.8px;}
}
@media(max-width:390px){
  .brand-logo{width:min(100%,178px);height:66px;}
  .header-feature{max-width:115px;}
  .header-feature strong{font-size:13px;}
  .pilot-label{font-size:7px;}
}
@media print{.brand-nav{display:none!important;}}

/* ======================================================================
   V3 — 25 OCT 2026: EXACT USER-PROVIDED WHITE SHIRE BRANDING
   Based on supplied White Shire homepage screenshot: wordmark, dark navy,
   yellow-gold navigation/buttons and bold, modern section headings.
   No change to app.js/data.js, identifiers, generated plans or links.
   ====================================================================== */
:root{--navy:#111931;--navy2:#18233d;--gold:#efc82f;--gold-deep:#a98516;--cream:#f6f7fa;--ink:#111931;--muted:#606a7c;--rule:#dce2e9;--shadow:0 13px 36px rgba(17,25,49,.085)}
body{font-family:Arial,'Segoe UI',sans-serif;background:#f7f8fa;color:#111931}
.top-ribbon{display:none!important}
.site-header{height:auto;padding:0;background:white;color:#111931;border-bottom:0;display:block}
.header-inner{max-width:none;width:100%;min-height:105px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.header-logo-panel{background:#fff;display:flex;align-items:center;justify-content:center;min-height:105px;padding:10px 18px}
.brand{display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;min-width:0;text-decoration:none;color:#111931}
.brand-logo{display:block;object-fit:contain;object-position:center center;width:min(325px,100%);max-width:none;height:auto;aspect-ratio:1734/371}
.brand-strapline{font-family:Arial,'Segoe UI',sans-serif;font-size:11px;font-weight:750;letter-spacing:-.18px;line-height:1.1;text-align:center;margin-top:-1px;color:#111931}
.header-feature{display:none!important}
.brand-nav{background:#111931;color:#efc82f;border-bottom:0;min-width:0;display:flex;align-items:center;justify-content:center}
.brand-nav-inner{width:100%;min-height:105px;margin:0;padding:0 19px;display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.15vw,22px)}
.brand-nav a,.brand-nav .nav-active{font-family:Arial,'Segoe UI',sans-serif;text-decoration:none;letter-spacing:0;font-size:clamp(10px,.82vw,15px);font-weight:500;white-space:nowrap;padding:14px 3px;color:#efc82f;background:transparent;border:0}
.brand-nav a:first-child{color:#fff}
.brand-nav .nav-active{color:#111931;background:#efc82f;font-weight:800;border-radius:4px;padding:11px 13px}
.brand-nav a:hover,.brand-nav a:focus-visible{background:transparent;color:#fff;text-decoration:underline;text-decoration-color:#efc82f;text-underline-offset:5px}
.hero{background:#111931;color:#fff;min-height:515px;height:515px;overflow:hidden;isolation:isolate}
.hero-photo{left:50%;right:0;top:0;bottom:0;width:50%;background-color:#50634c;background-image:url('https://static.wixstatic.com/media/dd5811_9b25a430b20b4b2db5572c01c96b0a3f~mv2.jpg'),url('assets/yorkshire-waterfall-fallback.jpg');background-size:cover,cover;background-position:center,center;filter:saturate(.93)}
.hero-overlay{left:49.8%;right:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(17,25,49,.12),transparent 18%);pointer-events:none}
.hero-content.shell{width:50%;max-width:none;margin:0;padding:65px min(3vw,49px) 48px max(5.8vw,calc((100vw - 1210px)/2));position:relative;z-index:1}
.eyebrow{font-family:Arial,'Segoe UI',sans-serif;color:#efc82f;font-size:11px;font-weight:800;letter-spacing:1.65px}
.eyebrow .line{background:#efc82f}
.hero h1{font-family:Arial,'Segoe UI',sans-serif;font-weight:850;font-size:clamp(37px,4.4vw,74px);line-height:1.01;letter-spacing:-2.4px;max-width:790px;margin:19px 0 22px}
.hero h1 em{font-family:inherit;font-style:normal;font-weight:850;color:#efc82f;line-height:1.04}
.hero-content p{font-size:clamp(13px,1.03vw,16px);line-height:1.65;color:#fff;max-width:540px;margin-bottom:12px}
.hero-points{color:#f1cd47;font-size:10px;gap:8px 18px;letter-spacing:.1px}
.text-link{color:#f9d44c;text-underline-offset:4px;font-size:12px;margin-top:23px}
.hero-index{right:20px;color:#fff;opacity:.75}
.content-shell{padding-top:32px}
.opening-note{background:#efc82f;color:#111931;border:0;border-radius:0;box-shadow:none;line-height:1.55}
.opening-note strong,.note-mark{color:#111931}
.steps{padding:41px 0 38px}
.step-panel h2,.result-heading h2{font-family:Arial,'Segoe UI',sans-serif;font-weight:840;letter-spacing:-1.4px;color:#111931}
.result-heading h2 em{font-family:inherit;font-style:normal;color:#b28a0c;font-weight:840}
.town-card h3{font-family:Arial,'Segoe UI',sans-serif;font-weight:800;font-size:31px;letter-spacing:-.8px}
.town-card{border:1px solid #cfd8e5;border-top:4px solid #efc82f;border-radius:5px}
.town-card-crest{background:#111931;color:#efc82f}
.selected-check{background:#efc82f;color:#111931;border:0}
.section-kicker,.tiny-heading,.coming-next,.question-label{color:#92751b}
.other-towns a{font-family:Arial,'Segoe UI',sans-serif;font-weight:700;font-size:16px;border-radius:5px;color:#111931;background:#fff}
.primary-btn{background:#efc82f;color:#111931;border-color:#efc82f;border-radius:6px;font-weight:850}
.primary-btn:hover,.primary-btn:focus-visible{background:#f8da5e;color:#111931}
.secondary-btn,.outline-btn{background:#111931;color:#fff;border:1px solid #b99b26;border-radius:6px}
.secondary-btn:hover,.outline-btn:hover{background:#1e2b49;color:#fff}
.interest.active,.duration.active{background:#fff6d9;border-color:#d5ab20;box-shadow:inset 0 0 0 1px #e7c03c}
.check-icon{background:#111931;color:#efc82f}
.summary-cards{background:#eef1f7}
.summary-cards strong{color:#111931}
.result-seal,.plan-intro-mark,.site-footer .footer-links a{color:#d7aa25}
.bottom-cta{background:#111931;color:#fff}
.bottom-cta a{border-color:#efc82f;color:#efc82f}
.site-footer{background:#111931;border-top:5px solid #efc82f;color:#fff}
.footer-logo-link{padding:15px 14px;background:#fff;border-radius:4px;max-width:270px}
.footer-logo-link img{display:block;width:240px;height:auto;aspect-ratio:1734/371;object-fit:contain}
.site-footer .footer-links a{color:#efc82f}
@media(max-width:1050px){
 .brand-nav-inner{gap:7px;padding:0 8px}
 .brand-nav a,.brand-nav .nav-active{font-size:11px}
 .hero-content.shell{padding-left:6vw;padding-right:25px}
 .hero h1{font-size:clamp(36px,4.4vw,57px)}
}
@media(max-width:720px){
 .site-header{padding:0}
 .header-inner{min-height:0;display:flex;flex-direction:column;gap:0}
 .header-logo-panel{min-height:90px;padding:13px 14px 10px}
 .brand-logo{width:min(290px,80vw);height:auto}
 .brand-strapline{font-size:10px;margin-top:0}
 .brand-nav{min-height:49px;width:100%;max-width:100%;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
 .brand-nav::-webkit-scrollbar{display:none}
 .brand-nav-inner{min-height:49px;padding:0 13px;width:max-content;min-width:100%;justify-content:flex-start;gap:13px}
 .brand-nav a,.brand-nav .nav-active{font-size:11px;padding:12px 2px;flex-shrink:0}
 .brand-nav .nav-active{padding:9px 12px}
 .hero{height:auto;min-height:650px}
 .hero-photo{left:0;right:0;top:auto;bottom:0;width:100%;height:194px;background-position:center 40%,center 48%;filter:saturate(.95)}
 .hero-overlay{left:0;top:auto;bottom:160px;height:56px;background:linear-gradient(180deg,#111931,transparent)}
 .hero-content.shell{width:100%;margin:0;padding:48px 24px 221px;min-height:650px}
 .hero h1{font-size:clamp(39px,10vw,56px);line-height:1.02;letter-spacing:-1.8px;margin:19px 0}
 .hero-content p{font-size:14px;max-width:500px;line-height:1.65}
 .hero-points{font-size:10px;gap:7px 14px}
 .text-link{font-size:11px;margin-top:23px}
 .opening-note{font-size:12px}
 .step-panel h2,.result-heading h2{font-size:clamp(33px,8vw,42px)}
 .town-card h3{font-size:26px}
 .result-heading h2 em{font-weight:850}
 .footer-logo-link{max-width:245px}
 .footer-logo-link img{width:220px}
}
@media(max-width:370px){
 .brand-logo{width:260px}
 .hero{min-height:685px}
 .hero-content.shell{min-height:685px;padding-top:42px;padding-bottom:225px}
 .hero h1{font-size:39px;letter-spacing:-1.5px}
 .hero-points{gap:5px 9px}
 .interest{font-size:11px}
}
@media print{.site-header,.brand-nav{display:none!important}}


/* ============================================================================
   V4 — THE WHITE SHIRE FULL-PAGE VISUAL SYSTEM
   User-supplied logo and White Shire homepage reference.
   Presentation only: all identifiers, places, links, JS and data preserved.
   ============================================================================ */
:root{--ws-navy:#111931;--ws-navy-raised:#1d2945;--ws-gold:#efc82f;--ws-gold-dark:#9b7812;--ws-white:#ffffff}
html{scroll-behavior:smooth}
body{background:var(--ws-navy);color:#fff}
main{background:var(--ws-navy)}
.hero{border-bottom:0}
/* Yellow brand statement strip — like the bands on the White Shire homepage */
.white-shire-values{background:var(--ws-gold);color:var(--ws-navy);border:0}
.white-shire-values-inner{max-width:1030px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:22px;padding:23px 20px 22px;text-align:center}
.white-shire-values-inner>div{display:flex;flex-direction:column;gap:5px}
.white-shire-values strong{font-size:clamp(13px,1.7vw,20px);line-height:1.05;font-weight:900;letter-spacing:-.25px}
.white-shire-values span{font-size:10px;letter-spacing:.75px;line-height:1.3;font-weight:750}
.content-shell{padding-top:34px;padding-bottom:85px}
.opening-note{background:#fff;color:var(--ws-navy);border-left:5px solid var(--ws-gold);padding:22px 24px;border-radius:0;font-size:14px;box-shadow:none;line-height:1.6}
.opening-note strong,.opening-note .note-mark{color:var(--ws-navy)}
/* Progress navigation against navy, with clear selected state */
.steps{padding:44px 0 36px;gap:18px}
.step{color:#b7c0d5;font-size:11px;letter-spacing:.7px}
.step b{border-color:#69748d;color:#dbe1ef;background:transparent;width:34px;height:34px}
.step.active{color:var(--ws-gold)}
.step.active b,.step.done b{background:var(--ws-gold);border-color:var(--ws-gold);color:var(--ws-navy)}
.step.done{color:#f3e6b2}
.connector{background:#788099;opacity:.75}
/* The two wizard steps share the same deep-navy background */
.step-panel{max-width:910px;padding:17px 0 45px}
.section-kicker,.question-label,.coming-next,.tiny-heading{color:var(--ws-gold)}
.section-kicker{font-size:11px;letter-spacing:1.7px;font-weight:850}
.step-panel h2,.result-heading h2{color:#fff;font-family:Arial,'Segoe UI',sans-serif;font-weight:900;letter-spacing:-1.6px;margin:12px 0 17px}
.step-panel .muted,.step-panel .intro,.result-heading .muted{color:#e2e5ee;line-height:1.65}
/* White split destination card, with a first-party photo when available. */
.town-card{display:grid;grid-template-columns:62px minmax(0,1fr) 29px minmax(185px,34%);padding:0;min-height:245px;gap:17px;background:#fff;border:0;border-top:5px solid var(--ws-gold);border-radius:0;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,.16)}
.town-card-crest{margin-left:22px;align-self:center;width:56px;height:56px;border-radius:0;background:var(--ws-navy);color:var(--ws-gold);font-size:33px}
.town-card>div:nth-child(2){align-self:center;min-width:0;padding:25px 0 25px 7px}
.town-card .tiny-heading{color:#967400}
.town-card h3{color:var(--ws-navy);font-family:Arial,'Segoe UI',sans-serif;font-size:clamp(25px,2.7vw,40px);font-weight:900;letter-spacing:-1.4px;margin:5px 0 8px}
.town-card p{color:#4b5467;font-size:14px;line-height:1.65}
.town-card .selected-check{justify-self:center;align-self:center;background:var(--ws-gold);color:var(--ws-navy)}
.town-card-visual{align-self:stretch;min-height:245px;display:flex;align-items:flex-end;justify-content:flex-start;padding:19px 23px;color:#fff;background-image:linear-gradient(0deg,rgba(17,25,49,.9),rgba(17,25,49,0) 75%),url('https://static.wixstatic.com/media/dd5811_9b25a430b20b4b2db5572c01c96b0a3f~mv2.jpg'),url('assets/yorkshire-waterfall-fallback.jpg');background-size:cover,cover,cover; background-position:center}
.town-card-visual span{font-size:10px;letter-spacing:1.5px;line-height:1.6;font-weight:800}
.town-card-visual strong{font-size:24px;letter-spacing:-.5px;color:var(--ws-gold)}
.coming-next{margin-top:34px;color:var(--ws-gold);letter-spacing:1.15px}
.coming-next span{background:#24304e;color:#fff;font-size:9px;padding:7px 10px}
.other-towns{gap:12px}
.other-towns a{background:transparent;border:1px solid #c6a523;color:#fff;border-radius:0;padding:17px 19px;box-shadow:none;font-weight:750}
.other-towns a span{color:var(--ws-gold)}
.other-towns a:hover{background:#293550}
.actions{margin-top:34px}
.primary-btn{background:var(--ws-gold);color:var(--ws-navy);border:1px solid var(--ws-gold);border-radius:5px;font-weight:900}
.primary-btn:hover{background:#ffe05f;color:var(--ws-navy)}
.secondary-btn,.outline-btn{background:transparent;color:#fff;border:1px solid var(--ws-gold);border-radius:5px}
.secondary-btn:hover,.outline-btn:hover{background:#273552;color:var(--ws-gold)}
/* Interest and duration cards: homepage's outlined gold-on-navy style */
.question-label{color:var(--ws-gold);margin-top:28px;font-size:11px}
.question-label span{color:#c5cad4;font-weight:500}
.interest-grid{gap:12px}
.interest{background:var(--ws-navy-raised);border:1px solid #967c39;border-radius:2px;color:#fff;font-weight:700;min-height:85px;padding:15px 19px;box-shadow:none}
.interest-icon{color:var(--ws-gold)}
.interest:hover,.duration:hover{border-color:var(--ws-gold);background:#2b3653}
.interest.active{background:var(--ws-gold);border-color:var(--ws-gold);color:var(--ws-navy);box-shadow:none}
.interest.active .interest-icon{color:var(--ws-navy)}
.check-icon{background:var(--ws-navy);color:var(--ws-gold)}
.field label{color:var(--ws-gold);font-size:11px}
.field input,.field select{background:#fff;border:2px solid #d2b333;color:var(--ws-navy);min-height:58px;border-radius:2px}
.duration{background:#1d2945;border-color:#967c39;border-radius:2px;min-height:90px}
.duration strong{color:#fff;font-size:14px}
.duration span{color:#d0d4df}
.duration.active{background:var(--ws-gold);border-color:var(--ws-gold);box-shadow:none}
.duration.active strong,.duration.active span{color:var(--ws-navy)}
.toggle-row{background:#202b47;border:1px solid #967c39;border-radius:1px;color:#fff}
.toggle-row small{color:#cbd1df}
.toggle-row input:checked+.switch{background:var(--ws-gold)}
.toggle-row input:checked+.switch:before{background:var(--ws-navy)}
.validation{color:#ffd9d9}
/* Results use vivid navy framing and clean light stop cards */
.result{max-width:990px;padding-top:8px}
.result-heading h2{color:#fff}
.result-heading h2 em{color:var(--ws-gold)}
.result-heading p{color:#e1e6ef}
.result-seal{border-color:var(--ws-gold);color:var(--ws-gold);outline-color:var(--ws-gold)}
.result-seal b{color:#fff;font-family:Arial,'Segoe UI',sans-serif;font-weight:850}
.summary-cards{background:var(--ws-gold);border:0;border-radius:0;overflow:hidden}
.summary-cards div{border-right:1px solid rgba(17,25,49,.25);padding:22px}
.summary-cards small{color:#3c3b25;letter-spacing:1px}
.summary-cards strong{font:800 19px Arial,'Segoe UI',sans-serif;color:var(--ws-navy)}
.plan-intro{border:1px solid #9c823a;border-left:5px solid var(--ws-gold);border-radius:0;background:#1c2946;color:#fff;padding:24px 28px}
.plan-intro h3{font:900 clamp(19px,2vw,26px) Arial,'Segoe UI',sans-serif;color:#fff}
.plan-intro-mark{color:var(--ws-gold)}
.plan-intro p{color:#e0e3eb}
.timeline-title{margin-top:45px}
.timeline-title h3{font-size:16px;color:var(--ws-gold);font-weight:900;letter-spacing:.75px}
.timeline-title span{color:#e0e2eb}
.timeline{border-left:2px solid var(--ws-gold)}
.stop{background:#fff;color:var(--ws-navy);border:0;border-top:4px solid var(--ws-gold);padding:25px 28px;box-shadow:0 8px 30px rgba(0,0,0,.13)}
.stop::before{background:var(--ws-gold);box-shadow:0 0 0 1px #efc82f;border:3px solid var(--ws-navy)}
.stop-index{color:#8d6c00;font-size:11px}
.stop-category{color:#626a7a}
.stop h4{font:900 clamp(24px,3vw,34px) Arial,'Segoe UI',sans-serif;letter-spacing:-.75px;color:var(--ws-navy)}
.stop p{color:#4e586b}
.stop-meta span{background:#fff2bd;color:var(--ws-navy);font-weight:650;border-radius:2px}
.stop-note{border-left:3px solid var(--ws-gold);color:#62606a!important}
.stop-links a{color:var(--ws-navy);text-decoration-color:var(--ws-gold);text-underline-offset:5px}
.stop-links a:last-child{color:#344562}
.journey-notice{background:#273451;color:#fff;border:1px solid #90772d;border-left:4px solid var(--ws-gold);border-radius:0}
.journey-notice strong{color:var(--ws-gold)}
.dated-events{background:var(--ws-gold);color:var(--ws-navy);border:0;border-radius:0;padding:28px}
.dated-events .section-kicker{color:#604b10}
.dated-events h3{font:900 clamp(24px,2.6vw,32px) Arial,'Segoe UI',sans-serif;letter-spacing:-.5px;color:var(--ws-navy)}
.dated-event{border-color:#c2a326}
.dated-event strong{font:800 19px Arial,'Segoe UI',sans-serif;color:var(--ws-navy)}
.dated-event span,.dated-event p,.dated-events>p{color:#283249}
.dated-event a{color:var(--ws-navy);text-decoration:underline}
.events-more{color:#fff;margin:28px 0}
.events-more a{color:var(--ws-gold)}
.checks-card{background:#fff;color:var(--ws-navy);border:0;border-left:5px solid var(--ws-gold);border-radius:0}
.checks-card h3{font:900 28px Arial,'Segoe UI',sans-serif;color:var(--ws-navy);letter-spacing:-.5px}
.checks-card p{color:#515b6b}
.checks-card .snapshot{color:#756018}
.result-buttons .outline-btn{color:#fff;border:1px solid var(--ws-gold);background:transparent}
.result-buttons .outline-btn:hover{background:#293550}
.edit-plan{color:var(--ws-gold);text-decoration-color:var(--ws-gold)}
.bottom-cta{background:var(--ws-gold);color:var(--ws-navy);border-radius:0;border:0;padding:34px 39px}
.bottom-cta span{color:#4a440f}
.bottom-cta h3{font:900 30px Arial,'Segoe UI',sans-serif;letter-spacing:-.75px;color:var(--ws-navy)}
.bottom-cta p{color:#2f3852;font-size:14px}
.bottom-cta a{color:#fff;background:var(--ws-navy);border:1px solid var(--ws-navy);border-radius:5px;white-space:normal}
.bottom-cta a:hover{background:#273755;color:var(--ws-gold)}
.site-footer{border-top:0;background:var(--ws-navy);border-bottom:6px solid var(--ws-gold)}
.footer-logo-link{background:#fff;padding:10px 18px;border-radius:0}
.site-footer p{color:#e8ecf4}
.site-footer .footer-links a{color:var(--ws-gold)}
.site-footer small{color:#c5cfdd}
.toast{border-color:var(--ws-gold)}
@media(max-width:850px){
 .town-card{grid-template-columns:50px 1fr 23px;min-height:0;gap:14px}
 .town-card-crest{margin-left:15px;width:45px;height:45px;font-size:26px}
 .town-card>div:nth-child(2){padding:19px 2px 19px 0}
 .town-card .selected-check{margin-right:5px}
 .town-card-visual{grid-column:1/-1;min-height:175px;background-position:center 48%;padding:17px 22px}
}
@media(max-width:720px){
 .white-shire-values-inner{padding:16px 13px;gap:8px}
 .white-shire-values strong{font-size:12px;letter-spacing:-.1px}
 .white-shire-values span{font-size:8px;letter-spacing:0}
 .content-shell{padding-top:24px;padding-bottom:58px}
 .opening-note{padding:17px 16px;font-size:12px}
 .steps{gap:8px;padding:34px 0 28px}
 .step{font-size:8px;letter-spacing:.1px}
 .step b{width:28px;height:28px}
 .step-panel{padding:12px 0 26px}
 .step-panel h2,.result-heading h2{font-size:clamp(31px,9vw,43px)}
 .town-card{gap:12px;grid-template-columns:44px minmax(0,1fr) 23px}
 .town-card-crest{width:38px;height:38px;font-size:24px;margin-left:13px}
 .town-card h3{font-size:28px}
 .town-card .tiny-heading{font-size:9px;letter-spacing:1px}
 .town-card p{font-size:12px}
 .town-card-visual{min-height:180px}
 .interest{padding:15px 11px;min-height:83px;gap:10px}
 .duration{min-height:88px}
 .result-heading p{font-size:12px}
 .result-seal{width:70px;height:70px}
 .summary-cards{margin:22px 0}
 .summary-cards div{padding:16px 9px}
 .summary-cards strong{font-size:15px}
 .summary-cards small{font-size:8px}
 .stop{padding:20px 17px}
 .stop h4{font-size:26px}
 .timeline-title h3{font-size:13px}
 .dated-events{padding:23px 17px}
 .checks-card h3{font-size:23px}
 .bottom-cta{padding:25px 22px}
 .bottom-cta h3{font-size:25px}
}
@media(max-width:380px){
 .white-shire-values-inner{gap:4px;padding:14px 6px}
 .white-shire-values strong{font-size:10px}
 .white-shire-values span{font-size:7px}
 .town-card{gap:9px}
 .town-card>div:nth-child(2){padding-right:5px}
 .interest{font-size:11px}
}
@media print{
 html,body,main{background:#fff!important;color:#111931!important}
 .white-shire-values{display:none!important}
 .result-heading h2,.result-heading p,.timeline-title h3{color:#111931!important}
 .summary-cards{background:#f4f4f4!important}
 .stop{box-shadow:none!important;border:1px solid #d9d9d9!important}
 .checks-card{border:1px solid #ccc!important}
}


/* V5 — fluid hero and accessible text zoom.  A visitor can enlarge the page
   without the hero text or Pontefract link disappearing behind the gold band. */
.hero {
  height:auto;
  min-height:515px;
  overflow:hidden;
}
.hero-content.shell {
  min-height:515px;
  height:auto;
  padding-bottom:72px;
}
.hero h1 {
  max-width:100%;
  overflow-wrap:normal;
  text-wrap:balance;
}
.hero-content p,
.hero-points,
.hero .text-link {
  max-width:100%;
}
.hero .text-link {
  position:relative;
  z-index:2;
  margin-top:22px;
  margin-bottom:0;
  line-height:1.6;
}
@media (max-width:720px) {
  .hero {
    height:auto;
    min-height:0;
  }
  .hero-content.shell {
    height:auto;
    min-height:0;
    padding-top:48px;
    padding-bottom:245px;
  }
  .hero-photo {
    height:194px;
  }
  .hero .text-link {
    margin-top:20px;
  }
}
@media (max-width:370px) {
  .hero { min-height:0; }
  .hero-content.shell {
    min-height:0;
    padding-top:42px;
    padding-bottom:245px;
  }
}


/* V6 — 25 October 2026: Advert slot, accessible mobile menu and softer corners.
   The existing planner's logic and source data remain unchanged. */

/* Keep functional decisions unmistakably within this app; offsite navigation is explicitly marked. */
.brand-nav .nav-active {border-bottom:2px solid var(--ws-gold);color:#fff}
.brand-nav a.nav-active:hover{color:var(--ws-gold)}
.mobile-menu{display:none}
#planner{scroll-margin-top:12px}

/* Single clearly marked sponsor position. This is a house advertisement until sold. */
.ad-space{background:#19233d;padding:23px 0 27px;border-top:1px solid #b18c23;border-bottom:1px solid #81651b}
.ad-space-inner{max-width:1090px}
.ad-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#f3d868;letter-spacing:1.3px;font-weight:800;font-size:10px;margin-bottom:11px}
.ad-heading span:last-child{font-size:9px;color:#cbd4e4;letter-spacing:.75px}
.advert-link{display:flex;align-items:center;gap:24px;min-height:127px;border:1px solid #e6bf35;border-radius:20px;padding:21px 25px;text-decoration:none;color:#fff;background:linear-gradient(115deg,#192741,#111931);box-shadow:0 7px 18px rgba(0,0,0,.12);transition:transform .15s ease,border-color .15s ease}
.advert-link:hover{transform:translateY(-2px);border-color:#fff5b8;background:linear-gradient(110deg,#223454,#111931)}
.ad-brand-mark{flex:0 0 72px;height:72px;border-radius:19px;background:#efc82f;color:#111931;display:grid;place-items:center;font-size:39px}
.advert-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:8px}
.advert-copy strong{font-size:clamp(20px,3vw,30px);font-weight:900;color:#fff;letter-spacing:-.45px;line-height:1.15}
.advert-copy>span{font-size:13px;color:#e6e9f2;line-height:1.5}
.ad-call-to-action{display:flex;align-items:center;justify-content:center;gap:11px;flex:0 0 auto;min-height:48px;padding:13px 18px;border:1px solid #efc82f;border-radius:16px;color:#efc82f;letter-spacing:.6px;font-size:11px;font-weight:900;white-space:nowrap}
.ad-hint{display:block;color:#b6c1d4;font-size:11px;margin-top:8px}

/* More curved controls and cards, while retaining The White Shire's square gold section bands. */
.primary-btn,.secondary-btn,.outline-btn,.bottom-cta a,.result-buttons a{border-radius:17px}
.interest,.duration,.other-towns a,.field input,.field select,.stop-meta span{border-radius:15px}
.town-card,.stop,.summary-cards,.dated-events,.plan-intro,.journey-notice,.checks-card,.opening-note{border-radius:19px}
.toggle-row,.bottom-cta{border-radius:19px}
.footer-logo-link{border-radius:13px}
.interest,.duration{transition:background-color .15s ease,border-color .15s ease}
.advert-link:focus-visible,.mobile-menu summary:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:920px){
 .header-inner{display:flex;flex-direction:column}
 .header-logo-panel{min-height:92px;padding:9px 15px}
 .brand-logo{width:min(325px,92vw)}
 .brand-nav{display:block;overflow:visible;min-height:54px;background:#111931;width:100%;position:relative}
 .brand-nav-inner{display:none!important}
 .mobile-menu{display:block;width:100%;position:relative}
 .mobile-menu summary{min-height:54px;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:0 25px;cursor:pointer;list-style:none;font-weight:900;letter-spacing:1.5px;font-size:12px;color:#efc82f}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary span{font-size:19px;line-height:1}
 .mobile-menu-list{position:absolute;right:0;top:100%;z-index:100;display:flex;flex-direction:column;gap:0;width:min(100vw,350px);padding:6px;background:#111931;border:1px solid #bc9c35;border-radius:0 0 17px 17px;box-shadow:0 16px 35px rgba(0,0,0,.35)}
 .mobile-menu-list a{display:flex;justify-content:space-between;align-items:center;gap:15px;text-decoration:none;color:#fff;border-bottom:1px solid #344161;border-radius:8px;padding:14px 15px;font-weight:700;font-size:14px;white-space:normal}
 .mobile-menu-list a:last-child{border-bottom:0}
 .mobile-menu-list a span{color:#efc82f}
 .mobile-menu-list a.current-page{background:#efc82f;color:#111931}
 .mobile-menu-list a.current-page span{color:#111931}
 .mobile-menu-list a:not(.current-page):hover,.mobile-menu-list a:not(.current-page):focus-visible{background:#263554}
}
@media(max-width:690px){
 .ad-space{padding:17px 0 20px}
 .ad-heading{font-size:9px;flex-wrap:wrap}
 .ad-heading span:last-child{font-size:8px}
 .advert-link{padding:19px 17px;min-height:0;display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px 15px;border-radius:18px}
 .ad-brand-mark{width:52px;height:52px;border-radius:12px;font-size:25px}
 .advert-copy strong{font-size:20px}
 .advert-copy>span{font-size:12px}
 .ad-call-to-action{grid-column:1/-1;min-height:45px;width:100%;font-size:11px}
 .ad-hint{font-size:10px;line-height:1.5}
 .primary-btn,.secondary-btn,.outline-btn{border-radius:15px}
 .interest,.duration{border-radius:13px}
 .town-card,.stop,.summary-cards,.dated-events,.plan-intro,.journey-notice,.checks-card,.opening-note{border-radius:16px}
}
@media print{.ad-space,.mobile-menu{display:none!important}}

/* V7 - read-only data-feed status and resilient hero title */
.feed-status { margin: 0 0 18px; padding: 12px 18px; border-radius: 16px; border:1px solid #dcc183; background: #fff6dc; color:#25354f; font-size: 14px; line-height:1.5; }
.feed-status.feed-live { background: #eef5ec; border-color:#a6c39e; }
.feed-status.feed-saved { background: #fff6dc; border-color:#d5b86e; }
button:disabled { opacity:.6;cursor:wait; }
.hero-content h1 { overflow-wrap:normal; text-wrap:balance; }
@media(max-width:560px){.feed-status{padding:12px 14px;font-size:13px;}}
