
    :root{
      color-scheme:light dark;
      --paper:#f4f2ec;--paper-2:#ebe8df;--ink:#152820;--muted:#5d6962;--line:#c9cec4;
      --forest:#133f32;--forest-2:#0d3027;--moss:#3f6d54;--orange:#e86832;--orange-deep:#a8461a;--sun:#f4bc55;--white:#fffdf8;
      --shadow:0 20px 60px rgba(18,42,33,.14);--small-shadow:0 9px 28px rgba(18,42,33,.10);
    }
    @media(prefers-color-scheme:dark){
      :root{--paper:#101814;--paper-2:#18221d;--ink:#eef2eb;--muted:#aab4ad;--line:#36453d;--forest:#245b49;--forest-2:#0b1f18;--moss:#75a58b;--orange:#f27a43;--orange-deep:#f27a43;--sun:#f4c86c;--white:#f7f4ed;--shadow:0 20px 60px rgba(0,0,0,.35);--small-shadow:0 9px 28px rgba(0,0,0,.26)}
    }
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.5}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit}.shell{min-height:100vh;overflow:hidden}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px clamp(18px,4vw,58px);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent)}.nav{display:flex;gap:6px;align-items:center}.nav button,.text-btn,.nav a{border:0;background:transparent;color:var(--muted);padding:9px 12px;border-radius:999px;cursor:pointer;font-weight:600}.nav button:hover,.nav button.active,.nav a:hover,.nav a.active{background:var(--paper-2);color:var(--ink)}.trip-btn{border:1px solid var(--line);background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 15px;cursor:pointer;font-weight:700;display:flex;gap:8px;align-items:center}.trip-count{background:var(--orange-deep);color:white;border-radius:999px;min-width:23px;height:23px;display:grid;place-items:center;font-size:12px}.hero{min-height:82vh;display:grid;align-items:end;position:relative;overflow:hidden;background:var(--forest-2)}.hero-inner{padding:clamp(70px,11vw,140px) clamp(22px,6vw,88px) 64px;max-width:1060px;color:white;position:relative;z-index:2}.location{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:16px}.pulse{width:9px;height:9px;background:#79d18f;border-radius:50%;box-shadow:0 0 0 6px rgba(121,209,143,.18)}h1,h2,h3,.serif{font-family:"Newsreader",serif}.hero h1{font-size:clamp(48px,8vw,94px);line-height:.92;letter-spacing:-.045em;max-width:900px;margin:0 0 22px}.hero p{font-size:clamp(17px,2vw,22px);max-width:620px;margin:0 0 28px;color:#f0f2ed}.searchbox{display:flex;max-width:650px;background:var(--white);border-radius:6px;box-shadow:var(--shadow);overflow:hidden}.searchbox input{flex:1;min-width:0;border:0;background:transparent;color:#162820;padding:17px 18px;outline:none}.searchbox button,.searchbox a{border:0;background:var(--orange-deep);color:white;font-weight:800;padding:0 24px;cursor:pointer}.quick-strip{background:var(--forest);color:white;display:grid;grid-template-columns:repeat(4,1fr);padding:0 clamp(22px,6vw,88px)}.quick{padding:24px 22px;border-right:1px solid rgba(255,255,255,.15);cursor:pointer}.quick:last-child{border:0}.quick small{display:block;color:#b9d0c5;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.quick strong{display:block;font-size:16px}.quick:hover strong{color:var(--sun)}.section{padding:clamp(62px,9vw,120px) clamp(20px,6vw,88px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-head h2{font-size:clamp(36px,5vw,62px);letter-spacing:-.035em;line-height:.98;margin:0;max-width:650px}.section-head p{max-width:430px;color:var(--muted);margin:0}.eyebrow{color:var(--orange-deep);font-weight:800;margin-bottom:13px}.featured{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}.feature-card{min-height:420px;position:relative;overflow:hidden;border-radius:4px;cursor:pointer;box-shadow:var(--small-shadow);isolation:isolate}.feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease;z-index:-2}.feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(7,19,15,.9));z-index:-1}.feature-card:hover img{transform:scale(1.035)}.feature-copy{position:absolute;left:24px;right:24px;bottom:24px;color:white}.feature-copy h3{font-size:31px;line-height:1;margin:8px 0}.tag{display:inline-flex;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.meta{display:flex;gap:14px;flex-wrap:wrap;color:#d9e0dc;font-size:13px}.planner{background:var(--paper-2);display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.planner-card{background:var(--forest);color:white;padding:34px;border-radius:4px;box-shadow:var(--shadow)}.planner-card h3{font-size:34px;margin:0 0 8px}.planner-card p{color:#c6d8cf}.choices{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.choice{border:1px solid rgba(255,255,255,.3);background:transparent;color:white;border-radius:999px;padding:10px 13px;cursor:pointer}.choice.active,.choice:hover{background:var(--sun);border-color:var(--sun);color:#18251f}.recommend{display:none;background:white;color:#173129;padding:18px;margin-top:18px;border-radius:3px}.recommend.show{display:block}.recommend strong{font-family:"Newsreader",serif;font-size:23px}.recommend button,.recommend a{margin-top:10px;background:var(--orange-deep);color:white;border:0;padding:10px 13px;border-radius:3px;cursor:pointer;font-weight:700}.planner-copy h2{font-size:clamp(38px,5vw,62px);line-height:1;margin:0 0 18px}.planner-copy p{color:var(--muted);font-size:18px}.route-list{margin-top:28px;display:grid;gap:16px}.route{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start}.route-num{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;font-weight:800;color:var(--orange-deep)}.route h4{margin:2px 0 3px}.route p{font-size:14px;margin:0}.official{background:var(--forest-2);color:white;padding:28px clamp(20px,6vw,88px);display:flex;justify-content:space-between;gap:20px;align-items:center}.official p{margin:0;color:#c4d1cb}.official a{color:var(--sun);font-weight:800;text-decoration:none}.page{display:none}.page.active{display:block}.index-hero{padding:75px clamp(20px,6vw,88px) 34px;background:var(--forest);color:white}.index-hero h1{font-size:clamp(46px,7vw,80px);line-height:.95;margin:0 0 13px;letter-spacing:-.04em}.index-hero p{max-width:620px;color:#c8dad1;font-size:18px}.index-tools{position:sticky;top:var(--header-h,63px);z-index:30;display:grid;grid-template-columns:minmax(200px,1fr) auto auto;gap:12px;padding:18px clamp(20px,6vw,88px);background:var(--paper);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.field{background:var(--paper-2);border:1px solid var(--line);color:var(--ink);padding:12px 14px;border-radius:3px;outline:none}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 12px;border-radius:999px;cursor:pointer;font-weight:700}.filter.active{background:var(--ink);color:var(--paper)}.result-count{display:flex;align-items:center;color:var(--muted);font-size:14px;white-space:nowrap}.trail-grid{padding:32px clamp(20px,6vw,88px) 100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.trail-card{position:relative;background:var(--paper-2);border:1px solid transparent;min-height:420px;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:background .2s,border .2s,transform .2s}.trail-card:hover{transform:translateY(-2px);border-color:var(--moss);background:color-mix(in srgb,var(--paper-2) 78%,var(--sun))}.trail-card.selected{border:2px solid var(--orange)}.trail-photo{height:180px;overflow:hidden;background:var(--forest-2)}.trail-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.trail-card:hover .trail-photo img{transform:scale(1.035)}.trail-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.trail-top{display:flex;justify-content:space-between;gap:12px}.difficulty{font-size:12px;font-weight:800;color:var(--moss)}.difficulty.hard{color:var(--orange-deep)}.trail-card h3{font-size:27px;line-height:1.05;margin:22px 0 9px}.trail-card p{margin:0 0 20px;color:var(--muted);font-size:14px}.trail-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.mini-meta{display:flex;gap:12px;font-size:12px;font-weight:700}.icon-btn{width:35px;height:35px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;cursor:pointer;display:grid;place-items:center}.icon-btn.saved{background:var(--orange-deep);border-color:var(--orange-deep);color:white}.detail-hero{min-height:65vh;position:relative;display:flex;align-items:flex-end;background:center/cover;color:white}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,14,.1),rgba(7,18,14,.88))}.detail-inner{position:relative;z-index:1;padding:70px clamp(20px,6vw,88px) 48px;width:100%}.back{border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.2);color:white;border-radius:999px;padding:9px 13px;cursor:pointer}.detail-inner h1{font-size:clamp(50px,8vw,92px);line-height:.9;margin:80px 0 18px;letter-spacing:-.045em}.stats{display:flex;gap:10px;flex-wrap:wrap}.stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);padding:11px 14px;min-width:112px}.stat small{display:block;color:#cfd9d4}.stat strong{font-size:18px}.detail-body{padding:50px clamp(20px,6vw,88px) 100px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:58px}.detail-body h2{font-size:40px;margin:0 0 14px}.detail-body p{font-size:17px;color:var(--muted)}.callout{border-top:3px solid var(--orange);background:var(--paper-2);padding:20px;margin:28px 0}.callout strong{display:block;margin-bottom:6px}.steps{display:grid;gap:16px;margin:26px 0}.step{display:grid;grid-template-columns:34px 1fr;gap:13px}.step span{width:34px;height:34px;border-radius:50%;background:var(--forest);color:white;display:grid;place-items:center;font-weight:800}.step h4{margin:3px 0 3px}.step p{margin:0;font-size:15px}.side-panel{position:sticky;top:calc(var(--header-h,63px) + 16px);align-self:start;background:var(--forest);color:white;padding:24px}.side-panel h3{font-size:28px;margin:0 0 18px}.side-panel ul{padding-left:20px;color:#ccdbd4}.primary{width:100%;border:0;background:var(--orange-deep);color:white;font-weight:800;padding:13px;cursor:pointer}.sources{font-size:13px;margin-top:20px;display:grid;gap:11px}.sources a{color:var(--sun)}.sources small{color:#d7e2dc}.alltrails-link{display:block;background:var(--sun);color:#173129!important;padding:11px;font-weight:900;text-align:center}.drawer{position:fixed;inset:0;z-index:80;display:none}.drawer.open{display:block}.scrim{position:absolute;inset:0;background:rgba(6,16,12,.55)}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(430px,92vw);background:var(--paper);padding:24px;box-shadow:-20px 0 60px rgba(0,0,0,.25);overflow:auto}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer h2{font-size:38px;margin:0}.saved-list{display:grid;gap:10px;margin:25px 0}.saved-row{background:var(--paper-2);padding:14px;display:flex;justify-content:space-between;gap:10px;align-items:center}.saved-row strong{display:block}.saved-row small{color:var(--muted)}.empty{padding:30px 0;color:var(--muted)}.compare-bar{position:fixed;z-index:50;left:50%;bottom:18px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:10px 12px 10px 18px;display:none;align-items:center;gap:18px;box-shadow:var(--shadow);border-radius:999px}.compare-bar.show{display:flex}.compare-bar button,.compare-bar a{border:0;background:var(--orange-deep);color:white;padding:9px 13px;border-radius:999px;cursor:pointer;font-weight:800}.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:rgba(6,16,12,.65)}.modal.open{display:grid}.modal-card{background:var(--paper);width:min(880px,100%);max-height:88vh;overflow:auto;padding:25px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal h2{font-size:40px;margin:0}.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.compare-item{background:var(--paper-2);padding:18px}.compare-item h3{font-size:26px}.compare-item dl{display:grid;grid-template-columns:1fr 1fr;font-size:13px}.compare-item dt{color:var(--muted)}.compare-item dd{margin:0;text-align:right;font-weight:700}.toast{position:fixed;z-index:120;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--forest-2);color:white;padding:12px 16px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.footer{padding:50px clamp(20px,6vw,88px);display:flex;justify-content:space-between;gap:28px;background:var(--paper-2);color:var(--muted);font-size:13px}.footer a{color:var(--ink);font-weight:700}.credits{max-width:620px}.mobile-nav{display:none}
    .stay-preview{background:var(--forest-2);color:white}.stay-preview .section-head p{color:#c7d5cf}.stay-preview .eyebrow{color:var(--sun)}.stay-preview-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}.stay-preview-card{position:relative;min-height:390px;overflow:hidden;cursor:pointer;border:0;padding:0;text-align:left;background:#0b1f18;color:white}.stay-preview-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.stay-preview-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,19,15,.04),rgba(7,19,15,.9))}.stay-preview-card:hover img{transform:scale(1.035)}.stay-preview-copy{position:absolute;z-index:1;left:24px;right:24px;bottom:22px}.stay-preview-copy small{color:#d6e0db;font-weight:700}.stay-preview-copy h3{font-size:31px;line-height:1;margin:7px 0}.stay-preview-cta{margin-top:24px;border-color:rgba(255,255,255,.35);color:white}
    .hotel-tools{position:sticky;top:var(--header-h,63px);z-index:30;display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:12px;padding:18px clamp(20px,6vw,88px);background:var(--paper);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.hotel-grid{padding:34px clamp(20px,6vw,88px) 82px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.hotel-card{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);min-height:310px;background:var(--paper-2);border:1px solid var(--line);overflow:hidden}.hotel-card[hidden]{display:none}.hotel-card.no-photo{grid-template-columns:1fr;min-height:310px}.hotel-card.no-photo .hotel-copy{padding:30px}.hotel-card.no-photo .hotel-kicker{padding-bottom:14px;border-bottom:1px solid var(--line)}.hotel-photo{min-height:310px}.hotel-photo img{width:100%;height:100%;object-fit:cover;display:block}.hotel-copy{padding:25px;display:flex;flex-direction:column}.hotel-kicker{display:flex;justify-content:space-between;gap:12px;color:var(--moss);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.hotel-copy h2{font-size:31px;line-height:1.02;margin:14px 0 9px}.hotel-copy p{margin:0 0 17px;color:var(--muted);font-size:14px}.hotel-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}.hotel-tags span{border:1px solid var(--line);padding:6px 8px;font-size:12px;font-weight:700}.hotel-link{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;background:var(--ink);color:var(--paper);padding:10px 13px;text-decoration:none;font-weight:800}.hotel-link:hover{background:var(--orange-deep);color:white}.hotel-note{padding:0 clamp(20px,6vw,88px) 70px;color:var(--muted);font-size:14px}.hotel-note strong{color:var(--ink)}
    .discovery-preview{background:var(--paper-2)}.discovery-links{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.discovery-panel{min-height:360px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:var(--forest);color:white;cursor:pointer;border:0;text-align:left}.discovery-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}.discovery-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(7,19,15,.92))}.discovery-panel>*:not(img){position:relative;z-index:1}.discovery-panel h3{font-size:38px;line-height:1;margin:9px 0}.discovery-panel p{margin:0;color:#e0e8e4;max-width:520px}.directory-panel{background:var(--forest);justify-content:space-between}.directory-panel .count-mark{font-family:"Newsreader",serif;font-size:88px;line-height:.8;color:var(--sun)}
    .tour-grid{padding:34px clamp(20px,6vw,88px) 50px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tour-card{background:var(--paper-2);border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.tour-card img{width:100%;height:220px;object-fit:cover;display:block}.tour-copy{padding:23px;display:flex;flex-direction:column;flex:1}.tour-label{font-size:12px;font-weight:800;color:var(--orange-deep);text-transform:uppercase;letter-spacing:.06em}.tour-card h2{font-size:30px;line-height:1.03;margin:10px 0 4px}.tour-company{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:12px}.tour-card p{font-size:14px;color:var(--muted);margin:0 0 16px}.tour-facts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.tour-facts span{border:1px solid var(--line);padding:6px 8px;font-size:12px;font-weight:700}.tour-rating{color:var(--ink);background:color-mix(in srgb,var(--sun) 25%,var(--paper-2));border-color:color-mix(in srgb,var(--sun) 55%,var(--line))!important}.tour-location{border-top:1px solid var(--line);padding-top:14px;margin-top:auto}.tour-location strong{display:block;font-size:12px;margin-bottom:3px}.tour-location address{font-size:13px;color:var(--muted);font-style:normal;line-height:1.4}.tour-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.tour-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 11px;border:1px solid var(--line);font-size:12px;font-weight:800;text-decoration:none}.tour-actions .hotel-link{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tour-actions .map-link{background:transparent}.tour-note{margin:0 clamp(20px,6vw,88px) 84px;padding:18px 20px;border:1px solid var(--line);background:var(--paper-2);font-size:14px;color:var(--muted)}.tour-note strong{color:var(--ink)}
    .listing-tools{position:sticky;top:var(--header-h,63px);z-index:30;display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr) auto;gap:12px;align-items:center;padding:18px clamp(20px,6vw,88px);background:var(--paper);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.listing-grid{padding:34px clamp(20px,6vw,88px) 84px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.listing-card{background:var(--paper-2);border-top:4px solid var(--moss);padding:24px;display:flex;flex-direction:column;min-height:250px}.listing-card[data-listing-type="Bar"]{border-top-color:var(--orange-deep)}.listing-card[data-listing-type="Entertainment"]{border-top-color:var(--sun)}.listing-card[hidden]{display:none}.listing-type{color:var(--orange-deep);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.listing-place{font-size:12px;color:var(--muted);font-weight:700;margin-top:7px}.status-note{display:inline-flex;align-self:flex-start;margin:0 0 15px;padding:5px 7px;background:color-mix(in srgb,var(--sun) 28%,var(--paper));font-size:11px;font-weight:800}.listing-card h2{font-size:29px;line-height:1.04;margin:13px 0 8px}.listing-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.listing-card a{margin-top:auto;font-weight:800;text-decoration:none}.listing-card a:hover{color:var(--orange-deep)}
    .audience-preview{background:var(--paper)}.audience-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.audience-preview-card{min-height:330px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;text-align:left;border:0;cursor:pointer;color:white;background-position:center;background-size:cover;position:relative;overflow:hidden;isolation:isolate}.audience-preview-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,19,15,.12),rgba(7,19,15,.9));z-index:-1}.audience-preview-card>*{position:relative}.audience-preview-card h3{font-size:38px;line-height:1;margin:10px 0 8px}.audience-preview-card p{margin:0;color:#e0e8e4;max-width:480px}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.audience-block{background:var(--paper-2);border-top:4px solid var(--moss);padding:28px}.audience-block.dogs{border-top-color:var(--orange-deep)}.audience-block h2{font-size:40px;line-height:1;margin:0 0 10px}.audience-block>p{color:var(--muted);margin:0 0 22px}.pick-list{display:grid;gap:10px}.pick{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:var(--paper);padding:15px}.pick strong{display:block}.pick small{color:var(--muted)}.pick button,.pick a{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 10px;cursor:pointer;font-weight:700}.rules-band{margin-top:26px;background:var(--forest);color:white;padding:28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.rules-band h2{font-size:38px;line-height:1;margin:0}.rules-band ul{margin:0;padding-left:20px;color:#d6e1dc}.rules-band a{color:var(--sun);font-weight:800}.audience-chip{display:inline-flex;margin:3px 5px 0 0;padding:4px 7px;background:color-mix(in srgb,var(--moss) 18%,var(--paper));color:var(--moss);font-size:11px;font-weight:800}.audience-chip.dog{background:color-mix(in srgb,var(--orange) 16%,var(--paper));color:var(--orange-deep)}.day-options{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.day-options span{border:1px solid var(--line);padding:7px 9px;font-size:12px;font-weight:700}.day-note{font-size:14px!important}.itinerary-page .planner:nth-of-type(even){background:var(--paper-2)}
    .audience-visuals{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;padding:10px clamp(20px,6vw,88px) 0}.audience-visual{margin:0;position:relative;min-height:330px;overflow:hidden;background:var(--forest-2)}.audience-visual img{width:100%;height:100%;min-height:330px;object-fit:cover;display:block}.audience-visual figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 22px 18px;color:white;background:linear-gradient(180deg,transparent,rgba(7,19,15,.9));font-size:13px;font-weight:700}.photo-credit{font-size:12px;color:var(--muted);margin:10px clamp(20px,6vw,88px) 0}.photo-credit a{font-weight:800;color:var(--moss)}
    .week-intro{padding:24px clamp(20px,6vw,88px);background:var(--forest-2);color:white;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:32px;align-items:center}.week-intro strong{font-family:"Newsreader",serif;font-size:30px}.week-intro p{margin:0;color:#c7d5cf}.week-day{padding:clamp(54px,7vw,86px) clamp(20px,6vw,88px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);gap:44px;align-items:start}.week-day:nth-of-type(even){background:var(--paper-2)}.week-day.reverse .week-photo{order:-1}.week-copy h2{font-size:clamp(38px,5vw,58px);line-height:.98;margin:4px 0 12px}.week-copy>p{color:var(--muted);margin:0 0 18px}.week-photo{margin:0}.week-photo img{width:100%;height:520px;object-fit:cover;display:block}.week-photo img[src$="bar-harbor.jpg"]{object-fit:contain;background:var(--forest-2)}.week-photo figcaption{font-size:12px;color:var(--muted);margin-top:8px}.week-timeline{border-top:1px solid var(--line);margin-top:20px}.week-stop{display:grid;grid-template-columns:72px 1fr;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}.week-stop time{color:var(--orange-deep);font-weight:800}.week-stop strong{display:block}.week-stop small{color:var(--muted)}.week-tip{margin-top:18px;padding:16px 18px;background:var(--forest);color:white}.week-tip strong{color:var(--sun)}.island-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.island-choice{background:var(--paper-2);padding:20px;border-top:4px solid var(--moss)}.island-choice:last-child{border-top-color:var(--orange-deep)}.island-choice h3{font-size:28px;line-height:1;margin:0 0 10px}.island-choice p,.island-choice li{font-size:13px;color:var(--muted)}.island-choice ul{padding-left:18px}.island-choice a{font-weight:800;color:var(--moss)}
    .basics-preview{background:var(--forest);color:white}.basics-preview .section-head p{color:#c7d5cf}.basics-preview .eyebrow{color:var(--sun)}.basics-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.basics-preview-card{border:0;border-right:1px solid rgba(255,255,255,.2);background:transparent;color:white;padding:26px 20px;text-align:left;cursor:pointer;min-height:175px}.basics-preview-card:last-child{border-right:0}.basics-preview-card small{display:block;color:var(--sun);font-weight:800;margin-bottom:28px}.basics-preview-card strong{display:block;font-family:"Newsreader",serif;font-size:25px;line-height:1.05}.basics-preview-card span{display:block;color:#c7d5cf;font-size:13px;margin-top:10px}.basics-preview-card:hover strong{color:var(--sun)}
    .basics-lead{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}.basics-lead h2{font-size:clamp(38px,5vw,62px);line-height:1;margin:0}.basics-lead>p{font-size:18px;color:var(--muted);margin:6px 0 0}.basics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:38px}.basic-card{background:var(--paper);padding:30px;min-height:300px;display:flex;flex-direction:column}.basic-card .topic{color:var(--orange-deep);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.basic-card h2{font-size:36px;line-height:1;margin:13px 0 12px}.basic-card p{color:var(--muted);margin:0 0 14px}.basic-card ul{margin:0 0 20px;padding-left:19px;color:var(--muted)}.basic-card li{margin:7px 0}.basic-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}.basic-links a,.basic-links button,.basic-links a{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 11px;text-decoration:none;cursor:pointer;font-weight:800}.basic-links a:hover,.basic-links button:hover,.basic-links a:hover{background:var(--ink);color:var(--paper)}.season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);margin-top:25px}.season{padding:22px;border-right:1px solid var(--line)}.season:last-child{border-right:0}.season strong{font-family:"Newsreader",serif;font-size:24px}.season p{color:var(--muted);font-size:14px;margin:8px 0 0}.faq-list{max-width:900px;margin-top:28px;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{cursor:pointer;list-style:none;font-family:"Newsreader",serif;font-size:25px;padding:20px 42px 20px 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:8px;top:18px;color:var(--orange-deep);font-family:"DM Sans",sans-serif}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--muted);margin:0;padding:0 45px 22px 0}.faq-list a{font-weight:800;color:var(--moss)}.freshness{margin-top:24px;color:var(--muted);font-size:13px}

    .access-status{background:var(--forest-2);color:white;padding:20px clamp(20px,6vw,88px);display:flex;align-items:center;justify-content:space-between;gap:20px}.access-status strong{font-family:"Newsreader",serif;font-size:25px}.access-status span{color:#c7d5cf}.access-status a{color:var(--sun);font-weight:800;text-decoration:none;white-space:nowrap}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}.status-card{background:var(--paper);padding:24px;min-height:220px;display:flex;flex-direction:column}.status-card .state{align-self:flex-start;padding:5px 8px;font-size:11px;font-weight:800;background:color-mix(in srgb,var(--moss) 20%,var(--paper));color:var(--moss)}.status-card .state.closing{background:color-mix(in srgb,var(--sun) 30%,var(--paper));color:#8b4c0d}.status-card .state.closed{background:color-mix(in srgb,var(--orange) 17%,var(--paper));color:var(--orange-deep)}.status-card h2{font-size:29px;line-height:1;margin:18px 0 9px}.status-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.status-card a{margin-top:auto;font-weight:800;text-decoration:none}.mobility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mobility-card{background:var(--paper-2);padding:28px;min-height:285px}.mobility-card h2{font-size:34px;line-height:1;margin:12px 0}.mobility-card p,.mobility-card li{color:var(--muted)}.mobility-card li{margin:8px 0}.route-chip{display:inline-flex;border:1px solid var(--line);padding:6px 8px;margin:3px 4px 0 0;font-size:12px;font-weight:800}.season-note{display:inline-flex;align-self:flex-start;padding:5px 8px;background:color-mix(in srgb,var(--moss) 16%,var(--paper));color:var(--moss);font-size:11px;font-weight:800;margin:0 0 12px}.listing-photo-label{position:absolute;right:8px;top:8px;background:rgba(8,25,19,.82);color:white;padding:4px 7px;font-size:10px;font-weight:800}.listing-photo{position:relative}
    .rating-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px}.rating-badge{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--sun) 28%,var(--paper));color:var(--ink);padding:6px 9px;font-size:12px;font-weight:800}.rating-badge .star{color:#b85b17}.rating-source{font-size:11px;color:var(--muted)}.rating-missing{background:transparent;border:1px solid var(--line);color:var(--muted)}
    .listing-card.has-photo{padding:0;min-height:390px;border-top:0}.listing-photo{height:180px;background:var(--forest-2);overflow:hidden}.listing-photo img{width:100%;height:100%;object-fit:cover;display:block}.listing-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.listing-card.has-photo .listing-card-body{min-height:210px}.listing-card .rating-row{margin:2px 0 14px}.listing-card.has-photo h2{margin-top:10px}
    .cranberry-trip{padding:38px clamp(20px,6vw,88px);background:var(--forest-2);color:white}.cranberry-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(300px,1.2fr);gap:40px;align-items:end}.cranberry-trip h2{font-size:clamp(34px,4.5vw,52px);line-height:.98;margin:6px 0 0}.cranberry-note{margin:0;color:#cedbd5}.cranberry-note strong{color:var(--sun)}.cranberry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2);margin-top:26px}.cranberry-card{background:var(--forest);min-height:430px;display:flex;flex-direction:column;overflow:hidden}.cranberry-card-photo{height:160px;background:#092219;overflow:hidden}.cranberry-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.cranberry-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.cranberry-card small{color:var(--sun);font-weight:800}.cranberry-card h3{font-size:27px;line-height:1;margin:13px 0 8px}.cranberry-card p{color:#c7d5cf;font-size:14px;margin:0 0 14px}.cranberry-card address{font-style:normal;color:#f3f5f1;font-size:12px;line-height:1.4;margin:0 0 10px}.cranberry-rating{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.cranberry-rating strong{background:var(--sun);color:#172820;padding:5px 8px;font-size:12px}.cranberry-rating span,.cranberry-rating a{color:#c7d5cf;font-size:11px}.cranberry-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.cranberry-card-actions a{color:var(--sun);font-weight:800;text-decoration:none}.ferry-line{margin:18px 0 0;color:#c7d5cf;font-size:13px}.ferry-line a{color:var(--sun);font-weight:800}
    .desk-preview{background:var(--paper-2)}.desk-preview-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:1px;background:var(--line);border:1px solid var(--line)}.desk-preview-card{background:var(--paper);color:var(--ink);border:0;padding:28px;min-height:220px;text-align:left;text-decoration:none;display:flex;flex-direction:column;cursor:pointer}.desk-preview-card small{font-weight:800;color:var(--orange-deep);text-transform:uppercase;letter-spacing:.06em}.desk-preview-card strong{font-family:"Newsreader",serif;font-size:30px;line-height:1.05;margin:34px 0 10px}.desk-preview-card span{color:var(--muted);font-size:14px}.desk-preview-card:hover strong{color:var(--orange-deep)}.weather-card{background:var(--forest);color:white}.weather-card small{color:var(--sun)}.weather-card span{color:#c7d5cf}
    .weather-section{background:var(--paper-2)}.weather-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.weather-source{background:var(--paper);padding:30px;text-decoration:none;min-height:290px;display:flex;flex-direction:column}.weather-source.primary-weather{background:var(--forest);color:white}.weather-label{color:var(--orange-deep);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.primary-weather .weather-label{color:var(--sun)}.weather-source h2{font-size:36px;line-height:1;margin:18px 0 12px}.weather-source p{color:var(--muted);margin:0 0 24px}.primary-weather p{color:#c7d5cf}.weather-source strong{margin-top:auto}.weather-source:hover strong{color:var(--orange-deep)}.primary-weather:hover strong{color:var(--sun)}.network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.network-card{background:var(--paper-2);padding:26px;text-decoration:none;min-height:280px;display:flex;flex-direction:column}.network-card small{color:var(--orange-deep);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.network-card h2{font-size:31px;line-height:1;margin:22px 0 10px}.network-card p{color:var(--muted);font-size:14px}.network-card strong{margin-top:auto}.network-card:hover strong{color:var(--orange-deep)}
    .guide-capture{background:var(--sun);padding:34px clamp(20px,6vw,88px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:42px;align-items:center}.guide-capture h2{font-size:clamp(34px,4vw,52px);line-height:.96;margin:7px 0 10px;color:#152820}.guide-capture p{color:#30453b;margin:0;max-width:650px}.guide-purchase{display:grid;gap:10px;justify-items:start}.guide-purchase .capture-download{font-size:16px;min-height:50px}.capture-form{display:grid;grid-template-columns:1fr auto;gap:8px}.capture-form input{min-width:0;border:1px solid rgba(21,40,32,.35);background:#fffdf8;color:#152820;padding:13px 14px;outline:none}.capture-form button,.capture-download,.capture-form a{border:0;background:#133f32;color:white;padding:13px 17px;font-weight:800;text-decoration:none;cursor:pointer;text-align:center}.capture-note{grid-column:1/-1;font-size:11px!important;color:#3a4d43!important}.capture-success{display:none;background:#fffdf8;padding:18px;color:#173129}.capture-success.show{display:block}.capture-success strong{display:block;font-family:"Newsreader",serif;font-size:24px;margin-bottom:4px}.capture-success .capture-download{display:inline-block;margin-top:10px}
    .trail-matcher{padding:34px clamp(20px,6vw,88px);background:var(--paper-2);border-bottom:1px solid var(--line)}.matcher-shell{display:grid;grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr);gap:42px;align-items:start}.matcher-intro h2{font-size:clamp(35px,4.5vw,54px);line-height:.98;margin:6px 0 13px}.matcher-intro p{color:var(--muted);margin:0}.matcher-card{background:var(--forest);color:white;padding:28px;min-height:275px;box-shadow:var(--small-shadow)}.matcher-progress{display:flex;gap:5px;margin-bottom:24px}.matcher-progress span{height:4px;flex:1;background:rgba(255,255,255,.2)}.matcher-progress span.done{background:var(--sun)}.matcher-step{color:#bcd0c6;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.matcher-card h3{font-size:31px;line-height:1;margin:8px 0 20px}.matcher-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.matcher-option{border:1px solid rgba(255,255,255,.32);background:transparent;color:white;padding:12px 10px;cursor:pointer;text-align:left;font-weight:700}.matcher-option:hover,.matcher-option:focus{background:var(--sun);border-color:var(--sun);color:#152820}.matcher-result{display:none}.matcher-result.show{display:block}.matcher-result small{color:var(--sun);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.matcher-result h3{font-size:36px;margin:7px 0}.matcher-result p{color:#d6e1dc;margin:0 0 16px}.matcher-actions{display:flex;gap:8px;flex-wrap:wrap}.matcher-actions button,.matcher-actions a{border:1px solid rgba(255,255,255,.35);background:transparent;color:white;padding:10px 12px;cursor:pointer;font-weight:800}.matcher-actions .match-primary{background:var(--orange);border-color:var(--orange-deep)}
    .today-island{background:var(--paper-2);padding:30px clamp(20px,6vw,88px);display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:34px;align-items:center;border-bottom:1px solid var(--line)}.today-island h2{font-size:clamp(33px,4vw,50px);line-height:.96;margin:8px 0 8px}.today-island p{margin:0;color:var(--muted)}.today-badge{display:none;align-self:flex-start;background:var(--sun);color:#172820;font-weight:800;padding:7px 10px;margin-top:14px}.today-badge.show{display:inline-flex}.sun-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--line);gap:1px}.sun-stat{background:var(--paper);padding:18px;min-height:102px}.sun-stat small{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.sun-stat strong{display:block;font-family:"Newsreader",serif;font-size:26px;margin-top:11px;line-height:1}.sun-note{grid-column:1/-1;background:var(--paper);padding:10px 18px;color:var(--muted);font-size:12px}
    .season-calendar{background:var(--forest-2);color:white}.season-calendar .section-head p{color:#c7d5cf}.season-calendar .eyebrow{color:var(--sun)}.month-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.month-btn{border:1px solid rgba(255,255,255,.24);background:transparent;color:white;padding:14px 10px;text-align:left;cursor:pointer;min-height:94px}.month-btn:hover,.month-btn.active{background:var(--sun);border-color:var(--sun);color:#172820}.month-btn strong{display:block;font-family:"Newsreader",serif;font-size:22px}.month-btn span{display:block;font-size:11px;margin-top:7px;color:#c7d5cf}.month-btn.active span,.month-btn:hover span{color:#405248}.month-detail{margin-top:14px;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:.7fr 1.3fr;gap:24px;padding:25px}.month-detail h3{font-size:34px;line-height:1;margin:0 0 8px}.month-detail p{margin:0;color:var(--muted)}.season-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.season-metric{border-left:1px solid var(--line);padding-left:12px}.season-metric small{display:block;color:var(--muted);font-weight:800;margin-bottom:6px}.season-metric strong{font-size:14px}
    .cadillac-alarm{margin-top:18px;background:var(--forest);color:white;padding:20px}.cadillac-alarm h3{font-size:27px;line-height:1;margin:0 0 7px}.cadillac-alarm p{color:#c7d5cf;margin:0 0 14px;font-size:13px}.alarm-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.alarm-controls input{background:#fffdf8;color:#152820;border:0;padding:11px}.alarm-controls button,.alarm-calendar,.alarm-controls a{border:0;background:var(--sun);color:#172820;padding:11px 13px;font-weight:800;cursor:pointer}.alarm-result{display:none;margin-top:14px}.alarm-result.show{display:block}.release-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.release-window{background:rgba(255,255,255,.1);padding:12px}.release-window small{display:block;color:#bcd0c6}.release-window strong{display:block;margin-top:5px}.alarm-countdown{margin:10px 0;padding:11px;background:#fffdf8;color:#173129;font-weight:800}.alarm-calendar{width:100%}
    .day-builder{background:var(--paper-2)}.builder-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:38px}.builder-group{margin-bottom:20px}.builder-group h3{font-family:"DM Sans",sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 9px}.builder-picks{display:flex;flex-wrap:wrap;gap:8px}.builder-pick{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 12px;cursor:pointer;font-weight:700;text-align:left}.builder-pick[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:white}.builder-start{display:flex;gap:10px;align-items:center;margin-top:22px}.builder-start label{font-weight:800}.builder-start select{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:10px}.builder-start button,.builder-start a{border:0;background:var(--orange-deep);color:white;padding:11px 15px;font-weight:800;cursor:pointer}.day-output{background:var(--forest);color:white;padding:28px;min-height:360px}.day-output h3{font-size:33px;margin:0 0 6px}.day-output>p{color:#c7d5cf}.day-schedule{display:grid;gap:0;margin:18px 0}.day-stop{display:grid;grid-template-columns:58px 1fr;gap:12px;border-top:1px solid rgba(255,255,255,.18);padding:13px 0}.day-stop time{color:var(--sun);font-weight:800}.day-stop strong{display:block}.day-stop small{color:#c7d5cf}.day-total{background:white;color:#173129;padding:12px;font-weight:800}.day-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.day-actions button,.day-actions a{border:1px solid rgba(255,255,255,.34);background:transparent;color:white;padding:10px 12px;cursor:pointer;font-weight:800}.day-actions .save-day{background:var(--orange);border-color:var(--orange-deep)}
    .island-intro{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:48px;align-items:center;background:var(--paper-2)}.island-map{margin:0;position:relative;background:var(--forest-2);padding:14px}.island-map img{display:block;width:100%;height:min(68vw,600px);object-fit:contain;background:#d7c89f}.island-map figcaption{font-size:12px;color:#c7d5cf;padding:10px 2px 0}.island-copy h2{font-size:clamp(39px,5vw,66px);line-height:.95;margin:7px 0 16px}.island-copy>p{font-size:18px;color:var(--muted);max-width:660px}.place-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:26px}.place-key div{background:var(--paper);padding:16px}.place-key strong{display:block;font-family:"Newsreader",serif;font-size:22px}.place-key small{color:var(--muted)}
    .ranked-section{background:var(--paper-2)}.ranked-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.ranked-card{background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;min-height:360px;overflow:hidden}.ranked-card img{width:100%;height:150px;object-fit:cover;display:block}.ranked-body{padding:17px;display:flex;flex-direction:column;flex:1}.rank-number{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--orange-deep);color:white;font-weight:800}.ranked-card h3{font-size:26px;line-height:1;margin:15px 0 8px}.ranked-card p{font-size:13px;color:var(--muted);margin:0 0 16px}.ranked-card button,.ranked-card a{margin-top:auto;align-self:flex-start;border:0;background:var(--ink);color:var(--paper);padding:9px 11px;font-weight:800;cursor:pointer}.ranked-link{margin-top:22px}.ranked-link button,.ranked-link a{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 13px;font-weight:800;cursor:pointer}
    .worth-section{padding:34px clamp(20px,6vw,88px);background:var(--paper)}.worth-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:end;margin-bottom:22px}.worth-head h2{font-size:clamp(36px,4.6vw,56px);line-height:.96;margin:6px 0}.worth-head p{color:var(--muted);margin:0}.worth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.worth-card{min-height:0;overflow:hidden;color:var(--ink);cursor:pointer;border:1px solid var(--line);text-align:left;padding:0;background:var(--paper)}.worth-card img{position:static;width:100%;height:250px;object-fit:cover;display:block}.worth-copy{display:block;padding:20px}.worth-copy h3{font-size:29px;line-height:1;margin:0 0 8px}.worth-copy p{font-size:13px;margin:0;color:var(--muted)}.worth-card:hover h3{color:var(--orange-deep)}.dont-skip{margin-top:12px;padding:17px;background:var(--forest);color:white;display:flex;gap:16px;align-items:center;justify-content:space-between}.dont-skip p{margin:0;color:#d2ded8}.dont-skip button,.dont-skip a{border:1px solid rgba(255,255,255,.35);background:transparent;color:white;padding:10px 12px;font-weight:800;cursor:pointer;white-space:nowrap}
    .hotel-tools{grid-template-columns:minmax(280px,.7fr) minmax(0,2fr) auto}.filter-groups{display:flex;gap:12px;flex-wrap:wrap;min-width:0}.filter-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.filter-group-label{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.feature-owners{margin:0 clamp(20px,6vw,88px) 36px;background:var(--forest);color:white;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:28px}.feature-owners h2{font-size:36px;line-height:1;margin:0 0 8px}.feature-owners p{margin:0;color:#c7d5cf;max-width:760px}.feature-owners a{background:var(--sun);color:#172820;padding:12px 15px;font-weight:800;text-decoration:none;white-space:nowrap}
    .pick{grid-template-columns:40px 1fr auto}.pick-rank{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--orange-deep)}.pick small{display:block}.pick-reason{margin-top:3px;color:var(--moss)!important;font-weight:700}.access-visuals{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;margin-bottom:28px}.access-visual{margin:0;position:relative;min-height:330px;overflow:hidden;background:var(--forest-2)}.access-visual img{width:100%;height:100%;min-height:330px;object-fit:cover;display:block}.access-visual figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 17px;color:white;background:linear-gradient(180deg,transparent,rgba(7,19,15,.9));font-size:13px}.access-credit{font-size:12px;color:var(--muted);margin:-16px 0 26px}.access-credit a{font-weight:800;color:var(--moss)}
    .network-card{overflow:hidden}.network-photo{width:calc(100% + 52px);height:145px;object-fit:cover;margin:-26px -26px 20px;display:block}.weather-source{overflow:hidden}.weather-photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.weather-photo-strip img{width:100%;height:150px;object-fit:cover;display:block}
    @media(max-width:1100px){.ranked-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-grid{grid-template-columns:1fr}.hotel-card{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}.tour-grid,.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:900px){.today-island,.builder-layout,.month-detail{grid-template-columns:1fr}.sun-grid{grid-template-columns:1fr 1fr}.month-grid{grid-template-columns:repeat(4,1fr)}.guide-capture,.matcher-shell{grid-template-columns:1fr}.status-grid{grid-template-columns:1fr 1fr}.desk-preview-grid,.network-grid{grid-template-columns:1fr 1fr}.listing-tools{grid-template-columns:1fr}.featured,.stay-preview-grid{grid-template-columns:1fr 1fr}.audience-grid{grid-template-columns:1fr}.rules-band,.basics-lead,.basics-grid{grid-template-columns:1fr}.basics-preview-grid{grid-template-columns:1fr 1fr}.basics-preview-card:nth-child(2){border-right:0}.basics-preview-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}.feature-card:first-child,.stay-preview-card:first-child{grid-column:1/-1}.planner{grid-template-columns:1fr}.trail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-strip{grid-template-columns:1fr 1fr}.quick:nth-child(2){border-right:0}.quick:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}.index-tools,.hotel-tools{grid-template-columns:1fr}.detail-body{grid-template-columns:1fr}.side-panel{position:static}.compare-grid{grid-template-columns:1fr}.discovery-links{grid-template-columns:1fr 1fr}}
    @media(max-width:1080px){.nav{display:none}.mobile-nav{display:block}.topbar select{background:var(--paper-2);color:var(--ink);border:1px solid var(--line);padding:9px}}
    @media(max-width:640px){.today-island{padding:26px 18px}.sun-grid{grid-template-columns:1fr 1fr}.sun-stat{padding:14px;min-height:86px}.sun-stat strong{font-size:21px}.month-grid{grid-template-columns:repeat(3,1fr)}.month-btn{min-height:82px}.season-metrics{grid-template-columns:1fr 1fr}.builder-layout{grid-template-columns:1fr}.builder-start{align-items:stretch;flex-wrap:wrap}.builder-start button,.builder-start a{width:100%}.day-output{padding:22px;min-height:300px}.alarm-controls,.release-grid{grid-template-columns:1fr}.guide-capture{padding:28px 18px;gap:24px}.capture-form{grid-template-columns:1fr}.capture-note{grid-column:auto}.trail-matcher{padding:28px 18px}.matcher-shell{gap:22px}.matcher-card{padding:22px;min-height:300px}.matcher-options{grid-template-columns:1fr}.status-grid,.mobility-grid{grid-template-columns:1fr}.access-status{display:block}.access-status a{display:inline-block;margin-top:10px}.desk-preview-grid,.weather-grid,.network-grid{grid-template-columns:1fr}.desk-preview-card,.weather-source,.network-card{min-height:0}.topbar{padding:10px 14px}.basics-preview-grid,.basics-grid,.season-grid{grid-template-columns:1fr}.basics-preview-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);min-height:0}.basics-preview-card:last-child{border-bottom:0}.season{border-right:0;border-bottom:1px solid var(--line)}.season:last-child{border-bottom:0}.basic-card{min-height:0;padding:24px}.faq-list summary{font-size:22px}.hero{min-height:76vh}.hero-inner{padding:90px 20px 38px}.hero h1{font-size:53px}.searchbox button,.searchbox a{padding:0 15px}.quick-strip{padding:0}.quick{padding:18px 16px}.section{padding:60px 18px}.section-head{display:block}.section-head p{margin-top:14px}.featured,.stay-preview-grid,.audience-preview-grid{grid-template-columns:1fr}.feature-card:first-child,.stay-preview-card:first-child{grid-column:auto}.feature-card,.stay-preview-card{min-height:350px}.planner-card{padding:24px}.index-hero{padding:52px 18px 28px}.index-tools,.hotel-tools{top:var(--header-h,58px);padding:12px 18px}.filters{overflow:visible}.filter{font-size:12px;padding:8px 10px}.trail-grid{padding:20px 18px 80px;grid-template-columns:1fr}.hotel-grid{padding:20px 18px 56px;grid-template-columns:1fr;gap:16px}.hotel-card{grid-template-columns:1fr}.hotel-card.no-photo{min-height:0}.hotel-photo{min-height:230px;height:230px}.hotel-copy{padding:20px}.hotel-note{padding:0 18px 56px}.tour-grid,.listing-grid{padding:20px 18px 56px;grid-template-columns:1fr}.tour-card img{height:230px}.listing-tools{top:var(--header-h,58px);padding:12px 18px}.discovery-links{grid-template-columns:1fr}.discovery-panel{min-height:310px;padding:24px}.directory-panel{min-height:260px}.detail-inner{padding:50px 18px 32px}.detail-inner h1{margin-top:60px;font-size:53px}.detail-body{padding:38px 18px 80px;gap:30px}.official{display:block}.official a{display:inline-block;margin-top:12px}.footer{display:block;padding:38px 18px}.compare-bar{max-width:92vw;white-space:nowrap}.result-count{display:none}}
    @media(max-width:900px){.cranberry-head{grid-template-columns:1fr}.cranberry-grid{grid-template-columns:1fr 1fr}.week-day,.week-intro{grid-template-columns:1fr}.week-day.reverse .week-photo{order:0}.island-choices{grid-template-columns:1fr}}
    @media(max-width:640px){.cranberry-trip{padding:34px 18px}.cranberry-head{gap:16px}.cranberry-grid{grid-template-columns:1fr}.cranberry-card{min-height:0}.cranberry-card h3{margin-top:16px}.audience-visuals{grid-template-columns:1fr;padding:8px 18px 0}.audience-visual,.audience-visual img{min-height:250px}.week-intro{padding:22px 18px;gap:10px}.week-day{padding:52px 18px;gap:26px}.week-photo img{height:300px}.week-stop{grid-template-columns:62px 1fr}.island-choice{padding:17px}}
    @media(max-width:900px){.island-intro,.worth-head{grid-template-columns:1fr}.ranked-grid,.worth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-groups{display:grid;grid-template-columns:1fr}.feature-owners{grid-template-columns:1fr}.access-visuals{grid-template-columns:1fr}}
    @media(max-width:640px){.island-intro{gap:28px}.island-map img{height:auto}.place-key{grid-template-columns:1fr}.ranked-grid,.worth-grid{grid-template-columns:1fr}.ranked-card{min-height:0}.ranked-card img{height:190px}.worth-card{min-height:300px}.dont-skip{align-items:flex-start;flex-direction:column}.feature-owners{margin:0 18px 30px;padding:22px}.pick{grid-template-columns:38px 1fr}.pick button,.pick a{grid-column:2;justify-self:start}.access-visual,.access-visual img{min-height:245px}.weather-photo-strip{grid-template-columns:1fr}.weather-photo-strip img{height:190px}}
    .town-hero{min-height:520px;display:flex;align-items:flex-end;position:relative;background-position:center;background-size:cover;color:white}.town-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,19,15,.08),rgba(7,19,15,.9))}.town-hero-copy{position:relative;z-index:1;padding:80px clamp(20px,6vw,88px) 48px;max-width:940px}.town-hero h1{font-size:clamp(50px,8vw,88px);line-height:.9;letter-spacing:-.045em;margin:8px 0 15px}.town-hero p{max-width:700px;font-size:18px;color:#e4ece8;margin:0}.town-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.town-jump a{border:1px solid rgba(255,255,255,.38);padding:9px 11px;text-decoration:none;font-weight:800}.town-section{padding:52px clamp(20px,6vw,88px);scroll-margin-top:78px}.town-section:nth-of-type(even){background:var(--paper-2)}.town-section-head{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:32px;align-items:end;margin-bottom:24px}.town-section h2{font-size:clamp(36px,4.8vw,56px);line-height:.96;margin:0}.town-section-head p{color:var(--muted);margin:0}.town-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.town-item{background:var(--paper);padding:20px;display:flex;flex-direction:column;min-height:180px}.town-item small{color:var(--orange-deep);font-weight:800}.town-item strong{font-family:"Newsreader",serif;font-size:24px;line-height:1.05;margin:12px 0 7px}.town-item span{font-size:13px;color:var(--muted)}.town-item button,.town-item a,.town-item a{margin-top:auto;align-self:flex-start;border:0;background:transparent;color:var(--moss);padding:13px 0 0;text-decoration:none;font-weight:800;cursor:pointer;text-align:left}.landmark-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.landmark{background:var(--forest);color:white;padding:22px;min-height:220px;display:flex;flex-direction:column;scroll-margin-top:80px}.landmark small{color:var(--sun);font-weight:800}.landmark h3{font-size:28px;line-height:1;margin:30px 0 8px}.landmark p{font-size:13px;color:#c7d5cf;margin:0}.landmark button,.landmark a{margin-top:auto;align-self:flex-start;border:1px solid rgba(255,255,255,.35);background:transparent;color:white;padding:9px 11px;font-weight:800;cursor:pointer}.town-crosslinks{display:flex;gap:8px;flex-wrap:wrap}.town-crosslinks button,.town-crosslinks a{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 12px;font-weight:800;cursor:pointer}.blog-grid{padding:34px clamp(20px,6vw,88px) 84px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.blog-card{background:var(--paper-2);border:1px solid var(--line);overflow:hidden}.blog-card img{width:100%;height:290px;object-fit:cover;display:block}.blog-copy{padding:26px}.blog-copy time{color:var(--orange-deep);font-size:12px;font-weight:800}.blog-copy h2{font-size:36px;line-height:1;margin:11px 0}.blog-copy p{color:var(--muted);margin:0}.blog-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.blog-links button,.blog-links a{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 11px;font-weight:800;cursor:pointer}.type-label{display:inline-flex;background:var(--forest);color:white;padding:5px 8px;font-size:11px;font-weight:800}.catalog-cta{margin-top:24px}.catalog-cta button,.catalog-cta a{border:0;background:var(--orange-deep);color:white;padding:11px 14px;font-weight:800;cursor:pointer}
    @media(max-width:1000px){.town-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landmark-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.town-hero{min-height:440px}.town-hero-copy{padding:68px 18px 34px}.town-section{padding:44px 18px}.town-section-head{grid-template-columns:1fr;gap:12px}.town-compact-grid,.landmark-grid,.blog-grid{grid-template-columns:1fr}.town-item{min-height:0}.blog-grid{padding:20px 18px 56px}.blog-card img{height:220px}.landmark{min-height:190px}}
    @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

    
    .topbar{display:grid;grid-template-columns:auto minmax(170px,220px) auto auto auto;gap:10px;align-items:center;padding:10px 22px;background:color-mix(in srgb,var(--forest-2) 96%,transparent);border-bottom:1px solid rgba(255,255,255,.16);box-shadow:0 8px 24px rgba(6,25,18,.18)}
    .island-home,.signup-cta{border:0;cursor:pointer;font:inherit}.island-home{background:transparent;color:#fffdf8;padding:10px 13px;border:1px solid rgba(255,255,255,.34);border-radius:10px;font-weight:900}.island-home:hover,.island-home.active{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.6)}
    .town-picker{position:relative;color:#fffdf8;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.town-picker summary{list-style:none;cursor:pointer;border:1px solid rgba(255,255,255,.3);background:#1b4b3c;color:#fffdf8;border-radius:8px;padding:10px 34px 10px 12px;white-space:nowrap;position:relative}.town-picker summary::-webkit-details-marker{display:none}.town-picker summary:after{content:"⌄";position:absolute;right:12px;top:8px;font-size:16px}.town-picker[open] summary:after{transform:rotate(180deg)}.town-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:60;width:250px;background:var(--forest-2);border:1px solid rgba(255,255,255,.2);box-shadow:var(--small-shadow);padding:7px}.town-menu a{display:block;color:#fffdf8;text-decoration:none;padding:10px 11px;border-radius:5px;text-transform:none;letter-spacing:0;font-size:14px}.town-menu a:hover,.town-menu a:focus{background:rgba(255,255,255,.13);outline:none}
    .topbar .nav button,
    .topbar .nav a{color:#e7efe9}.topbar .nav button:hover,.topbar .nav button.active,.topbar .nav a:hover,.topbar .nav a.active{background:rgba(255,255,255,.13);color:#fff}.topbar .mobile-nav{background:#1b4b3c;color:#fffdf8;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:9px}.topbar .trip-btn{background:#fffdf8;color:#133f32;border-color:rgba(255,255,255,.62)}
    .signup-cta{background:var(--sun);color:#251b12;padding:11px 13px;border-radius:10px;font-weight:900;white-space:nowrap}
    .town-overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.town-overview-card{position:relative;min-height:310px;padding:0;border:0;overflow:hidden;border-radius:14px;background:#17251f;color:#fff;text-align:left;cursor:pointer}.town-overview-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.town-overview-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,12,9,.92))}.town-overview-card span{position:absolute;z-index:1;left:16px;right:16px;bottom:16px;display:grid;gap:5px}.town-overview-card small{color:#f1c56b;font-weight:800}.town-overview-card strong{font:800 24px Georgia,serif}.town-overview-card em{font-size:12px;font-style:normal;color:#eef3ee}
    .town-hub-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.town-hub-filters button,.town-hub-filters a{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:9px 12px;font-weight:800;cursor:pointer}.town-hub-filters button.active,.town-hub-filters a.active{background:var(--moss);color:#fff;border-color:var(--moss)}
    .town-item-photo{height:150px;margin:-22px -22px 18px;overflow:hidden;background:var(--wash)}.town-item-photo img{width:100%;height:100%;object-fit:cover}.town-item address,.hotel-copy address{font-style:normal;font-size:12px;color:var(--muted);margin:0 0 8px}.town-item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.town-item-actions a,.town-item-actions button,.booking-search button,.town-item-actions a,.booking-search a{border:0;background:var(--ink);color:#fff;border-radius:7px;padding:8px 10px;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}.booking-search{margin:0}.booking-search button,.booking-search a{background:var(--sun);color:#2a1d12}.hotel-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.hotel-actions .book-link{background:var(--sun);color:#2a1d12;padding:8px 10px;border-radius:7px;text-decoration:none}
    .water-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.water-card{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:14px}.water-card img{width:100%;height:190px;object-fit:cover}.water-card div{padding:18px}.water-card h3{margin:0 0 7px}.water-card p{margin:0;color:var(--muted)}.event-source{display:grid;grid-template-columns:minmax(220px,.75fr) 1fr;background:var(--ink);color:#fff;border-radius:16px;overflow:hidden}.event-source img{width:100%;height:100%;min-height:230px;object-fit:cover}.event-source div{padding:28px}.event-source a{color:var(--sun);font-weight:900}.events-section{background:var(--wash)}
    .winter-guide{display:grid;grid-template-columns:.85fr 1.15fr;gap:0;padding:0;overflow:hidden;border-radius:20px;background:#153226;color:#fff}.winter-visual img{width:100%;height:100%;min-height:480px;object-fit:cover}.winter-copy{padding:44px}.winter-copy h2{color:#fff}.winter-copy p{color:#e4eee8}.winter-points{display:grid;gap:12px;margin:24px 0}.winter-points article{padding:15px 0;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:150px 1fr;gap:16px}.winter-points span{color:#d5e2da}.winter-link{color:#ffd07a;font-weight:900}
    .blog-pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding:0 18px 62px}.blog-pagination button,.blog-pagination a{background:var(--ink);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer}.blog-pagination button:disabled,.blog-pagination a:disabled{opacity:.35;cursor:not-allowed}
    .footer-pro{background:#13231c;color:#edf4ef;padding:54px 36px 24px}.footer-main{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:34px}.footer-main nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-main nav button,.footer-main nav a,.footer-main nav a{border:0;background:none;color:#edf4ef;padding:0;text-decoration:none;font:inherit;cursor:pointer}.footer-main nav strong,.footer-news strong{color:#ffd07a}.footer-main nav span{color:#aebfb4;font-size:13px}.footer-news p{color:#cbd8d0}.footer-news form{display:flex}.footer-news input{min-width:0;flex:1;border:0;border-radius:8px 0 0 8px;padding:11px}.footer-news button,.footer-news a{border:0;background:var(--sun);border-radius:0 8px 8px 0;padding:11px;font-weight:900}.footer-news>span{display:block;margin-top:8px;color:#9fb0a5;font-size:12px}.footer-legal{border-top:1px solid rgba(255,255,255,.15);margin-top:34px;padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:24px;color:#aebfb4;font-size:12px}
    .trip-email{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.trip-email label{font-weight:900}.trip-email>div{display:flex;margin-top:8px}.trip-email input{min-width:0;flex:1;padding:10px;border:1px solid var(--line);border-radius:8px 0 0 8px}.trip-email button,.trip-email a{border:0;background:var(--sun);border-radius:0 8px 8px 0;font-weight:900;padding:10px}.trip-email small,.trip-email-note{color:var(--muted)}
    @media(max-width:1100px){.topbar{grid-template-columns:auto minmax(160px,1fr) auto auto}.signup-cta{display:none}.town-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-main{grid-template-columns:1.4fr repeat(2,1fr)}.footer-main nav:last-child{grid-column:2/4}}
    @media(max-width:760px){.topbar{grid-template-columns:1fr auto auto;padding:10px 12px}.island-home{padding:10px;font-size:13px}.town-picker,.nav{display:none}.topbar .mobile-nav{display:block;min-width:0;width:100%}.town-overview-grid,.water-grid{grid-template-columns:1fr}.town-overview-card{min-height:240px}.winter-guide{grid-template-columns:1fr}.winter-visual img{min-height:240px;height:240px}.winter-copy{padding:28px 20px}.winter-points article{grid-template-columns:1fr;gap:6px}.event-source{grid-template-columns:1fr}.event-source img{height:220px}.footer-pro{padding:42px 20px 20px}.footer-main{grid-template-columns:1fr 1fr;gap:28px}.footer-news{grid-column:1/-1}.footer-main nav:last-child{grid-column:auto}.footer-legal{grid-template-columns:1fr}.town-item-photo{margin:-18px -18px 16px}}
    @media(max-width:420px){.topbar{grid-template-columns:1fr auto}.island-home{grid-column:1/-1;width:100%}.topbar .mobile-nav{grid-column:1}.topbar .trip-btn{grid-column:2}.footer-main{grid-template-columns:1fr}.footer-main nav:last-child{grid-column:auto}.town-overview-card{min-height:220px}.trip-email>div{display:grid}.trip-email input,.trip-email button,.trip-email a{border-radius:8px;margin-top:4px}}
  
    
    .page.active{animation:page-enter .24s ease-out both}.page-switching{opacity:.72;transform:translateY(5px)}
    @keyframes page-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
    .town-item,.blog-card,.tour-card,.listing-card,.hotel-card,.water-card{background:color-mix(in srgb,var(--paper-2) 88%,var(--ink) 2%);border-color:color-mix(in srgb,var(--line) 82%,var(--ink) 18%)}
    .detail-body p,.listing-card p,.tour-card p,.town-item span,.blog-copy p,.week-stop small,.saved-row small,.empty,.trip-email small,.trip-email-note{color:color-mix(in srgb,var(--ink) 78%,var(--paper))}.saved-row small{display:block;margin-top:3px;line-height:1.35}
    .landmark{padding:0;min-height:320px;background:var(--forest-2);overflow:hidden}.landmark img{width:100%;height:155px;object-fit:cover;display:block}.landmark-copy{padding:19px;display:flex;flex:1;flex-direction:column}.landmark h3{margin:15px 0 8px}.landmark p{color:#e0e8e3}.landmark button,.landmark a{margin-top:18px}
    .route-card{margin:28px 0;display:grid;grid-template-columns:minmax(190px,.72fr) minmax(250px,1.28fr);gap:22px;align-items:center;background:var(--paper-2);border:1px solid var(--line);padding:22px}.route-card h2{font-size:30px;margin:0 0 7px}.route-card p{font-size:14px;margin:0}.route-schematic{position:relative;min-height:190px;background:color-mix(in srgb,var(--paper) 88%,var(--moss));border:1px solid var(--line);overflow:hidden}.route-schematic:before,.route-schematic:after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--moss) 55%,transparent);border-radius:50%}.route-schematic:before{width:130px;height:90px;left:12%;top:18%}.route-schematic:after{width:170px;height:120px;right:-8%;bottom:-24%}.route-line{position:absolute;height:5px;background:var(--orange);transform-origin:left center;border-radius:6px}.route-line-a{left:18%;top:69%;width:38%;transform:rotate(-24deg)}.route-line-b{left:52%;top:52%;width:32%;transform:rotate(20deg)}.route-node{position:absolute;width:18px;height:18px;border:4px solid var(--paper);background:var(--forest);border-radius:50%;box-shadow:0 0 0 2px var(--forest)}.route-node.start{left:15%;top:68%}.route-node.view{left:50%;top:46%}.route-node.finish{right:13%;top:56%;background:var(--orange);box-shadow:0 0 0 2px var(--orange)}.route-label{position:absolute;font:700 11px "DM Sans",sans-serif;color:var(--ink);background:var(--paper);padding:4px 6px}.start-label{left:8%;top:82%}.view-label{left:42%;top:25%}.finish-label{right:5%;top:73%}.trip-email select{width:100%;margin-top:9px;padding:10px;background:var(--paper-2);color:var(--ink);border:1px solid var(--line)}.trip-email-preview{white-space:pre-wrap;background:var(--paper-2);border:1px solid var(--line);padding:14px;font:12px/1.55 "DM Sans",sans-serif;max-height:300px;overflow:auto;color:var(--ink)}
    @media(max-width:640px){.route-card{grid-template-columns:1fr}.route-schematic{min-height:180px}.landmark{min-height:300px}}
    
    .page.active{animation:page-enter .18s ease-out both}.town-picker{font-size:14px}.town-picker summary{min-width:230px;padding:13px 42px 13px 16px}.town-picker summary:after{right:15px;top:10px}.town-menu{width:320px;padding:10px}.town-menu a{padding:14px 15px;font-size:16px;line-height:1.25}
    .town-history,.island-history{background:var(--forest-2);color:white}.history-layout{display:grid;grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);gap:48px;align-items:start}.history-layout h2{font-size:clamp(38px,5vw,62px);line-height:.96;margin:0}.history-copy{display:grid;gap:16px}.history-copy p{color:#d7e2dc;font-size:17px;margin:0}.history-sources{font-size:12px!important;color:#aebfb4!important}.history-sources a{color:var(--sun);font-weight:800}.town-photo-credit{display:inline-block;margin-top:14px;color:#f7cf7f;font-size:12px;font-weight:800;text-decoration:none}.town-photo-credit[hidden]{display:none}
    .town-section:nth-of-type(even){background:color-mix(in srgb,var(--paper-2) 88%,var(--forest) 7%)}.town-item{border:1px solid color-mix(in srgb,var(--line) 68%,var(--forest) 32%);border-top:5px solid var(--moss);box-shadow:0 12px 28px rgba(18,42,33,.12);background:color-mix(in srgb,var(--paper) 91%,var(--sun) 9%)}#townEat .town-item{border-top-color:var(--orange-deep);background:color-mix(in srgb,var(--paper) 91%,var(--orange) 9%)}.town-item strong{color:var(--ink)}
    
    #townPage .town-item{background:#fbf8ef;color:#152820;border-color:#b7c0b8;border-top-color:#3f6d54}
    #townPage #townEat .town-item{background:#fdf5ef;border-top-color:#b34a1e}
    #townPage .town-item strong{color:#152820}
    #townPage .town-item span,#townPage .town-item address{color:#33443d}
    #townPage .town-item small{color:#7a3218}
    #townPage .town-item .map-link{color:#1d6046}
    #townPage .town-item-actions a,#townPage .town-item-actions button,#townPage .town-item-actions a{background:#152820;color:#fff}
    .biking-feature{background:var(--paper-2)}.bike-lead{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);gap:30px;align-items:stretch}.bike-photo{margin:0;position:relative;min-height:480px;overflow:hidden;background:var(--forest-2)}.bike-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.bike-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:54px 20px 18px;background:linear-gradient(transparent,rgba(7,19,15,.92));color:white;font-size:12px}.bike-guide{background:var(--forest);color:white;padding:34px}.bike-guide h2{font-size:clamp(40px,5vw,62px);line-height:.95;margin:8px 0 15px}.bike-guide>p{color:#d7e2dc}.bike-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.2);margin:24px 0}.bike-fact{background:var(--forest-2);padding:17px}.bike-fact strong{display:block;font-family:"Newsreader",serif;font-size:27px;color:var(--sun)}.bike-fact span{font-size:13px;color:#d7e2dc}.bike-routes{display:grid;gap:10px}.bike-route{border-top:1px solid rgba(255,255,255,.2);padding:13px 0}.bike-route strong{display:block}.bike-route span{color:#c7d5cf;font-size:13px}.bike-rentals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:26px}.bike-rental{background:var(--paper);border:1px solid var(--line);min-height:250px;display:flex;flex-direction:column;overflow:hidden}.bike-rental img{display:block;width:100%;height:118px;object-fit:cover;background:var(--paper-2)}.bike-rental-body{padding:16px;display:flex;flex:1;flex-direction:column}.bike-rental small{color:var(--orange-deep);font-weight:800}.bike-rental strong{font-family:"Newsreader",serif;font-size:23px;line-height:1.05;margin:14px 0 8px}.bike-rental a{margin-top:auto;color:var(--moss);font-weight:800;text-decoration:none}.bike-rule{margin-top:18px;color:var(--muted);font-size:13px}.blog-links a{border:1px solid var(--line);color:var(--ink);padding:9px 11px;font-weight:800;text-decoration:none}.blog-card{box-shadow:0 10px 26px rgba(18,42,33,.08)}
    @media(max-width:1000px){.bike-rentals{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media(max-width:760px){.history-layout,.bike-lead{grid-template-columns:1fr}.bike-photo{min-height:300px}.bike-rentals{grid-template-columns:1fr 1fr}.town-picker summary{min-width:0}}
    @media(max-width:520px){.bike-rentals{grid-template-columns:1fr}.bike-facts{grid-template-columns:1fr}}
    @media(prefers-reduced-motion:reduce){.page.active{animation:none}.page-switching{opacity:1;transform:none}}

    
    .desk-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.coast-planning{background:var(--forest-2);color:white}.coast-planning .section-head p{color:#c9d8d1}.coast-planning .eyebrow{color:var(--sun)}.coast-planning-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.coast-planning-card{background:var(--forest);overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.16)}.coast-photo{position:relative;height:280px;overflow:hidden}.coast-photo img{width:100%;height:100%;object-fit:cover;display:block}.coast-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,19,15,.82))}.coast-photo span{position:absolute;z-index:1;left:22px;bottom:18px;color:white;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.coast-copy{padding:30px;display:flex;flex-direction:column;flex:1}.coast-copy h2{font-size:clamp(38px,4.8vw,58px);line-height:.94;margin:4px 0 14px}.coast-copy>p{color:#d8e3dd;margin:0 0 22px}.tide-rules{display:grid;gap:1px;background:rgba(255,255,255,.17);margin:0 0 20px}.tide-rule{display:grid;grid-template-columns:132px 1fr;gap:14px;background:var(--forest-2);padding:15px}.tide-rule strong{color:var(--sun)}.tide-rule span{color:#d5e1da;font-size:13px}.tide-relationship{margin:2px 0 20px;padding:16px;background:#0b2a21}.tide-relationship>span{display:block;color:#bcd0c6;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.tide-line{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;position:relative;text-align:center}.tide-line:before{content:"";position:absolute;left:12%;right:12%;top:7px;height:2px;background:linear-gradient(90deg,var(--sun),#8dc2ab,var(--orange))}.tide-point{position:relative;padding-top:21px;font-size:12px;color:#d6e1dc}.tide-point:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;top:1px;left:calc(50% - 7px);background:var(--paper);border:3px solid var(--sun)}.tide-point:last-child:before{border-color:var(--orange-deep)}.season-expect{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.17);margin-bottom:20px}.season-expect div{background:var(--forest-2);padding:15px}.season-expect strong{display:block;color:var(--sun);font-family:"Newsreader",serif;font-size:21px}.season-expect span{display:block;color:#d5e1da;font-size:12px;margin-top:5px}.pack-note{padding:16px;background:#0b2a21;color:#dce7e1;font-size:13px;margin-bottom:20px}.pack-note strong{color:white}.coast-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}.coast-actions a,.coast-actions button,.coast-actions a{border:1px solid rgba(255,255,255,.38);background:transparent;color:white;padding:12px 14px;text-decoration:none;font-weight:900;cursor:pointer}.coast-actions .coast-primary{background:var(--sun);border-color:var(--sun);color:#1d2b25}.safety-note{margin:14px 0 0!important;color:#f2d9b9!important;font-size:12px}.weather-practical{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.weather-practical div{background:var(--paper);padding:20px}.weather-practical strong{display:block;font-family:"Newsreader",serif;font-size:23px}.weather-practical span{display:block;color:var(--muted);font-size:13px;margin-top:7px}.weather-pack{grid-column:1/-1;background:var(--forest)!important;color:white}.weather-pack span{color:#d3e0d9}
    @media(max-width:900px){.desk-preview-grid{grid-template-columns:1fr 1fr}.coast-planning-grid{grid-template-columns:1fr}.weather-practical{grid-template-columns:1fr 1fr}}
    @media(max-width:560px){.desk-preview-grid{grid-template-columns:1fr}.coast-photo{height:220px}.coast-copy{padding:23px 18px}.tide-rule{grid-template-columns:1fr;gap:4px}.season-expect,.weather-practical{grid-template-columns:1fr}.weather-pack{grid-column:auto}.coast-actions{display:grid}.coast-actions a,.coast-actions button,.coast-actions a{text-align:center;width:100%}}

    
    .home-hero{min-height:68vh}.home-hero .hero-inner{padding-bottom:54px}.home-section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px}.home-section-head h2{font-size:clamp(36px,5vw,62px);line-height:.96;letter-spacing:-.035em;margin:0;max-width:680px}.home-section-head>p{max-width:440px;color:var(--muted);margin:0}.home-section-head.light h2{color:white}.home-section-head.light>p{color:#c9d8d1}.home-tools,.home-towns,.home-updates{padding:clamp(52px,7vw,88px) clamp(20px,6vw,88px)}.home-tools{background:var(--paper-2)}.tool-showcase{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:18px}.today-tool{background:var(--forest);color:white;display:grid;grid-template-rows:220px 1fr;min-height:520px;overflow:hidden}.tool-photo img{width:100%;height:100%;object-fit:cover;display:block}.today-tool-copy{padding:28px}.today-tool-copy h3,.tool-teaser h3{font-size:clamp(30px,3.2vw,43px);line-height:.98;margin:6px 0 8px}.today-tool-copy>p{color:#c7d5cf;margin:0}.home-sun-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.18);margin-top:24px}.home-sun-grid div{background:var(--forest-2);padding:16px}.home-sun-grid small{display:block;color:#bcd0c6;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.home-sun-grid strong{display:block;font-family:"Newsreader",serif;font-size:25px;margin-top:7px}.tool-teasers{display:grid;grid-template-rows:repeat(3,1fr);gap:12px}.tool-teaser{display:grid;grid-template-columns:150px 1fr;background:var(--paper);border:1px solid var(--line);overflow:hidden}.tool-teaser img{width:100%;height:100%;min-height:150px;object-fit:cover}.tool-teaser div{padding:20px}.tool-teaser small,.home-town small,.condition-teasers small{color:var(--orange-deep);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tool-teaser h3{font-size:28px;margin:5px 0}.tool-teaser p{font-size:13px;color:var(--muted);margin:0 0 12px}.tool-teaser button,.home-town button,.condition-teasers button,.home-text-link,.official button,.tool-teaser a,.home-town a,.condition-teasers a,.official a{border:0;background:transparent;color:var(--moss);padding:0;font-weight:900;cursor:pointer;text-align:left}.tool-teaser button:hover,.home-town button:hover,.condition-teasers button:hover,.home-text-link:hover,.tool-teaser a:hover,.home-town a:hover,.condition-teasers a:hover{color:var(--orange-deep)}
    .home-towns{background:var(--paper)}.home-town-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.home-town{background:var(--paper-2);border:1px solid var(--line);display:flex;flex-direction:column;min-height:390px;overflow:hidden}.home-town img{width:100%;height:175px;object-fit:cover;display:block}.home-town>div{padding:18px;display:flex;flex-direction:column;flex:1}.home-town h3{font-size:27px;line-height:1;margin:10px 0 8px}.home-town p{color:var(--muted);font-size:13px;margin:0 0 17px}.home-town button,.home-town a{margin-top:auto;align-self:flex-start}
    .home-conditions{padding:clamp(52px,7vw,84px) clamp(20px,6vw,88px);background:var(--forest-2);color:white}.condition-teasers{display:grid;grid-template-columns:1fr 1fr;gap:18px}.condition-teasers article{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);background:var(--forest);border:1px solid rgba(255,255,255,.16);overflow:hidden}.condition-teasers img{width:100%;height:100%;min-height:250px;object-fit:cover}.condition-teasers article>div{padding:26px}.condition-teasers small{color:var(--sun)}.condition-teasers h3{font-size:31px;line-height:1;margin:8px 0 10px}.condition-teasers p{color:#d4e0da;margin:0 0 18px;font-size:14px}.condition-teasers a,.condition-teasers button,.condition-teasers a{color:var(--sun);text-decoration:none}.home-updates{background:var(--paper-2)}.update-teasers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.update-teasers article{background:var(--paper);border:1px solid var(--line);overflow:hidden}.update-teasers img{width:100%;height:190px;object-fit:cover;display:block}.update-teasers article>div{padding:20px}.update-teasers time{color:var(--orange-deep);font-size:11px;font-weight:800}.update-teasers h3{font-size:25px;line-height:1.06;margin:9px 0}.update-teasers p{margin:0;color:var(--muted);font-size:13px}.home-guide{padding-top:44px;padding-bottom:44px}.official button,.official a{color:var(--sun);white-space:nowrap}.official button:hover,.official a:hover{color:white}
    @media(max-width:1080px){.home-town-list{grid-template-columns:repeat(3,minmax(0,1fr))}.condition-teasers article{grid-template-columns:1fr}.condition-teasers img{height:210px;min-height:0}}
    @media(max-width:820px){.tool-showcase,.condition-teasers{grid-template-columns:1fr}.today-tool{min-height:0}.tool-teaser{grid-template-columns:130px 1fr}.home-town-list{grid-template-columns:1fr 1fr}.update-teasers{grid-template-columns:1fr}.update-teasers article{display:grid;grid-template-columns:180px 1fr}.update-teasers img{height:100%;min-height:160px}.home-section-head{display:block}.home-section-head>p,.home-section-head .home-text-link{margin-top:14px}}
    @media(max-width:560px){.home-hero{min-height:64vh}.home-hero .hero-inner{padding-bottom:34px}.home-tools,.home-towns,.home-updates,.home-conditions{padding:44px 18px}.home-section-head{margin-bottom:22px}.today-tool{grid-template-rows:150px auto}.today-tool-copy{padding:22px 18px}.home-sun-grid div{padding:12px}.home-sun-grid strong{font-size:20px}.tool-teaser{grid-template-columns:105px 1fr}.tool-teaser img{min-height:138px}.tool-teaser div{padding:15px}.tool-teaser h3{font-size:24px}.home-town-list{display:grid;grid-template-columns:1fr;gap:10px}.home-town{display:grid;grid-template-columns:116px 1fr;min-height:0}.home-town img{height:100%;min-height:172px}.home-town>div{padding:15px}.home-town h3{font-size:25px}.condition-teasers article{display:grid;grid-template-columns:115px 1fr}.condition-teasers img{height:100%;min-height:230px}.condition-teasers article>div{padding:20px 16px}.condition-teasers h3{font-size:26px}.update-teasers article{grid-template-columns:105px 1fr}.update-teasers img{min-height:155px}.update-teasers article>div{padding:15px}.update-teasers h3{font-size:21px}.home-guide{padding:36px 18px}}
    
    .guide-hub{padding:clamp(52px,7vw,88px) clamp(20px,6vw,88px);background:var(--paper)}.guide-hub-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.guide-hub-card{background:var(--paper-2);border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;min-height:340px}.guide-hub-card img{width:100%;height:145px;object-fit:cover;display:block}.guide-hub-card div{padding:17px;display:flex;flex-direction:column;flex:1}.guide-hub-card small{color:var(--orange-deep);font-weight:800}.guide-hub-card h3{font-size:25px;line-height:1;margin:9px 0 7px}.guide-hub-card p{font-size:12px;color:var(--muted);margin:0 0 14px}.guide-hub-card button,.guide-hub-card a{border:0;background:transparent;color:var(--moss);padding:0;margin-top:auto;align-self:flex-start;font-weight:900;cursor:pointer}.guide-hub-card button:hover,.guide-hub-card a:hover{color:var(--orange-deep)}
    .guide-page .guide-hero{min-height:510px;position:relative;display:flex;align-items:flex-end;color:white;background:var(--forest-2);overflow:hidden}.guide-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.guide-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,18,13,.08),rgba(6,18,13,.92))}.guide-hero-copy{position:relative;z-index:1;padding:82px clamp(20px,6vw,88px) 48px;max-width:980px}.guide-hero-copy .eyebrow{color:var(--sun)}.guide-hero h1{font-size:clamp(48px,7.4vw,86px);line-height:.9;letter-spacing:-.045em;margin:8px 0 15px}.guide-hero p{max-width:720px;font-size:18px;color:#e1e9e5;margin:0}.guide-article{padding:clamp(50px,7vw,88px) clamp(20px,6vw,88px)}.guide-lead{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:48px;align-items:start}.guide-lead h2,.guide-section h2{font-size:clamp(36px,4.7vw,56px);line-height:.96;margin:0}.guide-lead>div>p,.guide-section>p{color:var(--muted);font-size:17px}.guide-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.guide-fact{background:var(--paper-2);padding:22px}.guide-fact small{display:block;color:var(--orange-deep);font-weight:800;margin-bottom:9px}.guide-fact strong{font-family:"Newsreader",serif;font-size:25px;line-height:1}.guide-fact span{display:block;color:var(--muted);font-size:13px;margin-top:7px}.guide-section{padding:clamp(50px,7vw,84px) clamp(20px,6vw,88px)}.guide-section.alt{background:var(--paper-2)}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.guide-card{background:var(--paper);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;min-height:320px}.guide-card img{width:100%;height:190px;object-fit:cover;display:block}.guide-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.guide-card small{color:var(--orange-deep);font-weight:800}.guide-card h3{font-size:29px;line-height:1;margin:10px 0 8px}.guide-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.guide-card button,.guide-card a,.guide-link,.guide-card a{margin-top:auto;align-self:flex-start;border:0;background:transparent;color:var(--moss);padding:0;text-decoration:none;font-weight:900;cursor:pointer}.guide-card button:hover,.guide-card a:hover,.guide-link:hover,.guide-card a:hover{color:var(--orange-deep)}.hike-ranking{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}.hike-row{display:grid;grid-template-columns:58px 160px minmax(180px,.6fr) minmax(250px,1fr) auto;gap:18px;align-items:center;background:var(--paper);padding:14px}.hike-row img{width:160px;height:105px;object-fit:cover}.hike-rank{font-family:"Newsreader",serif;font-size:37px;color:var(--orange-deep);text-align:center}.hike-row h3{font-size:27px;line-height:1;margin:0 0 5px}.hike-row p{margin:0;color:var(--muted);font-size:13px}.hike-stats{display:flex;gap:7px;flex-wrap:wrap}.hike-stats span{border:1px solid var(--line);padding:6px 8px;font-size:11px;font-weight:800}.hike-row button,.hike-row a{border:0;background:var(--ink);color:var(--paper);padding:10px 12px;font-weight:800;cursor:pointer}.guide-timeline{margin-top:28px;border-top:1px solid var(--line)}.timeline-stop{display:grid;grid-template-columns:95px minmax(0,1fr);gap:22px;padding:18px 0;border-bottom:1px solid var(--line)}.timeline-stop time{color:var(--orange-deep);font-weight:900}.timeline-stop h3{font-size:28px;line-height:1;margin:0 0 5px}.timeline-stop p{color:var(--muted);margin:0}.warning-band{margin:28px 0 0;background:var(--forest);color:white;padding:24px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}.warning-band strong{font-family:"Newsreader",serif;font-size:27px;color:var(--sun)}.warning-band p{margin:2px 0 0;color:#d4e0da}.source-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.source-list a{border:1px solid var(--line);padding:9px 11px;text-decoration:none;font-weight:800;font-size:13px}.source-list a:hover{background:var(--ink);color:var(--paper)}.guide-related{padding:38px clamp(20px,6vw,88px);background:var(--forest-2);color:white}.guide-related h2{font-size:34px;line-height:1;margin:0 0 17px}.related-buttons{display:flex;gap:8px;flex-wrap:wrap}.related-buttons button,.related-buttons a{border:1px solid rgba(255,255,255,.32);background:transparent;color:white;padding:9px 11px;font-weight:800;cursor:pointer}.related-buttons button:hover,.related-buttons a:hover{background:var(--sun);border-color:var(--sun);color:#172820}.town-guide-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.town-guide-links button,.town-guide-links a{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 11px;font-weight:800;cursor:pointer}.budget-shell{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:24px;margin-top:30px}.budget-form{background:var(--paper-2);padding:26px}.budget-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.budget-field label{display:block;font-size:12px;font-weight:800;margin-bottom:6px;color:var(--muted)}.budget-field input,.budget-field select{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px}.budget-form button,.budget-form a{margin-top:18px;border:0;background:var(--orange-deep);color:white;padding:12px 15px;font-weight:900;cursor:pointer}.budget-result{background:var(--forest);color:white;padding:28px;min-height:330px}.budget-result h3{font-size:35px;line-height:1;margin:5px 0 9px}.budget-total{font-family:"Newsreader",serif;font-size:48px;color:var(--sun);line-height:1}.budget-breakdown{display:grid;gap:8px;margin:22px 0}.budget-line{display:flex;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.16)}.budget-line span{color:#c7d5cf}.budget-note{font-size:12px;color:#c7d5cf}.budget-mail{display:inline-block;margin-top:12px;background:var(--sun);color:#172820;padding:11px 13px;text-decoration:none;font-weight:900}.airport-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.airport-card{background:var(--paper-2);padding:26px}.airport-code{font-family:"Newsreader",serif;font-size:53px;color:var(--orange-deep);line-height:1}.airport-card h3{font-size:31px;margin:9px 0}.airport-card p{color:var(--muted)}.foliage-status{background:var(--sun);color:#172820;padding:24px;margin-top:24px}.foliage-status strong{font-family:"Newsreader",serif;font-size:29px}.faq-compact{max-width:950px;margin-top:25px}.faq-compact details{border-top:1px solid var(--line);padding:0}.faq-compact details:last-child{border-bottom:1px solid var(--line)}.faq-compact summary{padding:18px 34px 18px 0;font-family:"Newsreader",serif;font-size:24px;cursor:pointer}.faq-compact p{color:var(--muted);margin:0 0 18px}
    @media(max-width:1120px){.guide-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hike-row{grid-template-columns:50px 130px 1fr auto}.hike-row img{width:130px}.hike-row .hike-stats{grid-column:3/4}}
    @media(max-width:860px){.guide-lead,.budget-shell{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr 1fr}.airport-compare{grid-template-columns:1fr}.hike-row{grid-template-columns:48px 115px 1fr}.hike-row img{width:115px}.hike-row .hike-stats{grid-column:3}.hike-row button,.hike-row a{grid-column:3;justify-self:start}.guide-hub-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:560px){.guide-hub{padding:44px 18px}.guide-hub-grid{grid-template-columns:1fr}.guide-hub-card{display:grid;grid-template-columns:112px 1fr;min-height:0}.guide-hub-card img{height:100%;min-height:155px}.guide-hero{min-height:460px!important}.guide-hero-copy{padding:70px 18px 34px}.guide-hero h1{font-size:49px}.guide-article,.guide-section{padding:44px 18px}.guide-facts,.guide-grid,.budget-fields{grid-template-columns:1fr}.guide-card{min-height:0}.hike-row{grid-template-columns:42px 1fr;gap:12px}.hike-row img{grid-column:1/-1;width:100%;height:180px}.hike-row>div:nth-of-type(2),.hike-row .hike-stats,.hike-row>.trailhead-map-link,.hike-row button,.hike-row a{grid-column:2}.hike-rank{grid-row:2/5}.timeline-stop{grid-template-columns:72px 1fr;gap:13px}.warning-band{grid-template-columns:1fr}.budget-result{padding:23px 18px}.budget-total{font-size:39px}.related-buttons{display:grid}.related-buttons button,.related-buttons a{width:100%;text-align:left}.source-list{display:grid}.source-list a{text-align:center}.airport-card{padding:22px 18px}}

    
    .home-route-map{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);background:var(--forest);color:white;min-height:360px}.home-route-visual{position:relative;min-height:360px;overflow:hidden}.home-route-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-route-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,35,27,.05),rgba(10,35,27,.58))}.home-route-copy{padding:clamp(38px,6vw,72px);display:flex;flex-direction:column;justify-content:center}.home-route-copy .eyebrow{color:var(--sun)}.home-route-copy h2{font-size:clamp(40px,5vw,64px);line-height:.94;margin:5px 0 14px}.home-route-copy p{color:#d2dfd8;max-width:620px;margin:0 0 24px}.route-mode-preview{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.route-mode-preview span{border:1px solid rgba(255,255,255,.3);padding:7px 10px;font-weight:800;font-size:12px}.home-route-copy button,.home-route-copy a{align-self:flex-start;border:0;background:var(--sun);color:#172820;padding:12px 15px;font-weight:900;cursor:pointer}
    .route-map-intro{position:relative;min-height:440px;display:flex;align-items:flex-end;color:white;background:var(--forest-2);overflow:hidden}.route-map-intro>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.route-map-intro:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,19,15,.08),rgba(7,19,15,.92))}.route-map-intro-copy{position:relative;z-index:1;padding:82px clamp(20px,6vw,88px) 46px;max-width:1050px}.route-map-intro .eyebrow{color:var(--sun)}.route-map-intro h1{font-size:clamp(48px,7.4vw,86px);line-height:.9;letter-spacing:-.045em;margin:7px 0 15px}.route-map-intro p{max-width:760px;font-size:18px;color:#e0e9e4;margin:0}.route-mode-tabs{position:sticky;top:var(--header-h,63px);z-index:31;display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border-bottom:1px solid var(--line);padding:13px clamp(20px,6vw,88px);gap:8px}.route-mode{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:13px 15px;cursor:pointer;font-weight:900;text-align:center}.route-mode.active{background:var(--forest);border-color:var(--forest);color:white}.route-map-shell{padding:34px clamp(20px,6vw,88px) 44px;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);grid-template-areas:"list map" "detail detail";gap:18px;background:var(--paper-2)}.route-list-panel{grid-area:list;background:var(--paper);border:1px solid var(--line);padding:22px;min-width:0}.route-list-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:15px}.route-list-head h2{font-size:31px;line-height:1;margin:0}.route-list-head span{font-size:12px;color:var(--muted);font-weight:800}.route-picker{display:grid;gap:7px}.route-option{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:14px;text-align:left;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:6px 12px}.route-option:hover,.route-option.active{border-color:var(--moss);background:color-mix(in srgb,var(--paper-2) 75%,var(--sun))}.route-option.active{box-shadow:inset 4px 0 0 var(--orange)}.route-option strong{font-family:"Newsreader",serif;font-size:22px;line-height:1.05}.route-option small{color:var(--muted);grid-column:1}.route-option em{font-style:normal;color:var(--orange-deep);font-size:11px;font-weight:900;grid-column:2;grid-row:1/3;align-self:center}.route-disclaimer{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
    .route-map-stage{grid-area:map;position:relative;background:var(--forest-2);border:1px solid var(--line);min-height:610px;overflow:hidden}.mdi-route-map{width:100%;height:610px}.map-fallback{display:none;position:absolute;inset:0;background:var(--forest-2);color:white;padding:30px;align-items:center;justify-content:center;text-align:center}.map-fallback.show{display:flex}.map-fallback strong{display:block;font-family:"Newsreader",serif;font-size:34px;color:var(--sun);margin-bottom:8px}.map-note{position:absolute;z-index:3;left:12px;top:12px;background:rgba(12,36,28,.9);color:white;padding:8px 10px;font-size:11px;font-weight:900;pointer-events:none}.map-legend{position:absolute;z-index:3;left:12px;bottom:34px;background:rgba(255,253,248,.94);color:#172820;padding:9px 10px;font-size:11px;display:flex;gap:11px;flex-wrap:wrap;max-width:calc(100% - 24px);pointer-events:none}.map-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:10px;height:10px;border-radius:50%;background:#e86832}.legend-dot.parking{background:#245b49}.legend-dot.food{background:#f4bc55}.legend-dot.landmark{background:#5e6ca8}.route-pin{width:30px;height:30px;border:3px solid white;border-radius:50%;display:grid;place-items:center;background:#e86832;color:white;font:900 12px "DM Sans",sans-serif;box-shadow:0 3px 10px rgba(0,0,0,.25)}.route-pin.parking{background:#245b49}.route-pin.food{background:#a76516}.route-pin.landmark{background:#5e6ca8}.route-pin.on{width:36px;height:36px;border-color:#fff3c7}.route-detail{grid-area:detail;background:var(--forest);color:white;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:30px;padding:30px}.route-detail h2{font-size:clamp(36px,4.3vw,54px);line-height:.95;margin:7px 0 13px}.route-detail-lead>p{color:#d4e0da;margin:0 0 21px}.route-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18)}.route-fact{background:var(--forest-2);padding:14px}.route-fact small{display:block;color:#bcd0c6;font-size:11px}.route-fact strong{display:block;color:var(--sun);margin-top:5px}.route-detail-body{display:grid;gap:19px}.route-detail-block{border-top:1px solid rgba(255,255,255,.2);padding-top:14px}.route-detail-block h3{font-family:"DM Sans",sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--sun);margin:0 0 7px}.route-detail-block p{margin:0;color:#d5e1da}.route-pois{display:flex;gap:7px;flex-wrap:wrap}.route-poi{border:1px solid rgba(255,255,255,.28);padding:7px 9px;font-size:12px}.route-poi.active{background:var(--sun);border-color:var(--sun);color:#172820}.route-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.route-detail-actions a,.route-detail-actions button,.route-detail-actions a{border:1px solid rgba(255,255,255,.35);background:transparent;color:white;padding:10px 12px;text-decoration:none;font-weight:900;cursor:pointer}.route-detail-actions a.route-exact{background:var(--sun);border-color:var(--sun);color:#172820}.route-caution{background:#0a281f;padding:14px;color:#efd9bb;font-size:12px}.route-map-crosslinks{padding:40px clamp(20px,6vw,88px);background:var(--paper)}.route-map-crosslinks h2{font-size:36px;line-height:1;margin:0 0 16px}.route-crosslink-buttons{display:flex;gap:8px;flex-wrap:wrap}.route-crosslink-buttons button,.route-crosslink-buttons a{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 12px;font-weight:900;cursor:pointer}.route-crosslink-buttons button:hover,.route-crosslink-buttons a:hover{background:var(--ink);color:var(--paper)}
    @media(max-width:940px){.home-route-map{grid-template-columns:1fr}.home-route-visual{min-height:270px}.route-map-shell{grid-template-columns:1fr;grid-template-areas:"map" "list" "detail"}.route-map-stage,.mdi-route-map{height:520px;min-height:520px}.route-detail{grid-template-columns:1fr}.route-picker{grid-template-columns:1fr 1fr}}
    @media(max-width:600px){.home-route-visual{min-height:220px}.home-route-copy{padding:34px 18px}.route-map-intro{min-height:430px}.route-map-intro-copy{padding:70px 18px 34px}.route-map-intro h1{font-size:49px}.route-mode-tabs{top:var(--header-h,58px);padding:9px 10px}.route-mode{padding:11px 5px;font-size:12px}.route-map-shell{padding:18px 0 34px;gap:12px}.route-map-stage{border-left:0;border-right:0}.route-map-stage,.mdi-route-map{height:430px;min-height:430px}.route-list-panel,.route-detail{margin:0 14px}.route-list-panel{padding:18px}.route-picker{grid-template-columns:1fr}.route-option{padding:13px}.route-detail{padding:23px 18px}.route-facts{grid-template-columns:1fr}.route-detail-actions{display:grid}.route-detail-actions a,.route-detail-actions button,.route-detail-actions a{text-align:center;width:100%}.route-map-crosslinks{padding:34px 18px}.route-crosslink-buttons{display:grid}.route-crosslink-buttons button,.route-crosslink-buttons a{width:100%;text-align:left}.map-note{left:8px;top:8px}.map-legend{left:8px;bottom:30px;max-width:calc(100% - 16px)}}

    
    .searchbox button,.primary,.trip-count,.rank-number,.budget-form button,.recommend button,.compare-bar button,.builder-start button,.day-actions .save-day,.matcher-actions .match-primary,.icon-btn.saved,.catalog-cta button,.hotel-link:hover,

    
    .searchbox a,.budget-form a,.recommend a,.compare-bar a,.builder-start a,.catalog-cta a{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff}
    .route-pin{background:var(--orange-deep);color:#fff}.footer-news button,.footer-news a{color:#172820}.capture-note{color:#30453b!important}.audience-chip.dog{color:var(--orange-deep);background:color-mix(in srgb,var(--orange-deep) 16%,var(--paper))}
    .bike-rental.no-photo{background:color-mix(in srgb,var(--paper-2) 86%,var(--forest) 14%)}.bike-rental-placeholder{height:118px;display:grid;place-items:center;background:var(--forest-2);color:#d7e2dc;font-size:12px;font-weight:800;text-align:center;padding:14px}.bike-rental small{color:var(--orange-deep)}
    @media(max-width:1050px){.bike-rentals{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media(max-width:680px){.bike-lead{grid-template-columns:1fr}.bike-photo{min-height:310px}.bike-guide{padding:26px 20px}.bike-rentals{grid-template-columns:1fr}.bike-rental{min-height:0}.bike-rental img,.bike-rental-placeholder{height:180px}}
  
    .trail-facts{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 8px}.trail-facts>span{min-width:86px;flex:1;padding:8px 9px;background:var(--paper-2);border-radius:8px}.trail-facts small{display:block;color:var(--muted);font-size:.66rem;line-height:1.2}.trail-facts strong{display:block;margin-top:2px;font-size:.86rem;line-height:1.2}.trail-facts.is-empty{margin:10px 0;color:var(--muted);font-size:.76rem}.trail-facts.compact{margin:7px 0 5px;gap:5px}.trail-facts.compact>span{min-width:66px;padding:6px 7px}.trail-facts.compact small{font-size:.58rem}.trail-facts.compact strong{font-size:.74rem}.trail-popularity{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 10px}.trail-popularity small{color:var(--muted);font-size:.68rem;white-space:nowrap}.pine-trees{display:flex;align-items:center;gap:3px}.pine-tree{width:20px;height:20px;overflow:visible}.pine-tree .pine-crown{fill:transparent;stroke:var(--moss);stroke-width:1.55;stroke-linejoin:round}.pine-tree .pine-trunk{fill:none;stroke:var(--moss);stroke-width:1.75;stroke-linecap:round}.pine-tree.is-filled .pine-crown{fill:var(--orange-deep);stroke:var(--orange-deep)}.pine-tree.is-filled .pine-trunk{stroke:var(--orange-deep)}.trail-popularity.compact{margin:5px 0}.trail-popularity.compact .pine-tree{width:16px;height:16px}.trail-popularity.compact small{font-size:.62rem}.popularity-stat .trail-popularity{margin:5px 0 0}.trail-surface-meta{width:100%;margin-top:8px}.worth-card .trail-surface-meta{position:relative;z-index:2;padding:0 14px 12px;text-align:left}.worth-card .trail-facts>span{background:rgba(255,253,248,.92);color:#152820}.worth-card .trail-facts small,.worth-card .trail-popularity small{color:#435149}.hike-row .trail-surface-meta{grid-column:3 / -1}.pick .trail-surface-meta{margin-top:7px}.popularity-legend{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);gap:16px;align-items:start;margin-top:14px;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line);border-radius:12px}.popularity-legend strong,.popularity-legend span{display:block}.popularity-legend span{margin-top:4px;font-size:.8rem;color:var(--muted)}.popularity-legend p{margin:0;font-size:.75rem;color:var(--muted)}.map-link{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:5px 0 8px;color:var(--orange-deep);font-weight:700;font-size:.78rem;text-decoration:underline;text-underline-offset:3px}.trailhead-map-link{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin:8px 0 10px;color:var(--orange-deep);font-size:.78rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.trailhead-map-link:before{content:"⌖";font-size:1rem;text-decoration:none}.hike-stats>span small{display:block;color:var(--muted);font-size:.58rem;line-height:1.15;font-weight:700}.hike-stats>span strong{display:block;margin-top:2px;font-size:.76rem;line-height:1.15}.hike-row>.trailhead-map-link{grid-column:3 / -1;margin:1px 0 4px}.listing-card-body address,.hotel-copy address,.town-item address{margin:4px 0 0;color:var(--muted);font-size:.8rem;font-style:normal}.bike-rental-body .map-link,.tour-copy .map-link,.cranberry-card .map-link{margin-top:8px}.trail-actions{justify-content:flex-end}
    @media(max-width:680px){.trail-facts>span{min-width:74px}.popularity-legend{grid-template-columns:1fr}.pine-tree{width:18px;height:18px}.trail-popularity{align-items:flex-start;flex-direction:column;gap:4px}.trail-popularity.compact{flex-direction:row;align-items:center;flex-wrap:wrap}.hike-row .trail-surface-meta{grid-column:1 / -1}.worth-card .trail-surface-meta{padding-left:10px;padding-right:10px}.map-link{white-space:normal}}
    .trail-intel{margin:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper-2) 78%,transparent)}.trail-intel summary{cursor:pointer;list-style:none;padding:9px 2px;font-size:.76rem;font-weight:800;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:8px}.trail-intel summary::-webkit-details-marker{display:none}.trail-intel summary:after{content:'＋';color:var(--orange-deep);font-size:1rem}.trail-intel[open] summary:after{content:'–'}.trail-intel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:2px 2px 10px}.trail-intel-row{display:grid;grid-template-columns:minmax(78px,.72fr) minmax(0,1.28fr);gap:8px;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--line) 58%,transparent);font-size:.69rem;line-height:1.3}.trail-intel-row b{color:var(--muted);font-weight:700}.trail-intel-row span{color:var(--ink);font-weight:600}.trail-intel.compact{margin:7px 0}.trail-intel.compact summary{font-size:.69rem;padding:7px 1px}.trail-intel.compact .trail-intel-grid{grid-template-columns:1fr}.trail-intel.compact .trail-intel-row{font-size:.64rem;grid-template-columns:minmax(70px,.68fr) minmax(0,1.32fr)}.trail-intel-actions{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px 10px}.trail-intel-actions a,.trail-intel-actions button,.trail-intel-actions a{border:1px solid var(--line);background:transparent;color:var(--orange-deep);padding:6px 8px;font-size:.66rem;font-weight:800;text-decoration:none;cursor:pointer}.trail-card .trail-intel{margin-top:8px}.worth-card .trail-intel{margin:7px 14px 12px;background:rgba(255,253,248,.94);color:#152820;position:relative;z-index:3}.worth-card .trail-intel summary,.worth-card .trail-intel-row span{color:#152820}.worth-card .trail-intel-row b{color:#4c5a52}.detail-intel-note{margin:12px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.2);font-size:.75rem;color:#d7e2dc}.side-panel .intel-inline-action{display:inline-block;margin:8px 6px 0 0;border:1px solid rgba(255,255,255,.28);background:transparent;color:var(--sun);padding:7px 9px;font-size:.72rem;font-weight:800;cursor:pointer;text-decoration:none}.intel-source-link{display:block;color:var(--sun)!important;font-weight:700}.practical-intro{margin-bottom:24px}.detail-practical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:18px}.detail-practical-card{background:var(--paper);padding:15px;min-height:92px}.detail-practical-card.key{background:var(--paper-2)}.detail-practical-card b{display:block;color:var(--orange-deep);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}.detail-practical-card span{display:block;color:var(--ink);font-size:14px}.detail-practical-card .trail-popularity{margin:0}.detail-practical-actions{grid-column:1/-1;background:var(--paper-2);padding:15px;display:flex;gap:8px;flex-wrap:wrap}.detail-practical-actions a,.detail-practical-actions button,.detail-practical-actions a{border:1px solid var(--line);background:var(--paper);color:var(--orange-deep);padding:9px 11px;font-weight:800;text-decoration:none;cursor:pointer}@media(max-width:760px){.detail-practical{grid-template-columns:1fr}.detail-practical-actions{grid-column:1}.trail-intel-grid{grid-template-columns:1fr}.trail-intel-row{grid-template-columns:minmax(82px,.68fr) minmax(0,1.32fr)}.trail-intel-actions a,.trail-intel-actions button,.trail-intel-actions a{flex:1 1 130px;text-align:center}}

  
    
    .guide-pricing{display:block;background:var(--sun)}.pricing-intro{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:32px;align-items:end;margin-bottom:24px}.pricing-intro h2{margin:6px 0 0}.pricing-intro p{max-width:720px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.price-card{position:relative;background:var(--paper);color:var(--ink);padding:24px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);display:flex;flex-direction:column;min-height:390px}.price-card h3{font-size:30px;line-height:1;margin:0 0 8px}.tier-price{font:700 36px/1 "Newsreader",serif;color:var(--forest)}.price-card p{margin:8px 0 0;color:var(--muted)}.price-card ul{margin:22px 0;padding-left:20px;display:grid;gap:8px;color:var(--muted)}.price-card li::marker{color:var(--orange-deep)}.price-card .tier-buy{margin-top:auto;border:0;background:var(--forest);color:white;padding:13px 14px;font:inherit;font-weight:900;cursor:pointer;text-align:center}.price-card .tier-buy:disabled{opacity:.72;cursor:not-allowed}.featured-tier{background:var(--forest);color:white;border-color:var(--forest);transform:translateY(-8px);box-shadow:0 14px 30px rgba(18,46,36,.24)}.featured-tier .tier-price,.featured-tier h3{color:white}.featured-tier p,.featured-tier ul{color:#d7e4de}.featured-tier .tier-buy{background:var(--sun);color:#261b12}.popular-badge{position:absolute;right:16px;top:16px;background:var(--sun);color:#251b12;padding:6px 9px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.pricing-note{margin-top:14px!important}.worth-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.worth-card img{height:190px}
    @media(max-width:1100px){.signup-cta{display:block;padding:9px 11px;font-size:12px}.pricing-grid{grid-template-columns:1fr}.featured-tier{transform:none}.worth-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media(max-width:760px){.pricing-intro{grid-template-columns:1fr}.worth-grid{grid-template-columns:1fr 1fr}.worth-card img{height:170px}.signup-cta{padding:8px 9px;font-size:11px}.topbar{gap:8px}.topbar .mobile-nav{min-width:0}}
    @media(max-width:480px){.worth-grid{grid-template-columns:1fr}.worth-card img{height:220px}.signup-cta{grid-column:2;grid-row:2}.topbar .trip-btn{grid-column:2;grid-row:1}.topbar .mobile-nav{grid-column:1;grid-row:2}}

    .route-bike-hub{display:none;margin:0;background:var(--paper-2)}.route-map-page.bike-mode .route-bike-hub{display:block}.route-map-page.bike-mode .route-bike-hub .bike-guide{background:var(--forest)}

    @media(prefers-color-scheme:light){
      .hotel-kicker,.tour-label,.listing-type,.town-item small,.blog-copy time{color:var(--orange-deep)}
      .hotel-copy p,.hotel-copy address,.hotel-tags span,.tour-card p,.tour-facts span,.listing-place,.listing-card p,.listing-card address,.town-item span,.town-item address{color:#45544c}
      .hotel-link,.town-item-actions a,.town-item-actions button,.listing-card a,.tour-card .hotel-link,.town-item-actions a{font-weight:900}
      .hotel-link:hover,.listing-card a:hover{background:var(--orange-deep);color:#fff}
      .status-note{background:#f6dfaa;color:#34230f}
    }

    .lang-control{display:flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.34);border-radius:999px;padding:5px 7px;background:#1b4b3c;color:#fff;flex:0 0 auto}.lang-control svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}.lang-control select{border:0;background:transparent;color:inherit;font-weight:900;font-size:12px;padding:3px 1px;cursor:pointer}.lang-control option{color:#152820;background:#fff}.goog-te-banner-frame.skiptranslate,.goog-logo-link,.goog-te-gadget span{display:none!important}body{top:0!important}
    .bike-rental-body address{font-style:normal;font-size:12px;color:var(--muted);margin:6px 0 0}
    .guide-hero-photo-credit{position:absolute;z-index:2;top:16px;right:clamp(16px,3vw,34px);padding:6px 8px;background:rgba(8,22,16,.78);color:#fff;font-size:10px;font-weight:800;text-decoration:none}.guide-hero-photo-credit:hover{background:var(--sun);color:#172820}.rv-card-photo{position:relative;margin:-22px -22px 18px;overflow:hidden;background:var(--forest-2)}.rv-card-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.rv-card-photo figcaption{position:absolute;right:7px;bottom:7px;padding:4px 6px;background:rgba(8,22,16,.82);color:#fff;font-size:9px;font-weight:800}.rv-card-photo figcaption a{color:#fff;text-decoration:none}.rv-card-photo figcaption a:hover{color:var(--sun)}
    .hike-ranking{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:transparent;border:0}.hike-row{position:relative;grid-template-columns:72px minmax(0,1fr);grid-template-rows:250px auto auto auto;gap:14px 18px;padding:0 0 22px;background:var(--paper);border:1px solid var(--line);overflow:hidden}.hike-row img{grid-column:1/-1;width:100%;height:250px;object-fit:cover}.hike-rank{grid-column:1;grid-row:2/5;align-self:start;font-size:64px;line-height:.8;padding-top:4px}.hike-row>div:nth-of-type(2){grid-column:2;grid-row:2}.hike-row h3{font-size:31px}.hike-row .hike-stats{grid-column:2;grid-row:3;display:flex;align-items:center;gap:7px}.hike-row .hike-stats>span{background:var(--paper-2)}.hike-row .showcase-pop{padding:2px 6px}.hike-row .showcase-pop .trail-popularity{margin:0}.hike-row .showcase-pop small{display:none}.hike-row button,.hike-row a{grid-column:2;grid-row:4;justify-self:start;background:var(--forest);color:#fff}.pine-tree{width:22px;height:22px}.pine-tree path{stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
    @media(max-width:900px){.hike-ranking{grid-template-columns:1fr}.hike-row{grid-template-columns:68px 1fr;grid-template-rows:230px auto auto auto}.hike-row img{grid-column:1/-1;width:100%;height:230px}.hike-row .hike-stats,.hike-row button,.hike-row a{grid-column:2}}
    @media(max-width:1100px){.topbar{grid-template-columns:auto minmax(150px,1fr) auto auto auto}.signup-cta{display:block}}
    @media(max-width:760px){.topbar{grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.island-home{display:none}.topbar .mobile-nav{grid-column:1;grid-row:1}.lang-control{grid-column:2;grid-row:1;padding:5px}.lang-control svg{width:15px;height:15px}.lang-control select{width:40px}.topbar .trip-btn{grid-column:3;grid-row:1;padding:9px 10px}.signup-cta{grid-column:1/-1;grid-row:2;width:100%;padding:7px 10px}.hike-row{grid-template-columns:54px 1fr;grid-template-rows:190px auto auto auto}.hike-row img{height:190px}.hike-rank{font-size:50px}.hike-row .hike-stats{gap:5px}.hike-row .hike-stats>span{font-size:10px;padding:5px 6px}.hike-row h3{font-size:27px}}

    
    .hike-row{grid-template-rows:250px auto auto auto auto}
    .hike-rank{grid-row:2/6}
    .hike-row>.trailhead-map-link{grid-column:2;grid-row:4;justify-self:start;margin:0}
    .hike-row button,
    .hike-row a{grid-row:5}
    .hike-row .showcase-pop{display:flex;align-items:center;min-width:150px}
    .hike-row .showcase-pop .trail-popularity{width:100%;flex-wrap:wrap}
    .hike-row .showcase-pop small{display:block;font-size:.62rem}
    @media(max-width:900px){.hike-row{grid-template-rows:230px auto auto auto auto}}
    @media(max-width:760px){.hike-row{grid-template-rows:190px auto auto auto auto}.hike-row>.trailhead-map-link{font-size:.74rem}.hike-row .showcase-pop{min-width:0}}

    .listing-card:not(.has-photo){display:flex}.listing-card:not(.has-photo) .listing-card-body{height:100%}.feature img:only-child{display:none}.hike-row:not(:has(img)){grid-template-rows:auto auto auto auto}.town-card:not(:has(img)),.guide-card:not(:has(img)){padding-top:20px}

    .hours-line{margin:4px 0 14px;padding:10px 11px;background:var(--paper);border:1px solid var(--line);display:grid;gap:3px}.hours-line strong{font-size:11px;color:var(--orange-deep);text-transform:uppercase;letter-spacing:.05em}.hours-line span{font-size:13px;font-weight:800;color:var(--ink)}.hours-line small{font-size:11px;color:var(--muted);line-height:1.35}.bar-nightlife{margin:34px clamp(20px,6vw,88px) 0;padding:28px;background:var(--forest);color:#fff}.bar-nightlife-head{display:flex;justify-content:space-between;align-items:end;gap:28px}.bar-nightlife-head h2{font-size:clamp(34px,4vw,54px);margin:5px 0}.bar-nightlife-head p{max-width:520px;color:#e5efe9}.bar-spotlight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.2);margin-top:22px}.bar-spotlight article{background:#164235;display:flex;flex-direction:column;min-width:0}.bar-spotlight-photo{height:168px;background:#092219;overflow:hidden}.bar-spotlight-photo img{width:100%;height:100%;object-fit:cover;display:block}.bar-spotlight-body{padding:18px;display:flex;flex-direction:column;flex:1}.bar-spotlight small{color:#f2c15f;font-weight:800}.bar-spotlight h3{font-size:24px;margin:7px 0}.bar-spotlight p,.bar-spotlight address{font-size:12px;color:#e5efe9;font-style:normal}.bar-spotlight .rating-row{margin:5px 0 11px}.bar-spotlight .rating-badge{background:var(--sun);color:#17251f}.bar-spotlight .rating-source{color:#e5efe9}.bar-spotlight button,.bar-spotlight a{margin-top:auto;background:var(--sun);color:#17251f}.rv-section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:22px}.rv-section-head>p{max-width:520px}.rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.private-rv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rv-card{background:var(--paper);border-top:4px solid var(--moss);padding:22px;display:flex;flex-direction:column}.rv-card small{color:var(--orange-deep);font-weight:900}.rv-card h3{font-size:27px;margin:9px 0 16px}.rv-card dl{display:grid;gap:8px;margin:0 0 13px}.rv-card dl div{display:grid;grid-template-columns:82px 1fr;gap:8px}.rv-card dt{font-size:11px;color:var(--muted);font-weight:800}.rv-card dd{margin:0;font-size:12px;font-weight:800}.rv-card p{font-size:12px;color:var(--muted)}.rv-card a{margin-top:auto;font-weight:900;color:var(--orange-deep)}.reviewed-line{font-size:12px;font-weight:800;color:var(--orange-deep)}
    @media(max-width:900px){.bar-spotlight,.rv-grid,.private-rv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bar-nightlife-head,.rv-section-head{align-items:start;flex-direction:column}.bar-nightlife-head h2{font-size:38px}}
    @media(max-width:600px){.bar-nightlife{margin:22px 14px 0;padding:20px}.bar-spotlight,.rv-grid,.private-rv-grid{grid-template-columns:1fr}.bar-spotlight article{padding:17px}.hours-line{padding:8px}.rv-card h3{font-size:24px}}

    .home-hikes{padding:70px clamp(20px,6vw,88px);background:var(--paper)}.home-hikes .section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:25px}.home-hikes .section-head h2{font-size:clamp(38px,4.6vw,64px);margin:5px 0}.home-hikes .section-head>p{max-width:520px;color:var(--muted)}.home-hike-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.home-hike-card{background:var(--paper-2);border:1px solid var(--line);display:flex;flex-direction:column}.home-hike-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.home-hike-card>div{padding:17px;display:flex;flex-direction:column;flex:1}.home-hike-card h3{font-size:23px;margin:0 0 8px}.home-hike-card p{font-size:13px;color:var(--muted);margin:0 0 11px}.home-hike-card span{font-size:11px;font-weight:900;color:var(--moss);margin-top:auto}.home-hike-card button,.home-hike-card a{margin-top:14px;align-self:start;background:transparent;color:var(--orange-deep);padding:0}.home-hikes-all{margin-top:22px;background:var(--forest);color:#fff}.home-hike-card img+div:before{display:none}
    @media(max-width:1100px){.home-hike-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hike-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.7fr) 1fr}.home-hike-card:last-child img{height:100%;aspect-ratio:auto}}
    @media(max-width:650px){.home-hikes{padding:48px 16px}.home-hikes .section-head{align-items:start;flex-direction:column;gap:8px}.home-hike-grid{grid-template-columns:1fr}.home-hike-card:last-child{grid-column:auto;display:flex}.home-hike-card:last-child img{height:auto;aspect-ratio:4/3}}
    
    html,body{height:100%;overflow:hidden}body{display:flex;flex-direction:column}.shell{height:auto;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
    .sun-date-control{display:grid;grid-template-columns:auto minmax(150px,1fr);align-items:center;gap:3px 12px;margin-top:17px;padding:12px 14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2)}.sun-date-control span{font-size:13.5px;font-weight:900;color:var(--sun)}.sun-date-control input{grid-column:2;grid-row:1/3;min-width:0;width:100%;border:1px solid rgba(255,255,255,.28);background:#fffdf8;color:#152820;padding:9px 10px;color-scheme:light;cursor:pointer}.sun-date-control small{font-size:11.5px;color:#c7d5cf}.sun-date-control input:focus{outline:2px solid var(--sun);outline-offset:2px}
    .lang-control{position:relative;padding:0;background:#1b4b3c}.lang-control:not([open]) .lang-menu{display:none}.lang-control summary{list-style:none;display:flex;align-items:center;gap:6px;padding:8px 9px;cursor:pointer;font-size:12px;font-weight:900}.lang-control summary::-webkit-details-marker{display:none}.lang-control .flag{display:block;width:30px!important;height:20px!important;border:1px solid rgba(21,40,32,.3);border-radius:3px;overflow:hidden;flex:0 0 auto;box-shadow:0 1px 3px rgba(10,25,18,.25)}.lang-menu button,.lang-menu a{grid-template-columns:40px 1fr auto!important}.lang-menu .flag{width:30px;height:20px;border:1px solid rgba(21,40,32,.3);border-radius:3px;display:block}.lang-chevron{width:10px!important;height:7px!important;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .18s}.lang-control[open] .lang-chevron{transform:rotate(180deg)}.lang-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:90;width:205px;padding:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:var(--small-shadow)}.lang-menu button,.lang-menu a{width:100%;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:9px;border:0;background:transparent;color:var(--ink);padding:10px;text-align:left;cursor:pointer}.lang-menu button:hover,.lang-menu button[aria-current="true"],.lang-menu a:hover,.lang-menu a[aria-current="true"]{background:var(--paper-2)}.lang-menu button span,.lang-menu a span{font-weight:800}.lang-menu button small,.lang-menu a small{color:var(--muted);font-size:10px;font-weight:900}
    .compare-bar{bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:65}.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
    @media(max-width:560px){.shell{scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.sun-date-control{grid-template-columns:1fr;margin-top:15px}.sun-date-control input{grid-column:1;grid-row:auto}.compare-bar,.toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}.lang-menu{position:fixed;right:10px;top:calc(var(--header-h,58px) + 6px);width:210px}}
    
    .topbar{flex-wrap:wrap}
    .topbar .island-home{margin-right:auto}
    .mdi-route-map{position:relative;z-index:0}
    .route-pin-wrap{background:transparent;border:0}
    .tour-card.no-photo .tour-copy{padding-top:26px}
    .trip-btn-tools{flex:0 0 auto;align-self:center}
    
    .towns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;padding:34px clamp(20px,6vw,88px) 82px}
    .towns-grid .home-town{min-height:430px}
    .town-card-counts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 15px}
    .town-card-counts span{border:1px solid var(--line);background:var(--paper);padding:5px 8px;font-size:11.5px;font-weight:800;color:var(--ink)}
    .towns-note{padding:0 clamp(20px,6vw,88px) 70px;color:var(--muted);font-size:14px;max-width:760px}
    
    .map-fallback{padding:0;background:#dcebe2}
    .map-fallback .schematic-wrap{width:100%;height:100%;display:flex;flex-direction:column}
    .map-fallback svg{flex:1 1 auto;width:100%;min-height:0;display:block}
    .map-fallback .schematic-caption{background:rgba(12,36,28,.92);color:#e8f0eb;font-size:12px;font-weight:700;padding:9px 14px;text-align:left}
    .map-fallback .schematic-caption strong{font-family:"DM Sans",sans-serif;font-size:12px;color:var(--sun);margin:0 6px 0 0;display:inline}
    @media(max-width:760px){.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.topbar .island-home{display:inline-flex}.topbar .signup-cta{order:5;flex:1 1 100%;width:100%;text-align:center;padding:10px}}

    
    
    .shell{scroll-padding-bottom:0}
    .compare-bar{bottom:18px}
    .toast{bottom:28px}
    .topbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px clamp(14px,3vw,34px)}
    .topbar .island-home{order:1;flex:0 0 auto;width:auto;display:inline-flex;margin-right:0}
    .topnav{order:2;flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:2px;flex-wrap:wrap}
    .topnav>button,
    .topnav>a{border:0;background:transparent;color:#e7efe9;padding:9px 11px;border-radius:999px;cursor:pointer;font-weight:700;font-size:14.5px;white-space:nowrap}
    .topnav>button:hover,.topnav>button.active,
    .topnav>a:hover,.topnav>a.active{background:rgba(255,255,255,.13);color:#fff}
    .nav-drop{position:relative}
    .nav-drop>summary{list-style:none;display:flex;align-items:center;gap:5px;color:#e7efe9;padding:9px 11px;border-radius:999px;cursor:pointer;font-weight:700;font-size:14.5px;white-space:nowrap}
    .nav-drop>summary::-webkit-details-marker{display:none}
    .nav-drop>summary:hover,.nav-drop[open]>summary{background:rgba(255,255,255,.13);color:#fff}
    .nav-caret{font-size:10px;transition:transform .18s ease}
    .nav-drop[open] .nav-caret{transform:rotate(180deg)}
    .nav-drop:not([open]) .nav-panel{display:none}
    .nav-panel{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);z-index:90;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:10px;text-align:left}
    .towns-panel{width:min(440px,94vw)}
    .guides-panel{width:min(540px,94vw);display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
    .nav-panel button,
    .nav-panel a{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);padding:8px 10px;border-radius:7px;cursor:pointer;font-weight:600;font-size:14px}
    .nav-panel button:hover,.nav-panel button.active,
    .nav-panel a:hover,.nav-panel a.active{background:var(--paper-2);color:var(--orange-deep)}
    .nav-panel .panel-all{font-weight:800;color:var(--orange-deep);border-bottom:1px solid var(--line);border-radius:7px 7px 0 0;margin-bottom:6px;padding-bottom:11px}
    .panel-group strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:6px 10px 2px}
    .town-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
    .town-row:last-child{border-bottom:0}
    .town-row .town-name{width:auto;flex:0 1 auto;font-family:"Newsreader",serif;font-size:17px;font-weight:700;padding:9px 10px}
    .town-links{display:flex;gap:2px;flex:0 0 auto}
    .town-links button,
    .town-links a{width:auto;padding:6px 8px;font-size:12.5px;font-weight:800;color:var(--moss)}
    .topbar .lang-control{order:3;flex:0 0 auto}
    .topbar .signup-cta{order:4;flex:0 0 auto;width:auto;display:block;text-align:center}
    .burger{order:5;display:none;width:40px;height:40px;flex:0 0 auto;background:#1b4b3c;border:1px solid rgba(255,255,255,.34);border-radius:9px;cursor:pointer;padding:10px 9px}
    .burger span{display:block;height:2px;background:#fffdf8;border-radius:2px}
    .burger span+span{margin-top:5px}
    .mobile-menu{order:7;flex:1 1 100%;background:var(--forest-2);color:#eef2eb;border-top:1px solid rgba(255,255,255,.16);max-height:calc(100vh - 76px);overflow-y:auto;padding:16px 4px 20px}
    .mobile-menu[hidden]{display:none}
    .mobile-menu .m-group{margin-bottom:18px}
    .mobile-menu .m-group strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--sun);margin:0 0 8px}
    .mobile-menu button,
    .mobile-menu a{border:0;background:transparent;color:#eef2eb;cursor:pointer;font-weight:700;text-align:left}
    .m-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .m-primary button,
    .m-primary a{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:9px;padding:12px;font-size:15px}
    .m-primary button:last-child,
    .m-primary a:last-child{grid-column:1/-1}
    .mobile-menu .m-all{font-weight:800;color:var(--sun);padding:8px 2px;display:block}
    .m-town{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(255,255,255,.12);padding:2px 0}
    .m-town-name{font-family:"Newsreader",serif;font-size:18px;padding:9px 2px}
    .mobile-menu .town-links button,
    .mobile-menu .town-links a{color:#bcd6c6;font-size:12.5px;padding:7px 7px}
    .m-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}
    .m-links button,
    .m-links a{padding:9px 2px;font-size:14.5px;border-bottom:1px solid rgba(255,255,255,.08)}
    @media(max-width:1240px){.topnav{order:6;flex:1 1 100%;justify-content:flex-start}.topbar .lang-control{margin-left:auto}}
    @media(max-width:860px){.topnav{display:none}.burger{display:block}.topbar .lang-control{margin-left:0}.topbar .island-home{margin-right:auto}}
    @media(max-width:560px){.topbar{gap:7px;padding:9px 10px}.topbar .island-home{padding:8px 9px;font-size:12.5px}.topbar .signup-cta{padding:8px 9px;font-size:11.5px}.lang-control summary{padding:6px 7px}.compare-bar{bottom:14px}.toast{bottom:20px}}

    
    .topbar{background:linear-gradient(180deg,#1a5240 0%,var(--forest) 58%,var(--forest-2) 100%);border-bottom:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 10px 28px rgba(6,25,18,.22)}
    .topbar>*{position:relative;z-index:1}
    .topbar:before{content:"";position:absolute;left:0;right:0;bottom:2px;height:24px;pointer-events:none;opacity:.09;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='24' viewBox='0 0 132 24'%3E%3Cpath d='M14 24 L19 11 L16.5 11 L21 3 L25.5 11 L23 11 L28 24 Z M58 24 L62 14 L60 14 L64 7 L68 14 L66 14 L70 24 Z M102 24 L107.5 9 L104.5 9 L110 1 L115.5 9 L112.5 9 L118 24 Z' fill='%23ffffff'/%3E%3C/svg%3E") left bottom repeat-x}
    .topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;pointer-events:none;background:linear-gradient(90deg,var(--orange) 0%,var(--sun) 45%,rgba(244,188,85,0) 88%)}
    .topbar .island-home{font-family:"Newsreader",serif;font-size:16.5px;letter-spacing:.01em;align-items:center;gap:8px;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border-color:rgba(244,188,85,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 3px 10px rgba(4,20,14,.25);transition:border-color .2s ease,background .2s ease,transform .2s ease}
    .topbar .island-home:before{content:"";width:13px;height:17px;flex:0 0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cpath d='M12 0 L20 13 L16.5 13 L23 23 L14.5 23 L14.5 30 L9.5 30 L9.5 23 L1 23 L7.5 13 L4 13 Z' fill='%23f4bc55'/%3E%3C/svg%3E") center/contain no-repeat}
    .topbar .island-home:hover{border-color:var(--sun);background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.07));transform:translateY(-1px)}
    .topnav>button,.nav-drop>summary,
    .topnav>a{position:relative;transition:background .2s ease,color .2s ease}
    .topnav>button:after,.nav-drop>summary:after,
    .topnav>a:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:var(--sun);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}
    .topnav>button:hover:after,.topnav>button.active:after,.nav-drop>summary:hover:after,.nav-drop[open]>summary:after,
    .topnav>a:hover:after,.topnav>a.active:after{transform:scaleX(1)}
    .topbar .signup-cta{background:linear-gradient(135deg,#ffd97e 0%,var(--sun) 48%,#f0a83e 100%);box-shadow:0 4px 14px rgba(240,168,62,.35),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
    .topbar .signup-cta:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 7px 18px rgba(240,168,62,.45),inset 0 1px 0 rgba(255,255,255,.6)}
    .topbar .lang-control{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.24);border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);transition:background .2s ease,border-color .2s ease}
    .topbar .lang-control:hover{background:rgba(255,255,255,.13);border-color:rgba(244,188,85,.5)}
    .burger{transition:background .2s ease,border-color .2s ease}
    .burger:hover{background:#256048;border-color:rgba(244,188,85,.55)}
    @media(max-width:560px){.topbar .island-home{font-size:13.5px}}
    @media (prefers-reduced-motion:reduce){.topnav>button:after,.nav-drop>summary:after,.topbar .island-home,.topbar .signup-cta,.topnav>button,.nav-drop>summary,.topnav>a:after,.topnav>a{transition:none}}
    
    .map-fallback{z-index:2}
    .mdi-route-map{background:#dcebe2}
    
    .map-legend .legend-dot{display:block;flex:0 0 auto;width:10px;height:10px;min-height:0;padding:0;border-radius:50%}
    .route-pin.landmark{min-height:0;padding:0}

    
    .footer-pro{position:relative;isolation:isolate;overflow:hidden;padding:88px 36px 28px;background:radial-gradient(90% 130px at 50% -30px,rgba(244,188,85,.18),rgba(244,188,85,0) 70%),linear-gradient(180deg,var(--forest-2) 0%,var(--forest) 54%,#1a5240 135%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -26px 38px -26px rgba(244,188,85,.28),inset 0 22px 34px -22px rgba(0,0,0,.55)}
    .footer-pro>*{position:relative;z-index:1}
    .footer-pro:before{content:"";position:absolute;left:0;right:0;top:2px;height:42px;pointer-events:none;transform:scaleX(-1);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='24' viewBox='0 0 132 24'%3E%3Cpath d='M14 24 L19 11 L16.5 11 L21 3 L25.5 11 L23 11 L28 24 Z M58 24 L62 14 L60 14 L64 7 L68 14 L66 14 L70 24 Z M102 24 L107.5 9 L104.5 9 L110 1 L115.5 9 L112.5 9 L118 24 Z' fill='%2304170f' fill-opacity='.5'/%3E%3C/svg%3E") left top repeat-x,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='24' viewBox='0 0 132 24'%3E%3Cpath d='M14 24 L19 11 L16.5 11 L21 3 L25.5 11 L23 11 L28 24 Z M58 24 L62 14 L60 14 L64 7 L68 14 L66 14 L70 24 Z M102 24 L107.5 9 L104.5 9 L110 1 L115.5 9 L112.5 9 L118 24 Z' fill='%23ffffff' fill-opacity='.1'/%3E%3C/svg%3E") 70px 14px repeat-x;background-size:176px 42px,132px 28px}
    .footer-pro:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;pointer-events:none;background:linear-gradient(90deg,rgba(244,188,85,0) 12%,var(--sun) 55%,var(--orange) 100%)}
    .footer-pro .footer-main nav strong{color:var(--sun);padding-bottom:7px;border-bottom:2px solid rgba(244,188,85,.45)}
    .footer-pro .footer-main nav span{color:#cbd8d0}
    .footer-pro .footer-main nav button,.footer-pro .footer-main nav a,
    .footer-pro .footer-main nav a{transition:color .2s ease}
    .footer-pro .footer-main nav button:hover,.footer-pro .footer-main nav a:hover,
    .footer-pro .footer-main nav a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:2px;text-underline-offset:4px}
    .footer-pro .footer-legal{border-top:1px solid rgba(244,188,85,.3);color:#cbd8d0}
    @media(max-width:760px){.footer-pro{padding:76px 20px 22px}}
    @media (prefers-reduced-motion:reduce){.footer-pro .footer-main nav button,.footer-pro .footer-main nav a,.footer-pro .footer-main nav a{transition:none}}

    
    :root{--card:#164235;--card-2:#1b4a3a;--card-line:rgba(255,255,255,.16);--card-text:#eef4ef;--card-muted:#c7d5cf;--card-faint:#a9beb2;--gold:#f2c15f;--card-radius:16px}

    
    .listing-card,.hotel-card,.tour-card,.trail-card,.bike-rental,.rv-card{background:var(--card);color:var(--card-text);border:1px solid var(--card-line);border-radius:var(--card-radius);box-shadow:var(--small-shadow);overflow:hidden}
    .listing-card[data-listing-type]{border-top-color:var(--card-line)}
    .listing-card{padding:0}
    .listing-card-body{padding:22px}
    .trail-card:hover{background:var(--card-2);border-color:rgba(244,188,85,.55)}
    .listing-card h2,.hotel-copy h2,.tour-card h2,.trail-card h3,.bike-rental strong,.rv-card h3{color:#fff}
    .listing-card p,.hotel-copy p,.tour-card p,.trail-card p,.rv-card p{color:#d7e2dc}
    .listing-type,.hotel-kicker,.hotel-kicker .type-label,.tour-label,.bike-rental small,.rv-card small{color:var(--gold)}
    .listing-place,.hotel-copy address,.tour-company,.bike-rental-body address,.rv-card dt{color:var(--card-muted)}
    .listing-card address{color:var(--card-muted)}
    .rv-card dd{color:#fff}
    .hotel-tags span,.tour-facts span{border-color:rgba(255,255,255,.3);color:#e5efe9}
    .tour-facts .tour-rating{background:rgba(244,188,85,.2);border-color:rgba(244,188,85,.55);color:#f7cf7f}
    .tour-location{border-top-color:rgba(255,255,255,.2)}
    .tour-location strong{color:#fff}
    .tour-location address{color:var(--card-muted)}
    .status-note{background:#f6dfaa;color:#34230f}
    .season-note{background:rgba(244,188,85,.18);color:var(--gold)}
    .hours-line{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18)}
    .hours-line strong{color:var(--gold)}
    .hours-line span{color:#fff}
    .hours-line small{color:var(--card-muted)}
    .rating-badge{background:var(--sun);color:#17251f}
    .rating-badge .star{color:#7a3c07}
    .rating-source{color:var(--card-muted)}
    .rating-badge.rating-missing{background:transparent;border:1px solid rgba(255,255,255,.35);color:var(--card-muted)}
    .tour-copy .map-link,.cranberry-card .map-link,.bike-rental-body .map-link{color:var(--gold)}

    
    .trail-card .difficulty{color:#9fd3ae}
    .trail-card .difficulty.hard{color:#f6a97c}
    .trail-card .icon-btn{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
    .trail-card .icon-btn.saved{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff}
    .trail-card .audience-chip{background:rgba(255,255,255,.13);color:#cfe6d4}
    .trail-card .audience-chip.dog{background:rgba(244,188,85,.18);color:var(--gold)}
    .trail-card .trail-facts>span{background:rgba(255,255,255,.08)}
    .trail-card .trail-facts small{color:var(--card-faint)}
    .trail-card .trail-facts strong{color:#fff}
    .trail-card .trail-popularity small{color:var(--card-faint)}
    .trail-card .pine-tree .pine-crown{stroke:#cfe0d6}
    .trail-card .pine-tree .pine-trunk{stroke:#cfe0d6}
    .trail-card .pine-tree.is-filled .pine-crown{fill:var(--sun);stroke:var(--sun)}
    .trail-card .pine-tree.is-filled .pine-trunk{stroke:var(--sun)}
    .trail-card .trailhead-map-link{color:var(--gold)}
    .trail-card .text-btn{color:#fff}
    .trail-card .trail-intel{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#d7e2dc}
    .trail-card .trail-intel summary{color:#fff}
    .trail-card .trail-intel-row{border-top-color:rgba(255,255,255,.14)}
    .trail-card .trail-intel a{color:var(--gold)}

    
    #townPage .town-item{background:var(--card);color:var(--card-text);border-color:var(--card-line);border-top:5px solid var(--sun);border-radius:var(--card-radius);box-shadow:var(--small-shadow);overflow:hidden}
    #townPage #townEat .town-item{background:var(--card);border-top-color:var(--orange)}
    #townPage .town-item strong{color:#fff}
    #townPage .town-item span{color:#d7e2dc}
    #townPage .town-item small{color:var(--gold)}
    #townPage .town-item address{color:var(--card-muted)}
    #townPage .town-item .map-link{color:var(--gold)}

    
    .card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:16px}
    .btn-official,.btn-maps{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:9px;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}
    .btn-official{background:var(--sun);color:#17251f;border:1px solid var(--sun)}
    .btn-official:hover{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff}
    .btn-maps{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.45)}
    .btn-maps:hover{border-color:var(--sun);color:var(--gold)}
    .book-link{flex-basis:100%;font-size:12px;font-weight:700;color:var(--gold);text-decoration:underline;text-underline-offset:3px}
    .hotel-actions{margin-top:auto}
    .listing-card .card-actions a,.hotel-actions a,.rv-card .card-actions a,.bike-rental .card-actions a{margin-top:0}
    .rv-card .card-actions,.bike-rental .card-actions{margin-top:auto}
    .rv-card a.btn-official,.bike-rental a.btn-official,.cranberry-card-actions a.btn-official{color:#17251f}
    .rv-card a.btn-maps,.bike-rental a.btn-maps,.cranberry-card-actions a.btn-maps{color:#fff}
    .cranberry-card-actions{gap:8px}
    .town-item-actions a.btn-official,.town-item-actions a.btn-maps{min-height:42px;padding:10px 13px;font-size:13px;border-radius:9px}
    .town-item-actions a.btn-official,#townPage .town-item-actions a.btn-official{background:var(--sun);color:#17251f;border:1px solid var(--sun)}
    .town-item-actions a.btn-maps,#townPage .town-item-actions a.btn-maps{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.45)}
    .town-item-actions .book-link,#townPage .town-item-actions .book-link{background:transparent;border:0;color:var(--gold);padding:2px}
    .tour-actions{gap:8px}
    .tour-actions a{border-radius:9px;min-height:42px;padding:10px 13px;font-size:13px}
    .tour-actions .hotel-link{background:var(--sun);color:#17251f;border:1px solid var(--sun)}
    .tour-actions .hotel-link:hover{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff}
    .tour-actions .map-link{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.45);text-decoration:none;margin:0}
    .tour-actions .map-link:hover{border-color:var(--sun);color:var(--gold)}

    
    .bar-nightlife{border-radius:20px;overflow:hidden}
    .bar-nightlife .eyebrow{color:var(--sun)}
    .bar-spotlight{gap:14px;background:transparent}
    .bar-spotlight article{border:1px solid var(--card-line);border-radius:14px;overflow:hidden}
    .bar-spotlight .card-actions{margin-top:auto}
    .bar-spotlight .dir-link{margin-top:10px;background:transparent;color:var(--gold);border:0;padding:4px 2px;font-weight:800;text-decoration:underline;text-underline-offset:3px;align-self:flex-start;cursor:pointer}

    
    .cranberry-grid{gap:14px;background:transparent;border:0}
    .cranberry-card{border:1px solid var(--card-line);border-radius:var(--card-radius);box-shadow:var(--small-shadow)}

    
    .guide-card,.blog-card,.water-card,.ranked-card,.worth-card,.home-hike-card,.basic-card,.status-card,.network-card,.weather-source,.desk-preview-card,.audience-block,.mobility-card,.island-choice,.price-card,.pick,.feature-card,.stay-preview-card,.discovery-panel,.audience-preview-card,.planner-card,.side-panel,.matcher-card,.day-output,.month-detail,.landmark,.hike-row,.route-card,.town-overview-card{border-radius:var(--card-radius)}
    .guide-card,.blog-card,.water-card,.ranked-card,.worth-card,.home-hike-card,.basic-card,.status-card,.network-card,.weather-source,.desk-preview-card,.audience-block,.mobility-card,.island-choice,.price-card,.hike-row{box-shadow:var(--small-shadow)}
    .guide-card,.blog-card,.water-card,.home-hike-card{overflow:hidden}
    .basics-grid,.status-grid,.weather-grid,.desk-preview-grid,.place-key,.sun-grid{gap:14px;background:transparent;border:0}
    .basic-card,.status-card,.weather-source,.desk-preview-card,.place-key div,.sun-stat,.sun-note{border:1px solid var(--line)}
    .place-key div,.sun-stat,.sun-note{border-radius:12px}
    .trail-grid{gap:18px}

    
    .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,18,14,.02) 10%,rgba(7,18,14,.18) 45%,rgba(7,18,14,.86) 100%);pointer-events:none}

    

    
    .today-tool{grid-template-rows:132px 1fr;min-height:0}
    .tool-photo{overflow:hidden}
    .today-tool.cal-open{overflow:visible}
    .today-tool-copy{padding:18px 20px 20px}
    .today-tool-copy h3{font-size:clamp(25px,2.6vw,32px)}
    .sun-date-control{position:relative;margin-top:10px;padding:9px 11px}
    .home-sun-grid{margin-top:14px}
    .home-sun-grid div{padding:10px 12px}
    .home-sun-grid strong{font-size:24px;margin-top:4px}
    .today-badge{margin-top:10px;padding:5px 9px}

    
    .sun-date-btn{grid-column:2;grid-row:1/3;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;width:100%;min-height:44px;border:1px solid rgba(255,255,255,.28);background:#fffdf8;color:#152820;padding:9px 12px;font-weight:700;cursor:pointer;border-radius:8px;text-align:left}
    .sun-date-btn:focus-visible{outline:2px solid var(--sun);outline-offset:2px}
    .sun-date-caret{color:var(--orange-deep);font-size:13px}
    .sun-cal{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:min(356px,88vw);background:#fffdf8;color:#152820;border-radius:14px;box-shadow:0 24px 60px rgba(6,20,14,.38);padding:12px 10px;text-align:left}
    .sun-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
    .sun-cal-head strong{font-family:"Newsreader",serif;font-size:20px;color:#133f32}
    .sun-cal-nav{width:44px;height:44px;flex:none;border-radius:50%;border:1px solid #c9cec4;background:transparent;color:#133f32;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s ease}
    .sun-cal-nav:hover:not(:disabled){background:var(--sun);border-color:var(--sun)}
    .sun-cal-nav:disabled{opacity:.28;cursor:default}
    .sun-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:3px}
    .sun-cal-week span{text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#5d6962;padding:4px 0}
    .sun-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
    .sun-cal-cell{height:44px}
    .sun-cal-day{height:44px;border:0;border-radius:10px;background:transparent;color:#152820;font-weight:700;font-size:15px;cursor:pointer;transition:background .12s ease}
    .sun-cal-day:hover:not(:disabled){background:#ebe8df}
    .sun-cal-day:disabled{color:#b9beb4;cursor:default}
    .sun-cal-day.today{box-shadow:inset 0 0 0 2px var(--orange-deep)}
    .sun-cal-day.sel{background:var(--sun);color:#17251f}
    .sun-cal-day.sel:hover{background:var(--sun)}
    .sun-cal-today{margin-top:10px;width:100%;border:1px solid #c9cec4;background:transparent;color:var(--orange-deep);font-weight:800;padding:10px;border-radius:9px;cursor:pointer}
    .sun-cal-today:hover{background:#ebe8df}
    @media(max-width:560px){.today-tool{grid-template-rows:104px auto}.today-tool-copy{padding:16px}.sun-date-control{grid-template-columns:1fr}.sun-date-btn{grid-column:1;grid-row:auto}}

    
    .worth-card{background:var(--card);color:var(--card-text);border-color:var(--card-line)}
    .worth-card:hover{background:var(--card-2);border-color:rgba(244,188,85,.55)}
    .worth-copy h3{color:#fff}
    .worth-card:hover h3{color:var(--gold)}
    .worth-copy p{color:#d7e2dc}
    .worth-card .trail-facts>span{background:rgba(255,255,255,.08);color:#fff}
    .worth-card .trail-facts small,.worth-card .trail-popularity small{color:var(--card-faint)}
    .worth-card .trail-facts strong{color:#fff}
    .worth-card .pine-tree .pine-crown{stroke:#cfe0d6}
    .worth-card .pine-tree .pine-trunk{stroke:#cfe0d6}
    .worth-card .pine-tree.is-filled .pine-crown{fill:var(--sun);stroke:var(--sun)}
    .worth-card .pine-tree.is-filled .pine-trunk{stroke:var(--sun)}
    .worth-card .trailhead-map-link{color:var(--gold)}
    .worth-card .trail-intel{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#d7e2dc}
    .worth-card .trail-intel summary{color:#fff}
    .worth-card .trail-intel summary:after{color:var(--gold)}
    .worth-card .trail-intel-row{border-top-color:rgba(255,255,255,.14)}
    .worth-card .trail-intel-row b{color:var(--card-faint)}
    .worth-card .trail-intel-row span{color:#fff}
    .worth-card .trail-intel a{color:var(--gold)}
    .worth-card .trail-intel-actions a,.worth-card .trail-intel-actions button,.worth-card .trail-intel-actions a{border-color:rgba(255,255,255,.35);color:var(--gold);background:transparent}
    .callout{background:var(--card);color:var(--card-muted);border-top:3px solid var(--sun);border-radius:var(--card-radius);box-shadow:var(--small-shadow)}
    .callout strong{color:#fff}
    .detail-practical{gap:10px;background:transparent;border:0}
    .detail-practical-card{background:var(--card);color:var(--card-text);border:1px solid var(--card-line);border-radius:12px;box-shadow:var(--small-shadow)}
    .detail-practical-card.key{background:var(--card-2)}
    .detail-practical-card b{color:var(--gold)}
    .detail-practical-card span{color:#eef4ef}
    .detail-practical .trail-popularity small{color:var(--card-faint)}
    .detail-practical .pine-tree .pine-crown{stroke:#cfe0d6}
    .detail-practical .pine-tree .pine-trunk{stroke:#cfe0d6}
    .detail-practical .pine-tree.is-filled .pine-crown{fill:var(--sun);stroke:var(--sun)}
    .detail-practical .pine-tree.is-filled .pine-trunk{stroke:var(--sun)}
    .detail-practical-actions{background:var(--card);border:1px solid var(--card-line);border-radius:12px}
    .detail-practical-actions a,.detail-practical-actions button,.detail-practical-actions a{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.06);color:#fff;border-radius:9px}
    .detail-practical-actions a:hover,.detail-practical-actions button:hover,.detail-practical-actions a:hover{border-color:var(--sun);color:var(--gold)}
    .detail-practical-actions .trailhead-map-link{color:var(--gold)}
    .side-panel .primary{background:var(--sun);color:#17251f;border-radius:9px}
    .side-panel .primary:hover{background:var(--orange-deep);color:#fff}
    .side-panel .intel-inline-action{border-radius:9px}
    .detail-hero .stat{border-radius:12px}
    .detail-hero .trail-popularity small{color:#cfd9d4}
    .detail-hero .pine-tree .pine-crown{stroke:#cfe0d6}
    .detail-hero .pine-tree .pine-trunk{stroke:#cfe0d6}
    .detail-hero .pine-tree.is-filled .pine-crown{fill:var(--sun);stroke:var(--sun)}
    .detail-hero .pine-tree.is-filled .pine-trunk{stroke:var(--sun)}

    
    .home-town{position:relative;transition:box-shadow .25s ease,border-color .25s ease}
    .home-town img{transition:transform .5s ease}
    .home-town:hover{border-color:rgba(244,188,85,.65);box-shadow:var(--shadow)}
    .home-town:hover img{transform:scale(1.03)}
    .home-town:hover h3{color:var(--orange-deep)}
    .home-town .town-card-link{margin-top:auto;align-self:flex-start;color:var(--moss);font-weight:900;text-decoration:none;cursor:pointer}
    .home-town:hover .town-card-link{color:var(--orange-deep)}
    .home-town .town-card-link::after{content:"";position:absolute;inset:0}
    .home-town .town-card-link:focus-visible{outline:none}
    .home-town:focus-within{outline:2px solid var(--orange-deep);outline-offset:3px}
    .home-town a:not(.town-card-link),.home-town button,.home-town a{position:relative;z-index:2}

    
    .matcher-result-media{display:flex;align-items:center;gap:14px;margin:12px 0 2px}
    .matcher-result-media img{width:118px;height:86px;flex:none;object-fit:cover;border-radius:12px;box-shadow:var(--small-shadow);background:var(--forest-2)}
    .matcher-result-facts{font-size:13px;font-weight:800;color:var(--sun);letter-spacing:.02em;line-height:1.45}
    @media(max-width:640px){.matcher-result-media img{width:100px;height:76px}}

    
    .nav-panel{border-radius:14px;padding:12px}
    .nav-drop[open] .nav-panel{animation:navPanelIn .18s ease}
    @keyframes navPanelIn{from{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
    .town-row{padding:2px 4px;border-radius:10px;transition:background .18s ease}
    .town-row:hover{background:color-mix(in srgb,var(--paper-2) 75%,transparent)}
    .nav-panel .town-row .town-name{display:flex;align-items:center;gap:9px;font-size:18px;padding:10px}
    .nav-panel .town-row .town-name::before{content:"";width:15px;height:15px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f4bc55' stroke='%23b34a1e' stroke-width='1.6'%3E%3Cpath d='M12 21.5s-6.8-5.3-6.8-10.7a6.8 6.8 0 1 1 13.6 0c0 5.4-6.8 10.7-6.8 10.7z'/%3E%3Ccircle cx='12' cy='10.6' r='2.4' fill='%23fffdf8' stroke='none'/%3E%3C/svg%3E") center/contain no-repeat}
    .nav-panel .town-links{gap:6px}
    .nav-panel .town-links button,
    .nav-panel .town-links a{border:1px solid color-mix(in srgb,var(--moss) 45%,transparent);border-radius:999px;padding:6px 11px;font-size:12.5px;background:color-mix(in srgb,var(--paper-2) 65%,transparent);transition:background .15s ease,color .15s ease,border-color .15s ease}
    .nav-panel .town-links button:hover,
    .nav-panel .town-links a:hover{background:var(--sun);border-color:var(--sun);color:#17251f}
    .nav-panel .panel-all{font-size:15px}

    
    .route-mode-tabs{gap:10px}
    .route-mode{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .12s ease}
    .route-mode::before{content:"";width:21px;height:21px;flex:none;background-color:var(--moss);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
    .route-mode[data-route-mode="foot"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13.2' cy='4.2' r='2' fill='black' stroke='none'/%3E%3Cpath d='M12.8 7 10.6 11.2l2.3 2.3.8 4.8M10.6 11.2 7.8 13M10.6 11.2l-1.1 4.3-2.4 3.4M12.8 7l2.4 1.8 2.1.5M12.9 13.5l2.8 1.5 1.3 3.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13.2' cy='4.2' r='2' fill='black' stroke='none'/%3E%3Cpath d='M12.8 7 10.6 11.2l2.3 2.3.8 4.8M10.6 11.2 7.8 13M10.6 11.2l-1.1 4.3-2.4 3.4M12.8 7l2.4 1.8 2.1.5M12.9 13.5l2.8 1.5 1.3 3.8'/%3E%3C/svg%3E")}
    .route-mode[data-route-mode="bike"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6.5' cy='16.5' r='3.6'/%3E%3Ccircle cx='17.5' cy='16.5' r='3.6'/%3E%3Cpath d='M6.5 16.5 10 9.5h4l3.5 7M10 9.5 8.7 6H6.2M14 9.5 15.4 6h2.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6.5' cy='16.5' r='3.6'/%3E%3Ccircle cx='17.5' cy='16.5' r='3.6'/%3E%3Cpath d='M6.5 16.5 10 9.5h4l3.5 7M10 9.5 8.7 6H6.2M14 9.5 15.4 6h2.4'/%3E%3C/svg%3E")}
    .route-mode[data-route-mode="car"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 15.5v-2L5.8 8a2 2 0 0 1 1.9-1.3h8.6A2 2 0 0 1 18.2 8l2.3 5.5v2'/%3E%3Cpath d='M2.8 15.5h18.4'/%3E%3Ccircle cx='7.3' cy='17.6' r='1.7'/%3E%3Ccircle cx='16.7' cy='17.6' r='1.7'/%3E%3Cpath d='M9 17.6h6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 15.5v-2L5.8 8a2 2 0 0 1 1.9-1.3h8.6A2 2 0 0 1 18.2 8l2.3 5.5v2'/%3E%3Cpath d='M2.8 15.5h18.4'/%3E%3Ccircle cx='7.3' cy='17.6' r='1.7'/%3E%3Ccircle cx='16.7' cy='17.6' r='1.7'/%3E%3Cpath d='M9 17.6h6'/%3E%3C/svg%3E")}
    .route-mode:hover{border-color:var(--moss)}
    .route-mode:active{transform:scale(.98)}
    .route-mode.active{background:linear-gradient(180deg,var(--forest),var(--forest-2));border-color:var(--forest);color:#fff;box-shadow:0 8px 20px rgba(18,42,33,.25)}
    .route-mode.active::before{background-color:var(--sun)}
    @media(max-width:600px){.route-mode::before{width:18px;height:18px}.route-mode{gap:6px}}
    @media (prefers-reduced-motion:reduce){.nav-drop[open] .nav-panel{animation:none}.home-town img,.route-mode{transition:none}}

    
    .blog-pagination button,

    
    .blog-pagination a{background:var(--card);color:#fff;border:1px solid var(--card-line);border-radius:9px;min-height:44px;padding:11px 18px}
    .blog-pagination button:hover:not(:disabled),
    .blog-pagination a:hover:not(:disabled){background:var(--card-2);border-color:var(--sun)}
    .blog-pagination button:disabled,
    .blog-pagination a:disabled{background:var(--paper-2);color:var(--muted);border:1px solid var(--line);opacity:1;cursor:not-allowed}
    .blog-pagination span{font-weight:800;color:var(--muted);font-size:14px}

    
    .weather-practical .season-cell{padding:0 0 18px}
    .weather-practical .season-cell img{display:block;width:100%;height:112px;object-fit:cover;margin-bottom:14px}
    .weather-practical .season-cell strong,.weather-practical .season-cell span{padding-left:20px;padding-right:20px}

    
    #audiencesPage .audience-block p{font-size:17.5px;line-height:1.65}
    #audiencesPage .audience-block h2{font-size:42px}
    #audiencesPage .pick strong{font-size:17px}
    #audiencesPage .pick small{font-size:14.5px;line-height:1.5}
    #audiencesPage .pick .pick-reason{font-size:14px}
    #audiencesPage .pick .trail-facts small{font-size:.72rem}
    #audiencesPage .pick .trail-facts strong{font-size:.92rem}
    #audiencesPage .rules-band li{font-size:17px;line-height:1.6}
    #audiencesPage .rules-band p{font-size:16px;line-height:1.6}
    .audience-visuals-2{padding:26px 0 0}
    .audience-visuals-2 .audience-visual{min-height:260px}

    
    .status-card{position:relative;transition:box-shadow .25s ease,border-color .25s ease}
    .status-card:hover{border-color:rgba(244,188,85,.65);box-shadow:var(--shadow)}
    .status-card:hover h2{color:var(--orange-deep)}
    .status-card a::after{content:"";position:absolute;inset:0}
    .status-card a:focus-visible{outline:none}
    .status-card:focus-within{outline:2px solid var(--orange-deep);outline-offset:3px}
    #accessPage .season{padding:0 22px 18px}
    #accessPage .season-photo{display:block;width:calc(100% + 44px);height:104px;object-fit:cover;margin:0 -22px 14px}
    @media (prefers-reduced-motion:reduce){.status-card{transition:none}}

    
    .guide-card{position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
    .guide-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(244,188,85,.55)}
    .guide-card .guide-card-body>button::after,.guide-card .guide-card-body>a::after,
    .guide-card .guide-card-body>a::after{content:"";position:absolute;inset:0}
    .guide-card:focus-within{outline:2px solid var(--orange-deep);outline-offset:3px}
    .guide-card .guide-card-body>button:focus-visible,.guide-card .guide-card-body>a:focus-visible,
    .guide-card .guide-card-body>a:focus-visible{outline:none}
    .guide-hub-card{position:relative}
    .guide-hub-card button::after,
    .guide-hub-card a::after{content:"";position:absolute;inset:0}
    .guide-hub-card:focus-within{outline:2px solid var(--orange-deep);outline-offset:3px}
    .guide-hub-card button:focus-visible,
    .guide-hub-card a:focus-visible{outline:none}
    .blog-card{position:relative;transition:box-shadow .25s ease,border-color .25s ease}
    .blog-card:hover{border-color:rgba(244,188,85,.6);box-shadow:var(--shadow)}
    .blog-card .blog-links a::after,.blog-card .blog-links button::after,.blog-card .blog-links a::after{content:"";position:absolute;inset:0}
    .blog-card:focus-within{outline:2px solid var(--orange-deep);outline-offset:3px}
    .blog-card .blog-links a:focus-visible,.blog-card .blog-links button:focus-visible,.blog-card .blog-links a:focus-visible{outline:none}
    .worth-card .worth-actions a::after{content:"";position:absolute;inset:0}
    .worth-card .trip-btn{z-index:2}
    .airport-card{position:relative;transition:box-shadow .25s ease,border-color .25s ease}
    .airport-card:hover{border-color:rgba(244,188,85,.6);box-shadow:var(--shadow)}
    .airport-card a::after{content:"";position:absolute;inset:0}
    .airport-card:focus-within{outline:2px solid var(--orange-deep);outline-offset:3px}
    .airport-card a:focus-visible{outline:none}
    .airport-link{display:inline-block;margin-top:12px;font-weight:800;text-decoration:none}
    @media(min-width:900px){.airport-compare{grid-template-columns:repeat(3,1fr)}}
    @media (prefers-reduced-motion:reduce){.guide-card,.blog-card,.airport-card{transition:none}.guide-card:hover{transform:none}}

    
    .etq-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid rgba(244,188,85,.75);border-radius:50%;margin-bottom:12px;background:rgba(244,188,85,.1)}
    .etq-icon svg{width:23px;height:23px;stroke:var(--sun);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    #stargazingPage .etiquette-facts .guide-fact strong{font-size:20px}
    #stargazingPage .etiquette-facts .guide-fact span{font-size:15.5px;line-height:1.6}
    #stargazingPage .etiquette-facts .etq-icon{display:flex;align-items:center;justify-content:center;margin:0 0 12px;flex:none}
    #stargazingPage .etiquette-facts .etq-icon svg{display:block;flex:none}
    .airport-tag{display:inline-block;margin-bottom:10px;padding:5px 10px;border:1.5px solid rgba(201,124,42,.55);border-radius:999px;color:var(--orange-deep);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

    
    #campingPage .rv-section-head p{font-size:17.5px;line-height:1.65}
    .private-rv-grid .rv-card p{font-size:16.5px;line-height:1.62}
    #campingPage .rv-card dd{font-size:15.5px}
    .rv-section-visual{margin:0 0 22px;border-radius:var(--card-radius);overflow:hidden;background:var(--card)}
    .rv-section-visual img{display:block;width:100%;height:300px;object-fit:cover}
    .rv-section-visual figcaption{color:#fff;font-size:14.5px;line-height:1.5;padding:12px 18px}

    
    .budget-form{display:grid;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--card-radius);padding:22px;box-shadow:var(--shadow)}
    .budget-group{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
    .budget-group-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--moss)}
    .budget-group-label svg{width:19px;height:19px;stroke:var(--orange-deep);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
    .stepper-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px}
    .stepper-field label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}
    .stepper{display:flex;align-items:center;gap:10px}
    .stepper button,
    .stepper a{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--moss);background:transparent;color:var(--forest);font-size:21px;font-weight:800;line-height:1;cursor:pointer;transition:background .2s,color .2s}
    .stepper button:hover,
    .stepper a:hover{background:var(--forest);color:#fff}
    .stepper input{width:64px;text-align:center;font-size:18px;font-weight:700;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
    .seg{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
    .seg-opt{position:relative;cursor:pointer}
    .seg-opt input{position:absolute;opacity:0;width:1px;height:1px;left:10px;top:10px}
    .seg-opt span{display:inline-block;padding:10px 16px;border:1.5px solid var(--moss);border-radius:999px;font-size:15px;font-weight:700;color:var(--forest);background:transparent;transition:background .2s,color .2s,border-color .2s}
    .seg-opt:hover span{border-color:var(--orange-deep)}
    .seg-opt input:checked+span{background:var(--forest);border-color:var(--forest);color:#fff}
    .seg-opt input:focus-visible+span{outline:2px solid var(--orange-deep);outline-offset:2px}
    .budget-submit{justify-self:start}
    @media (prefers-reduced-motion:reduce){.stepper button,.seg-opt span,.stepper a{transition:none}}

    
    .budget-shell{grid-template-columns:minmax(0,1.32fr) minmax(330px,.88fr);align-items:start}
    .budget-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}
    .budget-group{padding:12px 14px}
    .budget-group-label{font-size:12px}
    .seg{margin-top:9px;gap:6px}
    .seg-opt span{padding:8px 12px;font-size:14px}
    .stepper-row{margin-top:10px;gap:14px}
    .stepper{gap:8px}
    .stepper button,
    .stepper a{width:38px;height:38px;font-size:19px}
    .stepper input{width:56px;padding:8px 6px;font-size:16px}
    .budget-form .budget-submit{grid-column:1/-1;margin-top:4px}
    .budget-result{position:sticky;top:calc(var(--header-h,63px) + 16px);min-height:0;padding:24px}
    @media(max-width:860px){.budget-shell{grid-template-columns:1fr}.budget-result{position:static}.budget-total{font-size:40px}}
    @media(max-width:640px){.budget-form{grid-template-columns:1fr}.budget-result{padding:20px 18px}}

    
    .ranked-card,.worth-card,.home-hike-card,.trail-card,.hike-row,.home-town,.town-overview-card,.town-item,.hotel-card,.stay-preview-card,.listing-card,.tour-card,.cranberry-card,.rv-card,.bar-spotlight,.guide-card,.guide-hub-card,.basic-card,.basics-preview-card,.desk-preview-card,.audience-preview-card,.coast-planning-card,.planner-card,.matcher-card,.status-card,.network-card,.airport-card,.weather-card,.weather-source,.audience-block,.detail-practical-card,.pick,.island-choice,.route-card,.landmark,.feature-card,.blog-card,.tool-teaser,.fact-link,.discovery-panel,.update-teasers article,.condition-teasers article{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
    .ranked-card:hover,.worth-card:hover,.home-hike-card:hover,.trail-card:hover,.hike-row:hover,.home-town:hover,.town-overview-card:hover,.town-item:hover,.hotel-card:hover,.stay-preview-card:hover,.listing-card:hover,.tour-card:hover,.cranberry-card:hover,.rv-card:hover,.bar-spotlight:hover,.guide-card:hover,.guide-hub-card:hover,.basic-card:hover,.basics-preview-card:hover,.desk-preview-card:hover,.audience-preview-card:hover,.coast-planning-card:hover,.planner-card:hover,.matcher-card:hover,.status-card:hover,.network-card:hover,.airport-card:hover,.weather-card:hover,.weather-source:hover,.audience-block:hover,.detail-practical-card:hover,.pick:hover,.island-choice:hover,.route-card:hover,.landmark:hover,.feature-card:hover,.blog-card:hover,.tool-teaser:hover,.fact-link:hover,.discovery-panel:hover,.update-teasers article:hover,.condition-teasers article:hover,
    .ranked-card:active,.worth-card:active,.home-hike-card:active,.trail-card:active,.hike-row:active,.home-town:active,.town-overview-card:active,.town-item:active,.hotel-card:active,.stay-preview-card:active,.listing-card:active,.tour-card:active,.cranberry-card:active,.rv-card:active,.bar-spotlight:active,.guide-card:active,.guide-hub-card:active,.basic-card:active,.basics-preview-card:active,.desk-preview-card:active,.audience-preview-card:active,.coast-planning-card:active,.planner-card:active,.matcher-card:active,.status-card:active,.network-card:active,.airport-card:active,.weather-card:active,.weather-source:active,.audience-block:active,.detail-practical-card:active,.pick:active,.island-choice:active,.route-card:active,.landmark:active,.feature-card:active,.blog-card:active,.tool-teaser:active,.fact-link:active,.discovery-panel:active,.update-teasers article:active,.condition-teasers article:active,
    .ranked-card:focus-visible,.worth-card:focus-visible,.home-hike-card:focus-visible,.trail-card:focus-visible,.hike-row:focus-visible,.home-town:focus-visible,.town-overview-card:focus-visible,.town-item:focus-visible,.hotel-card:focus-visible,.stay-preview-card:focus-visible,.listing-card:focus-visible,.tour-card:focus-visible,.cranberry-card:focus-visible,.rv-card:focus-visible,.bar-spotlight:focus-visible,.guide-card:focus-visible,.guide-hub-card:focus-visible,.basic-card:focus-visible,.basics-preview-card:focus-visible,.desk-preview-card:focus-visible,.audience-preview-card:focus-visible,.coast-planning-card:focus-visible,.planner-card:focus-visible,.matcher-card:focus-visible,.status-card:focus-visible,.network-card:focus-visible,.airport-card:focus-visible,.weather-card:focus-visible,.weather-source:focus-visible,.audience-block:focus-visible,.detail-practical-card:focus-visible,.pick:focus-visible,.island-choice:focus-visible,.route-card:focus-visible,.landmark:focus-visible,.feature-card:focus-visible,.blog-card:focus-visible,.tool-teaser:focus-visible,.fact-link:focus-visible,.discovery-panel:focus-visible,.update-teasers article:focus-visible,.condition-teasers article:focus-visible,
    .ranked-card:focus-within,.worth-card:focus-within,.home-hike-card:focus-within,.trail-card:focus-within,.hike-row:focus-within,.town-overview-card:focus-within,.town-item:focus-within,.hotel-card:focus-within,.stay-preview-card:focus-within,.listing-card:focus-within,.tour-card:focus-within,.cranberry-card:focus-within,.rv-card:focus-within,.bar-spotlight:focus-within,.guide-card:focus-within,.guide-hub-card:focus-within,.basic-card:focus-within,.basics-preview-card:focus-within,.desk-preview-card:focus-within,.audience-preview-card:focus-within,.coast-planning-card:focus-within,.planner-card:focus-within,.matcher-card:focus-within,.status-card:focus-within,.network-card:focus-within,.airport-card:focus-within,.weather-card:focus-within,.weather-source:focus-within,.audience-block:focus-within,.detail-practical-card:focus-within,.pick:focus-within,.island-choice:focus-within,.route-card:focus-within,.landmark:focus-within,.feature-card:focus-within,.blog-card:focus-within,.tool-teaser:focus-within,.fact-link:focus-within,.discovery-panel:focus-within,.update-teasers article:focus-within,.condition-teasers article:focus-within,.home-town:focus-within{border-color:rgba(244,188,85,.78);box-shadow:0 0 0 2px rgba(244,188,85,.45),0 0 26px rgba(244,188,85,.38),var(--shadow);transform:translateY(-3px)}
    @media (prefers-reduced-motion:reduce){
      .ranked-card,.worth-card,.home-hike-card,.trail-card,.hike-row,.home-town,.town-overview-card,.town-item,.hotel-card,.stay-preview-card,.listing-card,.tour-card,.cranberry-card,.rv-card,.bar-spotlight,.guide-card,.guide-hub-card,.basic-card,.basics-preview-card,.desk-preview-card,.audience-preview-card,.coast-planning-card,.planner-card,.matcher-card,.status-card,.network-card,.airport-card,.weather-card,.weather-source,.audience-block,.detail-practical-card,.pick,.island-choice,.route-card,.landmark,.feature-card,.blog-card,.tool-teaser,.fact-link,.discovery-panel,.update-teasers article,.condition-teasers article{transition:none}
      .ranked-card:hover,.worth-card:hover,.home-hike-card:hover,.trail-card:hover,.hike-row:hover,.home-town:hover,.town-overview-card:hover,.town-item:hover,.hotel-card:hover,.stay-preview-card:hover,.listing-card:hover,.tour-card:hover,.cranberry-card:hover,.rv-card:hover,.bar-spotlight:hover,.guide-card:hover,.guide-hub-card:hover,.basic-card:hover,.basics-preview-card:hover,.desk-preview-card:hover,.audience-preview-card:hover,.coast-planning-card:hover,.planner-card:hover,.matcher-card:hover,.status-card:hover,.network-card:hover,.airport-card:hover,.weather-card:hover,.weather-source:hover,.audience-block:hover,.detail-practical-card:hover,.pick:hover,.island-choice:hover,.route-card:hover,.landmark:hover,.feature-card:hover,.blog-card:hover,.tool-teaser:hover,.fact-link:hover,.discovery-panel:hover,.update-teasers article:hover,.condition-teasers article:hover,
      .ranked-card:active,.worth-card:active,.home-hike-card:active,.trail-card:active,.hike-row:active,.home-town:active,.town-overview-card:active,.town-item:active,.hotel-card:active,.stay-preview-card:active,.listing-card:active,.tour-card:active,.cranberry-card:active,.rv-card:active,.bar-spotlight:active,.guide-card:active,.guide-hub-card:active,.basic-card:active,.basics-preview-card:active,.desk-preview-card:active,.audience-preview-card:active,.coast-planning-card:active,.planner-card:active,.matcher-card:active,.status-card:active,.network-card:active,.airport-card:active,.weather-card:active,.weather-source:active,.audience-block:active,.detail-practical-card:active,.pick:active,.island-choice:active,.route-card:active,.landmark:active,.feature-card:active,.blog-card:active,.tool-teaser:active,.fact-link:active,.discovery-panel:active,.update-teasers article:active,.condition-teasers article:active{transform:none}
    }

    
    .topic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
    .topic-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--small-shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
    .topic-card img{width:100%;height:185px;object-fit:cover;display:block}
    .topic-card-body{padding:20px;display:flex;flex-direction:column;flex:1}
    .topic-card small{color:var(--orange-deep);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
    .topic-card h3{font-size:27px;line-height:1.05;margin:8px 0 7px}
    .topic-card p{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0 0 16px}
    .topic-card button,
    .topic-card a{margin-top:auto;align-self:flex-start;border:0;background:transparent;color:var(--moss);padding:0;font-weight:900;cursor:pointer}
    .topic-card button::after,
    .topic-card a::after{content:"";position:absolute;inset:0}
    .topic-card button:focus-visible,
    .topic-card a:focus-visible{outline:none}
    .topic-card:focus-within{outline:2px solid var(--orange-deep);outline-offset:3px}
    .topic-card:hover,.topic-card:active,.topic-card:focus-visible,.topic-card:focus-within{border-color:rgba(244,188,85,.78);box-shadow:0 0 0 2px rgba(244,188,85,.45),0 0 26px rgba(244,188,85,.38),var(--shadow);transform:translateY(-3px)}
    #audiencesPage .photo-credit{margin:16px 0 30px}
    #audiencesPage .audience-block,#audiencesPage .rules-band{scroll-margin-top:92px}
    @media(max-width:900px){.topic-cards{grid-template-columns:1fr 1fr}}
    @media(max-width:640px){.topic-cards{grid-template-columns:1fr}.topic-card img{height:200px}}
    @media (prefers-reduced-motion:reduce){.topic-card{transition:none}.topic-card:hover,.topic-card:active{transform:none}}

    
    button.guide-fact.fact-link,

    
    a.guide-fact.fact-link{font:inherit;color:inherit;text-align:left;cursor:pointer;border:0;width:100%;display:block}
    .guide-fact.fact-link strong::after{content:" →";font-family:"DM Sans",sans-serif;font-size:15px;font-weight:800;color:var(--orange-deep)}

    
    .today-tool-copy>p{font-size:17px}

    
    .guides-panel{gap:4px 22px}
    .guides-panel .panel-group strong{font-size:11.5px;color:var(--orange-deep);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);padding:6px 10px 7px;margin-bottom:5px}
    .guides-panel .panel-group button,
    .guides-panel .panel-group a{display:flex;align-items:center;gap:10px;font-size:15px;padding:8px 10px;transition:background .15s ease,color .15s ease}
    .guides-panel .g-ico{width:27px;height:27px;flex:none;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--sun) 24%,transparent);color:var(--orange-deep);transition:background .15s ease,color .15s ease}
    .guides-panel .g-ico svg{width:15.5px;height:15.5px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .guides-panel .panel-group button:hover .g-ico,.guides-panel .panel-group button:focus-visible .g-ico,
    .guides-panel .panel-group a:hover .g-ico,.guides-panel .panel-group a:focus-visible .g-ico{background:var(--sun);color:#17251f}
  
/* Multipage parity: converted nav anchors keep button typography */
a[data-page]{font:inherit;text-decoration:none;cursor:pointer}

@media(prefers-color-scheme:dark){.trip-count,.searchbox button,.searchbox a,.recommend button,.recommend a,.icon-btn.saved,.primary,.compare-bar button,.compare-bar a,.hotel-link:hover,.builder-start button,.builder-start a,.rank-number,.budget-form button,.budget-form a,.catalog-cta button,.catalog-cta a,.btn-official:hover,.tour-actions .hotel-link:hover,.side-panel .primary:hover,.day-actions .save-day,.matcher-actions .match-primary{color:#26160a}}

/* Mobile search toolbars (Hiking / Stays / Eat & Drink): the search field sits on
   its own compact ~50px row, "My trip" stays beside it, and the filter chips form
   ONE horizontally scrollable strip below — never a vertical column, never an
   overlap, and the field never stretches to the height of the chip list. */
@media(max-width:900px){
  .index-tools{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"search trip" "filters filters" "count count";align-items:center;gap:10px}
  .index-tools .trip-btn-tools{grid-area:trip;grid-column:auto;grid-row:auto;justify-self:end;align-self:center;padding:9px 13px}
  .index-tools .field{grid-area:search;width:100%;min-width:0;height:50px}
  .index-tools .filters{grid-area:filters}
  .index-tools .result-count{grid-area:count}
  .hotel-tools{grid-template-columns:minmax(0,1fr);grid-template-areas:"search" "filters" "count";gap:10px}
  .hotel-tools .field{grid-area:search;width:100%;min-width:0;height:50px}
  .hotel-tools .filter-groups{grid-area:filters}
  .hotel-tools .result-count{grid-area:count}
  .listing-tools{grid-template-columns:minmax(0,1fr);grid-template-areas:"search" "filters" "count";gap:10px}
  .listing-tools .field{grid-area:search;width:100%;min-width:0;height:50px}
  .listing-tools .filters{grid-area:filters}
  .listing-tools .result-count{grid-area:count}
  .index-tools .filters,.listing-tools .filters,.hotel-tools .filter-groups{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .index-tools .filters::-webkit-scrollbar,.listing-tools .filters::-webkit-scrollbar,.hotel-tools .filter-groups::-webkit-scrollbar{display:none}
  .index-tools .filter,.listing-tools .filter,.hotel-tools .filter{flex:0 0 auto;white-space:nowrap}
  .hotel-tools .filter-group{display:flex;flex-wrap:nowrap;flex:0 0 auto;align-items:center;gap:7px}
  .hotel-tools .filter-group-label{flex:0 0 auto;white-space:nowrap}
}
/* Sticky toolbars dock flush under the header at every breakpoint: their top
   offset is the live --header-h variable, measured from the real .topbar by
   nav.js — no fixed pixel guess, so no strip of page content can show between
   the header and the toolbar, and the opaque toolbar background (var(--paper))
   keeps content from showing through. */

/* --- 2026-10-14 fix round: translate banner hardening + tighter section rhythm --- */
.goog-te-banner-frame,iframe.goog-te-banner-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd{display:none!important;visibility:hidden!important;height:0!important;max-height:0!important}
body{top:0!important}
.section{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}
@media(max-width:640px){.section{padding-top:44px;padding-bottom:44px}}
