/*
  Editorial Route Planner design system.
  Warm parchment, forest ink, copper route accents, tactile depth, and asymmetrical travel layout.
  This file is dependency-free and can be uploaded to ordinary shared hosting.
*/
:root{--paper:#f3ead8;--paper-deep:#e8dcc4;--forest:#183c36;--forest-soft:#2d5b4f;--copper:#c96a3d;--copper-dark:#a9532e;--sage:#ccd9c4;--ink-muted:#5e6a5f;--line:rgba(24,60,54,.16);--ease-out:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--forest);font-family:"Manrope",sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a{color:inherit}.site-shell{min-height:100vh;overflow:hidden}.site-header{position:relative;z-index:10;border-bottom:1px solid var(--line);background:rgba(243,234,216,.94);backdrop-filter:blur(14px)}.header-inner{max-width:1440px;margin:0 auto;padding:18px 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}.brand-lockup{display:inline-flex;align-items:center;gap:10px;text-decoration:none;width:max-content}.brand-mark{width:34px;height:34px;object-fit:contain}.brand-lockup span{display:grid;gap:0}.brand-lockup strong{font-size:1.02rem;letter-spacing:-.03em}.brand-lockup small,.header-call small{color:var(--ink-muted);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.header-nav{display:flex;gap:28px;color:var(--ink-muted);font-size:.78rem}.header-nav a{text-decoration:none;transition:color 180ms var(--ease-out)}.header-nav a:hover{color:var(--copper-dark)}.header-call{justify-self:end;display:flex;align-items:center;gap:9px;text-decoration:none}.online-dot{width:8px;height:8px;background:var(--copper);border-radius:999px;box-shadow:0 0 0 4px rgba(201,106,61,.12)}.header-call-copy{display:grid;gap:1px;text-align:right}.header-call-copy strong{display:inline-flex;gap:6px;align-items:center;font-size:.82rem}
.hero-section{max-width:1440px;margin:0 auto;padding:72px 5vw 96px;display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:clamp(44px,8vw,130px);align-items:center}.hero-copy{max-width:540px}.eyebrow{margin:0 0 14px;color:var(--copper-dark);font-size:.68rem;font-weight:800;letter-spacing:.15em;line-height:1.4}.hero-copy .eyebrow{display:inline-flex;gap:8px;align-items:center}h1,h2{font-family:"DM Serif Display",serif;font-weight:400;letter-spacing:-.045em;line-height:.98}h1{margin:0;max-width:620px;font-size:clamp(3.9rem,7vw,7rem)}h2{margin:0;font-size:clamp(2.1rem,3.5vw,4rem)}.hero-lede{max-width:500px;margin:27px 0 0;color:var(--ink-muted);font-size:1rem}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:34px}.primary-action,.quiet-action,.submit-action,.call-action,.footer-call{transition:transform 180ms var(--ease-out),box-shadow 180ms var(--ease-out),background 180ms var(--ease-out)}.primary-action{display:inline-flex;align-items:center;gap:10px;padding:14px 19px;border-radius:999px;background:var(--copper);color:#fff7ec;text-decoration:none;font-size:.82rem;font-weight:800}.primary-action:hover{background:var(--copper-dark);transform:translateY(-2px);box-shadow:0 12px 24px rgba(201,106,61,.22)}.quiet-action{display:inline-flex;align-items:center;gap:8px;color:var(--forest);font-size:.76rem;font-weight:800;text-decoration:none}.quiet-action:hover{color:var(--copper-dark);transform:translateX(3px)}.quiet-assurance{display:flex;gap:19px;margin-top:25px;color:var(--ink-muted);font-size:.7rem}.quiet-assurance span{display:inline-flex;align-items:center;gap:6px}.hero-route-strip{display:flex;align-items:center;gap:9px;max-width:340px;margin-top:30px;color:var(--copper-dark);font-size:.59rem;font-weight:800;letter-spacing:.14em}.hero-route-strip i{flex:1;min-width:16px;height:1px;background:repeating-linear-gradient(90deg,var(--copper) 0 4px,transparent 4px 8px)}.hero-route-strip b{width:7px;height:7px;border:1px solid var(--copper);border-radius:50%;background:var(--paper)}.hero-route-strip b:nth-of-type(2){background:var(--copper)}.hero-visual{position:relative;min-height:580px}.hero-photo{position:absolute;inset:0 0 36px 8%;border-radius:4px 78px 4px 78px;background:linear-gradient(90deg,rgba(24,60,54,.35),rgba(24,60,54,.02)),url("../img/editorial_route_hero.jpg") center/cover;box-shadow:18px 18px 0 rgba(204,217,196,.75)}.hero-visual:before{content:"";position:absolute;width:200px;height:200px;left:0;bottom:0;border:1px solid rgba(201,106,61,.55);border-radius:50%;transform:translate(-30%,10%)}.photo-caption{position:absolute;left:0;bottom:0;width:245px;padding:17px 18px;background:var(--forest);color:#f3ead8}.photo-caption span{display:block;color:#d4b896;font-size:.62rem;font-weight:800;letter-spacing:.15em}.photo-caption strong{display:block;margin-top:8px;font-family:"DM Serif Display",serif;font-size:1.35rem;font-weight:400;line-height:1.1}.route-badge{position:absolute;top:26px;right:-13px;display:inline-flex;align-items:center;gap:7px;padding:10px 13px;background:var(--copper);color:#fff6ed;font-size:.67rem;font-weight:800;letter-spacing:.12em;box-shadow:4px 4px 0 rgba(24,60,54,.18)}
.search-section{max-width:1440px;margin:0 auto;padding:0 5vw 112px;display:grid;grid-template-columns:minmax(220px,.55fr) minmax(500px,1.2fr);gap:clamp(45px,8vw,150px);align-items:start}.section-rail{padding-top:28px}.section-rail h2{max-width:280px;font-size:3rem}.section-rail>p:not(.eyebrow):not(.rail-note){max-width:270px;margin-top:20px;color:var(--ink-muted);font-size:.86rem}.rail-rule{width:48px;height:1px;margin:28px 0;background:var(--copper)}.rail-note{display:flex;align-items:center;gap:8px;color:var(--forest-soft);font-size:.7rem;font-weight:700}.search-card{padding:clamp(25px,4vw,50px);background:rgba(249,243,232,.8);border:1px solid var(--line);border-radius:4px;box-shadow:0 22px 55px rgba(44,48,35,.08)}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid var(--line)}.card-heading h2{font-size:2.35rem}.card-index{color:var(--copper-dark);font-size:.67rem;font-weight:800;letter-spacing:.16em}.search-card form{padding-top:27px}.route-fields{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px}.route-line{position:absolute;top:18px;left:13px;width:calc(100% - 26px);height:1px;background:repeating-linear-gradient(90deg,var(--copper) 0 4px,transparent 4px 9px);opacity:.55}.route-field,.field-group{position:relative;display:grid;gap:8px}.route-field{padding-left:32px}.field-marker{position:absolute;left:0;top:27px;z-index:1;display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--copper);border-radius:50%;background:var(--paper);color:var(--copper-dark)}.field-marker.destination{background:var(--forest);color:#fff;border-color:var(--forest)}.field-label{display:inline-flex;align-items:center;gap:6px;color:var(--forest);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field-label em{color:var(--ink-muted);font-size:.63rem;font-style:normal;font-weight:500;text-transform:none;letter-spacing:0}.route-field input,.field-group input,.field-group select{width:100%;min-height:48px;padding:12px 13px;border:1px solid var(--line);border-radius:2px;outline:none;background:rgba(255,255,255,.42);color:var(--forest);transition:border-color 180ms var(--ease-out),box-shadow 180ms var(--ease-out),background 180ms var(--ease-out)}.route-field input:focus,.field-group input:focus,.field-group select:focus{border-color:var(--copper);background:#fffaf0;box-shadow:0 0 0 4px rgba(201,106,61,.11)}.route-field input::placeholder{color:#929b90}.date-fields{display:grid;grid-template-columns:1fr 1fr .9fr;gap:15px;margin-top:22px}.form-error{margin:17px 0 0;padding:10px 12px;border-left:3px solid var(--copper);background:rgba(201,106,61,.09);color:var(--copper-dark);font-size:.74rem;font-weight:700}.form-error[hidden]{display:none}.submit-action{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:25px;padding:15px;border:0;border-radius:2px;background:var(--copper);color:#fff7ec;cursor:pointer;font-size:.8rem;font-weight:800}.submit-action:hover{background:var(--copper-dark);transform:translateY(-2px);box-shadow:0 12px 24px rgba(201,106,61,.2)}.submit-action:active,.primary-action:active,.call-action:active{transform:scale(.97)}.form-footnote{margin:13px 0 0;color:var(--ink-muted);text-align:center;font-size:.69rem}
.texture-section{position:relative;max-width:1440px;margin:0 auto 112px;padding:75px 5vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:12vw;background-color:var(--paper-deep);background-image:linear-gradient(90deg,rgba(201,106,61,.1) 1px,transparent 1px),linear-gradient(rgba(24,60,54,.08) 1px,transparent 1px),radial-gradient(circle at 82% 22%,rgba(201,106,61,.16) 0 2px,transparent 3px);background-size:42px 42px,42px 42px,180px 180px;overflow:hidden}.texture-section:after{content:"";position:absolute;inset:0;background:rgba(243,234,216,.78);pointer-events:none}.section-stamp{position:absolute;z-index:1;top:25px;right:5vw;padding:7px 9px;border:1px solid rgba(201,106,61,.55);color:var(--copper-dark);font-size:.58rem;font-weight:800;letter-spacing:.14em;transform:rotate(3deg)}.texture-copy,.steps-list{position:relative;z-index:1}.texture-copy h2{max-width:460px;font-size:3.35rem}.texture-copy>p:not(.eyebrow){max-width:430px;margin-top:22px;color:var(--ink-muted)}.steps-list{align-self:center}.step-row{display:grid;grid-template-columns:45px 1fr 18px;gap:17px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.step-row:first-child{border-top:1px solid var(--line)}.step-row>span,.results-step-grid>div>span{color:var(--copper-dark);font-size:.69rem;font-weight:800;letter-spacing:.1em}.step-row strong{font-size:.93rem}.step-row p{margin:4px 0 0;color:var(--ink-muted);font-size:.75rem}.step-row>b{color:var(--copper)}.feature-section{max-width:1440px;margin:0 auto 112px;padding:0 5vw;display:grid;grid-template-columns:minmax(260px,.75fr) minmax(320px,.8fr);align-items:center;justify-content:center;gap:clamp(45px,9vw,150px)}.feature-image{position:relative;min-height:420px;overflow:hidden;background-color:var(--forest);background-image:linear-gradient(135deg,transparent 0 47%,rgba(201,106,61,.9) 47% 47.5%,transparent 47.5%),radial-gradient(circle at 76% 26%,var(--copper) 0 8px,transparent 9px),linear-gradient(160deg,rgba(243,234,216,.95) 0 8%,transparent 8% 100%),repeating-linear-gradient(0deg,rgba(243,234,216,.07) 0 1px,transparent 1px 9px);border-radius:100px 4px 4px 4px;box-shadow:16px 16px 0 var(--sage)}.feature-image:before{content:"";position:absolute;left:12%;right:8%;top:26%;height:1px;background:repeating-linear-gradient(90deg,#d9c9ad 0 5px,transparent 5px 12px);transform:rotate(-16deg)}.feature-image:after{content:"";position:absolute;width:210px;height:210px;right:-70px;bottom:-70px;border:1px solid rgba(243,234,216,.45);border-radius:50%}.feature-stamp,.feature-copy-label,.feature-route{position:absolute;z-index:1}.feature-stamp{left:26px;top:29px;color:#d4b896;font-size:.62rem;font-weight:800;letter-spacing:.14em}.feature-stamp strong{color:var(--copper);font-size:1.3rem}.feature-route{left:16%;top:48%;display:flex;align-items:center;gap:14px;transform:rotate(-16deg)}.feature-route i{width:50px;height:1px;background:repeating-linear-gradient(90deg,#d9c9ad 0 5px,transparent 5px 12px)}.feature-route b{width:10px;height:10px;border:2px solid #f3ead8;border-radius:50%;background:var(--copper)}.feature-copy-label{right:25px;bottom:26px;color:#f3ead8;font-size:.72rem;letter-spacing:.16em;line-height:1.2;text-align:right}.feature-copy-label strong{color:#d4b896;font-size:1.15rem;letter-spacing:.05em}.feature-copy{max-width:490px}.feature-copy h2{font-size:3.4rem}.feature-copy>p:not(.eyebrow){margin:23px 0;color:var(--ink-muted)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--copper-dark);font-size:.78rem;font-weight:800;text-decoration:none}.text-link:hover{gap:12px}
.site-footer{padding:70px 5vw 28px;background:var(--forest);color:#f3ead8}.footer-top,.footer-bottom{max-width:1280px;margin:0 auto}.footer-top{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-bottom:55px;border-bottom:1px solid rgba(243,234,216,.18)}.footer-top .eyebrow{color:#d4b896}.footer-top h2{max-width:450px;font-size:3.2rem}.footer-lede{max-width:410px;margin:18px 0 0;color:rgba(243,234,216,.68);font-size:.82rem}.footer-call{display:flex;align-items:center;gap:13px;min-width:280px;padding:16px 17px;border:1px solid rgba(243,234,216,.3);color:#f3ead8;text-decoration:none}.footer-call:hover{border-color:var(--copper);background:rgba(201,106,61,.12);transform:translateY(-2px)}.footer-call span:nth-child(2){display:grid;flex:1;gap:1px}.footer-call small{color:#d4b896;font-size:.61rem;letter-spacing:.12em;text-transform:uppercase}.footer-call strong{font-size:.84rem}.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding-top:23px;color:rgba(243,234,216,.57);font-size:.65rem}.footer-bottom p{margin:0}.footer-links{display:flex;gap:19px;justify-content:center}.footer-links a{text-decoration:none}.footer-links a:hover{color:#f3ead8}.footer-note{text-align:right}
.results-shell main{padding-bottom:105px}.results-intro{max-width:1280px;margin:0 auto;padding:70px 5vw 44px;display:flex;justify-content:space-between;align-items:end;gap:40px}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:32px;color:var(--copper-dark);font-size:.74rem;font-weight:800;text-decoration:none}.results-intro h1{max-width:650px;font-size:clamp(3.5rem,6vw,6rem)}.results-intro p:not(.eyebrow){max-width:570px;margin:22px 0 0;color:var(--ink-muted)}.results-intro-mark{display:flex;align-items:center;gap:9px;padding:12px 0 0 18px;border-left:1px solid var(--copper);color:var(--copper-dark);font-size:.6rem;letter-spacing:.12em}.results-intro-mark strong{font-size:.78rem;letter-spacing:.05em}.results-layout{max-width:1280px;margin:0 auto;padding:16px 5vw 0;display:grid;grid-template-columns:1.1fr .75fr;gap:6vw;align-items:start}.itinerary-slip{padding:35px;background:#fbf5e8;border:1px solid var(--line);box-shadow:0 22px 55px rgba(44,48,35,.08);position:relative}.itinerary-slip:after{content:"";position:absolute;left:4%;right:4%;bottom:-7px;height:9px;background:linear-gradient(135deg,transparent 4px,var(--paper-deep) 4px) 0 0/10px 10px}.slip-top{display:flex;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--line);color:var(--ink-muted);font-size:.68rem}.slip-top .eyebrow{margin:0}.slip-route-label{display:flex;align-items:center;gap:8px;padding-top:23px;color:var(--copper-dark);font-size:.56rem;font-weight:800;letter-spacing:.13em}.slip-route-label i{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--copper) 0 4px,transparent 4px 8px)}.slip-route-label b{width:8px;height:8px;border-radius:50%;background:var(--copper)}.route-summary{display:grid;grid-template-columns:1fr 60px 1fr;gap:14px;align-items:center;padding:36px 0}.summary-city span,.summary-city small{display:block;color:var(--ink-muted);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.summary-city strong{display:block;margin:5px 0;font-family:"DM Serif Display",serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:400;line-height:1}.summary-city small{font-weight:500;letter-spacing:0;text-transform:none}.summary-arrow{display:flex;align-items:center;gap:7px;color:var(--copper)}.summary-arrow span{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--copper) 0 4px,transparent 4px 8px)}.summary-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:21px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.summary-meta>div{display:flex;gap:8px;align-items:start;color:var(--copper-dark)}.summary-meta span{display:grid;gap:2px}.summary-meta small{color:var(--ink-muted);font-size:.63rem}.summary-meta strong{color:var(--forest);font-size:.75rem}.slip-note{display:flex;align-items:center;gap:8px;padding-top:22px;color:var(--forest-soft);font-size:.72rem;font-weight:700}.slip-stamp{position:absolute;right:26px;bottom:25px;padding:7px 8px;border:1px solid rgba(201,106,61,.55);color:var(--copper-dark);font-size:.5rem;font-weight:800;letter-spacing:.14em;line-height:1.2;text-align:center;transform:rotate(-6deg)}.slip-stamp strong{font-size:.72rem;letter-spacing:.04em}.call-panel{padding:37px;background:var(--forest);color:#f3ead8}.call-panel .eyebrow{color:#d4b896}.call-panel h2{font-size:2.65rem}.call-panel>p:not(.eyebrow){margin:19px 0 25px;color:rgba(243,234,216,.7);font-size:.82rem}.call-action{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:14px 15px;background:var(--copper);color:#fff7ec;text-decoration:none;font-size:.78rem;font-weight:800}.call-action:hover{background:var(--copper-dark);transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.17)}.call-caption{display:block;margin-top:14px;color:#d4b896;font-size:.65rem}.results-steps{max-width:1280px;margin:105px auto 0;padding:0 5vw}.results-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:21px;border-bottom:1px solid var(--line)}.results-section-heading .eyebrow{margin:0}.results-section-heading h2{font-size:2.4rem}.results-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.results-step-grid>div{padding:22px 0;border-bottom:1px solid var(--line)}.results-step-grid>div>span{display:block;margin-bottom:16px;color:var(--copper-dark);font-size:.69rem;font-weight:800;letter-spacing:.1em}.results-step-grid strong{font-size:.9rem}.results-step-grid p{margin:7px 0 0;color:var(--ink-muted);font-size:.75rem}
@media(max-width:920px){.header-inner{grid-template-columns:1fr auto}.header-nav{display:none}.hero-section,.search-section,.texture-section,.feature-section,.results-layout{grid-template-columns:1fr}.hero-section{padding-top:50px;gap:60px}.hero-copy{max-width:700px}.hero-visual{min-height:480px}.search-section{gap:35px}.section-rail>p:not(.eyebrow):not(.rail-note){max-width:500px}.texture-section{gap:35px}.texture-copy>p:not(.eyebrow){max-width:600px}.feature-section{gap:45px}.feature-image{min-height:370px;max-width:580px}.results-layout{gap:35px}.call-panel{max-width:650px}.footer-bottom{grid-template-columns:1fr 1fr}.footer-note{grid-column:1/-1;text-align:left}}
@media(max-width:600px){body{font-size:14px}.header-inner{padding:14px 20px;gap:13px}.brand-lockup small{display:none}.brand-mark{width:29px;height:29px}.header-call small{display:none}.header-call-copy strong{font-size:.72rem}.hero-section,.search-section,.feature-section{padding-left:20px;padding-right:20px}.hero-section{padding-top:43px;padding-bottom:75px}h1{font-size:clamp(3.4rem,17vw,5rem)}.hero-lede{font-size:.9rem}.hero-actions{align-items:stretch;flex-direction:column}.primary-action{justify-content:center}.quiet-action{justify-content:center}.quiet-assurance{flex-direction:column;gap:7px}.hero-visual{min-height:390px}.hero-photo{inset:0 0 29px 5%;border-radius:3px 48px 3px 48px}.photo-caption{width:210px;padding:13px}.photo-caption strong{font-size:1.15rem}.route-badge{right:0;top:16px}.search-section{padding-bottom:78px}.section-rail h2,.texture-copy h2,.feature-copy h2{font-size:2.75rem}.search-card{padding:21px 17px}.card-heading h2{font-size:2rem}.route-fields{grid-template-columns:1fr;gap:17px}.route-line{top:18px;left:13px;width:1px;height:calc(100% - 36px);background:repeating-linear-gradient(180deg,var(--copper) 0 4px,transparent 4px 9px)}.date-fields{grid-template-columns:1fr;gap:13px}.texture-section{margin-bottom:78px;padding:52px 20px}.feature-section{margin-bottom:78px}.feature-image{min-height:330px;box-shadow:10px 10px 0 var(--sage)}.site-footer{padding:53px 20px 24px}.footer-top{align-items:start;flex-direction:column;gap:30px;padding-bottom:38px}.footer-top h2{font-size:2.7rem}.footer-call{width:100%;min-width:0}.footer-bottom{display:flex;flex-direction:column;gap:16px}.footer-links{justify-content:start;flex-wrap:wrap}.results-intro{padding:44px 20px 30px;align-items:start;flex-direction:column}.results-intro h1{font-size:3.5rem}.results-intro-mark{align-self:end}.results-layout,.results-steps{padding-left:20px;padding-right:20px}.itinerary-slip,.call-panel{padding:23px 18px}.route-summary{grid-template-columns:1fr;gap:10px;padding:27px 0}.summary-arrow{width:100%;transform:rotate(90deg)}.summary-meta{grid-template-columns:1fr;gap:14px}.slip-note{padding-right:88px;min-height:45px}.slip-stamp{right:18px;bottom:22px}.call-panel h2{font-size:2.4rem}.results-section-heading{align-items:start;flex-direction:column;gap:8px}.results-step-grid{grid-template-columns:1fr;gap:0}.results-steps{margin-top:75px}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:rise-in 500ms var(--ease-out) both}.hero-visual{animation:rise-in 600ms var(--ease-out) 70ms both}@keyframes rise-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}
