:root{
  --primary:#315f4a; --primary-dark:#244a39; --black:#1A1A1A; --bg:#f3ead8; --white:#fff; --green:#315f4a; --text:#2D2D2D; --muted:#666; --line:rgba(26,26,26,.10); --shadow:0 18px 50px rgba(0,0,0,.07); --radius:18px; --radius-sm:12px; --transition:all .25s cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:'Plus Jakarta Sans',system-ui,sans-serif;overflow-x:hidden} body.no-restore{scroll-behavior:auto}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit} img{display:block;max-width:100%}.shell{width:min(1180px,calc(100% - 44px));margin:0 auto}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;min-height:72px;padding:12px 28px;background:rgba(244,241,234,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--black);font-family:'Outfit'}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--black);color:var(--primary);display:grid;place-items:center;font-size:23px}.nav{display:flex;gap:18px;flex:1;align-items:center}.nav a{font-size:14px;font-weight:800;color:#333}.nav a:hover{color:var(--primary)}.account-btn{border:0;border-radius:999px;background:var(--black);color:#fff;font-weight:900;padding:14px 20px;cursor:pointer;box-shadow:var(--shadow)}
.section{padding:56px 0}.hero{min-height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:center;gap:60px;padding-top:20px}.eyebrow{margin:0 0 12px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--primary);font-weight:900}.hero h1,.section h2{font-family:'Outfit';font-weight:900;line-height:.95;color:var(--black);letter-spacing:-.055em}.hero h1{font-size:clamp(52px,8vw,108px);margin:0 0 22px}.hero p{font-size:clamp(18px,2vw,23px);line-height:1.45;max-width:780px;color:#4c4c4c}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:1px solid var(--line);padding:13px 18px;font-weight:900;cursor:pointer;transition:var(--transition);background:#fff;min-height:48px}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.ghost{background:#fff;color:var(--black)}.country-card{display:grid;gap:14px}.country-card>div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.country-card .active{background:linear-gradient(135deg,var(--primary),#111);color:#fff}.country-card strong{font-family:'Outfit';font-size:31px;display:block}.country-card span{font-weight:800;color:inherit;opacity:.8}.soft-panel{background:linear-gradient(180deg,rgba(168,125,68,.10),rgba(255,255,255,.18));border-radius:34px;padding-left:32px;padding-right:32px}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:28px;align-items:start;margin-bottom:34px}.section-head.compact{display:block;margin-bottom:18px}.section h2{font-size:clamp(36px,5vw,70px);margin:0}.section-head p:not(.eyebrow){font-size:19px;line-height:1.45;color:var(--muted);margin:20px 0 0}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.featured-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:570px}.photo-frame{position:relative;background:#e9e4da;border-radius:18px;overflow:hidden}.featured-card .photo-frame{height:240px;border-radius:0}.photo-frame img{width:100%;height:100%;object-fit:cover;background:#e9e4da}.featured-body{padding:22px;display:flex;flex-direction:column;gap:14px;flex:1}.featured-body h3{font-family:'Outfit';font-size:28px;line-height:1.05;margin:0;color:var(--black)}.featured-body>p{margin:0;color:#555;font-weight:650}.story-mini{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.story-mini p:last-child{margin:0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.planner-grid{display:grid;grid-template-columns:420px 1fr;gap:26px;align-items:start}.planner-card h2,.museum-card h2{font-size:clamp(34px,4vw,56px)}.route-form{display:grid;gap:12px;margin-top:20px}.route-form input,.search-card input,.search-card select,.hunt-form input,.hunt-form textarea,.auth-card input{border:1px solid var(--line);border-radius:14px;background:#fff;padding:15px 16px;outline:none}.museum-list{display:grid;gap:12px}.museum-row{display:grid;grid-template-columns:92px 1fr auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px}.museum-row .photo-frame{width:92px;height:76px}.museum-row h3{margin:0 0 4px;font-size:20px}.museum-row p{margin:0;color:#666;font-weight:800}.pager{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.pager button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 18px;font-weight:900;cursor:pointer}.search-card{display:grid;grid-template-columns:1fr 190px;gap:10px}.muted{color:#666}.target-list{display:grid;gap:18px}.target-card{display:grid;grid-template-columns:180px 1fr 330px;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.target-card .photo-frame{height:130px}.target-info h3{font-family:'Outfit';font-size:28px;margin:0 0 4px}.target-meta{color:#666;font-weight:800}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff;font-size:12px;font-weight:900;text-transform:uppercase}.target-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-group{border:1px solid var(--line);border-radius:18px;padding:12px}.action-group b{display:block;color:var(--primary);font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.action-group a,.action-group button{display:flex;justify-content:center;width:100%;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px;margin-top:8px;font-weight:900;color:var(--black)}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.collection-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow);min-height:340px;display:flex;flex-direction:column;justify-content:space-between}.collection-card h3{font-family:'Outfit';font-size:30px;line-height:1.05;margin:18px 0}.route-badge{border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:13px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.route-results{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;margin-top:20px;box-shadow:var(--shadow)}.route-stop{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 0}.passport-grid{display:grid;grid-template-columns:1.2fr .55fr;gap:22px}.profile-card{grid-column:1/2}.xp-card{display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#fff1e8,#fff)}.xp-card strong{font-family:'Outfit';font-size:58px;color:var(--primary)}.journal-card,.badges-card{min-height:240px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.stats div{background:#fff7ef;border:1px solid rgba(168,125,68,.18);border-radius:16px;padding:18px}.stats strong{display:block;color:var(--primary);font-size:34px}.badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.badge{background:linear-gradient(135deg,var(--primary),var(--black));color:#fff;border-radius:18px;padding:18px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.badge strong{font-size:18px}.pill{display:inline-flex;background:var(--primary);color:#fff;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:900;text-transform:uppercase}.submit-card{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:32px;padding:44px;box-shadow:var(--shadow);margin-bottom:60px}.submit-card h2{font-size:clamp(42px,5vw,76px)}.hunt-form{display:grid;gap:14px;background:#fff8f3;border:1px solid rgba(168,125,68,.22);border-radius:24px;padding:24px}.hidden{display:none!important}.modal,.auth-modal{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:50;display:grid;place-items:center;padding:20px}.modal-card{width:min(1120px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:28px;position:relative}.modal-close{position:absolute;right:18px;top:18px;z-index:2;width:48px;height:48px;border-radius:50%;border:0;background:#fff;font-size:28px;font-weight:900;cursor:pointer}.modal-hero{position:relative;min-height:340px;display:grid;align-items:end;padding:36px;color:#fff;background:#111;overflow:hidden}.modal-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.modal-hero>div{position:relative;z-index:1}.modal-hero h2{font-family:'Outfit';font-size:clamp(46px,8vw,92px);line-height:.9;margin:0;color:#fff}.modal-body{display:grid;grid-template-columns:1fr 320px;gap:28px;padding:28px}.lead{font-size:22px;line-height:1.5}.story-box,.overlap,.photos,.nearby{border:1px solid var(--line);border-radius:22px;padding:22px;margin-top:18px}.photo-grid,.photos #photoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photos .photo-frame{height:140px}.modal-side{display:grid;gap:18px;align-content:start}.affiliate-card h3,.details-card h3{margin-top:0}.affiliate-grid{display:grid;gap:12px}.affiliate-item{border:1px solid var(--line);border-radius:16px;padding:14px}.affiliate-item b{display:block;color:var(--primary);text-transform:uppercase;font-size:12px;letter-spacing:.1em;margin-bottom:10px}.affiliate-item a,.affiliate-item button{display:flex;width:100%;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:11px;background:#fff;font-weight:900;margin-top:8px}.affiliate-item button[disabled]{opacity:.55;cursor:not-allowed}.detail-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;gap:18px}.detail-row b{text-align:right}.nearby li{list-style:none;border-bottom:1px solid var(--line);padding:10px 0;font-weight:800}.nearby ul{padding:0;margin:0}.auth-card{width:min(440px,94vw);background:#fff;border-radius:24px;padding:32px;position:relative;box-shadow:var(--shadow);display:grid;gap:12px}.auth-card h2{font-family:'Outfit';font-size:42px;margin:0}
@media(max-width:980px){.nav{display:none}.hero,.planner-grid,.section-head,.submit-card,.modal-body{grid-template-columns:1fr}.featured-grid,.collection-grid{grid-template-columns:1fr 1fr}.target-card{grid-template-columns:130px 1fr}.target-actions{grid-column:1/-1}.passport-grid{grid-template-columns:1fr}.country-card{grid-row:auto}.hero{min-height:auto;padding:70px 0}.section{padding:38px 0}.soft-panel{padding:24px}.modal-hero{min-height:260px}}
@media(max-width:640px){.shell{width:min(100% - 24px,1180px)}.topbar{padding:10px 14px}.account-btn{padding:12px;font-size:13px}.featured-grid,.collection-grid,.badges,.stats{grid-template-columns:1fr}.target-card,.museum-row{grid-template-columns:1fr}.target-card .photo-frame,.museum-row .photo-frame{width:100%;height:180px}.search-card{grid-template-columns:1fr}.hero h1{font-size:48px}.section h2{font-size:38px}.modal-body{padding:18px}.photo-grid,.photos #photoGrid{grid-template-columns:1fr 1fr}.submit-card{padding:24px}.collection-card{min-height:auto}}

/* v0.51 restored feature modules */
.today-grid{display:grid;grid-template-columns:minmax(320px,460px) 1fr;gap:26px;align-items:stretch}.today-card,.today-side{height:100%}.today-card h2,.today-side h2{font-size:clamp(34px,4vw,56px);line-height:1}.today-results,.mini-targets{display:grid;gap:12px;margin-top:18px}.today-status{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff7ef;font-weight:900}.today-status span{color:var(--primary)}.today-stop{display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:#fff}.today-stop span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--black);color:#fff;font-weight:900}.today-stop small{color:var(--muted);font-weight:800}.mini-target{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff;display:flex;justify-content:space-between;gap:12px}.mini-target strong{font-size:18px}.mini-target span{color:var(--muted);font-weight:800}.route-stop-list{display:grid;gap:10px;margin-top:18px}.route-map{height:250px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#e9e4da;margin-bottom:14px}.route-map iframe{width:100%;height:100%;border:0}.route-mini-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff7ef;border:1px solid rgba(168,125,68,.18);border-radius:16px;padding:14px 16px;font-weight:900}.route-mini-head span{color:var(--primary)}.planner-stop{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px}.planner-stop>span,.route-stop>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;font-weight:900}.planner-stop small{display:block;color:var(--muted);font-weight:800;margin-top:3px}.mission-route{grid-column:1/-1;margin-top:18px}.mission-open{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:10px}.route-stop{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.route-stop small{color:var(--muted);font-weight:800}.timeline-section{background:linear-gradient(135deg,rgba(79,111,82,.10),rgba(168,125,68,.08));border-radius:34px;padding:34px}.timeline-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.timeline-tab{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;text-align:left;cursor:pointer;transition:var(--transition)}.timeline-tab:hover,.timeline-tab.active{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}.timeline-tab b{display:block;color:var(--black);font-size:16px}.timeline-tab span{display:block;color:var(--primary);font-weight:900;font-size:12px;margin-top:4px}.timeline-results{display:grid;grid-template-columns:330px 1fr;gap:20px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px}.timeline-copy h3{font-family:'Outfit';font-size:38px;margin:0 0 10px}.timeline-copy p:last-child{color:var(--muted);line-height:1.45}.timeline-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.timeline-target{border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;padding:16px;cursor:pointer}.timeline-target strong{display:block;font-size:18px}.timeline-target span{display:block;color:var(--muted);font-weight:800;margin-top:4px}.overlap-row{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;margin:10px 0}.overlap-row b{display:block;font-size:18px}.overlap-row span{display:block;color:var(--primary);font-weight:900;margin:4px 0 8px}.overlap-row p{margin:0;color:var(--muted);line-height:1.45}
@media(max-width:980px){.today-grid,.timeline-results{grid-template-columns:1fr}.timeline-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-targets{grid-template-columns:1fr}.route-mini-head{display:block}.today-status{display:block}.planner-grid{grid-template-columns:1fr}}
@media(max-width:640px){.timeline-tabs{grid-template-columns:1fr}.today-stop,.route-stop{grid-template-columns:34px 1fr}.today-stop small,.route-stop small{grid-column:2}.route-map{height:210px}}

/* v0.52 restored route planner + regional target index */
.route-planner-section .route-head{align-items:end}.route-planner-card{padding:30px 34px}.route-form-wide{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:16px;align-items:end}.route-form-wide label{display:grid;gap:8px}.route-form-wide label span{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:var(--black)}.route-form-wide select{border:1px solid var(--line);border-radius:14px;background:#fff;padding:15px 16px;font-weight:800;min-height:54px}.route-summary{font-size:20px;font-weight:800;color:var(--muted);margin:22px 0}.route-stop-list-wide{display:grid;gap:12px;max-height:520px;overflow:auto;padding-right:6px}.planner-stop-wide{min-height:82px}.route-map-wide{height:380px;margin-top:22px;margin-bottom:14px}.route-actions{display:flex;justify-content:flex-end}.museum-layer-section{padding-top:0}.region-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:-12px 0 24px}.region-tab{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 10px;display:grid;gap:3px;cursor:pointer;transition:var(--transition);box-shadow:0 6px 18px rgba(0,0,0,.03)}.region-tab span{font-weight:900;font-size:13px}.region-tab b{color:var(--primary);font-size:12px}.region-tab.active,.region-tab:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow)}.timeline-section .section-head p:not(.eyebrow){max-width:560px}.timeline-copy p:last-child{font-size:17px}.overlap-row p{font-size:15px}.target-card .muted{font-weight:800}
@media(max-width:1100px){.route-form-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.route-form-wide .btn{grid-column:1/-1}.region-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.route-map-wide{height:300px}}
@media(max-width:640px){.route-form-wide{grid-template-columns:1fr}.region-tabs{grid-template-columns:1fr 1fr}.route-planner-card{padding:22px}.route-map-wide{height:240px}.route-actions{justify-content:stretch}.route-actions .btn{width:100%}}

/* v0.54 cinematic detail + richer historical overlap */
.cinematic-wrap{margin-top:18px}
.cinematic-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:18px;margin-top:18px}
.cinematic-card{border:1px solid var(--line);border-radius:22px;background:#fff;padding:22px;min-height:210px;box-shadow:0 10px 26px rgba(0,0,0,.04)}
.cinematic-card .eyebrow{margin-bottom:12px;color:#e21c23;letter-spacing:.18em}
.cinematic-card p:last-child{font-size:20px;line-height:1.5;margin:0;color:var(--text);font-weight:650}
.cinematic-card.scene p:last-child{font-size:19px}
.overlap{background:#fff}
.overlap-row{display:grid;grid-template-columns:160px 1fr;gap:8px 24px;align-items:start;padding:18px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;margin:0}
.overlap-row:last-child{border-bottom:0}
.overlap-row b{grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;background:var(--black);color:#fff;font-size:16px;padding:8px 14px;text-align:center}
.overlap-row span{display:block;color:var(--black);font-size:22px;font-weight:900;margin:0;line-height:1.25}
.overlap-row p{font-size:16px!important;line-height:1.55!important;color:var(--muted);margin:0!important}
@media (max-width: 820px){.cinematic-grid{grid-template-columns:1fr}.cinematic-card{min-height:auto}.overlap-row{grid-template-columns:1fr}.overlap-row b{grid-row:auto;width:max-content}}

/* v0.55 field guide, missions and badge polish */
.today-grid{grid-template-columns:minmax(320px,520px) 1fr;}
.today-grid .today-card{grid-column:1/2;}
.target-card-new{grid-template-columns:220px minmax(260px,1fr) minmax(300px,380px);gap:26px;align-items:center;padding:24px;background:linear-gradient(135deg,#fff,#fffaf5);}
.target-card-new .photo-frame{width:220px;height:150px;border-radius:18px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.target-card-new h3{font-size:clamp(28px,3vw,42px);line-height:1.02;margin:4px 0 8px;}
.target-actions-inline .affiliate-grid{grid-template-columns:1fr 1fr;gap:12px;}
.target-actions-inline .affiliate-item{background:#fff;border:1px solid rgba(26,26,26,.1);border-radius:18px;padding:14px;}
.target-actions-inline .affiliate-item b{color:var(--primary);}
.collection-grid{align-items:stretch;grid-auto-flow:row;}
.collection-card{min-width:0;overflow:hidden;}
.collection-card .mission-route{margin-top:18px;}
.timeline-section{background:linear-gradient(135deg,rgba(168,125,68,.10),rgba(79,111,82,.10));}
.timeline-tabs{grid-template-columns:repeat(3,minmax(0,1fr));}
.timeline-results{grid-template-columns:minmax(280px,380px) 1fr;}
.timeline-targets-rich{grid-template-columns:repeat(3,minmax(0,1fr));}
.timeline-target small{display:block;margin-top:5px;color:var(--primary);font-weight:800;font-size:12px;}
.badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.badge{border-radius:22px;padding:18px;min-height:150px;box-shadow:0 12px 26px rgba(0,0,0,.08);background:linear-gradient(135deg,#315f4a,#1A1A1A);}
.badge span{font-size:30px;display:block;margin-bottom:12px;}
.badge.orange{background:linear-gradient(135deg,#315f4a,#FFB703)}
.badge.blue{background:linear-gradient(135deg,#3A86FF,#1A1A1A)}
.badge.green{background:linear-gradient(135deg,#4F6F52,#91B66E)}
.badge.red{background:linear-gradient(135deg,#E63946,#7F1D1D)}
.badge.purple{background:linear-gradient(135deg,#8338EC,#3A0CA3)}
.badge.slate{background:linear-gradient(135deg,#334155,#0F172A)}
@media(max-width:980px){.target-card-new{grid-template-columns:160px 1fr}.target-actions-inline{grid-column:1/-1}.timeline-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-results{grid-template-columns:1fr}.timeline-targets-rich{grid-template-columns:repeat(2,minmax(0,1fr))}.badges{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.target-card-new{grid-template-columns:1fr}.target-card-new .photo-frame{width:100%;height:210px}.target-actions-inline .affiliate-grid{grid-template-columns:1fr}.timeline-targets-rich,.badges{grid-template-columns:1fr}}

/* v0.56 today companion, compact missions and round badges */
.today-grid{display:grid;grid-template-columns:minmax(340px,520px) minmax(320px,1fr);gap:24px;align-items:stretch;}
.today-companion{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#fff,#fff7ef);}
.today-companion h3{font-family:'Outfit';font-size:34px;margin:0 0 10px;line-height:1.05;}
.today-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;}
.today-brief-grid span{border:1px solid var(--line);border-radius:999px;padding:11px 12px;font-weight:900;background:#fff;}
.today-mini-route{display:grid;gap:9px;margin:16px 0;}
.today-mini-route div{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff;}
.today-mini-route b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--black);color:#fff;}
.today-mini-route small{color:var(--primary);font-weight:900;}
.badges{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;}
.badge{width:116px;height:116px;min-height:0!important;border-radius:50%!important;padding:14px!important;display:grid!important;place-items:center;text-align:center;position:relative;box-shadow:0 10px 24px rgba(0,0,0,.12);border:4px solid rgba(255,255,255,.75);}
.badge::after{content:'';position:absolute;inset:8px;border-radius:50%;border:1px dashed rgba(255,255,255,.55);pointer-events:none;}
.badge .badge-icon{font-size:26px!important;margin:0!important;line-height:1;}
.badge strong{font-size:13px!important;line-height:1.05;max-width:84px;}
.badge small{font-size:10px!important;font-weight:900;text-transform:uppercase;opacity:.92;}
.collection-card{min-height:310px;}
.collection-card .mission-route{margin-top:18px;}
@media(max-width:900px){.today-grid{grid-template-columns:1fr}.today-companion{min-height:260px}.badges{justify-content:flex-start}.badge{width:104px;height:104px}.collection-grid{grid-template-columns:1fr}}

/* v0.57 Today full-width layout and more resilient image frames */
.today-full{display:block;}
.today-card-wide{display:block;padding:34px;}
.today-wide-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,460px);gap:28px;align-items:end;margin-bottom:20px;}
.today-wide-head h2{font-size:clamp(42px,6vw,76px);line-height:.96;margin:0;}
.today-wide-head p{font-size:18px;line-height:1.45;color:var(--muted);margin:0;}
.today-results-wide{display:grid;gap:14px;margin-top:22px;}
.today-stop-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.today-results-wide .today-stop{grid-template-columns:42px 1fr;align-content:start;min-height:116px;}
.today-results-wide .today-stop small{grid-column:2;color:var(--primary);font-weight:900;}
.today-route-btn{width:100%;margin-top:6px;}
.photo-frame{background:linear-gradient(135deg,#fff4ec,#e8e2d7)!important;}
.photo-frame::before{content:'SIGN HUNTERS';position:absolute;left:14px;top:12px;font-size:10px;letter-spacing:.18em;font-weight:900;color:rgba(26,26,26,.18);z-index:0;}
.photo-frame img{position:relative;z-index:1;display:block;}
.photo-frame img[src=""],.photo-frame img:not([src]){visibility:hidden;}
@media(max-width:1000px){.today-wide-head{grid-template-columns:1fr}.today-stop-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.today-card-wide{padding:22px}.today-stop-grid{grid-template-columns:1fr}.today-wide-head h2{font-size:42px}}

/* v0.58 detail page restoration: Drive Mode + richer overlap */
.drive-mode-btn{width:100%;margin-top:14px;justify-content:center;font-size:16px;padding:16px 18px;background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;box-shadow:0 12px 28px rgba(168,125,68,.25)}
.drive-modal{position:fixed;inset:0;z-index:120;background:rgba(10,10,10,.86);display:grid;place-items:center;padding:24px}
.drive-modal.hidden{display:none}
.drive-panel{width:min(880px,100%);border-radius:32px;background:#101010;color:#fff;padding:clamp(28px,5vw,64px);box-shadow:0 30px 90px rgba(0,0,0,.45);position:relative;border:1px solid rgba(255,255,255,.12)}
.drive-close{position:absolute;right:22px;top:20px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#fff;color:#111;font-size:30px;font-weight:900}
.drive-panel .eyebrow{color:var(--primary)}
.drive-panel h2{font-size:clamp(48px,8vw,96px);line-height:.92;margin:10px 0 8px;color:#fff}
.drive-location{font-size:clamp(20px,3vw,32px);color:#cfcfcf;margin:0 0 28px}
.drive-story{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);border-radius:24px;padding:24px;margin:24px 0}
.drive-story p:last-child{font-size:clamp(22px,3vw,34px);line-height:1.32;margin:0;color:#fff;font-weight:800}
.drive-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.drive-actions .btn{min-height:58px}
.drive-note{font-size:14px;color:#aaa;margin-top:18px}
.static-drive-card{margin-top:20px;border:1px solid var(--line);border-radius:24px;background:#111;color:#fff;padding:28px;display:grid;gap:12px}
.static-drive-card h3{color:#fff;margin:0}.static-drive-card p{color:#ddd;margin:0}.static-drive-card .btn{width:max-content}
.overlap .muted{margin-bottom:8px}.overlap-row{position:relative}.overlap-row::before{content:'';position:absolute;left:80px;top:58px;bottom:-18px;width:1px;background:rgba(26,26,26,.08)}.overlap-row:last-child::before{display:none}.overlap-row b{position:relative;z-index:1;box-shadow:0 8px 22px rgba(0,0,0,.08)}
@media(max-width:820px){.drive-actions{grid-template-columns:1fr 1fr}.overlap-row::before{display:none}}
@media(max-width:540px){.drive-actions{grid-template-columns:1fr}.drive-panel{border-radius:24px}.drive-close{right:14px;top:14px}}

/* v0.63 route toggle, direct-photo fallback and medal badge cleanup */
.collection-card .mission-toggle{min-width:130px;}
.collection-card .mission-route{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;}
.collection-card .mission-open{display:grid;gap:10px;}
.collection-card .mission-open .btn{margin-top:8px;}
.photo-frame{background:#f1eee7;position:relative;overflow:hidden;}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;background:#f1eee7;}
.badges{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(118px,118px));gap:18px!important;align-items:start;justify-content:flex-start;}
.badge{width:118px!important;height:118px!important;min-width:118px;min-height:118px!important;border-radius:50%!important;padding:10px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;overflow:hidden;color:#fff;box-shadow:0 14px 28px rgba(0,0,0,.14), inset 0 0 0 5px rgba(255,255,255,.18)!important;}
.badge::after{inset:9px!important;border:1px dashed rgba(255,255,255,.58)!important;}
.badge .badge-icon{font-size:23px!important;line-height:1!important;margin:0!important;display:block!important;}
.badge .badge-title{font-weight:900;font-size:12px;line-height:1.05;max-width:82px;display:block;letter-spacing:-.01em;}
.badge .badge-sub{font-size:8px;line-height:1.05;text-transform:uppercase;font-weight:900;opacity:.92;max-width:80px;display:block;}
.badge strong,.badge small{display:none!important;}
@media(max-width:640px){.badges{grid-template-columns:repeat(2,118px)!important;justify-content:center}.badge{width:112px!important;height:112px!important;min-width:112px;min-height:112px!important}.badge .badge-title{font-size:11px}.badge .badge-sub{font-size:7.5px}}

/* v0.66 leaderboard + photo reliability polish */
.leaderboard-card{padding:18px;}
.leaderboard-list{display:grid;gap:12px;}
.leader-row{display:grid;grid-template-columns:52px 1fr auto auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px 16px;box-shadow:0 8px 22px rgba(0,0,0,.04)}
.leader-row.you{border-color:rgba(168,125,68,.45);background:linear-gradient(135deg,#fff,#fff4ec)}
.leader-rank{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--black);color:#fff;font-weight:900;}
.leader-row.you .leader-rank{background:var(--primary)}
.leader-row strong{font-size:18px;display:block;}
.leader-row small{color:var(--muted);font-weight:800;}
.leader-row b{font-size:15px;color:var(--text);}
.leader-row em{font-style:normal;color:var(--primary);font-weight:900;}
.photo-frame img{font-size:0;color:transparent;}
@media(max-width:720px){.leader-row{grid-template-columns:42px 1fr;}.leader-row b,.leader-row em{grid-column:2}.leader-row b{margin-top:4px}}

/* Ready-made route cards — polished clickable cards */
#todayResults .discovery-list-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}

#todayResults .discovery-list-card.today-stop{
  position:relative;
  display:flex;
  min-height:250px;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  padding:22px;
  border:1px solid rgba(33,27,21,.14);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(251,246,236,.96)),
    radial-gradient(circle at 0 0,rgba(168,125,68,.16),transparent 42%);
  color:var(--black);
  text-decoration:none;
  box-shadow:0 16px 36px rgba(33,27,21,.08);
  cursor:pointer;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

#todayResults .discovery-list-card.today-stop:hover{
  transform:translateY(-5px);
  border-color:rgba(168,125,68,.42);
  box-shadow:0 24px 52px rgba(33,27,21,.16);
}

#todayResults .discovery-list-card.today-stop:focus-visible{
  outline:3px solid rgba(168,125,68,.34);
  outline-offset:4px;
}

#todayResults .discovery-list-card.today-stop span{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:999px;
  background:var(--black);
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  flex:0 0 auto;
}

#todayResults .discovery-list-card.today-stop strong{
  display:block;
  font-size:23px;
  line-height:1.05;
  letter-spacing:-.02em;
}

#todayResults .discovery-list-card.today-stop small{
  display:block;
  color:var(--muted);
  font-size:14px;
  font-weight:700;
  line-height:1.45;
}

#todayResults .discovery-list-card.today-stop em{
  display:inline-flex;
  width:auto;
  margin-top:auto;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(168,125,68,.12);
  color:var(--primary);
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

#todayResults .discovery-list-card.today-stop b{
  display:block;
  color:rgba(33,27,21,.74);
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}

#todayResults .discovery-list-card.today-stop i{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:4px;
  padding:10px 13px;
  border-radius:999px;
  background:var(--black);
  color:#fff;
  font-size:14px;
  font-style:normal;
  font-weight:900;
}

#todayResults .discovery-list-card.today-stop i::after{
  content:"→";
  transition:transform .18s ease;
}

#todayResults .discovery-list-card.today-stop:hover i::after{
  transform:translateX(4px);
}

#todayResults .discovery-list-card.today-stop::after{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-38px;
  width:132px;
  height:132px;
  border-radius:999px;
  background:rgba(168,125,68,.08);
  pointer-events:none;
}

/* Homepage ready-made routes — theme chips in the section head. */
.today-wide-head .today-theme-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:4px 0 2px;
}

.today-wide-head .today-theme-chips a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(33,27,21,.16);
  background:#fff;
  color:var(--black);
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}

.today-wide-head .today-theme-chips a:hover,
.today-wide-head .today-theme-chips a:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(168,125,68,.46);
  background:#fff7ef;
}

/* Theme chip sits inline near the top; actions pinned to the card bottom. */
#todayResults .discovery-list-card.today-stop em{
  margin-top:0;
}

#todayResults .discovery-list-card.today-stop .discovery-list-actions{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
  margin-top:auto;
}

#todayResults .discovery-list-card .discovery-list-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:1 1 auto;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none;
  transition:transform .16s ease, background .16s ease, border-color .16s ease;
}

#todayResults .discovery-list-card .discovery-list-actions a.discovery-start{
  background:var(--black);
  color:#fff;
  border:1px solid var(--black);
}

#todayResults .discovery-list-card .discovery-list-actions a.discovery-start::after{
  content:"→";
  transition:transform .16s ease;
}

#todayResults .discovery-list-card .discovery-list-actions a.discovery-start:hover{
  transform:translateY(-2px);
}

#todayResults .discovery-list-card .discovery-list-actions a.discovery-start:hover::after{
  transform:translateX(3px);
}

#todayResults .discovery-list-card .discovery-list-actions a.discovery-read{
  background:#fff;
  color:var(--black);
  border:1px solid rgba(33,27,21,.18);
}

#todayResults .discovery-list-card .discovery-list-actions a.discovery-read:hover{
  border-color:rgba(168,125,68,.46);
  transform:translateY(-2px);
}

@media(max-width:1200px){
  #todayResults .discovery-list-card .discovery-list-actions a{
    flex-basis:100%;
  }
}

@media(max-width:1000px){
  #todayResults .discovery-list-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  #todayResults .discovery-list-grid{
    grid-template-columns:1fr;
  }

  #todayResults .discovery-list-card.today-stop{
    min-height:220px;
  }
}


#todayResults .discovery-list-card.today-stop u{
  display:block;
  color:rgba(33,27,21,.58);
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none;
}


/* social links */
.social-section{
  padding-top: 0;
}
.social-card{
  text-align: center;
}
.social-card h2{
  margin-bottom: 12px;
}
.social-links{
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}

.crawl-links-card{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.crawl-links-card a{
  display:flex;
  align-items:center;
  min-height:54px;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 16px;
  background:#fff8f3;
  color:var(--black);
  font-weight:900;
  text-decoration:none;
  transition:var(--transition);
}
.crawl-links-card a:hover{
  transform:translateY(-2px);
  border-color:rgba(168,125,68,.35);
  color:var(--primary);
}
@media(max-width:980px){
  .crawl-links-card{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .crawl-links-card{grid-template-columns:1fr;}
}

/* SIGN HUNTERS PRESTIGE ATLAS THEME — editorial, cinematic, logo-red accented */
:root{
  --primary:#315f4a;
  --primary-dark:#244a39;
  --black:#17130f;
  --bg:#f3ead8;
  --white:#fffaf0;
  --text:#211b15;
  --muted:#6f6255;
  --green:#315f4a;
  --turquoise:#2f6f73;
  --sun:#c7a04b;
  --coral:#b85a3c;
  --purple:#4a3b68;
  --sky:#d8e5df;
  --cream:#fff7e8;
  --pink:#315f4a;
  --line:rgba(33,27,21,.14);
  --shadow:0 18px 44px rgba(33,27,21,.10);
}

body{
  background:#f3ead8!important;
  color:var(--text)!important;
}

.topbar{
  background:rgba(250,244,232,.94)!important;
  border-bottom:1px solid rgba(33,27,21,.12)!important;
  box-shadow:0 8px 24px rgba(33,27,21,.06)!important;
}

.nav a{
  color:#211b15!important;
}

.nav a:hover{
  color:var(--primary)!important;
}

.eyebrow{
  color:var(--primary)!important;
}

.hero h1,
.section h2,
.featured-body h3,
.collection-card h3,
.target-info h3,
.timeline-copy h3,
.planner-card h2,
.museum-card h2,
.submit-card h2{
  color:var(--black)!important;
}

.hero p,
.section-head p:not(.eyebrow),
.muted{
  color:var(--muted)!important;
}

.btn{
  border:1px solid rgba(33,27,21,.16)!important;
  background:#fffaf0!important;
  color:var(--black)!important;
  box-shadow:0 8px 22px rgba(33,27,21,.07)!important;
}

.btn:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(33,27,21,.10)!important;
}

.btn.primary{
  background:var(--primary)!important;
  border-color:var(--primary)!important;
  color:#fff!important;
}

.btn.primary:hover{
  background:var(--primary-dark)!important;
}

.btn.ghost{
  background:#fffaf0!important;
  color:var(--black)!important;
}

.card,
.featured-card,
.collection-card,
.route-results,
.submit-card,
.today-card,
.today-side,
.planner-card,
.museum-card,
.auth-card{
  background:#fffaf0!important;
  border:1px solid rgba(33,27,21,.13)!important;
  box-shadow:0 18px 42px rgba(33,27,21,.09)!important;
}

.featured-card:nth-child(3n+1),
.collection-card:nth-child(3n+1){
  border-top:4px solid var(--primary)!important;
}

.featured-card:nth-child(3n+2),
.collection-card:nth-child(3n+2){
  border-top:4px solid var(--green)!important;
}

.featured-card:nth-child(3n+3),
.collection-card:nth-child(3n+3){
  border-top:4px solid var(--sun)!important;
}

.country-card>div,
.timeline-tab,
.timeline-target,
.museum-row,
.target-card,
.today-stop,
.mini-target,
.planner-stop,
.route-stop,
.overlap-row,
.affiliate-item,
.story-box,
.overlap,
.photos,
.nearby{
  background:#fffaf0!important;
  border:1px solid rgba(33,27,21,.13)!important;
}

.country-card .active{
  background:#17130f!important;
  color:#fff!important;
}

.soft-panel,
.timeline-section{
  background:#efe3ca!important;
  border:1px solid rgba(33,27,21,.10)!important;
}

.chip,
.route-badge,
.pill{
  background:#f7edd8!important;
  border:1px solid rgba(33,27,21,.14)!important;
  color:var(--black)!important;
}

.action-group b,
.affiliate-item b,
.route-mini-head span,
.timeline-tab span,
.timeline-target small,
.today-stop small,
.leader-row em{
  color:var(--primary)!important;
}

.stats div{
  background:#f7edd8!important;
  border:1px solid rgba(33,27,21,.12)!important;
}

.stats strong,
.xp-card strong{
  color:var(--primary)!important;
}

.badge,
.badge.orange{
  background:#ff0125!important;
}

.badge.blue{
  background:#2f6f73!important;
}

.badge.green{
  background:#315f4a!important;
}

.badge.red{
  background:#b8001a!important;
}

.badge.purple{
  background:#4a3b68!important;
}

.badge.slate{
  background:#17130f!important;
}

.photo-frame{
  background:#e8dcc7!important;
}

.modal-card{
  background:#fffaf0!important;
  border:1px solid rgba(33,27,21,.16)!important;
}

.modal-hero h1,
.modal-hero h2{
  font-family:'Outfit';
  font-size:clamp(46px,8vw,92px);
  line-height:.9;
  margin:0;
  color:#fff!important;
  text-shadow:0 4px 18px rgba(0,0,0,.34);
}

.modal-hero{
  background:#17130f!important;
}

.modal-hero img{
  opacity:.70!important;
}

.lead{
  color:#2b221b!important;
}

.overlap-row b,
.today-stop span,
.planner-stop>span,
.route-stop>span,
.leader-rank{
  background:#17130f!important;
  color:#fff!important;
}

.sh-static-plan,
.static-drive-card{
  border:1px solid rgba(33,27,21,.14)!important;
  box-shadow:0 14px 32px rgba(33,27,21,.08)!important;
}

.sh-static-cta{
  border:1px solid rgba(33,27,21,.14)!important;
  background:#fffaf0!important;
}

.sh-static-cta:hover{
  transform:translateY(-2px)!important;
}

.route-card,
.route-page-card,
.route-planner-card{
  border:1px solid rgba(33,27,21,.14)!important;
  background:#fffaf0!important;
}

/* Calm down any previous gradient-heavy surfaces */
.country-card .active,
.soft-panel,
.timeline-section,
.badge,
.photo-frame,
.btn.primary,
.card,
.featured-card,
.collection-card,
.route-results,
.submit-card,
.today-card,
.today-side,
.planner-card,
.museum-card,
.auth-card,
.sh-static-cta{
  background-image:none!important;
}

@media (max-width:760px){
  .btn:hover,
  .sh-static-cta:hover{
    transform:translateY(-1px)!important;
  }
}


/* Affiliate CTA polish */
.affiliate-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.affiliate-item{
  border:1px solid rgba(26,26,26,.10);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg,#fff,rgba(255,248,243,.72));
}

.affiliate-item b{
  display:block;
  color:var(--primary);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.12em;
  margin-bottom:10px;
}

.affiliate-item a,
.affiliate-item button{
  display:flex;
  width:100%;
  min-height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(26,26,26,.12);
  border-radius:999px;
  padding:10px 12px;
  background:#fff;
  color:var(--black);
  font-weight:900;
  font-size:13px;
  line-height:1;
  text-decoration:none;
  margin-top:8px;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.affiliate-item a:hover,
.affiliate-item button:hover{
  transform:translateY(-1px);
  border-color:rgba(168,125,68,.45);
  box-shadow:0 12px 26px rgba(168,125,68,.10);
}

.affiliate-grid.compact{
  grid-template-columns:1fr;
}

.target-actions-inline .affiliate-grid{
  grid-template-columns:1fr 1fr;
  gap:12px;
}

@media(max-width:640px){
  .affiliate-grid,
  .target-actions-inline .affiliate-grid{
    grid-template-columns:1fr;
  }
}

/* === Sign Hunters compact target affiliate links === */
.target-actions-inline{
  align-self: stretch;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.affiliate-grid.compact{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  max-width: 430px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.affiliate-grid.compact .affiliate-kicker{
  flex-basis: 100%;
  text-align: right;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(236, 28, 36, .78);
  margin-bottom: 2px;
}

.affiliate-grid.compact a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(22,17,13,.13);
  background: rgba(255,255,255,.70);
  color: #17110d;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(22,17,13,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.affiliate-grid.compact a:hover{
  transform: translateY(-1px);
  border-color: rgba(236,28,36,.28);
  box-shadow: 0 12px 28px rgba(22,17,13,.10);
}

@media (max-width: 980px){
  .target-actions-inline{
    justify-content: flex-start;
  }

  .affiliate-grid.compact{
    justify-content: flex-start;
    margin-top: 14px;
  }

  .affiliate-grid.compact .affiliate-kicker{
    text-align: left;
  }
}

@media (max-width: 560px){
  .affiliate-grid.compact{
    gap: 7px;
  }

  .affiliate-grid.compact a{
    min-height: 40px;
    padding: 9px 12px;
    font-size: 13px;
  }
}

/* Field Guide Builder V0 */
.fg-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 48px 20px 80px;
}

.fg-hero {
  max-width: 820px;
  margin-bottom: 28px;
}

.fg-kicker {
  margin: 0 0 10px;
  color: #f7c76b;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.fg-hero h1,
.fg-guide-card h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.4rem, 6vw, 5.2rem);
  line-height: 0.95;
  letter-spacing: -0.065em;
}

.fg-lede {
  margin: 14px 0 0;
  color: #fff;
  font-size: clamp(1.25rem, 2.4vw, 2rem);
  font-weight: 700;
  line-height: 1.16;
}

.fg-intro,
.fg-guide-thread,
.fg-route-subtitle {
  max-width: 760px;
  color: rgba(255,255,255,0.7);
  line-height: 1.65;
}

.fg-builder {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 22px;
  align-items: start;
  margin-top: 28px;
}

.fg-form,
.fg-side-note,
.fg-guide-card {
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 28px;
  background:
    radial-gradient(circle at top left, rgba(247,199,107,0.14), transparent 34%),
    linear-gradient(135deg, rgba(18,24,29,0.96), rgba(8,12,16,0.96));
  box-shadow: 0 24px 80px rgba(0,0,0,0.28);
}

.fg-form {
  padding: 26px;
}

.fg-form h2 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 1.45rem;
}

.fg-form label,
.fg-form legend {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
  color: rgba(255,255,255,0.82);
  font-weight: 750;
}

.fg-form input,
.fg-form select {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 16px;
  padding: 0 14px;
  background: rgba(255,255,255,0.08);
  color: #fff;
  font: inherit;
}

.fg-form option {
  color: #111;
}

.fg-grid-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.fg-form fieldset {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}

.fg-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.fg-chip {
  display: inline-flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px !important;
  margin: 0 !important;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  color: rgba(255,255,255,0.78) !important;
  font-size: 0.92rem;
  cursor: pointer;
}

.fg-chip input {
  width: auto;
  min-height: auto;
}

.fg-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: #f7c76b;
  color: #111;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(247,199,107,0.22);
}

.fg-link-button {
  margin-top: 10px;
}

.fg-side-note {
  padding: 24px;
}

.fg-side-note span,
.fg-thread span,
.fg-pause span,
.fg-question span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #f7c76b;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.fg-side-note p {
  margin: 0;
  color: rgba(255,255,255,0.68);
  line-height: 1.65;
}

.fg-result {
  margin-top: 34px;
}

.fg-guide-card {
  padding: 30px;
}

.fg-thread,
.fg-pause,
.fg-question {
  margin: 24px 0;
  padding: 20px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 22px;
  background: rgba(255,255,255,0.06);
}

.fg-thread p,
.fg-pause p,
.fg-question p {
  margin: 0;
  color: rgba(255,255,255,0.76);
  line-height: 1.65;
}

.fg-stops {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.fg-stop {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 16px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 22px;
  background: rgba(255,255,255,0.055);
}

.fg-stop-time {
  color: #f7c76b;
  font-weight: 850;
}

.fg-stop-label {
  margin: 0 0 4px;
  color: rgba(255,255,255,0.5);
  font-size: 0.84rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.fg-stop h3 {
  margin: 0;
  font-size: 1.5rem;
}

.fg-stop h3 a {
  color: #fff;
  text-decoration: none;
}

.fg-layer {
  margin: 6px 0 14px;
  color: rgba(255,255,255,0.58);
}

.fg-reading-block {
  margin-top: 14px;
}

.fg-reading-block strong {
  display: block;
  color: #fff;
  margin-bottom: 5px;
}

.fg-reading-block p {
  margin: 0;
  color: rgba(255,255,255,0.7);
  line-height: 1.6;
}

.fg-place-link,
.fg-secondary-link {
  display: inline-flex;
  margin-top: 14px;
  color: #f7c76b;
  font-weight: 800;
  text-decoration: none;
}

.fg-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  margin-top: 24px;
}

@media (max-width: 820px) {
  .fg-builder,
  .fg-grid-two,
  .fg-stop {
    grid-template-columns: 1fr;
  }

  .fg-page {
    padding-top: 30px;
  }

  .fg-form,
  .fg-guide-card {
    padding: 22px;
  }
}

@media print {
  body {
    background: #fff !important;
    color: #111 !important;
  }

  .fg-builder,
  .fg-hero,
  .fg-result-actions {
    display: none !important;
  }

  .fg-guide-card,
  .fg-stop,
  .fg-thread,
  .fg-pause,
  .fg-question {
    box-shadow: none !important;
    background: #fff !important;
    color: #111 !important;
    border-color: #ddd !important;
  }

  .fg-guide-card *,
  .fg-stop *,
  .fg-thread *,
  .fg-pause *,
  .fg-question * {
    color: #111 !important;
  }
}

/* Field Guide Builder homepage CTA */
.field-guide-home-card {
  width: min(1120px, calc(100% - 32px));
  margin: 28px auto 36px;
  padding: 28px;
  border: 1px solid rgba(247, 199, 107, 0.28);
  border-radius: 28px;
  background:
    radial-gradient(circle at top left, rgba(247, 199, 107, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(19, 35, 37, 0.96), rgba(8, 16, 18, 0.96));
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28);
  color: #fff6dc;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

.field-guide-home-kicker {
  margin: 0 0 8px;
  color: #f7c76b;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.field-guide-home-card h2 {
  margin: 0 0 10px;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.95;
  letter-spacing: -0.06em;
}

.field-guide-home-card p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 246, 220, 0.82);
  font-size: 1.05rem;
  line-height: 1.65;
}

.field-guide-home-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.field-guide-home-tags span {
  border: 1px solid rgba(255, 246, 220, 0.18);
  border-radius: 999px;
  padding: 8px 12px;
  color: rgba(255, 246, 220, 0.78);
  font-size: 0.86rem;
  background: rgba(255, 255, 255, 0.05);
}

.field-guide-home-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 210px;
  padding: 15px 18px;
  border-radius: 999px;
  background: #f7c76b;
  color: #142326;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(247, 199, 107, 0.24);
}

.field-guide-home-button span {
  font-size: 1.25rem;
  line-height: 1;
}

@media (max-width: 760px) {
  .field-guide-home-card {
    grid-template-columns: 1fr;
    padding: 22px;
    margin-top: 18px;
  }

  .field-guide-home-button {
    width: 100%;
  }
}

/* Field Guide hero promotion */
.hero-tags {
  margin-top: 24px;
  justify-content: flex-start;
}

.hero .btn.primary {
  box-shadow: 0 18px 40px rgba(255, 1, 37, .22);
}

.country-card .active strong {
  letter-spacing: -.04em;
}

/* Field Guide product polish */
.fg-status-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.fg-status-strip span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 13px;
  background: #fff;
  font-weight: 800;
  color: var(--muted);
}

.fg-status-strip strong {
  color: var(--black);
}

.fg-side-list {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
}

.fg-side-list li {
  list-style: none;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 11px 13px;
  background: rgba(255,255,255,.72);
  font-weight: 800;
}

.fg-stop-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.fg-audio-soon {
  border: 1px dashed rgba(24,24,24,.24);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(255,255,255,.72);
  color: var(--muted);
  font-weight: 900;
  cursor: not-allowed;
}

@media(max-width:640px) {
  .fg-stop-actions {
    display: grid;
  }

  .fg-stop-actions a,
  .fg-stop-actions button {
    width: 100%;
    justify-content: center;
  }
}

/* Field Guide page visual repair */
.fg-page .topbar,
body:has(.fg-page) .topbar {
  min-height: 84px !important;
  padding: 0 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  background: rgba(246,243,236,.96) !important;
  border-bottom: 1px solid rgba(24,24,24,.08) !important;
}

.fg-page .brand,
body:has(.fg-page) .brand {
  min-width: auto !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

.fg-page .brand-logo,
body:has(.fg-page) .brand-logo {
  width: 230px !important;
  max-width: 230px !important;
  max-height: 58px !important;
  height: auto !important;
  object-fit: contain !important;
}

.fg-page .nav,
body:has(.fg-page) .nav {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 24px !important;
  overflow: visible !important;
}

.fg-page .nav a,
body:has(.fg-page) .nav a {
  color: #181818 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.fg-page {
  background:
    radial-gradient(circle at 18% 8%, rgba(255,193,93,.24), transparent 34%),
    radial-gradient(circle at 80% 16%, rgba(255,1,37,.08), transparent 30%),
    #f6f3ec;
  color: #181818;
  padding-bottom: 80px;
}

.fg-hero {
  color: #181818 !important;
  padding-top: 74px !important;
}

.fg-hero h1 {
  color: #181818 !important;
  text-shadow: none !important;
  max-width: 940px;
}

.fg-lede,
.fg-intro {
  color: rgba(24,24,24,.74) !important;
  text-shadow: none !important;
}

.fg-kicker {
  color: #d89420 !important;
}

.fg-status-strip {
  background: #fff !important;
  border: 1px solid rgba(24,24,24,.10) !important;
  box-shadow: 0 18px 45px rgba(24,24,24,.08);
}

.fg-builder {
  align-items: start !important;
}

.fg-form {
  background: #101417 !important;
  color: #fff !important;
  box-shadow: 0 28px 80px rgba(24,24,24,.22) !important;
}

.fg-form h2,
.fg-form label,
.fg-form legend {
  color: #fff !important;
}

.fg-form input,
.fg-form select {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

.fg-form input::placeholder {
  color: rgba(255,255,255,.42) !important;
}

.fg-chip {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.16) !important;
  color: #fff !important;
}

.fg-side-note {
  background: #101417 !important;
  color: #fff !important;
  box-shadow: 0 22px 60px rgba(24,24,24,.18) !important;
}

.fg-side-note p {
  color: rgba(255,255,255,.76) !important;
}

.fg-side-note span {
  color: #ffc15d !important;
}

.fg-side-list li {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #fff !important;
}

@media(max-width:900px) {
  .fg-page .topbar,
  body:has(.fg-page) .topbar {
    min-height: 72px !important;
    padding: 0 18px !important;
  }

  .fg-page .brand-logo,
  body:has(.fg-page) .brand-logo {
    width: 154px !important;
    max-width: 154px !important;
    max-height: 46px !important;
  }

  .fg-page .nav,
  body:has(.fg-page) .nav {
    gap: 14px !important;
    overflow-x: auto !important;
  }

  .fg-page .nav a,
  body:has(.fg-page) .nav a {
    font-size: 13px !important;
  }

  .fg-hero {
    padding-top: 46px !important;
  }
}

@media(max-width:640px) {
  .fg-page .topbar,
  body:has(.fg-page) .topbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px 18px !important;
    min-height: auto !important;
  }

  .fg-page .nav,
  body:has(.fg-page) .nav {
    justify-content: flex-start !important;
  }

  .fg-hero h1 {
    font-size: 44px !important;
  }
}

/* Homepage country roadmap clarity */
.country-card div span {
  line-height: 1.35;
}

.country-card .active strong {
  font-size: 34px;
}

/* Homepage embedded Field Guide Builder */
.home-fg-builder-section {
  scroll-margin-top: 110px;
}

.home-fg-builder-section .section-head.compact {
  max-width: 920px;
  margin-bottom: 24px;
}

.home-fg-builder-section .section-head.compact p:not(.eyebrow) {
  max-width: 760px;
}

.home-fg-builder {
  margin-top: 22px;
}

.home-fg-side-note .fg-secondary-link {
  margin-top: 14px;
  display: inline-flex;
}

.home-fg-result {
  margin-top: 28px;
}

@media(max-width: 980px) {
  .home-fg-builder-section {
    scroll-margin-top: 80px;
  }
}

/* Homepage Field Guide result repair */
.home-fg-result {
  margin-top: 30px;
}

.home-fg-result .fg-guide-card {
  background: #fffaf1;
  color: var(--black);
  border: 1px solid rgba(24,24,24,.12);
  border-radius: 28px;
  padding: clamp(22px, 4vw, 42px);
  box-shadow: 0 24px 70px rgba(24,24,24,.10);
}

.home-fg-result .fg-guide-card h2 {
  color: var(--black);
  font-family: 'Outfit', sans-serif;
  font-size: clamp(38px, 5vw, 72px);
  line-height: .92;
  letter-spacing: -.055em;
  margin: 4px 0 10px;
}

.home-fg-result .fg-kicker {
  color: var(--primary);
}

.home-fg-result .fg-route-subtitle,
.home-fg-result .fg-guide-thread {
  color: rgba(24,24,24,.68);
  font-weight: 800;
}

.home-fg-result .fg-thread,
.home-fg-result .fg-pause,
.home-fg-result .fg-question {
  background: #181818;
  color: #fff;
  border: 0;
  border-radius: 22px;
  padding: 22px;
  margin: 20px 0;
}

.home-fg-result .fg-thread span,
.home-fg-result .fg-pause span,
.home-fg-result .fg-question span {
  color: #ffd166;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 900;
}

.home-fg-result .fg-thread p,
.home-fg-result .fg-pause p,
.home-fg-result .fg-question p {
  color: rgba(255,255,255,.86);
  margin-bottom: 0;
}

.home-fg-result .fg-stops {
  display: grid;
  gap: 16px;
  margin: 24px 0;
}

.home-fg-result .fg-stop {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 18px;
  background: #fff;
  border: 1px solid rgba(24,24,24,.10);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 12px 32px rgba(24,24,24,.06);
}

.home-fg-result .fg-stop-time {
  display: grid;
  place-items: center;
  min-height: 70px;
  border-radius: 18px;
  background: #ff0125;
  color: #fff;
  font-weight: 900;
  font-size: 16px;
}

.home-fg-result .fg-stop-label {
  color: var(--primary);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 900;
  margin: 0 0 6px;
}

.home-fg-result .fg-stop h3 {
  margin: 0 0 8px;
  font-family: 'Outfit', sans-serif;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1;
}

.home-fg-result .fg-stop h3 a {
  color: var(--black);
  text-decoration: none;
}

.home-fg-result .fg-layer {
  color: rgba(24,24,24,.58);
  font-weight: 900;
  margin: 0 0 14px;
}

.home-fg-result .fg-reading-block {
  background: #f6f3ec;
  border: 1px solid rgba(24,24,24,.08);
  border-radius: 16px;
  padding: 14px;
  margin-top: 10px;
}

.home-fg-result .fg-reading-block strong {
  display: block;
  color: var(--black);
  margin-bottom: 6px;
}

.home-fg-result .fg-reading-block p {
  color: rgba(24,24,24,.72);
  margin: 0;
  line-height: 1.5;
}

.home-fg-result .fg-place-link {
  display: inline-flex;
  width: fit-content;
  margin-top: 14px;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  padding: 10px 14px;
  text-decoration: none;
  font-weight: 900;
}

.home-fg-result .fg-audio-soon {
  background: #fff;
  color: rgba(24,24,24,.58);
}

.home-fg-result .fg-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.home-fg-result .fg-secondary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(24,24,24,.14);
  padding: 12px 16px;
  background: #fff;
  color: var(--black);
  font-weight: 900;
  text-decoration: none;
}

@media(max-width:640px) {
  .home-fg-result .fg-stop {
    grid-template-columns: 1fr;
  }

  .home-fg-result .fg-stop-time {
    width: fit-content;
    min-height: auto;
    padding: 10px 14px;
  }

  .home-fg-result .fg-result-actions {
    display: grid;
  }

  .home-fg-result .fg-result-actions > * {
    width: 100%;
  }
}

/* Field Guide result product polish */
.fg-guide-logic {
  display: grid;
  gap: 8px;
  margin: 18px 0 22px;
  padding: 16px 18px;
  border: 1px solid rgba(139, 92, 55, 0.22);
  border-radius: 18px;
  background:
    radial-gradient(circle at top left, rgba(139, 92, 55, 0.12), transparent 34%),
    rgba(255, 252, 246, 0.72);
}

.fg-guide-logic span,
.fg-next-actions span {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(71, 53, 38, 0.58);
  font-weight: 800;
}

.fg-guide-logic strong {
  color: #2f241a;
  font-size: 0.98rem;
  line-height: 1.45;
}

.fg-audio-soon {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  border: 1px dashed rgba(92, 70, 49, 0.28);
  background: rgba(255, 255, 255, 0.58);
  color: rgba(54, 42, 31, 0.62);
  border-radius: 999px;
  padding: 9px 14px;
  cursor: not-allowed;
}

.fg-audio-soon span {
  font-weight: 800;
  font-size: 0.84rem;
}

.fg-audio-soon small {
  font-size: 0.7rem;
  opacity: 0.72;
}

.fg-next-actions {
  margin-top: 24px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(47, 36, 26, 0.12);
  background:
    linear-gradient(135deg, rgba(47, 36, 26, 0.05), rgba(139, 92, 55, 0.08)),
    rgba(255, 255, 255, 0.58);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.fg-next-actions div {
  display: grid;
  gap: 6px;
}

.fg-next-actions strong {
  color: #2f241a;
  line-height: 1.4;
}

@media (max-width: 720px) {
  .fg-next-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Field Guide two-day visual split */
.fg-day-break {
  margin: 26px 0 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.fg-day-break::before,
.fg-day-break::after {
  content: "";
  height: 1px;
  flex: 1;
  background: rgba(47, 36, 26, 0.16);
}

.fg-day-break span {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 8px 13px;
  background: #151515;
  color: #fff7e9;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 10px 22px rgba(0,0,0,0.12);
}

@media (max-width: 720px) {
  .fg-day-break {
    margin: 22px 0 10px;
  }

  .fg-day-break span {
    white-space: normal;
    text-align: center;
  }
}

/* Field Guide weather planning card */
.fg-weather-card {
  display: grid;
  gap: 10px;
  margin: 18px 0 22px;
  padding: 16px 18px;
  border: 1px solid rgba(47, 36, 26, 0.12);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(245, 232, 210, 0.66));
}

.fg-weather-card span {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(71, 53, 38, 0.58);
  font-weight: 800;
}

.fg-weather-card p {
  margin: 0;
  color: rgba(47, 36, 26, 0.78);
  line-height: 1.55;
}

.fg-weather-card ul {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.fg-weather-card li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(47, 36, 26, 0.08);
}

.fg-weather-card li strong {
  color: #2f241a;
}

.fg-weather-card li span {
  letter-spacing: 0;
  text-transform: none;
  font-size: 0.86rem;
  color: rgba(47, 36, 26, 0.72);
  font-weight: 700;
}

@media (max-width: 720px) {
  .fg-weather-card li {
    flex-direction: column;
  }
}

/* Field Guide access card */
.fg-access-card {
  margin: 18px 0 22px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(47, 36, 26, 0.12);
  background:
    linear-gradient(135deg, rgba(47, 36, 26, 0.05), rgba(139, 92, 55, 0.08)),
    rgba(255, 255, 255, 0.62);
  display: grid;
  gap: 12px;
}

.fg-access-card span {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(71, 53, 38, 0.58);
  font-weight: 800;
}

.fg-access-card h3 {
  margin: 0;
  color: #2f241a;
  font-size: 1.15rem;
}

.fg-access-card p {
  margin: 0;
  color: rgba(47, 36, 26, 0.74);
  line-height: 1.6;
}

.fg-access-card ul {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
  display: grid;
  gap: 10px;
}

.fg-access-card li {
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,0.62);
  border: 1px solid rgba(47, 36, 26, 0.08);
  display: grid;
  gap: 5px;
}

.fg-access-card li strong {
  color: #2f241a;
}

.fg-access-card li span {
  color: rgba(47, 36, 26, 0.68);
  line-height: 1.5;
}

.fg-access-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.fg-access-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  color: #2f241a;
  border: 1px solid rgba(47, 36, 26, 0.16);
  background: rgba(255, 255, 255, 0.68);
}

@media (max-width: 720px) {
  .fg-access-actions {
    flex-direction: column;
  }

  .fg-access-actions a {
    width: 100%;
  }
}

/* Field Guide food stop card */
.fg-food-card {
  margin: 22px 0;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(47, 36, 26, 0.13);
  background:
    radial-gradient(circle at top left, rgba(196, 130, 67, 0.13), transparent 36%),
    rgba(255, 252, 246, 0.78);
  box-shadow: 0 18px 44px rgba(47, 36, 26, 0.06);
}

.fg-food-card span {
  display: inline-flex;
  margin-bottom: 8px;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(71, 53, 38, 0.58);
  font-weight: 900;
}

.fg-food-card h3 {
  margin: 0 0 8px;
  color: #2f241a;
  font-size: 1.25rem;
}

.fg-food-card p {
  color: rgba(47, 36, 26, 0.74);
  line-height: 1.58;
}

.fg-sponsored-slot {
  position: relative;
  margin: 18px 0 20px;
  padding: 17px 18px 17px 20px;
  border-radius: 20px;
  border: 1px solid rgba(139, 92, 55, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 252, 246, 0.96), rgba(244, 235, 220, 0.76));
  box-shadow: 0 14px 34px rgba(47, 36, 26, 0.07);
}

.fg-sponsored-slot::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 0;
  width: 4px;
  border-radius: 999px;
  background: rgba(144, 98, 44, 0.72);
}

.fg-sponsored-slot.is-active {
  border-color: rgba(144, 98, 44, 0.38);
  background:
    linear-gradient(135deg, rgba(255, 249, 238, 0.98), rgba(239, 222, 193, 0.8));
}

.fg-sponsored-slot strong {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(123, 79, 32, 0.1);
  color: #7b4f20;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fg-sponsored-slot h4 {
  margin: 0 0 6px;
  color: #2f241a;
  font-size: 1.05rem;
}

.fg-sponsored-slot p {
  margin: 0 0 6px;
}

.fg-sponsored-slot a {
  display: inline-flex;
  margin-top: 10px;
  color: #6f4316;
  font-weight: 800;
  text-decoration: none;
}

.fg-sponsored-slot a:hover {
  text-decoration: underline;
}

.fg-sponsored-slot small,
.fg-food-item small,
.fg-food-note {
  color: rgba(47, 36, 26, 0.58);
  font-size: 0.82rem;
}

.fg-food-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.fg-food-item {
  display: grid;
  grid-template-columns: minmax(190px, 0.85fr) 1.15fr;
  gap: 16px;
  padding: 15px;
  border-radius: 18px;
  border: 1px solid rgba(47, 36, 26, 0.1);
  background: rgba(255, 255, 255, 0.56);
}

.fg-food-item strong {
  display: block;
  color: #2f241a;
  margin-bottom: 4px;
}

.fg-food-item p {
  margin: 0;
}

.fg-food-note {
  margin-top: 16px;
  font-weight: 700;
}

@media (max-width: 720px) {
  .fg-food-item {
    grid-template-columns: 1fr;
  }
}

/* Homepage first-screen reset: hero + Field Guide as one clear flow */
.home-hero-builder{
  padding-top:42px;
}

.home-hero-copy{
  max-width:1080px;
  margin-bottom:34px;
}

.home-hero-copy h1{
  font-family:'Outfit';
  font-weight:900;
  font-size:clamp(58px,9vw,132px);
  line-height:.88;
  letter-spacing:-.065em;
  margin:0 0 22px;
  color:var(--black);
}

.home-hero-copy > p:not(.eyebrow){
  max-width:780px;
  font-size:clamp(19px,2.1vw,28px);
  line-height:1.42;
  color:#5c554c;
  margin:0;
}

.home-live-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:34px;
}

.home-live-strip div{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(20,20,20,.10);
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 18px 44px rgba(0,0,0,.05);
}

.home-live-strip strong{
  display:block;
  font-family:'Outfit';
  font-size:24px;
  line-height:1;
  color:var(--black);
}

.home-live-strip span{
  display:block;
  margin-top:6px;
  color:#5f584f;
  font-weight:800;
}

.home-fg-intro{
  max-width:920px;
  margin:26px 0 18px;
}

.home-fg-intro h2{
  font-family:'Outfit';
  font-size:clamp(42px,6vw,82px);
  line-height:.92;
  letter-spacing:-.055em;
  margin:0 0 14px;
}

.home-fg-intro p{
  max-width:760px;
  font-size:20px;
  line-height:1.45;
  color:#5c554c;
  margin:0;
}

.home-fg-builder-light{
  background:#fffaf1;
  border:1px solid rgba(20,20,20,.10);
  border-radius:28px;
  padding:28px;
  box-shadow:0 26px 70px rgba(0,0,0,.08);
}

.home-fg-builder-light .fg-form{
  background:transparent;
  color:var(--black);
  box-shadow:none;
  border:0;
  padding:0;
}

.home-fg-builder-light .fg-form h2{
  color:var(--black);
  font-size:clamp(34px,5vw,64px);
}

.home-fg-builder-light label,
.home-fg-builder-light legend{
  color:var(--black);
}

.home-fg-builder-light input,
.home-fg-builder-light select{
  background:#fff;
  color:var(--black);
  border:1px solid rgba(20,20,20,.16);
}

.home-fg-builder-light .fg-chip{
  background:#fff;
  color:var(--black);
  border:1px solid rgba(20,20,20,.14);
}

.home-fg-builder-light .fg-submit{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}

@media(max-width:900px){
  .home-live-strip{
    grid-template-columns:1fr;
  }

  .home-hero-copy h1{
    font-size:clamp(48px,14vw,78px);
  }
}

@media(max-width:640px){
  .home-hero-builder{
    padding-top:28px;
  }

  .home-hero-copy .hero-actions .btn{
    width:100%;
  }

  .home-fg-builder-light{
    padding:18px;
    border-radius:22px;
  }
}

/* Homepage Phase 1 cleanup */
.home-hero-builder{
  padding-top:40px;
}

.home-hero-builder .hero-copy{
  margin-bottom:28px;
}

.home-hero-builder .hero-copy h1{
  max-width:980px;
}

.home-hero-builder .fg-builder{
  background:#fff8ef;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 22px 60px rgba(0,0,0,.08);
}

.home-hero-builder .fg-form{
  background:#fff;
  color:var(--black);
  border:1px solid var(--line);
}

.home-hero-builder .fg-form h2{
  color:var(--black);
}

.home-hero-builder .fg-form label,
.home-hero-builder .fg-form legend{
  color:var(--black);
}

.home-hero-builder .fg-form input,
.home-hero-builder .fg-form select{
  background:#fff;
  color:var(--black);
  border:1px solid var(--line);
}

.home-hero-builder .fg-chip{
  background:#fff;
  color:var(--black);
  border:1px solid var(--line);
}

.home-hero-builder .fg-side-note{
  background:#111;
  color:#fff;
}

#featured{
  margin-top:20px;
}

#featured .featured-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}

#featured .featured-card{
  min-height:0;
}

#featured .featured-card .photo-frame{
  height:130px;
}

#featured .featured-body{
  padding:14px;
  gap:8px;
}

#featured .featured-body h3{
  font-size:18px;
}

#featured .story-mini,
#featured .featured-body > p,
#featured .affiliate-grid{
  display:none;
}

.atlas-title{
  font-family:'Outfit';
  font-size:clamp(52px,8vw,108px);
  line-height:.92;
  letter-spacing:-.055em;
  margin:0 0 22px;
}

.atlas-page .lead{
  max-width:780px;
  font-size:22px;
  line-height:1.45;
}

.atlas-hub-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.atlas-hub-grid a{
  color:inherit;
  text-decoration:none;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
}

.atlas-hub-grid strong{
  font-family:'Outfit';
  font-size:28px;
  line-height:1.05;
}

.atlas-hub-grid span{
  color:var(--primary);
  font-weight:900;
}

@media(max-width:980px){
  #featured .featured-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .atlas-hub-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  #featured .featured-grid{
    grid-template-columns:1fr;
  }

  .home-hero-builder{
    padding-top:24px;
  }
}

/* Homepage Phase 1 final: merged hero + first Field Guide form */
.merged-field-guide-hero{
  padding-top:32px;
  padding-bottom:44px;
}

.merged-hero-copy{
  max-width:980px;
}

.merged-hero-copy h1{
  font-family:'Outfit';
  font-size:clamp(52px,8vw,116px);
  line-height:.92;
  letter-spacing:-.06em;
  margin:0 0 22px;
  color:var(--black);
}

.merged-hero-copy > p:not(.eyebrow){
  max-width:760px;
  font-size:clamp(18px,2vw,24px);
  line-height:1.42;
  color:#5f5a50;
  margin:0;
}

.merged-hero-actions{
  margin-top:26px;
}

.merged-country-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:26px;
  max-width:980px;
}

.merged-country-strip > div{
  padding:18px 20px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 12px 26px rgba(0,0,0,.06);
}

.merged-country-strip > div.active{
  background:#fff;
  color:var(--black);
  border-color:rgba(255,0,40,.28);
  position:relative;
}

.merged-country-strip > div.active::before{
  content:"LIVE";
  display:inline-flex;
  width:max-content;
  margin-bottom:8px;
  padding:3px 7px 2px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}

.merged-country-strip strong{
  font-size:22px;
}

.merged-country-strip span{
  font-size:14px;
  color:#5f5a50;
  opacity:1;
}

.merged-form-panel{
  margin-top:34px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--line);
  border-radius:28px;
  padding:30px;
  box-shadow:0 24px 60px rgba(0,0,0,.09);
}

.merged-form-head{
  max-width:820px;
  margin-bottom:22px;
}

.merged-form-head h2{
  font-family:'Outfit';
  font-size:clamp(42px,5.6vw,82px);
  line-height:.94;
  letter-spacing:-.055em;
  margin:0 0 12px;
  color:var(--black);
}

.merged-form-head p{
  max-width:720px;
  color:#5f5a50;
  font-size:18px;
  line-height:1.45;
  margin:0;
}

.merged-fg-form{
  background:#fff !important;
  color:var(--black) !important;
  border:1px solid var(--line);
  border-radius:24px;
  padding:26px;
  box-shadow:none;
  max-width:none;
}

.merged-fg-form h2{
  display:none;
}

.merged-fg-form label,
.merged-fg-form legend{
  color:var(--black) !important;
  font-weight:900;
}

.merged-fg-form label span{
  display:block;
  margin-bottom:8px;
  color:#5f5a50;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
}

.merged-fg-form input,
.merged-fg-form select{
  background:#fff !important;
  color:var(--black) !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  min-height:50px;
}

.merged-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.merged-fg-form fieldset{
  border:0;
  padding:0;
  margin:18px 0 0;
}

.merged-fg-form .fg-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.merged-fg-form .fg-chip{
  background:#fff !important;
  color:var(--black) !important;
  border:1px solid var(--line);
  border-radius:999px;
  padding:11px 14px;
}

.merged-fg-form .fg-submit{
  margin-top:20px;
  background:var(--primary);
  color:#fff;
  border:0;
  border-radius:14px;
  min-height:50px;
  padding:0 22px;
  font-weight:900;
}

/* Keep featured lighter after removing the crowded homepage modules */
#featured .featured-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}

#featured .featured-card{
  min-height:0;
  border-radius:18px;
}

#featured .featured-card .photo-frame{
  height:130px;
}

#featured .featured-body{
  padding:14px;
}

#featured .featured-body h3{
  font-size:18px;
}

#featured .story-mini,
#featured .featured-body > p,
#featured .featured-body .chips{
  display:none;
}

@media(max-width:980px){
  .merged-country-strip{
    grid-template-columns:1fr;
  }

  .merged-form-grid{
    grid-template-columns:1fr;
  }

  #featured .featured-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .merged-field-guide-hero{
    padding-top:20px;
  }

  .merged-hero-copy h1{
    font-size:48px;
  }

  .merged-form-panel,
  .merged-fg-form{
    padding:20px;
  }

  #featured .featured-grid{
    grid-template-columns:1fr;
  }

  .hero-actions .btn{
    width:100%;
  }
}

/* Final homepage direction: hero + Field Guide Builder are one first-screen product block */
.merged-field-guide-hero{
  padding-top:34px;
  padding-bottom:42px;
}

.merged-hero-copy{
  max-width:980px;
}

.merged-hero-copy h1{
  font-family:'Outfit';
  font-size:clamp(58px,8.6vw,132px);
  line-height:.86;
  letter-spacing:-.065em;
  margin:0 0 24px;
  color:var(--black);
}

.merged-hero-copy p:not(.eyebrow){
  max-width:780px;
  font-size:clamp(20px,2vw,28px);
  line-height:1.34;
  color:#5f5a52;
  margin:0;
}

.merged-field-guide-hero .hero-actions{
  margin-top:28px;
  margin-bottom:28px;
}

.merged-country-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0 0 28px;
}

.merged-country-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 14px 34px rgba(0,0,0,.05);
}

.merged-country-card.active{
  background:#111;
  color:#fff;
}

.merged-country-card span{
  display:inline-flex;
  width:max-content;
  background:var(--primary);
  color:#fff;
  border-radius:999px;
  padding:5px 10px;
  font-size:11px;
  line-height:1;
  letter-spacing:.12em;
  font-weight:900;
  margin-bottom:12px;
}

.merged-country-card strong{
  display:block;
  font-family:'Outfit';
  font-size:clamp(22px,2.4vw,34px);
  line-height:1;
  letter-spacing:-.04em;
}

.merged-country-card small{
  display:block;
  margin-top:8px;
  color:inherit;
  opacity:.72;
  font-weight:900;
  font-size:15px;
}

.merged-form-panel{
  background:#fffaf1;
  border:1px solid rgba(0,0,0,.10);
  border-radius:30px;
  padding:30px;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}

.merged-form-intro{
  max-width:880px;
  margin-bottom:22px;
}

.merged-form-intro h2{
  font-family:'Outfit';
  font-size:clamp(42px,5vw,76px);
  line-height:.92;
  letter-spacing:-.055em;
  margin:0 0 12px;
  color:var(--black);
}

.merged-form-intro p{
  max-width:720px;
  font-size:18px;
  line-height:1.45;
  color:#5f5a52;
  margin:0;
}

.merged-form-panel .fg-builder{
  display:block;
}

.merged-fg-form{
  background:#fff;
  color:var(--black);
  border:1px solid rgba(0,0,0,.10);
  border-radius:24px;
  padding:26px;
  max-width:none;
  box-shadow:none;
}

.merged-fg-form h2{
  display:none;
}

.merged-fg-form label,
.merged-fg-form legend{
  color:var(--black);
  font-weight:900;
}

.merged-fg-form label span{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#6a6258;
}

.merged-fg-form input,
.merged-fg-form select{
  background:#fff;
  color:var(--black);
  border:1px solid rgba(0,0,0,.14);
  border-radius:14px;
  min-height:54px;
}

.merged-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.merged-fg-form .fg-chip{
  background:#fff;
  color:var(--black);
  border:1px solid rgba(0,0,0,.14);
}

.merged-fg-form .fg-chip input{
  min-height:auto;
  accent-color:var(--primary);
}

.merged-fg-form .fg-submit{
  width:max-content;
  min-width:220px;
  background:var(--primary);
  color:#fff;
}

@media(max-width:980px){
  .merged-country-strip,
  .merged-form-grid{
    grid-template-columns:1fr;
  }

  .merged-field-guide-hero{
    padding-top:24px;
  }
}

@media(max-width:640px){
  .merged-hero-copy h1{
    font-size:52px;
  }

  .merged-form-panel,
  .merged-fg-form{
    padding:20px;
  }

  .merged-fg-form .fg-submit,
  .merged-field-guide-hero .hero-actions .btn{
    width:100%;
  }
}

/* Atlas real content page */
.atlas-hero{
  padding-top:48px;
  padding-bottom:28px;
}

.atlas-title{
  font-family:'Outfit';
  font-size:clamp(54px,8vw,112px);
  line-height:.92;
  letter-spacing:-.055em;
  margin:0 0 22px;
  max-width:980px;
}

.atlas-jump-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.atlas-jump-grid .card{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  color:inherit;
  text-decoration:none;
}

.atlas-jump-grid strong{
  font-family:'Outfit';
  font-size:clamp(24px,3vw,36px);
  line-height:1;
}

.atlas-jump-grid span{
  max-width:280px;
  color:var(--primary);
  font-weight:900;
  line-height:1.25;
}

@media(max-width:760px){
  .atlas-jump-grid{
    grid-template-columns:1fr;
  }

  .atlas-jump-grid .card{
    display:grid;
  }
}

/* Clean Atlas hub */
.atlas-topbar{
  min-height:72px;
}

.atlas-topbar .brand-logo{
  max-height:54px;
  width:auto;
}

.atlas-hub{
  padding:76px 0 96px;
}

.atlas-hub-hero{
  max-width:980px;
  margin-bottom:42px;
}

.atlas-hub-hero h1{
  font-family:'Outfit';
  font-size:clamp(54px,8vw,118px);
  line-height:.9;
  letter-spacing:-.06em;
  margin:0 0 24px;
  color:var(--black);
}

.atlas-hub-hero p{
  max-width:720px;
  font-size:clamp(18px,2vw,24px);
  line-height:1.45;
  color:var(--muted);
  margin:0;
}

.atlas-hub-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  max-width:1080px;
}

.atlas-hub-card{
  display:grid;
  gap:14px;
  min-height:210px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--shadow);
  color:inherit;
  text-decoration:none;
  transition:var(--transition);
}

.atlas-hub-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,0,40,.35);
}

.atlas-hub-card span{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.atlas-hub-card strong{
  font-family:'Outfit';
  font-size:clamp(28px,3vw,42px);
  line-height:.96;
  letter-spacing:-.045em;
  color:var(--black);
}

.atlas-hub-card p{
  max-width:460px;
  color:var(--muted);
  font-weight:750;
  line-height:1.45;
  margin:0;
}

@media(max-width:760px){
  .atlas-hub{
    padding:42px 0 70px;
  }

  .atlas-hub-grid{
    grid-template-columns:1fr;
  }

  .atlas-hub-card{
    min-height:auto;
    padding:24px;
  }

  .atlas-topbar .brand-logo{
    max-height:42px;
  }
}

/* Atlas full page and homepage preview */
.atlas-topbar{
  min-height:72px;
}

.atlas-topbar .brand-logo{
  max-height:54px;
  width:auto;
}

.atlas-full-page{
  padding-bottom:70px;
}

.atlas-full-hero{
  padding:76px 0 28px;
}

.atlas-full-hero h1{
  font-family:'Outfit';
  font-size:clamp(52px,8vw,112px);
  line-height:.9;
  letter-spacing:-.06em;
  margin:0 0 24px;
  color:var(--black);
  max-width:1050px;
}

.atlas-full-hero p{
  max-width:760px;
  font-size:clamp(18px,2vw,23px);
  line-height:1.45;
  color:var(--muted);
  margin:0;
}

.atlas-preview-section{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(168,125,68,.07));
  border-radius:34px;
  padding-left:32px;
  padding-right:32px;
}

.atlas-preview-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}

.atlas-preview-card{
  display:grid;
  gap:10px;
  min-height:260px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.06);
  color:inherit;
  text-decoration:none;
  transition:var(--transition);
}

.atlas-preview-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,0,40,.35);
}

.atlas-preview-card img{
  width:100%;
  height:92px;
  object-fit:contain;
  border-radius:16px;
  background:#f7f2e7;
  padding:14px;
}

.atlas-preview-card span{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.atlas-preview-card strong{
  font-family:'Outfit';
  font-size:clamp(19px,2vw,26px);
  line-height:1;
  letter-spacing:-.04em;
  color:var(--black);
}

.atlas-preview-card p{
  margin:0;
  color:var(--muted);
  font-weight:750;
  line-height:1.35;
  font-size:14px;
}

@media(max-width:1100px){
  .atlas-preview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .atlas-preview-section{
    padding-left:20px;
    padding-right:20px;
  }

  .atlas-preview-grid{
    grid-template-columns:1fr;
  }

  .atlas-topbar .brand-logo{
    max-height:42px;
  }
}

/* Atlas preview editorial thumbnails */
.atlas-preview-card img{
  background:#f4eadc;
  object-fit:cover;
  padding:0;
}

/* Field Guide report planning / affiliate panel */
.fg-plan-panel{
  margin:24px 0;
  padding:24px;
  border:1px solid rgba(255,0,40,.18);
  border-radius:24px;
  background:linear-gradient(135deg,#fff,#fff7ef);
  box-shadow:0 18px 42px rgba(0,0,0,.06);
}

.fg-plan-panel-head{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}

.fg-plan-panel-head span{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.fg-plan-panel-head h3{
  font-family:'Outfit';
  font-size:clamp(28px,3vw,42px);
  line-height:1;
  letter-spacing:-.045em;
  margin:0;
  color:var(--black);
}

.fg-plan-panel-head p{
  margin:0;
  color:var(--muted);
  font-weight:750;
  line-height:1.45;
}

.fg-plan-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.fg-plan-action{
  display:grid;
  gap:7px;
  min-height:150px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:var(--transition);
}

.fg-plan-action:hover{
  transform:translateY(-2px);
  border-color:rgba(255,0,40,.35);
}

.fg-plan-action small{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.fg-plan-action strong{
  font-family:'Outfit';
  font-size:22px;
  line-height:1.02;
  letter-spacing:-.035em;
  color:var(--black);
}

.fg-plan-action span{
  color:var(--muted);
  font-weight:750;
  line-height:1.35;
  font-size:14px;
}

.fg-plan-action.is-sponsored{
  border-color:rgba(255,0,40,.22);
  background:linear-gradient(180deg,#fff,#fff8f1);
}

@media(max-width:980px){
  .fg-plan-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .fg-plan-panel{
    padding:18px;
  }

  .fg-plan-actions{
    grid-template-columns:1fr;
  }

  .fg-plan-action{
    min-height:auto;
  }
}

/* Field Guide report modal overlay */
body.field-guide-report-open{
  overflow:hidden;
}

body.field-guide-report-open::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(5px);
}

body.field-guide-report-open .merged-form-panel{
  opacity:1;
  filter:none;
  pointer-events:auto;
}

body.field-guide-report-open .merged-hero-copy,
body.field-guide-report-open .merged-country-strip{
  opacity:.18;
  filter:grayscale(.25);
  pointer-events:none;
}

body.field-guide-report-open .merged-fg-form{
  opacity:0;
  pointer-events:none;
}

.home-fg-result.is-visible{
  display:block;
  position:fixed;
  z-index:10001;
  inset:24px;
  width:min(1120px, calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  margin:auto;
  overflow:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.24);
  border-radius:30px;
  background:#fff;
  box-shadow:0 42px 140px rgba(0,0,0,.62);
}

.home-fg-result.is-visible::before{
  display:none;
}

.home-fg-result.is-visible .fg-guide-card{
  border:0;
  box-shadow:none;
  min-height:100%;
  padding:28px;
  background:
    radial-gradient(circle at top left, rgba(255,0,40,.12), transparent 28%),
    linear-gradient(180deg,#fff,#fff8f1);
}

.fg-report-ribbon{
  position:sticky;
  top:0;
  z-index:4;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin:-28px -28px 24px;
  padding:20px 24px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.16);
  border-radius:30px 30px 0 0;
  background:#111;
  color:#fff;
}

.fg-report-ribbon > div{
  display:grid;
  gap:4px;
}

.fg-report-ribbon span{
  color:#ffccd5;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.fg-report-ribbon strong{
  font-family:'Outfit';
  font-size:clamp(28px,4vw,52px);
  line-height:.95;
  letter-spacing:-.045em;
}

.fg-report-close{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  flex:none;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  transition:var(--transition);
}

.fg-report-close:hover{
  background:var(--primary);
  border-color:var(--primary);
  transform:rotate(6deg) scale(1.04);
}

@media(max-width:640px){
  .home-fg-result.is-visible{
    inset:10px;
    width:calc(100vw - 20px);
    max-height:calc(100vh - 20px);
    border-radius:22px;
  }

  .home-fg-result.is-visible .fg-guide-card{
    padding:18px;
  }

  .fg-report-ribbon{
    margin:-18px -18px 18px;
    padding:16px;
    border-radius:22px 22px 0 0;
  }

  .fg-report-close{
    width:42px;
    height:42px;
    font-size:28px;
  }
}


/* Road Trip generated report modal */
body.road-trip-report-open{
  overflow:hidden;
}

body.road-trip-report-open::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:10020;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(5px);
}

.road-trip-report.is-visible{
  display:block;
  position:fixed;
  z-index:10021;
  inset:24px;
  width:min(1180px, calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  margin:auto;
  overflow:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.24);
  border-radius:30px;
  background:#fff;
  box-shadow:0 42px 140px rgba(0,0,0,.62);
}

.road-trip-report-card{
  min-height:100%;
  padding:28px;
  background:
    radial-gradient(circle at top left, rgba(255,0,40,.12), transparent 30%),
    linear-gradient(180deg,#fff,#fff8f1);
}

.road-trip-report-ribbon{
  position:sticky;
  top:0;
  z-index:4;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin:-28px -28px 24px;
  padding:20px 24px;
  border-radius:30px 30px 0 0;
  background:#111;
  color:#fff;
}

.road-trip-report-ribbon > div{
  display:grid;
  gap:4px;
}

.road-trip-report-ribbon span{
  color:#ffccd5;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.road-trip-report-ribbon strong{
  font-family:'Outfit';
  font-size:clamp(28px,4vw,52px);
  line-height:.95;
  letter-spacing:-.045em;
}

.road-trip-report-close{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  flex:none;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  transition:var(--transition);
}

.road-trip-report-close:hover{
  background:var(--primary);
  border-color:var(--primary);
  transform:rotate(6deg) scale(1.04);
}

.road-trip-report-hero{
  display:grid;
  gap:12px;
  margin-bottom:24px;
}

.road-trip-report-hero h2{
  font-family:'Outfit';
  font-size:clamp(48px,7vw,94px);
  line-height:.9;
  letter-spacing:-.06em;
  margin:0;
  color:var(--black);
}

.road-trip-report-hero p:not(.eyebrow){
  margin:0;
  color:var(--muted);
  font-size:20px;
  font-weight:850;
}

.road-trip-plan-panel{
  display:grid;
  grid-template-columns:minmax(260px,360px) 1fr;
  gap:18px;
  padding:22px;
  border:1px solid rgba(255,0,40,.18);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.06);
  margin-bottom:24px;
}

.road-trip-plan-panel span,
.road-trip-report-stops-head span{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.road-trip-plan-panel h3{
  font-family:'Outfit';
  font-size:clamp(28px,3vw,42px);
  line-height:1;
  letter-spacing:-.045em;
  margin:8px 0;
  color:var(--black);
}

.road-trip-plan-panel p{
  margin:0;
  color:var(--muted);
  font-weight:750;
  line-height:1.45;
}

.road-trip-plan-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.road-trip-plan-action{
  display:grid;
  gap:7px;
  min-height:150px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:var(--transition);
}

.road-trip-plan-action:hover{
  transform:translateY(-2px);
  border-color:rgba(255,0,40,.35);
}

.road-trip-plan-action small{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.road-trip-plan-action strong{
  font-family:'Outfit';
  font-size:22px;
  line-height:1.02;
  letter-spacing:-.035em;
  color:var(--black);
}

.road-trip-plan-action span{
  color:var(--muted);
  font-weight:750;
  line-height:1.35;
  font-size:14px;
}

.road-trip-plan-action.is-sponsored{
  border-color:rgba(255,0,40,.22);
  background:linear-gradient(180deg,#fff,#fff8f1);
}

.road-trip-report-grid{
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(320px,460px);
  gap:18px;
  align-items:start;
}

.road-trip-report-map{
  height:560px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:#e9e4da;
}

.road-trip-report-map iframe{
  width:100%;
  height:100%;
  border:0;
}

.road-trip-report-stops{
  display:grid;
  gap:10px;
  max-height:560px;
  overflow:auto;
  padding-right:6px;
}

.road-trip-report-stops-head{
  display:grid;
  gap:4px;
  padding:16px;
  border:1px solid rgba(255,0,40,.16);
  border-radius:18px;
  background:#fff;
}

.road-trip-report-stops-head strong{
  font-family:'Outfit';
  font-size:28px;
  line-height:1;
  letter-spacing:-.035em;
}

.road-trip-report-stop{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.road-trip-report-stop > span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-weight:900;
}

.road-trip-report-stop strong{
  display:block;
  font-size:18px;
}

.road-trip-report-stop small{
  display:block;
  color:var(--muted);
  font-weight:800;
  margin:3px 0 8px;
}

.road-trip-report-stop p{
  margin:0 0 10px;
  color:var(--muted);
  line-height:1.4;
  font-weight:650;
}

.road-trip-report-stop a{
  color:var(--primary);
  font-weight:900;
  text-decoration:none;
}

.road-trip-logistics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}

.road-trip-logistics article{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.road-trip-logistics strong{
  font-family:'Outfit';
  font-size:22px;
}

.road-trip-logistics p{
  margin:8px 0 0;
  color:var(--muted);
  line-height:1.45;
  font-weight:700;
}

@media(max-width:1000px){
  .road-trip-plan-panel,
  .road-trip-report-grid{
    grid-template-columns:1fr;
  }

  .road-trip-plan-actions,
  .road-trip-logistics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .road-trip-report.is-visible{
    inset:10px;
    width:calc(100vw - 20px);
    max-height:calc(100vh - 20px);
    border-radius:22px;
  }

  .road-trip-report-card{
    padding:18px;
  }

  .road-trip-report-ribbon{
    margin:-18px -18px 18px;
    padding:16px;
    border-radius:22px 22px 0 0;
  }

  .road-trip-plan-actions,
  .road-trip-logistics{
    grid-template-columns:1fr;
  }

  .road-trip-report-map{
    height:320px;
  }

  .road-trip-report-close{
    width:42px;
    height:42px;
    font-size:28px;
  }
}

/* Road Trip logistics layer */
.road-trip-logistics-layer{
  margin:0 0 24px;
  padding:22px;
  border:1px solid rgba(255,0,40,.18);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.06);
}

.road-trip-logistics-layer-head{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}

.road-trip-logistics-layer-head span{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.road-trip-logistics-layer-head h3{
  font-family:'Outfit';
  font-size:clamp(30px,4vw,52px);
  line-height:.95;
  letter-spacing:-.05em;
  margin:0;
  color:var(--black);
}

.road-trip-logistics-layer-head p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-weight:750;
  line-height:1.45;
}

.road-trip-logistics-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.road-trip-logistics-card{
  display:grid;
  align-content:start;
  gap:8px;
  min-height:210px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fffaf5);
}

.road-trip-logistics-card small{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.road-trip-logistics-card strong{
  font-family:'Outfit';
  font-size:23px;
  line-height:1;
  letter-spacing:-.035em;
  color:var(--black);
}

.road-trip-logistics-card p{
  margin:0;
  color:var(--muted);
  font-weight:700;
  line-height:1.38;
  font-size:14px;
}

.road-trip-logistics-card a{
  align-self:end;
  color:var(--primary);
  font-weight:900;
  text-decoration:none;
}

@media(max-width:1100px){
  .road-trip-logistics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .road-trip-logistics-layer{
    padding:18px;
  }

  .road-trip-logistics-grid{
    grid-template-columns:1fr;
  }

  .road-trip-logistics-card{
    min-height:auto;
  }
}

/* Road Trip food picks */
.road-trip-food-picks{
  margin:0 0 24px;
  padding:22px;
  border:1px solid rgba(255,0,40,.18);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.06);
}

.road-trip-food-picks-head{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}

.road-trip-food-picks-head span{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.road-trip-food-picks-head h3{
  font-family:'Outfit';
  font-size:clamp(30px,4vw,52px);
  line-height:.95;
  letter-spacing:-.05em;
  margin:0;
  color:var(--black);
}

.road-trip-food-picks-head p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-weight:750;
  line-height:1.45;
}

.road-trip-food-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.road-trip-food-card{
  display:grid;
  align-content:start;
  gap:9px;
  min-height:260px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fffaf5);
}

.road-trip-food-card small{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.road-trip-food-card strong{
  font-family:'Outfit';
  font-size:24px;
  line-height:1;
  letter-spacing:-.035em;
  color:var(--black);
}

.road-trip-food-card p{
  margin:0;
  color:var(--muted);
  font-weight:700;
  line-height:1.38;
  font-size:14px;
}

.road-trip-food-card > a{
  color:var(--primary);
  font-weight:900;
  text-decoration:none;
}

.road-trip-sponsor-slot{
  align-self:end;
  display:grid;
  gap:4px;
  margin-top:8px;
  padding:12px;
  border:1px dashed rgba(255,0,40,.28);
  border-radius:14px;
  background:#fff8f1;
}

.road-trip-sponsor-slot b{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.road-trip-sponsor-slot span{
  color:var(--muted);
  font-size:13px;
  font-weight:750;
  line-height:1.35;
}

@media(max-width:1100px){
  .road-trip-food-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .road-trip-food-picks{
    padding:18px;
  }

  .road-trip-food-grid{
    grid-template-columns:1fr;
  }

  .road-trip-food-card{
    min-height:auto;
  }
}

/* Road Trip photo stops */
.road-trip-photo-stops{
  margin:0 0 24px;
  padding:22px;
  border:1px solid rgba(255,0,40,.18);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.06);
}

.road-trip-photo-stops-head{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}

.road-trip-photo-stops-head span{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.road-trip-photo-stops-head h3{
  font-family:'Outfit';
  font-size:clamp(30px,4vw,52px);
  line-height:.95;
  letter-spacing:-.05em;
  margin:0;
  color:var(--black);
}

.road-trip-photo-stops-head p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-weight:750;
  line-height:1.45;
}

.road-trip-photo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.road-trip-photo-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fffaf5);
}

.road-trip-photo-card img{
  display:block;
  width:100%;
  height:150px;
  object-fit:cover;
  background:#f4eadc;
}

.road-trip-photo-card div{
  display:grid;
  gap:8px;
  padding:16px;
}

.road-trip-photo-card small{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.road-trip-photo-card strong{
  font-family:'Outfit';
  font-size:24px;
  line-height:1;
  letter-spacing:-.035em;
  color:var(--black);
}

.road-trip-photo-card p{
  margin:0;
  color:var(--muted);
  font-weight:700;
  line-height:1.38;
  font-size:14px;
}

.road-trip-photo-card a{
  color:var(--primary);
  font-weight:900;
  text-decoration:none;
}

@media(max-width:1100px){
  .road-trip-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .road-trip-photo-stops{
    padding:18px;
  }

  .road-trip-photo-grid{
    grid-template-columns:1fr;
  }
}

/* Field Guide real-photo cues */
.fg-photo-cues{
  margin:22px 0;
  padding:22px;
  border:1px solid rgba(255,0,40,.18);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.06);
}

.fg-photo-cues-head{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}

.fg-photo-cues-head span{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.fg-photo-cues-head h3{
  font-family:'Outfit';
  font-size:clamp(30px,4vw,52px);
  line-height:.95;
  letter-spacing:-.05em;
  margin:0;
  color:var(--black);
}

.fg-photo-cues-head p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-weight:750;
  line-height:1.45;
}

.fg-photo-cue-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.fg-photo-cue-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fffaf5);
}

.fg-photo-cue-card img{
  display:block;
  width:100%;
  height:190px;
  object-fit:cover;
  background:#f4eadc;
}

.fg-photo-cue-card.image-missing img{
  display:none;
}

.fg-photo-cue-card div{
  display:grid;
  gap:8px;
  padding:16px;
}

.fg-photo-cue-card small{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.fg-photo-cue-card strong{
  font-family:'Outfit';
  font-size:24px;
  line-height:1;
  letter-spacing:-.035em;
  color:var(--black);
}

.fg-photo-cue-card p{
  margin:0;
  color:var(--muted);
  font-weight:700;
  line-height:1.38;
  font-size:14px;
}

.fg-photo-cue-card a{
  color:var(--primary);
  font-weight:900;
  text-decoration:none;
}

@media(max-width:980px){
  .fg-photo-cue-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .fg-photo-cues{
    padding:18px;
  }

  .fg-photo-cue-grid{
    grid-template-columns:1fr;
  }

  .fg-photo-cue-card img{
    height:210px;
  }
}

/* Country Mode real photo fallback */
.road-trip-photo-card.image-missing img{
  display:none;
}

.road-trip-photo-card.image-missing{
  border-color:rgba(255,0,40,.22);
}

.road-trip-photo-card.image-missing div::before{
  content:"Photo loading from route archive";
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-bottom:4px;
  padding:6px 9px;
  border-radius:999px;
  background:#fff0e8;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Private affiliate/action dashboard */
.affiliate-admin-page{
  background:
    radial-gradient(circle at top left, rgba(168,125,68,.12), transparent 32%),
    #fffaf3;
}

.affiliate-admin{
  padding-top:52px;
}

.affiliate-admin-hero{
  max-width:920px;
  margin-bottom:26px;
}

.affiliate-admin-hero h1{
  font-family:'Outfit';
  font-size:clamp(52px,8vw,104px);
  line-height:.92;
  letter-spacing:-.06em;
  margin:0 0 18px;
  color:var(--black);
}

.affiliate-admin-hero p{
  max-width:760px;
  font-size:20px;
  line-height:1.45;
  color:var(--muted);
  font-weight:750;
}

.affiliate-admin-token-card{
  display:grid;
  grid-template-columns:1fr 160px auto;
  gap:14px;
  align-items:end;
  margin-bottom:24px;
}

.affiliate-admin-token-card label{
  display:grid;
  gap:8px;
}

.affiliate-admin-token-card label span{
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--black);
}

.affiliate-admin-token-card input,
.affiliate-admin-token-card select{
  min-height:52px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:13px 14px;
  background:#fff;
  font-weight:800;
}

.affiliate-admin-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.affiliate-admin-token-card .small{
  grid-column:1/-1;
  margin:0;
}

.affiliate-admin-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:24px 0;
}

.affiliate-admin-stat-card{
  display:grid;
  gap:10px;
}

.affiliate-admin-stat-card > span{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.affiliate-admin-stat-card div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}

.affiliate-admin-stat-card strong{
  font-size:14px;
  line-height:1.2;
}

.affiliate-admin-stat-card b{
  display:grid;
  place-items:center;
  min-width:34px;
  min-height:28px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-size:13px;
}

.affiliate-admin-table-card{
  padding:0;
  overflow:hidden;
}

.affiliate-admin-table-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:24px;
  border-bottom:1px solid var(--line);
  background:#fff;
}

.affiliate-admin-table-head h2{
  font-family:'Outfit';
  font-size:clamp(32px,4vw,52px);
  line-height:1;
  letter-spacing:-.045em;
  margin:0;
}

.affiliate-admin-table-wrap{
  overflow:auto;
}

.affiliate-admin-table{
  width:100%;
  border-collapse:collapse;
  min-width:1040px;
  background:#fff;
}

.affiliate-admin-table th,
.affiliate-admin-table td{
  padding:13px 14px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
  font-size:13px;
}

.affiliate-admin-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#111;
  color:#fff;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.affiliate-admin-table td strong{
  display:block;
  margin-bottom:5px;
}

.affiliate-admin-table td a{
  color:var(--primary);
  font-weight:900;
  text-decoration:none;
}

.affiliate-admin-pill{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:#fff1e8;
  color:var(--primary);
  font-weight:900;
  text-transform:uppercase;
  font-size:11px;
}

@media(max-width:980px){
  .affiliate-admin-token-card,
  .affiliate-admin-stats{
    grid-template-columns:1fr;
  }

  .affiliate-admin-actions .btn{
    flex:1;
  }
}

/* Compact header for private affiliate dashboard */
.affiliate-admin-page .affiliate-admin-topbar{
  min-height:76px;
  padding:14px 32px;
  border-bottom:1px solid rgba(0,0,0,.08);
  background:rgba(255,250,243,.92);
  backdrop-filter:blur(10px);
  align-items:center;
}

.affiliate-admin-page .affiliate-admin-topbar .brand{
  display:flex;
  align-items:center;
  width:auto;
  max-width:260px;
}

.affiliate-admin-page .affiliate-admin-topbar .brand-logo{
  width:auto;
  max-width:220px;
  max-height:52px;
  object-fit:contain;
}

.affiliate-admin-page .affiliate-admin-topbar .nav{
  align-items:center;
  gap:24px;
}

.affiliate-admin-page .affiliate-admin-topbar .nav a{
  font-size:14px;
  line-height:1;
}

.affiliate-admin-page .affiliate-admin{
  padding-top:44px;
}

@media(max-width:760px){
  .affiliate-admin-page .affiliate-admin-topbar{
    padding:12px 18px;
  }

  .affiliate-admin-page .affiliate-admin-topbar .brand-logo{
    max-width:170px;
    max-height:42px;
  }

  .affiliate-admin-page .affiliate-admin-topbar .nav{
    gap:14px;
  }

  .affiliate-admin-page .affiliate-admin-topbar .nav a{
    font-size:12px;
  }
}

/* Affiliate dashboard UX pass */
.affiliate-admin-hero h1{
  max-width:760px;
  font-size:clamp(44px,6vw,78px);
}

.affiliate-admin-filter-row{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:end;
  padding-top:8px;
}

.affiliate-admin-filter-row > label:not(.affiliate-admin-check){
  display:grid;
  gap:8px;
  min-width:180px;
}

.affiliate-admin-check{
  display:inline-flex !important;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:9px !important;
  min-height:42px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
}

.affiliate-admin-check input{
  width:16px;
  height:16px;
}

.affiliate-admin-check span{
  font-size:12px !important;
  letter-spacing:.08em !important;
}

.affiliate-admin-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin:20px 0;
}

.affiliate-admin-kpi{
  padding:18px;
}

.affiliate-admin-kpi span{
  display:block;
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.affiliate-admin-kpi strong{
  font-family:'Outfit';
  font-size:38px;
  line-height:1;
}

.affiliate-admin-table th:nth-child(5),
.affiliate-admin-table td:nth-child(5){
  min-width:220px;
}

.affiliate-admin-table th:nth-child(6),
.affiliate-admin-table td:nth-child(6){
  min-width:190px;
}

.affiliate-admin-table th:nth-child(7),
.affiliate-admin-table td:nth-child(7){
  color:var(--muted);
  font-size:12px;
  max-width:220px;
  word-break:break-word;
}

@media(max-width:980px){
  .affiliate-admin-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .affiliate-admin-kpis{
    grid-template-columns:1fr;
  }

  .affiliate-admin-filter-row{
    display:grid;
  }
}

.affiliate-admin-show-all{
  align-self:end;
  min-height:42px;
}

/* Affiliate disclosure badges inside generated guide reports */
.fg-plan-action small em,
.road-trip-plan-action small em{
  display:inline-flex;
  align-items:center;
  margin-right:7px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,0,40,.10);
  color:var(--primary);
  font-style:normal;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fg-plan-panel-head p,
.road-trip-plan-panel p{
  max-width:760px;
}

/* Road Trip report summary bar */
.road-trip-report-note{
  max-width:720px;
  margin-top:12px !important;
  color:var(--muted);
  font-weight:800;
}

.road-trip-summary-bar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 22px;
}

.road-trip-summary-bar article{
  display:grid;
  gap:6px;
  min-height:132px;
  padding:18px;
  border:1px solid rgba(255,0,40,.14);
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(255,0,40,.08), transparent 44%),
    #fff;
  box-shadow:0 10px 28px rgba(0,0,0,.045);
}

.road-trip-summary-bar span{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.road-trip-summary-bar strong{
  font-family:'Outfit';
  font-size:clamp(34px,4vw,52px);
  line-height:.92;
  color:var(--black);
}

.road-trip-summary-bar small{
  color:var(--muted);
  font-weight:850;
}

@media(max-width:980px){
  .road-trip-summary-bar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .road-trip-summary-bar{
    grid-template-columns:1fr;
  }

  .road-trip-summary-bar article{
    min-height:auto;
  }
}

/* Print / Save as PDF support for generated reports */
.road-trip-print-action{
  border:1px solid rgba(0,0,0,.12);
  font-family:inherit;
  text-align:left;
  cursor:pointer;
}

.road-trip-print-action:hover{
  transform:translateY(-2px);
}

.fg-print-button::after{
  content:"";
}

@media print{
  @page{
    size:auto;
    margin:14mm;
  }

  html,
  body{
    background:#fff !important;
    color:#111 !important;
    overflow:visible !important;
  }

  body.field-guide-report-open::before,
  body.road-trip-report-open::before{
    display:none !important;
    content:none !important;
  }

  body.field-guide-report-open *,
  body.road-trip-report-open *{
    visibility:hidden !important;
  }

  body.field-guide-report-open .home-fg-result.is-visible,
  body.field-guide-report-open .home-fg-result.is-visible *,
  body.road-trip-report-open .road-trip-report-card,
  body.road-trip-report-open .road-trip-report-card *{
    visibility:visible !important;
  }

  body.field-guide-report-open .home-fg-result.is-visible,
  body.road-trip-report-open .road-trip-report-card{
    position:absolute !important;
    inset:auto !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    max-width:none !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  body.field-guide-report-open .home-fg-result.is-visible .fg-guide-card,
  body.road-trip-report-open .road-trip-report-card{
    box-shadow:none !important;
    border:0 !important;
    background:#fff !important;
  }

  .fg-report-ribbon,
  .road-trip-report-ribbon{
    position:static !important;
    margin:0 0 18px !important;
    border-radius:0 !important;
    background:#111 !important;
    color:#fff !important;
    page-break-inside:avoid;
  }

  .fg-report-close,
  .road-trip-report-close,
  .fg-print-button,
  .road-trip-print-action,
  button,
  .auth-modal,
  .modal,
  .toast{
    display:none !important;
  }

  iframe{
    max-height:360px !important;
  }

  img{
    max-width:100% !important;
    page-break-inside:avoid;
  }

  a{
    color:#111 !important;
    text-decoration:none !important;
  }

  .road-trip-summary-bar,
  .fg-plan-actions,
  .road-trip-plan-actions,
  .fg-photo-cue-grid,
  .road-trip-photo-grid,
  .road-trip-report-grid{
    page-break-inside:avoid;
  }

  .fg-stop,
  .planner-stop,
  .road-trip-photo-card,
  .road-trip-food-card,
  .road-trip-logistics-card,
  .road-trip-plan-action,
  .fg-photo-cue-card{
    page-break-inside:avoid;
    break-inside:avoid;
  }
}

/* Strict print repair for generated guide reports */
@media print{
  @page{
    size:A4 portrait;
    margin:12mm;
  }

  html,
  body{
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:#fff !important;
    color:#111 !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  body::before,
  body.field-guide-report-open::before,
  body.road-trip-report-open::before{
    display:none !important;
    content:none !important;
  }

  body.field-guide-report-open > *:not(.home-fg-result),
  body.road-trip-report-open > *:not(#roadTripReport):not(.road-trip-report){
    display:none !important;
  }

  body.field-guide-report-open .home-fg-result,
  body.road-trip-report-open #roadTripReport,
  body.road-trip-report-open .road-trip-report{
    display:block !important;
    visibility:visible !important;
    position:static !important;
    inset:auto !important;
    width:100% !important;
    max-width:none !important;
    max-height:none !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  body.field-guide-report-open .home-fg-result *,
  body.road-trip-report-open #roadTripReport *,
  body.road-trip-report-open .road-trip-report *{
    visibility:visible !important;
  }

  .fg-guide-card,
  .road-trip-report-card{
    position:static !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  .fg-report-ribbon,
  .road-trip-report-ribbon{
    position:static !important;
    display:block !important;
    margin:0 0 14px !important;
    padding:12px 14px !important;
    border-radius:0 !important;
    background:#111 !important;
    color:#fff !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
  }

  .fg-report-ribbon *,
  .road-trip-report-ribbon *{
    color:#fff !important;
  }

  .fg-report-ribbon strong,
  .road-trip-report-ribbon strong{
    display:block !important;
    font-size:22px !important;
    line-height:1.1 !important;
    letter-spacing:0 !important;
  }

  .fg-report-ribbon span,
  .road-trip-report-ribbon span,
  .eyebrow,
  .road-trip-plan-panel span,
  .fg-plan-panel-head span,
  .road-trip-summary-bar span,
  .road-trip-logistics-layer-head span,
  .road-trip-food-picks-head span,
  .road-trip-photo-stops-head span{
    letter-spacing:0 !important;
    text-transform:none !important;
    word-spacing:0 !important;
  }

  .road-trip-report-hero,
  .fg-thread,
  .fg-pause,
  .fg-question,
  .road-trip-plan-panel,
  .fg-plan-panel,
  .road-trip-logistics-layer,
  .road-trip-food-picks,
  .road-trip-photo-stops,
  .road-trip-report-grid,
  .road-trip-logistics,
  .fg-photo-cues{
    margin:0 0 14px !important;
    padding:12px !important;
    border:1px solid #ddd !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
  }

  .road-trip-report-hero h2,
  .fg-guide-card h2{
    font-size:28px !important;
    line-height:1.1 !important;
    letter-spacing:0 !important;
    margin:0 0 8px !important;
  }

  .road-trip-report-note,
  .road-trip-report-hero p,
  .road-trip-plan-panel p,
  .fg-plan-panel-head p,
  .road-trip-logistics-layer p,
  .road-trip-food-picks p,
  .road-trip-photo-stops p,
  .fg-guide-card p{
    font-size:12px !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
    word-spacing:0 !important;
    text-transform:none !important;
  }

  .road-trip-summary-bar{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:8px !important;
    margin:0 0 14px !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
  }

  .road-trip-summary-bar article{
    min-height:0 !important;
    padding:10px !important;
    border:1px solid #ddd !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  .road-trip-summary-bar strong{
    font-size:26px !important;
    line-height:1 !important;
    letter-spacing:0 !important;
  }

  .road-trip-plan-actions,
  .fg-plan-actions{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:8px !important;
  }

  .road-trip-plan-action,
  .fg-plan-action{
    display:block !important;
    min-height:0 !important;
    padding:10px !important;
    border:1px solid #ddd !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
    text-decoration:none !important;
  }

  .road-trip-plan-action small,
  .road-trip-plan-action strong,
  .road-trip-plan-action span,
  .fg-plan-action small,
  .fg-plan-action strong,
  .fg-plan-action span{
    display:block !important;
    letter-spacing:0 !important;
    word-spacing:0 !important;
    text-transform:none !important;
    line-height:1.25 !important;
  }

  .road-trip-plan-action strong,
  .fg-plan-action strong{
    font-size:14px !important;
    margin:3px 0 !important;
  }

  .road-trip-report-grid{
    display:block !important;
  }

  .road-trip-report-map,
  .modal-map-frame{
    height:260px !important;
    max-height:260px !important;
    margin-bottom:12px !important;
    overflow:hidden !important;
  }

  iframe{
    width:100% !important;
    height:260px !important;
    max-height:260px !important;
    border:1px solid #ddd !important;
  }

  .road-trip-photo-grid,
  .fg-photo-cue-grid,
  .road-trip-food-grid,
  .road-trip-logistics-grid{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:8px !important;
  }

  .road-trip-photo-card,
  .fg-photo-cue-card,
  .road-trip-food-card,
  .road-trip-logistics-card,
  .fg-stop{
    page-break-inside:avoid !important;
    break-inside:avoid !important;
    border:1px solid #ddd !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  .road-trip-photo-card img,
  .fg-photo-cue-card img{
    height:120px !important;
    object-fit:cover !important;
  }

  .fg-report-close,
  .road-trip-report-close,
  .fg-print-button,
  .road-trip-print-action,
  button,
  .modal,
  .auth-modal,
  .toast{
    display:none !important;
  }

  a{
    color:#111 !important;
    text-decoration:none !important;
  }
}

/* Strict City Mode Field Guide print repair */
@media print{
  body.field-guide-report-open{
    overflow:visible !important;
    background:#fff !important;
  }

  body.field-guide-report-open::before{
    display:none !important;
    content:none !important;
  }

  body.field-guide-report-open > *{
    display:none !important;
  }

  body.field-guide-report-open .home-fg-result.is-visible{
    display:block !important;
    visibility:visible !important;
    position:absolute !important;
    inset:auto !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    max-width:none !important;
    max-height:none !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  body.field-guide-report-open .home-fg-result.is-visible,
  body.field-guide-report-open .home-fg-result.is-visible *{
    visibility:visible !important;
  }

  body.field-guide-report-open .home-fg-result.is-visible .fg-guide-card{
    display:block !important;
    position:static !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  body.field-guide-report-open .fg-report-ribbon{
    position:static !important;
    display:block !important;
    margin:0 0 14px !important;
    padding:12px 14px !important;
    border-radius:0 !important;
    background:#111 !important;
    color:#fff !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
  }

  body.field-guide-report-open .fg-report-ribbon *{
    color:#fff !important;
  }

  body.field-guide-report-open .fg-report-ribbon strong{
    display:block !important;
    font-size:22px !important;
    line-height:1.1 !important;
    letter-spacing:0 !important;
  }

  body.field-guide-report-open .fg-report-ribbon span,
  body.field-guide-report-open .fg-kicker,
  body.field-guide-report-open .fg-stop-label,
  body.field-guide-report-open .fg-thread span,
  body.field-guide-report-open .fg-pause span,
  body.field-guide-report-open .fg-question span,
  body.field-guide-report-open .fg-plan-panel-head span,
  body.field-guide-report-open .fg-photo-cues-head span{
    letter-spacing:0 !important;
    text-transform:none !important;
    word-spacing:0 !important;
  }

  body.field-guide-report-open .fg-guide-card h2{
    font-size:28px !important;
    line-height:1.1 !important;
    letter-spacing:0 !important;
    margin:0 0 8px !important;
  }

  body.field-guide-report-open .fg-guide-card p,
  body.field-guide-report-open .fg-guide-card small,
  body.field-guide-report-open .fg-guide-card span,
  body.field-guide-report-open .fg-guide-card a,
  body.field-guide-report-open .fg-guide-card li{
    font-size:12px !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
    word-spacing:0 !important;
    text-transform:none !important;
  }

  body.field-guide-report-open .fg-guide-logic,
  body.field-guide-report-open .fg-weather-card,
  body.field-guide-report-open .fg-access-card,
  body.field-guide-report-open .fg-food-card,
  body.field-guide-report-open .fg-plan-panel,
  body.field-guide-report-open .fg-photo-cues,
  body.field-guide-report-open .fg-thread,
  body.field-guide-report-open .fg-pause,
  body.field-guide-report-open .fg-question,
  body.field-guide-report-open .fg-next-actions{
    margin:0 0 12px !important;
    padding:12px !important;
    border:1px solid #ddd !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
  }

  body.field-guide-report-open .fg-stops{
    display:block !important;
    margin:0 !important;
  }

  body.field-guide-report-open .fg-stop{
    display:block !important;
    margin:0 0 12px !important;
    padding:12px !important;
    border:1px solid #ddd !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
  }

  body.field-guide-report-open .fg-stop-time{
    display:block !important;
    width:auto !important;
    height:auto !important;
    margin:0 0 6px !important;
    padding:0 !important;
    background:none !important;
    color:#111 !important;
    font-weight:900 !important;
  }

  body.field-guide-report-open .fg-plan-actions,
  body.field-guide-report-open .fg-photo-cue-grid,
  body.field-guide-report-open .fg-food-list{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:8px !important;
  }

  body.field-guide-report-open .fg-plan-action,
  body.field-guide-report-open .fg-photo-cue-card,
  body.field-guide-report-open .fg-food-item{
    display:block !important;
    min-height:0 !important;
    padding:10px !important;
    border:1px solid #ddd !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    page-break-inside:avoid !important;
    break-inside:avoid !important;
  }

  body.field-guide-report-open .fg-photo-cue-card img{
    height:120px !important;
    object-fit:cover !important;
  }

  body.field-guide-report-open .fg-report-close,
  body.field-guide-report-open .fg-print-button,
  body.field-guide-report-open button,
  body.field-guide-report-open .fg-result-actions{
    display:none !important;
  }

  body.field-guide-report-open a{
    color:#111 !important;
    text-decoration:none !important;
  }
}

/* Copy summary actions */
.road-trip-copy-action{
  border:1px solid rgba(0,0,0,.12);
  font-family:inherit;
  text-align:left;
  cursor:pointer;
}

.road-trip-copy-action:hover{
  transform:translateY(-2px);
}

.fg-copy-summary-button{
  font-family:inherit;
  cursor:pointer;
  text-align:center;
}

.fg-copy-summary-button:focus-visible,
.road-trip-copy-action:focus-visible{
  outline:3px solid rgba(255,0,40,.25);
  outline-offset:3px;
}

@media print{
  .fg-copy-summary-button,
  .road-trip-copy-action{
    display:none !important;
  }
}

/* Field Guide generated report hero */
.fg-report-hero{
  margin:22px 0 24px;
  padding:22px;
  border-radius:26px;
  border:1px solid rgba(47,36,26,.14);
  background:
    radial-gradient(circle at top left, rgba(168,125,68,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,252,246,.96), rgba(246,235,217,.82));
  box-shadow:0 18px 48px rgba(47,36,26,.10);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:18px;
  align-items:stretch;
}

.fg-report-hero-copy{
  display:grid;
  align-content:center;
  gap:10px;
}

.fg-report-hero-copy span{
  width:fit-content;
  border-radius:999px;
  padding:7px 11px;
  background:rgba(21,21,21,.92);
  color:#fff7e9;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.fg-report-hero-copy h3{
  margin:0;
  max-width:760px;
  color:#201710;
  font-family:'Outfit', system-ui, sans-serif;
  font-size:clamp(28px,4vw,48px);
  line-height:.96;
  letter-spacing:-.05em;
}

.fg-report-hero-copy p{
  margin:0;
  max-width:680px;
  color:rgba(47,36,26,.76);
  font-size:1rem;
  line-height:1.58;
  font-weight:650;
}

.fg-report-hero-actions{
  display:grid;
  gap:10px;
}

.fg-report-hero-actions a{
  display:grid;
  gap:4px;
  padding:14px 15px;
  border-radius:18px;
  border:1px solid rgba(47,36,26,.12);
  background:rgba(255,255,255,.68);
  color:#201710;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(47,36,26,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.fg-report-hero-actions a:hover{
  transform:translateY(-2px);
  border-color:rgba(168,125,68,.34);
  box-shadow:0 16px 34px rgba(47,36,26,.10);
}

.fg-report-hero-actions strong{
  font-size:.98rem;
  line-height:1.25;
  color:#201710;
}

.fg-report-hero-actions span{
  color:rgba(47,36,26,.62);
  font-size:.82rem;
  font-weight:800;
}

@media(max-width:760px){
  .fg-report-hero{
    grid-template-columns:1fr;
    padding:18px;
  }

  .fg-report-hero-actions{
    grid-template-columns:1fr;
  }
}

/* Homepage Field Guide form heading readability fix */
.merged-fg-form h2,
#home-fg-form-title{
  max-width:760px;
  font-size:clamp(34px,5.2vw,64px);
  line-height:.96;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.merged-form-panel .eyebrow,
.home-fg-form .eyebrow{
  line-height:1.25;
}

.merged-form-panel{
  overflow:visible;
}

@media(max-width:760px){
  .merged-fg-form h2,
  #home-fg-form-title{
    font-size:clamp(32px,11vw,48px);
    line-height:.94;
  }
}

/* Homepage Field Guide intro heading readability fix */
.home-fg-intro-title{
  max-width:640px;
  font-size:clamp(34px,5vw,62px);
  line-height:.92;
  letter-spacing:-.058em;
  text-wrap:balance;
}

@media(max-width:760px){
  .home-fg-intro-title{
    font-size:clamp(32px,11vw,48px);
    line-height:.94;
  }
}

/* Field Guide seeded from place page */
.fg-seed-note{
  margin:-4px 0 12px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,1,37,.07);
  color:#3a241d;
  border:1px solid rgba(255,1,37,.14);
  font-size:.82rem;
  font-weight:800;
  line-height:1.35;
}

/* Field Guide seed note product copy polish */
.fg-seed-note{
  display:grid;
  gap:4px;
}

.fg-seed-note strong{
  color:#201710;
  font-weight:950;
}

.fg-seed-note span{
  color:rgba(58,36,29,.76);
  font-weight:750;
}

/* Focused Field Guide build page */
.build-page{
  background:
    radial-gradient(circle at top left, rgba(168,125,68,.13), transparent 34%),
    linear-gradient(180deg, #fffaf2 0%, #f6efe5 100%);
  min-height:100vh;
}

.build-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,250,242,.86);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(47,36,26,.10);
}

.build-header .brand{
  display:grid;
  gap:2px;
  text-decoration:none;
  color:#201710;
}

.build-header .brand strong{
  font-family:'Outfit', system-ui, sans-serif;
  font-size:1.08rem;
  letter-spacing:-.03em;
}

.build-header .brand span{
  font-size:.72rem;
  font-weight:900;
  color:rgba(47,36,26,.56);
  text-transform:uppercase;
  letter-spacing:.12em;
}

.build-nav{
  display:flex;
  gap:14px;
  align-items:center;
}

.build-nav a{
  color:rgba(47,36,26,.72);
  text-decoration:none;
  font-weight:850;
  font-size:.92rem;
}

.build-shell{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:48px 0 80px;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(360px,1fr);
  gap:34px;
  align-items:start;
}

.build-hero{
  position:sticky;
  top:112px;
  display:grid;
  gap:18px;
  padding:28px;
  border-radius:32px;
  background:
    radial-gradient(circle at top right, rgba(168,125,68,.18), transparent 38%),
    rgba(255,255,255,.52);
  border:1px solid rgba(47,36,26,.10);
  box-shadow:0 20px 60px rgba(47,36,26,.08);
}

.build-hero h1{
  margin:0;
  font-family:'Outfit', system-ui, sans-serif;
  font-size:clamp(46px,6vw,86px);
  line-height:.9;
  letter-spacing:-.065em;
  color:#201710;
}

.build-hero p:not(.eyebrow){
  margin:0;
  max-width:640px;
  color:rgba(47,36,26,.72);
  font-size:1.12rem;
  line-height:1.56;
  font-weight:700;
}

.build-fg-builder{
  margin:0;
}

.build-fg-form{
  box-shadow:0 28px 80px rgba(47,36,26,.14);
}

.build-page .home-fg-result{
  grid-column:1 / -1;
}

@media(max-width:900px){
  .build-shell{
    grid-template-columns:1fr;
    padding-top:28px;
  }

  .build-hero{
    position:relative;
    top:auto;
  }

  .build-nav{
    display:none;
  }
}

/* Focused build page app polish */
.build-page .site-header{
  min-height:64px;
}

.build-page .build-shell{
  padding-top:34px;
}

.build-page .build-hero{
  overflow:hidden;
}

.build-page .build-hero::after{
  content:"";
  display:block;
  height:1px;
  width:100%;
  background:linear-gradient(90deg, rgba(255,1,37,.55), transparent);
  margin-top:6px;
}

.build-page .build-hero .eyebrow{
  color:#ff0125;
}

.build-page .build-fg-form{
  position:relative;
  border:1px solid rgba(47,36,26,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,251,244,.90));
}

.build-page .build-fg-form::before{
  content:"Field Guide App";
  position:absolute;
  top:16px;
  right:18px;
  border-radius:999px;
  padding:7px 10px;
  background:#151515;
  color:#fff7e9;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.build-page #home-fg-form-title{
  padding-right:140px;
}

.build-page .fg-seed-note{
  background:
    radial-gradient(circle at top left, rgba(255,1,37,.12), transparent 42%),
    rgba(255,255,255,.72);
  border-color:rgba(255,1,37,.20);
  box-shadow:0 12px 30px rgba(47,36,26,.06);
}

.build-page .fg-submit{
  min-height:54px;
  font-size:1rem;
  box-shadow:0 14px 28px rgba(255,1,37,.22);
}

@media(max-width:760px){
  .build-page .build-fg-form::before{
    position:static;
    width:max-content;
    margin:0 0 10px;
  }

  .build-page #home-fg-form-title{
    padding-right:0;
  }
}

/* Build page UX correction: stable header, readable hero, focused app panel */
.build-page .build-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px clamp(18px, 4vw, 48px);
}

.build-page .build-header .brand{
  min-width:180px;
}

.build-page .build-nav{
  margin-left:auto;
}

.build-page .build-shell{
  width:min(1120px, calc(100% - 40px));
  grid-template-columns:minmax(360px,.88fr) minmax(360px,520px);
  gap:44px;
  min-height:calc(100vh - 92px);
  align-items:center;
}

.build-page .build-hero{
  position:relative;
  top:auto;
  padding:clamp(24px, 4vw, 42px);
  min-height:420px;
  align-content:center;
}

.build-page .build-hero h1{
  font-size:clamp(48px, 5.5vw, 76px);
  line-height:.9;
  max-width:680px;
  overflow-wrap:normal;
}

.build-page .build-hero p:not(.eyebrow){
  max-width:560px;
  font-size:1.02rem;
}

.build-page .build-fg-form{
  width:100%;
  max-width:520px;
  margin-left:auto;
  padding:34px;
}

.build-page .build-fg-form select,
.build-page .build-fg-form input{
  min-height:54px;
}

.build-page .fg-chip-row{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.build-page .fg-chip{
  border:1px solid rgba(47,36,26,.12);
  border-radius:14px;
  padding:12px 14px;
  background:rgba(255,255,255,.64);
}

@media(max-width:980px){
  .build-page .build-shell{
    grid-template-columns:1fr;
    align-items:start;
    width:min(720px, calc(100% - 32px));
    gap:22px;
    min-height:auto;
  }

  .build-page .build-hero{
    min-height:auto;
  }

  .build-page .build-fg-form{
    max-width:none;
    margin-left:0;
  }
}

@media(max-width:640px){
  .build-page .build-header{
    align-items:flex-start;
    padding:12px 16px;
  }

  .build-page .build-header .brand{
    min-width:0;
  }

  .build-page .build-hero h1{
    font-size:clamp(42px, 13vw, 58px);
  }

  .build-page .build-fg-form{
    padding:22px;
  }
}

/* Build page hard layout repair: single focused app column */
.build-page .build-shell{
  width:min(880px, calc(100% - 32px)) !important;
  margin:0 auto !important;
  padding:34px 0 76px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:24px !important;
  align-items:start !important;
  justify-items:center !important;
  min-height:auto !important;
}

.build-page .build-hero{
  width:100% !important;
  max-width:880px !important;
  min-height:auto !important;
  position:relative !important;
  top:auto !important;
  padding:clamp(24px, 4vw, 40px) !important;
  border-radius:30px !important;
}

.build-page .build-hero h1{
  max-width:720px !important;
  font-size:clamp(42px, 6.4vw, 72px) !important;
  line-height:.92 !important;
  letter-spacing:-.06em !important;
}

.build-page .build-hero p:not(.eyebrow){
  max-width:620px !important;
  font-size:1rem !important;
  line-height:1.55 !important;
}

.build-page .build-fg-builder{
  width:100% !important;
  display:grid !important;
  justify-items:center !important;
}

.build-page .build-fg-form{
  width:min(560px, 100%) !important;
  max-width:560px !important;
  margin:0 auto !important;
  padding:32px !important;
  border-radius:30px !important;
}

.build-page .home-fg-result{
  width:100% !important;
  max-width:880px !important;
  justify-self:center !important;
}

.build-page .build-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:14px clamp(16px, 4vw, 42px) !important;
}

@media(max-width:640px){
  .build-page .build-shell{
    width:min(100% - 24px, 560px) !important;
    padding-top:20px !important;
  }

  .build-page .build-hero{
    padding:22px !important;
    border-radius:24px !important;
  }

  .build-page .build-hero h1{
    font-size:clamp(38px, 12vw, 52px) !important;
  }

  .build-page .build-fg-form{
    padding:22px !important;
    border-radius:24px !important;
  }
}

/* Build page redesign: two-panel focused app */
.build-page{
  background:
    radial-gradient(circle at 20% 10%, rgba(255,1,37,.10), transparent 28%),
    linear-gradient(180deg, #f7f0e5 0%, #eee4d4 100%) !important;
}

.build-page .build-header{
  height:64px !important;
  min-height:64px !important;
  padding:0 clamp(18px, 4vw, 42px) !important;
  background:rgba(250,245,236,.92) !important;
  border-bottom:1px solid rgba(47,36,26,.10) !important;
  display:flex !important;
  align-items:center !important;
}

.build-page .build-header .brand strong{
  font-size:1.05rem !important;
}

.build-page .build-header .brand span{
  font-size:.62rem !important;
  letter-spacing:.18em !important;
}

.build-app-shell{
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
  padding:44px 0 72px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,520px);
  gap:28px;
  align-items:stretch;
}

.build-app-intro,
.build-app-panel{
  border-radius:34px;
  box-shadow:0 26px 70px rgba(47,36,26,.11);
}

.build-app-intro{
  min-height:calc(100vh - 180px);
  padding:clamp(30px, 5vw, 58px);
  background:
    radial-gradient(circle at top right, rgba(255,1,37,.20), transparent 30%),
    linear-gradient(145deg, #19130f 0%, #2a211a 52%, #473526 100%);
  color:#fff7e9;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  position:relative;
}

.build-app-intro::after{
  content:"";
  position:absolute;
  inset:auto -18% -22% 28%;
  height:280px;
  background:radial-gradient(circle, rgba(255,255,255,.13), transparent 66%);
  pointer-events:none;
}

.build-back-link{
  width:max-content;
  color:rgba(255,247,233,.72);
  text-decoration:none;
  font-weight:900;
  font-size:.86rem;
}

.build-app-intro .eyebrow{
  color:#ff4058 !important;
  margin-top:auto;
}

.build-app-intro h1{
  margin:14px 0 18px;
  max-width:760px;
  font-family:'Outfit', system-ui, sans-serif;
  font-size:clamp(54px, 7.3vw, 104px);
  line-height:.86;
  letter-spacing:-.07em;
  color:#fff7e9;
}

.build-app-intro p:not(.eyebrow){
  max-width:600px;
  margin:0;
  color:rgba(255,247,233,.76);
  font-size:1.05rem;
  line-height:1.58;
  font-weight:750;
}

.build-app-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:42px;
  position:relative;
  z-index:1;
}

.build-app-proof div{
  padding:16px;
  border:1px solid rgba(255,247,233,.14);
  border-radius:20px;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
}

.build-app-proof strong{
  display:block;
  margin-bottom:7px;
  color:#fff;
  font-weight:950;
}

.build-app-proof span{
  display:block;
  color:rgba(255,247,233,.64);
  font-size:.82rem;
  line-height:1.35;
  font-weight:750;
}

.build-app-panel{
  background:rgba(255,255,255,.92);
  padding:24px;
  display:flex;
  align-items:center;
}

.build-app-form{
  width:100%;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.build-app-form::before{
  content:none !important;
}

.build-form-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:20px;
}

.build-form-head span{
  order:2;
  flex:0 0 auto;
  border-radius:999px;
  padding:7px 10px;
  background:#151515;
  color:#fff7e9;
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.build-form-head h2{
  margin:0 !important;
  padding:0 !important;
  font-family:'Outfit', system-ui, sans-serif;
  font-size:clamp(32px, 3.3vw, 48px) !important;
  line-height:.92 !important;
  letter-spacing:-.055em !important;
  color:#201710;
}

.build-app-form label span,
.build-app-form legend{
  font-size:.70rem !important;
  letter-spacing:.16em !important;
  color:rgba(47,36,26,.62) !important;
}

.build-app-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.build-interest-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}

.build-interest-grid .fg-chip{
  min-height:48px;
  align-items:center;
  border:1px solid rgba(47,36,26,.10) !important;
  border-radius:15px !important;
  background:#fffaf2 !important;
  padding:11px 12px !important;
}

.build-interest-grid .fg-chip:has(input:checked){
  border-color:rgba(255,1,37,.30) !important;
  background:rgba(255,1,37,.06) !important;
}

.build-app-form .fg-submit{
  width:100%;
  min-height:56px;
  margin-top:8px;
}

.build-app-form .fg-seed-note{
  margin:0 0 18px !important;
  padding:13px 15px !important;
  border-radius:18px !important;
}

.build-app-result{
  grid-column:1 / -1;
  width:100%;
}

@media(max-width:980px){
  .build-app-shell{
    grid-template-columns:1fr;
    width:min(720px, calc(100% - 28px));
    padding-top:28px;
  }

  .build-app-intro{
    min-height:auto;
  }

  .build-app-proof{
    grid-template-columns:1fr;
  }

  .build-app-panel{
    padding:22px;
  }
}

@media(max-width:560px){
  .build-page .build-nav{
    display:none !important;
  }

  .build-app-intro{
    padding:26px;
    border-radius:26px;
  }

  .build-app-intro h1{
    font-size:clamp(46px, 15vw, 66px);
  }

  .build-app-panel{
    border-radius:26px;
    padding:18px;
  }

  .build-app-grid,
  .build-interest-grid{
    grid-template-columns:1fr !important;
  }

  .build-form-head{
    display:grid;
  }

  .build-form-head span{
    order:0;
    width:max-content;
  }
}

/* Build app form visual hard fix: stop inherited homepage styles from washing fields out */
.build-page .build-app-panel{
  width:100% !important;
  max-width:760px !important;
  margin:0 auto !important;
  background:#fffdf8 !important;
  border:1px solid rgba(47,36,26,.10) !important;
}

.build-page .build-app-form,
.build-page .build-app-form *{
  box-sizing:border-box;
}

.build-page .build-app-form{
  color:#201710 !important;
}

.build-page .build-app-form label{
  display:grid !important;
  gap:8px !important;
  color:#201710 !important;
}

.build-page .build-app-form label span,
.build-page .build-app-form legend{
  color:rgba(47,36,26,.66) !important;
  opacity:1 !important;
  font-weight:950 !important;
}

.build-page .build-app-form select,
.build-page .build-app-form input[type="date"]{
  width:100% !important;
  min-height:54px !important;
  display:block !important;
  border:1px solid rgba(47,36,26,.16) !important;
  border-radius:15px !important;
  background:#ffffff !important;
  color:#201710 !important;
  opacity:1 !important;
  padding:0 16px !important;
  font-size:1rem !important;
  font-weight:900 !important;
  box-shadow:none !important;
  -webkit-text-fill-color:#201710 !important;
}

.build-page .build-app-form select option{
  color:#201710 !important;
  background:#fff !important;
}

.build-page .build-app-form input[type="date"]::-webkit-datetime-edit,
.build-page .build-app-form input[type="date"]::-webkit-datetime-edit-text,
.build-page .build-app-form input[type="date"]::-webkit-datetime-edit-month-field,
.build-page .build-app-form input[type="date"]::-webkit-datetime-edit-day-field,
.build-page .build-app-form input[type="date"]::-webkit-datetime-edit-year-field{
  color:#201710 !important;
}

.build-page .build-app-form fieldset{
  border:0 !important;
  padding:0 !important;
  margin:18px 0 0 !important;
}

.build-page .build-interest-grid{
  margin-top:10px !important;
}

.build-page .build-interest-grid .fg-chip{
  display:flex !important;
  gap:10px !important;
  color:#201710 !important;
  opacity:1 !important;
  font-size:.92rem !important;
  font-weight:900 !important;
  background:#fffaf2 !important;
  border:1px solid rgba(47,36,26,.14) !important;
}

.build-page .build-interest-grid .fg-chip input{
  width:16px !important;
  height:16px !important;
  accent-color:#ff0125 !important;
  opacity:1 !important;
}

.build-page .build-interest-grid .fg-chip:has(input:checked){
  color:#201710 !important;
  background:rgba(255,1,37,.065) !important;
  border-color:rgba(255,1,37,.34) !important;
}

.build-page .build-app-form .fg-submit{
  background:#ff0125 !important;
  border-color:#ff0125 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:0 18px 34px rgba(255,1,37,.24) !important;
}

.build-page .build-app-form .fg-submit:hover{
  background:#d9001f !important;
  border-color:#d9001f !important;
}

.build-page .build-app-form .fg-seed-note{
  display:grid !important;
  gap:5px !important;
  color:#201710 !important;
  background:rgba(255,1,37,.055) !important;
  border:1px solid rgba(255,1,37,.20) !important;
}

.build-page .build-app-form .fg-seed-note strong,
.build-page .build-app-form .fg-seed-note span{
  color:#201710 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#201710 !important;
}

.build-page .build-app-form .fg-seed-note span{
  color:rgba(32,23,16,.74) !important;
}

@media(max-width:980px){
  .build-page .build-app-panel{
    max-width:720px !important;
  }
}

@media(max-width:560px){
  .build-page .build-app-panel{
    max-width:none !important;
  }

  .build-page .build-app-form select,
  .build-page .build-app-form input[type="date"]{
    font-size:.96rem !important;
  }
}

/* Build app form visual hard fix: stop inherited homepage styles from washing fields out */
.build-page .build-app-panel{
  width:100% !important;
  max-width:760px !important;
  margin:0 auto !important;
  background:#fffdf8 !important;
  border:1px solid rgba(47,36,26,.10) !important;
}

.build-page .build-app-form,
.build-page .build-app-form *{
  box-sizing:border-box;
}

.build-page .build-app-form{
  color:#201710 !important;
}

.build-page .build-app-form label{
  display:grid !important;
  gap:8px !important;
  color:#201710 !important;
}

.build-page .build-app-form label span,
.build-page .build-app-form legend{
  color:rgba(47,36,26,.66) !important;
  opacity:1 !important;
  font-weight:950 !important;
}

.build-page .build-app-form select,
.build-page .build-app-form input[type="date"]{
  width:100% !important;
  min-height:54px !important;
  display:block !important;
  border:1px solid rgba(47,36,26,.16) !important;
  border-radius:15px !important;
  background:#ffffff !important;
  color:#201710 !important;
  opacity:1 !important;
  padding:0 16px !important;
  font-size:1rem !important;
  font-weight:900 !important;
  box-shadow:none !important;
  -webkit-text-fill-color:#201710 !important;
}

.build-page .build-app-form select option{
  color:#201710 !important;
  background:#fff !important;
}

.build-page .build-app-form input[type="date"]::-webkit-datetime-edit,
.build-page .build-app-form input[type="date"]::-webkit-datetime-edit-text,
.build-page .build-app-form input[type="date"]::-webkit-datetime-edit-month-field,
.build-page .build-app-form input[type="date"]::-webkit-datetime-edit-day-field,
.build-page .build-app-form input[type="date"]::-webkit-datetime-edit-year-field{
  color:#201710 !important;
}

.build-page .build-app-form fieldset{
  border:0 !important;
  padding:0 !important;
  margin:18px 0 0 !important;
}

.build-page .build-interest-grid{
  margin-top:10px !important;
}

.build-page .build-interest-grid .fg-chip{
  display:flex !important;
  gap:10px !important;
  color:#201710 !important;
  opacity:1 !important;
  font-size:.92rem !important;
  font-weight:900 !important;
  background:#fffaf2 !important;
  border:1px solid rgba(47,36,26,.14) !important;
}

.build-page .build-interest-grid .fg-chip input{
  width:16px !important;
  height:16px !important;
  accent-color:#ff0125 !important;
  opacity:1 !important;
}

.build-page .build-interest-grid .fg-chip:has(input:checked){
  color:#201710 !important;
  background:rgba(255,1,37,.065) !important;
  border-color:rgba(255,1,37,.34) !important;
}

.build-page .build-app-form .fg-submit{
  background:#ff0125 !important;
  border-color:#ff0125 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:0 18px 34px rgba(255,1,37,.24) !important;
}

.build-page .build-app-form .fg-submit:hover{
  background:#d9001f !important;
  border-color:#d9001f !important;
}

.build-page .build-app-form .fg-seed-note{
  display:grid !important;
  gap:5px !important;
  color:#201710 !important;
  background:rgba(255,1,37,.055) !important;
  border:1px solid rgba(255,1,37,.20) !important;
}

.build-page .build-app-form .fg-seed-note strong,
.build-page .build-app-form .fg-seed-note span{
  color:#201710 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#201710 !important;
}

.build-page .build-app-form .fg-seed-note span{
  color:rgba(32,23,16,.74) !important;
}

@media(max-width:980px){
  .build-page .build-app-panel{
    max-width:720px !important;
  }
}

@media(max-width:560px){
  .build-page .build-app-panel{
    max-width:none !important;
  }

  .build-page .build-app-form select,
  .build-page .build-app-form input[type="date"]{
    font-size:.96rem !important;
  }
}

/* Build page final polish: visible form title and readable proof cards */
.build-page .build-form-head h2,
.build-page .build-app-form #home-fg-form-title{
  display:block !important;
  color:#201710 !important;
  -webkit-text-fill-color:#201710 !important;
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:normal !important;
  filter:none !important;
  text-shadow:none !important;
}

.build-page .build-form-head{
  margin-bottom:18px !important;
}

.build-page .build-form-head span{
  align-self:start !important;
}

.build-page .build-app-proof{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}

.build-page .build-app-proof div{
  min-width:0 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

.build-page .build-app-proof strong{
  white-space:nowrap !important;
}

.build-page .build-app-proof span{
  line-height:1.42 !important;
  hyphens:none !important;
}

@media(max-width:980px){
  .build-page .build-app-proof{
    grid-template-columns:1fr !important;
  }

  .build-page .build-app-proof strong{
    white-space:normal !important;
  }
}

/* Build page proof card copy polish */
.build-page .build-app-proof div{
  padding:18px 18px !important;
}

.build-page .build-app-proof strong{
  font-size:1.02rem !important;
  letter-spacing:-.015em !important;
}

.build-page .build-app-proof span{
  font-size:.86rem !important;
  line-height:1.38 !important;
  max-width:22ch !important;
}

/* Build page proof cards final compact polish */
.build-page .build-app-proof{
  gap:10px !important;
}

.build-page .build-app-proof div{
  padding:14px 15px !important;
  border-radius:18px !important;
  display:grid !important;
  gap:5px !important;
}

.build-page .build-app-proof strong{
  font-size:.94rem !important;
  line-height:1.1 !important;
  white-space:normal !important;
}

.build-page .build-app-proof span{
  max-width:none !important;
  font-size:.78rem !important;
  line-height:1.28 !important;
}

/* Build page Time/Pace card selector */
.build-page .build-native-select-holder select[name="hours"],
.build-page .build-native-select-holder select[name="pace"]{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.build-page .build-native-select-holder:has(select[name="hours"]),
.build-page .build-native-select-holder:has(select[name="pace"]){
  margin-bottom:0 !important;
}

.build-page .build-choice-card-group{
  display:grid;
  gap:10px;
  margin-top:-2px;
}

.build-page .build-time-cards{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.build-page .build-pace-cards{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.build-page .build-choice-card{
  appearance:none;
  border:1px solid rgba(47,36,26,.14);
  border-radius:16px;
  background:#fffaf2;
  color:#201710;
  padding:13px 14px;
  min-height:92px;
  display:grid;
  align-content:start;
  gap:4px;
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.build-page .build-choice-card:hover{
  transform:translateY(-1px);
  border-color:rgba(255,1,37,.32);
  box-shadow:0 12px 24px rgba(47,36,26,.07);
}

.build-page .build-choice-card.is-selected{
  background:rgba(255,1,37,.065);
  border-color:rgba(255,1,37,.42);
  box-shadow:0 14px 28px rgba(255,1,37,.08);
}

.build-page .build-choice-card strong{
  color:#201710;
  font-size:.98rem;
  line-height:1.1;
  font-weight:950;
}

.build-page .build-choice-card span{
  color:#ff0125;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.build-page .build-choice-card small{
  color:rgba(32,23,16,.66);
  font-size:.78rem;
  line-height:1.32;
  font-weight:750;
}

@media(max-width:680px){
  .build-page .build-time-cards,
  .build-page .build-pace-cards{
    grid-template-columns:1fr;
  }

  .build-page .build-choice-card{
    min-height:auto;
  }
}

/* Build page Time/Pace card layout fix: full-width selector rows */
.build-page .build-native-select-holder:has(select[name="hours"]),
.build-page .build-native-select-holder:has(select[name="pace"]),
.build-page .build-time-cards,
.build-page .build-pace-cards{
  grid-column:1 / -1 !important;
}

.build-page .build-native-select-holder:has(select[name="hours"]),
.build-page .build-native-select-holder:has(select[name="pace"]){
  margin-top:4px !important;
}

.build-page .build-time-cards{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
}

.build-page .build-pace-cards{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}

.build-page .build-choice-card{
  min-height:82px !important;
  padding:13px 14px !important;
}

.build-page .build-choice-card strong{
  font-size:.96rem !important;
}

.build-page .build-choice-card span{
  font-size:.68rem !important;
  line-height:1.05 !important;
}

.build-page .build-choice-card small{
  font-size:.76rem !important;
  line-height:1.28 !important;
}

@media(max-width:760px){
  .build-page .build-time-cards,
  .build-page .build-pace-cards{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:480px){
  .build-page .build-time-cards,
  .build-page .build-pace-cards{
    grid-template-columns:1fr !important;
  }
}

/* Build page interest cards: make checkboxes feel like app choices */
.build-page .build-interest-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:10px !important;
}

.build-page .build-interest-grid .fg-chip{
  position:relative !important;
  min-height:54px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:14px 16px 14px 44px !important;
  border-radius:16px !important;
  cursor:pointer !important;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.build-page .build-interest-grid .fg-chip:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(255,1,37,.32) !important;
  box-shadow:0 12px 24px rgba(47,36,26,.06) !important;
}

.build-page .build-interest-grid .fg-chip input{
  position:absolute !important;
  left:15px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:16px !important;
  height:16px !important;
  margin:0 !important;
}

.build-page .build-interest-grid .fg-chip:has(input:checked)::after{
  content:"Selected";
  margin-left:auto;
  color:#ff0125;
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.build-page .build-interest-grid .fg-chip:has(input:checked){
  background:rgba(255,1,37,.065) !important;
  border-color:rgba(255,1,37,.42) !important;
}

@media(max-width:620px){
  .build-page .build-interest-grid{
    grid-template-columns:1fr !important;
  }

  .build-page .build-interest-grid .fg-chip:has(input:checked)::after{
    content:"";
  }
}

/* Homepage focused builder launch card */
.home-build-router-card{
  margin-top:22px;
  padding:28px;
  border-radius:26px;
  border:1px solid rgba(47,36,26,.12);
  background:
    radial-gradient(circle at top right, rgba(255,1,37,.08), transparent 34%),
    rgba(255,255,255,.72);
  box-shadow:0 22px 54px rgba(47,36,26,.10);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
}

.home-build-router-card h2{
  margin:0;
  max-width:780px;
  font-family:'Outfit', system-ui, sans-serif;
  color:#201710;
  font-size:clamp(34px,4.6vw,62px);
  line-height:.94;
  letter-spacing:-.055em;
}

.home-build-router-card p:not(.eyebrow){
  max-width:620px;
  margin:12px 0 0;
  color:rgba(32,23,16,.72);
  font-weight:750;
  line-height:1.5;
}

.home-build-router-actions{
  display:grid;
  gap:10px;
  min-width:220px;
}

.home-build-router-actions .btn{
  width:100%;
}

@media(max-width:860px){
  .home-build-router-card{
    grid-template-columns:1fr;
  }

  .home-build-router-actions{
    min-width:0;
  }
}

/* Homepage Product Console: two core builders above the fold */
.home-product-console{
  padding-top:34px;
  padding-bottom:34px;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
  gap:28px;
  align-items:stretch;
}

.home-product-copy{
  border-radius:32px;
  padding:clamp(28px,4vw,48px);
  background:
    radial-gradient(circle at top right, rgba(255,1,37,.12), transparent 32%),
    linear-gradient(135deg, #211c17, #33261f);
  color:#fffaf0;
  display:grid;
  align-content:center;
  min-height:520px;
  box-shadow:0 30px 70px rgba(47,36,26,.18);
}

.home-product-copy .eyebrow{
  color:#ff3754;
}

.home-product-copy h1{
  margin:0;
  max-width:760px;
  font-family:'Outfit', system-ui, sans-serif;
  font-size:clamp(56px,7vw,104px);
  line-height:.88;
  letter-spacing:-.065em;
}

.home-product-copy p:not(.eyebrow){
  max-width:640px;
  margin:24px 0 0;
  color:rgba(255,250,240,.78);
  font-size:1.08rem;
  font-weight:750;
  line-height:1.48;
}

.home-product-panel{
  border-radius:32px;
  padding:22px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(47,36,26,.10);
  box-shadow:0 28px 70px rgba(47,36,26,.12);
  display:grid;
  gap:18px;
}

.home-product-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:6px;
  border-radius:22px;
  background:#f3eadb;
  border:1px solid rgba(47,36,26,.08);
}

.home-product-tab{
  border:0;
  border-radius:18px;
  background:transparent;
  padding:14px 16px;
  text-align:left;
  cursor:pointer;
  color:#201710;
  display:grid;
  gap:4px;
}

.home-product-tab span{
  color:#ff0125;
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

.home-product-tab strong{
  font-size:1rem;
  line-height:1.15;
}

.home-product-tab.is-active{
  background:#fffaf2;
  box-shadow:0 12px 28px rgba(47,36,26,.08);
}

.home-product-mode{
  display:grid;
  gap:18px;
}

.home-product-mode-head h2{
  margin:0;
  font-family:'Outfit', system-ui, sans-serif;
  color:#201710;
  font-size:clamp(34px,4vw,58px);
  line-height:.94;
  letter-spacing:-.055em;
}

.home-product-mode-head p:not(.eyebrow){
  margin:12px 0 0;
  color:rgba(32,23,16,.72);
  font-weight:750;
  line-height:1.48;
}

.home-product-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.home-product-fields label{
  display:grid;
  gap:8px;
}

.home-product-fields span{
  color:rgba(32,23,16,.55);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-product-fields select{
  min-height:52px;
  border-radius:16px;
  border:1px solid rgba(47,36,26,.14);
  background:#fff;
  padding:0 14px;
  font-weight:900;
  color:#201710;
}

.home-product-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.home-product-affiliates{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.home-product-affiliates a{
  display:grid;
  gap:5px;
  padding:15px;
  border-radius:18px;
  border:1px solid rgba(47,36,26,.10);
  background:#fffaf2;
  text-decoration:none;
  color:#201710;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.home-product-affiliates a:hover{
  transform:translateY(-1px);
  border-color:rgba(255,1,37,.32);
  box-shadow:0 14px 28px rgba(47,36,26,.08);
}

.home-product-affiliates small{
  color:#ff0125;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.home-product-affiliates strong{
  font-size:.96rem;
  line-height:1.2;
}

@media(max-width:980px){
  .home-product-console{
    grid-template-columns:1fr;
  }

  .home-product-copy{
    min-height:auto;
  }
}

@media(max-width:620px){
  .home-product-console{
    padding-top:18px;
  }

  .home-product-tabs,
  .home-product-fields,
  .home-product-affiliates{
    grid-template-columns:1fr;
  }

  .home-product-copy h1{
    font-size:clamp(48px,14vw,72px);
  }
}

/* Homepage Builder Hub: real core modules under navigation */
.home-builder-hub{
  padding-top:28px;
  padding-bottom:34px;
}

.home-builder-head{
  max-width:1120px;
  margin:0 auto 18px;
  text-align:center;
}

.home-builder-head h1{
  margin:0;
  font-family:'Outfit', system-ui, sans-serif;
  color:#201710;
  font-size:clamp(48px,7vw,94px);
  line-height:.88;
  letter-spacing:-.065em;
}

.home-builder-head p:not(.eyebrow){
  max-width:720px;
  margin:18px auto 0;
  color:rgba(32,23,16,.72);
  font-size:1.05rem;
  font-weight:750;
  line-height:1.48;
}

.home-builder-tabs{
  width:min(760px,100%);
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:6px;
  border-radius:22px;
  background:#f3eadb;
  border:1px solid rgba(47,36,26,.10);
}

.home-builder-tab{
  border:0;
  border-radius:18px;
  background:transparent;
  color:#201710;
  padding:14px 16px;
  display:grid;
  gap:4px;
  text-align:left;
  cursor:pointer;
}

.home-builder-tab span{
  color:#ff0125;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-builder-tab strong{
  font-size:1.04rem;
  line-height:1.14;
}

.home-builder-tab.is-active{
  background:#fffaf2;
  box-shadow:0 12px 28px rgba(47,36,26,.08);
}

.home-builder-panel{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(480px,1.18fr);
  gap:24px;
  align-items:stretch;
}

.home-builder-panel-copy{
  border-radius:32px;
  padding:clamp(28px,4vw,44px);
  background:
    radial-gradient(circle at top right, rgba(255,1,37,.13), transparent 32%),
    linear-gradient(135deg, #211c17, #33261f);
  color:#fffaf0;
  box-shadow:0 28px 70px rgba(47,36,26,.16);
  display:grid;
  align-content:center;
}

.home-builder-panel-copy .eyebrow{
  color:#ff3754;
}

.home-builder-panel-copy h2{
  margin:0;
  font-family:'Outfit', system-ui, sans-serif;
  color:#fffaf0;
  font-size:clamp(42px,5vw,78px);
  line-height:.9;
  letter-spacing:-.06em;
}

.home-builder-panel-copy p:not(.eyebrow){
  margin:18px 0 0;
  max-width:580px;
  color:rgba(255,250,240,.78);
  font-weight:750;
  line-height:1.5;
}

.home-builder-affiliates{
  margin-top:28px;
  display:grid;
  gap:10px;
}

.home-builder-affiliates a{
  display:grid;
  gap:5px;
  padding:15px;
  border-radius:18px;
  border:1px solid rgba(255,250,240,.14);
  background:rgba(255,255,255,.06);
  color:#fffaf0;
  text-decoration:none;
}

.home-builder-affiliates small{
  color:#ff6b7f;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.home-builder-affiliates strong{
  font-size:.98rem;
  line-height:1.2;
}

.home-builder-app-card,
.home-road-app-card{
  border-radius:32px;
  padding:24px;
  background:rgba(255,255,255,.80);
  border:1px solid rgba(47,36,26,.10);
  box-shadow:0 28px 70px rgba(47,36,26,.12);
}

.home-build-field-form{
  max-width:none !important;
  width:100%;
  margin:0 !important;
  box-shadow:none !important;
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
}

.home-builder-hub .build-choice-card-group{
  grid-column:1 / -1;
}

.home-builder-hub .build-time-cards{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

.home-builder-hub .build-pace-cards{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.home-road-app-card{
  display:grid;
  gap:18px;
}

.home-road-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.home-road-form label{
  display:grid;
  gap:8px;
}

.home-road-form span{
  color:rgba(32,23,16,.55);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-road-form select{
  min-height:52px;
  border-radius:16px;
  border:1px solid rgba(47,36,26,.14);
  background:#fff;
  padding:0 14px;
  color:#201710;
  font-weight:900;
}

.home-road-form .btn{
  grid-column:1 / -1;
}

.home-road-map{
  min-height:260px;
  border-radius:24px;
  border:1px solid rgba(47,36,26,.10);
  background:
    linear-gradient(rgba(255,255,255,.72), rgba(255,255,255,.72)),
    repeating-linear-gradient(45deg, rgba(47,36,26,.08) 0 1px, transparent 1px 18px);
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
}

.home-road-route-line{
  position:absolute;
  inset:0;
}

.home-road-route-line::before{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  top:52%;
  border-top:3px dashed rgba(255,1,37,.55);
  transform:rotate(-10deg);
}

.home-road-route-line i{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#ff0125;
  box-shadow:0 0 0 6px rgba(255,1,37,.10);
}

.home-road-route-line i:nth-child(1){left:18%;top:57%}
.home-road-route-line i:nth-child(2){left:33%;top:49%}
.home-road-route-line i:nth-child(3){left:48%;top:53%}
.home-road-route-line i:nth-child(4){left:62%;top:44%}
.home-road-route-line i:nth-child(5){left:78%;top:40%}

.home-road-map-card{
  position:relative;
  z-index:1;
  display:grid;
  gap:6px;
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(47,36,26,.10);
  box-shadow:0 18px 36px rgba(47,36,26,.10);
  text-align:center;
}

.home-road-map-card strong{
  color:#201710;
  font-size:1.08rem;
}

.home-road-map-card span,
.home-road-map-card small{
  color:rgba(32,23,16,.68);
  font-weight:800;
}

.home-builder-result{
  margin-top:24px;
}

@media(max-width:1080px){
  .home-builder-panel{
    grid-template-columns:1fr;
  }
}

@media(max-width:680px){
  .home-builder-tabs,
  .home-road-form,
  .home-builder-hub .build-time-cards,
  .home-builder-hub .build-pace-cards{
    grid-template-columns:1fr !important;
  }

  .home-builder-panel-copy h2{
    font-size:clamp(40px,12vw,62px);
  }
}

/* Emergency fix: Home Builder Hub tabs must hide inactive panels */
.home-builder-panel[hidden],
.home-builder-panel:not(.is-active){
  display:none !important;
}

.home-builder-panel.is-active{
  display:grid !important;
}

/* Emergency fix: remove ghost/legacy duplicate home builder spacing after hub cleanup */
.home-builder-hub + .route-planner-section{
  margin-top:32px;
}

/* Emergency fix: Road tab button should behave like a full-width CTA */
.home-road-form button.btn{
  grid-column:1 / -1;
  width:100%;
}

/* Homepage Builder Hub cleanup after removing duplicate legacy modules */
.home-builder-panel[hidden],
.home-builder-panel:not(.is-active){
  display:none !important;
}

.home-builder-panel.is-active{
  display:grid !important;
}

.home-builder-hub{
  padding-top:22px !important;
}

.home-builder-hub .home-builder-head{
  margin-top:0 !important;
}

.home-builder-app-card{
  background:rgba(255,255,255,.86) !important;
}

.home-build-field-form label,
.home-build-field-form fieldset{
  opacity:1 !important;
}

.home-build-field-form select,
.home-build-field-form input{
  background:#fff !important;
  color:#201710 !important;
  border:1px solid rgba(47,36,26,.16) !important;
}

.home-build-field-form .build-form-head h2{
  color:#201710 !important;
}

.home-build-field-form .build-form-head span{
  background:#151515 !important;
  color:#fff7e9 !important;
}

.home-builder-hub .fg-submit{
  background:#ff0125 !important;
  color:#fff !important;
  box-shadow:0 18px 34px rgba(255,1,37,.18) !important;
}

.home-road-app-card.is-road-preview-ready .home-road-map-card{
  border-color:rgba(255,1,37,.30);
  box-shadow:0 22px 44px rgba(255,1,37,.10);
}

.home-road-app-card.is-road-preview-ready .home-road-map-card small{
  color:#ff0125;
}

/* Defensive cleanup: legacy homepage planner should not appear after Builder Hub */
.home-builder-hub ~ #planner,
.home-builder-hub ~ .route-planner-section{
  display:none !important;
}

/* Home Builder Hub final placement and real Road Trip module */
.site-header + .home-builder-hub{
  margin-top:0 !important;
}

.home-builder-hub{
  padding-top:24px !important;
}

.home-builder-panel[hidden],
.home-builder-panel:not(.is-active){
  display:none !important;
}

.home-builder-panel.is-active{
  display:grid !important;
}

.home-builder-panel[data-home-builder-panel="country"].is-active{
  grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr) !important;
}

.home-embedded-road-planner{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.home-embedded-road-planner .section-head{
  display:none !important;
}

.home-embedded-road-planner .route-planner-card{
  margin:0 !important;
  box-shadow:0 28px 70px rgba(47,36,26,.12) !important;
  border-radius:32px !important;
}

.home-embedded-road-planner .route-form,
.home-embedded-road-planner .route-form-wide{
  margin-top:0 !important;
}

.home-embedded-road-planner #createRoute{
  background:#ff0125 !important;
  color:#fff !important;
}

@media(max-width:1080px){
  .home-builder-panel[data-home-builder-panel="country"].is-active{
    grid-template-columns:1fr !important;
  }
}
/* Country Mode embedded Road Trip Builder polish */
.home-embedded-road-planner .route-planner-card{
  padding:24px !important;
  background:rgba(255,255,255,.86) !important;
}

.home-embedded-road-planner .route-form,
.home-embedded-road-planner .route-form-wide{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:12px !important;
  align-items:end !important;
}

.home-embedded-road-planner .route-form label,
.home-embedded-road-planner .route-form-wide label{
  min-width:0 !important;
}

.home-embedded-road-planner .route-form span,
.home-embedded-road-planner .route-form-wide span{
  color:rgba(32,23,16,.55) !important;
  font-size:.68rem !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.home-embedded-road-planner .route-form select,
.home-embedded-road-planner .route-form-wide select{
  width:100% !important;
  min-height:46px !important;
  border-radius:14px !important;
  border:1px solid rgba(47,36,26,.14) !important;
  background:#fff !important;
  color:#201710 !important;
  padding:0 12px !important;
  font-weight:900 !important;
}

.home-embedded-road-planner #createRoute{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-height:50px !important;
  border-radius:16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  font-size:.92rem !important;
  line-height:1 !important;
  text-align:center !important;
  padding:0 18px !important;
}

.home-embedded-road-planner .route-summary{
  margin-top:14px !important;
  font-weight:850 !important;
  color:#201710 !important;
}

.home-embedded-road-planner .route-map{
  margin-top:14px !important;
  min-height:260px !important;
  border-radius:22px !important;
  overflow:hidden !important;
}

.home-embedded-road-planner .map-actions,
.home-embedded-road-planner .route-map-actions{
  display:flex !important;
  justify-content:flex-end !important;
  gap:10px !important;
  margin-top:10px !important;
}

.home-embedded-road-planner .map-actions a,
.home-embedded-road-planner .route-map-actions a{
  border-radius:999px !important;
  padding:10px 14px !important;
  background:#fff !important;
  border:1px solid rgba(47,36,26,.12) !important;
  color:#201710 !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

@media(max-width:860px){
  .home-embedded-road-planner .route-form,
  .home-embedded-road-planner .route-form-wide{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:520px){
  .home-embedded-road-planner .route-form,
  .home-embedded-road-planner .route-form-wide{
    grid-template-columns:1fr !important;
  }
}

/* Homepage Builder Hub interest card contrast fix */
.home-builder-hub .home-build-field-form .build-interest-grid .fg-chip{
  color:#201710 !important;
  background:#fffaf2 !important;
  border-color:rgba(47,36,26,.14) !important;
}

.home-builder-hub .home-build-field-form .build-interest-grid .fg-chip:has(input:checked){
  color:#201710 !important;
  background:rgba(255,1,37,.065) !important;
  border-color:rgba(255,1,37,.38) !important;
}

.home-builder-hub .home-build-field-form .build-interest-grid .fg-chip,
.home-builder-hub .home-build-field-form .build-interest-grid .fg-chip *{
  color:#201710 !important;
}

.home-builder-hub .home-build-field-form .build-interest-grid .fg-chip input{
  accent-color:#ff0125 !important;
}

.home-builder-hub .home-build-field-form .build-interest-grid .fg-chip:has(input:checked)::after{
  color:#ff0125 !important;
}

/* Embedded road planner map first-render fit fix */
.home-embedded-road-planner .route-map,
.home-embedded-road-planner .route-map-wide{
  height:clamp(320px, 38vw, 520px) !important;
  min-height:320px !important;
  max-height:520px !important;
  overflow:hidden !important;
  border-radius:24px !important;
}

.home-embedded-road-planner .route-map iframe,
.home-embedded-road-planner .route-map-wide iframe,
.home-embedded-road-planner #plannerMap{
  width:100% !important;
  height:100% !important;
  min-height:320px !important;
  display:block !important;
  border:0 !important;
}

@media(max-width:680px){
  .home-embedded-road-planner .route-map,
  .home-embedded-road-planner .route-map-wide{
    height:360px !important;
  }
}

/* Road Trip report named restaurant candidates */
.road-trip-restaurant-candidate{
  margin:14px 0 12px;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid rgba(255,1,37,.18);
  background:rgba(255,1,37,.055);
  display:grid;
  gap:4px;
}

.road-trip-restaurant-candidate b{
  color:#201710;
  font-size:1.02rem;
  line-height:1.15;
}

.road-trip-restaurant-candidate span{
  color:rgba(47,36,26,.62);
  font-size:.78rem;
  font-weight:850;
  line-height:1.35;
}

/* Road Trip restaurant cards: photos + single sponsor disclosure */
.road-trip-restaurant-photo{
  width:100%;
  height:132px;
  object-fit:cover;
  display:block;
  border-radius:18px;
  margin:0 0 14px;
  background:#eadfcd;
  border:1px solid rgba(47,36,26,.08);
}

.road-trip-food-card .road-trip-sponsor-slot{
  display:none !important;
}

.road-trip-restaurant-disclosure{
  margin-top:18px;
  padding:14px 16px;
  border-radius:18px;
  border:1px dashed rgba(255,1,37,.28);
  background:rgba(255,1,37,.045);
  display:grid;
  gap:4px;
}

.road-trip-restaurant-disclosure b{
  color:#201710;
  font-weight:950;
}

.road-trip-restaurant-disclosure span{
  color:rgba(47,36,26,.66);
  font-weight:800;
  line-height:1.35;
}

/* Homepage Builder Hub mode themes: City = red, Country = green */
.home-builder-hub{
  --builder-accent:#ff0125;
  --builder-accent-dark:#b8001b;
  --builder-accent-soft:rgba(255,1,37,.075);
  --builder-accent-border:rgba(255,1,37,.26);
  --builder-panel-dark:#211814;
}

.home-builder-hub.is-city-mode,
.home-builder-hub[data-active-builder-mode="city"]{
  --builder-accent:#ff0125;
  --builder-accent-dark:#b8001b;
  --builder-accent-soft:rgba(255,1,37,.075);
  --builder-accent-border:rgba(255,1,37,.32);
  --builder-panel-dark:linear-gradient(145deg,#241915 0%,#301612 58%,#180f0d 100%);
}

.home-builder-hub.is-country-mode,
.home-builder-hub[data-active-builder-mode="country"]{
  --builder-accent:#167a4a;
  --builder-accent-dark:#0d4f32;
  --builder-accent-soft:rgba(22,122,74,.09);
  --builder-accent-border:rgba(22,122,74,.32);
  --builder-panel-dark:linear-gradient(145deg,#10251a 0%,#173b27 58%,#0b1711 100%);
}

/* Mode tabs */
.home-builder-hub [data-home-builder-tab]{
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}

.home-builder-hub [data-home-builder-tab].is-active,
.home-builder-hub [data-home-builder-tab][aria-selected="true"]{
  background:var(--builder-accent-soft) !important;
  border-color:var(--builder-accent-border) !important;
  box-shadow:0 12px 34px rgba(47,36,26,.08) !important;
}

.home-builder-hub [data-home-builder-tab].is-active small,
.home-builder-hub [data-home-builder-tab][aria-selected="true"] small,
.home-builder-hub [data-home-builder-tab].is-active span,
.home-builder-hub [data-home-builder-tab][aria-selected="true"] span{
  color:var(--builder-accent) !important;
}

/* Left narrative card changes by mode */
.home-builder-hub .home-builder-panel-copy{
  background:var(--builder-panel-dark) !important;
  border-color:var(--builder-accent-border) !important;
  box-shadow:0 30px 80px rgba(47,36,26,.18) !important;
}

.home-builder-hub .home-builder-panel-copy .eyebrow,
.home-builder-hub .home-builder-panel-copy small{
  color:var(--builder-accent) !important;
}

.home-builder-hub .home-builder-panel-copy a{
  border-color:rgba(255,255,255,.12) !important;
}

.home-builder-hub .home-builder-affiliates a{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.1) !important;
}

.home-builder-hub .home-builder-affiliates a small{
  color:var(--builder-accent) !important;
}

/* Main form/card accent */
.home-builder-hub .build-app-form,
.home-builder-hub .route-planner-card{
  border-color:var(--builder-accent-border) !important;
  box-shadow:0 32px 80px rgba(47,36,26,.12), 0 0 0 1px var(--builder-accent-soft) inset !important;
}

.home-builder-hub .build-form-pill,
.home-builder-hub .route-form .btn.primary,
.home-builder-hub .route-form-wide .btn.primary,
.home-builder-hub #createRoute,
.home-builder-hub .fg-submit{
  background:var(--builder-accent) !important;
  color:#fff !important;
  box-shadow:0 16px 34px color-mix(in srgb, var(--builder-accent) 22%, transparent) !important;
}

.home-builder-hub .build-form-pill{
  background:#111 !important;
}

/* City-specific interest chips */
.home-builder-hub.is-city-mode .home-build-field-form .build-interest-grid .fg-chip:has(input:checked),
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form .build-interest-grid .fg-chip:has(input:checked){
  background:rgba(255,1,37,.065) !important;
  border-color:rgba(255,1,37,.38) !important;
}

/* Country-specific route form focus */
.home-builder-hub.is-country-mode select:focus,
.home-builder-hub[data-active-builder-mode="country"] select:focus{
  outline:2px solid rgba(22,122,74,.52) !important;
  border-color:rgba(22,122,74,.65) !important;
}

.home-builder-hub.is-country-mode #createRoute,
.home-builder-hub[data-active-builder-mode="country"] #createRoute{
  background:#167a4a !important;
}

.home-builder-hub.is-country-mode .route-summary,
.home-builder-hub[data-active-builder-mode="country"] .route-summary{
  color:#0d4f32 !important;
}

/* Subtle mode label cue */
.home-builder-hub.is-city-mode .home-builder-panel[data-home-builder-panel="city"]::before,
.home-builder-hub[data-active-builder-mode="city"] .home-builder-panel[data-home-builder-panel="city"]::before,
.home-builder-hub.is-country-mode .home-builder-panel[data-home-builder-panel="country"]::before,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-panel[data-home-builder-panel="country"]::before{
  content:"";
  display:block;
  grid-column:1 / -1;
  height:4px;
  border-radius:999px;
  background:var(--builder-accent);
  margin:0 0 10px;
  opacity:.9;
}

@media(max-width:760px){
  .home-builder-hub.is-city-mode .home-builder-panel[data-home-builder-panel="city"]::before,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-panel[data-home-builder-panel="city"]::before,
  .home-builder-hub.is-country-mode .home-builder-panel[data-home-builder-panel="country"]::before,
  .home-builder-hub[data-active-builder-mode="country"] .home-builder-panel[data-home-builder-panel="country"]::before{
    margin-bottom:6px;
  }
}

/* Country Mode polish: remove red leftovers and soften mode transition */
.home-builder-hub.is-country-mode,
.home-builder-hub[data-active-builder-mode="country"]{
  --builder-accent:#167a4a;
  --builder-accent-dark:#0d4f32;
  --builder-accent-soft:rgba(22,122,74,.085);
  --builder-accent-border:rgba(22,122,74,.28);
}

/* Remove the heavy divider line between tabs and forms */
.home-builder-hub .home-builder-panel::before{
  display:none !important;
}

/* Country tab should feel selected without a red underline */
.home-builder-hub.is-country-mode [data-home-builder-tab][data-home-builder-tab="country"],
.home-builder-hub[data-active-builder-mode="country"] [data-home-builder-tab][data-home-builder-tab="country"]{
  background:rgba(22,122,74,.1) !important;
  border-color:rgba(22,122,74,.32) !important;
}

.home-builder-hub.is-country-mode [data-home-builder-tab][data-home-builder-tab="country"] small,
.home-builder-hub.is-country-mode [data-home-builder-tab][data-home-builder-tab="country"] span,
.home-builder-hub[data-active-builder-mode="country"] [data-home-builder-tab][data-home-builder-tab="country"] small,
.home-builder-hub[data-active-builder-mode="country"] [data-home-builder-tab][data-home-builder-tab="country"] span{
  color:#167a4a !important;
}

/* Country primary button: no red border glow */
.home-builder-hub.is-country-mode #createRoute,
.home-builder-hub[data-active-builder-mode="country"] #createRoute,
.home-builder-hub.is-country-mode .home-embedded-road-planner #createRoute,
.home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner #createRoute{
  background:#167a4a !important;
  border-color:#167a4a !important;
  color:#fff !important;
  box-shadow:0 18px 38px rgba(22,122,74,.18) !important;
}

.home-builder-hub.is-country-mode #createRoute:hover,
.home-builder-hub[data-active-builder-mode="country"] #createRoute:hover{
  background:#0d4f32 !important;
  border-color:#0d4f32 !important;
  transform:translateY(-1px);
}

/* Country form fields: calmer green focus */
.home-builder-hub.is-country-mode .route-planner-card,
.home-builder-hub[data-active-builder-mode="country"] .route-planner-card{
  border-color:rgba(22,122,74,.22) !important;
  box-shadow:0 32px 80px rgba(22,122,74,.08), 0 0 0 1px rgba(22,122,74,.06) inset !important;
}

.home-builder-hub.is-country-mode .route-form select:focus,
.home-builder-hub[data-active-builder-mode="country"] .route-form select:focus,
.home-builder-hub.is-country-mode .route-form-wide select:focus,
.home-builder-hub[data-active-builder-mode="country"] .route-form-wide select:focus{
  outline:2px solid rgba(22,122,74,.35) !important;
  border-color:rgba(22,122,74,.52) !important;
}

/* Route summary: green but less shouty */
.home-builder-hub.is-country-mode .route-summary,
.home-builder-hub[data-active-builder-mode="country"] .route-summary{
  color:#0d4f32 !important;
  font-size:clamp(1.25rem,2.2vw,2.05rem) !important;
  line-height:1.1 !important;
}

/* Map frame gets country accent, not red */
.home-builder-hub.is-country-mode .home-embedded-road-planner .route-map,
.home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map,
.home-builder-hub.is-country-mode .home-embedded-road-planner .route-map-wide,
.home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map-wide{
  border:1px solid rgba(22,122,74,.18) !important;
  box-shadow:0 18px 50px rgba(22,122,74,.08) !important;
}

/* Country affiliate cards in the left panel */
.home-builder-hub.is-country-mode .home-builder-affiliates a,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-affiliates a{
  background:rgba(22,122,74,.14) !important;
  border-color:rgba(22,122,74,.26) !important;
}

.home-builder-hub.is-country-mode .home-builder-affiliates a small,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-affiliates a small{
  color:#5fe09d !important;
}

/* City tab keeps red, but without the heavy divider */
.home-builder-hub.is-city-mode [data-home-builder-tab][data-home-builder-tab="city"],
.home-builder-hub[data-active-builder-mode="city"] [data-home-builder-tab][data-home-builder-tab="city"]{
  background:rgba(255,1,37,.075) !important;
  border-color:rgba(255,1,37,.28) !important;
}

/* Final Country Mode map polish */
.home-builder-hub.is-country-mode .home-embedded-road-planner .route-map,
.home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map,
.home-builder-hub.is-country-mode .home-embedded-road-planner .route-map-wide,
.home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map-wide{
  border:1px solid rgba(22,122,74,.22) !important;
  background:#f5f1e7 !important;
  box-shadow:0 18px 48px rgba(22,122,74,.10) !important;
}

.home-builder-hub.is-country-mode .route-actions,
.home-builder-hub[data-active-builder-mode="country"] .route-actions{
  justify-content:flex-end !important;
}

.home-builder-hub.is-country-mode #openFullRoute,
.home-builder-hub[data-active-builder-mode="country"] #openFullRoute{
  border-color:rgba(22,122,74,.22) !important;
  color:#0d4f32 !important;
  background:#fff !important;
}

/* Homepage core builder hero/toggle polish */
.home-builder-hub > .eyebrow,
.home-builder-hero .eyebrow,
.home-builder-hub .home-builder-hero-eyebrow{
  display:none !important;
}

.home-builder-hub h1{
  max-width:none !important;
  white-space:nowrap !important;
  text-wrap:normal !important;
  font-size:clamp(46px, 7vw, 108px) !important;
  line-height:.86 !important;
  letter-spacing:-.075em !important;
  margin-bottom:22px !important;
}

.home-builder-hub > p,
.home-builder-hub .home-builder-subtitle,
.home-builder-hub .builder-subtitle{
  margin-top:0 !important;
}

/* Make City/Country tabs feel like real product mode buttons */
.home-builder-hub [role="tablist"],
.home-builder-hub .home-builder-tabs,
.home-builder-hub .builder-tabs{
  width:min(980px, 100%) !important;
  margin:24px auto 34px !important;
  padding:8px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(47,36,26,.12) !important;
  box-shadow:0 18px 46px rgba(47,36,26,.08) !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}

.home-builder-hub [data-home-builder-tab]{
  min-height:82px !important;
  padding:18px 24px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(47,36,26,.1) !important;
  cursor:pointer !important;
  text-align:left !important;
}

.home-builder-hub [data-home-builder-tab] small,
.home-builder-hub [data-home-builder-tab] span:first-child{
  display:block !important;
  font-size:.76rem !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:950 !important;
  margin-bottom:8px !important;
}

.home-builder-hub [data-home-builder-tab] strong,
.home-builder-hub [data-home-builder-tab] b,
.home-builder-hub [data-home-builder-tab] span:last-child{
  display:block !important;
  font-size:1.22rem !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  color:#201710 !important;
}

.home-builder-hub.is-city-mode [data-home-builder-tab][data-home-builder-tab="city"],
.home-builder-hub[data-active-builder-mode="city"] [data-home-builder-tab][data-home-builder-tab="city"]{
  background:rgba(255,1,37,.095) !important;
  border-color:rgba(255,1,37,.36) !important;
  box-shadow:0 14px 30px rgba(255,1,37,.08) !important;
}

.home-builder-hub.is-country-mode [data-home-builder-tab][data-home-builder-tab="country"],
.home-builder-hub[data-active-builder-mode="country"] [data-home-builder-tab][data-home-builder-tab="country"]{
  background:rgba(22,122,74,.12) !important;
  border-color:rgba(22,122,74,.38) !important;
  box-shadow:0 14px 30px rgba(22,122,74,.08) !important;
}

/* Hide the extra Google Maps CTA under the embedded homepage map */
.home-embedded-road-planner .route-actions-hidden,
.home-embedded-road-planner .route-actions:has(#openFullRoute[hidden]){
  display:none !important;
}

.home-embedded-road-planner #openFullRoute[hidden]{
  display:none !important;
}

@media(max-width:980px){
  .home-builder-hub h1{
    white-space:normal !important;
    font-size:clamp(46px, 11vw, 82px) !important;
    max-width:760px !important;
    margin-inline:auto !important;
  }
}

@media(max-width:640px){
  .home-builder-hub [role="tablist"],
  .home-builder-hub .home-builder-tabs,
  .home-builder-hub .builder-tabs{
    grid-template-columns:1fr !important;
    border-radius:22px !important;
    margin-top:18px !important;
  }

  .home-builder-hub [data-home-builder-tab]{
    min-height:74px !important;
    padding:16px 18px !important;
  }
}

/* Homepage builder title fit fix */
.home-builder-hub h1{
  white-space:normal !important;
  text-wrap:balance !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  max-width:min(1180px, calc(100vw - 48px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(42px, 5.85vw, 88px) !important;
  line-height:.9 !important;
  letter-spacing:-.07em !important;
}

/* Keep it one-line only when the viewport truly has room */
@media(min-width:1320px){
  .home-builder-hub h1{
    white-space:nowrap !important;
    font-size:clamp(58px, 5.2vw, 96px) !important;
  }
}

@media(max-width:980px){
  .home-builder-hub h1{
    max-width:760px !important;
    font-size:clamp(42px, 10vw, 72px) !important;
    line-height:.9 !important;
  }
}

@media(max-width:640px){
  .home-builder-hub h1{
    max-width:calc(100vw - 32px) !important;
    font-size:clamp(38px, 12vw, 58px) !important;
    letter-spacing:-.06em !important;
  }
}

/* Homepage Builder Hub responsive product polish */
@media(max-width:980px){
  .home-builder-hub{
    padding-top:24px !important;
  }

  .home-builder-hub h1{
    max-width:720px !important;
    font-size:clamp(38px, 8.5vw, 68px) !important;
    line-height:.92 !important;
    letter-spacing:-.065em !important;
  }

  .home-builder-head p{
    max-width:560px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:.92rem !important;
  }

  .home-builder-tabs{
    width:min(680px, calc(100% - 28px)) !important;
    margin-bottom:22px !important;
  }

  .home-builder-panel{
    width:min(680px, calc(100% - 28px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .home-builder-panel-copy{
    min-height:auto !important;
    padding:28px !important;
    border-radius:26px !important;
  }

  .home-builder-panel-copy h2{
    max-width:440px !important;
    font-size:clamp(34px, 8vw, 54px) !important;
    line-height:.92 !important;
    letter-spacing:-.06em !important;
  }

  .home-builder-panel-copy p{
    max-width:520px !important;
  }

  .home-builder-affiliates{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:18px !important;
  }

  .home-builder-panel .build-app-form,
  .home-builder-panel .route-planner-card{
    width:100% !important;
    max-width:none !important;
    border-radius:26px !important;
    padding:24px !important;
  }

  .home-builder-panel .build-app-form h2,
  .home-builder-panel #home-fg-form-title{
    font-size:clamp(30px, 7vw, 46px) !important;
    line-height:.94 !important;
  }

  .home-build-field-form select,
  .home-build-field-form input,
  .home-builder-panel .route-form select{
    min-height:48px !important;
    font-size:1rem !important;
  }

  .home-builder-panel .fg-submit,
  .home-builder-panel #createRoute{
    min-height:52px !important;
    font-size:1rem !important;
  }
}

@media(max-width:640px){
  .home-builder-hub h1{
    font-size:clamp(36px, 11vw, 52px) !important;
    max-width:calc(100vw - 32px) !important;
  }

  .home-builder-tabs{
    grid-template-columns:1fr !important;
    width:min(520px, calc(100% - 28px)) !important;
  }

  .home-builder-panel{
    width:min(520px, calc(100% - 28px)) !important;
  }

  .home-builder-affiliates{
    grid-template-columns:1fr !important;
  }

  .home-builder-panel-copy{
    padding:24px !important;
  }

  .home-builder-panel-copy h2{
    font-size:clamp(34px, 11vw, 48px) !important;
  }

  .build-interest-grid{
    grid-template-columns:1fr !important;
  }
}

/* Homepage Builder Hub breakpoint correction: avoid cramped two-column product UI */
@media(max-width:1180px){
  .home-builder-hub{
    padding-top:22px !important;
  }

  .home-builder-hub h1{
    max-width:860px !important;
    font-size:clamp(40px, 7.4vw, 76px) !important;
    line-height:.9 !important;
    letter-spacing:-.068em !important;
    white-space:normal !important;
    text-wrap:balance !important;
  }

  .home-builder-tabs{
    width:min(760px, calc(100% - 32px)) !important;
    margin:22px auto 24px !important;
  }

  .home-builder-panel{
    width:min(760px, calc(100% - 32px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .home-builder-panel-copy{
    min-height:auto !important;
    padding:30px !important;
    border-radius:28px !important;
  }

  .home-builder-panel-copy h2{
    max-width:520px !important;
    font-size:clamp(38px, 7.2vw, 62px) !important;
    line-height:.9 !important;
    letter-spacing:-.065em !important;
  }

  .home-builder-panel-copy p{
    max-width:560px !important;
  }

  .home-builder-panel .build-app-form,
  .home-builder-panel .route-planner-card{
    width:100% !important;
    max-width:none !important;
    padding:28px !important;
    border-radius:28px !important;
  }

  .home-builder-panel .build-app-form h2,
  .home-builder-panel #home-fg-form-title{
    font-size:clamp(34px, 6vw, 52px) !important;
    line-height:.92 !important;
  }

  .home-build-field-form .fg-grid,
  .home-build-field-form .form-grid{
    gap:14px !important;
  }

  .home-build-field-form select,
  .home-build-field-form input,
  .home-builder-panel .route-form select{
    min-height:52px !important;
    font-size:1rem !important;
  }

  .home-builder-panel .fg-submit,
  .home-builder-panel #createRoute{
    min-height:56px !important;
    font-size:1.02rem !important;
  }
}

/* At normal desktop widths, keep the product module less cramped */
@media(min-width:1181px) and (max-width:1360px){
  .home-builder-panel{
    width:min(1060px, calc(100% - 48px)) !important;
    grid-template-columns:minmax(360px,.78fr) minmax(540px,1.2fr) !important;
    gap:22px !important;
  }

  .home-builder-panel-copy h2{
    font-size:clamp(46px, 4.8vw, 72px) !important;
  }

  .home-builder-panel .build-app-form,
  .home-builder-panel .route-planner-card{
    padding:28px !important;
  }
}

/* City Mode form polish: keep the app panel premium, not oversized */
.home-builder-hub.is-city-mode .home-builder-panel,
.home-builder-hub[data-active-builder-mode="city"] .home-builder-panel{
  align-items:stretch !important;
}

.home-builder-hub.is-city-mode .home-build-field-form,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form{
  max-width:720px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:34px 36px 36px !important;
  border-radius:32px !important;
}

.home-builder-hub.is-city-mode .home-build-field-form .build-form-head,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form .build-form-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin-bottom:18px !important;
}

.home-builder-hub.is-city-mode #home-fg-form-title,
.home-builder-hub[data-active-builder-mode="city"] #home-fg-form-title{
  font-size:clamp(36px, 4vw, 58px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
  max-width:440px !important;
}

.home-builder-hub.is-city-mode .build-form-pill,
.home-builder-hub[data-active-builder-mode="city"] .build-form-pill{
  flex:0 0 auto !important;
  font-size:.72rem !important;
  padding:10px 15px !important;
  border-radius:999px !important;
  transform:translateY(2px);
}

.home-builder-hub.is-city-mode .home-build-field-form label,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form label{
  gap:7px !important;
}

.home-builder-hub.is-city-mode .home-build-field-form label > span,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form label > span,
.home-builder-hub.is-city-mode .home-build-field-form legend,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form legend{
  font-size:.78rem !important;
  letter-spacing:.16em !important;
  color:rgba(47,36,26,.58) !important;
}

.home-builder-hub.is-city-mode .home-build-field-form select,
.home-builder-hub.is-city-mode .home-build-field-form input,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form select,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form input{
  min-height:50px !important;
  border-radius:16px !important;
  font-size:1.02rem !important;
  padding-inline:18px !important;
}

.home-builder-hub.is-city-mode .home-build-field-form .fg-grid,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form .fg-grid{
  gap:18px 20px !important;
}

.home-builder-hub.is-city-mode .home-build-field-form fieldset,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form fieldset{
  margin-top:18px !important;
}

.home-builder-hub.is-city-mode .home-build-field-form .build-interest-grid,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form .build-interest-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}

.home-builder-hub.is-city-mode .home-build-field-form .fg-chip,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form .fg-chip{
  min-height:52px !important;
  padding:13px 15px !important;
  border-radius:16px !important;
  font-size:.94rem !important;
}

.home-builder-hub.is-city-mode .home-build-field-form .fg-submit,
.home-builder-hub[data-active-builder-mode="city"] .home-build-field-form .fg-submit{
  margin-top:18px !important;
  min-height:56px !important;
  border-radius:18px !important;
  font-size:1.04rem !important;
}

/* Avoid the huge right panel on medium desktop */
@media(min-width:1181px) and (max-width:1480px){
  .home-builder-hub.is-city-mode .home-builder-panel,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-panel{
    grid-template-columns:minmax(360px,.82fr) minmax(560px,720px) !important;
    gap:34px !important;
    width:min(1180px, calc(100% - 56px)) !important;
  }
}

@media(max-width:760px){
  .home-builder-hub.is-city-mode .home-build-field-form,
  .home-builder-hub[data-active-builder-mode="city"] .home-build-field-form{
    padding:24px !important;
  }

  .home-builder-hub.is-city-mode .home-build-field-form .build-form-head,
  .home-builder-hub[data-active-builder-mode="city"] .home-build-field-form .build-form-head{
    display:grid !important;
    gap:10px !important;
  }

  .home-builder-hub.is-city-mode .home-build-field-form .build-interest-grid,
  .home-builder-hub[data-active-builder-mode="city"] .home-build-field-form .build-interest-grid{
    grid-template-columns:1fr !important;
  }
}

/* Country Mode final homepage polish */
.home-builder-hub.is-country-mode .home-builder-panel,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-panel{
  width:min(1120px, calc(100% - 44px)) !important;
  gap:26px !important;
}

.home-builder-hub.is-country-mode .home-builder-panel-copy,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-panel-copy{
  padding:34px !important;
  border-radius:30px !important;
}

.home-builder-hub.is-country-mode .home-builder-panel-copy h2,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-panel-copy h2{
  font-size:clamp(42px, 5.4vw, 72px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
}

.home-builder-hub.is-country-mode .home-builder-panel-copy p,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-panel-copy p{
  color:rgba(255,255,255,.78) !important;
  font-weight:800 !important;
}

.home-builder-hub.is-country-mode .home-builder-affiliates,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-affiliates{
  margin-top:22px !important;
  gap:10px !important;
}

.home-builder-hub.is-country-mode .home-builder-affiliates a,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-affiliates a{
  padding:14px 16px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.14) !important;
}

.home-builder-hub.is-country-mode .home-builder-affiliates a:hover,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-affiliates a:hover{
  background:rgba(255,255,255,.13) !important;
  transform:translateY(-1px);
}

.home-builder-hub.is-country-mode .home-builder-affiliates a strong,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-affiliates a strong{
  color:#fff !important;
  font-size:.92rem !important;
}

.home-builder-hub.is-country-mode .route-planner-card,
.home-builder-hub[data-active-builder-mode="country"] .route-planner-card{
  padding:22px !important;
  border-radius:26px !important;
}

.home-builder-hub.is-country-mode .route-form-wide,
.home-builder-hub[data-active-builder-mode="country"] .route-form-wide{
  gap:10px !important;
}

.home-builder-hub.is-country-mode #createRoute,
.home-builder-hub[data-active-builder-mode="country"] #createRoute{
  min-height:42px !important;
  border-radius:12px !important;
  font-size:.9rem !important;
  font-weight:950 !important;
}

.home-builder-hub.is-country-mode .route-summary,
.home-builder-hub[data-active-builder-mode="country"] .route-summary{
  margin:16px 0 12px !important;
  font-size:clamp(1.2rem, 2.25vw, 2rem) !important;
  color:#0d4f32 !important;
  letter-spacing:-.035em !important;
}

.home-builder-hub.is-country-mode .home-embedded-road-planner .route-map,
.home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map,
.home-builder-hub.is-country-mode .home-embedded-road-planner .route-map-wide,
.home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map-wide{
  height:clamp(260px, 31vw, 430px) !important;
  min-height:260px !important;
  border-radius:20px !important;
}

@media(min-width:1181px) and (max-width:1360px){
  .home-builder-hub.is-country-mode .home-builder-panel,
  .home-builder-hub[data-active-builder-mode="country"] .home-builder-panel{
    grid-template-columns:minmax(330px,.82fr) minmax(560px,1.18fr) !important;
    width:min(1080px, calc(100% - 44px)) !important;
  }
}

@media(max-width:760px){
  .home-builder-hub.is-country-mode .home-builder-panel,
  .home-builder-hub[data-active-builder-mode="country"] .home-builder-panel{
    width:min(520px, calc(100% - 28px)) !important;
  }

  .home-builder-hub.is-country-mode .home-builder-panel-copy,
  .home-builder-hub[data-active-builder-mode="country"] .home-builder-panel-copy,
  .home-builder-hub.is-country-mode .route-planner-card,
  .home-builder-hub[data-active-builder-mode="country"] .route-planner-card{
    padding:22px !important;
  }
}

/* Country Mode scale balance: make the core product feel primary */
@media(min-width:900px){
  .home-builder-hub.is-country-mode,
  .home-builder-hub[data-active-builder-mode="country"]{
    margin-bottom:72px !important;
  }

  .home-builder-hub.is-country-mode .home-builder-panel,
  .home-builder-hub[data-active-builder-mode="country"] .home-builder-panel{
    width:min(1180px, calc(100% - 44px)) !important;
    grid-template-columns:minmax(360px,.82fr) minmax(620px,1.22fr) !important;
    gap:30px !important;
  }

  .home-builder-hub.is-country-mode .home-builder-panel-copy,
  .home-builder-hub[data-active-builder-mode="country"] .home-builder-panel-copy{
    min-height:420px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }

  .home-builder-hub.is-country-mode .route-planner-card,
  .home-builder-hub[data-active-builder-mode="country"] .route-planner-card{
    min-height:420px !important;
    padding:26px !important;
  }

  .home-builder-hub.is-country-mode .route-form-wide,
  .home-builder-hub[data-active-builder-mode="country"] .route-form-wide{
    grid-template-columns:repeat(4,minmax(120px,1fr)) !important;
    gap:12px !important;
  }

  .home-builder-hub.is-country-mode .route-form-wide label span,
  .home-builder-hub[data-active-builder-mode="country"] .route-form-wide label span{
    font-size:.68rem !important;
    letter-spacing:.14em !important;
  }

  .home-builder-hub.is-country-mode .route-form-wide select,
  .home-builder-hub[data-active-builder-mode="country"] .route-form-wide select{
    min-height:42px !important;
    border-radius:12px !important;
    font-size:.9rem !important;
    padding:10px 12px !important;
  }

  .home-builder-hub.is-country-mode #createRoute,
  .home-builder-hub[data-active-builder-mode="country"] #createRoute{
    grid-column:1 / -1 !important;
    min-height:46px !important;
    margin-top:2px !important;
  }

  .home-builder-hub.is-country-mode .home-embedded-road-planner .route-map,
  .home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map,
  .home-builder-hub.is-country-mode .home-embedded-road-planner .route-map-wide,
  .home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map-wide{
    height:300px !important;
    min-height:300px !important;
  }
}

/* Do not let the next section compete too closely with the core builder */
.home-builder-hub + main #today,
.home-builder-hub + #today,
#today.today-full{
  margin-top:10px !important;
}

/* City Mode balance: prevent the poster card from becoming too narrow */
@media(min-width:900px){
  .home-builder-hub.is-city-mode .home-builder-panel,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-panel{
    width:min(1120px, calc(100% - 44px)) !important;
    grid-template-columns:minmax(380px,.92fr) minmax(560px,1.08fr) !important;
    gap:28px !important;
    align-items:stretch !important;
  }

  .home-builder-hub.is-city-mode .home-builder-panel-copy,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-panel-copy{
    min-height:520px !important;
    padding:38px 34px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }

  .home-builder-hub.is-city-mode .home-builder-panel-copy h2,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-panel-copy h2{
    font-size:clamp(46px, 5vw, 72px) !important;
    line-height:.88 !important;
    letter-spacing:-.07em !important;
    max-width:340px !important;
  }

  .home-builder-hub.is-city-mode .home-builder-panel-copy p,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-panel-copy p{
    max-width:330px !important;
    font-size:1rem !important;
    line-height:1.35 !important;
  }

  .home-builder-hub.is-city-mode .home-builder-affiliates,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-affiliates{
    margin-top:22px !important;
  }

  .home-builder-hub.is-city-mode .home-builder-affiliates a,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-affiliates a{
    padding:14px 16px !important;
    border-radius:16px !important;
  }

  .home-builder-hub.is-city-mode .home-build-field-form,
  .home-builder-hub[data-active-builder-mode="city"] .home-build-field-form{
    max-width:660px !important;
    min-height:520px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }
}

@media(min-width:900px) and (max-width:1180px){
  .home-builder-hub.is-city-mode .home-builder-panel,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-panel{
    grid-template-columns:1fr !important;
    width:min(760px, calc(100% - 32px)) !important;
  }

  .home-builder-hub.is-city-mode .home-builder-panel-copy,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-panel-copy{
    min-height:auto !important;
  }

  .home-builder-hub.is-city-mode .home-builder-panel-copy h2,
  .home-builder-hub[data-active-builder-mode="city"] .home-builder-panel-copy h2{
    max-width:520px !important;
  }

  .home-builder-hub.is-city-mode .home-build-field-form,
  .home-builder-hub[data-active-builder-mode="city"] .home-build-field-form{
    min-height:auto !important;
    max-width:none !important;
  }
}

/* Homepage core builder final scale pass */
@media(min-width:900px){
  .home-builder-hub{
    margin-bottom:54px !important;
  }

  .home-builder-hub .home-builder-panel{
    min-height:430px !important;
  }

  .home-builder-hub .home-builder-panel-copy{
    min-height:430px !important;
  }

  .home-builder-hub .build-app-form,
  .home-builder-hub .route-planner-card{
    min-height:430px !important;
  }

  .home-builder-hub.is-country-mode .home-embedded-road-planner .route-map,
  .home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map,
  .home-builder-hub.is-country-mode .home-embedded-road-planner .route-map-wide,
  .home-builder-hub[data-active-builder-mode="country"] .home-embedded-road-planner .route-map-wide{
    height:315px !important;
    min-height:315px !important;
    max-height:315px !important;
    overflow:hidden !important;
  }

  .home-builder-hub.is-country-mode .route-summary,
  .home-builder-hub[data-active-builder-mode="country"] .route-summary{
    margin:14px 0 10px !important;
  }

  .home-builder-hub + main #today,
  .home-builder-hub + #today,
  #today.today-full{
    margin-top:0 !important;
  }
}

/* Keep the embedded road map fully visible inside its card */
.home-embedded-road-planner #plannerMap{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  display:block !important;
}

@media(max-width:899px){
  .home-builder-hub{
    margin-bottom:38px !important;
  }

  .home-builder-hub .home-builder-panel-copy,
  .home-builder-hub .build-app-form,
  .home-builder-hub .route-planner-card{
    min-height:auto !important;
  }
}

/* City Mode Field Guide report premium polish */
body.field-guide-report-open .home-fg-result.is-visible{
  background:rgba(18,12,10,.74) !important;
  backdrop-filter:blur(14px) !important;
}

body.field-guide-report-open .home-fg-result.is-visible .fg-guide-card{
  max-width:min(1120px, calc(100vw - 44px)) !important;
  border-radius:34px !important;
  background:#fffaf2 !important;
  border:1px solid rgba(255,1,37,.18) !important;
  box-shadow:0 40px 120px rgba(20,10,8,.34) !important;
  overflow:hidden !important;
}

body.field-guide-report-open .fg-report-ribbon{
  background:linear-gradient(135deg,#231612 0%,#36130f 60%,#170d0b 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

body.field-guide-report-open .fg-report-ribbon span{
  color:#ffb6c0 !important;
}

body.field-guide-report-open .fg-report-hero{
  margin:0 !important;
  padding:34px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,1,37,.20), transparent 34%),
    linear-gradient(135deg,#241611 0%,#3a1510 58%,#140d0b 100%) !important;
  color:#fff !important;
  border:0 !important;
}

body.field-guide-report-open .fg-report-hero-copy span{
  color:#ffb6c0 !important;
  font-weight:950 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

body.field-guide-report-open .fg-report-hero-copy h3{
  max-width:660px !important;
  color:#fff !important;
  font-size:clamp(34px,4.8vw,68px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
  margin:10px 0 14px !important;
}

body.field-guide-report-open .fg-report-hero-copy p{
  max-width:640px !important;
  color:rgba(255,255,255,.78) !important;
  font-weight:800 !important;
  font-size:1.02rem !important;
}

body.field-guide-report-open .fg-report-hero-actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:26px !important;
}

body.field-guide-report-open .fg-report-hero-actions a{
  display:grid !important;
  gap:5px !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  color:#fff !important;
  text-decoration:none !important;
}

body.field-guide-report-open .fg-report-hero-actions a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.13) !important;
}

body.field-guide-report-open .fg-report-hero-actions strong{
  color:#fff !important;
  font-size:.96rem !important;
}

body.field-guide-report-open .fg-report-hero-actions span{
  color:rgba(255,255,255,.62) !important;
  font-size:.78rem !important;
  font-weight:850 !important;
}

body.field-guide-report-open .fg-report-summary-bar{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  padding:22px 28px !important;
  background:#fff4e6 !important;
  border-bottom:1px solid rgba(47,36,26,.08) !important;
}

body.field-guide-report-open .fg-report-summary-bar article{
  padding:16px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(47,36,26,.08) !important;
}

body.field-guide-report-open .fg-report-summary-bar span{
  display:block !important;
  color:#ff0125 !important;
  font-size:.68rem !important;
  font-weight:950 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  margin-bottom:7px !important;
}

body.field-guide-report-open .fg-report-summary-bar strong{
  display:block !important;
  color:#201710 !important;
  font-size:1.25rem !important;
  line-height:1.05 !important;
}

body.field-guide-report-open .fg-report-summary-bar small{
  display:block !important;
  margin-top:4px !important;
  color:rgba(47,36,26,.58) !important;
  font-weight:800 !important;
}

body.field-guide-report-open .fg-kicker,
body.field-guide-report-open .fg-route-subtitle,
body.field-guide-report-open .fg-guide-card > h2{
  margin-left:34px !important;
  margin-right:34px !important;
}

body.field-guide-report-open .fg-guide-card > h2{
  margin-top:28px !important;
  color:#201710 !important;
  font-size:clamp(38px,4.8vw,66px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
}

body.field-guide-report-open .fg-route-subtitle{
  color:rgba(47,36,26,.68) !important;
  font-weight:850 !important;
}

body.field-guide-report-open .fg-guide-logic,
body.field-guide-report-open .fg-weather-card,
body.field-guide-report-open .fg-access-card,
body.field-guide-report-open .fg-food-card,
body.field-guide-report-open .fg-plan-panel,
body.field-guide-report-open .fg-photo-cues,
body.field-guide-report-open .fg-thread,
body.field-guide-report-open .fg-pause,
body.field-guide-report-open .fg-question,
body.field-guide-report-open .fg-next-actions{
  margin-left:34px !important;
  margin-right:34px !important;
  border-radius:24px !important;
  border:1px solid rgba(47,36,26,.08) !important;
  background:#fff !important;
  box-shadow:0 14px 42px rgba(47,36,26,.055) !important;
}

body.field-guide-report-open .fg-stops{
  margin:26px 34px !important;
  display:grid !important;
  gap:16px !important;
}

body.field-guide-report-open .fg-stop{
  border-radius:24px !important;
  border:1px solid rgba(255,1,37,.12) !important;
  background:#fff !important;
  box-shadow:0 16px 42px rgba(47,36,26,.055) !important;
  overflow:hidden !important;
}

body.field-guide-report-open .fg-stop-time{
  background:#ff0125 !important;
  color:#fff !important;
  font-weight:950 !important;
}

body.field-guide-report-open .fg-reading-block{
  border-radius:16px !important;
  background:#fff7ee !important;
  border:1px solid rgba(47,36,26,.07) !important;
}

body.field-guide-report-open .fg-place-link,
body.field-guide-report-open .fg-secondary-link,
body.field-guide-report-open .fg-plan-action{
  border-radius:16px !important;
}

body.field-guide-report-open .fg-result-actions{
  margin:28px 34px 34px !important;
  padding-top:0 !important;
}

@media(max-width:760px){
  body.field-guide-report-open .home-fg-result.is-visible .fg-guide-card{
    max-width:calc(100vw - 24px) !important;
    border-radius:24px !important;
  }

  body.field-guide-report-open .fg-report-hero{
    padding:26px !important;
  }

  body.field-guide-report-open .fg-report-hero-actions,
  body.field-guide-report-open .fg-report-summary-bar{
    grid-template-columns:1fr !important;
  }

  body.field-guide-report-open .fg-kicker,
  body.field-guide-report-open .fg-route-subtitle,
  body.field-guide-report-open .fg-guide-card > h2,
  body.field-guide-report-open .fg-guide-logic,
  body.field-guide-report-open .fg-weather-card,
  body.field-guide-report-open .fg-access-card,
  body.field-guide-report-open .fg-food-card,
  body.field-guide-report-open .fg-plan-panel,
  body.field-guide-report-open .fg-photo-cues,
  body.field-guide-report-open .fg-thread,
  body.field-guide-report-open .fg-pause,
  body.field-guide-report-open .fg-question,
  body.field-guide-report-open .fg-next-actions,
  body.field-guide-report-open .fg-stops,
  body.field-guide-report-open .fg-result-actions{
    margin-left:20px !important;
    margin-right:20px !important;
  }
}

/* Navbar expansion roadmap badge */
.nav-expansion-badge{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid rgba(47,36,26,.12);
  background:rgba(255,250,242,.72);
  box-shadow:0 10px 28px rgba(47,36,26,.06);
  white-space:nowrap;
  font-size:.72rem;
  line-height:1;
}

.nav-expansion-badge span,
.nav-expansion-badge b,
.nav-expansion-badge em{
  display:inline-flex;
  align-items:center;
  font-style:normal;
  font-weight:900;
}

.nav-expansion-badge span{
  color:#ff0125;
}

.nav-expansion-badge b{
  color:#201710;
}

.nav-expansion-badge em{
  color:#167a4a;
}

.nav-expansion-badge span::after,
.nav-expansion-badge b::after{
  content:"";
  width:4px;
  height:4px;
  border-radius:999px;
  background:rgba(47,36,26,.28);
  margin-left:7px;
}

/* Keep the badge right-aligned but prevent nav breakage */
.site-header nav,
.site-nav,
header nav{
  align-items:center;
}

@media(max-width:980px){
  .nav-expansion-badge{
    order:20;
    width:100%;
    justify-content:center;
    margin:8px 0 0;
    overflow:auto;
    scrollbar-width:none;
  }

  .nav-expansion-badge::-webkit-scrollbar{
    display:none;
  }
}

@media(max-width:520px){
  .nav-expansion-badge{
    justify-content:flex-start;
    font-size:.68rem;
    padding:7px 10px;
  }
}

/* Field Guide modal sheet fix: make the report feel complete, not like a small toast */
body.field-guide-report-open .home-fg-result.is-visible{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:28px 18px 42px !important;
  overflow-y:auto !important;
  background:rgba(18,14,11,.72) !important;
  backdrop-filter:blur(12px) !important;
}

body.field-guide-report-open .home-fg-result.is-visible .fg-guide-card{
  width:min(980px, calc(100vw - 36px)) !important;
  max-width:980px !important;
  max-height:none !important;
  min-height:min(620px, calc(100vh - 64px)) !important;
  margin:0 auto !important;
  overflow:visible !important;
  border-radius:30px !important;
  background:#fffaf2 !important;
  border:1px solid rgba(255,1,37,.18) !important;
  box-shadow:0 44px 140px rgba(0,0,0,.38) !important;
}

body.field-guide-report-open .fg-report-ribbon{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  border-radius:30px 30px 0 0 !important;
}

body.field-guide-report-open .fg-report-hero{
  padding:28px 30px !important;
}

body.field-guide-report-open .fg-report-hero-copy h3{
  font-size:clamp(34px,4.2vw,56px) !important;
  max-width:620px !important;
}

body.field-guide-report-open .fg-report-hero-actions{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:20px !important;
}

body.field-guide-report-open .fg-report-hero-actions a{
  min-height:104px !important;
  align-content:space-between !important;
}

body.field-guide-report-open .fg-report-summary-bar{
  padding:18px 24px !important;
}

body.field-guide-report-open .fg-guide-card > h2{
  margin-top:24px !important;
}

body.field-guide-report-open .fg-guide-logic,
body.field-guide-report-open .fg-weather-card,
body.field-guide-report-open .fg-access-card,
body.field-guide-report-open .fg-food-card,
body.field-guide-report-open .fg-plan-panel,
body.field-guide-report-open .fg-photo-cues,
body.field-guide-report-open .fg-thread,
body.field-guide-report-open .fg-pause,
body.field-guide-report-open .fg-question,
body.field-guide-report-open .fg-next-actions{
  padding:22px !important;
}

/* Give the reader a clear sense that the guide continues below */
body.field-guide-report-open .fg-report-summary-bar::after{
  content:"Scroll for route stops ↓";
  grid-column:1 / -1;
  display:block;
  margin-top:4px;
  color:rgba(47,36,26,.52);
  font-size:.78rem;
  font-weight:900;
  text-align:center;
}

/* Stop cards should feel like the main report content */
body.field-guide-report-open .fg-stop{
  display:grid !important;
  grid-template-columns:110px minmax(0,1fr) !important;
}

body.field-guide-report-open .fg-stop-time{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:100% !important;
}

body.field-guide-report-open .fg-stop-body{
  padding:22px !important;
}

@media(max-width:760px){
  body.field-guide-report-open .home-fg-result.is-visible{
    padding:14px 10px 28px !important;
  }

  body.field-guide-report-open .home-fg-result.is-visible .fg-guide-card{
    width:calc(100vw - 20px) !important;
    border-radius:22px !important;
  }

  body.field-guide-report-open .fg-report-ribbon{
    border-radius:22px 22px 0 0 !important;
  }

  body.field-guide-report-open .fg-report-hero-actions{
    grid-template-columns:1fr !important;
  }

  body.field-guide-report-open .fg-report-hero-actions a{
    min-height:auto !important;
  }

  body.field-guide-report-open .fg-stop{
    grid-template-columns:1fr !important;
  }

  body.field-guide-report-open .fg-stop-time{
    justify-content:flex-start !important;
    padding:12px 18px !important;
  }
}

/* Field Guide modal blur fix: blur only the backdrop, never the report card */
body.field-guide-report-open::before{
  z-index:9990 !important;
  pointer-events:none !important;
  filter:none !important;
}

body.field-guide-report-open .home-fg-result.is-visible{
  z-index:10000 !important;
  background:rgba(18,14,11,.58) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  filter:none !important;
}

body.field-guide-report-open .home-fg-result.is-visible::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-1 !important;
  background:rgba(18,14,11,.56) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  pointer-events:none !important;
}

body.field-guide-report-open .home-fg-result.is-visible .fg-guide-card,
body.field-guide-report-open .home-fg-result.is-visible .fg-guide-card *{
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  opacity:1 !important;
}

body.field-guide-report-open .home-fg-result.is-visible .fg-guide-card{
  position:relative !important;
  z-index:2 !important;
  transform:none !important;
}

/* If any previous global modal rule blurred all children, neutralize it here */
body.field-guide-report-open .home-fg-result.is-visible{
  color:#201710 !important;
}

body.field-guide-report-open .fg-report-ribbon,
body.field-guide-report-open .fg-report-hero,
body.field-guide-report-open .fg-report-summary-bar,
body.field-guide-report-open .fg-guide-logic,
body.field-guide-report-open .fg-plan-panel,
body.field-guide-report-open .fg-weather-card,
body.field-guide-report-open .fg-access-card,
body.field-guide-report-open .fg-food-card,
body.field-guide-report-open .fg-photo-cues,
body.field-guide-report-open .fg-thread,
body.field-guide-report-open .fg-stops,
body.field-guide-report-open .fg-pause,
body.field-guide-report-open .fg-question,
body.field-guide-report-open .fg-next-actions,
body.field-guide-report-open .fg-result-actions{
  filter:none !important;
  opacity:1 !important;
}

/* Field Guide report content visibility and stop layout repair */
body.field-guide-report-open .fg-guide-card{
  color:#201710 !important;
}

/* Make all report body text visible again */
body.field-guide-report-open .fg-guide-card p,
body.field-guide-report-open .fg-guide-card li,
body.field-guide-report-open .fg-guide-card small,
body.field-guide-report-open .fg-guide-card span:not(.fg-stop-time),
body.field-guide-report-open .fg-guide-card strong{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
}

body.field-guide-report-open .fg-thread,
body.field-guide-report-open .fg-pause,
body.field-guide-report-open .fg-question,
body.field-guide-report-open .fg-next-actions{
  min-height:auto !important;
  padding:24px 26px !important;
  display:block !important;
}

body.field-guide-report-open .fg-thread span,
body.field-guide-report-open .fg-pause span,
body.field-guide-report-open .fg-question span,
body.field-guide-report-open .fg-next-actions > span{
  display:block !important;
  color:#ff0125 !important;
  font-size:.76rem !important;
  font-weight:950 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  margin:0 0 12px !important;
}

body.field-guide-report-open .fg-thread p,
body.field-guide-report-open .fg-pause p,
body.field-guide-report-open .fg-question p,
body.field-guide-report-open .fg-next-actions p{
  display:block !important;
  color:rgba(47,36,26,.78) !important;
  font-size:1.02rem !important;
  line-height:1.48 !important;
  font-weight:750 !important;
  margin:0 !important;
  max-width:820px !important;
}

body.field-guide-report-open .fg-question strong,
body.field-guide-report-open .fg-next-actions strong{
  color:#201710 !important;
}

/* Next actions should not look like empty cards */
body.field-guide-report-open .fg-next-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
}

body.field-guide-report-open .fg-next-actions > span{
  grid-column:1 / -1 !important;
}

body.field-guide-report-open .fg-next-actions > div{
  padding:18px !important;
  border-radius:18px !important;
  background:#fff7ee !important;
  border:1px solid rgba(47,36,26,.08) !important;
}

body.field-guide-report-open .fg-next-actions > div strong{
  display:block !important;
  color:#201710 !important;
  font-size:1.05rem !important;
  line-height:1.15 !important;
  margin:0 0 8px !important;
}

/* Repair stop cards: no more giant red slab */
body.field-guide-report-open .fg-stop{
  display:grid !important;
  grid-template-columns:96px minmax(0,1fr) !important;
  min-height:0 !important;
  align-items:stretch !important;
}

body.field-guide-report-open .fg-stop-time{
  width:auto !important;
  min-width:0 !important;
  min-height:auto !important;
  height:auto !important;
  padding:18px 14px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:center !important;
  background:#ff0125 !important;
  color:#fff !important;
  font-size:.9rem !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

body.field-guide-report-open .fg-stop-body{
  padding:24px 26px !important;
  min-width:0 !important;
}

body.field-guide-report-open .fg-stop-label{
  color:#ff0125 !important;
  font-size:.76rem !important;
  font-weight:950 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  margin:0 0 10px !important;
}

body.field-guide-report-open .fg-stop h3{
  margin:0 0 8px !important;
}

body.field-guide-report-open .fg-stop h3,
body.field-guide-report-open .fg-stop h3 a{
  color:#201710 !important;
  font-size:clamp(28px,3.4vw,46px) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
  text-decoration:none !important;
}

body.field-guide-report-open .fg-layer{
  color:rgba(47,36,26,.58) !important;
  font-size:1.05rem !important;
  font-weight:850 !important;
  margin:0 0 18px !important;
}

/* Reading blocks inside stop cards */
body.field-guide-report-open .fg-reading-block{
  padding:16px 18px !important;
  margin:12px 0 !important;
  min-height:auto !important;
}

body.field-guide-report-open .fg-reading-block strong{
  display:block !important;
  color:#ff0125 !important;
  font-size:.72rem !important;
  font-weight:950 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  margin:0 0 8px !important;
}

body.field-guide-report-open .fg-reading-block p{
  color:rgba(47,36,26,.78) !important;
  font-size:.98rem !important;
  line-height:1.48 !important;
  font-weight:720 !important;
  margin:0 !important;
}

/* Keep route-stop scroll hint smaller */
body.field-guide-report-open .fg-report-summary-bar::after{
  margin-top:8px !important;
  font-size:.72rem !important;
  color:rgba(47,36,26,.46) !important;
}

/* Mobile repair */
@media(max-width:760px){
  body.field-guide-report-open .fg-stop{
    grid-template-columns:1fr !important;
  }

  body.field-guide-report-open .fg-stop-time{
    justify-content:flex-start !important;
    padding:12px 18px !important;
  }

  body.field-guide-report-open .fg-next-actions{
    grid-template-columns:1fr !important;
  }

  body.field-guide-report-open .fg-thread,
  body.field-guide-report-open .fg-pause,
  body.field-guide-report-open .fg-question,
  body.field-guide-report-open .fg-next-actions{
    padding:20px !important;
  }
}

/* OSM-only restaurant cards: avoid implying paid/rated restaurant source */
.road-trip-restaurant-disclosure{
  margin-top:18px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(47,36,26,.1);
  background:#fffaf2;
  color:rgba(47,36,26,.7);
}

.road-trip-restaurant-disclosure b{
  display:block;
  color:#201710;
  font-weight:950;
  margin-bottom:4px;
}

.road-trip-restaurant-disclosure span{
  font-weight:750;
  line-height:1.35;
}

/* Unified site navigation */
.site-header.unified-site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255, 250, 244, .92);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(20, 20, 20, .08);
}

.site-header.unified-site-header .site-header-inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.site-header.unified-site-header .site-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--black, #111);
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -.03em;
}

.site-header.unified-site-header .brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: var(--primary, #ff0035);
  color: #fff;
  font-size: 18px;
  line-height: 1;
}

.site-header.unified-site-header .site-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.site-header.unified-site-header .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 10px 13px;
  border-radius: 999px;
  color: var(--black, #111);
  text-decoration: none;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: .18s ease;
}

.site-header.unified-site-header .site-nav a:hover {
  background: rgba(255, 0, 53, .08);
  color: var(--primary, #ff0035);
  transform: translateY(-1px);
}

@media (max-width: 860px) {
  .site-header.unified-site-header .site-header-inner {
    align-items: flex-start;
    flex-direction: column;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .site-header.unified-site-header .site-nav {
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }

  .site-header.unified-site-header .site-nav a {
    white-space: nowrap;
  }
}

/* Final unified Sign Hunters navigation */
.site-header.unified-site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(255, 250, 244, .94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(20, 20, 20, .08);
}

.site-header.unified-site-header .site-header-inner {
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(250px, auto) minmax(0, 1fr) minmax(220px, auto);
  align-items: center;
  gap: 28px;
}

.site-header.unified-site-header .site-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  text-decoration: none;
  color: var(--black, #111);
}

.site-header.unified-site-header .brand-logo {
  width: 42px;
  height: 42px;
  object-fit: contain;
  flex: 0 0 auto;
  display: block;
}

.site-header.unified-site-header .brand-wordmark {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 900;
  font-size: 24px;
  letter-spacing: -.05em;
  color: var(--black, #111);
  line-height: 1;
  white-space: nowrap;
}

.site-header.unified-site-header .brand-beta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 11px;
  border: 1px solid rgba(255, 0, 53, .28);
  border-radius: 999px;
  background: rgba(255, 0, 53, .06);
  color: var(--primary, #ff0035);
  font-weight: 950;
  font-size: 12px;
  letter-spacing: .12em;
  line-height: 1;
}

.site-header.unified-site-header .site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 1.4vw, 28px);
  flex-wrap: nowrap;
}

.site-header.unified-site-header .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 8px;
  border-radius: 999px;
  color: var(--black, #111);
  text-decoration: none;
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 900;
  font-size: clamp(13px, 1vw, 16px);
  letter-spacing: -.02em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: .18s ease;
}

.site-header.unified-site-header .site-nav a:hover {
  color: var(--primary, #ff0035);
  background: rgba(255, 0, 53, .07);
  transform: translateY(-1px);
}

.site-header.unified-site-header .nav-roadmap-badge {
  justify-self: end;
  display: grid;
  gap: 1px;
  padding: 10px 15px;
  border: 1px solid rgba(31, 122, 87, .24);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(31, 122, 87, .08), rgba(255, 255, 255, .8));
  color: #163f30;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(31, 122, 87, .08);
  min-width: 210px;
}

.site-header.unified-site-header .nav-roadmap-badge strong,
.site-header.unified-site-header .nav-roadmap-badge span,
.site-header.unified-site-header .nav-roadmap-badge em {
  display: block;
  font-style: normal;
  line-height: 1.05;
  white-space: nowrap;
}

.site-header.unified-site-header .nav-roadmap-badge strong {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 950;
  font-size: 15px;
}

.site-header.unified-site-header .nav-roadmap-badge span {
  font-weight: 850;
  font-size: 12px;
  color: #567064;
}

.site-header.unified-site-header .nav-roadmap-badge em {
  font-weight: 950;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #1f7a57;
}

@media (max-width: 1120px) {
  .site-header.unified-site-header .site-header-inner {
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .site-header.unified-site-header .site-nav {
    justify-content: flex-start;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .site-header.unified-site-header .nav-roadmap-badge {
    justify-self: start;
    min-width: 0;
    width: fit-content;
  }
}

@media (max-width: 640px) {
  .site-header.unified-site-header .brand-wordmark {
    font-size: 21px;
  }

  .site-header.unified-site-header .brand-logo {
    width: 36px;
    height: 36px;
  }

  .site-header.unified-site-header .nav-roadmap-badge {
    display: none;
  }
}

/* Final navbar brand cleanup: image logo only, no duplicated wordmark */
.site-header.unified-site-header .site-header-inner {
  grid-template-columns: minmax(220px, 330px) minmax(520px, 1fr) minmax(210px, 270px);
  gap: 24px;
}

.site-header.unified-site-header .site-brand {
  gap: 12px;
}

.site-header.unified-site-header .site-brand .brand-logo {
  width: 190px !important;
  height: auto !important;
  max-height: 62px !important;
  object-fit: contain !important;
  display: block !important;
}

.site-header.unified-site-header .brand-wordmark,
.site-header.unified-site-header .brand-beta {
  display: none !important;
}

.site-header.unified-site-header .site-nav {
  justify-content: center;
  gap: clamp(18px, 2vw, 42px);
  min-width: 0;
}

.site-header.unified-site-header .site-nav a {
  font-size: clamp(14px, 1.05vw, 17px);
  padding-inline: 4px;
}

.site-header.unified-site-header .nav-roadmap-badge {
  min-width: 220px;
}

@media (max-width: 1180px) {
  .site-header.unified-site-header .site-header-inner {
    grid-template-columns: 1fr;
  }

  .site-header.unified-site-header .site-brand .brand-logo {
    width: 170px !important;
  }

  .site-header.unified-site-header .site-nav {
    justify-content: flex-start;
    gap: 18px;
  }
}

@media (max-width: 640px) {
  .site-header.unified-site-header .site-brand .brand-logo {
    width: 150px !important;
  }
}

/* Final navbar fit pass: no overflow, no desktop scrollbar */
.site-header.unified-site-header {
  overflow: hidden;
}

.site-header.unified-site-header .site-header-inner {
  width: min(100% - 48px, 1780px);
  margin-inline: auto;
  min-height: 78px;
  display: grid !important;
  grid-template-columns: 270px minmax(0, 1fr) 260px !important;
  align-items: center;
  gap: 22px !important;
}

.site-header.unified-site-header .site-brand {
  min-width: 0;
  overflow: visible;
}

.site-header.unified-site-header .site-brand .brand-logo {
  width: 210px !important;
  max-width: 210px !important;
  max-height: 56px !important;
  object-fit: contain !important;
}

.site-header.unified-site-header .brand .brand-beta,
.site-header.unified-site-header .brand-beta {
  margin-left: 8px;
  transform: translateY(-1px);
}

.site-header.unified-site-header .site-nav {
  min-width: 0;
  width: 100%;
  overflow: visible !important;
  display: flex !important;
  justify-content: center !important;
  gap: clamp(18px, 2.2vw, 42px) !important;
  white-space: nowrap;
  padding: 0 !important;
  scrollbar-width: none;
}

.site-header.unified-site-header .site-nav::-webkit-scrollbar {
  display: none;
}

.site-header.unified-site-header .site-nav a {
  flex: 0 0 auto;
  font-size: clamp(13px, .95vw, 16px) !important;
  line-height: 1;
  padding: 10px 0 !important;
  letter-spacing: -.025em;
}

.site-header.unified-site-header .nav-roadmap-badge {
  min-width: 0 !important;
  width: 230px;
  padding: 10px 14px !important;
  border-radius: 18px;
}

.site-header.unified-site-header .nav-roadmap-badge strong {
  font-size: 15px !important;
}

.site-header.unified-site-header .nav-roadmap-badge span {
  font-size: 12px !important;
}

.site-header.unified-site-header .nav-roadmap-badge em {
  font-size: 11px !important;
}

/* Medium desktop/tablet: keep one row but compress */
@media (max-width: 1280px) {
  .site-header.unified-site-header .site-header-inner {
    width: min(100% - 32px, 1180px);
    grid-template-columns: 230px minmax(0, 1fr) 210px !important;
    gap: 16px !important;
  }

  .site-header.unified-site-header .site-brand .brand-logo {
    width: 170px !important;
    max-width: 170px !important;
  }

  .site-header.unified-site-header .site-nav {
    gap: 18px !important;
  }

  .site-header.unified-site-header .site-nav a {
    font-size: 13px !important;
  }

  .site-header.unified-site-header .nav-roadmap-badge {
    width: 200px;
  }
}

/* Mobile: allow horizontal nav, but hide ugly desktop-style overflow */
@media (max-width: 900px) {
  .site-header.unified-site-header {
    overflow: visible;
  }

  .site-header.unified-site-header .site-header-inner {
    width: min(100% - 28px, 760px);
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .site-header.unified-site-header .site-brand .brand-logo {
    width: 160px !important;
    max-width: 160px !important;
  }

  .site-header.unified-site-header .site-nav {
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
  }

  .site-header.unified-site-header .nav-roadmap-badge {
    display: none !important;
  }
}

/* Builder mode tabs: heavier, clearer, country mode gets green accent */
.home-builder-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px !important;
  padding: 10px !important;
  margin: 28px 0 28px !important;
  border: 1px solid rgba(20, 20, 20, .08) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,250,244,.72)),
    radial-gradient(circle at 20% 0%, rgba(255,0,53,.08), transparent 38%),
    radial-gradient(circle at 80% 20%, rgba(31,122,87,.10), transparent 42%) !important;
  box-shadow: 0 24px 70px rgba(20,20,20,.08) !important;
}

.home-builder-tab {
  position: relative;
  min-height: 118px !important;
  padding: 24px 28px !important;
  border: 1px solid rgba(20, 20, 20, .10) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.86) !important;
  color: var(--black, #111) !important;
  display: grid !important;
  align-content: center !important;
  gap: 8px !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  box-shadow: 0 14px 36px rgba(20,20,20,.06) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.home-builder-tab::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}

.home-builder-tab[data-home-builder-tab="city"]::before {
  background:
    radial-gradient(circle at 12% 18%, rgba(255,0,53,.18), transparent 38%),
    linear-gradient(135deg, rgba(255,0,53,.08), rgba(255,255,255,.88));
}

.home-builder-tab[data-home-builder-tab="country"]::before {
  background:
    radial-gradient(circle at 12% 18%, rgba(31,122,87,.20), transparent 38%),
    linear-gradient(135deg, rgba(31,122,87,.10), rgba(255,255,255,.88));
}

.home-builder-tab:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 22px 54px rgba(20,20,20,.10) !important;
}

.home-builder-tab span,
.home-builder-tab strong {
  position: relative;
  z-index: 1;
}

.home-builder-tab span {
  display: inline-flex !important;
  width: fit-content !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.home-builder-tab strong {
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: clamp(28px, 3vw, 44px) !important;
  font-weight: 950 !important;
  letter-spacing: -.06em !important;
  line-height: .9 !important;
}

.home-builder-tab[data-home-builder-tab="city"] span {
  color: var(--primary, #ff0035) !important;
  background: rgba(255,0,53,.08) !important;
  border: 1px solid rgba(255,0,53,.20) !important;
}

.home-builder-tab[data-home-builder-tab="country"] span {
  color: #1f7a57 !important;
  background: rgba(31,122,87,.10) !important;
  border: 1px solid rgba(31,122,87,.22) !important;
}

/* Active states */
.home-builder-tab.is-active,
.home-builder-tab[aria-selected="true"] {
  transform: translateY(-2px) !important;
}

.home-builder-tab.is-active::before,
.home-builder-tab[aria-selected="true"]::before {
  opacity: 1 !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  border-color: rgba(255,0,53,.34) !important;
  box-shadow: 0 24px 60px rgba(255,0,53,.14) !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  border-color: rgba(31,122,87,.42) !important;
  box-shadow: 0 24px 60px rgba(31,122,87,.16) !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active strong,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] strong {
  color: #10251d !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active span,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] span {
  color: #ffffff !important;
  background: #1f7a57 !important;
  border-color: #1f7a57 !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active span,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] span {
  color: #ffffff !important;
  background: var(--primary, #ff0035) !important;
  border-color: var(--primary, #ff0035) !important;
}

/* Country mode global tab harmony */
.home-builder-hub.is-country-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs {
  border-color: rgba(31,122,87,.20) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(244,255,249,.78)),
    radial-gradient(circle at 78% 10%, rgba(31,122,87,.16), transparent 40%) !important;
}

.home-builder-hub.is-country-mode [data-home-builder-tab][data-home-builder-tab="country"],
.home-builder-hub[data-active-builder-mode="country"] [data-home-builder-tab][data-home-builder-tab="country"] {
  border-color: rgba(31,122,87,.44) !important;
}

/* City mode global tab harmony */
.home-builder-hub.is-city-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="city"] .home-builder-tabs {
  border-color: rgba(255,0,53,.16) !important;
}

/* Mobile */
@media (max-width: 780px) {
  .home-builder-tabs {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 8px !important;
    border-radius: 24px !important;
  }

  .home-builder-tab {
    min-height: 96px !important;
    padding: 20px !important;
  }

  .home-builder-tab strong {
    font-size: 30px !important;
  }
}

/* Builder mode segmented switch: tactile slider-style selector */
.home-builder-tabs {
  position: relative !important;
  width: min(760px, 100%) !important;
  margin: 26px auto 32px !important;
  padding: 8px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(20, 20, 20, .16) !important;
  background: #202227 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    0 24px 60px rgba(20,20,20,.16) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* Sliding active pill */
.home-builder-tabs::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 8px;
  width: calc(50% - 8px);
  border-radius: 999px;
  background: #ffffff;
  box-shadow:
    0 12px 28px rgba(0,0,0,.22),
    inset 0 0 0 1px rgba(255,255,255,.8);
  transform: translateX(0);
  transition: transform .28s cubic-bezier(.22, .8, .22, 1), background .22s ease;
  z-index: 0;
}

.home-builder-hub.is-country-mode .home-builder-tabs::before,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs::before {
  transform: translateX(100%);
  background: linear-gradient(135deg, #eafff3, #ffffff);
  box-shadow:
    0 12px 30px rgba(31,122,87,.24),
    inset 0 0 0 1px rgba(31,122,87,.16);
}

.home-builder-tab {
  position: relative !important;
  z-index: 1 !important;
  min-height: 82px !important;
  padding: 14px 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  text-align: center !important;
  cursor: pointer !important;
  overflow: visible !important;
  color: rgba(255,255,255,.74) !important;
  transform: none !important;
}

.home-builder-tab::before {
  display: none !important;
}

.home-builder-tab:hover {
  transform: none !important;
  box-shadow: none !important;
}

.home-builder-tab span {
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  opacity: .82 !important;
}

.home-builder-tab strong {
  display: block !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: clamp(22px, 2.1vw, 32px) !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
  line-height: .95 !important;
  color: inherit !important;
}

/* Active city */
.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  color: #111111 !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active span,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] span {
  color: #ff0035 !important;
  background: transparent !important;
  border: 0 !important;
  opacity: 1 !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active strong,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] strong {
  color: #111111 !important;
}

/* Active country */
.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  color: #10251d !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active span,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] span {
  color: #1f7a57 !important;
  background: transparent !important;
  border: 0 !important;
  opacity: 1 !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active strong,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] strong {
  color: #10251d !important;
}

/* Inactive side: readable but clearly not selected */
.home-builder-tab:not(.is-active):not([aria-selected="true"]) span {
  color: rgba(255,255,255,.62) !important;
}

.home-builder-tab:not(.is-active):not([aria-selected="true"]) strong {
  color: rgba(255,255,255,.86) !important;
}

.home-builder-tab:focus-visible {
  outline: 3px solid rgba(255,255,255,.72) !important;
  outline-offset: -6px !important;
}

/* Make Country Mode environment green without turning the selector text invisible */
.home-builder-hub.is-country-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs {
  background:
    linear-gradient(135deg, #17231f, #25282b) !important;
  border-color: rgba(31,122,87,.36) !important;
}

/* Mobile segmented switch */
@media (max-width: 780px) {
  .home-builder-tabs {
    width: 100% !important;
    margin: 20px auto 24px !important;
    padding: 6px !important;
  }

  .home-builder-tabs::before {
    top: 6px;
    bottom: 6px;
    left: 6px;
    width: calc(50% - 6px);
  }

  .home-builder-tab {
    min-height: 72px !important;
    padding: 12px 10px !important;
  }

  .home-builder-tab span {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .home-builder-tab strong {
    font-size: 21px !important;
  }
}

/* Builder mode switch final: bold, high-contrast, clickable */
.home-builder-tabs {
  position: relative !important;
  width: min(920px, 100%) !important;
  margin: 30px auto 34px !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,0,53,.20), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(31,122,87,.22), transparent 30%),
    linear-gradient(135deg, #101113, #24262b) !important;
  box-shadow:
    0 34px 90px rgba(0,0,0,.24),
    inset 0 0 0 1px rgba(255,255,255,.05) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* kill old pastel slider completely */
.home-builder-tabs::before {
  content: none !important;
  display: none !important;
}

.home-builder-tab {
  position: relative !important;
  z-index: 1 !important;
  min-height: 124px !important;
  padding: 24px 28px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: none !important;
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 10px !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  color: rgba(255,255,255,.78) !important;
  transform: none !important;
  transition:
    transform .18s ease,
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    color .18s ease !important;
}

.home-builder-tab::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .18s ease !important;
}

.home-builder-tab[data-home-builder-tab="city"]::before {
  background:
    linear-gradient(135deg, rgba(255,0,53,.16), rgba(255,255,255,.92)),
    radial-gradient(circle at 88% 16%, rgba(255,0,53,.14), transparent 32%) !important;
}

.home-builder-tab[data-home-builder-tab="country"]::before {
  background:
    linear-gradient(135deg, rgba(31,122,87,.18), rgba(255,255,255,.92)),
    radial-gradient(circle at 88% 16%, rgba(31,122,87,.16), transparent 32%) !important;
}

.home-builder-tab:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.075) !important;
}

.home-builder-tab span,
.home-builder-tab strong {
  position: relative !important;
  z-index: 1 !important;
}

.home-builder-tab span {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 30px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

.home-builder-tab strong {
  display: block !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: clamp(34px, 3.4vw, 56px) !important;
  font-weight: 950 !important;
  letter-spacing: -.07em !important;
  line-height: .9 !important;
  color: rgba(255,255,255,.90) !important;
}

/* Active City: strong white card, red label */
.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  color: #111 !important;
  background: #fff !important;
  border-color: rgba(255,0,53,.42) !important;
  box-shadow:
    0 22px 54px rgba(255,0,53,.20),
    inset 0 0 0 1px rgba(255,255,255,.80) !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active::before,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"]::before {
  opacity: 1 !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active span,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] span {
  color: #fff !important;
  background: #ff0035 !important;
  border-color: #ff0035 !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active strong,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] strong {
  color: #111 !important;
}

/* Active Country: strong white card, green label */
.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  color: #10251d !important;
  background: #fff !important;
  border-color: rgba(31,122,87,.48) !important;
  box-shadow:
    0 22px 54px rgba(31,122,87,.22),
    inset 0 0 0 1px rgba(255,255,255,.80) !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active::before,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"]::before {
  opacity: 1 !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active span,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] span {
  color: #fff !important;
  background: #1f7a57 !important;
  border-color: #1f7a57 !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active strong,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] strong {
  color: #10251d !important;
}

/* Inactive side readable */
.home-builder-tab:not(.is-active):not([aria-selected="true"]) span {
  color: rgba(255,255,255,.70) !important;
}

.home-builder-tab:not(.is-active):not([aria-selected="true"]) strong {
  color: rgba(255,255,255,.88) !important;
}

.home-builder-tab:focus-visible {
  outline: 3px solid rgba(255,255,255,.78) !important;
  outline-offset: -7px !important;
}

/* Country selected: make the whole switch feel greener, not pastel */
.home-builder-hub.is-country-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs {
  background:
    radial-gradient(circle at 16% 22%, rgba(255,255,255,.08), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(31,122,87,.34), transparent 34%),
    linear-gradient(135deg, #101513, #202b26) !important;
  border-color: rgba(31,122,87,.34) !important;
}

/* City selected: keep brand energy */
.home-builder-hub.is-city-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="city"] .home-builder-tabs {
  background:
    radial-gradient(circle at 14% 22%, rgba(255,0,53,.28), transparent 34%),
    radial-gradient(circle at 86% 18%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(135deg, #101113, #24262b) !important;
}

/* Mobile */
@media (max-width: 780px) {
  .home-builder-tabs {
    width: 100% !important;
    padding: 8px !important;
    gap: 8px !important;
    border-radius: 28px !important;
  }

  .home-builder-tab {
    min-height: 98px !important;
    padding: 18px 16px !important;
    border-radius: 22px !important;
  }

  .home-builder-tab span {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .home-builder-tab strong {
    font-size: clamp(24px, 7vw, 34px) !important;
  }
}

/* Builder mode switch: clean tactile slider, no gradients */
.home-builder-tabs {
  position: relative !important;
  width: min(760px, 100%) !important;
  margin: 28px auto 34px !important;
  padding: 7px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #161616 !important;
  background: #17181c !important;
  box-shadow: none !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* Sliding active thumb */
.home-builder-tabs::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 7px !important;
  bottom: 7px !important;
  left: 7px !important;
  width: calc(50% - 7px) !important;
  border-radius: 999px !important;
  background: #ff0035 !important;
  border: 1px solid #ff0035 !important;
  transform: translateX(0) !important;
  transition:
    transform .26s cubic-bezier(.22,.8,.22,1),
    background-color .18s ease,
    border-color .18s ease !important;
  z-index: 0 !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

.home-builder-hub.is-country-mode .home-builder-tabs::before,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs::before {
  transform: translateX(100%) !important;
  background: #1f7a57 !important;
  border-color: #1f7a57 !important;
}

/* Tabs */
.home-builder-tab {
  position: relative !important;
  z-index: 1 !important;
  min-height: 82px !important;
  padding: 16px 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 6px !important;
  text-align: center !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transform: none !important;
  color: rgba(255,255,255,.72) !important;
  transition: color .18s ease !important;
}

.home-builder-tab::before {
  content: none !important;
  display: none !important;
}

.home-builder-tab:hover {
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.home-builder-tab span,
.home-builder-tab strong {
  position: relative !important;
  z-index: 2 !important;
}

.home-builder-tab span {
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  opacity: .9 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.home-builder-tab strong {
  display: block !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: clamp(24px, 2.4vw, 36px) !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
  line-height: .95 !important;
  color: inherit !important;
}

/* Active tab text: white on red/green slider */
.home-builder-tab.is-active,
.home-builder-tab[aria-selected="true"] {
  color: #ffffff !important;
}

.home-builder-tab.is-active span,
.home-builder-tab[aria-selected="true"] span,
.home-builder-tab.is-active strong,
.home-builder-tab[aria-selected="true"] strong {
  color: #ffffff !important;
}

/* Inactive tab text */
.home-builder-tab:not(.is-active):not([aria-selected="true"]) span {
  color: rgba(255,255,255,.66) !important;
}

.home-builder-tab:not(.is-active):not([aria-selected="true"]) strong {
  color: rgba(255,255,255,.82) !important;
}

/* Small colored hint lines on inactive side */
.home-builder-tab[data-home-builder-tab="city"]:not(.is-active):not([aria-selected="true"]) span {
  color: rgba(255, 130, 150, .95) !important;
}

.home-builder-tab[data-home-builder-tab="country"]:not(.is-active):not([aria-selected="true"]) span {
  color: rgba(151, 220, 190, .95) !important;
}

.home-builder-tab:focus-visible {
  outline: 2px solid rgba(255,255,255,.9) !important;
  outline-offset: -6px !important;
}

/* Remove previous switch backgrounds when country/city mode changes */
.home-builder-hub.is-country-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs,
.home-builder-hub.is-city-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="city"] .home-builder-tabs {
  background: #17181c !important;
  border-color: #161616 !important;
  box-shadow: none !important;
}

/* Mobile */
@media (max-width: 780px) {
  .home-builder-tabs {
    width: 100% !important;
    padding: 6px !important;
    border-radius: 999px !important;
  }

  .home-builder-tabs::before {
    top: 6px !important;
    bottom: 6px !important;
    left: 6px !important;
    width: calc(50% - 6px) !important;
  }

  .home-builder-tab {
    min-height: 72px !important;
    padding: 12px 10px !important;
  }

  .home-builder-tab span {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .home-builder-tab strong {
    font-size: clamp(19px, 5.8vw, 27px) !important;
  }
}

/* Builder switch color reset: clean, readable, no muddy grey */
.home-builder-tabs {
  width: min(760px, 100%) !important;
  margin: 28px auto 34px !important;
  padding: 8px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  border-radius: 999px !important;
  border: 2px solid #111 !important;
  background: #fffaf2 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* Sliding active color plate */
.home-builder-tabs::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 8px !important;
  bottom: 8px !important;
  left: 8px !important;
  width: calc(50% - 12px) !important;
  border-radius: 999px !important;
  background: #ff0035 !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: translateX(0) !important;
  transition:
    transform .26s cubic-bezier(.22,.8,.22,1),
    background-color .18s ease !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.home-builder-hub.is-country-mode .home-builder-tabs::before,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs::before {
  transform: translateX(calc(100% + 8px)) !important;
  background: #1f7a57 !important;
}

/* kill old dark/green/pink backgrounds */
.home-builder-hub.is-country-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs,
.home-builder-hub.is-city-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="city"] .home-builder-tabs {
  background: #fffaf2 !important;
  border-color: #111 !important;
  box-shadow: none !important;
}

/* Tab base */
.home-builder-tab {
  position: relative !important;
  z-index: 1 !important;
  min-height: 82px !important;
  padding: 16px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 6px !important;
  text-align: center !important;
  cursor: pointer !important;
  color: #111 !important;
  overflow: hidden !important;
  transform: none !important;
}

.home-builder-tab::before {
  content: none !important;
  display: none !important;
}

.home-builder-tab:hover {
  background: #ffffff !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Text */
.home-builder-tab span {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  opacity: 1 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.home-builder-tab strong {
  display: block !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: clamp(24px, 2.2vw, 34px) !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
  line-height: .95 !important;
  color: #111 !important;
}

/* Active text: always white on red/green */
.home-builder-tab.is-active,
.home-builder-tab[aria-selected="true"] {
  background: transparent !important;
  color: #fff !important;
}

.home-builder-tab.is-active span,
.home-builder-tab[aria-selected="true"] span,
.home-builder-tab.is-active strong,
.home-builder-tab[aria-selected="true"] strong {
  color: #fff !important;
}

/* Inactive label hints */
.home-builder-tab[data-home-builder-tab="city"]:not(.is-active):not([aria-selected="true"]) span {
  color: #ff0035 !important;
}

.home-builder-tab[data-home-builder-tab="country"]:not(.is-active):not([aria-selected="true"]) span {
  color: #1f7a57 !important;
}

/* Keep inactive side readable */
.home-builder-tab:not(.is-active):not([aria-selected="true"]) strong {
  color: #111 !important;
}

/* Active country/city labels should not become muddy */
.home-builder-tab[data-home-builder-tab="city"].is-active span,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] span,
.home-builder-tab[data-home-builder-tab="country"].is-active span,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] span {
  color: #fff !important;
}

.home-builder-tab:focus-visible {
  outline: 3px solid #111 !important;
  outline-offset: -6px !important;
}

@media (max-width: 780px) {
  .home-builder-tabs {
    width: 100% !important;
    padding: 6px !important;
    gap: 6px !important;
  }

  .home-builder-tabs::before {
    top: 6px !important;
    bottom: 6px !important;
    left: 6px !important;
    width: calc(50% - 9px) !important;
  }

  .home-builder-hub.is-country-mode .home-builder-tabs::before,
  .home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs::before {
    transform: translateX(calc(100% + 6px)) !important;
  }

  .home-builder-tab {
    min-height: 72px !important;
    padding: 12px 8px !important;
  }

  .home-builder-tab span {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .home-builder-tab strong {
    font-size: clamp(19px, 5.6vw, 27px) !important;
  }
}

/* FINAL Builder selector: product choice cards, not a muddy switch */
.home-builder-tabs {
  width: min(980px, 100%) !important;
  margin: 30px auto 36px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  isolation: auto !important;
}

.home-builder-tabs::before {
  content: none !important;
  display: none !important;
}

/* Base card */
.home-builder-tab {
  position: relative !important;
  min-height: 154px !important;
  padding: 26px 28px !important;
  border-radius: 30px !important;
  border: 2px solid #161616 !important;
  background: #fffaf2 !important;
  box-shadow: none !important;
  display: grid !important;
  align-content: space-between !important;
  justify-items: start !important;
  gap: 18px !important;
  text-align: left !important;
  cursor: pointer !important;
  color: #111 !important;
  overflow: hidden !important;
  transform: none !important;
  transition:
    transform .16s ease,
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease !important;
}

.home-builder-tab::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: auto 24px 20px auto !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: 2px solid currentColor !important;
  opacity: .16 !important;
  pointer-events: none !important;
}

.home-builder-tab::after {
  content: "Select" !important;
  position: absolute !important;
  right: 26px !important;
  top: 26px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  border: 1px solid currentColor !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  opacity: .58 !important;
}

.home-builder-tab:hover {
  transform: translateY(-2px) !important;
  box-shadow: none !important;
}

/* Text */
.home-builder-tab span {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 30px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid currentColor !important;
  background: transparent !important;
  color: inherit !important;
  opacity: 1 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.home-builder-tab strong {
  display: block !important;
  max-width: 440px !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: clamp(36px, 4vw, 58px) !important;
  font-weight: 950 !important;
  letter-spacing: -.075em !important;
  line-height: .88 !important;
  color: inherit !important;
}

/* City identity */
.home-builder-tab[data-home-builder-tab="city"] {
  border-color: #ff0035 !important;
}

.home-builder-tab[data-home-builder-tab="city"] span {
  color: #ff0035 !important;
}

/* Country identity */
.home-builder-tab[data-home-builder-tab="country"] {
  border-color: #1f7a57 !important;
}

.home-builder-tab[data-home-builder-tab="country"] span {
  color: #1f7a57 !important;
}

/* Active City */
.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  background: #ff0035 !important;
  border-color: #ff0035 !important;
  color: #ffffff !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active span,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] span {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.72) !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active::after,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"]::after {
  content: "Building now" !important;
  opacity: 1 !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.72) !important;
}

/* Active Country */
.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  background: #1f7a57 !important;
  border-color: #1f7a57 !important;
  color: #ffffff !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active span,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] span {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.72) !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active::after,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"]::after {
  content: "Building now" !important;
  opacity: 1 !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.72) !important;
}

/* Active text always readable */
.home-builder-tab.is-active strong,
.home-builder-tab[aria-selected="true"] strong,
.home-builder-tab.is-active span,
.home-builder-tab[aria-selected="true"] span {
  color: #ffffff !important;
}

/* Inactive cards stay readable and strong */
.home-builder-tab:not(.is-active):not([aria-selected="true"]) strong {
  color: #111 !important;
}

.home-builder-tab:not(.is-active):not([aria-selected="true"]) {
  background: #fffaf2 !important;
}

/* Remove old mode-environment overrides */
.home-builder-hub.is-country-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs,
.home-builder-hub.is-city-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="city"] .home-builder-tabs {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Stronger button feeling on active mode */
.home-builder-tab.is-active:hover,
.home-builder-tab[aria-selected="true"]:hover {
  transform: translateY(-3px) !important;
}

/* Focus */
.home-builder-tab:focus-visible {
  outline: 3px solid #111 !important;
  outline-offset: 4px !important;
}

/* Mobile */
@media (max-width: 780px) {
  .home-builder-tabs {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 22px auto 26px !important;
  }

  .home-builder-tab {
    min-height: 132px !important;
    padding: 22px !important;
    border-radius: 26px !important;
  }

  .home-builder-tab strong {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .home-builder-tab::after {
    top: 22px !important;
    right: 22px !important;
  }
}

/* FINAL OVERRIDE: clean editorial builder mode cards */
.home-builder-tabs {
  width: min(1120px, 100%) !important;
  margin: 30px auto 38px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.home-builder-tabs::before {
  content: none !important;
  display: none !important;
}

.home-builder-tab {
  position: relative !important;
  min-height: 150px !important;
  padding: 28px 32px !important;
  border-radius: 28px !important;
  border: 2px solid #151515 !important;
  background: #fffaf2 !important;
  color: #151515 !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  align-content: stretch !important;
  justify-items: start !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transform: none !important;
  transition:
    transform .16s ease,
    background-color .16s ease,
    border-color .16s ease !important;
}

/* remove old decorative circle */
.home-builder-tab::before {
  content: none !important;
  display: none !important;
}

/* small status chip only */
.home-builder-tab::after {
  content: "Choose" !important;
  position: absolute !important;
  right: 28px !important;
  top: 28px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(21,21,21,.24) !important;
  color: rgba(21,21,21,.62) !important;
  background: rgba(255,255,255,.55) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}

.home-builder-tab:hover {
  transform: translateY(-2px) !important;
}

.home-builder-tab span {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 34px !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  border: 1px solid currentColor !important;
  background: #fffaf2 !important;
  color: inherit !important;
  opacity: 1 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.home-builder-tab strong {
  align-self: end !important;
  display: block !important;
  max-width: 480px !important;
  margin-top: 34px !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: clamp(38px, 3.6vw, 58px) !important;
  font-weight: 950 !important;
  letter-spacing: -.075em !important;
  line-height: .88 !important;
  color: #151515 !important;
}

/* city identity */
.home-builder-tab[data-home-builder-tab="city"] {
  border-color: rgba(255,0,53,.48) !important;
}

.home-builder-tab[data-home-builder-tab="city"] span {
  color: #ff0035 !important;
}

/* country identity */
.home-builder-tab[data-home-builder-tab="country"] {
  border-color: rgba(31,122,87,.58) !important;
}

.home-builder-tab[data-home-builder-tab="country"] span {
  color: #1f7a57 !important;
}

/* active city */
.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  background: #fff0f2 !important;
  border-color: #ff0035 !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active::after,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"]::after {
  content: "Active" !important;
  color: #fff !important;
  background: #ff0035 !important;
  border-color: #ff0035 !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active span,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] span {
  color: #fff !important;
  background: #ff0035 !important;
  border-color: #ff0035 !important;
}

/* active country */
.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  background: #effaf4 !important;
  border-color: #1f7a57 !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active::after,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"]::after {
  content: "Active" !important;
  color: #fff !important;
  background: #1f7a57 !important;
  border-color: #1f7a57 !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active span,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] span {
  color: #fff !important;
  background: #1f7a57 !important;
  border-color: #1f7a57 !important;
}

/* force readable text; override previous white active text rules */
.home-builder-tab.is-active strong,
.home-builder-tab[aria-selected="true"] strong,
.home-builder-tab:not(.is-active):not([aria-selected="true"]) strong {
  color: #151515 !important;
}

/* remove older environment effects */
.home-builder-hub.is-country-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="country"] .home-builder-tabs,
.home-builder-hub.is-city-mode .home-builder-tabs,
.home-builder-hub[data-active-builder-mode="city"] .home-builder-tabs {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* mobile */
@media (max-width: 780px) {
  .home-builder-tabs {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 22px auto 28px !important;
  }

  .home-builder-tab {
    min-height: 132px !important;
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .home-builder-tab::after {
    top: 24px !important;
    right: 24px !important;
  }

  .home-builder-tab strong {
    margin-top: 26px !important;
    font-size: clamp(34px, 9vw, 48px) !important;
  }
}

/* ================================================================
   FINAL: Home builder mode selector
   Single final override for City Mode / Country Mode.
   Recovery note: old experimental rules may remain earlier in file,
   but this final block is the only active source of truth.
================================================================ */

.home-builder-tabs {
  width: min(100%, 820px) !important;
  margin: 22px auto 26px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 6px !important;
  border: 1px solid rgba(26, 26, 26, .14) !important;
  border-radius: 28px !important;
  background: #fffaf2 !important;
  box-shadow: none !important;
}

.home-builder-tab {
  appearance: none !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 12px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 14px !important;
  min-height: 78px !important;
  padding: 16px 20px !important;
  border: 1px solid rgba(26, 26, 26, .14) !important;
  border-radius: 22px !important;
  background: #fff !important;
  color: #1a1a1a !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: hidden !important;
  transition:
    border-color .18s ease,
    background-color .18s ease,
    transform .18s ease !important;
}

.home-builder-tab::before {
  content: "" !important;
  width: 12px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  grid-row: 1 / span 2 !important;
}

.home-builder-tab::after {
  content: none !important;
  display: none !important;
}

.home-builder-tab:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(26, 26, 26, .32) !important;
}

.home-builder-tab:focus-visible {
  outline: 3px solid rgba(26, 26, 26, .18) !important;
  outline-offset: 3px !important;
}

.home-builder-tab span {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  opacity: .72 !important;
}

.home-builder-tab strong {
  display: block !important;
  margin: 4px 0 0 !important;
  color: #151515 !important;
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: clamp(23px, 2vw, 32px) !important;
  font-weight: 950 !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
}

.home-builder-tab[data-home-builder-tab="city"] {
  color: #d62828 !important;
}

.home-builder-tab[data-home-builder-tab="country"] {
  color: #247a4b !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  border-color: #d62828 !important;
  background: #fff3f1 !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  border-color: #247a4b !important;
  background: #f0faf4 !important;
}

.home-builder-tab.is-active span,
.home-builder-tab[aria-selected="true"] span {
  opacity: .95 !important;
}

@media (max-width: 780px) {
  .home-builder-tabs {
    width: min(100%, 520px) !important;
    grid-template-columns: 1fr !important;
    margin: 18px auto 24px !important;
    border-radius: 24px !important;
  }

  .home-builder-tab {
    min-height: 72px !important;
    padding: 15px 18px !important;
    border-radius: 20px !important;
  }

  .home-builder-tab strong {
    font-size: clamp(24px, 7vw, 31px) !important;
  }
}


/* ================================================================
   FINAL V2: Home builder mode selector
   Compact premium two-choice selector.
   Kills old badge/circle/pill experiments with high-specificity resets.
================================================================ */

.home-builder-tabs {
  width: min(100%, 860px) !important;
  margin: 20px auto 28px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.home-builder-tabs::before,
.home-builder-tabs::after {
  content: none !important;
  display: none !important;
}

.home-builder-tab,
.home-builder-tabs .home-builder-tab,
.home-builder-tab[data-home-builder-tab="city"],
.home-builder-tab[data-home-builder-tab="country"] {
  appearance: none !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 7px !important;
  min-height: 92px !important;
  padding: 22px 28px 22px 30px !important;
  border-radius: 24px !important;
  border-width: 1.5px !important;
  border-style: solid !important;
  background: #fffaf2 !important;
  box-shadow: none !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transform: none !important;
  transition:
    border-color .18s ease,
    background-color .18s ease,
    transform .18s ease !important;
}

.home-builder-tab::before,
.home-builder-tabs .home-builder-tab::before {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  top: 22px !important;
  bottom: 22px !important;
  width: 5px !important;
  height: auto !important;
  border-radius: 999px !important;
  background: currentColor !important;
  opacity: 1 !important;
  display: block !important;
}

.home-builder-tab::after,
.home-builder-tabs .home-builder-tab::after,
.home-builder-tab[data-home-builder-tab="city"]::after,
.home-builder-tab[data-home-builder-tab="country"]::after,
.home-builder-tab[data-home-builder-tab="city"].is-active::after,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"]::after,
.home-builder-tab[data-home-builder-tab="country"].is-active::after,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"]::after {
  content: none !important;
  display: none !important;
}

.home-builder-tab span,
.home-builder-tabs .home-builder-tab span,
.home-builder-tab[data-home-builder-tab="city"] span,
.home-builder-tab[data-home-builder-tab="country"] span,
.home-builder-tab[data-home-builder-tab="city"].is-active span,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] span,
.home-builder-tab[data-home-builder-tab="country"].is-active span,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] span {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: currentColor !important;
  opacity: .78 !important;
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  transform: none !important;
  white-space: nowrap !important;
}

.home-builder-tab strong,
.home-builder-tabs .home-builder-tab strong,
.home-builder-tab[data-home-builder-tab="city"] strong,
.home-builder-tab[data-home-builder-tab="country"] strong,
.home-builder-tab[data-home-builder-tab="city"].is-active strong,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] strong,
.home-builder-tab[data-home-builder-tab="country"].is-active strong,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] strong {
  position: static !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #141414 !important;
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: clamp(25px, 2.1vw, 34px) !important;
  font-weight: 900 !important;
  line-height: .95 !important;
  letter-spacing: -.055em !important;
  transform: none !important;
  white-space: normal !important;
}

.home-builder-tab[data-home-builder-tab="city"] {
  color: #d62828 !important;
  border-color: rgba(214, 40, 40, .32) !important;
}

.home-builder-tab[data-home-builder-tab="country"] {
  color: #247a4b !important;
  border-color: rgba(36, 122, 75, .36) !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  background: #fff1ed !important;
  border-color: #ff7a70 !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  background: #effaf3 !important;
  border-color: #247a4b !important;
}

.home-builder-tab:hover {
  transform: translateY(-1px) !important;
  background: #fff7ec !important;
}

.home-builder-tab[data-home-builder-tab="city"]:hover {
  border-color: #d62828 !important;
}

.home-builder-tab[data-home-builder-tab="country"]:hover {
  border-color: #247a4b !important;
}

.home-builder-tab:focus-visible {
  outline: 3px solid rgba(20, 20, 20, .16) !important;
  outline-offset: 4px !important;
}

@media (max-width: 780px) {
  .home-builder-tabs {
    width: min(100%, 540px) !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 18px auto 24px !important;
  }

  .home-builder-tab,
  .home-builder-tabs .home-builder-tab,
  .home-builder-tab[data-home-builder-tab="city"],
  .home-builder-tab[data-home-builder-tab="country"] {
    min-height: 82px !important;
    padding: 19px 22px 19px 28px !important;
    border-radius: 22px !important;
  }

  .home-builder-tab::before,
  .home-builder-tabs .home-builder-tab::before {
    left: 16px !important;
    top: 19px !important;
    bottom: 19px !important;
    width: 4px !important;
  }

  .home-builder-tab span,
  .home-builder-tabs .home-builder-tab span {
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }

  .home-builder-tab strong,
  .home-builder-tabs .home-builder-tab strong {
    font-size: clamp(24px, 7vw, 31px) !important;
  }
}


/* ================================================================
   FINAL V3: Home builder mode selector
   Tight aligned premium cards. Forces label/title alignment.
================================================================ */

.home-builder-tabs {
  width: min(100%, 820px) !important;
  margin: 18px auto 26px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.home-builder-tabs::before,
.home-builder-tabs::after {
  content: none !important;
  display: none !important;
}

.home-builder-tab,
.home-builder-tabs .home-builder-tab,
.home-builder-tab[data-home-builder-tab="city"],
.home-builder-tab[data-home-builder-tab="country"],
.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"],
.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  appearance: none !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 6px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  align-items: center !important;
  column-gap: 18px !important;
  row-gap: 7px !important;
  min-height: 86px !important;
  padding: 18px 24px !important;
  border-radius: 24px !important;
  border-width: 1.5px !important;
  border-style: solid !important;
  background: #fffaf2 !important;
  box-shadow: none !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transform: none !important;
  color: #151515 !important;
  transition:
    border-color .18s ease,
    background-color .18s ease,
    transform .18s ease !important;
}

.home-builder-tab::before,
.home-builder-tabs .home-builder-tab::before,
.home-builder-tab[data-home-builder-tab="city"]::before,
.home-builder-tab[data-home-builder-tab="country"]::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 6px !important;
  height: auto !important;
  min-height: 46px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  opacity: 1 !important;
}

.home-builder-tab::after,
.home-builder-tabs .home-builder-tab::after,
.home-builder-tab[data-home-builder-tab="city"]::after,
.home-builder-tab[data-home-builder-tab="country"]::after,
.home-builder-tab[data-home-builder-tab="city"].is-active::after,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"]::after,
.home-builder-tab[data-home-builder-tab="country"].is-active::after,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"]::after {
  content: none !important;
  display: none !important;
}

.home-builder-tab span,
.home-builder-tabs .home-builder-tab span,
.home-builder-tab[data-home-builder-tab="city"] span,
.home-builder-tab[data-home-builder-tab="country"] span,
.home-builder-tab[data-home-builder-tab="city"].is-active span,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] span,
.home-builder-tab[data-home-builder-tab="country"].is-active span,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] span {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  align-self: end !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: .82 !important;
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .17em !important;
  text-transform: uppercase !important;
  transform: none !important;
  white-space: nowrap !important;
  text-align: left !important;
}

.home-builder-tab strong,
.home-builder-tabs .home-builder-tab strong,
.home-builder-tab[data-home-builder-tab="city"] strong,
.home-builder-tab[data-home-builder-tab="country"] strong,
.home-builder-tab[data-home-builder-tab="city"].is-active strong,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] strong,
.home-builder-tab[data-home-builder-tab="country"].is-active strong,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] strong {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  align-self: start !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #141414 !important;
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  font-weight: 900 !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  text-align: left !important;
  transform: none !important;
  white-space: normal !important;
}

.home-builder-tab[data-home-builder-tab="city"],
.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  color: #d62828 !important;
}

.home-builder-tab[data-home-builder-tab="country"],
.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  color: #247a4b !important;
}

.home-builder-tab[data-home-builder-tab="city"] {
  border-color: rgba(214, 40, 40, .30) !important;
}

.home-builder-tab[data-home-builder-tab="country"] {
  border-color: rgba(36, 122, 75, .34) !important;
}

.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  background: #fff1ed !important;
  border-color: #ff8d84 !important;
}

.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  background: #f0faf4 !important;
  border-color: #247a4b !important;
}

.home-builder-tab:hover {
  transform: translateY(-1px) !important;
}

.home-builder-tab[data-home-builder-tab="city"]:hover {
  border-color: #d62828 !important;
}

.home-builder-tab[data-home-builder-tab="country"]:hover {
  border-color: #247a4b !important;
}

.home-builder-tab:focus-visible {
  outline: 3px solid rgba(20, 20, 20, .16) !important;
  outline-offset: 4px !important;
}

@media (max-width: 780px) {
  .home-builder-tabs {
    width: min(100%, 540px) !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 16px auto 24px !important;
  }

  .home-builder-tab,
  .home-builder-tabs .home-builder-tab,
  .home-builder-tab[data-home-builder-tab="city"],
  .home-builder-tab[data-home-builder-tab="country"],
  .home-builder-tab[data-home-builder-tab="city"].is-active,
  .home-builder-tab[data-home-builder-tab="city"][aria-selected="true"],
  .home-builder-tab[data-home-builder-tab="country"].is-active,
  .home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
    min-height: 80px !important;
    padding: 17px 20px !important;
    border-radius: 22px !important;
    column-gap: 15px !important;
  }

  .home-builder-tab::before,
  .home-builder-tabs .home-builder-tab::before {
    width: 5px !important;
    min-height: 42px !important;
  }

  .home-builder-tab span,
  .home-builder-tabs .home-builder-tab span {
    font-size: 10px !important;
    letter-spacing: .15em !important;
  }

  .home-builder-tab strong,
  .home-builder-tabs .home-builder-tab strong {
    font-size: clamp(23px, 7vw, 30px) !important;
  }
}


/* ================================================================
   FINAL V4: Home builder mode selector
   Filled red / green product buttons.
================================================================ */

.home-builder-tabs {
  width: min(100%, 820px) !important;
  margin: 18px auto 28px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.home-builder-tabs::before,
.home-builder-tabs::after {
  content: none !important;
  display: none !important;
}

.home-builder-tab,
.home-builder-tabs .home-builder-tab,
.home-builder-tab[data-home-builder-tab="city"],
.home-builder-tab[data-home-builder-tab="country"],
.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"],
.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  appearance: none !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 6px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  align-items: center !important;
  column-gap: 18px !important;
  row-gap: 7px !important;
  min-height: 88px !important;
  padding: 18px 24px !important;
  border-radius: 25px !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transform: none !important;
  transition:
    filter .18s ease,
    opacity .18s ease,
    transform .18s ease !important;
}

.home-builder-tab[data-home-builder-tab="city"],
.home-builder-tab[data-home-builder-tab="city"].is-active,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  background: #d62828 !important;
  color: #ffffff !important;
}

.home-builder-tab[data-home-builder-tab="country"],
.home-builder-tab[data-home-builder-tab="country"].is-active,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  background: #247a4b !important;
  color: #ffffff !important;
}

.home-builder-tab:not(.is-active):not([aria-selected="true"]) {
  opacity: .88 !important;
}

.home-builder-tab.is-active,
.home-builder-tab[aria-selected="true"] {
  opacity: 1 !important;
  filter: saturate(1.04) contrast(1.02) !important;
}

.home-builder-tab::before,
.home-builder-tabs .home-builder-tab::before,
.home-builder-tab[data-home-builder-tab="city"]::before,
.home-builder-tab[data-home-builder-tab="country"]::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 6px !important;
  height: auto !important;
  min-height: 46px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .92) !important;
  opacity: 1 !important;
}

.home-builder-tab::after,
.home-builder-tabs .home-builder-tab::after,
.home-builder-tab[data-home-builder-tab="city"]::after,
.home-builder-tab[data-home-builder-tab="country"]::after,
.home-builder-tab[data-home-builder-tab="city"].is-active::after,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"]::after,
.home-builder-tab[data-home-builder-tab="country"].is-active::after,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"]::after {
  content: none !important;
  display: none !important;
}

.home-builder-tab span,
.home-builder-tabs .home-builder-tab span,
.home-builder-tab[data-home-builder-tab="city"] span,
.home-builder-tab[data-home-builder-tab="country"] span,
.home-builder-tab[data-home-builder-tab="city"].is-active span,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] span,
.home-builder-tab[data-home-builder-tab="country"].is-active span,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] span {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  align-self: end !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, .82) !important;
  opacity: 1 !important;
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .17em !important;
  text-transform: uppercase !important;
  transform: none !important;
  white-space: nowrap !important;
  text-align: left !important;
}

.home-builder-tab strong,
.home-builder-tabs .home-builder-tab strong,
.home-builder-tab[data-home-builder-tab="city"] strong,
.home-builder-tab[data-home-builder-tab="country"] strong,
.home-builder-tab[data-home-builder-tab="city"].is-active strong,
.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] strong,
.home-builder-tab[data-home-builder-tab="country"].is-active strong,
.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] strong {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  align-self: start !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  font-weight: 900 !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  text-align: left !important;
  transform: none !important;
  white-space: normal !important;
}

.home-builder-tab:hover {
  transform: translateY(-1px) !important;
  opacity: 1 !important;
  filter: saturate(1.08) contrast(1.03) !important;
}

.home-builder-tab:focus-visible {
  outline: 3px solid rgba(20, 20, 20, .20) !important;
  outline-offset: 4px !important;
}

@media (max-width: 780px) {
  .home-builder-tabs {
    width: min(100%, 540px) !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 16px auto 24px !important;
  }

  .home-builder-tab,
  .home-builder-tabs .home-builder-tab,
  .home-builder-tab[data-home-builder-tab="city"],
  .home-builder-tab[data-home-builder-tab="country"],
  .home-builder-tab[data-home-builder-tab="city"].is-active,
  .home-builder-tab[data-home-builder-tab="city"][aria-selected="true"],
  .home-builder-tab[data-home-builder-tab="country"].is-active,
  .home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
    min-height: 80px !important;
    padding: 17px 20px !important;
    border-radius: 22px !important;
    column-gap: 15px !important;
  }

  .home-builder-tab::before,
  .home-builder-tabs .home-builder-tab::before {
    width: 5px !important;
    min-height: 42px !important;
  }

  .home-builder-tab span,
  .home-builder-tabs .home-builder-tab span {
    font-size: 10px !important;
    letter-spacing: .15em !important;
  }

  .home-builder-tab strong,
  .home-builder-tabs .home-builder-tab strong {
    font-size: clamp(23px, 7vw, 30px) !important;
  }
}


/* ================================================================
   FINAL V5: Solid homepage builder buttons
   Nuclear override: kills pastel backgrounds, background images,
   opacity, filters and old card effects.
================================================================ */

body .home-builder-tabs {
  width: min(100%, 820px) !important;
  margin: 18px auto 28px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body .home-builder-tabs::before,
body .home-builder-tabs::after {
  content: none !important;
  display: none !important;
}

body .home-builder-tabs .home-builder-tab,
body .home-builder-tabs button.home-builder-tab,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab],
body .home-builder-tabs button.home-builder-tab.is-active,
body .home-builder-tabs button.home-builder-tab[aria-selected="true"] {
  appearance: none !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 6px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  align-items: center !important;
  column-gap: 18px !important;
  row-gap: 7px !important;
  min-height: 88px !important;
  padding: 18px 24px !important;
  border: 0 !important;
  border-radius: 25px !important;
  box-shadow: none !important;
  outline-offset: 4px !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  background-image: none !important;
  transition:
    transform .18s ease,
    background-color .18s ease !important;
}

body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="city"],
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="city"].is-active,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="city"][aria-selected="true"] {
  background: none !important;
  background-image: none !important;
  background-color: #d62828 !important;
  color: #ffffff !important;
}

body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="country"],
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="country"].is-active,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="country"][aria-selected="true"] {
  background: none !important;
  background-image: none !important;
  background-color: #247a4b !important;
  color: #ffffff !important;
}

body .home-builder-tabs button.home-builder-tab::before,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab]::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 6px !important;
  height: auto !important;
  min-height: 46px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .92) !important;
  background-color: rgba(255, 255, 255, .92) !important;
  background-image: none !important;
  opacity: 1 !important;
  filter: none !important;
}

body .home-builder-tabs button.home-builder-tab::after,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab]::after,
body .home-builder-tabs button.home-builder-tab.is-active::after,
body .home-builder-tabs button.home-builder-tab[aria-selected="true"]::after {
  content: none !important;
  display: none !important;
}

body .home-builder-tabs button.home-builder-tab span,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab] span,
body .home-builder-tabs button.home-builder-tab.is-active span,
body .home-builder-tabs button.home-builder-tab[aria-selected="true"] span {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  align-self: end !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, .84) !important;
  opacity: 1 !important;
  filter: none !important;
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .17em !important;
  text-transform: uppercase !important;
  transform: none !important;
  white-space: nowrap !important;
  text-align: left !important;
}

body .home-builder-tabs button.home-builder-tab strong,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab] strong,
body .home-builder-tabs button.home-builder-tab.is-active strong,
body .home-builder-tabs button.home-builder-tab[aria-selected="true"] strong {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  align-self: start !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: clamp(24px, 1.75vw, 30px) !important;
  font-weight: 900 !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  text-align: left !important;
  transform: none !important;
  white-space: normal !important;
}

body .home-builder-tabs button.home-builder-tab:hover {
  transform: translateY(-1px) !important;
  opacity: 1 !important;
  filter: none !important;
}

body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="city"]:hover {
  background-color: #c91f24 !important;
}

body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="country"]:hover {
  background-color: #1f6f43 !important;
}

@media (max-width: 780px) {
  body .home-builder-tabs {
    width: min(100%, 540px) !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 16px auto 24px !important;
  }

  body .home-builder-tabs button.home-builder-tab,
  body .home-builder-tabs button.home-builder-tab[data-home-builder-tab] {
    min-height: 80px !important;
    padding: 17px 20px !important;
    border-radius: 22px !important;
    column-gap: 15px !important;
  }

  body .home-builder-tabs button.home-builder-tab::before {
    width: 5px !important;
    min-height: 42px !important;
  }

  body .home-builder-tabs button.home-builder-tab span {
    font-size: 10px !important;
    letter-spacing: .15em !important;
  }

  body .home-builder-tabs button.home-builder-tab strong {
    font-size: clamp(23px, 7vw, 30px) !important;
  }
}


/* ================================================================
   FINAL V5B: Builder button label readability fix
   Force CITY MODE / COUNTRY MODE labels to stay readable on solid buttons.
================================================================ */

body .home-builder-tabs button.home-builder-tab span,
body .home-builder-tabs button.home-builder-tab > span,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab] span,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab] > span,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="city"] span,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="city"] > span,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="country"] span,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab="country"] > span,
body .home-builder-tabs button.home-builder-tab.is-active span,
body .home-builder-tabs button.home-builder-tab.is-active > span,
body .home-builder-tabs button.home-builder-tab[aria-selected="true"] span,
body .home-builder-tabs button.home-builder-tab[aria-selected="true"] > span {
  color: rgba(255, 255, 255, .86) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .86) !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}

body .home-builder-tabs button.home-builder-tab strong,
body .home-builder-tabs button.home-builder-tab > strong,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab] strong,
body .home-builder-tabs button.home-builder-tab[data-home-builder-tab] > strong,
body .home-builder-tabs button.home-builder-tab.is-active strong,
body .home-builder-tabs button.home-builder-tab.is-active > strong,
body .home-builder-tabs button.home-builder-tab[aria-selected="true"] strong,
body .home-builder-tabs button.home-builder-tab[aria-selected="true"] > strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}


/* ================================================================
   Report issue links under guide cards
================================================================ */

.sh-report-issue-wrap {
  margin-top: 12px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(20, 20, 20, .08) !important;
  display: flex !important;
  justify-content: flex-start !important;
}

.sh-report-issue-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: rgba(20, 20, 20, .58) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

.sh-report-issue-link::before {
  content: "!" !important;
  width: 15px !important;
  height: 15px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(20, 20, 20, .24) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  color: rgba(20, 20, 20, .52) !important;
}

.sh-report-issue-link:hover,
.sh-report-issue-link:focus-visible {
  color: #d62828 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.sh-report-issue-link:hover::before,
.sh-report-issue-link:focus-visible::before {
  border-color: rgba(214, 40, 40, .5) !important;
  color: #d62828 !important;
}


/* ================================================================
   Road Trip Report V3
   Functional Country Mode report: affiliates, food, fuel, map,
   photos, logistics and print support.
================================================================ */

.rt-report-v3 {
  --rt-green: #247a4b;
  --rt-green-dark: #1d633d;
  --rt-green-soft: #eff8f2;
  --rt-green-line: rgba(36, 122, 75, .24);
  --rt-paper: #fffaf2;
  --rt-card: #fffdf8;
  --rt-ink: #12100f;
  --rt-muted: #756d63;

  width: min(100%, 1180px);
  max-height: min(88vh, 980px);
  margin: 0 auto;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 30px;
  background: var(--rt-paper);
  color: var(--rt-ink);
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}

.rt-report-v3 *,
.rt-report-v3 *::before,
.rt-report-v3 *::after {
  box-sizing: border-box;
}

.rt-report-v3__topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: clamp(22px, 3vw, 34px);
  background: #111;
  color: #fff;
}

.rt-report-v3__topbar span,
.rt-report-v3__hero p,
.rt-report-v3__section-head span,
.rt-report-v3__stat span,
.rt-report-v3__action span,
.rt-report-v3__fuel-card span,
.rt-report-v3 .road-trip-logistics strong,
.rt-report-v3 .route-restaurant-card small,
.rt-report-v3 .road-trip-photo-stops span {
  display: block;
  margin: 0 0 8px;
  color: var(--rt-green);
  font-size: 12px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.rt-report-v3__topbar span {
  color: #f5cbd1;
}

.rt-report-v3__topbar strong {
  display: block;
  color: #fff;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: clamp(34px, 5vw, 64px);
  font-weight: 950;
  line-height: .92;
  letter-spacing: -.06em;
}

.rt-report-v3__close {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(36,122,75,.18);
  color: #fff;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.rt-report-v3__hero,
.rt-report-v3__stats,
.rt-report-v3__section,
.rt-report-v3__map-stops,
.rt-report-v3 .road-trip-logistics,
.rt-report-v3 .road-trip-photo-stops {
  margin: 0;
  padding: clamp(24px, 3vw, 38px);
}

.rt-report-v3__hero {
  background: linear-gradient(90deg, rgba(36,122,75,.08), rgba(255,255,255,0) 58%);
  border-bottom: 1px solid var(--rt-green-line);
}

.rt-report-v3__hero h2 {
  margin: 0 0 12px;
  color: var(--rt-ink);
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: clamp(48px, 8vw, 118px);
  line-height: .86;
  letter-spacing: -.08em;
  font-weight: 950;
}

.rt-report-v3__hero h2 span {
  color: var(--rt-green-dark);
}

.rt-report-v3__hero strong,
.rt-report-v3__hero small {
  display: block;
  color: var(--rt-muted);
  font-size: clamp(17px, 2vw, 25px);
  font-weight: 900;
  line-height: 1.25;
}

.rt-report-v3__hero small {
  max-width: 760px;
  margin-top: 18px;
}

.rt-report-v3__stats,
.rt-report-v3__actions,
.rt-report-v3__fuel-grid {
  display: grid;
  gap: 14px;
}

.rt-report-v3__stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rt-report-v3__actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rt-report-v3__fuel-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rt-report-v3__stat,
.rt-report-v3__action,
.rt-report-v3__fuel-card,
.rt-report-v3__stop,
.rt-report-v3__empty,
.rt-report-v3 .road-trip-logistics article,
.rt-report-v3 .route-restaurant-card,
.rt-report-v3 .road-trip-photo-stop,
.rt-report-v3 .road-trip-photo-card {
  border: 1px solid var(--rt-green-line) !important;
  border-radius: 24px !important;
  background: var(--rt-card) !important;
  box-shadow: none !important;
}

.rt-report-v3__stat {
  padding: 20px;
}

.rt-report-v3__stat strong {
  display: block;
  color: var(--rt-ink);
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: clamp(38px, 5vw, 70px);
  line-height: .9;
  letter-spacing: -.05em;
}

.rt-report-v3__stat small,
.rt-report-v3__action small,
.rt-report-v3__fuel-card small,
.rt-report-v3__empty p {
  display: block;
  margin-top: 10px;
  color: var(--rt-muted);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.35;
}

.rt-report-v3__section,
.rt-report-v3 .road-trip-logistics,
.rt-report-v3 .road-trip-photo-stops,
.rt-report-v3__map-stops {
  border-top: 1px solid var(--rt-green-line);
}

.rt-report-v3__section-head {
  max-width: 880px;
  margin-bottom: 24px;
}

.rt-report-v3__section-head h3,
.rt-report-v3 .road-trip-photo-stops h3,
.rt-report-v3 .route-restaurant-results h3 {
  margin: 0 0 10px;
  color: var(--rt-ink) !important;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: clamp(34px, 5vw, 68px);
  line-height: .92;
  letter-spacing: -.06em;
  font-weight: 950;
}

.rt-report-v3__section-head p,
.rt-report-v3 .road-trip-photo-stops p,
.rt-report-v3 .route-restaurant-results p,
.rt-report-v3 .road-trip-logistics p {
  margin: 0;
  color: var(--rt-muted) !important;
  font-size: clamp(16px, 2vw, 22px);
  line-height: 1.32;
  font-weight: 850;
}

.rt-report-v3__action,
.rt-report-v3__fuel-card {
  min-height: 150px;
  padding: 22px;
  text-align: left;
  text-decoration: none;
  color: inherit;
}

.rt-report-v3__utility {
  cursor: pointer;
  font: inherit;
}

.rt-report-v3__action.is-sponsored {
  background: var(--rt-green-soft) !important;
  border-color: rgba(36,122,75,.34) !important;
}

.rt-report-v3__action strong,
.rt-report-v3__fuel-card strong,
.rt-report-v3__empty strong {
  display: block;
  color: var(--rt-green-dark);
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: clamp(24px, 2.7vw, 36px);
  line-height: .96;
  letter-spacing: -.045em;
  font-weight: 950;
}

.rt-report-v3__map-stops {
  display: grid;
  grid-template-columns: minmax(340px, .95fr) minmax(0, 1.05fr);
  gap: 18px;
}

.rt-report-v3__map {
  position: sticky;
  top: 116px;
  align-self: start;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid var(--rt-green-line);
  border-radius: 26px;
  background: #f4f0e7;
}

.rt-report-v3__map iframe {
  width: 100%;
  min-height: 520px;
  height: 520px;
  border: 0;
  display: block;
}

.rt-report-v3__stop-list {
  display: grid;
  gap: 12px;
}

.rt-report-v3__stop {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
}

.rt-report-v3__stop-no {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--rt-green);
  color: #fff;
  font-size: 18px;
  font-weight: 950;
}

.rt-report-v3__stop h4 {
  margin: 0;
  color: var(--rt-ink);
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: clamp(24px, 3vw, 42px);
  line-height: .92;
  letter-spacing: -.055em;
  font-weight: 950;
}

.rt-report-v3__stop small {
  display: block;
  margin-top: 4px;
  color: var(--rt-muted);
  font-size: 14px;
  font-weight: 900;
}

.rt-report-v3__stop p {
  margin: 14px 0 0;
  color: var(--rt-muted);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
}

.rt-report-v3 a {
  color: var(--rt-green-dark) !important;
  font-weight: 950;
  text-decoration: none;
}

.rt-report-v3__empty {
  padding: 24px;
}

/* Re-skin existing working helper sections inside the V3 report */
.rt-report-v3 .road-trip-logistics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.rt-report-v3 .road-trip-logistics article {
  padding: 22px;
}

.rt-report-v3 .road-trip-photo-stops {
  background: transparent !important;
}

.rt-report-v3 .road-trip-photo-stops > div,
.rt-report-v3 .route-restaurant-results,
.rt-report-v3 .route-restaurant-grid,
.rt-report-v3 .road-trip-photo-grid {
  display: grid;
  gap: 14px;
}

.rt-report-v3 .route-restaurant-grid,
.rt-report-v3 .road-trip-photo-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rt-report-v3 img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 980px) {
  .rt-report-v3 {
    max-height: 92vh;
    border-radius: 22px;
  }

  .rt-report-v3__stats,
  .rt-report-v3__actions,
  .rt-report-v3__fuel-grid,
  .rt-report-v3__map-stops,
  .rt-report-v3 .road-trip-logistics,
  .rt-report-v3 .route-restaurant-grid,
  .rt-report-v3 .road-trip-photo-grid {
    grid-template-columns: 1fr;
  }

  .rt-report-v3__map {
    position: relative;
    top: auto;
    min-height: 360px;
  }

  .rt-report-v3__map iframe {
    min-height: 360px;
    height: 360px;
  }
}

@media (max-width: 620px) {
  .rt-report-v3__topbar,
  .rt-report-v3__hero,
  .rt-report-v3__stats,
  .rt-report-v3__section,
  .rt-report-v3__map-stops,
  .rt-report-v3 .road-trip-logistics,
  .rt-report-v3 .road-trip-photo-stops {
    padding: 20px;
  }

  .rt-report-v3__hero h2 {
    font-size: clamp(42px, 16vw, 68px);
  }

  .rt-report-v3__close {
    width: 46px;
    height: 46px;
  }
}

/* Print / Save as PDF */
@media print {
  body.road-trip-report-printing,
  body.road-trip-report-open {
    background: #fff !important;
  }

  body.road-trip-report-open > *:not(#roadTripReport):not(.road-trip-report) {
    display: none !important;
  }

  body.road-trip-report-open #roadTripReport,
  body.road-trip-report-open .road-trip-report {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .rt-report-v3 {
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
  }

  .rt-report-v3__topbar {
    position: static !important;
    background: #111 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .rt-report-v3__close,
  .rt-report-v3__utility {
    display: none !important;
  }

  .rt-report-v3__map {
    position: static !important;
  }
}


/* === Road Trip Report FINAL === */

/* ================================================================
   Sign Hunters · Road Trip Report (Country Mode) — FINAL
   Isolated component. Single class family: .rt-report-final__*
   This block intentionally lives at the end of styles.css so it
   wins specificity vs. older .rt-report-v3 / .road-trip-report-*
   leftovers, without modifying City Mode or homepage rules.
================================================================ */
.rt-report-final {
  /* Green-led travel-product palette */
  --rtf-green:        #1f6f4a;
  --rtf-green-strong: #155a3a;
  --rtf-green-soft:   #eaf4ee;
  --rtf-green-line:   rgba(31, 111, 74, 0.22);
  --rtf-bg:           #ffffff;
  --rtf-paper:        #fbfbf7;
  --rtf-card:         #ffffff;
  --rtf-ink:          #14181a;
  --rtf-muted:        #5d6a64;
  --rtf-line:         rgba(20, 24, 26, 0.10);
  --rtf-radius:       18px;
  --rtf-radius-sm:    12px;
  --rtf-shadow:       0 10px 30px rgba(20, 24, 26, 0.06);

  display: block;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  background: var(--rtf-paper);
  color: var(--rtf-ink);
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

.rt-report-final *,
.rt-report-final *::before,
.rt-report-final *::after { box-sizing: border-box; }

.rt-report-final a { color: var(--rtf-green-strong); text-decoration: none; }
.rt-report-final a:hover { color: var(--rtf-green); }

/* ---- Top bar ---------------------------------------------------- */
.rt-report-final__topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 28px;
  background: rgba(251, 251, 247, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rtf-line);
}
.rt-report-final__brand { display: grid; gap: 2px; }
.rt-report-final__kicker {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rtf-green);
}
.rt-report-final__brandtitle {
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 20px;
  font-weight: 900;
  color: var(--rtf-ink);
  letter-spacing: -0.01em;
}
.rt-report-final__trust-badge {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  margin-top: 2px;
  padding: 2px 9px;
  border-radius: 999px;
  background: rgba(31, 111, 74, 0.12);
  color: #16432f;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.rt-report-final__close {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1px solid var(--rtf-line);
  background: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  color: var(--rtf-ink);
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease;
}
.rt-report-final__close:hover { background: var(--rtf-green-soft); transform: scale(1.05); }

/* ---- Hero ------------------------------------------------------- */
.rt-report-final__hero {
  padding: 36px 28px 24px;
  background:
    radial-gradient(120% 80% at 0% 0%, var(--rtf-green-soft) 0%, transparent 50%),
    var(--rtf-paper);
}
.rt-report-final__eyebrow {
  margin: 0 0 10px;
  font-size: 12px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rtf-green);
}
.rt-report-final__title {
  margin: 0 0 12px;
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 0.98;
  color: var(--rtf-ink);
  font-size: clamp(36px, 6vw, 64px);
}
.rt-report-final__title span {
  display: inline-block;
  margin: 0 4px;
  color: var(--rtf-green);
  font-weight: 700;
}
.rt-report-final__lede {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
  color: var(--rtf-ink);
}
.rt-report-final__note {
  margin: 0;
  font-size: 14px;
  color: var(--rtf-muted);
  max-width: 720px;
}

/* ---- Stats grid ------------------------------------------------- */
.rt-report-final__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 8px 28px 0;
}
.rt-report-final__stat {
  background: var(--rtf-card);
  border: 1px solid var(--rtf-line);
  border-radius: var(--rtf-radius);
  padding: 16px;
  display: grid;
  gap: 4px;
}
.rt-report-final__stat span {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rtf-green);
}
.rt-report-final__stat strong {
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 30px;
  font-weight: 900;
  color: var(--rtf-ink);
  line-height: 1;
}
.rt-report-final__stat small { color: var(--rtf-muted); font-weight: 700; font-size: 12px; }

/* ---- Section frame ---------------------------------------------- */
.rt-report-final__section {
  padding: 28px;
  border-top: 1px solid var(--rtf-line);
  margin-top: 20px;
}
.rt-report-final__shead { margin-bottom: 18px; display: grid; gap: 6px; }
.rt-report-final__shead span {
  font-size: 11px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rtf-green);
}
.rt-report-final__shead h3 {
  margin: 0;
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--rtf-ink);
}
.rt-report-final__shead p { margin: 0; font-size: 14px; color: var(--rtf-muted); max-width: 760px; }

/* ---- Generic grid ----------------------------------------------- */
.rt-report-final__grid { display: grid; gap: 12px; }
.rt-report-final__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-report-final__grid--photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

/* ---- Action cards ----------------------------------------------- */
.rt-report-final__actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.rt-report-final__action {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  background: var(--rtf-card);
  border: 1px solid var(--rtf-line);
  border-radius: var(--rtf-radius);
  color: var(--rtf-ink);
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.rt-report-final__action:hover {
  transform: translateY(-2px);
  border-color: var(--rtf-green-line);
  background: #fff;
}
.rt-report-final__action span {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rtf-green);
}
.rt-report-final__action strong { font-size: 16px; font-weight: 900; color: var(--rtf-ink); }
.rt-report-final__action small { color: var(--rtf-muted); font-size: 13px; font-weight: 600; }

.rt-report-final__action--sponsored {
  background: var(--rtf-green-soft);
  border-color: var(--rtf-green-line);
}
.rt-report-final__action--sponsored span::after {
  content: " · Sponsored";
  color: var(--rtf-green-strong);
  font-weight: 800;
}

/* ---- Utility row (PDF / Copy / Report) -------------------------- */
.rt-report-final__utilrow {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.rt-report-final__util {
  display: inline-grid;
  gap: 2px;
  padding: 12px 16px;
  border: 1px solid var(--rtf-line);
  border-radius: 999px;
  background: #fff;
  color: var(--rtf-ink);
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}
.rt-report-final__util:hover {
  border-color: var(--rtf-green-line);
  background: var(--rtf-green-soft);
}
.rt-report-final__util span {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rtf-green);
}
.rt-report-final__util strong { font-size: 14px; font-weight: 800; }

/* ---- Generic card (food + fuel) --------------------------------- */
.rt-report-final__card {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  background: var(--rtf-card);
  border: 1px solid var(--rtf-line);
  border-radius: var(--rtf-radius);
  color: var(--rtf-ink);
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.rt-report-final__card:hover { transform: translateY(-2px); border-color: var(--rtf-green-line); }
.rt-report-final__card span {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rtf-green);
}
.rt-report-final__card strong { font-size: 16px; font-weight: 900; }
.rt-report-final__card small { color: var(--rtf-muted); font-size: 13px; line-height: 1.45; font-weight: 600; }

/* ---- Photo cards ------------------------------------------------ */
.rt-report-final__photo {
  display: grid;
  grid-template-rows: auto 1fr;
  background: var(--rtf-card);
  border: 1px solid var(--rtf-line);
  border-radius: var(--rtf-radius);
  overflow: hidden;
}
.rt-report-final__photo-img {
  aspect-ratio: 16 / 9;
  background: var(--rtf-green-soft);
}
.rt-report-final__photo-img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.rt-report-final__photo-fallback {
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  gap: 6px;
  background: var(--rtf-green-soft);
  color: var(--rtf-green-strong);
}
.rt-report-final__photo-fallback svg { width: 44px; height: 44px; }
.rt-report-final__photo-fallback span {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 800;
}
.rt-report-final__photo.is-no-image .rt-report-final__photo-img { display: none; }
.rt-report-final__photo-body { padding: 16px 18px; display: grid; gap: 4px; }
.rt-report-final__photo-body small {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--rtf-green);
}
.rt-report-final__photo-body strong { font-size: 18px; font-weight: 900; line-height: 1.2; }
.rt-report-final__photo-body p { margin: 0; color: var(--rtf-muted); font-size: 14px; line-height: 1.5; }
.rt-report-final__photo-body a { font-weight: 800; align-self: start; }

/* ---- Map + stops ------------------------------------------------ */
.rt-report-final__mapstops {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 20px;
}
.rt-report-final__map {
  position: relative;
  min-height: 360px;
  border-radius: var(--rtf-radius);
  overflow: hidden;
  background: var(--rtf-green-soft);
  border: 1px solid var(--rtf-line);
}
.rt-report-final__map iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
}
.rt-report-final__map-fallback {
  display: grid;
  place-content: center;
  gap: 6px;
  height: 100%;
  min-height: 360px;
  text-align: center;
  padding: 28px;
  color: var(--rtf-green-strong);
}
.rt-report-final__map-fallback strong { font-size: 18px; font-weight: 900; }
.rt-report-final__map-fallback small { color: var(--rtf-muted); }

.rt-report-final__stops { display: grid; gap: 12px; }
.rt-report-final__stoplist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.rt-report-final__stop {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  padding: 14px 16px;
  background: var(--rtf-card);
  border: 1px solid var(--rtf-line);
  border-radius: var(--rtf-radius);
}
.rt-report-final__stop-no {
  display: grid;
  place-items: center;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--rtf-green);
  color: #fff;
  font-weight: 900;
}
.rt-report-final__stop-body { display: grid; gap: 4px; }
.rt-report-final__stop-body h4 {
  margin: 0;
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
  color: var(--rtf-ink);
}
.rt-report-final__stop-body small {
  color: var(--rtf-muted);
  font-weight: 700;
  font-size: 12px;
}
.rt-report-final__stop-body p { margin: 0; font-size: 14px; color: var(--rtf-ink); line-height: 1.5; }
.rt-report-final__stop-body a { font-weight: 800; align-self: start; }

.rt-report-final__stops-maps-link {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid var(--rtf-green-line);
  border-radius: 999px;
  background: var(--rtf-green-soft);
  color: var(--rtf-green-strong);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  line-height: 1.35;
}
.rt-report-final__stops-maps-link:hover { background: #d4edd9; color: var(--rtf-green); }

.rt-report-final__empty {
  background: var(--rtf-card);
  border: 1px solid var(--rtf-line);
  border-radius: var(--rtf-radius);
  padding: 20px;
}
.rt-report-final__empty strong { display: block; font-weight: 900; margin-bottom: 4px; }
.rt-report-final__empty p { margin: 0; color: var(--rtf-muted); }

/* ---- Footer ----------------------------------------------------- */
.rt-report-final__footer {
  padding: 18px 28px 28px;
  border-top: 1px solid var(--rtf-line);
}
.rt-report-final__footer small { color: var(--rtf-muted); font-size: 12px; }
.rt-report-final__footer em { font-style: normal; color: var(--rtf-green); font-weight: 800; }
.rt-report-final__footer a { color: var(--rtf-green-strong); font-weight: 800; }

/* ---- Mobile ----------------------------------------------------- */
@media (max-width: 860px) {
  .rt-report-final__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-report-final__grid--3,
  .rt-report-final__grid--photos { grid-template-columns: 1fr; }
  .rt-report-final__mapstops { grid-template-columns: 1fr; }
  .rt-report-final__map { min-height: 280px; }
  .rt-report-final__hero { padding: 28px 20px 20px; }
  .rt-report-final__topbar,
  .rt-report-final__section,
  .rt-report-final__footer { padding-left: 20px; padding-right: 20px; }
}

/* ---- Print (Save as PDF) ---------------------------------------- */
@media print {
  body.road-trip-report-printing { background: #fff !important; }

  /* Hide everything except the report */
  body.road-trip-report-printing > *:not(#roadTripReport):not(.road-trip-report) {
    display: none !important;
  }
  body.road-trip-report-printing #roadTripReport,
  body.road-trip-report-printing .road-trip-report {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Remove overlay */
  body.road-trip-report-printing::before { display: none !important; }

  /* Hide modal-only chrome inside the report */
  .rt-report-final__topbar,
  .rt-report-final__close,
  .rt-report-final__utilrow,
  .rt-report-final__noprint { display: none !important; }

  /* Tighten layout for paper */
  .rt-report-final {
    max-width: 100% !important;
    background: #fff !important;
    color: #000 !important;
    font-size: 12px !important;
  }
  .rt-report-final__hero { padding: 12px 16px !important; background: #fff !important; }
  .rt-report-final__section { padding: 12px 16px !important; border-top: 1px solid #ddd !important; }
  .rt-report-final__title { font-size: 28px !important; }
  .rt-report-final__stats { grid-template-columns: repeat(4, 1fr) !important; gap: 8px !important; }
  .rt-report-final__grid--3 { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
  .rt-report-final__grid--photos { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .rt-report-final__mapstops { grid-template-columns: 1fr !important; }
  .rt-report-final__map { display: none !important; } /* iframe maps don't print reliably */
  .rt-report-final__action,
  .rt-report-final__card,
  .rt-report-final__photo,
  .rt-report-final__stop {
    box-shadow: none !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* ---- Defensive: neutralize older Road Trip selectors ----------- *
 * If older .rt-report-v3 or .road-trip-report-* fragments survive a
 * deploy, do not let them collide with the new component. We do not
 * import or render them anymore — these are just safety nets.       */
.rt-report-final .road-trip-report-ribbon,
.rt-report-final .road-trip-report-hero,
.rt-report-final .road-trip-plan-panel,
.rt-report-final .road-trip-photo-stops,
.rt-report-final .road-trip-report-grid,
.rt-report-final .rt-report-v3,
.rt-report-final .rt-report-v3__topbar,
.rt-report-final .rt-report-v3__hero { display: none !important; }
/* === end Road Trip Report FINAL === */


/* === Sign Hunters Global Navigation FINAL === */

/*
  Site-wide navigation normalization.
  Goal: the logo/nav/header must look identical on homepage, routes,
  route detail pages, place pages and generated static pages.
*/

:root {
  --sh-nav-height: 76px;
  --sh-nav-logo-height: 56px;
  --sh-nav-side-pad: clamp(18px, 3.4vw, 72px);
  --sh-nav-bg: #fbf7ee;
  --sh-nav-ink: #111111;
  --sh-nav-border: rgba(20, 20, 20, .08);
}

body .topbar,
body header.topbar,
body .site-header,
body header.site-header {
  width: 100% !important;
  min-height: var(--sh-nav-height) !important;
  padding: 12px var(--sh-nav-side-pad) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(18px, 3vw, 54px) !important;
  background: var(--sh-nav-bg) !important;
  border-bottom: 1px solid var(--sh-nav-border) !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 50 !important;
}

body .topbar .brand,
body header.topbar .brand,
body .site-header .brand,
body header.site-header .brand,
body .topbar > a:first-child,
body header.topbar > a:first-child {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  max-width: 360px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body .topbar .brand img,
body header.topbar .brand img,
body .site-header .brand img,
body header.site-header .brand img,
body .topbar > a:first-child img,
body header.topbar > a:first-child img,
body img[src*="logo"],
body img[src*="signhunters-logo"] {
  display: block !important;
  width: auto !important;
  height: var(--sh-nav-logo-height) !important;
  max-height: var(--sh-nav-logo-height) !important;
  max-width: min(360px, 38vw) !important;
  object-fit: contain !important;
  object-position: left center !important;
  flex: 0 0 auto !important;
}

body .topbar nav,
body header.topbar nav,
body .site-header nav,
body header.site-header nav,
body .main-nav,
body nav.main-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(18px, 2.4vw, 42px) !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

body .topbar nav a,
body header.topbar nav a,
body .site-header nav a,
body header.site-header nav a,
body .main-nav a,
body nav.main-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--sh-nav-ink) !important;
  text-decoration: none !important;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
  line-height: 1 !important;
  padding: 10px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .topbar nav a:hover,
body header.topbar nav a:hover,
body .site-header nav a:hover,
body header.site-header nav a:hover,
body .main-nav a:hover,
body nav.main-nav a:hover {
  color: #ef002f !important;
}

body .topbar nav a[aria-current="page"],
body header.topbar nav a[aria-current="page"],
body .site-header nav a[aria-current="page"],
body header.site-header nav a[aria-current="page"],
body .main-nav a[aria-current="page"],
body nav.main-nav a[aria-current="page"] {
  color: #ef002f !important;
}

@media (max-width: 980px) {
  :root {
    --sh-nav-height: auto;
    --sh-nav-logo-height: 48px;
  }

  body .topbar,
  body header.topbar,
  body .site-header,
  body header.site-header {
    flex-wrap: wrap !important;
    align-items: center !important;
    padding: 12px 18px 14px !important;
    gap: 12px !important;
  }

  body .topbar .brand,
  body header.topbar .brand,
  body .site-header .brand,
  body header.site-header .brand,
  body .topbar > a:first-child,
  body header.topbar > a:first-child {
    max-width: 100% !important;
  }

  body .topbar nav,
  body header.topbar nav,
  body .site-header nav,
  body header.site-header nav,
  body .main-nav,
  body nav.main-nav {
    width: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    gap: 18px !important;
    padding: 2px 0 4px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body .topbar nav::-webkit-scrollbar,
  body header.topbar nav::-webkit-scrollbar,
  body .site-header nav::-webkit-scrollbar,
  body header.site-header nav::-webkit-scrollbar,
  body .main-nav::-webkit-scrollbar,
  body nav.main-nav::-webkit-scrollbar {
    display: none !important;
  }

  body .topbar nav a,
  body header.topbar nav a,
  body .site-header nav a,
  body header.site-header nav a,
  body .main-nav a,
  body nav.main-nav a {
    flex: 0 0 auto !important;
    font-size: 15px !important;
  }
}

@media (max-width: 560px) {
  :root {
    --sh-nav-logo-height: 42px;
  }

  body .topbar,
  body header.topbar,
  body .site-header,
  body header.site-header {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body .topbar .brand img,
  body header.topbar .brand img,
  body .site-header .brand img,
  body header.site-header .brand img,
  body .topbar > a:first-child img,
  body header.topbar > a:first-child img,
  body img[src*="logo"],
  body img[src*="signhunters-logo"] {
    max-width: 240px !important;
  }
}

/* === end Sign Hunters Global Navigation FINAL === */

/* === Routes Navigation Safe Override FINAL === */
/* Narrow fix for route pages using legacy .topbar markup. */

body:has(.routes-index) header.topbar,
body:has(.route-page) header.topbar {
  min-height: 86px !important;
  height: auto !important;
  padding: 18px 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  background: rgba(255, 251, 241, .96) !important;
  border-bottom: 1px solid rgba(20, 20, 20, .08) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body:has(.routes-index) header.topbar .brand,
body:has(.route-page) header.topbar .brand {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  max-width: 260px !important;
  width: auto !important;
}

body:has(.routes-index) header.topbar .brand-logo,
body:has(.route-page) header.topbar .brand-logo {
  width: auto !important;
  height: 54px !important;
  max-height: 54px !important;
  max-width: 240px !important;
  object-fit: contain !important;
  display: block !important;
}

body:has(.routes-index) header.topbar .nav,
body:has(.route-page) header.topbar .nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 18px 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}

body:has(.routes-index) header.topbar .nav a,
body:has(.route-page) header.topbar .nav a {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  color: #12100d !important;
  text-decoration: none !important;
  letter-spacing: -0.02em !important;
  white-space: nowrap !important;
}

body:has(.routes-index) header.topbar .nav a:hover,
body:has(.route-page) header.topbar .nav a:hover {
  color: #f20a2e !important;
}

@media (max-width: 900px) {
  body:has(.routes-index) header.topbar,
  body:has(.route-page) header.topbar {
    min-height: auto !important;
    padding: 14px 18px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  body:has(.routes-index) header.topbar .brand-logo,
  body:has(.route-page) header.topbar .brand-logo {
    height: 42px !important;
    max-height: 42px !important;
  }

  body:has(.routes-index) header.topbar .nav,
  body:has(.route-page) header.topbar .nav {
    justify-content: flex-start !important;
    gap: 12px 16px !important;
  }

  body:has(.routes-index) header.topbar .nav a,
  body:has(.route-page) header.topbar .nav a {
    font-size: 13px !important;
  }
}
/* === end Routes Navigation Safe Override FINAL === */

/* === Route Unified Header Keep Footer FINAL === */
/* Route pages: force the unified header to behave like the homepage header without touching footer/content. */

body .site-header.unified-site-header {
  width: 100% !important;
  min-height: 92px !important;
  padding: 0 !important;
  background: rgba(255, 251, 241, .96) !important;
  border-bottom: 1px solid rgba(20, 20, 20, .08) !important;
  box-shadow: none !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 20 !important;
}

body .site-header.unified-site-header .site-header-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 18px 28px !important;
  min-height: 92px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
}

body .site-header.unified-site-header .site-brand {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 260px !important;
  text-decoration: none !important;
}

body .site-header.unified-site-header .brand-logo {
  display: block !important;
  width: auto !important;
  height: 56px !important;
  max-height: 56px !important;
  max-width: 240px !important;
  object-fit: contain !important;
}

body .site-header.unified-site-header .site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .site-header.unified-site-header .site-nav a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #12100d !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

body .site-header.unified-site-header .site-nav a:hover {
  color: #f20a2e !important;
}

body .site-header.unified-site-header .nav-roadmap-badge {
  display: grid !important;
  gap: 1px !important;
  flex: 0 0 auto !important;
  padding: 9px 13px !important;
  border: 1px solid rgba(20, 20, 20, .1) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .62) !important;
  text-decoration: none !important;
  color: #12100d !important;
}

body .site-header.unified-site-header .nav-roadmap-badge strong {
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

body .site-header.unified-site-header .nav-roadmap-badge span,
body .site-header.unified-site-header .nav-roadmap-badge em {
  font-size: 10px !important;
  font-style: normal !important;
  line-height: 1.1 !important;
  color: rgba(20, 20, 20, .62) !important;
}

@media (max-width: 920px) {
  body .site-header.unified-site-header .site-header-inner {
    min-height: auto !important;
    padding: 14px 18px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  body .site-header.unified-site-header .brand-logo {
    height: 44px !important;
    max-height: 44px !important;
  }

  body .site-header.unified-site-header .site-nav {
    justify-content: flex-start !important;
    gap: 12px 16px !important;
  }

  body .site-header.unified-site-header .site-nav a {
    font-size: 13px !important;
  }

  body .site-header.unified-site-header .nav-roadmap-badge {
    display: none !important;
  }
}
/* === end Route Unified Header Keep Footer FINAL === */


/* === Places Unified Header FINAL === */
/* Keeps generated Places pages on the same navigation system as Routes/Home. */

body:has(main.place-detail) .site-header.unified-site-header,
body:has(main.places-index) .site-header.unified-site-header,
body:has(.place-detail) .site-header.unified-site-header,
body:has(.places-index) .site-header.unified-site-header {
  background: rgba(255, 251, 241, .96) !important;
  border-bottom: 1px solid rgba(20, 20, 20, .08) !important;
}

body:has(main.place-detail) .site-header.unified-site-header .brand-logo,
body:has(main.places-index) .site-header.unified-site-header .brand-logo,
body:has(.place-detail) .site-header.unified-site-header .brand-logo,
body:has(.places-index) .site-header.unified-site-header .brand-logo {
  width: auto !important;
  height: 56px !important;
  max-height: 56px !important;
  max-width: 260px !important;
  object-fit: contain !important;
}

body:has(main.place-detail) .site-header.unified-site-header .site-nav,
body:has(main.places-index) .site-header.unified-site-header .site-nav,
body:has(.place-detail) .site-header.unified-site-header .site-nav,
body:has(.places-index) .site-header.unified-site-header .site-nav {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
}

@media (max-width: 900px) {
  body:has(main.place-detail) .site-header.unified-site-header .brand-logo,
  body:has(main.places-index) .site-header.unified-site-header .brand-logo,
  body:has(.place-detail) .site-header.unified-site-header .brand-logo,
  body:has(.places-index) .site-header.unified-site-header .brand-logo {
    height: 44px !important;
    max-height: 44px !important;
  }
}
/* === end Places Unified Header FINAL === */


/* === Unified Navigation Polish FINAL === */

.site-header.unified-site-header {
  background: rgba(255, 251, 241, .96) !important;
  border-bottom: 1px solid rgba(20, 20, 20, .08) !important;
  box-shadow: none !important;
}

.site-header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
}

.site-nav {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

.site-nav a {
  font-weight: 900 !important;
  color: #15120f !important;
  text-decoration: none !important;
  letter-spacing: -0.02em !important;
}

.site-nav a:hover {
  color: #f20a2e !important;
}

.nav-roadmap-badge {
  display: inline-grid !important;
  gap: 2px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: #15120f !important;
  color: #fff8ea !important;
  text-decoration: none !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
  min-width: 170px !important;
  text-align: left !important;
}

.nav-roadmap-badge strong {
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  color: #fff !important;
}

.nav-roadmap-badge span {
  font-size: 11px !important;
  line-height: 1.15 !important;
  color: rgba(255,248,234,.78) !important;
}

.nav-roadmap-badge em {
  display: inline-flex !important;
  width: max-content !important;
  margin-top: 3px !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
  background: #f20a2e !important;
  color: #fff !important;
  font-style: normal !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

@media (max-width: 900px) {
  .site-header-inner {
    align-items: flex-start !important;
  }

  .nav-roadmap-badge {
    min-width: 0 !important;
    width: 100% !important;
  }
}
/* === end Unified Navigation Polish FINAL === */


/* === Homepage Navigation Cleanup FINAL === */
body.home-page .site-header.unified-site-header .site-nav a[href="/"] {
  display: none !important;
}
/* === end Homepage Navigation Cleanup FINAL === */

/* === Sign Hunters Navigation Clean Final === */

.site-header.unified-site-header {
  position: relative !important;
  z-index: 50 !important;
  background: #fffaf0 !important;
  border-bottom: 1px solid rgba(18, 16, 13, .08) !important;
  box-shadow: none !important;
}

.site-header.unified-site-header .site-header-inner {
  width: min(100%, 1240px) !important;
  margin: 0 auto !important;
  padding: 22px 28px !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 48px !important;
}

.site-brand-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
}

.site-brand-row .brand-logo {
  display: block !important;
  width: auto !important;
  height: 58px !important;
  max-height: 58px !important;
  max-width: 340px !important;
  object-fit: contain !important;
}

.site-beta-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 13px !important;
  border: 2px solid rgba(242, 10, 46, .35) !important;
  border-radius: 999px !important;
  color: #f20a2e !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
}

.site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-nav a {
  color: #15110d !important;
  text-decoration: none !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
}

.site-nav a:hover {
  color: #f20a2e !important;
}

.site-rollout {
  display: grid !important;
  gap: 3px !important;
  justify-items: end !important;
  align-items: center !important;
  padding-left: 22px !important;
  border-left: 2px solid rgba(242, 10, 46, .24) !important;
  white-space: nowrap !important;
}

.site-rollout strong {
  color: #f20a2e !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: .03em !important;
  line-height: 1 !important;
}

.site-rollout span {
  color: rgba(21, 17, 13, .62) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
}

.nav-roadmap-badge,
.site-brand::after,
.brand::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 980px) {
  .site-header.unified-site-header .site-header-inner {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
    gap: 18px !important;
    padding: 18px 20px !important;
  }

  .site-nav {
    justify-content: flex-start !important;
    gap: 22px !important;
    flex-wrap: wrap !important;
  }

  .site-rollout {
    justify-items: start !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(242, 10, 46, .18) !important;
    padding-top: 12px !important;
  }

  .site-brand-row .brand-logo {
    height: 48px !important;
    max-height: 48px !important;
  }
}

@media (max-width: 560px) {
  .site-brand-row {
    gap: 10px !important;
  }

  .site-brand-row .brand-logo {
    height: 42px !important;
    max-height: 42px !important;
    max-width: 230px !important;
  }

  .site-beta-pill {
    padding: 6px 10px !important;
    font-size: 10px !important;
  }

  .site-nav {
    gap: 16px !important;
  }

  .site-nav a {
    font-size: 13px !important;
  }
}

/* === end Sign Hunters Navigation Clean Final === */


/* === Sign Hunters Navigation Rebuild FINAL === */

body .site-header.unified-site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  background: rgba(247, 242, 230, .96) !important;
  border-bottom: 2px solid #d71920 !important;
  box-shadow: 0 10px 30px rgba(32, 22, 10, .07) !important;
}

body .site-header.unified-site-header .site-header-inner {
  max-width: 1480px !important;
  margin: 0 auto !important;
  min-height: 104px !important;
  padding: 18px 48px !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 44px !important;
}

body .site-brand-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 360px !important;
}

body .site-header.unified-site-header .site-brand,
body .site-header.unified-site-header .brand {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

body .site-header.unified-site-header .brand-logo {
  width: auto !important;
  height: 68px !important;
  max-height: 68px !important;
  max-width: 315px !important;
  object-fit: contain !important;
}

body .site-beta-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 30px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 2px solid rgba(215, 25, 32, .30) !important;
  background: rgba(215, 25, 32, .06) !important;
  color: #d71920 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
}

body .site-header.unified-site-header .site-nav,
body .site-header.unified-site-header nav.nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(24px, 3vw, 46px) !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: wrap !important;
}

body .site-header.unified-site-header .site-nav a,
body .site-header.unified-site-header nav.nav a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 12px 0 !important;
  color: #120f0b !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body .site-header.unified-site-header .site-nav a::after,
body .site-header.unified-site-header nav.nav a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 4px !important;
  height: 3px !important;
  border-radius: 99px !important;
  background: #d71920 !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform .18s ease !important;
}

body .site-header.unified-site-header .site-nav a:hover,
body .site-header.unified-site-header nav.nav a:hover {
  color: #d71920 !important;
}

body .site-header.unified-site-header .site-nav a:hover::after,
body .site-header.unified-site-header nav.nav a:hover::after {
  transform: scaleX(1) !important;
}

body .site-rollout {
  position: relative !important;
  display: grid !important;
  gap: 3px !important;
  justify-items: start !important;
  min-width: 205px !important;
  padding-left: 26px !important;
  border-left: 3px solid rgba(215, 25, 32, .28) !important;
}

body .site-rollout::before {
  content: "" !important;
  position: absolute !important;
  left: -3px !important;
  top: 9px !important;
  width: 3px !important;
  height: 30px !important;
  border-radius: 99px !important;
  background: #d71920 !important;
}

body .site-rollout strong {
  display: block !important;
  color: #d71920 !important;
  font-size: 16px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

body .site-rollout span {
  display: block !important;
  color: rgba(18, 15, 11, .62) !important;
  font-size: 14px !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 1120px) {
  body .site-header.unified-site-header .site-header-inner {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 14px !important;
    min-height: auto !important;
    padding: 16px 22px !important;
  }

  body .site-brand-row {
    min-width: 0 !important;
  }

  body .site-rollout {
    min-width: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    justify-items: center !important;
  }

  body .site-rollout::before {
    display: none !important;
  }
}

@media (max-width: 680px) {
  body .site-header.unified-site-header .brand-logo {
    height: 50px !important;
    max-height: 50px !important;
  }

  body .site-beta-pill {
    height: 25px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
  }

  body .site-header.unified-site-header .site-nav,
  body .site-header.unified-site-header nav.nav {
    gap: 16px !important;
  }

  body .site-header.unified-site-header .site-nav a,
  body .site-header.unified-site-header nav.nav a {
    font-size: 13px !important;
    letter-spacing: .045em !important;
  }

  body .site-rollout strong {
    font-size: 13px !important;
  }

  body .site-rollout span {
    font-size: 12px !important;
  }
}

/* === end Sign Hunters Navigation Rebuild FINAL === */


/* === About Page FINAL === */

.about-page-final {
  background: #f7f2e6;
  color: #17110c;
}

.about-hero-final {
  max-width: 1480px;
  margin: 0 auto;
  padding: clamp(54px, 7vw, 110px) 48px 56px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(42px, 6vw, 86px);
  align-items: center;
}

.about-kicker-final {
  margin: 0 0 18px;
  color: #d71920;
  font-size: clamp(22px, 3vw, 42px);
  font-weight: 950;
  letter-spacing: .18em;
}

.about-copy-final h1 {
  margin: 0 0 22px;
  max-width: 720px;
  color: #17110c;
  font-size: clamp(44px, 7vw, 96px);
  line-height: .9;
  letter-spacing: -.06em;
}

.about-lead-final {
  max-width: 620px;
  margin: 0 0 22px;
  color: rgba(23, 17, 12, .84);
  font-size: clamp(19px, 2vw, 26px);
  line-height: 1.42;
  font-weight: 650;
}

.about-copy-final p:not(.about-kicker-final):not(.about-lead-final) {
  max-width: 610px;
  color: rgba(23, 17, 12, .72);
  font-size: 17px;
  line-height: 1.7;
}

.about-actions-final {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.about-primary-final,
.about-secondary-final {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 24px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
}

.about-primary-final {
  background: #d71920;
  color: #fff;
  box-shadow: 0 16px 34px rgba(215, 25, 32, .18);
}

.about-secondary-final {
  background: transparent;
  color: #17110c;
  border: 1.5px solid rgba(23, 17, 12, .24);
}

.about-gallery-final {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.about-gallery-final img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
  border-radius: 24px;
  box-shadow: 0 20px 48px rgba(23, 17, 12, .11);
}

.about-gallery-final .about-img-wide-final {
  grid-column: 1 / -1;
  height: 280px;
}

.about-values-final {
  max-width: 1480px;
  margin: 0 auto;
  padding: 18px 48px 76px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.about-values-final article {
  padding: 28px;
  border-radius: 28px;
  background: rgba(255, 255, 255, .55);
  border: 1px solid rgba(23, 17, 12, .08);
}

.about-values-final span {
  display: inline-flex;
  margin-bottom: 18px;
  color: #d71920;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .18em;
}

.about-values-final h2 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.04em;
}

.about-values-final p {
  margin: 0;
  color: rgba(23, 17, 12, .68);
  line-height: 1.6;
}

.about-red-band-final {
  padding: clamp(42px, 6vw, 80px) 28px;
  background: #c90012;
  color: #fff;
  text-align: center;
}

.about-red-band-final p {
  max-width: 980px;
  margin: 0 auto;
  font-family: Georgia, serif;
  font-size: clamp(32px, 5vw, 70px);
  line-height: .95;
  letter-spacing: -.04em;
}

@media (max-width: 960px) {
  .about-hero-final {
    grid-template-columns: 1fr;
    padding: 48px 22px 36px;
  }

  .about-values-final {
    grid-template-columns: 1fr;
    padding: 12px 22px 54px;
  }

  .about-gallery-final img,
  .about-gallery-final .about-img-wide-final {
    height: 220px;
  }
}

/* === end About Page FINAL === */

/* Sign Hunters final editorial navigation polish — START */
:root {
  --sh-red: #b11218;
  --sh-red-dark: #7f0d12;
  --sh-paper: #fbf7ee;
  --sh-ink: #111111;
  --sh-muted: rgba(17, 17, 17, .58);
  --sh-line: rgba(17, 17, 17, .10);
}

body .site-header.unified-site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  min-height: 78px !important;
  padding: 0 !important;
  background: rgba(251, 247, 238, .96) !important;
  border-top: 4px solid var(--sh-red) !important;
  border-bottom: 1px solid var(--sh-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px) !important;
}

body .site-header.unified-site-header .site-header-inner {
  width: min(1240px, calc(100% - 44px)) !important;
  min-height: 74px !important;
  margin: 0 auto !important;
  padding: 10px 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(320px, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(18px, 3vw, 42px) !important;
}

body .site-header.unified-site-header .site-brand-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body .site-header.unified-site-header .site-brand {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .site-header.unified-site-header .brand-logo,
body .site-header.unified-site-header .site-brand .brand-logo {
  width: auto !important;
  height: 52px !important;
  max-height: 52px !important;
  object-fit: contain !important;
  display: block !important;
}

body .site-header.unified-site-header .site-beta-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 21px !important;
  padding: 0 8px !important;
  border: 1px solid var(--sh-red) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--sh-red-dark) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  font-family: Outfit, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  transform: translateY(-1px) !important;
}

body .site-header.unified-site-header .site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(16px, 2.2vw, 30px) !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: nowrap !important;
  scrollbar-width: none !important;
}

body .site-header.unified-site-header .site-nav::-webkit-scrollbar {
  display: none !important;
}

body .site-header.unified-site-header .site-nav a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 2px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(17, 17, 17, .76) !important;
  box-shadow: none !important;
  font-family: Outfit, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  transition: color .18s ease, transform .18s ease !important;
}

body .site-header.unified-site-header .site-nav a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 3px !important;
  height: 2px !important;
  background: var(--sh-red) !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform .18s ease !important;
}

body .site-header.unified-site-header .site-nav a:hover,
body .site-header.unified-site-header .site-nav a:focus-visible {
  color: var(--sh-ink) !important;
  transform: translateY(-1px) !important;
}

body .site-header.unified-site-header .site-nav a:hover::after,
body .site-header.unified-site-header .site-nav a:focus-visible::after,
body .site-header.unified-site-header .site-nav a[aria-current="page"]::after {
  transform: scaleX(1) !important;
}

body .site-header.unified-site-header .site-rollout {
  display: grid !important;
  grid-template-columns: auto !important;
  gap: 3px !important;
  justify-items: start !important;
  min-width: 170px !important;
  padding: 0 0 0 16px !important;
  border-left: 3px solid var(--sh-red) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--sh-ink) !important;
  font-family: Outfit, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  line-height: 1.05 !important;
}

body .site-header.unified-site-header .site-rollout strong {
  display: block !important;
  color: var(--sh-red-dark) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body .site-header.unified-site-header .site-rollout span {
  display: block !important;
  color: var(--sh-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body .about-page-final,
body main.about-page-final {
  background: var(--sh-paper) !important;
}

body .about-hero-final {
  position: relative !important;
  padding-top: clamp(54px, 7vw, 96px) !important;
}

body .about-kicker-final {
  color: var(--sh-red-dark) !important;
  font-family: Outfit, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

body .about-hero-final h1 {
  max-width: 900px !important;
  color: var(--sh-ink) !important;
  font-size: clamp(46px, 7vw, 92px) !important;
  line-height: .92 !important;
  letter-spacing: -.06em !important;
}

body .about-hero-final .lead,
body .about-page-final .lead {
  max-width: 760px !important;
  color: rgba(17, 17, 17, .68) !important;
  font-size: clamp(18px, 2vw, 23px) !important;
  line-height: 1.45 !important;
}

@media (max-width: 980px) {
  body .site-header.unified-site-header .site-header-inner {
    width: min(100% - 28px, 760px) !important;
    min-height: auto !important;
    padding: 12px 0 13px !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
      "brand rollout"
      "nav nav" !important;
    gap: 10px 16px !important;
  }

  body .site-header.unified-site-header .site-brand-row {
    grid-area: brand !important;
  }

  body .site-header.unified-site-header .site-rollout {
    grid-area: rollout !important;
    min-width: 0 !important;
    padding-left: 11px !important;
  }

  body .site-header.unified-site-header .site-nav {
    grid-area: nav !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 0 2px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body .site-header.unified-site-header .brand-logo,
  body .site-header.unified-site-header .site-brand .brand-logo {
    height: 45px !important;
    max-height: 45px !important;
  }

  body .site-header.unified-site-header .site-nav a {
    flex: 0 0 auto !important;
    font-size: 11px !important;
    letter-spacing: .15em !important;
  }
}

@media (max-width: 560px) {
  body .site-header.unified-site-header {
    border-top-width: 3px !important;
  }

  body .site-header.unified-site-header .site-header-inner {
    width: min(100% - 22px, 520px) !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "rollout"
      "nav" !important;
  }

  body .site-header.unified-site-header .site-rollout {
    justify-self: start !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-left-width: 2px !important;
  }

  body .site-header.unified-site-header .site-rollout strong,
  body .site-header.unified-site-header .site-rollout span {
    font-size: 10px !important;
    letter-spacing: .10em !important;
  }

  body .site-header.unified-site-header .brand-logo,
  body .site-header.unified-site-header .site-brand .brand-logo {
    height: 40px !important;
    max-height: 40px !important;
  }

  body .site-header.unified-site-header .site-beta-pill {
    height: 19px !important;
    font-size: 9px !important;
  }
}
/* Sign Hunters final editorial navigation polish — END */




/* === Field Guide Report FINAL ============================================
   Isolated component. Single class family: .fg-report-final__*
   City Mode identity: warm cream background, deep black typography,
   controlled Sign Hunters red accent. No legacy .fg-* dependency.
   ======================================================================== */

.fg-report-final {
  --fgf-bg:        #faf8f4;
  --fgf-paper:     #f0ede7;
  --fgf-ink:       #111111;
  --fgf-muted:     #7a7165;
  --fgf-red:       #d42f17;
  --fgf-red-soft:  rgba(212, 47, 23, 0.07);
  --fgf-line:      #e0dbd3;
  --fgf-card:      #ffffff;
  --fgf-hero-bg:   #1a1714;
  --fgf-hero-ink:  #faf8f4;
  --fgf-shadow:    0 1px 3px rgba(0, 0, 0, 0.05), 0 2px 8px rgba(0, 0, 0, 0.04);

  position: fixed;
  inset: 0;
  z-index: 900;
  background: var(--fgf-bg);
  overflow-y: auto;
  overscroll-behavior: contain;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  color: var(--fgf-ink);
  -webkit-font-smoothing: antialiased;
}

.fg-report-final *,
.fg-report-final *::before,
.fg-report-final *::after { box-sizing: border-box; }

.fg-report-final a { color: var(--fgf-red); text-decoration: none; }
.fg-report-final a:hover { text-decoration: underline; }
.fg-report-final strong { font-weight: 800; }

/* ── Topbar ───────────────────────────────────────────────────────────────── */
.fg-report-final__topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--fgf-bg);
  border-bottom: 1px solid var(--fgf-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 40px;
}
.fg-report-final__brand { display: grid; gap: 2px; }
.fg-report-final__kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fgf-muted);
}
.fg-report-final__brandtitle {
  font-size: 17px;
  font-weight: 900;
  color: var(--fgf-ink);
  letter-spacing: -0.02em;
}
.fg-report-final__close {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--fgf-line);
  background: var(--fgf-card);
  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fgf-ink);
  transition: background 0.15s, transform 0.1s;
  flex-shrink: 0;
}
.fg-report-final__close:hover { background: var(--fgf-paper); transform: scale(1.05); }

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.fg-report-final__hero {
  background: var(--fgf-hero-bg);
  color: var(--fgf-hero-ink);
  padding: 48px 40px 40px;
}
.fg-report-final__eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(250, 248, 244, 0.5);
  margin: 0 0 12px;
}
.fg-report-final__title {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.95;
  margin: 0 0 16px;
  color: var(--fgf-hero-ink);
}
.fg-report-final__lede {
  font-size: 16px;
  font-weight: 600;
  color: rgba(250, 248, 244, 0.7);
  margin: 0 0 12px;
}
.fg-report-final__note {
  font-size: 14px;
  color: rgba(250, 248, 244, 0.45);
  margin: 0;
  max-width: 600px;
}

/* ── Stats bar ────────────────────────────────────────────────────────────── */
.fg-report-final__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--fgf-line);
  border-bottom: 1px solid var(--fgf-line);
}
.fg-report-final__stat {
  background: var(--fgf-bg);
  padding: 20px 24px;
  display: grid;
  gap: 3px;
}
.fg-report-final__stat span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fgf-muted);
}
.fg-report-final__stat strong {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--fgf-ink);
}
.fg-report-final__stat small { font-size: 12px; font-weight: 600; color: var(--fgf-muted); }

/* ── Generic section ──────────────────────────────────────────────────────── */
.fg-report-final__section {
  padding: 32px 40px;
  border-bottom: 1px solid var(--fgf-line);
}
.fg-report-final__shead { margin-bottom: 20px; display: grid; gap: 6px; }
.fg-report-final__shead span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fgf-red);
}
.fg-report-final__shead h3 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin: 0;
  color: var(--fgf-ink);
}
.fg-report-final__shead p { margin: 0; font-size: 14px; color: var(--fgf-muted); max-width: 680px; }

/* ── Guide logic strip ────────────────────────────────────────────────────── */
.fg-report-final__section--logic { background: var(--fgf-paper); padding: 16px 40px; }
.fg-report-final__logic-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fgf-red);
  margin: 0 0 6px;
}
.fg-report-final__logic-text {
  font-size: 14px;
  color: var(--fgf-muted);
  margin: 0;
  max-width: 720px;
  line-height: 1.6;
}

/* ── Planning actions ─────────────────────────────────────────────────────── */
.fg-report-final__actions {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 12px;
}
.fg-report-final__action {
  display: grid;
  gap: 3px;
  padding: 18px;
  background: var(--fgf-card);
  border: 1px solid var(--fgf-line);
  border-radius: 16px;
  text-decoration: none;
  transition: transform 0.15s, border-color 0.15s;
  cursor: pointer;
  color: var(--fgf-ink);
}
.fg-report-final__action:hover { transform: translateY(-2px); border-color: var(--fgf-red); text-decoration: none; }
.fg-report-final__action span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fgf-muted);
}
.fg-report-final__action strong { font-size: 15px; font-weight: 900; color: var(--fgf-ink); }
.fg-report-final__action small { font-size: 12px; color: var(--fgf-muted); font-weight: 600; }
.fg-report-final__action--sponsored { border-color: rgba(212, 47, 23, 0.2); }

/* ── Grid layouts ─────────────────────────────────────────────────────────── */
.fg-report-final__grid { display: grid; gap: 12px; }
.fg-report-final__grid--access { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.fg-report-final__grid--food   { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.fg-report-final__grid--photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

/* ── Generic card ─────────────────────────────────────────────────────────── */
.fg-report-final__card {
  background: var(--fgf-card);
  border: 1px solid var(--fgf-line);
  border-radius: 14px;
  padding: 18px;
  box-shadow: var(--fgf-shadow);
}

/* ── Access transport cards ───────────────────────────────────────────────── */
.fg-report-final__card--access { display: grid; gap: 4px; }
.fg-report-final__access-mode { font-size: 16px; font-weight: 900; }
.fg-report-final__access-time { font-size: 13px; font-weight: 700; color: var(--fgf-red); }
.fg-report-final__access-note { font-size: 14px; color: var(--fgf-muted); margin: 6px 0 0; line-height: 1.5; }
.fg-report-final__access-links { margin-top: 16px; }
.fg-report-final__access-links a { font-size: 14px; font-weight: 800; }

/* ── Food stop cards ──────────────────────────────────────────────────────── */
.fg-report-final__card--food {
  display: grid;
  gap: 4px;
  text-decoration: none;
  transition: transform 0.15s, border-color 0.15s;
}
.fg-report-final__card--food:hover { transform: translateY(-2px); border-color: var(--fgf-red); text-decoration: none; }
.fg-report-final__card--food span { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fgf-muted); }
.fg-report-final__card--food strong { font-size: 15px; font-weight: 900; color: var(--fgf-ink); }
.fg-report-final__card--food small { font-size: 12px; color: var(--fgf-muted); font-weight: 600; }

/* ── Sponsored food slot — only rendered when active, no placeholder ──────── */
.fg-report-final__sponsored-slot {
  margin-top: 16px;
  padding: 18px;
  background: var(--fgf-red-soft);
  border: 1px solid rgba(212, 47, 23, 0.14);
  border-radius: 14px;
  display: grid;
  gap: 4px;
}
.fg-report-final__sponsor-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fgf-red);
}

/* ── Weather ──────────────────────────────────────────────────────────────── */
.fg-report-final__section--weather { background: var(--fgf-paper); }
.fg-report-final__weather-note { font-size: 15px; color: var(--fgf-muted); margin: 0; }
.fg-report-final__weather-shell ul { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 0; }
.fg-report-final__weather-shell li {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 16px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid var(--fgf-line);
}
.fg-report-final__weather-shell li:last-child { border-bottom: none; }
.fg-report-final__weather-shell li strong { font-size: 14px; font-weight: 800; }
.fg-report-final__weather-shell li span { font-size: 14px; color: var(--fgf-muted); }

/* ── Photo cue cards ──────────────────────────────────────────────────────── */
.fg-report-final__photo {
  background: var(--fgf-card);
  border: 1px solid var(--fgf-line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--fgf-shadow);
}
.fg-report-final__photo-img { height: 180px; overflow: hidden; background: var(--fgf-paper); }
.fg-report-final__photo-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fg-report-final__photo-fallback {
  height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--fgf-paper);
  color: var(--fgf-muted);
}
.fg-report-final__photo-fallback svg { width: 36px; height: 36px; }
.fg-report-final__photo-fallback span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.fg-report-final__photo.is-no-image .fg-report-final__photo-img { display: none; }
.fg-report-final__photo-body { padding: 16px 18px; display: grid; gap: 6px; }
.fg-report-final__photo-body small {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fgf-red);
}
.fg-report-final__photo-body strong { font-size: 17px; font-weight: 900; line-height: 1.2; }
.fg-report-final__photo-body p { margin: 0; color: var(--fgf-muted); font-size: 14px; line-height: 1.55; }
.fg-report-final__photo-body a { font-weight: 800; font-size: 13px; align-self: start; }

/* ── Reading thread ───────────────────────────────────────────────────────── */
.fg-report-final__section--thread { background: var(--fgf-paper); }
.fg-report-final__thread-text { font-size: 16px; line-height: 1.65; color: var(--fgf-ink); margin: 0; max-width: 720px; }

/* ── Stop list ────────────────────────────────────────────────────────────── */
.fg-report-final__stoplist { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.fg-report-final__stop {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 16px;
  padding: 20px;
  background: var(--fgf-card);
  border: 1px solid var(--fgf-line);
  border-radius: 16px;
  align-items: start;
  box-shadow: var(--fgf-shadow);
}
.fg-report-final__stop-no {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--fgf-red);
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fg-report-final__stop-body { display: grid; gap: 6px; }
.fg-report-final__stop-body small {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fgf-muted);
}
.fg-report-final__stop-body h4 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--fgf-ink);
  line-height: 1.1;
}
.fg-report-final__stop-body h4 a { color: var(--fgf-ink); }
.fg-report-final__stop-body h4 a:hover { color: var(--fgf-red); text-decoration: none; }
.fg-report-final__stop-body p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--fgf-ink); }
.fg-report-final__stop-link { font-size: 13px; font-weight: 800; align-self: start; margin-top: 4px; }

.fg-report-final__empty {
  padding: 24px;
  background: var(--fgf-paper);
  border-radius: 14px;
  border: 1px solid var(--fgf-line);
}
.fg-report-final__empty strong { display: block; font-weight: 900; margin-bottom: 4px; }
.fg-report-final__empty p { margin: 0; color: var(--fgf-muted); }

/* ── Pause ────────────────────────────────────────────────────────────────── */
.fg-report-final__section--pause { background: var(--fgf-paper); }
.fg-report-final__pause-text { font-size: 16px; line-height: 1.65; margin: 0; max-width: 720px; }

/* ── Question ─────────────────────────────────────────────────────────────── */
.fg-report-final__section--question {
  background: var(--fgf-paper);
  border-left: 3px solid var(--fgf-red);
}
.fg-report-final__question-text { font-size: 18px; font-weight: 600; line-height: 1.5; margin: 0; max-width: 640px; }

/* ── Next actions ─────────────────────────────────────────────────────────── */
.fg-report-final__next-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fg-report-final__next-item {
  padding: 20px;
  background: var(--fgf-card);
  border: 1px solid var(--fgf-line);
  border-radius: 14px;
  display: grid;
  gap: 6px;
}
.fg-report-final__next-item strong { font-size: 16px; font-weight: 900; }
.fg-report-final__next-item p { margin: 0; font-size: 14px; color: var(--fgf-muted); line-height: 1.55; }

/* ── Utility row ──────────────────────────────────────────────────────────── */
.fg-report-final__utilrow {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding: 24px 40px;
  border-top: 1px solid var(--fgf-line);
  border-bottom: 1px solid var(--fgf-line);
  background: var(--fgf-bg);
}
.fg-report-final__util {
  display: grid;
  gap: 2px;
  padding: 14px 18px;
  background: var(--fgf-card);
  border: 1px solid var(--fgf-line);
  border-radius: 12px;
  cursor: pointer;
  text-decoration: none;
  color: var(--fgf-ink);
  font-family: inherit;
  transition: transform 0.12s, border-color 0.12s;
}
.fg-report-final__util:hover { transform: translateY(-2px); border-color: var(--fgf-red); text-decoration: none; }
.fg-report-final__util span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fgf-muted);
}
.fg-report-final__util strong { font-size: 14px; font-weight: 900; }

/* ── Footer ───────────────────────────────────────────────────────────────── */
.fg-report-final__footer { padding: 24px 40px; background: var(--fgf-paper); }
.fg-report-final__footer small { color: var(--fgf-muted); font-size: 12px; }
.fg-report-final__footer em { font-style: normal; color: var(--fgf-red); font-weight: 800; }
.fg-report-final__footer a { color: var(--fgf-red); font-weight: 800; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .fg-report-final__topbar,
  .fg-report-final__hero,
  .fg-report-final__section,
  .fg-report-final__section--logic,
  .fg-report-final__utilrow,
  .fg-report-final__footer { padding-left: 20px; padding-right: 20px; }

  .fg-report-final__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fg-report-final__grid--access,
  .fg-report-final__grid--food   { grid-template-columns: 1fr; }
  .fg-report-final__grid--photos { grid-template-columns: 1fr; }
  .fg-report-final__actions      { grid-template-columns: 1fr; }
  .fg-report-final__next-grid    { grid-template-columns: 1fr; }
  .fg-report-final__stop         { grid-template-columns: 32px 1fr; gap: 12px; padding: 16px; }
  .fg-report-final__stop-no      { width: 32px; height: 32px; font-size: 14px; }
  .fg-report-final__hero         { padding: 32px 20px 28px; }
  .fg-report-final__utilrow      { padding: 16px 20px; gap: 8px; }
  .fg-report-final__weather-shell li { grid-template-columns: 1fr; gap: 4px; }
}

/* ── Print / Save as PDF ──────────────────────────────────────────────────── */
@media print {
  body > *:not(#fieldGuideReport) { display: none !important; }
  #fieldGuideReport { position: static !important; overflow: visible !important; }

  .fg-report-final__topbar,
  .fg-report-final__close,
  .fg-report-final__utilrow,
  .fg-report-final__noprint,
  .fg-report-final__section--actions { display: none !important; }

  .fg-report-final {
    position: static !important;
    overflow: visible !important;
    background: #fff !important;
    font-size: 12px;
  }
  .fg-report-final__hero    { padding: 16px !important; }
  .fg-report-final__section { padding: 12px 16px !important; border-top: 1px solid #ccc !important; }
  .fg-report-final__title   { font-size: 28px !important; }
  .fg-report-final__stats   { grid-template-columns: repeat(4, 1fr) !important; }
  .fg-report-final__grid--photos { grid-template-columns: repeat(2, 1fr) !important; }
  .fg-report-final__stop,
  .fg-report-final__card,
  .fg-report-final__action  { break-inside: avoid; }
  .fg-report-final__photo-img img { max-height: 100px !important; }
}

/* ── Legacy isolation guard ───────────────────────────────────────────────── */
/* Belt-and-suspenders: hides any old .fg-* markup that might drift in */
.fg-report-final .fg-guide-card,
.fg-report-final .fg-stop,
.fg-report-final .fg-photo-cues,
.fg-report-final .fg-food-card,
.fg-report-final .fg-thread,
.fg-report-final .fg-pause,
.fg-report-final .fg-next-actions { display: none !important; }

/* Field Guide Report real modal window override — START */
#fieldGuideReport {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(16px, 3vw, 36px) !important;
  background: rgba(17, 17, 17, .62) !important;
  overflow: auto !important;
}

#fieldGuideReport:empty {
  display: none !important;
}

#fieldGuideReport .fg-report-final {
  position: relative !important;
  inset: auto !important;
  width: min(1180px, 96vw) !important;
  max-height: min(92vh, 980px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  border-radius: 28px !important;
  background: var(--fgf-bg, #faf8f4) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .40) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#fieldGuideReport .fg-report-final__topbar {
  border-radius: 28px 28px 0 0 !important;
}

body.field-guide-report-open {
  overflow: hidden !important;
}

@media (max-width: 760px) {
  #fieldGuideReport {
    padding: 10px !important;
    place-items: stretch !important;
  }

  #fieldGuideReport .fg-report-final {
    width: 100% !important;
    max-height: calc(100vh - 20px) !important;
    border-radius: 22px !important;
  }

  #fieldGuideReport .fg-report-final__topbar {
    border-radius: 22px 22px 0 0 !important;
  }
}
/* Field Guide Report real modal window override — END */

/* Field Guide Report CTA and PDF export polish — START */
#fieldGuideReport .fg-report-final__actions--money {
  grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
  gap: 14px !important;
}

#fieldGuideReport .fg-report-final__action {
  min-height: 148px !important;
  align-content: start !important;
  padding: 22px 24px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(17, 17, 17, .10) !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(17,17,17,.04), 0 12px 30px rgba(17,17,17,.04) !important;
  color: var(--fgf-ink, #111) !important;
}

#fieldGuideReport .fg-report-final__action span {
  color: #b11218 !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
}

#fieldGuideReport .fg-report-final__action strong {
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
  letter-spacing: -.03em !important;
  color: #111 !important;
}

#fieldGuideReport .fg-report-final__action small {
  margin-top: 4px !important;
  color: rgba(17,17,17,.58) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

#fieldGuideReport .fg-report-final__action--sponsored {
  border-color: rgba(177, 18, 24, .22) !important;
  background: linear-gradient(180deg, rgba(177,18,24,.045), #fff 58%) !important;
}

#fieldGuideReport .fg-report-final__action--primary {
  background: #b11218 !important;
  border-color: #b11218 !important;
  color: #fff !important;
}

#fieldGuideReport .fg-report-final__action--primary span,
#fieldGuideReport .fg-report-final__action--primary strong,
#fieldGuideReport .fg-report-final__action--primary small {
  color: #fff !important;
}

#fieldGuideReport .fg-report-final__action:hover {
  border-color: #b11218 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 36px rgba(177,18,24,.12) !important;
}

#fieldGuideReport .fg-report-final__util {
  border-radius: 18px !important;
  border-color: rgba(177,18,24,.18) !important;
  background: #fff !important;
}

#fieldGuideReport .fg-report-final__util span {
  color: #b11218 !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
}

#fieldGuideReport .fg-report-final__util:hover {
  border-color: #b11218 !important;
  box-shadow: 0 16px 36px rgba(177,18,24,.10) !important;
}

@media (max-width: 1100px) {
  #fieldGuideReport .fg-report-final__actions--money {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  #fieldGuideReport .fg-report-final__actions--money {
    grid-template-columns: 1fr !important;
  }

  #fieldGuideReport .fg-report-final__action {
    min-height: auto !important;
  }
}

@media print {
  body.fg-report-printing * {
    visibility: hidden !important;
  }

  body.fg-report-printing #fieldGuideReport,
  body.fg-report-printing #fieldGuideReport * {
    visibility: visible !important;
  }

  body.fg-report-printing #fieldGuideReport {
    position: static !important;
    display: block !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body.fg-report-printing #fieldGuideReport .fg-report-final {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  body.fg-report-printing .fg-report-final__noprint,
  body.fg-report-printing .fg-report-final__close {
    display: none !important;
  }
}
/* Field Guide Report CTA and PDF export polish — END */


/* Field Guide Report affiliate and food refinement — START */
#fieldGuideReport .fg-report-final__actions--money {
  grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
  gap: 14px !important;
}

#fieldGuideReport .fg-report-final__action,
#fieldGuideReport .fg-report-final__card--food {
  border-radius: 20px !important;
  border: 1px solid rgba(177, 18, 24, .18) !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(17,17,17,.04), 0 14px 34px rgba(17,17,17,.045) !important;
}

#fieldGuideReport .fg-report-final__action span,
#fieldGuideReport .fg-report-final__card--food span {
  color: #b11218 !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
}

#fieldGuideReport .fg-report-final__action--sponsored {
  background: linear-gradient(180deg, rgba(177,18,24,.045), #fff 60%) !important;
  border-color: rgba(177, 18, 24, .24) !important;
}

#fieldGuideReport .fg-report-final__action--primary {
  background: #b11218 !important;
  border-color: #b11218 !important;
  color: #fff !important;
}

#fieldGuideReport .fg-report-final__action--primary span,
#fieldGuideReport .fg-report-final__action--primary strong,
#fieldGuideReport .fg-report-final__action--primary small {
  color: #fff !important;
}

#fieldGuideReport .fg-report-final__action:hover,
#fieldGuideReport .fg-report-final__card--food:hover {
  border-color: #b11218 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 38px rgba(177,18,24,.13) !important;
}

@media (max-width: 1100px) {
  #fieldGuideReport .fg-report-final__actions--money {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  #fieldGuideReport .fg-report-final__actions--money {
    grid-template-columns: 1fr !important;
  }
}

@media print {
  body.fg-report-printing * {
    visibility: hidden !important;
  }

  body.fg-report-printing #fieldGuideReport,
  body.fg-report-printing #fieldGuideReport * {
    visibility: visible !important;
  }

  body.fg-report-printing #fieldGuideReport {
    position: static !important;
    display: block !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body.fg-report-printing #fieldGuideReport .fg-report-final {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  body.fg-report-printing .fg-report-final__noprint,
  body.fg-report-printing .fg-report-final__close {
    display: none !important;
  }
}
/* Field Guide Report affiliate and food refinement — END */


/* Product Roadmap bridge: report → place → report, road report → ready-made route */
.sh-roadmap-return,
.sh-roadmap-route-link {
  width: min(1180px, calc(100% - 32px));
  margin: 18px auto;
  border: 1px solid rgba(25, 25, 25, 0.12);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.08);
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.sh-roadmap-return span,
.sh-roadmap-route-link span {
  display: inline-flex;
  margin-bottom: 6px;
  color: #d64123;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sh-roadmap-return strong,
.sh-roadmap-route-link strong {
  display: block;
  color: #151515;
  font-size: 20px;
  line-height: 1.1;
}

.sh-roadmap-return p,
.sh-roadmap-route-link p {
  margin: 6px 0 0;
  color: #646464;
  font-size: 14px;
  line-height: 1.45;
  max-width: 680px;
}

.sh-roadmap-return__button,
.sh-roadmap-route-link a {
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  background: #d64123;
  color: #fff;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

.sh-roadmap-return__button:hover,
.sh-roadmap-route-link a:hover {
  background: #b9321a;
  text-decoration: none;
}

.road-trip-report .sh-roadmap-route-link {
  width: auto;
  margin: 18px 0;
  box-shadow: none;
}

@media (max-width: 720px) {
  .sh-roadmap-return,
  .sh-roadmap-route-link {
    grid-template-columns: 1fr;
  }

  .sh-roadmap-return__button,
  .sh-roadmap-route-link a {
    width: 100%;
  }
}

/* Field Guide Report: place media preview inside stop cards */
.fg-report-final__stop-media {
  margin-top: 18px;
  border: 1px solid rgba(25, 25, 25, 0.11);
  border-radius: 24px;
  background: #fffaf1;
  overflow: hidden;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  align-items: stretch;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.06);
}

.fg-report-final__stop-media-img {
  position: relative;
  display: block;
  min-height: 142px;
  max-height: 160px;
  overflow: hidden;
  background: #ece7dc;
  text-decoration: none;
}

.fg-report-final__stop-media-img img {
  width: 100%;
  height: 100%;
  min-height: 142px;
  object-fit: cover;
  display: block;
  filter: saturate(0.94) contrast(1.03);
  transition: transform 180ms ease;
}

.fg-report-final__stop-media:hover .fg-report-final__stop-media-img img {
  transform: scale(1.025);
}

.fg-report-final__stop-media-img::after {
  content: "Visual cue";
  position: absolute;
  left: 14px;
  bottom: 12px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.66);
  color: #fff;
  padding: 7px 11px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.fg-report-final__stop-media-img span {
  min-height: 142px;
  display: grid;
  place-items: center;
  color: #8b8175;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.fg-report-final__stop-media.is-no-image .fg-report-final__stop-media-img::after {
  display: none;
}

.fg-report-final__stop-media-body {
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
}

.fg-report-final__stop-media-body strong {
  color: #141414;
  font-size: 22px;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.fg-report-final__stop-media-body p {
  margin: 0;
  color: #6e6a63;
  font-size: 15px;
  line-height: 1.45;
}

.fg-report-final__stop-media-body a {
  margin-top: 4px;
  min-height: 42px;
  border: 1px solid rgba(214, 65, 35, 0.24);
  border-radius: 999px;
  background: #d64123;
  color: #fff;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
}

.fg-report-final__stop-media-body a:hover {
  background: #b9321a;
  text-decoration: none;
}

@media (max-width: 760px) {
  .fg-report-final__stop-media {
    grid-template-columns: 1fr;
  }

  .fg-report-final__stop-media-img,
  .fg-report-final__stop-media-img img,
  .fg-report-final__stop-media-img span {
    min-height: 180px;
    max-height: none;
  }

  .fg-report-final__stop-media-body {
    padding: 18px;
  }

  .fg-report-final__stop-media-body a {
    width: 100%;
  }
}

@media print {
  .fg-report-final__stop-media {
    display: none !important;
  }
}

/* Field Guide Report: productized hero summary */
/* Field Guide Report hero product summary */


/* Field Guide Report hero: compact product cover */

/* Compact product hero for Field Guide Report */
/* Compact product header for Field Guide Report */
.fg-report-final__hero--product {
  min-height: 0;
  padding: clamp(34px, 4vw, 58px) clamp(28px, 5vw, 72px);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.72fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: center;
  background: #11110f;
}

.fg-report-final__hero-copy {
  max-width: 780px;
}

.fg-report-final__hero--product .fg-report-final__eyebrow {
  margin-bottom: 14px;
}

.fg-report-final__hero--product .fg-report-final__title {
  max-width: 760px;
  font-size: clamp(48px, 6.8vw, 92px);
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.fg-report-final__hero--product .fg-report-final__lede {
  margin-top: 18px;
  max-width: 720px;
  font-size: clamp(17px, 1.55vw, 25px);
  line-height: 1.22;
}

.fg-report-final__hero--product .fg-report-final__note {
  margin-top: 14px;
  max-width: 760px;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.45;
  opacity: 0.62;
}

.fg-report-final__hero-pack {
  display: grid;
  gap: 10px;
  align-self: center;
}

.fg-report-final__hero-pack article {
  min-height: 0;
  padding: 14px 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.055);
  color: #fff;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 3px;
  align-items: center;
}

.fg-report-final__hero-pack span {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #df321d;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-row: 1 / span 2;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.fg-report-final__hero-pack strong {
  display: block;
  color: #fff;
  font-size: clamp(18px, 1.35vw, 23px);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.fg-report-final__hero-pack small {
  display: block;
  color: rgba(255, 255, 255, 0.58);
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.22;
  max-width: none;
}

@media (max-width: 920px) {
  .fg-report-final__hero--product {
    grid-template-columns: 1fr;
    padding: 34px 24px;
  }

  .fg-report-final__hero-pack {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .fg-report-final__hero--product {
    padding: 28px 20px;
  }

  .fg-report-final__hero--product .fg-report-final__title {
    font-size: clamp(42px, 14vw, 62px);
  }

  .fg-report-final__hero-pack article {
    padding: 12px 14px;
    border-radius: 18px;
  }
}

@media print {
  .fg-report-final__hero-pack {
    display: none !important;
  }
}


/* Field Guide Report: cleaner City Mode planning actions */
#fieldGuideReport .fg-report-final__actions--city {
  grid-template-columns: minmax(260px, 1.2fr) repeat(4, minmax(180px, 1fr));
  gap: 12px;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action {
  min-height: 132px;
  padding: 18px;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action strong {
  font-size: 17px;
  line-height: 1.1;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action small {
  line-height: 1.35;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action--primary {
  min-height: 132px;
}

@media (max-width: 1180px) {
  #fieldGuideReport .fg-report-final__actions--city {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  #fieldGuideReport .fg-report-final__actions--city {
    grid-template-columns: 1fr;
  }

  #fieldGuideReport .fg-report-final__actions--city .fg-report-final__action {
    min-height: auto;
  }
}

/* === Walk Plan FINAL v20260516 ==============================================
   City Mode report: chronological walk plan + practical reminders.
   Scoped to .fg-report-final__* so generated place pages and Country Mode remain untouched.
   ========================================================================== */

.fg-report-final__section--walkplan {
  background: var(--fgf-card);
}

.fg-report-final__wpl-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
  position: relative;
}

.fg-report-final__wpl-step {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.fg-report-final__wpl-time {
  position: sticky;
  top: 88px;
  border: 1px solid var(--fgf-line);
  border-radius: 999px;
  background: var(--fgf-paper);
  color: var(--fgf-ink);
  min-height: 34px;
  padding: 8px 8px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.fg-report-final__wpl-body {
  border: 1px solid var(--fgf-line);
  border-radius: 18px;
  background: var(--fgf-paper);
  padding: 16px;
  display: grid;
  gap: 10px;
  box-shadow: 0 10px 24px rgba(0,0,0,.045);
}

.fg-report-final__wpl-step--start .fg-report-final__wpl-body,
.fg-report-final__wpl-step--end .fg-report-final__wpl-body {
  border-style: dashed;
  box-shadow: none;
}

.fg-report-final__wpl-step--pause .fg-report-final__wpl-body {
  background: #fff8f4;
  border-left: 4px solid var(--fgf-red);
  box-shadow: none;
}

.fg-report-final__wpl-tag {
  color: var(--fgf-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.fg-report-final__wpl-tag--pause {
  color: var(--fgf-red);
}

.fg-report-final__wpl-stophead {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.fg-report-final__wpl-num {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--fgf-red);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 900;
}

.fg-report-final__wpl-meta {
  display: block;
  margin-bottom: 3px;
  color: var(--fgf-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.fg-report-final__wpl-title {
  display: block;
  color: var(--fgf-ink);
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.fg-report-final__wpl-title a {
  color: inherit;
  text-decoration: none;
}

.fg-report-final__wpl-title a:hover {
  color: var(--fgf-red);
}

.fg-report-final__wpl-body p {
  margin: 0;
  color: var(--fgf-muted);
  font-size: 14px;
  line-height: 1.55;
}

.fg-report-final__wpl-body em {
  color: var(--fgf-ink);
  font-style: normal;
  font-weight: 900;
}

.fg-report-final__wpl-placelink,
.fg-report-final__wpl-maplink {
  color: var(--fgf-red);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.fg-report-final__wpl-placelink:hover,
.fg-report-final__wpl-maplink:hover {
  text-decoration: underline;
}

.fg-report-final__access-transit-note {
  margin-top: 16px;
  border: 1px solid var(--fgf-line);
  border-left: 4px solid var(--fgf-red);
  border-radius: 16px;
  background: var(--fgf-paper);
  padding: 14px 16px;
}

.fg-report-final__access-transit-note strong {
  display: block;
  margin-bottom: 5px;
  color: var(--fgf-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.fg-report-final__access-transit-note p {
  margin: 0;
  color: var(--fgf-ink);
  font-size: 14px;
  line-height: 1.5;
}

.fg-report-final__section--reminders {
  background: var(--fgf-paper);
}

.fg-report-final__reminders-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.fg-report-final__reminder {
  border: 1px solid var(--fgf-line);
  border-radius: 16px;
  background: var(--fgf-card);
  padding: 15px;
  display: grid;
  gap: 5px;
}

.fg-report-final__reminder-icon {
  font-size: 22px;
  line-height: 1;
}

.fg-report-final__reminder strong {
  color: var(--fgf-ink);
  font-size: 14px;
  font-weight: 950;
}

.fg-report-final__reminder p {
  margin: 0;
  color: var(--fgf-muted);
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 720px) {
  /* FAZ 5.6.b — Walk Plan mobile readability
     Time becomes a sticky step banner; stop number and card padding
     get more breathing room on mobile. */

  .fg-report-final__wpl-step {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .fg-report-final__wpl-time {
    position: sticky;
    top: 96px;
    z-index: 5;
    justify-self: stretch;
    min-height: 38px;
    padding: 10px 14px;
    font-size: 13px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .06);
  }

  .fg-report-final__wpl-body {
    padding: 18px 16px;
    border-radius: 16px;
  }

  .fg-report-final__wpl-num {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .fg-report-final__wpl-stophead {
    gap: 14px;
  }

  .fg-report-final__wpl-meta {
    margin-bottom: 5px;
  }

  .fg-report-final__reminders-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  .fg-report-final__wpl-step {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .fg-report-final__wpl-step--pause .fg-report-final__wpl-body {
    border-left: 2px solid #d42f17;
  }

  .fg-report-final__wpl-time {
    position: static;
  }

  .fg-report-final__reminders-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* === end Walk Plan FINAL v20260516 ======================================== */

/* === Walk Plan Hours Guard v20260516 ====================================== */

.fg-report-final__hours-note {
  border: 1px solid rgba(25, 25, 25, 0.12);
  border-radius: 14px;
  background: #f7f4ec;
  padding: 11px 12px;
  display: grid;
  gap: 4px;
}

.fg-report-final__hours-note strong {
  color: var(--fgf-muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.fg-report-final__hours-note p {
  margin: 0;
  color: var(--fgf-muted);
  font-size: 13px;
  line-height: 1.45;
}

.fg-report-final__hours-note.is-risk {
  border-color: rgba(212, 47, 23, 0.34);
  background: #fff2eb;
}

.fg-report-final__hours-note.is-risk strong {
  color: var(--fgf-red);
}

.fg-report-final__hours-note.is-risk p {
  color: #5c2b20;
}

@media print {
  .fg-report-final__hours-note {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* === end Walk Plan Hours Guard v20260516 ================================== */

/* === Walk Plan Report Polish v20260516 ==================================== */

.fg-report-final__hero--product .fg-report-final__note {
  max-width: 680px;
  font-size: 15px;
  line-height: 1.55;
}

.fg-report-final__hero-pack article {
  position: relative;
}

.fg-report-final__hero-pack article::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: rgba(212, 47, 23, 0.18);
}

.fg-report-final__section--walkplan {
  border-color: rgba(212, 47, 23, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 248, 239, 0.86), rgba(255, 255, 255, 0.98));
}

.fg-report-final__section--walkplan .fg-report-final__shead span {
  color: var(--fgf-red);
}

.fg-report-final__section--walkplan .fg-report-final__shead h3 {
  max-width: 720px;
  font-size: clamp(25px, 3vw, 36px);
  letter-spacing: -0.045em;
}

.fg-report-final__section--walkplan .fg-report-final__shead p {
  max-width: 780px;
}

.fg-report-final__wpl-step--stop .fg-report-final__wpl-body {
  border-color: rgba(25, 25, 25, 0.11);
}

.fg-report-final__wpl-step--stop:hover .fg-report-final__wpl-body {
  border-color: rgba(212, 47, 23, 0.22);
}

.fg-report-final__hours-note {
  margin-top: 2px;
  border-radius: 16px;
  background: #fbf7ef;
}

.fg-report-final__hours-note strong::before {
  content: "• ";
  color: var(--fgf-red);
  letter-spacing: 0;
}

.fg-report-final__hours-note.is-risk {
  box-shadow: inset 4px 0 0 rgba(212, 47, 23, 0.72);
}

.fg-report-final__reminders-grid article {
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.fg-report-final__reminders-grid article:hover {
  transform: translateY(-2px);
  border-color: rgba(212, 47, 23, 0.2);
  background: #fffaf2;
}

@media (max-width: 760px) {
  .fg-report-final__section--walkplan .fg-report-final__shead h3 {
    font-size: 25px;
  }

  .fg-report-final__hero-pack article::after {
    left: 14px;
    right: 14px;
  }
}

/* === end Walk Plan Report Polish v20260516 ================================ */

/* === Field Guide Weather Card Cleanup v20260516 =========================== */

.fg-report-final__shead--weather {
  margin-bottom: 16px;
}

.fg-report-final__shead--weather h3 {
  max-width: 680px;
}

.fg-weather-live__cues {
  grid-template-columns: 1fr;
}

.fg-weather-live__cues article {
  max-width: 860px;
}

.fg-weather-live__cues strong {
  color: var(--fgf-red);
}

@media (max-width: 760px) {
  .fg-report-final__shead--weather {
    margin-bottom: 12px;
  }
}

/* === end Field Guide Weather Card Cleanup v20260516 ======================= */

/* === Field Guide Weather Card Base v20260516 ============================== */

.fg-weather-live {
  margin-top: 18px;
  display: grid;
  gap: 16px;
}

.fg-weather-live__main {
  display: flex;
  align-items: center;
  gap: 18px;
  width: min(100%, 920px);
  border: 1px solid rgba(25, 25, 25, 0.1);
  border-radius: 24px;
  background: #fffaf2;
  padding: 18px 20px;
  box-shadow: 0 18px 40px rgba(25, 25, 25, 0.06);
}

.fg-weather-live__icon {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  background: var(--fgf-red);
  color: #fff;
}

.fg-weather-live__icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fg-weather-live__main strong {
  display: block;
  color: var(--fgf-ink);
  font-size: clamp(22px, 2.35vw, 32px);
  font-weight: 950;
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.fg-weather-live__main p {
  margin: 7px 0 0;
  color: var(--fgf-muted);
  font-size: 16px;
  font-weight: 750;
  line-height: 1.35;
}

.fg-weather-live__cues {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.fg-weather-live__cues article {
  width: min(100%, 920px);
  border: 1px solid rgba(25, 25, 25, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  padding: 14px 15px;
}

.fg-weather-live__cues strong {
  display: block;
  color: var(--fgf-red);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.fg-weather-live__cues span {
  color: var(--fgf-muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .fg-weather-live__main {
    align-items: flex-start;
    padding: 16px;
  }

  .fg-weather-live__icon {
    width: 48px;
    height: 48px;
  }

  .fg-weather-live__icon svg {
    width: 27px;
    height: 27px;
  }
}

/* === end Field Guide Weather Card Base v20260516 ========================== */

/* === Field Guide Weather Fineprint v20260516 ============================== */

.fg-weather-live__fineprint {
  margin: -4px 0 0;
  color: var(--fgf-muted);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.45;
  letter-spacing: .02em;
  opacity: .72;
}

/* === end Field Guide Weather Fineprint v20260516 ========================== */

/* === Walk Plan Break Intelligence v20260516 =============================== */

.fg-report-final__wpl-step--pause-lunch .fg-report-final__wpl-body,
.fg-report-final__wpl-step--pause-dinner .fg-report-final__wpl-body,
.fg-report-final__wpl-step--pause-coffee .fg-report-final__wpl-body,
.fg-report-final__wpl-step--pause-quick .fg-report-final__wpl-body {
  background: #fffaf2;
}

.fg-report-final__wpl-step--pause-dinner .fg-report-final__wpl-tag--pause {
  background: rgba(25, 25, 25, 0.08);
  color: var(--fgf-ink);
}

.fg-report-final__wpl-step--pause-coffee .fg-report-final__wpl-tag--pause,
.fg-report-final__wpl-step--pause-quick .fg-report-final__wpl-tag--pause {
  background: rgba(212, 47, 23, 0.08);
  color: var(--fgf-red);
}

/* === end Walk Plan Break Intelligence v20260516 =========================== */

/* === Walk Plan Pause Label Polish v20260516 =============================== */

.fg-report-final__wpl-step--pause .fg-report-final__wpl-tag--pause {
  display: inline-flex;
  width: auto;
  max-width: max-content;
  align-self: flex-start;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0 0 10px;
  color: var(--fgf-red);
  letter-spacing: .16em;
}

.fg-report-final__wpl-step--pause-dinner .fg-report-final__wpl-tag--pause {
  color: var(--fgf-ink);
  background: transparent;
}

.fg-report-final__wpl-step--pause .fg-report-final__wpl-body {
  border-left-color: var(--fgf-red);
}

/* === end Walk Plan Pause Label Polish v20260516 =========================== */

/* === Field Guide Time Guard v20260516 ===================================== */

.fg-report-final__timeguard {
  background: #fff6ec;
  border-top: 1px solid rgba(212, 47, 23, 0.16);
  border-bottom: 1px solid rgba(212, 47, 23, 0.16);
}

.fg-report-final__timeguard .fg-report-final__shead span {
  color: var(--fgf-red);
}

.fg-report-final__timeguard .fg-report-final__shead h3 {
  font-size: clamp(28px, 4vw, 48px);
}

.fg-report-final__timeguard .fg-report-final__shead p {
  max-width: 920px;
}

/* === end Field Guide Time Guard v20260516 ================================= */


/* Field Guide late-start time guard polish */
body.field-guide-report-open .fg-time-guard-note{
  padding: 14px 16px;
  border: 1px solid rgba(120, 78, 34, .22);
  border-radius: 18px;
  background: rgba(255, 248, 235, .72);
  box-shadow: none;
}

body.field-guide-report-open .fg-time-guard-note__head{
  display: grid;
  gap: 4px;
}

body.field-guide-report-open .fg-time-guard-note__head span{
  font-size: .68rem;
  letter-spacing: .13em;
  color: rgba(120, 78, 34, .72);
}

body.field-guide-report-open .fg-time-guard-note__head h3{
  margin: 0;
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.18;
  color: #3f2a16;
}

body.field-guide-report-open .fg-time-guard-note__head p{
  max-width: 68ch;
  margin: 0;
  font-size: .88rem;
  line-height: 1.55;
  color: rgba(63, 42, 22, .76);
}


/* Field Guide Walk Plan compact polish v20260516 */
body.field-guide-report-open .fg-report-final__wpl-list{
  gap: 10px;
}

body.field-guide-report-open .fg-report-final__wpl-step{
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 12px;
}

body.field-guide-report-open .fg-report-final__wpl-time{
  min-height: 30px;
  padding: 6px 9px;
  font-size: 11px;
  border-color: rgba(25, 25, 25, .12);
  box-shadow: none;
}

body.field-guide-report-open .fg-report-final__wpl-body{
  padding: 14px 16px;
  gap: 8px;
  border-radius: 16px;
  box-shadow: 0 8px 18px rgba(0,0,0,.035);
}

body.field-guide-report-open .fg-report-final__wpl-step--pause .fg-report-final__wpl-body{
  border-left-width: 3px;
  background: rgba(255, 250, 242, .88);
}

body.field-guide-report-open .fg-report-final__wpl-step--end .fg-report-final__wpl-body{
  background: rgba(25, 25, 25, .025);
  border-style: solid;
  border-color: rgba(25, 25, 25, .10);
}

body.field-guide-report-open .fg-report-final__wpl-tag{
  font-size: 10px;
  letter-spacing: .16em;
}

body.field-guide-report-open .fg-report-final__wpl-step--pause .fg-report-final__wpl-tag--pause{
  margin-bottom: 6px;
}

body.field-guide-report-open .fg-report-final__wpl-title{
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.12;
}

body.field-guide-report-open .fg-report-final__wpl-body p{
  font-size: .9rem;
  line-height: 1.5;
}

body.field-guide-report-open .fg-report-final__wpl-placelink,
body.field-guide-report-open .fg-report-final__wpl-maplink{
  font-size: .84rem;
}

@media (max-width: 720px){
  body.field-guide-report-open .fg-report-final__wpl-step{
    grid-template-columns: 1fr;
    gap: 7px;
  }

  body.field-guide-report-open .fg-report-final__wpl-body{
    padding: 13px 14px;
  }
}


/* Field Guide route logic polish v20260516 */
body.field-guide-report-open .fg-report-final__route-logic{
  padding: 16px 40px;
  background: rgba(255, 252, 246, .82);
  border-bottom: 1px solid rgba(25, 25, 25, .08);
}

body.field-guide-report-open .fg-report-final__route-logic .fg-report-final__logic-label{
  margin: 0 0 5px;
  font-size: .68rem;
  letter-spacing: .16em;
  color: rgba(120, 78, 34, .78);
}

body.field-guide-report-open .fg-report-final__route-logic .fg-report-final__logic-text{
  max-width: 76ch;
  font-size: .92rem;
  line-height: 1.58;
  color: rgba(47, 36, 26, .78);
}

@media (max-width: 720px){
  body.field-guide-report-open .fg-report-final__route-logic{
    padding: 14px 18px;
  }
}

/* === Builder Hub v3 === */
.hb3-hub{
  --hb3-city-red:#d42f17;
  --hb3-road-green:#167a4a;
  --hb3-road-green-dark:#0f5d38;
  --hb3-paper:#fffdf8;

  width:min(1180px, calc(100% - 48px));
  max-width:1180px;
  margin:28px auto 62px;
  padding:0;
}

.hb3-head{
  text-align:center;
  margin:0 auto;
}

.hb3-eyebrow{
  margin:0 0 8px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#7a7165;
  font-weight:900;
}

.hb3-title{
  margin:0;
  font-family:'Outfit', system-ui, sans-serif;
  font-size:clamp(48px, 5.6vw, 82px);
  font-weight:950;
  letter-spacing:-.06em;
  color:#111;
  line-height:.88;
}

.hb3-subtitle{
  margin:14px 0 0;
  font-size:16px;
  color:#7a7165;
  font-weight:800;
}

.hb3-toggle{
  margin:22px auto 0;
  display:inline-flex;
  min-width:320px;
  gap:4px;
  padding:4px;
  border-radius:14px;
  background:#eee4d6;
  border:1px solid rgba(47,36,26,.14);
}

.hb3-toggle-btn{
  flex:1;
  min-width:150px;
  padding:13px 18px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#756b60;
  cursor:pointer;
  display:grid;
  gap:2px;
  text-align:center;
  font-family:'Outfit', system-ui, sans-serif;
  transition:background .2s ease, color .2s ease;
}

.hb3-toggle-btn[data-home-builder-tab="city"].is-active,
.hb3-toggle-btn[data-home-builder-tab="city"][aria-selected="true"]{
  background:var(--hb3-city-red);
  color:#fffaf2;
}

.hb3-toggle-btn[data-home-builder-tab="country"].is-active,
.hb3-toggle-btn[data-home-builder-tab="country"][aria-selected="true"]{
  background:var(--hb3-road-green);
  color:#fffaf2;
}

.hb3-toggle-btn.is-active *,
.hb3-toggle-btn[aria-selected="true"] *{
  color:#fffaf2;
}

.hb3-toggle-label{
  font-size:16px;
  font-weight:950;
  line-height:1.05;
  color:inherit;
}

.hb3-toggle-sub{
  font-size:11px;
  opacity:.72;
  font-weight:800;
  color:inherit;
}

.hb3-grid{
  display:grid;
  grid-template-columns:minmax(360px, .9fr) minmax(660px, 1.1fr);
  gap:24px;
  align-items:stretch;
  margin-top:34px;
}

.hb3-context{
  position:relative;
  overflow:hidden;
  min-height:0;
  height:100%;
  border-radius:28px;
  padding:44px 40px;
  color:#fff;
  display:flex !important;
  flex-direction:column;
  gap:20px;
}

.hb3-context[hidden],
.hb3-context:not(.is-active){
  display:none !important;
}

.hb3-context.is-active{
  display:flex !important;
}

.hb3-context[data-home-builder-panel="city"]{
  background:
    radial-gradient(circle at 18% 4%, rgba(212,47,23,.28), transparent 34%),
    linear-gradient(145deg, #2b1510 0%, #1a1714 48%, #0f0d0b 100%);
  border:1px solid rgba(212,47,23,.18);
  box-shadow:
    inset 0 0 0 1px rgba(255,250,242,.035),
    0 22px 60px rgba(47,36,26,.10);
}

.hb3-context[data-home-builder-panel="country"]{
  background:
    radial-gradient(circle at 18% 4%, rgba(22,122,74,.34), transparent 34%),
    linear-gradient(145deg, #0f3a27 0%, #141a15 52%, #090f0b 100%);
  border:1px solid rgba(22,122,74,.22);
  box-shadow:
    inset 0 0 0 1px rgba(255,250,242,.035),
    0 22px 60px rgba(47,36,26,.10);
}

.hb3-context::after{
  content:"";
  margin-top:auto;
  margin-bottom:auto;
  font-family:'Outfit', system-ui, sans-serif;
  font-size:clamp(56px, 6vw, 92px);
  line-height:.78;
  letter-spacing:-.07em;
  font-weight:950;
  color:rgba(255,255,255,.045);
  white-space:pre-line;
  pointer-events:none;
}

.hb3-context[data-home-builder-panel="city"]::after{
  content:"CITY\A WALK";
}

.hb3-context[data-home-builder-panel="country"]::after{
  content:"ROAD\A TRIP";
}

.hb3-context-eyebrow,
.hb3-headline,
.hb3-desc,
.hb3-partners{
  position:relative;
  z-index:1;
}

.hb3-context-eyebrow{
  margin:0;
  font-size:11px;
  letter-spacing:.17em;
  text-transform:uppercase;
  font-weight:800;
}

.hb3-context[data-home-builder-panel="city"] .hb3-context-eyebrow{
  color:#ff6249;
}

.hb3-context[data-home-builder-panel="country"] .hb3-context-eyebrow{
  color:#72e3a3;
}

.hb3-headline{
  margin:0;
  max-width:360px;
  font-family:'Outfit', system-ui, sans-serif;
  font-size:clamp(38px, 3.8vw, 56px);
  font-weight:950;
  letter-spacing:-.05em;
  line-height:.94;
  color:#fff;
}

.hb3-desc{
  margin:0;
  max-width:330px;
  font-size:.95rem;
  color:rgba(255,255,255,.55);
  line-height:1.55;
  font-weight:700;
}

.hb3-partners{
  margin-top:auto;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:8px;
}

.hb3-partners a{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  color:rgba(255,255,255,.55);
  text-decoration:none;
  letter-spacing:.05em;
  text-transform:none;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  transition:border-color .15s ease, color .15s ease;
}

.hb3-partners a:hover{
  color:rgba(255,255,255,.85);
  border-color:rgba(255,255,255,.35);
}

.hb3-context[data-home-builder-panel="city"] .hb3-partners a:hover{
  color:#ffb2a6;
  border-color:rgba(255,98,73,.38);
}

.hb3-context[data-home-builder-panel="country"] .hb3-partners a:hover{
  color:#b2f2c9;
  border-color:rgba(114,227,163,.38);
}

.hb3-form-card{
  min-height:560px;
  border-radius:28px;
  padding:40px;
  background:#fffdf8;
  box-shadow:0 24px 70px rgba(47,36,26,.08);
  border:1px solid rgba(17,17,17,.06);
}

.hb3-field-form{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:grid !important;
  gap:17px !important;
}

.hb3-field-form .build-form-head{
  display:block !important;
  margin:0 0 4px !important;
  padding:0 0 16px !important;
  border-bottom:1px solid rgba(17,17,17,.08) !important;
}

.hb3-field-form .build-form-head h2{
  margin:0 !important;
  font-family:'Outfit', system-ui, sans-serif !important;
  color:#111 !important;
  font-size:clamp(38px, 4vw, 58px) !important;
  line-height:.95 !important;
  letter-spacing:-.055em !important;
}

.hb3-field-form label,
.hb3-field-form fieldset{
  margin:0 !important;
}

.hb3-field-form label > span,
.hb3-field-form legend{
  color:#7a7165 !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
}

.hb3-field-form select,
.hb3-field-form input[type="date"],
.hb3-field-form input[type="time"]{
  min-height:52px !important;
  border-radius:15px !important;
  border:1px solid rgba(17,17,17,.13) !important;
  background:#fff !important;
  color:#111 !important;
  font-size:1rem !important;
  font-weight:850 !important;
}

.hb3-field-form fieldset{
  padding:18px !important;
  border:1px solid rgba(17,17,17,.10) !important;
  border-radius:21px !important;
  background:#faf7f1 !important;
}

.hb3-field-form .build-interest-grid{
  margin-top:12px !important;
  gap:10px !important;
}

.hb3-field-form .fg-chip{
  min-height:56px !important;
  padding:12px 14px !important;
  border-radius:15px !important;
  border:1px solid rgba(17,17,17,.12) !important;
  background:#fff !important;
  color:#111 !important;
  font-weight:850 !important;
}

.hb3-field-form .fg-chip:has(input:checked){
  background:#fff1e9 !important;
  border-color:rgba(212,47,23,.45) !important;
}

.hb3-hub .fg-submit,
.hb3-hub #createRoute{
  width:100% !important;
  min-height:58px !important;
  border-radius:15px !important;
  border:0 !important;
  box-shadow:none !important;
  font-weight:950 !important;
}

.hb3-hub[data-builder-mode="city"] .fg-submit,
.hb3-hub .fg-submit{
  background:#111 !important;
  color:#fff !important;
}

.hb3-hub[data-builder-mode="city"] .fg-submit:hover,
.hb3-hub .fg-submit:hover{
  background:var(--hb3-city-red) !important;
}

.hb3-road-form{
  margin:0 !important;
  padding:0 !important;
}

.hb3-road-form[hidden],
.hb3-hub #fieldGuideForm[hidden]{
  display:none !important;
}

.hb3-road-form .route-planner-card{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.hb3-road-form .route-form-wide{
  gap:12px !important;
}

.hb3-road-form #createRoute,
.hb3-hub[data-builder-mode="country"] .hb3-road-form #createRoute{
  background:var(--hb3-road-green) !important;
  color:#fff !important;
}

.hb3-road-form #createRoute:hover,
.hb3-hub[data-builder-mode="country"] .hb3-road-form #createRoute:hover{
  background:var(--hb3-road-green-dark) !important;
}

.hb3-road-form .route-summary,
.hb3-hub[data-builder-mode="country"] .hb3-road-form .route-summary{
  margin:20px 0 14px !important;
  color:var(--hb3-road-green-dark) !important;
  font-size:clamp(26px, 3vw, 38px) !important;
  line-height:1.05 !important;
}

.hb3-road-form .route-map,
.hb3-road-form .route-map-wide,
.hb3-road-form .route-map iframe,
.hb3-road-form .route-map-wide iframe{
  min-height:330px !important;
  border-radius:18px !important;
  overflow:hidden !important;
}

.hb3-road-form .route-map,
.hb3-road-form .route-map-wide{
  border:1px solid rgba(22,122,74,.24) !important;
}

.hb3-road-form .route-actions-hidden,
.hb3-road-form .route-actions:has(#openFullRoute[hidden]){
  display:none !important;
}

.home-builder-result{
  margin-top:22px !important;
}

@media(max-width:1100px){
  .hb3-grid{
    grid-template-columns:minmax(320px,.85fr) minmax(560px,1.15fr);
  }
}

@media(max-width:900px){
  .hb3-hub{
    width:min(760px, calc(100% - 28px));
  }

  .hb3-grid{
    grid-template-columns:1fr;
  }

  .hb3-context,
  .hb3-form-card{
    min-height:auto;
  }

  .hb3-headline,
  .hb3-desc{
    max-width:560px;
  }

  .hb3-context::after{
    display:none;
  }
}

@media(max-width:768px){
  .hb3-hub{
    width:calc(100% - 24px);
    margin-top:22px;
  }

  .hb3-title{
    font-size:clamp(40px, 11vw, 58px);
  }

  .hb3-toggle{
    width:100%;
    min-width:0;
  }

  .hb3-toggle-btn{
    min-width:0;
  }

  .hb3-grid{
    gap:16px;
  }

  .hb3-context{
    padding:28px;
  }

  .hb3-headline{
    font-size:28px;
  }

  .hb3-form-card{
    padding:24px;
  }

  .hb3-road-form .route-map,
  .hb3-road-form .route-map-wide,
  .hb3-road-form .route-map iframe,
  .hb3-road-form .route-map-wide iframe{
    min-height:240px !important;
  }
}


/* === Builder Hub v3 mobile compact polish v20260517 === */
@media(max-width:768px){
  .hb3-hub{
    margin-top:18px !important;
    margin-bottom:42px !important;
  }

  .hb3-head{
    margin-bottom:0 !important;
  }

  .hb3-eyebrow{
    font-size:10px !important;
    margin-bottom:6px !important;
  }

  .hb3-title{
    font-size:clamp(36px, 10.2vw, 48px) !important;
    line-height:.9 !important;
    letter-spacing:-.055em !important;
  }

  .hb3-subtitle{
    margin-top:10px !important;
    font-size:14px !important;
  }

  .hb3-toggle{
    margin-top:18px !important;
  }

  .hb3-grid{
    margin-top:22px !important;
    gap:14px !important;
  }

  .hb3-context{
    padding:24px 22px !important;
    border-radius:22px !important;
    gap:12px !important;
  }

  .hb3-context-eyebrow{
    font-size:10px !important;
    letter-spacing:.15em !important;
  }

  .hb3-headline{
    max-width:300px !important;
    font-size:31px !important;
    line-height:.96 !important;
    letter-spacing:-.045em !important;
  }

  .hb3-desc{
    max-width:310px !important;
    font-size:13px !important;
    line-height:1.48 !important;
  }

  .hb3-partners{
    margin-top:8px !important;
    padding-top:14px !important;
    gap:7px !important;
  }

  .hb3-partners a{
    padding:7px 10px !important;
    font-size:11px !important;
    border-radius:8px !important;
  }

  .hb3-form-card{
    padding:22px !important;
    border-radius:22px !important;
  }

  .hb3-field-form .build-form-head h2{
    font-size:clamp(34px, 9vw, 42px) !important;
  }
}

/* === Field Guide Report · route passport summary v20260517 === */
.fg-report-final__stats--passport{
  display:grid;
  grid-template-columns:1.35fr repeat(3, minmax(150px, .75fr)) 1.25fr;
  gap:0;
  border-top:1px solid rgba(32,23,16,.12);
  border-bottom:1px solid rgba(32,23,16,.12);
  background:rgba(255,252,246,.72);
}

.fg-report-final__stats--passport .fg-report-final__stat{
  min-height:118px;
  padding:22px 24px;
  border-right:1px solid rgba(32,23,16,.11);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}

.fg-report-final__stats--passport .fg-report-final__stat:last-child{
  border-right:0;
}

.fg-report-final__stats--passport .fg-report-final__stat span{
  font-size:12px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(32,23,16,.55);
  font-weight:800;
}

.fg-report-final__stats--passport .fg-report-final__stat strong{
  font-family:'Outfit',system-ui,sans-serif;
  font-size:clamp(20px,2.1vw,30px);
  line-height:1;
  letter-spacing:-.045em;
  color:#201710;
}

.fg-report-final__stats--passport .fg-report-final__stat small{
  color:rgba(32,23,16,.62);
  font-size:14px;
  line-height:1.35;
}

@media (max-width: 980px){
  .fg-report-final__stats--passport{
    grid-template-columns:1fr 1fr;
  }

  .fg-report-final__stats--passport .fg-report-final__stat{
    min-height:104px;
    border-bottom:1px solid rgba(32,23,16,.1);
  }

  .fg-report-final__stats--passport .fg-report-final__stat--wide{
    grid-column:1 / -1;
  }
}

@media (max-width: 640px){
  .fg-report-final__stats--passport{
    grid-template-columns:1fr;
  }

  .fg-report-final__stats--passport .fg-report-final__stat{
    border-right:0;
    padding:18px 20px;
  }
}

/* === Field Guide Report · compact route passport refinement v20260517 === */
.fg-report-final__stats--passport{
  background:rgba(255,252,246,.82);
}

.fg-report-final__stats--passport .fg-report-final__stat{
  min-height:92px;
  padding:18px 22px;
  gap:7px;
}

.fg-report-final__stats--passport .fg-report-final__stat span{
  font-size:11px;
  letter-spacing:.17em;
}

.fg-report-final__stats--passport .fg-report-final__stat strong{
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.02;
  letter-spacing:-.04em;
  max-width:100%;
}

.fg-report-final__stats--passport .fg-report-final__stat small{
  font-size:13px;
  line-height:1.3;
}

.fg-report-final__stats--passport .fg-report-final__stat--wide strong{
  font-size:clamp(20px,1.75vw,28px);
}

.fg-report-final__stats--passport .fg-report-final__stat:last-child strong{
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.08;
  letter-spacing:-.035em;
}

@media (min-width: 981px){
  .fg-report-final__stats--passport{
    grid-template-columns:1.45fr .86fr .86fr .72fr 1.45fr;
  }
}

@media (max-width: 640px){
  .fg-report-final__stats--passport .fg-report-final__stat{
    min-height:auto;
    padding:16px 18px;
  }

  .fg-report-final__stats--passport .fg-report-final__stat strong,
  .fg-report-final__stats--passport .fg-report-final__stat--wide strong,
  .fg-report-final__stats--passport .fg-report-final__stat:last-child strong{
    font-size:22px;
  }
}

/* === Field Guide Report · passport final scale v20260517 === */
.fg-report-final__stats--passport .fg-report-final__stat strong{
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.05;
}

.fg-report-final__stats--passport .fg-report-final__stat--wide strong{
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.05;
}

.fg-report-final__stats--passport .fg-report-final__stat:nth-child(2) strong{
  font-size:clamp(17px,1.25vw,21px);
}

.fg-report-final__stats--passport .fg-report-final__stat small{
  font-size:12.5px;
}

/* AUDIT COMMIT-1: disabled select option visual cue */
select option:disabled {
  color: #999;
  font-style: italic;
}

/* AUDIT COMMIT-1.5: Walk Plan stop-level ticket CTA */
.fg-report-final__wpl-ticket-cta {
  display: grid;
  gap: 5px;
  margin: 12px 0 0;
  padding: 13px 15px;
  border: 1px solid rgba(120, 53, 15, 0.22);
  border-radius: 14px;
  background: #fff7ed;
  color: #1f1a17;
  text-decoration: none;
}

.fg-report-final__wpl-ticket-cta:hover {
  border-color: rgba(120, 53, 15, 0.46);
  background: #ffedd5;
}

.fg-report-final__wpl-ticket-cta span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
  color: #9a3412;
}

.fg-report-final__wpl-ticket-cta strong {
  font-size: 15px;
  font-weight: 850;
  line-height: 1.25;
  color: #1f1a17;
}

.fg-report-final__wpl-ticket-cta small {
  font-size: 12px;
  line-height: 1.45;
  color: #6b4e3d;
}

@media print {
  .fg-report-final__wpl-ticket-cta {
    display: none !important;
  }
}

/* FAZ 7.5 — Field Guide Report: City -> Country bridge */
.fg-report-final__section--bridge{
  background:#1a1a1a;
  color:#fff;
}
.fg-report-final__section--bridge .fg-report-final__shead span{
  color:rgba(255,255,255,.62);
}
.fg-report-final__section--bridge .fg-report-final__shead h3{
  color:#fff;
}
.fg-report-final__bridge-body{
  margin-top:14px;
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:flex-start;
}
.fg-report-final__bridge-text{
  margin:0;
  max-width:700px;
  font-size:15px;
  line-height:1.62;
  color:rgba(255,255,255,.82);
}
.fg-report-final__bridge-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border-radius:14px;
  background:#ff0023;
  color:#fff;
  font-weight:800;
  font-size:15px;
  text-decoration:none;
}
.fg-report-final__bridge-cta:hover{
  background:#e0001f;
  text-decoration:none;
}
.fg-report-final__next-grid--single{
  grid-template-columns:1fr;
}

/* FAZ 5.4 — Field Guide Report: How to use this guide */
.fg-report-final__section--howto{
  background:linear-gradient(180deg,#fafaf6 0%,#fff 100%);
}

.fg-report-final__howto-pack{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}

.fg-report-final__howto-pack article{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:16px 18px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  background:#fff;
}

.fg-report-final__howto-pack span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:8px;
  background:#111;
  color:#fff;
  font-family:'Outfit',sans-serif;
  font-size:12px;
  font-weight:900;
}

.fg-report-final__howto-pack strong{
  font-size:14px;
  font-weight:800;
  color:#181818;
  letter-spacing:-.01em;
}

.fg-report-final__howto-pack small{
  color:#555;
  font-size:12.5px;
  line-height:1.4;
  font-weight:600;
}

@media(max-width:780px){
  .fg-report-final__howto-pack{
    grid-template-columns:1fr;
    gap:10px;
  }

  .fg-report-final__howto-pack article{
    padding:14px 16px;
  }
}

/* FAZ 5.5 — Field Guide Report route passport hierarchy
   Safe cascade override. Route character becomes a full-width banner.
   Date / Time / Stops / Lunch pause sit underneath as supporting stats. */
.fg-report-final__stats--passport{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:auto;
}

.fg-report-final__stats--passport .fg-report-final__stat{
  min-height:92px;
  padding:18px 22px;
  border-bottom:0;
}

.fg-report-final__stats--passport .fg-report-final__stat--wide{
  grid-column:auto;
}

.fg-report-final__stats--passport .fg-report-final__stat--wide:first-child{
  grid-column:1 / -1 !important;
  min-height:auto;
  padding:26px 28px 24px;
  border-right:0;
  border-bottom:1px solid rgba(32,23,16,.11);
  background:rgba(255,250,242,.88);
}

.fg-report-final__stats--passport .fg-report-final__stat--wide:first-child span{
  font-size:11px;
  letter-spacing:.18em;
}

.fg-report-final__stats--passport .fg-report-final__stat--wide:first-child strong{
  font-size:clamp(22px,2vw,32px);
  line-height:1.05;
  letter-spacing:-.03em;
  font-weight:850;
}

.fg-report-final__stats--passport .fg-report-final__stat--wide:first-child small{
  font-size:13px;
  color:rgba(32,23,16,.6);
}

/* Supporting stats, including Lunch pause even though its HTML still has --wide. */
.fg-report-final__stats--passport .fg-report-final__stat:not(:first-child) strong,
.fg-report-final__stats--passport .fg-report-final__stat--wide:not(:first-child) strong,
.fg-report-final__stats--passport .fg-report-final__stat:last-child strong{
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.05;
  letter-spacing:-.04em;
}

.fg-report-final__stats--passport .fg-report-final__stat:not(:first-child) small{
  font-size:12.5px;
}

@media(max-width:980px){
  .fg-report-final__stats--passport{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .fg-report-final__stats--passport .fg-report-final__stat--wide{
    grid-column:auto;
  }

  .fg-report-final__stats--passport .fg-report-final__stat--wide:first-child{
    grid-column:1 / -1 !important;
  }
}

@media(max-width:640px){
  .fg-report-final__stats--passport{
    grid-template-columns:1fr !important;
  }

  .fg-report-final__stats--passport .fg-report-final__stat,
  .fg-report-final__stats--passport .fg-report-final__stat--wide:first-child{
    grid-column:1 / -1 !important;
    border-right:0;
  }
}

/* Road Trip Report · booking CTA hierarchy polish */
.rt-report-final__actions .rt-report-final__action--sponsored {
  border-color: rgba(15, 123, 79, .34);
  background: rgba(15, 123, 79, .065);
}

.rt-report-final__actions .rt-report-final__action--sponsored:first-child {
  border-color: rgba(15, 123, 79, .58);
  background: rgba(15, 123, 79, .105);
}

.rt-report-final__actions .rt-report-final__action--sponsored:first-child strong {
  font-size: 17px;
}

/* Road Trip Report · day-by-day rhythm */
.rt-report-final__rhythm-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.rt-report-final__rhythm-card {
  background: var(--rtf-card);
  border: 1px solid var(--rtf-line);
  border-radius: var(--rtf-radius);
  padding: 16px;
}

.rt-report-final__rhythm-card span {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--rtf-green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.rt-report-final__rhythm-card h4 {
  margin: 0 0 8px;
  color: var(--rtf-ink);
  font-size: 17px;
  line-height: 1.2;
}

.rt-report-final__rhythm-card p {
  margin: 0;
  color: var(--rtf-muted);
  font-size: 13px;
  line-height: 1.55;
  font-weight: 600;
}

.rt-report-final__rhythm-card ul {
  margin: 12px 0 0;
  padding-left: 18px;
  color: var(--rtf-ink);
  font-size: 13px;
  line-height: 1.55;
  font-weight: 700;
}

@media (max-width: 760px) {
  .rt-report-final__rhythm-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  .rt-report-final__rhythm-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Road Trip Report · trip snapshot */
.rt-report-final__snapshot-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.rt-report-final__snapshot-card {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid var(--rtf-line);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(249,244,235,.92));
}

.rt-report-final__snapshot-card span {
  color: var(--rtf-green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.rt-report-final__snapshot-card strong {
  color: var(--rtf-ink);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.15;
}

.rt-report-final__snapshot-card small {
  color: var(--rtf-muted);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .rt-report-final__snapshot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .rt-report-final__snapshot-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  .rt-report-final__snapshot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Road Trip Report · curated source context */
.rt-report-final__source {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 8px 0 10px;
  padding: 8px 10px;
  border: 1px solid rgba(15, 123, 79, .18);
  border-radius: 999px;
  background: rgba(15, 123, 79, .055);
  color: var(--rtf-ink);
  font-size: 13px;
  font-weight: 800;
}

.rt-report-final__source span {
  color: var(--rtf-muted);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.rt-report-final__source a,
.rt-report-final__source strong {
  color: var(--rtf-green-strong);
  text-decoration: none;
  font-weight: 900;
}

/* V3 Homepage Productization Patch: sample walk, field hints, reactive City card */
.hb3-context-note{
  margin:18px 0 0;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,247,233,.78);
  font-size:.88rem;
  line-height:1.55;
}

.hb3-context.is-reacting{
  animation:hb3ContextReact .68s ease-out;
}

@keyframes hb3ContextReact{
  0%{
    transform:translateY(0);
    border-color:rgba(255,1,37,.26);
  }
  38%{
    transform:translateY(-2px);
    border-color:rgba(255,1,37,.52);
  }
  100%{
    transform:translateY(0);
    border-color:rgba(255,255,255,.12);
  }
}

.hb3-field-hint{
  display:block;
  margin-top:7px;
  color:rgba(32,23,16,.58);
  font-size:.72rem;
  line-height:1.35;
  font-weight:750;
  letter-spacing:0;
  text-transform:none;
}

.hb3-action-row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin-top:4px;
}

.hb3-action-row .fg-submit{
  width:100%;
}

.hb3-sample-walk{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:16px;
  border:1px solid rgba(32,23,16,.18);
  background:#201710;
  color:#fff7e9;
  font-weight:950;
  text-decoration:none;
  letter-spacing:-.01em;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}

.hb3-sample-walk:hover{
  transform:translateY(-1px);
  background:#130e0a;
  border-color:rgba(32,23,16,.36);
}

.hb3-field-form select option:disabled{
  color:rgba(32,23,16,.42);
}

@media(min-width:720px){
  .hb3-action-row{
    grid-template-columns:minmax(0,1.08fr) minmax(190px,.92fr);
    align-items:stretch;
  }
}

@media(max-width:760px){
  .hb3-context.is-reacting{
    animation:hb3ContextReactMobile .72s ease-out;
  }

  @keyframes hb3ContextReactMobile{
    0%{
      transform:translateY(0);
      border-color:rgba(255,1,37,.22);
    }
    36%{
      transform:translateY(-2px);
      border-color:rgba(255,1,37,.58);
    }
    100%{
      transform:translateY(0);
      border-color:rgba(255,255,255,.12);
    }
  }

  .hb3-context-note{
    font-size:.84rem;
  }
}

/* V3 Field Guide Report Editorial Upgrade */
.fg-report-final__section--editorial-primer,
.fg-report-final__section--connoisseur{
  border:1px solid rgba(47,36,26,.12);
  background:linear-gradient(180deg, rgba(255,250,242,.96), rgba(255,247,233,.92));
}

.fg-report-final__primer-grid,
.fg-report-final__connoisseur-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:16px;
}

.fg-report-final__primer-grid article,
.fg-report-final__connoisseur-card{
  border:1px solid rgba(47,36,26,.11);
  border-radius:18px;
  background:#fffaf2;
  padding:16px;
}

.fg-report-final__primer-grid strong,
.fg-report-final__connoisseur-card strong{
  display:block;
  color:#201710;
  font-size:.92rem;
  line-height:1.2;
  margin-bottom:8px;
}

.fg-report-final__primer-grid p,
.fg-report-final__connoisseur-card p{
  margin:0;
  color:rgba(32,23,16,.68);
  font-size:.88rem;
  line-height:1.55;
}

.fg-report-final__section--connoisseur .fg-report-final__shead p{
  max-width:760px;
  color:rgba(32,23,16,.66);
}

.fg-report-final__guard-copy{
  margin-top:10px !important;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,1,37,.055);
  border:1px solid rgba(255,1,37,.16);
  color:rgba(32,23,16,.72) !important;
  font-size:.84rem !important;
  line-height:1.45 !important;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body{
  background:#201710;
  border-color:rgba(32,23,16,.18);
  color:#fff7e9;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body strong{
  color:#fff7e9;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body p{
  color:rgba(255,247,233,.74);
}

.fg-report-final__wpl-tag--serendipity{
  background:rgba(255,247,233,.1);
  color:#fff7e9;
  border-color:rgba(255,247,233,.16);
}

@media(max-width:820px){
  .fg-report-final__primer-grid,
  .fg-report-final__connoisseur-grid{
    grid-template-columns:1fr;
  }

  .fg-report-final__primer-grid article,
  .fg-report-final__connoisseur-card{
    padding:14px;
  }
}

/* V3 Field Guide Affiliate Refinement: calm editorial action panel */
#fieldGuideReport .fg-report-final__section--actions{
  background:rgba(255,250,242,.96);
  border:1px solid rgba(47,36,26,.1);
  color:#201710;
}

#fieldGuideReport .fg-report-final__section--actions .fg-report-final__shead span{
  color:#d42f17;
}

#fieldGuideReport .fg-report-final__section--actions .fg-report-final__shead h3{
  color:#201710;
}

#fieldGuideReport .fg-report-final__section--actions .fg-report-final__shead p{
  color:rgba(32,23,16,.66);
  max-width:820px;
}

#fieldGuideReport .fg-report-final__actions--city{
  gap:14px;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action{
  background:#fffaf2;
  border:1px solid rgba(47,36,26,.11);
  box-shadow:none;
  text-decoration:none;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action span{
  color:#d42f17;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action strong{
  color:#201710;
  text-decoration:none;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action small{
  color:rgba(32,23,16,.64);
  text-decoration:none;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action--primary{
  background:#b90f14;
  border-color:#b90f14;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action--primary span,
#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action--primary strong,
#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action--primary small{
  color:#fff7e9;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action:hover{
  transform:translateY(-1px);
  border-color:rgba(212,47,23,.32);
  text-decoration:none;
}

@media(max-width:820px){
  #fieldGuideReport .fg-report-final__section--actions{
    border-radius:22px;
  }
}

/* V3 Road Trip Revenue Flow Upgrade: calm Country Mode booking actions */
.rt-report-final__actions-section{
  background:rgba(248,252,247,.96);
  border:1px solid rgba(15,123,79,.13);
}

.rt-report-final__actions-section .rt-report-final__shead span{
  color:#0f7b4f;
}

.rt-report-final__actions-section .rt-report-final__shead p{
  max-width:840px;
  color:rgba(32,23,16,.66);
}

.rt-report-final__actions{
  gap:14px;
}

.rt-report-final__actions .rt-report-final__action{
  background:#fffef8;
  border:1px solid rgba(32,23,16,.1);
  box-shadow:none;
  text-decoration:none;
}

.rt-report-final__actions .rt-report-final__action span{
  color:#0f7b4f;
}

.rt-report-final__actions .rt-report-final__action strong{
  text-decoration:none;
}

.rt-report-final__actions .rt-report-final__action--sponsored{
  background:#fffef8;
  border-color:rgba(15,123,79,.18);
}

.rt-report-final__actions .rt-report-final__action--sponsored:first-child{
  background:#0f7b4f;
  border-color:#0f7b4f;
}

.rt-report-final__actions .rt-report-final__action--sponsored:first-child span,
.rt-report-final__actions .rt-report-final__action--sponsored:first-child strong,
.rt-report-final__actions .rt-report-final__action--sponsored:first-child small{
  color:#fff7e9;
}

.rt-report-final__actions .rt-report-final__action--sponsored span::after{
  content:" · Sponsored";
  color:inherit;
  opacity:.72;
  font-weight:850;
}

.rt-report-final__actions .rt-report-final__action:hover{
  transform:translateY(-1px);
  border-color:rgba(15,123,79,.34);
  text-decoration:none;
}

@media(max-width:820px){
  .rt-report-final__actions-section{
    border-radius:22px;
  }
}

/* V3 Live Cinema Pass Soft Teaser */
#fieldGuideReport .fg-report-final__section--cinema-teaser{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:18px;
  align-items:center;
  background:#201710;
  border-color:rgba(32,23,16,.22);
  color:#fff7e9;
}

#fieldGuideReport .fg-report-final__cinema-copy{
  display:grid;
  gap:10px;
}

#fieldGuideReport .fg-report-final__cinema-copy span{
  color:rgba(255,247,233,.7);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__cinema-copy h3{
  margin:0;
  color:#fff7e9;
  font-size:clamp(24px,2.6vw,38px);
  line-height:1.02;
  letter-spacing:-.04em;
}

#fieldGuideReport .fg-report-final__cinema-copy p{
  margin:0;
  max-width:760px;
  color:rgba(255,247,233,.72);
  line-height:1.58;
}

#fieldGuideReport .fg-report-final__cinema-notes{
  display:grid;
  gap:10px;
}

#fieldGuideReport .fg-report-final__cinema-notes article{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,247,233,.08);
  border:1px solid rgba(255,247,233,.1);
}

#fieldGuideReport .fg-report-final__cinema-notes strong{
  display:block;
  color:#fff7e9;
  font-size:.9rem;
  margin-bottom:3px;
}

#fieldGuideReport .fg-report-final__cinema-notes small{
  color:rgba(255,247,233,.64);
  line-height:1.42;
}

#fieldGuideReport .fg-report-final__cinema-cta{
  grid-column:1 / -1;
  display:inline-flex;
  width:fit-content;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  background:#fff7e9;
  color:#201710;
  font-weight:950;
  text-decoration:none;
  border:1px solid rgba(255,247,233,.24);
}

#fieldGuideReport .fg-report-final__cinema-cta:hover{
  transform:translateY(-1px);
  text-decoration:none;
}

@media(max-width:820px){
  #fieldGuideReport .fg-report-final__section--cinema-teaser{
    grid-template-columns:1fr;
  }

  #fieldGuideReport .fg-report-final__cinema-cta{
    width:100%;
  }
}

/* V3 Serendipity Pause Tone Down */
.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body{
  background:#fff7e9 !important;
  border:1px solid rgba(255,1,37,.16) !important;
  color:#201710 !important;
  box-shadow:0 12px 34px rgba(47,36,26,.06) !important;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body strong{
  color:#201710 !important;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body p{
  color:rgba(32,23,16,.66) !important;
}

.fg-report-final__wpl-tag--serendipity{
  background:transparent !important;
  border:0 !important;
  color:#d92516 !important;
  padding:0 !important;
  border-radius:0 !important;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-tag--serendipity{
  box-shadow:none !important;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body::before,
.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body::after,
.fg-report-final__wpl-tag--serendipity::before,
.fg-report-final__wpl-tag--serendipity::after{
  display:none !important;
  content:none !important;
}

/* V3 Serendipity Pause Sage Tone */
.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body{
  background:#f2f7ee !important;
  border:1px solid rgba(91,128,86,.28) !important;
  color:#20301f !important;
  box-shadow:none !important;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body strong{
  color:#20301f !important;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body p{
  color:rgba(32,48,31,.72) !important;
}

.fg-report-final__wpl-tag--serendipity{
  display:inline-flex !important;
  width:auto !important;
  background:transparent !important;
  border:0 !important;
  color:#4f7b49 !important;
  padding:0 !important;
  box-shadow:none !important;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-tag--serendipity,
.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-tag--serendipity::before,
.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-tag--serendipity::after{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body::before,
.fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body::after{
  display:none !important;
  content:none !important;
}

/* V4 Commit 1: Mobile conversion polish
   Homepage builder + Field Guide Report + Road Trip Report.
   CSS-only. No generated pages. */
@media(max-width:760px){

  /* Homepage Builder Hub */
  .hb3-hub{
    width:min(100% - 18px, 1180px) !important;
    padding-top:14px !important;
  }

  .hb3-head{
    text-align:left !important;
    gap:14px !important;
    margin-bottom:14px !important;
  }

  .hb3-eyebrow{
    font-size:.68rem !important;
    letter-spacing:.16em !important;
  }

  .hb3-title{
    font-size:clamp(38px, 12vw, 52px) !important;
    line-height:.92 !important;
    letter-spacing:-.065em !important;
  }

  .hb3-subtitle{
    font-size:1rem !important;
    line-height:1.42 !important;
    max-width:34ch !important;
  }

  .hb3-toggle{
    width:100% !important;
    padding:5px !important;
    border-radius:18px !important;
    gap:5px !important;
  }

  .hb3-toggle-btn{
    min-height:58px !important;
    padding:10px 9px !important;
    border-radius:14px !important;
  }

  .hb3-toggle-label{
    font-size:.88rem !important;
  }

  .hb3-toggle-sub{
    font-size:.68rem !important;
  }

  .hb3-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .hb3-context{
    min-height:auto !important;
    padding:18px !important;
    border-radius:24px !important;
  }

  .hb3-context::after{
    opacity:.16 !important;
    transform:scale(.82) !important;
    transform-origin:right bottom !important;
  }

  .hb3-headline{
    font-size:clamp(28px, 9vw, 40px) !important;
    line-height:.98 !important;
    max-width:12ch !important;
  }

  .hb3-desc,
  .hb3-context-note{
    font-size:.9rem !important;
    line-height:1.48 !important;
  }

  .hb3-context-note{
    margin-top:12px !important;
    padding-top:12px !important;
  }

  .hb3-form-card{
    padding:12px !important;
    border-radius:24px !important;
  }

  .hb3-field-form{
    gap:12px !important;
  }

  .hb3-field-form .build-form-head h2{
    font-size:1.25rem !important;
  }

  .hb3-field-form label,
  .hb3-field-form fieldset{
    gap:7px !important;
  }

  .hb3-field-form select,
  .hb3-field-form input[type="date"],
  .hb3-field-form input[type="time"]{
    min-height:48px !important;
    border-radius:14px !important;
    font-size:.95rem !important;
  }

  .hb3-field-form .build-interest-grid{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .hb3-field-form .fg-chip{
    min-height:44px !important;
    align-items:center !important;
  }

  .hb3-action-row{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .hb3-action-row .fg-submit,
  .hb3-sample-walk{
    min-height:52px !important;
    border-radius:16px !important;
    font-size:.94rem !important;
  }

  .home-embedded-road-planner .route-planner-card{
    padding:14px !important;
    border-radius:22px !important;
  }

  .home-embedded-road-planner .route-map,
  .home-embedded-road-planner .route-map-wide,
  .sh-rtv2-map{
    height:300px !important;
    min-height:300px !important;
    border-radius:18px !important;
  }
}

/* Package D: date validation shake */
.sh-rtv2-date-error {
  border-color: #c0392b !important;
  box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.18) !important;
  animation: sh-rtv2-shake 0.35s ease;
}
@keyframes sh-rtv2-shake {
  0%, 100% { transform: translateX(0); }
  20%       { transform: translateX(-5px); }
  40%       { transform: translateX(5px); }
  60%       { transform: translateX(-4px); }
  80%       { transform: translateX(3px); }
}
/* Package E: mode explanation hint */
.sh-rtv2-mode-hint {
  margin: 4px 0 0;
  font-size: 12px;
  color: rgba(35, 28, 22, .55);
  line-height: 1.35;
  font-weight: 600;
}

/* Report overlays: mobile reading comfort */
@media(max-width:760px){

  body.field-guide-report-open .home-fg-result.is-visible,
  body.road-trip-report-open #roadTripReport,
  body.road-trip-report-open .road-trip-report{
    padding:10px !important;
  }

  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final,
  body.road-trip-report-open .rt-report-final{
    border-radius:24px !important;
    overflow:hidden !important;
  }

  .fg-report-final__topbar,
  .rt-report-final__topbar{
    min-height:58px !important;
    padding:12px 14px !important;
  }

  .fg-report-final__brandtitle,
  .rt-report-final__brandtitle{
    font-size:.92rem !important;
  }

  .fg-report-final__close,
  .rt-report-final__close{
    width:42px !important;
    height:42px !important;
    border-radius:14px !important;
  }

  .fg-report-final__hero,
  .fg-report-final__hero--product,
  .rt-report-final__hero{
    padding:22px 16px !important;
    border-radius:0 !important;
  }

  .fg-report-final__title,
  .fg-report-final__hero--product .fg-report-final__title,
  .rt-report-final__title{
    font-size:clamp(32px, 11vw, 46px) !important;
    line-height:.95 !important;
    letter-spacing:-.06em !important;
  }

  .fg-report-final__lede,
  .fg-report-final__note,
  .rt-report-final__lede,
  .rt-report-final__note{
    font-size:.95rem !important;
    line-height:1.5 !important;
  }

  .fg-report-final__hero-pack,
  .fg-report-final__stats,
  .fg-report-final__stats--passport,
  .rt-report-final__stats{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .fg-report-final__stat,
  .fg-report-final__stats--passport .fg-report-final__stat,
  .fg-report-final__stats--passport .fg-report-final__stat--wide,
  .fg-report-final__stats--passport .fg-report-final__stat--wide:first-child,
  .rt-report-final__stat{
    grid-column:1 / -1 !important;
    min-height:auto !important;
    padding:14px 16px !important;
    border-right:0 !important;
  }

  .fg-report-final__section,
  .rt-report-final__section{
    padding:18px 16px !important;
    border-radius:20px !important;
  }

  .fg-report-final__shead h3,
  .rt-report-final__shead h3{
    font-size:clamp(22px, 7vw, 30px) !important;
    line-height:1.04 !important;
  }

  .fg-report-final__shead p,
  .rt-report-final__shead p{
    font-size:.92rem !important;
    line-height:1.5 !important;
  }

  .fg-report-final__grid,
  .fg-report-final__grid--access,
  .fg-report-final__grid--food,
  .fg-report-final__grid--photos,
  .fg-report-final__primer-grid,
  .fg-report-final__connoisseur-grid,
  .fg-report-final__actions,
  .fg-report-final__actions--city,
  .rt-report-final__grid,
  .rt-report-final__grid--3,
  .rt-report-final__grid--photos,
  .rt-report-final__snapshot-grid,
  .rt-report-final__intel-grid,
  .rt-report-final__rhythm-grid,
  .rt-report-final__actions{
    grid-template-columns:1fr !important;
  }

  .fg-report-final__section--cinema-teaser{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:18px 16px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-copy h3{
    font-size:clamp(25px, 8vw, 34px) !important;
  }

  #fieldGuideReport .fg-report-final__cinema-cta{
    width:100% !important;
    min-height:50px !important;
  }

  .fg-report-final__actions--city .fg-report-final__action,
  .rt-report-final__actions .rt-report-final__action{
    min-height:92px !important;
    padding:15px 16px !important;
    border-radius:18px !important;
  }

  .fg-report-final__utilrow,
  .rt-report-final__utilrow{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:14px 16px !important;
  }

  .fg-report-final__util,
  .rt-report-final__util{
    width:100% !important;
    min-height:48px !important;
    justify-content:start !important;
    border-radius:16px !important;
  }
}

/* Walk plan mobile: make timeline readable, not cramped */
@media(max-width:640px){

  body.field-guide-report-open .fg-report-final__wpl-list{
    gap:10px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-step{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-time{
    width:fit-content !important;
    min-width:auto !important;
    min-height:auto !important;
    padding:7px 11px !important;
    border-radius:999px !important;
    font-size:.78rem !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-body{
    padding:14px !important;
    border-radius:18px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-stophead{
    grid-template-columns:34px 1fr !important;
    gap:10px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-num{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-title{
    font-size:1.05rem !important;
    line-height:1.16 !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-meta{
    font-size:.7rem !important;
    line-height:1.3 !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-body p{
    font-size:.9rem !important;
    line-height:1.5 !important;
  }

  .fg-report-final__wpl-ticket-cta{
    grid-template-columns:1fr !important;
    gap:4px !important;
    padding:12px !important;
    border-radius:16px !important;
  }
}

/* V4 Commit 2: Report conversion quick actions
   Adds a compact action strip near the top of Field Guide and Road Trip reports.
   CSS-only styling for new existing report markup. */
.fg-report-final__quickstrip,
.rt-report-final__quickstrip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:14px 18px;
  background:rgba(255,250,242,.86);
  border-bottom:1px solid rgba(32,23,16,.1);
}

.fg-report-final__quickstrip a,
.fg-report-final__quickstrip button,
.rt-report-final__quickstrip a,
.rt-report-final__quickstrip button{
  appearance:none;
  border:1px solid rgba(32,23,16,.1);
  border-radius:16px;
  background:#fffef8;
  color:#201710;
  display:grid;
  gap:2px;
  padding:12px 14px;
  min-height:62px;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
}

.fg-report-final__quickstrip a:nth-child(2),
.fg-report-final__quickstrip a:nth-child(3),
.rt-report-final__quickstrip a:nth-child(2),
.rt-report-final__quickstrip a:nth-child(3){
  border-color:rgba(15,123,79,.22);
}

.fg-report-final__quickstrip a:first-child,
.rt-report-final__quickstrip a:first-child{
  background:#201710;
  border-color:#201710;
}

.fg-report-final__quickstrip a:first-child span,
.fg-report-final__quickstrip a:first-child strong,
.rt-report-final__quickstrip a:first-child span,
.rt-report-final__quickstrip a:first-child strong{
  color:#fff7e9;
}

.fg-report-final__quickstrip span,
.rt-report-final__quickstrip span{
  color:rgba(32,23,16,.48);
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

.fg-report-final__quickstrip strong,
.rt-report-final__quickstrip strong{
  color:#201710;
  font-size:.95rem;
  line-height:1.1;
  font-weight:950;
}

.fg-report-final__quickstrip a:hover,
.fg-report-final__quickstrip button:hover,
.rt-report-final__quickstrip a:hover,
.rt-report-final__quickstrip button:hover{
  transform:translateY(-1px);
  border-color:rgba(255,1,37,.28);
  text-decoration:none;
}

@media(max-width:820px){
  .fg-report-final__quickstrip,
  .rt-report-final__quickstrip{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:12px;
  }
}

@media(max-width:520px){
  .fg-report-final__quickstrip,
  .rt-report-final__quickstrip{
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:10px;
  }

  .fg-report-final__quickstrip a,
  .fg-report-final__quickstrip button,
  .rt-report-final__quickstrip a,
  .rt-report-final__quickstrip button{
    min-height:56px;
    padding:10px 11px;
    border-radius:14px;
  }

  .fg-report-final__quickstrip strong,
  .rt-report-final__quickstrip strong{
    font-size:.86rem;
  }

  .fg-report-final__quickstrip span,
  .rt-report-final__quickstrip span{
    font-size:.6rem;
  }
}

/* V4 Commit 3: Quickstrip UX + tracking polish
   Makes top report actions feel like a controlled product bar, not loose cards. */
.fg-report-final__quickstrip,
.rt-report-final__quickstrip{
  position:sticky;
  top:0;
  z-index:7;
  backdrop-filter:blur(16px);
  box-shadow:0 10px 28px rgba(32,23,16,.055);
}

.fg-report-final__quickstrip a,
.fg-report-final__quickstrip button,
.rt-report-final__quickstrip a,
.rt-report-final__quickstrip button{
  position:relative;
  overflow:hidden;
}

.fg-report-final__quickstrip a[rel~="sponsored"]::after,
.rt-report-final__quickstrip a[rel~="sponsored"]::after{
  content:"Sponsored";
  position:absolute;
  right:10px;
  top:8px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(15,123,79,.09);
  color:#0f7b4f;
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.fg-report-final__quickstrip a[rel~="sponsored"],
.rt-report-final__quickstrip a[rel~="sponsored"]{
  padding-right:82px;
}

.rt-report-final__quickstrip a:first-child{
  background:#0f7b4f;
  border-color:#0f7b4f;
}

.rt-report-final__quickstrip a:first-child span,
.rt-report-final__quickstrip a:first-child strong{
  color:#fff7e9;
}

.fg-report-final__quickstrip button,
.rt-report-final__quickstrip button{
  background:rgba(255,247,233,.72);
}

.fg-report-final__quickstrip button strong,
.rt-report-final__quickstrip button strong{
  color:#201710;
}

@media(max-width:760px){
  .fg-report-final__quickstrip,
  .rt-report-final__quickstrip{
    top:0;
    border-radius:0;
    box-shadow:0 8px 22px rgba(32,23,16,.075);
  }

  .fg-report-final__quickstrip a[rel~="sponsored"],
  .rt-report-final__quickstrip a[rel~="sponsored"]{
    padding-right:11px;
    padding-top:24px;
  }

  .fg-report-final__quickstrip a[rel~="sponsored"]::after,
  .rt-report-final__quickstrip a[rel~="sponsored"]::after{
    left:10px;
    right:auto;
    top:7px;
    font-size:.5rem;
  }
}

@media(max-width:420px){
  .fg-report-final__quickstrip,
  .rt-report-final__quickstrip{
    grid-template-columns:1fr;
  }

  .fg-report-final__quickstrip a,
  .fg-report-final__quickstrip button,
  .rt-report-final__quickstrip a,
  .rt-report-final__quickstrip button{
    min-height:52px;
  }
}

/* V4 Commit 4: Quickstrip live UX hardening
   Keep quick actions below the report topbar and make button tracking useful. */
.fg-report-final__quickstrip,
.rt-report-final__quickstrip{
  top:64px;
  z-index:6;
}

.fg-report-final__topbar,
.rt-report-final__topbar{
  z-index:8;
}

.fg-report-final__quickstrip button[data-track-action="true"],
.rt-report-final__quickstrip button[data-track-action="true"]{
  border-style:solid;
}

.fg-report-final__quickstrip a[rel~="sponsored"]::after,
.rt-report-final__quickstrip a[rel~="sponsored"]::after{
  pointer-events:none;
}

@media(max-width:760px){
  .fg-report-final__quickstrip,
  .rt-report-final__quickstrip{
    top:58px;
  }
}

@media(max-width:420px){
  .fg-report-final__quickstrip,
  .rt-report-final__quickstrip{
    gap:7px;
  }

  .fg-report-final__quickstrip a,
  .fg-report-final__quickstrip button,
  .rt-report-final__quickstrip a,
  .rt-report-final__quickstrip button{
    padding:9px 10px;
  }

  .fg-report-final__quickstrip a[rel~="sponsored"]::after,
  .rt-report-final__quickstrip a[rel~="sponsored"]::after{
    right:8px;
    top:6px;
    font-size:.5rem;
  }
}

/* V4 Commit 5: Mobile quickstrip QA fix
   Do not let the sticky report action strip become a tall 4-row block on phones.
   Keep it as a compact horizontal product toolbar. */
@media(max-width:520px){
  .fg-report-final__quickstrip,
  .rt-report-final__quickstrip{
    display:flex !important;
    grid-template-columns:none !important;
    gap:8px !important;
    padding:9px 10px !important;
    overflow-x:auto !important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
  }

  .fg-report-final__quickstrip::-webkit-scrollbar,
  .rt-report-final__quickstrip::-webkit-scrollbar{
    display:none;
  }

  .fg-report-final__quickstrip a,
  .fg-report-final__quickstrip button,
  .rt-report-final__quickstrip a,
  .rt-report-final__quickstrip button{
    flex:0 0 138px !important;
    min-width:138px !important;
    min-height:54px !important;
    padding:10px 11px !important;
    border-radius:15px !important;
    scroll-snap-align:start;
  }

  .fg-report-final__quickstrip strong,
  .rt-report-final__quickstrip strong{
    font-size:.84rem !important;
    line-height:1.08 !important;
    white-space:normal;
  }

  .fg-report-final__quickstrip span,
  .rt-report-final__quickstrip span{
    font-size:.58rem !important;
    letter-spacing:.11em !important;
  }

  .fg-report-final__quickstrip a[rel~="sponsored"],
  .rt-report-final__quickstrip a[rel~="sponsored"]{
    padding-top:23px !important;
    padding-right:11px !important;
  }

  .fg-report-final__quickstrip a[rel~="sponsored"]::after,
  .rt-report-final__quickstrip a[rel~="sponsored"]::after{
    left:10px !important;
    right:auto !important;
    top:6px !important;
    font-size:.48rem !important;
  }
}

@media(max-width:380px){
  .fg-report-final__quickstrip a,
  .fg-report-final__quickstrip button,
  .rt-report-final__quickstrip a,
  .rt-report-final__quickstrip button{
    flex-basis:126px !important;
    min-width:126px !important;
  }
}

/* V4 Commit 6: Reduce duplicated report CTA pressure
   Keep quickstrip as the primary action surface; make lower actions feel secondary. */
#fieldGuideReport .fg-report-final__section--actions,
.rt-report-final__actions-section{
  background:rgba(255,250,242,.72);
}

#fieldGuideReport .fg-report-final__section--actions .fg-report-final__shead span,
.rt-report-final__actions-section .rt-report-final__shead span{
  color:rgba(32,23,16,.58);
}

#fieldGuideReport .fg-report-final__section--actions .fg-report-final__shead h3,
.rt-report-final__actions-section .rt-report-final__shead h3{
  font-size:clamp(24px,2.1vw,34px);
}

#fieldGuideReport .fg-report-final__section--actions .fg-report-final__shead p,
.rt-report-final__actions-section .rt-report-final__shead p{
  max-width:780px;
  color:rgba(32,23,16,.62);
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action,
.rt-report-final__actions .rt-report-final__action{
  box-shadow:none;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action--primary,
.rt-report-final__actions .rt-report-final__action--sponsored:first-child{
  transform:none;
}

#fieldGuideReport .fg-report-final__actions--city .fg-report-final__action--primary:hover,
.rt-report-final__actions .rt-report-final__action--sponsored:first-child:hover{
  transform:translateY(-1px);
}

/* The top quickstrip already has export. Keep lower utilities for desktop, reduce mobile noise. */
@media(max-width:760px){
  #fieldGuideReport .fg-report-final__section--actions,
  .rt-report-final__actions-section{
    margin-top:8px;
  }

  #fieldGuideReport .fg-report-final__section--actions .fg-report-final__shead h3,
  .rt-report-final__actions-section .rt-report-final__shead h3{
    font-size:clamp(22px,7vw,28px) !important;
  }

  #fieldGuideReport .fg-report-final__section--actions .fg-report-final__actions--city,
  .rt-report-final__actions-section .rt-report-final__actions{
    gap:8px !important;
  }

  #fieldGuideReport .fg-report-final__utilrow,
  .rt-report-final__utilrow{
    display:none !important;
  }
}

/* V4 Commit 7: Mobile visual QA compression
   Reduce report poster-scale typography and vertical pressure on real phones.
   CSS-only. No generated pages. */
@media(max-width:520px){

  body.field-guide-report-open .home-fg-result.is-visible,
  body.road-trip-report-open #roadTripReport,
  body.road-trip-report-open .road-trip-report{
    padding:8px !important;
  }

  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final,
  body.road-trip-report-open .rt-report-final{
    border-radius:20px !important;
  }

  .fg-report-final__topbar,
  .rt-report-final__topbar{
    min-height:54px !important;
    padding:10px 12px !important;
  }

  .fg-report-final__brandtitle,
  .rt-report-final__brandtitle{
    font-size:.86rem !important;
    line-height:1.1 !important;
  }

  .fg-report-final__close,
  .rt-report-final__close{
    width:38px !important;
    height:38px !important;
    border-radius:13px !important;
    font-size:1.2rem !important;
  }

  .fg-report-final__quickstrip,
  .rt-report-final__quickstrip{
    top:54px !important;
    padding:7px 8px !important;
    gap:7px !important;
  }

  .fg-report-final__quickstrip a,
  .fg-report-final__quickstrip button,
  .rt-report-final__quickstrip a,
  .rt-report-final__quickstrip button{
    flex-basis:128px !important;
    min-width:128px !important;
    min-height:48px !important;
    padding:8px 10px !important;
    border-radius:14px !important;
  }

  .fg-report-final__quickstrip strong,
  .rt-report-final__quickstrip strong{
    font-size:.78rem !important;
    line-height:1.05 !important;
  }

  .fg-report-final__quickstrip span,
  .rt-report-final__quickstrip span{
    font-size:.52rem !important;
    letter-spacing:.1em !important;
  }

  .fg-report-final__quickstrip a[rel~="sponsored"],
  .rt-report-final__quickstrip a[rel~="sponsored"]{
    padding-top:20px !important;
  }

  .fg-report-final__quickstrip a[rel~="sponsored"]::after,
  .rt-report-final__quickstrip a[rel~="sponsored"]::after{
    top:5px !important;
    left:9px !important;
    font-size:.44rem !important;
    padding:2px 5px !important;
  }

  .fg-report-final__hero,
  .fg-report-final__hero--product,
  .rt-report-final__hero{
    padding:18px 14px !important;
  }

  .fg-report-final__eyebrow,
  .rt-report-final__eyebrow,
  .fg-report-final__shead span,
  .rt-report-final__shead span{
    font-size:.68rem !important;
    letter-spacing:.16em !important;
  }

  .fg-report-final__title,
  .fg-report-final__hero--product .fg-report-final__title,
  .rt-report-final__title{
    font-size:clamp(29px, 9.5vw, 40px) !important;
    line-height:.98 !important;
    letter-spacing:-.055em !important;
  }

  .fg-report-final__lede,
  .fg-report-final__note,
  .rt-report-final__lede,
  .rt-report-final__note{
    font-size:.9rem !important;
    line-height:1.43 !important;
  }

  .fg-report-final__stats,
  .fg-report-final__stats--passport,
  .rt-report-final__stats{
    gap:0 !important;
  }

  .fg-report-final__stat,
  .fg-report-final__stats--passport .fg-report-final__stat,
  .fg-report-final__stats--passport .fg-report-final__stat--wide,
  .fg-report-final__stats--passport .fg-report-final__stat--wide:first-child,
  .rt-report-final__stat{
    padding:12px 14px !important;
    min-height:auto !important;
  }

  .fg-report-final__stat span,
  .rt-report-final__stat span{
    font-size:.66rem !important;
    letter-spacing:.15em !important;
  }

  .fg-report-final__stat strong,
  .fg-report-final__stats--passport .fg-report-final__stat strong,
  .fg-report-final__stats--passport .fg-report-final__stat--wide strong,
  .fg-report-final__stats--passport .fg-report-final__stat--wide:first-child strong,
  .rt-report-final__stat strong{
    font-size:1.08rem !important;
    line-height:1.05 !important;
  }

  .fg-report-final__stat small,
  .rt-report-final__stat small{
    font-size:.8rem !important;
    line-height:1.35 !important;
  }

  .fg-report-final__section,
  .rt-report-final__section{
    padding:16px 14px !important;
    border-radius:18px !important;
  }

  .fg-report-final__shead h3,
  .rt-report-final__shead h3{
    font-size:clamp(22px, 7.2vw, 30px) !important;
    line-height:1.02 !important;
    letter-spacing:-.045em !important;
  }

  .fg-report-final__shead p,
  .rt-report-final__shead p{
    font-size:.9rem !important;
    line-height:1.45 !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-body{
    padding:13px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-title{
    font-size:1rem !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-body p{
    font-size:.88rem !important;
    line-height:1.45 !important;
  }

  .rt-report-final__map{
    min-height:260px !important;
  }

  .rt-report-final__map iframe{
    min-height:260px !important;
  }

  .rt-report-final__stop{
    gap:10px !important;
    padding:13px !important;
    border-radius:18px !important;
  }

  .rt-report-final__stop-no{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
  }

  .rt-report-final__stop-body h4{
    font-size:1rem !important;
    line-height:1.1 !important;
  }

  .rt-report-final__stop-body p{
    font-size:.88rem !important;
    line-height:1.45 !important;
  }

  #fieldGuideReport .fg-report-final__section--actions .fg-report-final__action,
  .rt-report-final__actions .rt-report-final__action{
    min-height:auto !important;
    padding:13px 14px !important;
    border-radius:17px !important;
  }

  #fieldGuideReport .fg-report-final__section--actions .fg-report-final__action strong,
  .rt-report-final__actions .rt-report-final__action strong{
    font-size:.98rem !important;
    line-height:1.12 !important;
  }

  #fieldGuideReport .fg-report-final__section--actions .fg-report-final__action small,
  .rt-report-final__actions .rt-report-final__action small{
    font-size:.82rem !important;
    line-height:1.4 !important;
  }
}

@media(max-width:380px){
  .fg-report-final__quickstrip a,
  .fg-report-final__quickstrip button,
  .rt-report-final__quickstrip a,
  .rt-report-final__quickstrip button{
    flex-basis:120px !important;
    min-width:120px !important;
  }

  .fg-report-final__title,
  .fg-report-final__hero--product .fg-report-final__title,
  .rt-report-final__title{
    font-size:30px !important;
  }
}

/* Commit 8A: Free Audio Guide Beta
   Working free audio guide layer. Browser SpeechSynthesis + optional browser GPS.
   No paid API, no server-side TTS, no generated pages. */
#fieldGuideReport .fg-report-final__section--cinema-teaser{
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  background:#201710;
}

#fieldGuideReport .fg-report-final__cinema-player{
  display:grid;
  gap:12px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,247,233,.08);
  border:1px solid rgba(255,247,233,.12);
}

#fieldGuideReport .fg-report-final__cinema-now{
  display:grid;
  gap:5px;
}

#fieldGuideReport .fg-report-final__cinema-now span{
  color:rgba(255,247,233,.62);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__cinema-now strong{
  color:#fff7e9;
  font-size:1.15rem;
  line-height:1.12;
}

#fieldGuideReport .fg-report-final__cinema-now small,
#fieldGuideReport .fg-report-final__cinema-free-note{
  color:rgba(255,247,233,.66);
  line-height:1.45;
}

#fieldGuideReport .fg-report-final__cinema-controls{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

#fieldGuideReport .fg-report-final__cinema-controls button,
#fieldGuideReport .fg-report-final__cinema-stop{
  appearance:none;
  border:1px solid rgba(255,247,233,.16);
  background:rgba(255,247,233,.08);
  color:#fff7e9;
  border-radius:999px;
  min-height:42px;
  padding:0 13px;
  font-weight:950;
  cursor:pointer;
  font-family:inherit;
}

#fieldGuideReport .fg-report-final__cinema-controls button:hover,
#fieldGuideReport .fg-report-final__cinema-stop:hover{
  transform:translateY(-1px);
  border-color:rgba(255,247,233,.32);
}

#fieldGuideReport .fg-report-final__cinema-controls .fg-report-final__cinema-cta{
  background:#fff7e9;
  color:#201710;
  border-color:#fff7e9;
}

#fieldGuideReport [data-fg-cinema-soundscape][aria-pressed="true"]{
  background:#4f7b49;
  border-color:#4f7b49;
  color:#fff7e9;
}

#fieldGuideReport .fg-report-final__cinema-playlist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

#fieldGuideReport .fg-report-final__cinema-stop{
  display:grid;
  text-align:left;
  border-radius:16px;
  min-height:72px;
  padding:10px 12px;
}

#fieldGuideReport .fg-report-final__cinema-stop span{
  color:rgba(255,247,233,.52);
  font-size:.62rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}

#fieldGuideReport .fg-report-final__cinema-stop strong{
  color:#fff7e9;
  font-size:.9rem;
  line-height:1.1;
}

#fieldGuideReport .fg-report-final__cinema-stop small{
  color:rgba(255,247,233,.58);
  font-size:.75rem;
}

#fieldGuideReport .fg-report-final__cinema-stop[data-fg-cinema-active="true"]{
  background:rgba(255,247,233,.16);
  border-color:rgba(255,247,233,.34);
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__cinema-controls{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  #fieldGuideReport .fg-report-final__cinema-controls button{
    border-radius:15px;
    min-height:46px;
  }

  #fieldGuideReport .fg-report-final__cinema-controls .fg-report-final__cinema-cta{
    grid-column:1 / -1;
  }

  #fieldGuideReport .fg-report-final__cinema-playlist{
    grid-template-columns:1fr;
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__cinema-controls{
    grid-template-columns:1fr;
  }
}

/* Commit 8B: Free Audio Guide Beta QA hardening
   GPS toggle state, ambient toggle state and tighter mobile controls. */
#fieldGuideReport [data-fg-cinema-gps][aria-pressed="true"],
#fieldGuideReport [data-fg-cinema-soundscape][aria-pressed="true"]{
  background:#4f7b49;
  border-color:#4f7b49;
  color:#fff7e9;
}

#fieldGuideReport .fg-report-final__cinema-status-pill{
  display:inline-flex;
  width:fit-content;
  border-radius:999px;
  padding:5px 8px;
  background:rgba(255,247,233,.1);
  color:rgba(255,247,233,.72);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media(max-width:520px){
  #fieldGuideReport .fg-report-final__section--cinema-teaser{
    gap:12px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-player{
    padding:12px !important;
    border-radius:16px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-controls{
    gap:7px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-controls button{
    min-height:44px !important;
    padding:0 10px !important;
    font-size:.86rem !important;
  }

  #fieldGuideReport .fg-report-final__cinema-stop{
    min-height:64px !important;
    padding:9px 10px !important;
  }
}

/* Commit 8C: Free Audio Guide real-device QA polish
   Reduce mobile friction and make active audio chapter easier to follow. */
#fieldGuideReport .fg-report-final__cinema-stop[data-fg-cinema-active="true"]{
  outline:2px solid rgba(255,247,233,.28);
  outline-offset:2px;
}

#fieldGuideReport .fg-report-final__cinema-now small{
  min-height:1.35em;
}

@media(max-width:520px){
  #fieldGuideReport .fg-report-final__cinema-copy h3{
    font-size:clamp(22px, 7vw, 28px) !important;
  }

  #fieldGuideReport .fg-report-final__cinema-copy p,
  #fieldGuideReport .fg-report-final__cinema-free-note,
  #fieldGuideReport .fg-report-final__cinema-notes small{
    font-size:.86rem !important;
    line-height:1.42 !important;
  }

  #fieldGuideReport .fg-report-final__cinema-notes{
    gap:8px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-notes article{
    padding:10px 11px !important;
    border-radius:14px !important;
  }
}

/* Commit 10: Audio Guide visibility UX
   Make the free Audio Guide Beta visible before and inside the report. */
.hb3-audio-proof{
  position:relative;
  z-index:1;
  display:grid;
  gap:8px;
  margin-top:18px;
  padding:16px;
  border-radius:20px;
  background:rgba(255,247,233,.10);
  border:1px solid rgba(255,247,233,.18);
  color:#fff7e9;
}

.hb3-audio-proof span{
  color:rgba(255,247,233,.68);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

.hb3-audio-proof strong{
  color:#fff7e9;
  font-size:1.18rem;
  line-height:1.08;
  letter-spacing:-.02em;
}

.hb3-audio-proof p{
  margin:0;
  color:rgba(255,247,233,.72);
  line-height:1.45;
  font-weight:750;
}

.hb3-audio-bridge{
  position:relative;
  z-index:1;
  display:grid;
  gap:4px;
  margin-top:10px;
  padding:14px 15px;
  border-radius:18px;
  background:#fff7e9;
  color:#201710;
  text-decoration:none;
  border:1px solid rgba(255,247,233,.24);
}

.hb3-audio-bridge:hover{
  transform:translateY(-1px);
  text-decoration:none;
}

.hb3-audio-bridge span{
  color:rgba(32,23,16,.55);
  font-size:.66rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:950;
}

.hb3-audio-bridge strong{
  color:#201710;
  font-size:1rem;
  line-height:1.1;
  font-weight:950;
}

.hb3-audio-bridge small{
  color:rgba(32,23,16,.64);
  font-weight:800;
}

#fieldGuideReport .fg-report-final__cinema-howto{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

#fieldGuideReport .fg-report-final__cinema-howto article{
  display:grid;
  gap:6px;
  padding:13px;
  border-radius:16px;
  background:rgba(255,247,233,.08);
  border:1px solid rgba(255,247,233,.12);
}

#fieldGuideReport .fg-report-final__cinema-howto span{
  display:inline-grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:#fff7e9;
  color:#201710;
  font-weight:950;
  font-size:.78rem;
}

#fieldGuideReport .fg-report-final__cinema-howto strong{
  color:#fff7e9;
  font-size:.95rem;
  line-height:1.1;
}

#fieldGuideReport .fg-report-final__cinema-howto small{
  color:rgba(255,247,233,.66);
  line-height:1.38;
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__cinema-howto{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .hb3-audio-proof{
    margin-top:14px;
    padding:13px;
    border-radius:17px;
  }

  .hb3-audio-proof strong{
    font-size:1rem;
  }

  .hb3-audio-proof p,
  .hb3-audio-bridge small{
    font-size:.86rem;
  }

  .hb3-audio-bridge{
    padding:12px 13px;
    border-radius:16px;
  }
}

/* Commit 11: Audio Guide tracking + feedback
   Make the free audio beta measurable and give users a fast failure-report path. */
#fieldGuideReport .fg-report-final__cinema-feedback{
  display:inline-flex;
  width:fit-content;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin-top:2px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,247,233,.16);
  background:rgba(255,247,233,.06);
  color:rgba(255,247,233,.82);
  font-size:.82rem;
  font-weight:900;
  text-decoration:none;
}

#fieldGuideReport .fg-report-final__cinema-feedback:hover{
  background:rgba(255,247,233,.12);
  border-color:rgba(255,247,233,.28);
  text-decoration:none;
  transform:translateY(-1px);
}

@media(max-width:520px){
  #fieldGuideReport .fg-report-final__cinema-feedback{
    width:100%;
    min-height:42px;
    border-radius:14px;
    text-align:center;
  }
}

/* Commit 12: Audio Guide device readiness
   Show users what the current browser/device can actually support before walking. */
#fieldGuideReport .fg-report-final__cinema-readiness{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,247,233,.075);
  border:1px solid rgba(255,247,233,.12);
}

#fieldGuideReport .fg-report-final__cinema-readiness-head{
  display:grid;
  gap:3px;
}

#fieldGuideReport .fg-report-final__cinema-readiness-head span{
  color:rgba(255,247,233,.58);
  font-size:.66rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__cinema-readiness-head strong{
  color:#fff7e9;
  font-size:.95rem;
  line-height:1.18;
}

#fieldGuideReport .fg-report-final__cinema-readiness-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}

#fieldGuideReport .fg-report-final__cinema-readiness-grid small{
  display:flex;
  align-items:center;
  min-height:34px;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(255,247,233,.13);
  background:rgba(255,247,233,.06);
  color:rgba(255,247,233,.72);
  font-size:.68rem;
  line-height:1.15;
  font-weight:900;
}

#fieldGuideReport .fg-report-final__cinema-readiness-grid small[data-ready="yes"]{
  background:rgba(79,123,73,.28);
  border-color:rgba(129,183,119,.42);
  color:#fff7e9;
}

#fieldGuideReport .fg-report-final__cinema-readiness-grid small[data-ready="no"]{
  background:rgba(255,1,37,.14);
  border-color:rgba(255,1,37,.25);
  color:#fff7e9;
}

#fieldGuideReport .fg-report-final__cinema-readiness-grid small[data-ready="maybe"]{
  background:rgba(255,247,233,.08);
  border-color:rgba(255,247,233,.16);
  color:rgba(255,247,233,.78);
}

#fieldGuideReport .fg-report-final__cinema-readiness p{
  margin:0;
  color:rgba(255,247,233,.64);
  font-size:.82rem;
  line-height:1.42;
  font-weight:750;
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__cinema-readiness-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__cinema-readiness-grid{
    grid-template-columns:1fr;
  }

  #fieldGuideReport .fg-report-final__cinema-readiness-grid small{
    border-radius:13px;
  }
}

/* Commit 13: Audio Guide CTA + report hierarchy tightening
   Treat Audio Guide as a core product layer, not a buried extra. */
#fieldGuideReport .fg-report-final__quickstrip .fg-report-final__quickstrip-audio{
  background:#201710 !important;
  border-color:rgba(32,23,16,.32) !important;
  color:#fff7e9 !important;
}

#fieldGuideReport .fg-report-final__quickstrip .fg-report-final__quickstrip-audio span,
#fieldGuideReport .fg-report-final__quickstrip .fg-report-final__quickstrip-audio strong{
  color:#fff7e9 !important;
}

#fieldGuideReport .fg-report-final__section--cinema-teaser{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,247,233,.18);
}

#fieldGuideReport .fg-report-final__section--cinema-teaser::before{
  content:"Core product layer";
  position:absolute;
  top:14px;
  right:14px;
  z-index:1;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,247,233,.10);
  border:1px solid rgba(255,247,233,.14);
  color:rgba(255,247,233,.76);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__cinema-copy h3{
  max-width:820px;
}

#fieldGuideReport .fg-report-final__cinema-controls .fg-report-final__cinema-cta{
  min-height:48px;
  padding:0 18px;
  font-size:.95rem;
}

#fieldGuideReport .fg-report-final__cinema-free-note{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,247,233,.06);
  border:1px solid rgba(255,247,233,.10);
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__section--cinema-teaser::before{
    position:static;
    width:max-content;
    margin-bottom:-2px;
  }

  #fieldGuideReport .fg-report-final__cinema-controls .fg-report-final__cinema-cta{
    min-height:50px !important;
    font-size:.95rem !important;
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__section--cinema-teaser::before{
    width:100%;
    justify-content:center;
  }
}

/* Commit 14: Audio Guide mobile-first conversion QA
   Make the audio layer feel like the primary mobile action without adding new APIs or generated pages. */

/* Homepage: make the audio promise more product-like and visible */
.hb3-audio-proof{
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}

.hb3-audio-proof::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,247,233,.12), rgba(255,247,233,0) 58%);
}

.hb3-audio-bridge{
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}

.hb3-audio-bridge::after{
  content:"→";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  font-weight:950;
  color:#201710;
}

/* Report quickstrip: make Audio feel like the first action */
#fieldGuideReport .fg-report-final__quickstrip .fg-report-final__quickstrip-audio{
  min-width:190px;
  box-shadow:0 10px 24px rgba(32,23,16,.16);
}

/* Audio section: reduce friction above the fold */
#fieldGuideReport .fg-report-final__section--cinema-teaser{
  scroll-margin-top:82px;
}

#fieldGuideReport .fg-report-final__cinema-copy p{
  max-width:820px;
}

#fieldGuideReport .fg-report-final__cinema-player{
  border-color:rgba(255,247,233,.18);
}

#fieldGuideReport .fg-report-final__cinema-controls{
  align-items:stretch;
}

#fieldGuideReport .fg-report-final__cinema-controls .fg-report-final__cinema-cta{
  box-shadow:0 14px 30px rgba(255,247,233,.14);
}

/* Device readiness should help, not dominate */
#fieldGuideReport .fg-report-final__cinema-readiness{
  order:3;
}

#fieldGuideReport .fg-report-final__cinema-now{
  order:1;
}

#fieldGuideReport .fg-report-final__cinema-controls{
  order:2;
}

#fieldGuideReport .fg-report-final__cinema-free-note{
  order:4;
}

#fieldGuideReport .fg-report-final__cinema-feedback{
  order:5;
}

/* Mobile: audio first, compact, thumb-friendly */
@media(max-width:760px){
  .hb3-audio-proof{
    margin-top:14px;
    padding:14px;
  }

  .hb3-audio-bridge{
    padding-right:42px;
  }

  #fieldGuideReport .fg-report-final__section--cinema-teaser{
    gap:12px !important;
    padding-top:14px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-copy{
    gap:8px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-copy h3{
    font-size:clamp(25px, 8vw, 34px) !important;
    line-height:.98 !important;
    letter-spacing:-.04em !important;
  }

  #fieldGuideReport .fg-report-final__cinema-howto{
    gap:7px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-howto article{
    grid-template-columns:28px 1fr;
    align-items:center;
    padding:10px 11px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-howto article small{
    grid-column:2;
  }

  #fieldGuideReport .fg-report-final__cinema-player{
    gap:10px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-controls{
    grid-template-columns:1fr 1fr !important;
  }

  #fieldGuideReport .fg-report-final__cinema-controls .fg-report-final__cinema-cta{
    grid-column:1 / -1;
    min-height:54px !important;
    font-size:1rem !important;
  }

  #fieldGuideReport .fg-report-final__cinema-readiness{
    padding:10px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-readiness-head strong{
    font-size:.88rem !important;
  }

  #fieldGuideReport .fg-report-final__cinema-readiness-grid{
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-readiness-grid small{
    min-height:31px !important;
    font-size:.64rem !important;
    border-radius:12px !important;
  }

  #fieldGuideReport .fg-report-final__cinema-playlist{
    max-height:310px;
    overflow:auto;
    padding-right:2px;
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__cinema-controls{
    grid-template-columns:1fr !important;
  }

  #fieldGuideReport .fg-report-final__cinema-howto article{
    grid-template-columns:26px 1fr;
  }

  #fieldGuideReport .fg-report-final__cinema-readiness-grid{
    grid-template-columns:1fr !important;
  }

  #fieldGuideReport .fg-report-final__cinema-playlist{
    max-height:260px;
  }
}

/* Commit 15: Audio Guide first-run permission UX
   Explain GPS permission before users tap it and keep manual audio as the clear fallback. */
#fieldGuideReport .fg-report-final__cinema-permission-note{
  margin:0;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,247,233,.075);
  border:1px solid rgba(255,247,233,.12);
  color:rgba(255,247,233,.70);
  font-size:.82rem;
  line-height:1.42;
  font-weight:750;
}

#fieldGuideReport .fg-report-final__cinema-permission-note strong{
  color:#fff7e9;
}

#fieldGuideReport [data-fg-cinema-gps]::after{
  content:"permission";
  margin-left:6px;
  padding:2px 5px;
  border-radius:999px;
  background:rgba(255,247,233,.10);
  color:rgba(255,247,233,.68);
  font-size:.58rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  vertical-align:middle;
}

#fieldGuideReport [data-fg-cinema-gps][aria-pressed="true"]::after{
  content:"active";
  background:rgba(255,247,233,.18);
  color:#fff7e9;
}

@media(max-width:520px){
  #fieldGuideReport .fg-report-final__cinema-permission-note{
    font-size:.76rem;
  }

  #fieldGuideReport [data-fg-cinema-gps]::after{
    display:inline-flex;
    align-items:center;
  }
}

/* Commit 20: Free Connoisseur Layer skeleton
   Free deep cultural layer. No paywall; the content is the trust hook. */
#fieldGuideReport .fg-report-final__section--connoisseur{
  background:#fff7e9;
  border:1px solid rgba(32,23,16,.10);
}

#fieldGuideReport .fg-report-final__connoisseur-head{
  display:grid;
  gap:8px;
  max-width:860px;
}

#fieldGuideReport .fg-report-final__connoisseur-head span{
  color:#d42f17;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__connoisseur-head h3{
  margin:0;
  color:#201710;
  font-size:clamp(30px, 5vw, 54px);
  line-height:.96;
  letter-spacing:-.045em;
}

#fieldGuideReport .fg-report-final__connoisseur-head p{
  margin:0;
  color:rgba(32,23,16,.70);
  font-weight:760;
  line-height:1.48;
}

#fieldGuideReport .fg-report-final__connoisseur-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

#fieldGuideReport .fg-report-final__connoisseur-card{
  display:grid;
  gap:9px;
  padding:16px;
  border-radius:18px;
  background:#fffdf8;
  border:1px solid rgba(32,23,16,.10);
  box-shadow:0 12px 30px rgba(32,23,16,.06);
}

#fieldGuideReport .fg-report-final__connoisseur-card span{
  color:#d42f17;
  font-size:.66rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__connoisseur-card strong{
  color:#201710;
  font-size:1.05rem;
  line-height:1.08;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__connoisseur-card p{
  margin:0;
  color:rgba(32,23,16,.72);
  line-height:1.45;
  font-weight:720;
}

#fieldGuideReport .fg-report-final__connoisseur-card small{
  display:block;
  margin-top:2px;
  padding-top:10px;
  border-top:1px solid rgba(32,23,16,.09);
  color:rgba(32,23,16,.58);
  line-height:1.38;
  font-weight:800;
}

#fieldGuideReport .fg-report-final__connoisseur-note{
  margin:14px 0 0;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(212,47,23,.08);
  color:rgba(32,23,16,.72);
  font-size:.88rem;
  line-height:1.42;
  font-weight:820;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgConnoisseur"]{
  background:#fff7e9 !important;
  border-color:rgba(212,47,23,.24) !important;
  color:#201710 !important;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgConnoisseur"] span{
  color:#d42f17 !important;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgConnoisseur"] strong{
  color:#201710 !important;
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__connoisseur-grid{
    grid-template-columns:1fr;
  }

  #fieldGuideReport .fg-report-final__connoisseur-card{
    padding:14px;
    border-radius:16px;
  }

  #fieldGuideReport .fg-report-final__connoisseur-head h3{
    font-size:clamp(28px, 8vw, 38px);
  }
}

/* Commit 21: Enriched free Connoisseur content
   Make deeper free layers feel editorial, scannable and genuinely useful on the walk. */
#fieldGuideReport .fg-report-final__section--connoisseur{
  position:relative;
  overflow:hidden;
}

#fieldGuideReport .fg-report-final__section--connoisseur::before{
  content:"Free cultural hook";
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(212,47,23,.08);
  border:1px solid rgba(212,47,23,.16);
  color:#d42f17;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__connoisseur-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

#fieldGuideReport .fg-report-final__connoisseur-card{
  align-content:start;
  min-height:250px;
}

#fieldGuideReport .fg-report-final__connoisseur-card small b{
  color:#201710;
}

#fieldGuideReport .fg-report-final__connoisseur-card em{
  display:block;
  margin-top:2px;
  padding:10px 11px;
  border-radius:14px;
  background:rgba(212,47,23,.07);
  color:rgba(32,23,16,.70);
  font-style:normal;
  line-height:1.38;
  font-weight:850;
}

#fieldGuideReport .fg-report-final__connoisseur-card em::before{
  content:"Try this: ";
  color:#d42f17;
  font-weight:950;
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__section--connoisseur::before{
    position:static;
    width:max-content;
    margin-bottom:10px;
  }

  #fieldGuideReport .fg-report-final__connoisseur-grid{
    grid-template-columns:1fr;
  }

  #fieldGuideReport .fg-report-final__connoisseur-card{
    min-height:0;
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__section--connoisseur::before{
    width:100%;
    justify-content:center;
  }
}

/* Commit 22: Free Serendipity Pause walk-intelligence layer
   Makes micro-pauses visible as a core free product layer. No paywall, no paid API. */
#fieldGuideReport .fg-report-final__section--serendipity{
  position:relative;
  overflow:hidden;
  background:#f4efe4;
  border:1px solid rgba(32,23,16,.10);
}

#fieldGuideReport .fg-report-final__section--serendipity::before{
  content:"Free walk intelligence";
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(32,23,16,.07);
  color:rgba(32,23,16,.62);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__serendipity-head{
  display:grid;
  gap:8px;
  max-width:860px;
}

#fieldGuideReport .fg-report-final__serendipity-head span{
  color:#4f7b49;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__serendipity-head h3{
  margin:0;
  color:#201710;
  font-size:clamp(30px, 5vw, 54px);
  line-height:.96;
  letter-spacing:-.045em;
}

#fieldGuideReport .fg-report-final__serendipity-head p{
  margin:0;
  color:rgba(32,23,16,.70);
  font-weight:760;
  line-height:1.48;
}

#fieldGuideReport .fg-report-final__serendipity-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

#fieldGuideReport .fg-report-final__serendipity-card{
  display:grid;
  gap:9px;
  padding:16px;
  border-radius:18px;
  background:#fffdf8;
  border:1px solid rgba(32,23,16,.10);
  box-shadow:0 12px 30px rgba(32,23,16,.055);
}

#fieldGuideReport .fg-report-final__serendipity-card span{
  color:#4f7b49;
  font-size:.66rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__serendipity-card strong{
  color:#201710;
  font-size:1.05rem;
  line-height:1.08;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__serendipity-card p{
  margin:0;
  color:rgba(32,23,16,.72);
  line-height:1.45;
  font-weight:720;
}

#fieldGuideReport .fg-report-final__serendipity-card small,
#fieldGuideReport .fg-report-final__serendipity-micro{
  display:block;
  margin-top:2px;
  padding-top:10px;
  border-top:1px solid rgba(32,23,16,.09);
  color:rgba(32,23,16,.60);
  line-height:1.38;
  font-weight:800;
}

#fieldGuideReport .fg-report-final__serendipity-card small b,
#fieldGuideReport .fg-report-final__serendipity-micro b{
  color:#4f7b49;
}

#fieldGuideReport .fg-report-final__serendipity-note{
  margin:14px 0 0;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(79,123,73,.10);
  color:rgba(32,23,16,.72);
  font-size:.88rem;
  line-height:1.42;
  font-weight:820;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgSerendipity"]{
  background:#f4efe4 !important;
  border-color:rgba(79,123,73,.26) !important;
  color:#201710 !important;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgSerendipity"] span{
  color:#4f7b49 !important;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgSerendipity"] strong{
  color:#201710 !important;
}

#fieldGuideReport .fg-report-final__wpl-step--serendipity .fg-report-final__wpl-body{
  background:#f4efe4 !important;
  border-color:rgba(79,123,73,.22) !important;
}

#fieldGuideReport .fg-report-final__wpl-tag--serendipity{
  background:rgba(79,123,73,.12) !important;
  color:#4f7b49 !important;
  border-color:rgba(79,123,73,.22) !important;
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__section--serendipity::before{
    position:static;
    width:max-content;
    margin-bottom:2px;
  }

  #fieldGuideReport .fg-report-final__serendipity-grid{
    grid-template-columns:1fr;
  }

  #fieldGuideReport .fg-report-final__serendipity-card{
    padding:14px;
    border-radius:16px;
  }

  #fieldGuideReport .fg-report-final__serendipity-head h3{
    font-size:clamp(28px, 8vw, 38px);
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__section--serendipity::before{
    width:100%;
    justify-content:center;
  }
}

/* Commit 23: Free Time Traveler chronological layer
   Adds a free chronological lens for route reading. No paywall, no paid API. */
#fieldGuideReport .fg-report-final__section--time-traveler{
  position:relative;
  overflow:hidden;
  background:#f7efe6;
  border:1px solid rgba(32,23,16,.10);
}

#fieldGuideReport .fg-report-final__section--time-traveler::before{
  content:"Free time layer";
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(32,23,16,.07);
  color:rgba(32,23,16,.62);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__time-head{
  display:grid;
  gap:8px;
  max-width:880px;
}

#fieldGuideReport .fg-report-final__time-head span{
  color:#8f4f25;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__time-head h3{
  margin:0;
  color:#201710;
  font-size:clamp(30px, 5vw, 54px);
  line-height:.96;
  letter-spacing:-.045em;
}

#fieldGuideReport .fg-report-final__time-head p{
  margin:0;
  color:rgba(32,23,16,.70);
  font-weight:760;
  line-height:1.48;
}

#fieldGuideReport .fg-report-final__time-band{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

#fieldGuideReport .fg-report-final__time-band article{
  display:grid;
  gap:7px;
  align-content:start;
  padding:14px;
  border-radius:18px;
  background:#fffdf8;
  border:1px solid rgba(32,23,16,.10);
  box-shadow:0 12px 30px rgba(32,23,16,.055);
}

#fieldGuideReport .fg-report-final__time-band article[data-era-dominant="true"]{
  outline:2px solid rgba(143,79,37,.22);
  outline-offset:2px;
}

#fieldGuideReport .fg-report-final__time-band article span{
  color:#8f4f25;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__time-band article strong{
  color:#201710;
  font-size:2rem;
  line-height:.95;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__time-band article small{
  color:rgba(32,23,16,.62);
  line-height:1.35;
  font-weight:780;
}

#fieldGuideReport .fg-report-final__time-route{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

#fieldGuideReport .fg-report-final__time-chip{
  display:grid;
  gap:3px;
  min-width:min(220px,100%);
  flex:1 1 180px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,253,248,.76);
  border:1px solid rgba(32,23,16,.10);
}

#fieldGuideReport .fg-report-final__time-chip span{
  color:rgba(32,23,16,.50);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__time-chip strong{
  color:#201710;
  font-size:.95rem;
  line-height:1.1;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__time-chip small{
  color:rgba(32,23,16,.62);
  font-weight:800;
}

#fieldGuideReport .fg-report-final__time-note{
  margin:14px 0 0;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(143,79,37,.10);
  color:rgba(32,23,16,.72);
  font-size:.88rem;
  line-height:1.42;
  font-weight:820;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgTimeTraveler"]{
  background:#f7efe6 !important;
  border-color:rgba(143,79,37,.26) !important;
  color:#201710 !important;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgTimeTraveler"] span{
  color:#8f4f25 !important;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgTimeTraveler"] strong{
  color:#201710 !important;
}

#fieldGuideReport .fg-report-final__wpl-step--stop[data-era="byzantine"] .fg-report-final__wpl-body{
  border-color:rgba(143,79,37,.18);
}

#fieldGuideReport .fg-report-final__wpl-step--stop[data-era="ottoman"] .fg-report-final__wpl-body{
  border-color:rgba(79,123,73,.20);
}

#fieldGuideReport .fg-report-final__wpl-step--stop[data-era="modern"] .fg-report-final__wpl-body{
  border-color:rgba(42,74,116,.18);
}

#fieldGuideReport .fg-report-final__wpl-step--stop[data-era="mixed"] .fg-report-final__wpl-body{
  border-color:rgba(32,23,16,.14);
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__section--time-traveler::before{
    position:static;
    width:max-content;
    margin-bottom:2px;
  }

  #fieldGuideReport .fg-report-final__time-band{
    grid-template-columns:1fr 1fr;
  }

  #fieldGuideReport .fg-report-final__time-head h3{
    font-size:clamp(28px, 8vw, 38px);
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__section--time-traveler::before{
    width:100%;
    justify-content:center;
  }

  #fieldGuideReport .fg-report-final__time-band{
    grid-template-columns:1fr;
  }

  #fieldGuideReport .fg-report-final__time-chip{
    flex-basis:100%;
  }
}

/* Commit 24: Free Golden Hour light cue layer
   Adds free visual field cues without paid API or exact astronomy claims. */
#fieldGuideReport .fg-report-final__section--golden{
  position:relative;
  overflow:hidden;
  background:#fff3df;
  border:1px solid rgba(32,23,16,.10);
}

#fieldGuideReport .fg-report-final__section--golden::before{
  content:"Free light cue";
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(198,107,25,.10);
  color:#9b520f;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__golden-head{
  display:grid;
  gap:8px;
  max-width:900px;
}

#fieldGuideReport .fg-report-final__golden-head span{
  color:#b65f12;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__golden-head h3{
  margin:0;
  color:#201710;
  font-size:clamp(30px, 5vw, 54px);
  line-height:.96;
  letter-spacing:-.045em;
}

#fieldGuideReport .fg-report-final__golden-head p{
  margin:0;
  color:rgba(32,23,16,.70);
  font-weight:760;
  line-height:1.48;
}

#fieldGuideReport .fg-report-final__golden-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

#fieldGuideReport .fg-report-final__golden-meta article{
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:18px;
  background:#fffdf8;
  border:1px solid rgba(32,23,16,.10);
  box-shadow:0 12px 30px rgba(32,23,16,.05);
}

#fieldGuideReport .fg-report-final__golden-meta span{
  color:#b65f12;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__golden-meta strong{
  color:#201710;
  font-size:1.35rem;
  line-height:1;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__golden-meta small{
  color:rgba(32,23,16,.62);
  line-height:1.35;
  font-weight:800;
}

#fieldGuideReport .fg-report-final__golden-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

#fieldGuideReport .fg-report-final__golden-card{
  display:grid;
  gap:9px;
  padding:16px;
  border-radius:18px;
  background:#fffdf8;
  border:1px solid rgba(32,23,16,.10);
  box-shadow:0 12px 30px rgba(32,23,16,.055);
}

#fieldGuideReport .fg-report-final__golden-card span{
  color:#b65f12;
  font-size:.64rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__golden-card strong{
  color:#201710;
  font-size:1.05rem;
  line-height:1.08;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__golden-card p{
  margin:0;
  color:rgba(32,23,16,.72);
  line-height:1.45;
  font-weight:720;
}

#fieldGuideReport .fg-report-final__golden-card small{
  display:block;
  padding-top:10px;
  border-top:1px solid rgba(32,23,16,.09);
  color:rgba(32,23,16,.58);
  line-height:1.35;
  font-weight:800;
}

#fieldGuideReport .fg-report-final__golden-note{
  margin:14px 0 0;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(182,95,18,.10);
  color:rgba(32,23,16,.72);
  font-size:.88rem;
  line-height:1.42;
  font-weight:820;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgGoldenHour"]{
  background:#fff3df !important;
  border-color:rgba(182,95,18,.28) !important;
  color:#201710 !important;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgGoldenHour"] span{
  color:#b65f12 !important;
}

#fieldGuideReport .fg-report-final__quickstrip a[href="#fgGoldenHour"] strong{
  color:#201710 !important;
}

#fieldGuideReport .fg-report-final__golden-inline{
  margin-top:10px;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(255,243,223,.78);
  border:1px solid rgba(182,95,18,.18);
}

#fieldGuideReport .fg-report-final__golden-inline strong{
  display:block;
  color:#9b520f;
  font-size:.72rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:950;
  margin-bottom:4px;
}

#fieldGuideReport .fg-report-final__golden-inline p{
  margin:0;
  color:rgba(32,23,16,.68);
  line-height:1.42;
  font-weight:760;
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__section--golden::before{
    position:static;
    width:max-content;
    margin-bottom:2px;
  }

  #fieldGuideReport .fg-report-final__golden-meta,
  #fieldGuideReport .fg-report-final__golden-grid{
    grid-template-columns:1fr;
  }

  #fieldGuideReport .fg-report-final__golden-card{
    padding:14px;
    border-radius:16px;
  }

  #fieldGuideReport .fg-report-final__golden-head h3{
    font-size:clamp(28px, 8vw, 38px);
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__section--golden::before{
    width:100%;
    justify-content:center;
  }
}


/* Commit 25: Free Layer UX consolidation
   Keep the sticky quickstrip focused; move all free reading layers into one hub. */
#fieldGuideReport .fg-report-final__quickstrip--consolidated{
  grid-template-columns:1.35fr 1.15fr 1fr .85fr;
}

#fieldGuideReport .fg-report-final__quickstrip--consolidated .fg-report-final__quickstrip-free{
  background:#fff7e9 !important;
  border-color:rgba(212,47,23,.24) !important;
}

#fieldGuideReport .fg-report-final__quickstrip--consolidated .fg-report-final__quickstrip-free span{
  color:#d42f17 !important;
}

#fieldGuideReport .fg-report-final__quickstrip--consolidated .fg-report-final__quickstrip-free strong{
  color:#201710 !important;
}

#fieldGuideReport .fg-report-final__section--freehub{
  position:relative;
  overflow:hidden;
  background:#fffaf1;
  border:1px solid rgba(32,23,16,.10);
}

#fieldGuideReport .fg-report-final__section--freehub::before{
  content:"Free strategy";
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(212,47,23,.08);
  border:1px solid rgba(212,47,23,.14);
  color:#d42f17;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__freehub-head{
  display:grid;
  gap:8px;
  max-width:900px;
}

#fieldGuideReport .fg-report-final__freehub-head span{
  color:#d42f17;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__freehub-head h3{
  margin:0;
  color:#201710;
  font-size:clamp(30px, 5vw, 54px);
  line-height:.96;
  letter-spacing:-.045em;
}

#fieldGuideReport .fg-report-final__freehub-head p{
  margin:0;
  color:rgba(32,23,16,.70);
  font-weight:760;
  line-height:1.48;
}

#fieldGuideReport .fg-report-final__freehub-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

#fieldGuideReport .fg-report-final__freehub-grid a{
  display:grid;
  gap:7px;
  align-content:start;
  min-height:132px;
  padding:15px;
  border-radius:18px;
  background:#fffdf8;
  border:1px solid rgba(32,23,16,.10);
  box-shadow:0 12px 30px rgba(32,23,16,.052);
  color:#201710;
  text-decoration:none;
}

#fieldGuideReport .fg-report-final__freehub-grid a:hover{
  transform:translateY(-1px);
  border-color:rgba(212,47,23,.24);
  text-decoration:none;
}

#fieldGuideReport .fg-report-final__freehub-grid span{
  color:#d42f17;
  font-size:.64rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__freehub-grid strong{
  color:#201710;
  font-size:1.04rem;
  line-height:1.08;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__freehub-grid small{
  color:rgba(32,23,16,.62);
  line-height:1.35;
  font-weight:800;
}

@media(max-width:900px){
  #fieldGuideReport .fg-report-final__quickstrip--consolidated{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  #fieldGuideReport .fg-report-final__freehub-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__section--freehub::before{
    position:static;
    width:max-content;
    margin-bottom:2px;
  }
}

@media(max-width:520px){
  #fieldGuideReport .fg-report-final__quickstrip--consolidated a,
  #fieldGuideReport .fg-report-final__quickstrip--consolidated button{
    flex-basis:154px !important;
    min-width:154px !important;
  }

  #fieldGuideReport .fg-report-final__freehub-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__section--freehub::before{
    width:100%;
    justify-content:center;
  }
}

/* Commit 27: Interactive Time Traveler slider
   Era filter for the walk plan. Free layer, no paid API, no generated pages. */
#fieldGuideReport .fg-report-final__time-slider{
  display:grid;
  gap:10px;
  margin-top:16px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,253,248,.78);
  border:1px solid rgba(143,79,37,.18);
}

#fieldGuideReport .fg-report-final__time-slider-copy{
  display:grid;
  gap:4px;
}

#fieldGuideReport .fg-report-final__time-slider-copy strong{
  color:#201710;
  font-size:1rem;
  line-height:1.1;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__time-slider-copy small{
  color:rgba(32,23,16,.62);
  line-height:1.38;
  font-weight:800;
}

#fieldGuideReport [data-time-traveler-range]{
  width:100%;
  accent-color:#8f4f25;
  cursor:pointer;
}

#fieldGuideReport .fg-report-final__time-slider-labels{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  color:rgba(32,23,16,.54);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__time-slider-labels span:nth-child(2),
#fieldGuideReport .fg-report-final__time-slider-labels span:nth-child(3),
#fieldGuideReport .fg-report-final__time-slider-labels span:nth-child(4){
  text-align:center;
}

#fieldGuideReport .fg-report-final__time-slider-labels span:last-child{
  text-align:right;
}

#fieldGuideReport .fg-report-final[data-time-traveler-era="byzantine"] .fg-report-final__wpl-step--stop[data-era]:not([data-era="byzantine"]) .fg-report-final__wpl-body,
#fieldGuideReport .fg-report-final[data-time-traveler-era="ottoman"] .fg-report-final__wpl-step--stop[data-era]:not([data-era="ottoman"]) .fg-report-final__wpl-body,
#fieldGuideReport .fg-report-final[data-time-traveler-era="modern"] .fg-report-final__wpl-step--stop[data-era]:not([data-era="modern"]) .fg-report-final__wpl-body{
  opacity:.42;
  filter:saturate(.72);
}

#fieldGuideReport .fg-report-final[data-time-traveler-era="byzantine"] .fg-report-final__wpl-step--stop[data-era="byzantine"] .fg-report-final__wpl-body,
#fieldGuideReport .fg-report-final[data-time-traveler-era="ottoman"] .fg-report-final__wpl-step--stop[data-era="ottoman"] .fg-report-final__wpl-body,
#fieldGuideReport .fg-report-final[data-time-traveler-era="modern"] .fg-report-final__wpl-step--stop[data-era="modern"] .fg-report-final__wpl-body{
  opacity:1;
  box-shadow:0 18px 42px rgba(143,79,37,.13);
  transform:translateY(-1px);
}

#fieldGuideReport [data-time-traveler][data-active-era="byzantine"] [data-era-card]:not([data-era-card="byzantine"]),
#fieldGuideReport [data-time-traveler][data-active-era="ottoman"] [data-era-card]:not([data-era-card="ottoman"]),
#fieldGuideReport [data-time-traveler][data-active-era="modern"] [data-era-card]:not([data-era-card="modern"]){
  opacity:.45;
  filter:saturate(.72);
}

#fieldGuideReport [data-time-traveler][data-active-era="byzantine"] [data-era-card="byzantine"],
#fieldGuideReport [data-time-traveler][data-active-era="ottoman"] [data-era-card="ottoman"],
#fieldGuideReport [data-time-traveler][data-active-era="modern"] [data-era-card="modern"]{
  outline:2px solid rgba(143,79,37,.32);
  outline-offset:2px;
}

#fieldGuideReport [data-time-traveler][data-active-era="byzantine"] .fg-report-final__time-chip:not([data-era="byzantine"]),
#fieldGuideReport [data-time-traveler][data-active-era="ottoman"] .fg-report-final__time-chip:not([data-era="ottoman"]),
#fieldGuideReport [data-time-traveler][data-active-era="modern"] .fg-report-final__time-chip:not([data-era="modern"]){
  opacity:.42;
}

#fieldGuideReport .fg-report-final__wpl-step--stop .fg-report-final__wpl-body,
#fieldGuideReport .fg-report-final__time-band article,
#fieldGuideReport .fg-report-final__time-chip{
  transition:opacity .18s ease, filter .18s ease, transform .18s ease, box-shadow .18s ease, outline-color .18s ease;
}

@media(max-width:520px){
  #fieldGuideReport .fg-report-final__time-slider{
    padding:12px;
    border-radius:16px;
  }

  #fieldGuideReport .fg-report-final__time-slider-labels{
    font-size:.56rem;
    letter-spacing:.09em;
  }
}

/* Commit 28: Curated Stop coming-soon layer
   Productizes the future native local sponsor slot without activating paid placements. */
#fieldGuideReport .fg-report-final__section--curated-stop{
  position:relative;
  overflow:hidden;
  background:#f6f0e8;
  border:1px dashed rgba(32,23,16,.22);
}

#fieldGuideReport .fg-report-final__section--curated-stop::before{
  content:"Coming soon";
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(32,23,16,.07);
  color:rgba(32,23,16,.62);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__curated-stop-head{
  display:grid;
  gap:8px;
  max-width:900px;
}

#fieldGuideReport .fg-report-final__curated-stop-head span{
  color:#6f5a35;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__curated-stop-head h3{
  margin:0;
  color:#201710;
  font-size:clamp(30px, 5vw, 54px);
  line-height:.96;
  letter-spacing:-.045em;
}

#fieldGuideReport .fg-report-final__curated-stop-head p{
  margin:0;
  color:rgba(32,23,16,.70);
  font-weight:760;
  line-height:1.48;
}

#fieldGuideReport .fg-report-final__curated-stop-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

#fieldGuideReport .fg-report-final__curated-stop-grid article{
  display:grid;
  gap:8px;
  align-content:start;
  padding:16px;
  border-radius:18px;
  background:#fffdf8;
  border:1px solid rgba(32,23,16,.10);
  box-shadow:0 12px 30px rgba(32,23,16,.05);
}

#fieldGuideReport .fg-report-final__curated-stop-grid span{
  color:#6f5a35;
  font-size:.64rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__curated-stop-grid strong{
  color:#201710;
  font-size:1.05rem;
  line-height:1.08;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__curated-stop-grid small{
  color:rgba(32,23,16,.62);
  line-height:1.38;
  font-weight:800;
}

#fieldGuideReport .fg-report-final__curated-stop-note{
  margin:14px 0 0;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(32,23,16,.06);
  color:rgba(32,23,16,.72);
  font-size:.88rem;
  line-height:1.42;
  font-weight:820;
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__section--curated-stop::before{
    position:static;
    width:max-content;
    margin-bottom:2px;
  }

  #fieldGuideReport .fg-report-final__curated-stop-grid{
    grid-template-columns:1fr;
  }

  #fieldGuideReport .fg-report-final__curated-stop-grid article{
    padding:14px;
    border-radius:16px;
  }

  #fieldGuideReport .fg-report-final__curated-stop-head h3{
    font-size:clamp(28px, 8vw, 38px);
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__section--curated-stop::before{
    width:100%;
    justify-content:center;
  }
}

/* Commit 29: Pricing and package clarity
   Explains free vs future paid packages without activating payment, paywalls or locked text. */
#fieldGuideReport .fg-report-final__section--pricing{
  position:relative;
  overflow:hidden;
  background:#201710;
  border:1px solid rgba(255,247,233,.16);
  color:#fff7e9;
}

#fieldGuideReport .fg-report-final__section--pricing::before{
  content:"Beta pricing";
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,247,233,.10);
  border:1px solid rgba(255,247,233,.14);
  color:rgba(255,247,233,.76);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__pricing-head{
  display:grid;
  gap:8px;
  max-width:920px;
}

#fieldGuideReport .fg-report-final__pricing-head span{
  color:#ffcf8a;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__pricing-head h3{
  margin:0;
  color:#fff7e9;
  font-size:clamp(30px, 5vw, 54px);
  line-height:.96;
  letter-spacing:-.045em;
}

#fieldGuideReport .fg-report-final__pricing-head p{
  margin:0;
  color:rgba(255,247,233,.72);
  font-weight:760;
  line-height:1.48;
}

#fieldGuideReport .fg-report-final__pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

#fieldGuideReport .fg-report-final__pricing-card{
  display:grid;
  gap:9px;
  align-content:start;
  padding:16px;
  border-radius:18px;
  background:rgba(255,247,233,.07);
  border:1px solid rgba(255,247,233,.13);
}

#fieldGuideReport .fg-report-final__pricing-card span{
  color:#ffcf8a;
  font-size:.64rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__pricing-card strong{
  color:#fff7e9;
  font-size:1.35rem;
  line-height:1;
  font-weight:950;
}

#fieldGuideReport .fg-report-final__pricing-card p{
  margin:0;
  color:rgba(255,247,233,.72);
  line-height:1.44;
  font-weight:720;
}

#fieldGuideReport .fg-report-final__pricing-card small{
  display:block;
  padding-top:10px;
  border-top:1px solid rgba(255,247,233,.12);
  color:rgba(255,247,233,.58);
  line-height:1.35;
  font-weight:820;
}

#fieldGuideReport .fg-report-final__pricing-card--free{
  border-color:rgba(79,123,73,.38);
}

#fieldGuideReport .fg-report-final__pricing-card--beta{
  border-color:rgba(255,207,138,.34);
}

#fieldGuideReport .fg-report-final__pricing-card--future{
  border-style:dashed;
}

#fieldGuideReport .fg-report-final__pricing-note{
  margin:14px 0 0;
  padding:11px 12px;
  border-radius:14px;
  background:rgba(255,247,233,.08);
  color:rgba(255,247,233,.70);
  font-size:.88rem;
  line-height:1.42;
  font-weight:820;
}

@media(max-width:760px){
  #fieldGuideReport .fg-report-final__section--pricing::before{
    position:static;
    width:max-content;
    margin-bottom:2px;
  }

  #fieldGuideReport .fg-report-final__pricing-grid{
    grid-template-columns:1fr;
  }

  #fieldGuideReport .fg-report-final__pricing-card{
    padding:14px;
    border-radius:16px;
  }

  #fieldGuideReport .fg-report-final__pricing-head h3{
    font-size:clamp(28px, 8vw, 38px);
  }
}

@media(max-width:420px){
  #fieldGuideReport .fg-report-final__section--pricing::before{
    width:100%;
    justify-content:center;
  }
}

/* Commit 30: Audio premium intent tracking
   Intent CTA only. No checkout, no payment, no locked content. */
#fieldGuideReport .fg-report-final__premium-intent{
  display:inline-flex;
  width:fit-content;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 13px;
  border-radius:999px;
  background:#ffcf8a;
  border:1px solid rgba(255,207,138,.72);
  color:#201710;
  font-size:.84rem;
  line-height:1;
  font-weight:950;
  text-decoration:none;
}

#fieldGuideReport .fg-report-final__premium-intent:hover{
  transform:translateY(-1px);
  text-decoration:none;
  background:#fff7e9;
  border-color:#fff7e9;
}

#fieldGuideReport .fg-report-final__cinema-player .fg-report-final__premium-intent{
  order:5;
  margin-top:2px;
}

#fieldGuideReport .fg-report-final__cinema-feedback{
  order:6;
}

#fieldGuideReport .fg-report-final__pricing-card .fg-report-final__premium-intent{
  margin-top:2px;
}

@media(max-width:520px){
  #fieldGuideReport .fg-report-final__premium-intent{
    width:100%;
    min-height:44px;
    border-radius:14px;
    text-align:center;
  }
}


/* Commit 34: Homepage free-depth + audio-beta strategy clarity
   Make the growth funnel visible before report generation:
   free cultural depth first, audio comfort later. */
.hb3-free-depth-proof{
  position:relative;
  z-index:1;
  display:grid;
  gap:8px;
  margin-top:18px;
  padding:16px;
  border-radius:20px;
  background:#fff7e9;
  border:1px solid rgba(212,47,23,.18);
  color:#201710;
  box-shadow:0 14px 34px rgba(32,23,16,.10);
}

.hb3-free-depth-proof span{
  color:#d42f17;
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

.hb3-free-depth-proof strong{
  color:#201710;
  font-size:1.12rem;
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:950;
}

.hb3-free-depth-proof p{
  margin:0;
  color:rgba(32,23,16,.70);
  line-height:1.45;
  font-weight:760;
}

.hb3-context[data-home-builder-panel="city"] .hb3-audio-proof{
  margin-top:10px;
}

.hb3-context[data-home-builder-panel="city"] .hb3-audio-proof span{
  color:#ffcf8a;
}

.hb3-context[data-home-builder-panel="city"] .hb3-audio-proof strong::after{
  content:"";
}

.hb3-context[data-home-builder-panel="city"] .hb3-audio-bridge span{
  color:rgba(32,23,16,.58);
}

@media(max-width:760px){
  .hb3-free-depth-proof{
    margin-top:14px;
    padding:13px;
    border-radius:17px;
  }

  .hb3-free-depth-proof strong{
    font-size:1rem;
  }

  .hb3-free-depth-proof p{
    font-size:.86rem;
  }
}


/* Commit 37: Queue SEO internal discovery
   Connect Topkapi audio alternative landing page from relevant editorial surfaces. */
.sh-queue-seo-bridge,
.route-queue-seo-bridge{
  position:relative;
  display:grid;
  gap:12px;
  margin:22px 0;
  padding:20px;
  border-radius:22px;
  background:#201710;
  color:#fff7e9;
  border:1px solid rgba(255,247,233,.16);
}

.sh-queue-seo-bridge span,
.route-queue-seo-bridge .eyebrow{
  margin:0;
  color:#ffcf8a;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

.sh-queue-seo-bridge h2,
.route-queue-seo-bridge h2{
  margin:0;
  color:#fff7e9;
  font-family:'Outfit',system-ui,sans-serif;
  font-size:clamp(26px,4vw,42px);
  line-height:1;
  letter-spacing:-.035em;
}

.sh-queue-seo-bridge p,
.route-queue-seo-bridge p:not(.eyebrow){
  margin:0;
  color:rgba(255,247,233,.72);
  line-height:1.48;
  font-weight:760;
}

.sh-queue-seo-bridge a{
  display:inline-flex;
  width:fit-content;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  background:#fff7e9;
  color:#201710;
  text-decoration:none;
  font-weight:950;
}

.sh-queue-seo-bridge a:hover{
  transform:translateY(-1px);
  text-decoration:none;
}

.route-queue-seo-bridge{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
}

.route-queue-seo-bridge .btn{
  white-space:nowrap;
}

@media(max-width:760px){
  .sh-queue-seo-bridge,
  .route-queue-seo-bridge{
    border-radius:18px;
    padding:16px;
  }

  .route-queue-seo-bridge{
    grid-template-columns:1fr;
  }

  .route-queue-seo-bridge .btn,
  .sh-queue-seo-bridge a{
    width:100%;
  }
}

/* Madde 18: single full-page builder mode theme
   City Mode and Country Mode change the whole homepage atmosphere,
   not only the builder card. Keep this block at the end of styles.css. */

/* Default/homepage fallback before JS runs: very pale field-guide red */
body:has(#homeBuilderHub):not(.sh-home-country-mode),
body.sh-home-city-mode:not(.sh-home-country-mode){
  background:#fff2ee !important;
  transition:background-color .28s ease;
}

/* Road Trip / Country Mode: full-page landscape green */
html:has(body.sh-home-country-mode),
body.sh-home-country-mode,
body.sh-home-country-mode main,
body.sh-home-country-mode #homeBuilderHub,
body.sh-home-country-mode .hb3-hub{
  background:#e7f2e6 !important;
  transition:background-color .28s ease;
}

/* Field Guide / City Mode: full-page very soft red */
html:has(body.sh-home-city-mode:not(.sh-home-country-mode)),
body.sh-home-city-mode:not(.sh-home-country-mode),
body.sh-home-city-mode:not(.sh-home-country-mode) main,
body.sh-home-city-mode:not(.sh-home-country-mode) #homeBuilderHub,
body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-hub{
  background:#fff2ee !important;
  transition:background-color .28s ease;
}

/* Header must join the selected atmosphere */
body.sh-home-city-mode:not(.sh-home-country-mode) .site-header,
body.sh-home-city-mode:not(.sh-home-country-mode) .unified-site-header{
  background:rgba(255, 242, 238, .96) !important;
  border-color:rgba(217, 44, 31, .10) !important;
}

body.sh-home-country-mode .site-header,
body.sh-home-country-mode .unified-site-header{
  background:rgba(231, 242, 230, .96) !important;
  border-color:rgba(15, 107, 70, .14) !important;
}

/* Remove the boxed-panel feeling */
body.sh-home-city-mode #homeBuilderHub,
body.sh-home-country-mode #homeBuilderHub{
  box-shadow:none !important;
}

/* City Mode controls */
body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-toggle{
  background:rgba(217, 44, 31, .055) !important;
  border-color:rgba(217, 44, 31, .13) !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-toggle-btn.is-active{
  background:#df2f22 !important;
  color:#fff !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-title,
body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-headline{
  color:#1d1513 !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-subtitle,
body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-desc,
body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context-note{
  color:rgba(29, 21, 19, .74) !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context{
  background:linear-gradient(145deg, #5b1d16 0%, #211412 72%) !important;
  box-shadow:0 28px 80px rgba(91, 29, 22, .14) !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-form-shell{
  background:rgba(255, 252, 248, .92) !important;
  border-color:rgba(217, 44, 31, .10) !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .fg-submit{
  background:#df2f22 !important;
  color:#fff !important;
}

/* Country Mode controls */
body.sh-home-country-mode .hb3-toggle{
  background:rgba(15, 107, 70, .075) !important;
  border-color:rgba(15, 107, 70, .16) !important;
}

body.sh-home-country-mode .hb3-toggle-btn.is-active{
  background:#0f6b46 !important;
  color:#fff !important;
}

body.sh-home-country-mode .hb3-title,
body.sh-home-country-mode .hb3-headline{
  color:#103f2a !important;
}

body.sh-home-country-mode .hb3-subtitle,
body.sh-home-country-mode .hb3-desc,
body.sh-home-country-mode .hb3-context-note{
  color:rgba(16, 63, 42, .78) !important;
}

body.sh-home-country-mode .hb3-context{
  background:linear-gradient(145deg, #0f6b46 0%, #102f22 74%) !important;
  box-shadow:0 28px 80px rgba(15, 107, 70, .14) !important;
}

body.sh-home-country-mode .hb3-form-shell,
body.sh-home-country-mode .home-embedded-road-planner .route-planner-card{
  background:rgba(255, 252, 248, .92) !important;
  border-color:rgba(15, 107, 70, .14) !important;
}

body.sh-home-country-mode .home-embedded-road-planner button:not(.sh-rtv2-scenario),
body.sh-home-country-mode .home-embedded-road-planner .btn.primary{
  background:#168753 !important;
  color:#fff !important;
}

@media(max-width:760px){
  body:has(#homeBuilderHub),
  body.sh-home-city-mode,
  body.sh-home-country-mode{
    transition:background-color .22s ease;
  }
}

/* End Madde 18 single full-page builder mode theme */


/* Madde 18 refinement: keep global nav neutral */
body.sh-home-city-mode .site-header,
body.sh-home-city-mode .unified-site-header,
body.sh-home-country-mode .site-header,
body.sh-home-country-mode .unified-site-header{
  background:#fffdf8 !important;
  border-bottom:1px solid rgba(24,24,24,.08) !important;
}

/* Keep header inner surface neutral too, in case later header rules override */
body.sh-home-city-mode .site-header-inner,
body.sh-home-country-mode .site-header-inner{
  background:transparent !important;
}

/* Give the next social / follow section breathing room after the builder */
body:has(#homeBuilderHub) #homeBuilderHub{
  margin-bottom:72px !important;
}

/* Common follow/social sections: create a cleaner break after the builder */
body:has(#homeBuilderHub) .social-section,
body:has(#homeBuilderHub) .follow-section,
body:has(#homeBuilderHub) .follow-the-hunt,
body:has(#homeBuilderHub) [aria-label*="Follow"],
body:has(#homeBuilderHub) section:has(.social-grid),
body:has(#homeBuilderHub) section:has(.social-card){
  margin-top:72px !important;
}

/* Mobile: still give separation, but not a huge hole */
@media(max-width:760px){
  body:has(#homeBuilderHub) #homeBuilderHub{
    margin-bottom:44px !important;
  }

  body:has(#homeBuilderHub) .social-section,
  body:has(#homeBuilderHub) .follow-section,
  body:has(#homeBuilderHub) .follow-the-hunt,
  body:has(#homeBuilderHub) [aria-label*="Follow"],
  body:has(#homeBuilderHub) section:has(.social-grid),
  body:has(#homeBuilderHub) section:has(.social-card){
    margin-top:44px !important;
  }
}

/* End Madde 18 refinement */

/* Madde 18 final nav fix: keep navigation truly neutral white */
html:has(body.sh-home-city-mode),
html:has(body.sh-home-country-mode){
  background:#fff !important;
}

body.sh-home-city-mode .site-header.unified-site-header,
body.sh-home-country-mode .site-header.unified-site-header,
body.sh-home-city-mode header.site-header,
body.sh-home-country-mode header.site-header,
body.sh-home-city-mode .site-header,
body.sh-home-country-mode .site-header{
  background:#fff !important;
  background-color:#fff !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(24,24,24,.08) !important;
  box-shadow:none !important;
}

body.sh-home-city-mode .site-header.unified-site-header::before,
body.sh-home-city-mode .site-header.unified-site-header::after,
body.sh-home-country-mode .site-header.unified-site-header::before,
body.sh-home-country-mode .site-header.unified-site-header::after,
body.sh-home-city-mode header.site-header::before,
body.sh-home-city-mode header.site-header::after,
body.sh-home-country-mode header.site-header::before,
body.sh-home-country-mode header.site-header::after{
  background:#fff !important;
  background-color:#fff !important;
}

body.sh-home-city-mode .site-header-inner,
body.sh-home-country-mode .site-header-inner,
body.sh-home-city-mode .unified-site-header .site-header-inner,
body.sh-home-country-mode .unified-site-header .site-header-inner{
  background:#fff !important;
  background-color:#fff !important;
}

/* Let the color story start after the navigation, not behind it */
body.sh-home-city-mode #homeBuilderHub,
body.sh-home-country-mode #homeBuilderHub{
  padding-top:56px !important;
}

@media(max-width:760px){
  body.sh-home-city-mode #homeBuilderHub,
  body.sh-home-country-mode #homeBuilderHub{
    padding-top:34px !important;
  }
}

/* End Madde 18 final nav fix */

/* Madde 18 readability fix: dark mode teaser cards must stay readable */
body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context,
body.sh-home-country-mode .hb3-context{
  color:#fffaf2 !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context .hb3-context-eyebrow,
body.sh-home-country-mode .hb3-context .hb3-context-eyebrow{
  color:#ff7a66 !important;
}

body.sh-home-country-mode .hb3-context .hb3-context-eyebrow{
  color:#8ff0b8 !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context .hb3-headline,
body.sh-home-country-mode .hb3-context .hb3-headline{
  color:#fff7ed !important;
  opacity:1 !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context .hb3-desc,
body.sh-home-country-mode .hb3-context .hb3-desc{
  color:rgba(255, 247, 237, .82) !important;
  opacity:1 !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context .hb3-context-note,
body.sh-home-country-mode .hb3-context .hb3-context-note{
  color:rgba(255, 247, 237, .72) !important;
  opacity:1 !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context hr,
body.sh-home-country-mode .hb3-context hr,
body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context .hb3-context-divider,
body.sh-home-country-mode .hb3-context .hb3-context-divider{
  border-color:rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.18) !important;
}

/* Road Trip dark card gets a green-specific accent */
body.sh-home-country-mode .hb3-context .hb3-headline{
  color:#f2fff7 !important;
}

body.sh-home-country-mode .hb3-context .hb3-desc,
body.sh-home-country-mode .hb3-context .hb3-context-note{
  color:rgba(242, 255, 247, .76) !important;
}

/* City card should feel warm, not black-on-brown */
body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context .hb3-headline{
  color:#fff3ec !important;
}

body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context .hb3-desc,
body.sh-home-city-mode:not(.sh-home-country-mode) .hb3-context .hb3-context-note{
  color:rgba(255, 243, 236, .78) !important;
}

/* End Madde 18 readability fix */

/* Madde 25: mobile hero + badge + eyebrow simplification
   Mobile first impression should be one clear promise, one compact mode switch,
   and less badge/eyebrow noise. Desktop remains unchanged. */
@media(max-width:760px){
  body:has(#homeBuilderHub) #homeBuilderHub,
  body.sh-home-city-mode #homeBuilderHub,
  body.sh-home-country-mode #homeBuilderHub{
    padding-top:22px !important;
  }

  .hb3-head{
    gap:12px !important;
    margin-bottom:18px !important;
    text-align:left !important;
  }

  .hb3-eyebrow{
    display:inline-flex !important;
    width:fit-content !important;
    margin:0 !important;
    padding:7px 10px !important;
    border-radius:999px !important;
    background:rgba(32,23,16,.07) !important;
    color:rgba(32,23,16,.68) !important;
    font-size:.68rem !important;
    line-height:1 !important;
    letter-spacing:.08em !important;
  }

  .hb3-title{
    max-width:11ch !important;
    margin:0 !important;
    font-size:clamp(3rem, 17vw, 4.7rem) !important;
    line-height:.86 !important;
    letter-spacing:-.07em !important;
  }

  .hb3-subtitle{
    max-width:32rem !important;
    margin:0 !important;
    font-size:1rem !important;
    line-height:1.38 !important;
  }

  .hb3-toggle{
    width:100% !important;
    margin-top:4px !important;
    padding:5px !important;
    border-radius:18px !important;
    gap:5px !important;
  }

  .hb3-toggle-btn{
    min-height:48px !important;
    padding:9px 10px !important;
    border-radius:14px !important;
  }

  .hb3-toggle-label{
    font-size:.86rem !important;
    letter-spacing:.01em !important;
  }

  .hb3-toggle-sub{
    display:none !important;
  }

  .hb3-context{
    padding:18px !important;
    border-radius:22px !important;
    min-height:0 !important;
  }

  .hb3-context-eyebrow{
    margin-bottom:8px !important;
    font-size:.66rem !important;
    letter-spacing:.09em !important;
  }

  .hb3-headline{
    font-size:clamp(2rem, 10vw, 3rem) !important;
    line-height:.92 !important;
    letter-spacing:-.055em !important;
  }

  .hb3-desc{
    margin-top:10px !important;
    font-size:.94rem !important;
    line-height:1.42 !important;
  }

  .hb3-context-note{
    display:none !important;
  }

  body .site-header.unified-site-header .site-beta-pill{
    padding:5px 8px !important;
    font-size:.62rem !important;
    letter-spacing:.08em !important;
  }

  body .site-header.unified-site-header .site-rollout{
    padding:6px 8px !important;
    border-radius:999px !important;
    gap:2px !important;
  }

  body .site-header.unified-site-header .site-rollout strong{
    font-size:.62rem !important;
    letter-spacing:.07em !important;
  }

  body .site-header.unified-site-header .site-rollout span{
    display:none !important;
  }
}

@media(max-width:430px){
  .hb3-title{
    font-size:clamp(2.8rem, 16vw, 4rem) !important;
  }

  .hb3-subtitle{
    font-size:.95rem !important;
  }

  body .site-header.unified-site-header .site-rollout{
    display:none !important;
  }
}

/* End Madde 25 */

/* Madde 27: mobile primary CTA width + min height
   Make primary actions easy to tap on mobile without changing desktop layout.
   Keep this as a low-risk global override near the end of styles.css. */
@media(max-width:760px){
  .btn.primary,
  .fg-submit,
  button.fg-submit,
  a.fg-submit,
  #createRoute,
  .hb3-hub #createRoute,
  .hb3-hub .fg-submit,
  .home-embedded-road-planner #createRoute,
  .routes-index-road-trip-builder{
    width:100% !important;
    min-height:48px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .hero-actions,
  .hb3-action-row,
  .hotel-guest-actions,
  .hotel-partner-actions,
  .route-actions,
  .road-trip-plan-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .hero-actions .btn,
  .hb3-action-row .fg-submit,
  .hb3-action-row .hb3-sample-walk,
  .hotel-guest-actions .btn,
  .hotel-guest-actions .hotel-guest-secondary-link,
  .hotel-partner-actions .btn,
  .route-actions .btn,
  .road-trip-plan-actions a,
  .road-trip-plan-actions button{
    width:100% !important;
    min-height:48px !important;
    box-sizing:border-box !important;
  }

  .hb3-sample-walk,
  .hotel-guest-secondary-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .hotel-guest-sticky-cta .btn.primary{
    width:auto !important;
    min-width:118px !important;
  }
}

@media(max-width:390px){
  .hotel-guest-sticky-cta .btn.primary{
    width:100% !important;
    min-width:0 !important;
  }
}

/* End Madde 27 */

/* Madde 28: reduce City Mode mobile card density
   Keep the homepage builder useful, but make the first mobile scan lighter:
   fewer heavy card surfaces, tighter form spacing, cleaner chips. Desktop remains unchanged. */
@media(max-width:760px){
  .hb3-grid{
    gap:14px !important;
  }

  .hb3-context{
    padding:16px !important;
    border-radius:20px !important;
  }

  .hb3-context-eyebrow{
    margin-bottom:6px !important;
  }

  .hb3-headline{
    font-size:clamp(1.85rem, 9vw, 2.65rem) !important;
  }

  .hb3-desc{
    margin-top:8px !important;
    font-size:.9rem !important;
    line-height:1.38 !important;
  }

  .hb3-form-card{
    padding:0 !important;
    border-radius:22px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .hb3-field-form{
    gap:10px !important;
    padding:16px !important;
    border-radius:22px !important;
    background:rgba(255,253,248,.94) !important;
    border:1px solid rgba(32,23,16,.10) !important;
    box-shadow:0 16px 40px rgba(32,23,16,.08) !important;
  }

  .hb3-field-form .build-form-head{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
    border-bottom:0 !important;
  }

  .hb3-field-form .build-form-head h2{
    font-size:1.18rem !important;
    line-height:1.05 !important;
    letter-spacing:-.025em !important;
  }

  .hb3-field-form label,
  .hb3-field-form fieldset{
    gap:6px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .hb3-field-form label > span,
  .hb3-field-form legend{
    font-size:.68rem !important;
    letter-spacing:.09em !important;
  }

  .hb3-field-form select,
  .hb3-field-form input[type="date"],
  .hb3-field-form input[type="time"]{
    min-height:46px !important;
    padding:10px 12px !important;
    border-radius:13px !important;
    font-size:.95rem !important;
  }

  .hb3-field-hint{
    display:none !important;
  }

  .hb3-field-form .merged-form-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .hb3-field-form .merged-form-grid label:nth-child(3),
  .hb3-field-form .merged-form-grid label:nth-child(4){
    display:none !important;
  }

  .hb3-field-form .build-interest-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
  }

  .hb3-field-form .fg-chip{
    min-height:36px !important;
    padding:8px 10px !important;
    border-radius:999px !important;
    font-size:.78rem !important;
    line-height:1.05 !important;
    flex:0 1 auto !important;
  }

  .hb3-field-form .fg-chip input{
    width:14px !important;
    height:14px !important;
  }

  .hb3-action-row{
    margin-top:2px !important;
    gap:9px !important;
  }

  .hb3-sample-walk{
    min-height:42px !important;
    font-size:.9rem !important;
  }
}

@media(max-width:420px){
  .hb3-field-form{
    padding:14px !important;
  }

  .hb3-field-form .merged-form-grid{
    grid-template-columns:1fr !important;
  }

  .hb3-field-form .fg-chip{
    font-size:.76rem !important;
  }
}

/* End Madde 28 */

/* SIGN HUNTERS GLOBAL FOOTER */
.site-footer{
  margin-top:72px;
  padding:56px 28px 34px;
  background:#181818;
  color:#f6f3ec;
}
.site-footer a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}
.site-footer-inner{
  max-width:1180px;
  margin:0 auto;
}
.site-footer-brand{
  display:grid;
  gap:10px;
  max-width:760px;
  margin-bottom:34px;
}
.site-footer-brand strong{
  font-size:clamp(32px,5vw,64px);
  line-height:.92;
  letter-spacing:-.05em;
}
.site-footer-brand p{
  margin:0;
  color:rgba(246,243,236,.78);
  font-size:16px;
  line-height:1.55;
}
.site-footer-contact{
  font-weight:800;
}
.site-footer-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.site-footer-grid section{
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.045);
}
.site-footer-grid h2{
  margin:0 0 10px;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#ffb4bf;
}
.site-footer-grid p{
  margin:0;
  color:rgba(246,243,236,.72);
  font-size:13px;
  line-height:1.55;
}
.site-footer-bottom{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(246,243,236,.62);
  font-size:12px;
}
.site-footer-bottom a{
  color:rgba(246,243,236,.82);
}
@media(max-width:900px){
  .site-footer{
    padding:42px 18px 28px;
  }
  .site-footer-grid{
    grid-template-columns:1fr;
  }
}
/* END SIGN HUNTERS GLOBAL FOOTER */


/* ============================================================
   SH WALK SHEET REWRITE — final CSS patch
   ============================================================ */
body.field-guide-report-open .fg-report-final {
  background: #fff7e8;
}

/* Route Brief */
.fg-report-final__brief {
  position: sticky;
  top: 52px;
  z-index: 20;
  background: #fff7e8;
  border-bottom: 1px solid rgba(17,17,17,.10);
  padding: 16px 20px 14px;
}
.fg-report-final__brief-kicker {
  margin: 0 0 2px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #7a5c3e;
  font-weight: 900;
}
.fg-report-final__brief-title {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.2;
  color: #111;
}
.fg-report-final__brief-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-bottom: 12px;
}
.fg-report-final__brief-line span {
  font-size: 13px;
  color: #444;
}
.fg-report-final__brief-line b {
  display: block;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #999;
  font-weight: 800;
}
.fg-report-final__brief-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ff0125;
  color: #fff !important;
  text-decoration: none;
  font-weight: 900;
  font-size: 14px;
  padding: 10px 16px;
  min-height: 44px;
  border-radius: 14px;
}

/* Start Card */
.fg-report-final__startcard {
  margin: 20px;
  padding: 22px 20px;
  background: #151515;
  border-radius: 14px;
  color: #fff8ec;
}
.fg-report-final__startcard-kicker {
  margin: 0 0 6px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #d8b98c;
  font-weight: 900;
}
.fg-report-final__startcard-title {
  display: block;
  font-size: 18px;
  line-height: 1.35;
  margin-bottom: 8px;
  color: #fff8ec;
}
.fg-report-final__startcard-text {
  margin: 0 0 14px;
  font-size: 14px;
  color: rgba(255,248,236,.78);
}
.fg-report-final__startcard-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ff0125;
  color: #fff !important;
  text-decoration: none;
  font-weight: 900;
  font-size: 14px;
  padding: 10px 16px;
  min-height: 44px;
  border-radius: 14px;
}

/* Walk Plan as core */
body.field-guide-report-open .fg-report-final__section--walkplan {
  background: #fff;
  border-top: 3px solid #ff0125;
  border-radius: 14px;
  margin: 4px 20px 20px;
  padding: 20px;
}
.fg-report-final__wpl-era {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 900;
  border-radius: 999px;
  background: rgba(255,1,37,.08);
  color: #b11218;
  border: 1px solid rgba(255,1,37,.18);
}
.fg-report-final__wpl-era[data-era="byzantine"] {
  background: rgba(60,90,150,.10);
  color: #2f4a78;
  border-color: rgba(60,90,150,.22);
}
.fg-report-final__wpl-era[data-era="ottoman"] {
  background: rgba(150,100,30,.10);
  color: #7a5c1e;
  border-color: rgba(150,100,30,.22);
}
.fg-report-final__wpl-era[data-era="modern"] {
  background: rgba(40,40,40,.07);
  color: #333;
  border-color: rgba(40,40,40,.16);
}
.fg-report-final__wpl-notice {
  margin: 8px 0 0;
  padding: 10px 12px;
  background: #fffaf0;
  border-left: 3px solid #ff0125;
  border-radius: 0 8px 8px 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: #333;
}
.fg-report-final__wpl-notice b {
  color: #111;
}

/* Practical Strip */
.fg-report-final__practical {
  padding: 8px 20px 4px;
}
.fg-report-final__practical-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.fg-report-final__practical .fg-report-final__section {
  padding-left: 0;
  padding-right: 0;
}

/* Extras accordions */
.fg-report-final__extras {
  padding: 16px 20px 8px;
}
.fg-report-final__extras-head {
  margin-bottom: 12px;
}
.fg-report-final__extras-head span {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #7a5c3e;
  font-weight: 900;
}
.fg-report-final__extras-head h3 {
  margin: 2px 0 4px;
  font-size: 18px;
  color: #111;
}
.fg-report-final__extras-head p {
  margin: 0;
  font-size: 13px;
  color: #777;
}
.fg-report-final__xacc {
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 14px;
  background: #fff;
  margin-bottom: 10px;
  overflow: hidden;
}
.fg-report-final__xacc > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}
.fg-report-final__xacc > summary::-webkit-details-marker {
  display: none;
}
.fg-report-final__xacc-kicker {
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
  background: #b11218;
  padding: 4px 8px;
  border-radius: 999px;
  white-space: nowrap;
  font-weight: 900;
}
.fg-report-final__xacc summary strong {
  flex: 1;
  font-size: 15px;
  color: #111;
}
.fg-report-final__xacc-chev {
  font-size: 20px;
  color: #999;
  transition: transform .2s ease;
}
.fg-report-final__xacc[open] .fg-report-final__xacc-chev {
  transform: rotate(45deg);
}
.fg-report-final__xacc-body {
  padding: 4px 16px 18px;
  border-top: 1px solid rgba(17,17,17,.06);
}
.fg-report-final__xacc-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
.fg-report-final__xcard {
  background: #fffaf0;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 10px;
  padding: 12px 14px;
}
.fg-report-final__xcard strong {
  display: block;
  font-size: 14px;
  color: #111;
  margin-bottom: 4px;
}
.fg-report-final__xcard p {
  margin: 0 0 6px;
  font-size: 13px;
  color: #444;
  line-height: 1.5;
}
.fg-report-final__xcard small {
  font-size: 12px;
  color: #666;
  line-height: 1.45;
}

/* Compact Audio */
.fg-report-final__audio-compact {
  padding-top: 8px;
}
.fg-report-final__audio-compact-lead {
  margin: 0 0 12px;
  font-size: 13px;
  color: #555;
  line-height: 1.5;
}
.fg-report-final__audio-compact-note {
  margin: 10px 0 0;
  font-size: 12px;
  color: #999;
}
.fg-report-final__audio-compact .fg-report-final__cinema-now {
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 12px;
  padding: 12px;
  background: #fffaf0;
  color: #111;
}
.fg-report-final__audio-compact .fg-report-final__cinema-now span,
.fg-report-final__audio-compact .fg-report-final__cinema-now strong,
.fg-report-final__audio-compact .fg-report-final__cinema-now small {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  opacity: 1 !important;
}
.fg-report-final__audio-compact .fg-report-final__cinema-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.fg-report-final__audio-compact .fg-report-final__cinema-controls button {
  min-height: 44px;
  border-radius: 999px;
  padding: 10px 14px;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.18) !important;
  font-weight: 900;
}
.fg-report-final__audio-compact .fg-report-final__cinema-controls .fg-report-final__cinema-cta {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #201710 !important;
  border-color: #201710 !important;
}

/* Trust note */
.fg-report-final__trustnote {
  margin: 4px 20px 8px;
  font-size: 12px;
  color: #888;
  line-height: 1.5;
}

/* Country next-step compact */
.fg-report-final__nextstep {
  margin: 16px 20px;
  padding: 14px 16px;
  border: 1px dashed rgba(17,17,17,.18);
  border-radius: 14px;
  text-align: center;
  background: #fffaf0;
}
.fg-report-final__nextstep span {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #999;
  font-weight: 900;
}
.fg-report-final__nextstep p {
  margin: 4px 0 8px;
  font-size: 14px;
  color: #333;
}
.fg-report-final__nextstep a {
  color: #b11218;
  font-weight: 900;
  font-size: 14px;
  text-decoration: none;
}

/* Mobile */
@media (max-width: 760px) {
  .fg-report-final__brief {
    top: 48px;
    padding: 14px 16px 12px;
  }
  .fg-report-final__brief-title {
    font-size: 19px;
  }
  .fg-report-final__startcard,
  .fg-report-final__nextstep,
  body.field-guide-report-open .fg-report-final__section--walkplan {
    margin-left: 12px;
    margin-right: 12px;
  }
  .fg-report-final__practical,
  .fg-report-final__extras {
    padding-left: 12px;
    padding-right: 12px;
  }
  .fg-report-final__practical-grid,
  .fg-report-final__xacc-cards {
    grid-template-columns: 1fr;
  }
  .fg-report-final__brief-cta,
  .fg-report-final__startcard-cta {
    display: flex;
    width: 100%;
  }
  .fg-report-final__audio-compact .fg-report-final__cinema-controls button {
    width: 100%;
  }
}

/* Print */
@media print {
  .fg-report-final__brief {
    position: static;
    border-bottom: 1px solid #ccc;
  }
  .fg-report-final__brief-cta,
  .fg-report-final__startcard-cta {
    display: none;
  }
  .fg-report-final__startcard {
    background: #fff;
    color: #111;
    border: 1px solid #ccc;
  }
  .fg-report-final__startcard-kicker,
  .fg-report-final__startcard-title,
  .fg-report-final__startcard-text {
    color: #111;
  }
  .fg-report-final__extras,
  .fg-report-final__trustnote,
  .fg-report-final__nextstep {
    display: none !important;
  }
  .fg-report-final__wpl-notice {
    border-left: 2px solid #999;
    background: #f7f7f7;
  }
  body.field-guide-report-open .fg-report-final__section--walkplan {
    border-top: 2px solid #999;
    margin: 0;
  }
}


/* === SH WALK SHEET — PATCH A: topbar fix === */
body.field-guide-report-open .fg-report-final__brandtitle {
  letter-spacing: 0 !important;
  font-feature-settings: normal !important;
  font-size: 17px;
}
body.field-guide-report-open .fg-report-final__kicker {
  letter-spacing: .1em;
  font-size: 10px;
}

/* === SH WALK SHEET — PATCH F: ikinci tur cila === */
body.field-guide-report-open .fg-report-final__shead h3 {
  font-size: 19px !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
body.field-guide-report-open .fg-report-final__section--walkplan .fg-report-final__shead h3 {
  font-size: 20px !important;
}

.fg-report-final__wpl-notice {
  margin: 8px 0 0;
  padding: 10px 12px;
  background: #fffaf0;
  border-left: 3px solid #ff0125;
  border-radius: 0 8px 8px 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: #2a2a2a;
}
.fg-report-final__wpl-notice b {
  display: block;
  font-size: 10px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #b11218;
  margin-bottom: 3px;
}
.fg-report-final__wpl-why {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.55;
  color: #6a6a6a;
}
.fg-report-final__wpl-leave {
  margin: 8px 0 0;
  font-size: 12.5px;
  color: #555;
}
.fg-report-final__wpl-leave b {
  display: inline-block;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #999;
  margin-right: 6px;
}

.fg-report-final__practical-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.fg-report-final__practical-stack .fg-report-final__section {
  margin: 0;
  padding: 0;
}

.fg-report-final__audio-spotlight {
  position: relative;
  overflow: hidden;
  margin-bottom: 14px;
  padding: 22px 20px;
  border-radius: 14px;
  background: #151515;
  color: #fff8ec;
}
.fg-report-final__audio-spotlight-glow {
  position: absolute;
  top: -60px;
  right: -40px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,1,37,.45) 0%, rgba(255,1,37,0) 70%);
  pointer-events: none;
}
.fg-report-final__audio-spotlight-badge {
  position: relative;
  display: inline-block;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
  background: #ff0125;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.fg-report-final__audio-spotlight-title {
  position: relative;
  display: block;
  font-size: 19px;
  line-height: 1.3;
  margin-bottom: 8px;
}
.fg-report-final__audio-spotlight-lead {
  position: relative;
  margin: 0 0 14px;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(255,248,236,.78);
}
.fg-report-final__audio-meta {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-bottom: 16px;
}
.fg-report-final__audio-meta span {
  font-size: 11px;
  color: rgba(255,248,236,.6);
}
.fg-report-final__audio-meta b {
  display: block;
  font-size: 15px;
  color: #fff8ec;
  margin-bottom: 1px;
}
.fg-report-final__audio-spotlight-cta {
  position: relative;
  display: inline-block;
  background: #ff0125;
  color: #fff;
  border: 0;
  font-weight: 600;
  font-size: 14px;
  padding: 11px 20px;
  border-radius: 14px;
  cursor: pointer;
}
.fg-report-final__audio-betanote {
  margin-top: 14px;
  padding: 12px 14px;
  background: #fffaf0;
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 10px;
}
.fg-report-final__audio-betanote strong {
  display: block;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #b11218;
  margin-bottom: 4px;
}
.fg-report-final__audio-betanote p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: #555;
}

@media print {
  .fg-report-final__audio-betanote,
  .fg-report-final__audio-spotlight {
    display: none;
  }
}

/* === SH WALK SHEET — PATCH GHIJKL: English consistency + visual cleanup === */

/* Keep report chrome English and readable */
body.field-guide-report-open .fg-report-final__brandtitle {
  letter-spacing: 0 !important;
  font-feature-settings: normal !important;
  font-size: 17px !important;
}

/* Affiliate actions should not overpower the walk plan */
body.field-guide-report-open .fg-report-final__action--primary,
body.field-guide-report-open .fg-report-final__action--sponsored.fg-report-final__action--primary {
  background: #fff !important;
  color: #111 !important;
  border: 1px solid rgba(17,17,17,.12) !important;
}
body.field-guide-report-open .fg-report-final__action--primary strong,
body.field-guide-report-open .fg-report-final__action--primary span {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}
body.field-guide-report-open .fg-report-final__action--primary span {
  color: #b11218 !important;
  -webkit-text-fill-color: #b11218 !important;
}

/* Stop preview should be a compact clue, not another full card */
body.field-guide-report-open .fg-report-final__stop-media {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 8px !important;
  margin-top: 10px;
}
body.field-guide-report-open .fg-report-final__stop-media-img {
  width: 64px !important;
  height: 64px !important;
  flex: 0 0 64px;
  border-radius: 8px;
  overflow: hidden;
}
body.field-guide-report-open .fg-report-final__stop-media-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.field-guide-report-open .fg-report-final__stop-media-body strong {
  font-size: 13px;
}
body.field-guide-report-open .fg-report-final__stop-media-body p {
  display: none;
}

/* English labels in the current product language */
body.field-guide-report-open .fg-report-final__wpl-notice b {
  letter-spacing: .08em;
}

/* === SH WALK SHEET — PATCH KLM FINAL: stop media, audio playlist, affiliate cleanup === */

/* K FINAL — affiliate primary should not dominate the report */
body.field-guide-report-open #fieldGuideReport .fg-report-final__actions .fg-report-final__action--primary,
body.field-guide-report-open #fieldGuideReport .fg-report-final__action--sponsored.fg-report-final__action--primary,
body.field-guide-report-open #fieldGuideReport .fg-report-final__action.fg-report-final__action--primary,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__actions .fg-report-final__action--primary,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__action--sponsored.fg-report-final__action--primary,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__action.fg-report-final__action--primary,
body.field-guide-report-open .fg-report-final__actions .fg-report-final__action--primary,
body.field-guide-report-open .fg-report-final__action--sponsored.fg-report-final__action--primary,
body.field-guide-report-open .fg-report-final__action.fg-report-final__action--primary {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(17,17,17,.12) !important;
  color: #111 !important;
  box-shadow: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__action--primary strong,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__action--primary strong,
body.field-guide-report-open .fg-report-final__action--primary strong {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__action--primary small,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__action--primary small,
body.field-guide-report-open .fg-report-final__action--primary small {
  color: #666 !important;
  -webkit-text-fill-color: #666 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__action--primary span,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__action--primary span,
body.field-guide-report-open .fg-report-final__action--primary span {
  color: #b11218 !important;
  -webkit-text-fill-color: #b11218 !important;
}

/* L FINAL — stop media becomes a compact thumbnail row */
body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
body.field-guide-report-open .fg-report-final__stop-media {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px !important;
  margin-top: 10px !important;
  border-radius: 12px !important;
  min-height: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  box-shadow: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
body.field-guide-report-open .fg-report-final__stop-media-img {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  flex: 0 0 60px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img img,
body.field-guide-report-open .fg-report-final__stop-media-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Hide VISUAL CUE fallback text so it never overlays loaded images */
body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img span,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img span,
body.field-guide-report-open .fg-report-final__stop-media-img span,
body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img::after,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img::after,
body.field-guide-report-open .fg-report-final__stop-media-img::after {
  display: none !important;
  content: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body,
body.field-guide-report-open .fg-report-final__stop-media-body {
  display: block !important;
  min-width: 0 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body strong,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body strong,
body.field-guide-report-open .fg-report-final__stop-media-body strong {
  font-size: 13px !important;
  line-height: 1.25 !important;
  margin: 0 0 2px !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body p,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body p,
body.field-guide-report-open .fg-report-final__stop-media-body p {
  display: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body a,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body a,
body.field-guide-report-open .fg-report-final__stop-media-body a {
  display: inline !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #b11218 !important;
  -webkit-text-fill-color: #b11218 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* M FINAL — audio playlist contrast */
body.field-guide-report-open #fieldGuideReport .fg-report-final__cinema-playlist,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__cinema-playlist,
body.field-guide-report-open .fg-report-final__cinema-playlist {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-top: 14px !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__cinema-stop,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__cinema-stop,
body.field-guide-report-open .fg-report-final__cinema-stop {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(17,17,17,.12) !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  text-align: left !important;
  cursor: pointer !important;
  color: #111 !important;
  box-shadow: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__cinema-stop span,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__cinema-stop span,
body.field-guide-report-open .fg-report-final__cinema-stop span {
  display: block !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #999 !important;
  -webkit-text-fill-color: #999 !important;
  margin-bottom: 2px !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__cinema-stop strong,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__cinema-stop strong,
body.field-guide-report-open .fg-report-final__cinema-stop strong {
  display: block !important;
  font-size: 13.5px !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__cinema-stop small,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__cinema-stop small,
body.field-guide-report-open .fg-report-final__cinema-stop small {
  font-size: 11.5px !important;
  color: #777 !important;
  -webkit-text-fill-color: #777 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__cinema-stop[data-fg-cinema-active="true"],
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__cinema-stop[data-fg-cinema-active="true"],
body.field-guide-report-open .fg-report-final__cinema-stop[data-fg-cinema-active="true"] {
  border-color: #ff0125 !important;
  background: #fffaf0 !important;
  background-color: #fffaf0 !important;
}

@media (max-width: 760px) {
  body.field-guide-report-open #fieldGuideReport .fg-report-final__cinema-playlist,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__cinema-playlist,
  body.field-guide-report-open .fg-report-final__cinema-playlist {
    grid-template-columns: 1fr !important;
  }
}

/* === SH WALK SHEET — PATCH N: stop preview editorial card === */
body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
body.field-guide-report-open .fg-report-final__stop-media {
  display: grid !important;
  grid-template-columns: 160px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 10px !important;
  margin-top: 12px !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  box-shadow: none !important;
  min-height: 118px !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
body.field-guide-report-open .fg-report-final__stop-media-img {
  width: 160px !important;
  height: 96px !important;
  min-width: 160px !important;
  max-width: 160px !important;
  min-height: 96px !important;
  max-height: 96px !important;
  flex: 0 0 160px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #ece7dc !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img img,
body.field-guide-report-open .fg-report-final__stop-media-img img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  display: block !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img::after,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img::after,
body.field-guide-report-open .fg-report-final__stop-media-img::after,
body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img span,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img span,
body.field-guide-report-open .fg-report-final__stop-media-img span {
  display: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body,
body.field-guide-report-open .fg-report-final__stop-media-body {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 5px !important;
  padding: 0 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body strong,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body strong,
body.field-guide-report-open .fg-report-final__stop-media-body strong {
  display: block !important;
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  color: #8b8175 !important;
  -webkit-text-fill-color: #8b8175 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body p,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body p,
body.field-guide-report-open .fg-report-final__stop-media-body p {
  display: block !important;
  margin: 0 !important;
  max-width: 52ch !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #5f5a52 !important;
  -webkit-text-fill-color: #5f5a52 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body a,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body a,
body.field-guide-report-open .fg-report-final__stop-media-body a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 0 !important;
  margin-top: 2px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b11218 !important;
  -webkit-text-fill-color: #b11218 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Hide the extra duplicated place link below the compact media card when present */
body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-placelink,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-placelink,
body.field-guide-report-open .fg-report-final__wpl-placelink {
  display: none !important;
}

@media (max-width: 760px) {
  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
  body.field-guide-report-open .fg-report-final__stop-media {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 12px !important;
    min-height: 92px !important;
  }

  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
  body.field-guide-report-open .fg-report-final__stop-media-img {
    width: 112px !important;
    height: 72px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    min-height: 72px !important;
    max-height: 72px !important;
  }
}


/* === SH WALK SHEET — PATCH N: refined stop preview card === */
body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
body.field-guide-report-open .fg-report-final__stop-media {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 14px !important;
  margin-top: 14px !important;
  border-radius: 18px !important;
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
body.field-guide-report-open .fg-report-final__stop-media-img {
  width: 220px !important;
  height: 92px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  min-height: 92px !important;
  max-height: 92px !important;
  flex: 0 0 220px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #ece7dc !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img img,
body.field-guide-report-open .fg-report-final__stop-media-img img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  display: block !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img::after,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img::after,
body.field-guide-report-open .fg-report-final__stop-media-img::after,
body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img span,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img span,
body.field-guide-report-open .fg-report-final__stop-media-img span {
  display: none !important;
  content: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body,
body.field-guide-report-open .fg-report-final__stop-media-body {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 4px !important;
  padding: 0 !important;
  min-width: 0 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body strong,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body strong,
body.field-guide-report-open .fg-report-final__stop-media-body strong {
  display: block !important;
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #8a8174 !important;
  -webkit-text-fill-color: #8a8174 !important;
  font-weight: 900 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body p,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body p,
body.field-guide-report-open .fg-report-final__stop-media-body p {
  display: block !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  color: #6a6259 !important;
  -webkit-text-fill-color: #6a6259 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body a,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body a,
body.field-guide-report-open .fg-report-final__stop-media-body a {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-height: 0 !important;
  margin-top: 4px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b11218 !important;
  -webkit-text-fill-color: #b11218 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body a:hover,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body a:hover,
body.field-guide-report-open .fg-report-final__stop-media-body a:hover {
  text-decoration: underline !important;
  background: transparent !important;
  transform: none !important;
}

@media (max-width: 760px) {
  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
  body.field-guide-report-open .fg-report-final__stop-media {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 10px !important;
  }

  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
  body.field-guide-report-open .fg-report-final__stop-media-img {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    flex-basis: 118px !important;
  }

  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body p,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body p,
  body.field-guide-report-open .fg-report-final__stop-media-body p {
    display: none !important;
  }
}

/* === SH WALK SHEET — PATCH O: clean stop header hierarchy === */
body.field-guide-report-open .fg-report-final__wpl-stophead {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}

body.field-guide-report-open .fg-report-final__wpl-num {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: #d92b17 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin-top: 2px !important;
}

body.field-guide-report-open .fg-report-final__wpl-title {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  color: #151515 !important;
}

body.field-guide-report-open .fg-report-final__wpl-title a {
  color: #151515 !important;
  -webkit-text-fill-color: #151515 !important;
  text-decoration: none !important;
}

body.field-guide-report-open .fg-report-final__wpl-meta {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 4px 0 0 !important;
  color: #7b7268 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
}

body.field-guide-report-open .fg-report-final__wpl-era {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  margin: 0 !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 900 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 760px) {
  body.field-guide-report-open .fg-report-final__wpl-stophead {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-num {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 14px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-title {
    font-size: 21px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-meta {
    font-size: 10px !important;
    gap: 5px !important;
  }

  body.field-guide-report-open .fg-report-final__wpl-era {
    font-size: 10px !important;
    padding: 4px 8px !important;
  }
}

/* === SH WALK SHEET — PATCH P: force stop header + preview card cleanup === */

/* Stop header: number left, title first, meta below */
body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-stophead,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-stophead,
body.field-guide-report-open .fg-report-final__wpl-stophead {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-stophead > div,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-stophead > div,
body.field-guide-report-open .fg-report-final__wpl-stophead > div {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 8px !important;
  min-width: 0 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-num,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-num,
body.field-guide-report-open .fg-report-final__wpl-num {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: #e12616 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-title,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-title,
body.field-guide-report-open .fg-report-final__wpl-title {
  order: 1 !important;
  flex: 0 0 100% !important;
  display: block !important;
  margin: 0 !important;
  color: #151515 !important;
  -webkit-text-fill-color: #151515 !important;
  font-size: 25px !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
  font-weight: 950 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-title a,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-title a,
body.field-guide-report-open .fg-report-final__wpl-title a {
  color: #151515 !important;
  -webkit-text-fill-color: #151515 !important;
  text-decoration: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-meta,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-meta,
body.field-guide-report-open .fg-report-final__wpl-meta {
  order: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 2px 0 0 !important;
  color: #8a8177 !important;
  -webkit-text-fill-color: #8a8177 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-era,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-era,
body.field-guide-report-open .fg-report-final__wpl-era {
  order: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}


/* Stop preview: compact horizontal editorial strip */
body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
body.field-guide-report-open .fg-report-final__stop-media {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 14px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
body.field-guide-report-open .fg-report-final__stop-media-img {
  display: block !important;
  width: 260px !important;
  height: 116px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  min-height: 116px !important;
  max-height: 116px !important;
  flex: 0 0 260px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #e8e1d6 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img img,
body.field-guide-report-open .fg-report-final__stop-media-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  filter: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img::after,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img::after,
body.field-guide-report-open .fg-report-final__stop-media-img::after,
body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img span,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img span,
body.field-guide-report-open .fg-report-final__stop-media-img span {
  display: none !important;
  content: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body,
body.field-guide-report-open .fg-report-final__stop-media-body {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 5px !important;
  min-width: 0 !important;
  padding: 0 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body strong,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body strong,
body.field-guide-report-open .fg-report-final__stop-media-body strong {
  display: block !important;
  margin: 0 !important;
  color: #8f867c !important;
  -webkit-text-fill-color: #8f867c !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body p,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body p,
body.field-guide-report-open .fg-report-final__stop-media-body p {
  display: block !important;
  margin: 0 !important;
  color: #5f5851 !important;
  -webkit-text-fill-color: #5f5851 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body a,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body a,
body.field-guide-report-open .fg-report-final__stop-media-body a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 0 !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b11218 !important;
  -webkit-text-fill-color: #b11218 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

/* Remove duplicated place link below preview if present */
body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-placelink,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-placelink,
body.field-guide-report-open .fg-report-final__wpl-placelink {
  display: none !important;
}

@media (max-width: 760px) {
  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
  body.field-guide-report-open .fg-report-final__stop-media {
    grid-template-columns: 120px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 10px !important;
  }

  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
  body.field-guide-report-open .fg-report-final__stop-media-img {
    width: 120px !important;
    height: 82px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    min-height: 82px !important;
    max-height: 82px !important;
  }

  body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-title,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-title,
  body.field-guide-report-open .fg-report-final__wpl-title {
    font-size: 22px !important;
  }
}

/* === SH WALK SHEET — PATCH Q: before-you-leave line break === */

body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-leave,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-leave,
body.field-guide-report-open .fg-report-final__wpl-leave {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  color: #5f5851 !important;
  -webkit-text-fill-color: #5f5851 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__wpl-leave b,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__wpl-leave b,
body.field-guide-report-open .fg-report-final__wpl-leave b {
  display: block !important;
  margin: 0 !important;
  color: #9b948d !important;
  -webkit-text-fill-color: #9b948d !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
}


/* === SH WALK SHEET — PATCH R: tighten stop preview card === */

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
body.field-guide-report-open .fg-report-final__stop-media {
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 18px !important;
  margin-top: 12px !important;
  max-width: 880px !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
body.field-guide-report-open .fg-report-final__stop-media-img {
  width: 320px !important;
  height: 144px !important;
  min-width: 320px !important;
  max-width: 320px !important;
  min-height: 144px !important;
  max-height: 144px !important;
  border-radius: 12px !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body,
body.field-guide-report-open .fg-report-final__stop-media-body {
  padding: 0 !important;
  gap: 6px !important;
  justify-content: center !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body strong,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body strong,
body.field-guide-report-open .fg-report-final__stop-media-body strong {
  font-size: 13px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #8d857d !important;
  -webkit-text-fill-color: #8d857d !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body a,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body a,
body.field-guide-report-open .fg-report-final__stop-media-body a {
  margin-top: 2px !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
}

@media (max-width: 760px) {
  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
  body.field-guide-report-open .fg-report-final__stop-media {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    max-width: none !important;
  }

  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
  body.field-guide-report-open .fg-report-final__stop-media-img {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
  }
}


/* === SH WALK SHEET — PATCH S: stop preview spacing correction === */

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
body.field-guide-report-open .fg-report-final__stop-media {
  grid-template-columns: 220px minmax(0, 360px) !important;
  justify-content: start !important;
  align-items: center !important;
  gap: 28px !important;
  padding: 16px 18px !important;
  max-width: none !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
body.field-guide-report-open .fg-report-final__stop-media-img {
  width: 220px !important;
  height: 124px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  min-height: 124px !important;
  max-height: 124px !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body,
body.field-guide-report-open .fg-report-final__stop-media-body {
  width: 360px !important;
  max-width: 360px !important;
  padding: 0 !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body strong,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body strong,
body.field-guide-report-open .fg-report-final__stop-media-body strong {
  margin: 0 0 4px !important;
}

body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body a,
body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body a,
body.field-guide-report-open .fg-report-final__stop-media-body a {
  margin-top: 4px !important;
}

@media (max-width: 760px) {
  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media,
  body.field-guide-report-open .fg-report-final__stop-media {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-img,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-img,
  body.field-guide-report-open .fg-report-final__stop-media-img {
    width: 112px !important;
    height: 72px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    min-height: 72px !important;
    max-height: 72px !important;
  }

  body.field-guide-report-open #fieldGuideReport .fg-report-final__stop-media-body,
  body.field-guide-report-open .home-fg-result.is-visible .fg-report-final__stop-media-body,
  body.field-guide-report-open .fg-report-final__stop-media-body {
    width: auto !important;
    max-width: none !important;
  }
}


/* === SH WALK SHEET — PATCH T: practical section cleanup === */

/* Remove visual heaviness behind weather/practical section */
body.field-guide-report-open .fg-report-final__practical {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-top: 10px !important;
}

body.field-guide-report-open .fg-report-final__practical > .fg-report-final__shead {
  display: none !important;
}

body.field-guide-report-open .fg-report-final__practical-stack {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Weather card should sit on the page, not inside a dark/wide band */
body.field-guide-report-open .fg-report-final__section--weather,
body.field-guide-report-open .fg-report-final__weather-shell {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.field-guide-report-open .fg-report-final__section--weather .fg-report-final__shead,
body.field-guide-report-open .fg-report-final__section--weather .fg-report-final__shead span {
  display: none !important;
}

/* Keep reminder grid to 5 cards after Transit removal */
body.field-guide-report-open .fg-report-final__reminders-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.field-guide-report-open .fg-report-final__section--reminders .fg-report-final__shead span {
  display: none !important;
}

body.field-guide-report-open .fg-report-final__section--reminders .fg-report-final__shead h3 {
  margin-top: 0 !important;
}

/* Mobile/tablet balance */
@media (max-width: 1180px) {
  body.field-guide-report-open .fg-report-final__reminders-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body.field-guide-report-open .fg-report-final__reminders-grid {
    grid-template-columns: 1fr !important;
  }
}

/* === SH WALK SHEET — PATCH U: practical Before you go label restore === */
body.field-guide-report-open .fg-report-final__shead--practical-compact {
  margin: 0 0 12px !important;
  padding: 0 !important;
}

body.field-guide-report-open .fg-report-final__shead--practical-compact span {
  display: inline-block !important;
  color: #ff0125 !important;
  -webkit-text-fill-color: #ff0125 !important;
  font-size: 12px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
}

body.field-guide-report-open .fg-report-final__shead--practical-compact h3 {
  display: none !important;
}

/* === SH WALK SHEET — PATCH V: practical label + clean reminder background === */

/* Guarantee the practical section label is visible even if older header rules hide it */
body.field-guide-report-open .fg-report-final__practical {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-top: 0 !important;
}

body.field-guide-report-open .fg-report-final__practical::before {
  content: "Before you go";
  display: block;
  margin: 0 0 14px !important;
  color: #ff0125 !important;
  -webkit-text-fill-color: #ff0125 !important;
  font-size: 12px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
}

/* Hide the old compact header so the label never appears twice */
body.field-guide-report-open .fg-report-final__shead--practical-compact {
  display: none !important;
}

/* Remove the beige/grey block behind the reminder cards */
body.field-guide-report-open .fg-report-final__section--reminders {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 22px 0 0 !important;
  margin: 24px 0 0 !important;
}

/* Keep the title readable, but without a heavy panel around it */
body.field-guide-report-open .fg-report-final__section--reminders .fg-report-final__shead {
  margin: 0 0 16px !important;
  padding: 0 !important;
}

body.field-guide-report-open .fg-report-final__section--reminders .fg-report-final__shead span {
  display: none !important;
}

body.field-guide-report-open .fg-report-final__section--reminders .fg-report-final__shead h3 {
  margin: 0 !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

/* The reminder grid itself should not carry a background */
body.field-guide-report-open .fg-report-final__reminders-grid {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  gap: 14px !important;
}

/* Reminder cards stay as clean white cards */
body.field-guide-report-open .fg-report-final__reminder {
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  box-shadow: none !important;
}

/* Also remove accidental background from the practical stack wrapper */
body.field-guide-report-open .fg-report-final__practical-stack {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* === SH BUILDER — route character selection === */
.fg-character-fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

.fg-character-fieldset legend {
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #7a5c3e;
  padding: 0;
  margin-bottom: 4px;
  font-weight: 900;
}

.fg-character-hint {
  margin: 0 0 12px;
  font-size: 13px;
  color: #777;
  line-height: 1.4;
}

.fg-character-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.fg-character-card {
  text-align: left;
  background: #fff;
  border: 1.5px solid rgba(17,17,17,.12);
  border-radius: 12px;
  padding: 13px 14px;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
  font: inherit;
}

.fg-character-card strong {
  display: block;
  font-size: 14.5px;
  color: #111;
  margin-bottom: 3px;
  line-height: 1.2;
}

.fg-character-card small {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  color: #777;
}

.fg-character-card:hover {
  border-color: rgba(255,1,37,.35);
  transform: translateY(-1px);
}

.fg-character-card.is-selected {
  border-color: #ff0125;
  background: #fff6f1;
}

.fg-character-card.is-selected strong {
  color: #b11218;
}

/* Keep one dominant builder CTA; sample walk is secondary. */
.hb3-action-row .hb3-sample-walk {
  background: transparent !important;
  color: #111 !important;
  border: 1.5px solid rgba(17,17,17,.18) !important;
  box-shadow: none !important;
  font-weight: 700;
}

.hb3-action-row .hb3-sample-walk:hover {
  border-color: rgba(17,17,17,.4) !important;
  background: rgba(17,17,17,.035) !important;
}

@media (max-width: 600px) {
  .fg-character-grid {
    grid-template-columns: 1fr;
  }
}

/* Road Trip homepage supporting sections: pale green / neutral paper palette. */
body.home-page #today .today-card,
body.home-page #featured,
body.home-page #featured .featured-card,
body.home-page #today .today-stop,
body.home-page #today .mini-target,
body.home-page #todayResults > *,
body.home-page .why-sh-card{
  background:#fffef8 !important;
  border-color:rgba(64,86,47,.14) !important;
}

body.home-page #featured.soft-panel{
  background:#eef5e8 !important;
}

body.home-page #featured .story-mini,
body.home-page #featured .affiliate-grid,
body.home-page #featured .featured-body > p{
  background:#f7faef !important;
  border-color:rgba(64,86,47,.12) !important;
}

/* Place page: Road Trip CTA cards */
.place-routes-section {
  border: 1px solid rgba(33, 27, 21, .14);
  border-radius: 22px;
  padding: 22px;
  margin-top: 18px;
  background: #fffaf0;
}

.place-route-cards {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.place-route-cta {
  border: 1px solid rgba(25, 25, 25, 0.12);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.place-route-cta__meta {
  display: block;
  margin-bottom: 6px;
  color: var(--primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.place-route-cta__title {
  display: block;
  color: #151515;
  font-size: 20px;
  line-height: 1.1;
}

.place-route-cta__desc {
  margin: 6px 0 0;
  color: #646464;
  font-size: 14px;
  line-height: 1.45;
}

.place-route-cta__btn {
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 14px;
  text-decoration: none;
  white-space: nowrap;
}

.place-route-cta__btn:hover {
  background: var(--primary-dark);
  text-decoration: none;
}

@media (max-width: 720px) {
  .place-route-cta {
    grid-template-columns: 1fr;
  }

  .place-route-cta__btn {
    width: 100%;
    justify-content: center;
  }
}

/* Route page: planning context strip */
.route-plan-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 14px 0 16px;
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(0, 0, 0, .09);
  font-size: 14px;
  color: #3d3530;
}

.route-plan-strip span {
  white-space: nowrap;
}

.route-plan-strip strong {
  color: #181818;
  font-weight: 900;
  font-size: 13px;
  margin-right: 4px;
}

/* ── Account / Profile page (Package B) ──────────────────────────────────── */
.sh-account-feedback[data-state="success"] { color: #1f6f4a; }
.sh-account-feedback[data-state="error"]   { color: #c0392b; }

/* ── Visited places — place page button (Package C) ─────────────────────── */
.sh-visited-strip { margin: 18px 0; }
.sh-visited-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 20px;
  border: 1.5px solid rgba(31, 111, 74, .4);
  border-radius: 999px;
  background: transparent;
  color: #1f6f4a;
  font-size: .88rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.sh-visited-btn:hover { background: rgba(31, 111, 74, .07); border-color: rgba(31, 111, 74, .7); }
.sh-visited-btn--active { background: #1f6f4a; color: #fff; border-color: #1f6f4a; }
.sh-visited-btn--active:hover { background: #155a3a; border-color: #155a3a; }

/* ── Saved routes — road trip report + account page (Package D) ─────────── */
.rt-report-final__save-route--active {
  background: #1f6f4a !important;
  border-color: #1f6f4a !important;
  color: #fff !important;
}
.rt-report-final__save-route--active span,
.rt-report-final__save-route--active strong {
  color: #fff !important;
}
.sh-account-saved-count {
  font-size: .84rem;
  font-weight: 600;
  color: #5d6a64;
  margin: 0 0 12px;
}
.sh-account-saved-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(20, 24, 26, .07);
}
.sh-account-saved-item:last-child { border-bottom: none; }
.sh-account-saved-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.sh-account-saved-title {
  font-size: .92rem;
  font-weight: 800;
  color: #14181a;
  line-height: 1.35;
}
.sh-account-saved-route,
.sh-account-saved-meta,
.sh-account-saved-date {
  font-size: .78rem;
  color: #7f8a85;
  font-weight: 500;
  line-height: 1.4;
}
.sh-account-saved-date { color: #b0b8b4; }
.sh-account-saved-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.sh-account-saved-open,
.sh-account-saved-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  font-family: inherit;
  text-decoration: none;
}
.sh-account-saved-open {
  color: #1f6f4a;
  border: 1px solid rgba(31, 111, 74, .35);
  background: rgba(31, 111, 74, .06);
}
.sh-account-saved-remove {
  color: #6a6256;
  border: 1px solid rgba(60, 43, 28, .22);
  background: transparent;
  cursor: pointer;
}
.sh-account-saved-open:hover { background: rgba(31, 111, 74, .1); }
.sh-account-saved-remove:hover { border-color: rgba(60, 43, 28, .42); background: rgba(60, 43, 28, .04); }
.sh-account-saved-empty {
  font-size: .86rem;
  color: #9aa49f;
  margin: 0;
  font-weight: 500;
  line-height: 1.45;
}
.sh-account-saved-device-note {
  font-size: .75rem;
  color: #b0b8b4;
  margin: 10px 0 0;
  font-weight: 500;
}

/* ── Visited places — account page (Package C) ───────────────────────────── */
.sh-account-section-title {
  font-size: 1rem;
  font-weight: 800;
  color: #14181a;
  margin: 0 0 10px;
  letter-spacing: -.01em;
}
.sh-account-visited-count {
  font-size: .84rem;
  font-weight: 600;
  color: #5d6a64;
  margin: 0 0 12px;
}
.sh-account-visited-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(20, 24, 26, .07);
}
.sh-account-visited-item:last-child { border-bottom: none; }
.sh-account-visited-name {
  font-size: .9rem;
  font-weight: 700;
  color: #1f6f4a;
  text-decoration: none;
}
.sh-account-visited-name:hover { text-decoration: underline; }
.sh-account-visited-city {
  font-size: .78rem;
  color: #9aa49f;
  font-weight: 500;
}
.sh-account-visited-date {
  font-size: .75rem;
  color: #b0b8b4;
  font-weight: 500;
  margin-left: auto;
}
.sh-account-visited-empty {
  font-size: .86rem;
  color: #9aa49f;
  margin: 0;
  font-weight: 500;
}
.sh-account-visited-device-note {
  font-size: .75rem;
  color: #b0b8b4;
  margin: 10px 0 0;
  font-weight: 500;
}

/* ── Account / Profile page (Package E) ──────────────────────────────────── */
.sh-account-signout-note {
  font-size: .76rem;
  color: #b0b8b4;
  margin: 7px 0 0;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

/* ============================================================================
   SIGN HUNTERS — PREMIUM REDESIGN SYSTEM (2026)
   Cultural Road Trips · "Follow the signs, find the story"
   ---------------------------------------------------------------------------
   Authoritative design layer. Appended last on purpose so it wins on
   source order without having to unpick years of stacked patches above.
   Palette: deep forest · warm ivory · sand · muted brass.
   Scope: global tokens + shared chrome (nav, footer, buttons, cards,
   sections, forms) + off-brand colour cleanup. No markup or JS changes.
   ============================================================================ */

/* --- 1. Design tokens ----------------------------------------------------- */
:root {
  /* Brand greens (kept in-family with existing --primary) */
  --primary: #315f4a;
  --primary-dark: #234b39;
  --primary-soft: #3d6e57;
  --green: #315f4a;

  /* Warm accent — muted brass, replaces legacy orange/red/pink accents */
  --accent: #a87d44;
  --accent-soft: #c49a63;
  --accent-tint: rgba(168, 125, 68, .12);

  /* Surfaces & ink (kept compatible with existing --bg / --black) */
  --bg: #f3ead8;
  --sand: #ece2cf;
  --surface: #fffdf8;
  --card: #fffdf8;
  --black: #1A1A1A;
  --ink: #1d2420;
  --text: #2b302c;
  --muted: #6c726b;

  /* Lines & depth — softer, warmer, more premium */
  --line: rgba(26, 26, 26, .09);
  --line-strong: rgba(26, 26, 26, .15);
  --shadow-sm: 0 2px 10px rgba(20, 28, 24, .05);
  --shadow: 0 16px 44px rgba(20, 28, 24, .08);
  --shadow-lg: 0 34px 80px rgba(20, 28, 24, .13);

  /* Radii */
  --radius: 18px;
  --radius-sm: 12px;
  --radius-lg: 26px;
  --radius-pill: 999px;
}

/* --- 2. Global typographic polish ----------------------------------------- */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* --- 3. Navigation — unified, calm, premium -------------------------------
   `body` prefix lifts specificity above the stack of legacy
   `body .site-header...` background rules so one consistent value wins. */
body .site-header.unified-site-header {
  background: rgba(247, 242, 232, .82);
  -webkit-backdrop-filter: saturate(140%) blur(20px);
  backdrop-filter: saturate(140%) blur(20px);
  border-bottom: 1px solid var(--line);
}
.site-header.unified-site-header .site-nav a {
  color: var(--ink);
  font-size: 12.5px;
  letter-spacing: .08em;
  transition: color .18s ease, background .18s ease;
}
/* Replace off-brand red hover with forest-green tint.
   !important + high specificity overrides the inline `.nav a:hover{...!important}`
   baked into 1000+ generated place pages, so the fix lands site-wide without
   touching a single generated file. */
.site-header.unified-site-header .site-nav a:hover,
.site-header.unified-site-header .site-nav a:focus-visible {
  background: rgba(49, 95, 74, .09);
  color: var(--primary) !important;
  transform: none;
}

/* Auth pills — previously unstyled plain links */
.nav-auth {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.nav-auth-link.auth-pill {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 10px 18px;
  border-radius: var(--radius-pill);
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .01em;
  text-decoration: none;
  line-height: 1;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
/* "Account" / "Sign out" — primary solid forest pill */
.nav-auth-link.auth-pill {
  background: var(--primary);
  color: #fff;
  box-shadow: 0 8px 22px rgba(49, 95, 74, .22);
}
.nav-auth-link.auth-pill:hover {
  background: var(--primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(49, 95, 74, .28);
}
/* "Sign in" — quieter outline pill so it reads secondary */
.nav-auth-link.login-pill {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line-strong);
  box-shadow: none;
}
.nav-auth-link.login-pill:hover {
  background: rgba(49, 95, 74, .08);
  color: var(--primary);
  border-color: rgba(49, 95, 74, .35);
}

/* --- 4. Buttons ----------------------------------------------------------- */
.btn {
  border-radius: 14px;
  border: 1px solid var(--line-strong);
  padding: 14px 22px;
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: .005em;
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow-sm);
  transition: transform .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}
.btn.primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  box-shadow: 0 12px 30px rgba(49, 95, 74, .24);
}
.btn.primary:hover {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  box-shadow: 0 18px 40px rgba(49, 95, 74, .3);
}
.btn.ghost {
  background: var(--surface);
  color: var(--ink);
}
.btn.ghost:hover {
  border-color: rgba(49, 95, 74, .35);
  color: var(--primary);
}

/* --- 5. Cards & surfaces — unified depth ---------------------------------- */
.card,
.featured-card,
.collection-card,
.target-card,
.route-results {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

/* --- 6. Sections & headings ----------------------------------------------- */
.eyebrow {
  color: var(--primary);
  letter-spacing: .2em;
  font-size: 12.5px;
}
.section-head p:not(.eyebrow) {
  color: var(--muted);
}

/* --- 7. Off-brand colour cleanup -----------------------------------------
   Neutralise leftover orange (#a87d44) / warm-pink surfaces from the pre-
   rebrand era toward the sand + forest + brass system. ---------------------- */
.soft-panel {
  background: linear-gradient(180deg, rgba(49, 95, 74, .06), rgba(255, 255, 255, .12));
  border: 1px solid var(--line);
}
.stats div {
  background: var(--sand);
  border: 1px solid var(--line);
}
.hunt-form {
  background: #fbf7ee;
  border: 1px solid var(--line-strong);
}
.today-status,
.route-mini-head,
.today-companion {
  background: var(--sand);
  border: 1px solid var(--line);
}
.timeline-section {
  background: linear-gradient(135deg, rgba(49, 95, 74, .08), rgba(168, 125, 68, .07));
}
.xp-card {
  background: linear-gradient(135deg, #f4ead7, #fffdf8);
}

/* --- 8. Footer — cohesive deep-forest base, brass label accent ------------ */
.site-footer {
  background: #14201a;
  color: #eef1ea;
}
.site-footer-brand p {
  color: rgba(238, 241, 234, .76);
}
.site-footer-grid section {
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .04);
  border-radius: var(--radius);
}
/* pink -> brass */
.site-footer-grid h2 {
  color: var(--accent-soft);
  letter-spacing: .1em;
}
.site-footer-grid p {
  color: rgba(238, 241, 234, .68);
}
.site-footer a {
  text-decoration-color: rgba(196, 154, 99, .55);
}
.site-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .10);
  color: rgba(238, 241, 234, .56);
}

/* --- 9. Homepage hero / builder hub emphasis ------------------------------ */
.hb3-eyebrow {
  color: var(--primary);
  letter-spacing: .2em;
}
.hb3-subtitle {
  color: var(--muted);
}

/* --- 10. Account / login share the system --------------------------------- */
.auth-card {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-lg);
}

/* --- 11. Forms — calmer focus state --------------------------------------- */
.route-form input:focus,
.search-card input:focus,
.search-card select:focus,
.hunt-form input:focus,
.hunt-form textarea:focus,
.auth-card input:focus {
  border-color: rgba(49, 95, 74, .55);
  box-shadow: 0 0 0 3px rgba(49, 95, 74, .12);
}

/* --- 12. Mobile / responsive spacing -------------------------------------- */
@media (max-width: 860px) {
  .nav-auth-link.auth-pill {
    min-height: 38px;
    padding: 9px 15px;
    font-size: 12.5px;
  }
}
@media (max-width: 640px) {
  .section {
    padding: 34px 0;
  }
  .btn {
    padding: 13px 18px;
  }
}
/* END SIGN HUNTERS PREMIUM REDESIGN SYSTEM (2026) */

/* Sign Hunters — Atlas product surface fix 20260612 */
body:has(.atlas-full-page) {
  background:
    radial-gradient(circle at 12% 0%, rgba(212, 190, 142, 0.2), transparent 34rem),
    linear-gradient(180deg, #f3ead8 0%, #f7efe1 46%, #f3ead8 100%);
}

.atlas-full-page {
  padding-top: clamp(28px, 4vw, 56px);
  padding-bottom: clamp(54px, 7vw, 92px);
}

.atlas-full-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  max-width: 1120px;
  padding-top: clamp(42px, 7vw, 86px);
  padding-bottom: clamp(34px, 5vw, 58px);
}

.atlas-full-hero .eyebrow {
  display: inline-flex;
  width: fit-content;
  border: 1px solid rgba(27, 77, 62, 0.18);
  background: rgba(255, 252, 244, 0.72);
  border-radius: 999px;
  padding: 9px 13px;
  color: #1b4d3e;
  letter-spacing: 0.13em;
}

.atlas-full-hero h1 {
  max-width: 920px;
  margin: 0;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(54px, 8vw, 116px);
  line-height: 0.9;
  letter-spacing: -0.065em;
  color: #17231d;
}

.atlas-full-hero > p,
.atlas-full-hero p:not(.eyebrow) {
  max-width: 720px;
  margin: 0;
  color: rgba(23, 35, 29, 0.72);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.55;
}

.atlas-full-page .section {
  margin-top: clamp(26px, 4vw, 48px);
  margin-bottom: clamp(26px, 4vw, 48px);
}

.atlas-full-page .section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
  gap: clamp(20px, 4vw, 44px);
  align-items: end;
  margin-bottom: 18px;
}

.atlas-full-page .section-head.compact {
  grid-template-columns: 1fr;
}

.atlas-full-page .section-head h2 {
  margin: 0;
  max-width: 720px;
  font-family: "Outfit", system-ui, sans-serif;
  font-size: clamp(34px, 4.8vw, 68px);
  line-height: 0.96;
  letter-spacing: -0.045em;
  color: #17231d;
}

.atlas-full-page .section-head p:not(.eyebrow) {
  margin: 0;
  color: rgba(23, 35, 29, 0.66);
  line-height: 1.55;
}

.atlas-full-page .card,
.atlas-full-page .museum-card,
.atlas-full-page .search-card,
.atlas-full-page .crawl-links-card {
  border: 1px solid rgba(27, 77, 62, 0.13);
  background: rgba(255, 252, 244, 0.78);
  box-shadow: 0 24px 70px rgba(23, 35, 29, 0.09);
  border-radius: 30px;
}

.atlas-full-page .museum-card {
  padding: clamp(22px, 4vw, 38px);
}

.atlas-full-page .museum-list,
.atlas-full-page .timeline-results,
.atlas-full-page .target-list,
.atlas-full-page .collection-grid {
  display: grid;
  gap: 16px;
}

.atlas-full-page .museum-list,
.atlas-full-page .target-list,
.atlas-full-page .collection-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.atlas-full-page .timeline-results {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.atlas-full-page .museum-list > *,
.atlas-full-page .timeline-results > *,
.atlas-full-page .target-list > *,
.atlas-full-page .collection-grid > * {
  min-height: 100%;
  border: 1px solid rgba(27, 77, 62, 0.12);
  background: rgba(255, 252, 244, 0.86);
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(23, 35, 29, 0.07);
}

.atlas-full-page .search-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 14px;
}

.atlas-full-page .search-card input,
.atlas-full-page .search-card select {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(27, 77, 62, 0.16);
  border-radius: 16px;
  background: #fffaf0;
  color: #17231d;
  padding: 0 15px;
  font: inherit;
  outline: none;
}

.atlas-full-page .search-card input:focus,
.atlas-full-page .search-card select:focus {
  border-color: rgba(27, 77, 62, 0.46);
  box-shadow: 0 0 0 4px rgba(27, 77, 62, 0.1);
}

.atlas-full-page .pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.atlas-full-page .pager button {
  min-height: 42px;
  border: 1px solid rgba(27, 77, 62, 0.18);
  border-radius: 999px;
  background: #fffaf0;
  color: #1b4d3e;
  font-weight: 900;
  padding: 0 16px;
  cursor: pointer;
}

.atlas-full-page .pager span {
  color: rgba(23, 35, 29, 0.6);
  font-weight: 800;
}

.atlas-full-page .timeline-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.atlas-full-page .timeline-tabs button,
.atlas-full-page .timeline-tabs a {
  border: 1px solid rgba(27, 77, 62, 0.15);
  border-radius: 999px;
  background: rgba(255, 252, 244, 0.78);
  color: #1b4d3e;
  padding: 10px 14px;
  font-weight: 900;
  text-decoration: none;
}

.atlas-full-page .crawl-links-card {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: clamp(18px, 3vw, 28px);
}

.atlas-full-page .crawl-links-card a {
  display: flex;
  align-items: center;
  min-height: 52px;
  border: 1px solid rgba(27, 77, 62, 0.11);
  border-radius: 16px;
  background: rgba(255, 250, 240, 0.78);
  color: #17231d;
  text-decoration: none;
  font-weight: 850;
  padding: 12px 14px;
}

@media (max-width: 860px) {
  .atlas-full-page .section-head,
  .atlas-full-page .museum-list,
  .atlas-full-page .timeline-results,
  .atlas-full-page .target-list,
  .atlas-full-page .collection-grid,
  .atlas-full-page .crawl-links-card {
    grid-template-columns: 1fr;
  }

  .atlas-full-hero h1 {
    font-size: clamp(46px, 15vw, 72px);
  }

  .atlas-full-page .section {
    margin-top: 28px;
    margin-bottom: 28px;
  }
}

/* MANUAL ATLAS REPAIR — 20260612
   Force Atlas browse places back to stable product-list layout.
   Do not remove unless Atlas target cards are redesigned structurally. */

.atlas-full-page {
  overflow-x: hidden !important;
}

.atlas-full-page .shell,
.atlas-full-page section.shell {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.atlas-full-page #targets {
  display: block !important;
}

.atlas-full-page #targets .section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px) !important;
  gap: 28px !important;
  align-items: end !important;
  margin-bottom: 22px !important;
}

.atlas-full-page #targets .search-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) !important;
  gap: 12px !important;
  width: 100% !important;
}

.atlas-full-page #targets .search-card input,
.atlas-full-page #targets .search-card select {
  width: 100% !important;
  min-width: 0 !important;
}

.atlas-full-page .region-tabs {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 18px 0 28px !important;
}

.atlas-full-page .region-tab {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 86px !important;
  padding: 14px 10px !important;
  border-radius: 18px !important;
  text-align: center !important;
  white-space: normal !important;
}

.atlas-full-page .region-tab span {
  display: block !important;
  line-height: 1.15 !important;
}

.atlas-full-page .target-list {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}

.atlas-full-page .target-list > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.atlas-full-page .target-card,
.atlas-full-page .target-card-new {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) minmax(230px, 330px) !important;
  gap: 28px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 210px !important;
  padding: 24px !important;
  overflow: hidden !important;
  transform: none !important;
}

.atlas-full-page .target-card .photo-frame {
  width: 220px !important;
  height: 160px !important;
  min-width: 220px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.atlas-full-page .target-card .photo-frame img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.atlas-full-page .target-info {
  min-width: 0 !important;
  max-width: none !important;
}

.atlas-full-page .target-info h3 {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

.atlas-full-page .target-actions,
.atlas-full-page .target-actions-inline {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  max-width: 330px !important;
  width: 100% !important;
  margin: 0 !important;
}

.atlas-full-page .target-actions a,
.atlas-full-page .target-actions button,
.atlas-full-page .target-actions-inline a,
.atlas-full-page .target-actions-inline button {
  position: static !important;
  white-space: nowrap !important;
}

.atlas-full-page .museum-list {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 12px !important;
}

.atlas-full-page .museum-row {
  display: grid !important;
  grid-template-columns: 80px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  width: 100% !important;
}

.atlas-full-page .collection-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.atlas-full-page .timeline-results {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

@media (max-width: 980px) {
  .atlas-full-page #targets .section-head,
  .atlas-full-page #targets .search-card {
    grid-template-columns: 1fr !important;
  }

  .atlas-full-page .region-tabs {
    display: flex !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
    scroll-snap-type: x proximity !important;
  }

  .atlas-full-page .region-tab {
    flex: 0 0 160px !important;
    scroll-snap-align: start !important;
  }

  .atlas-full-page .target-card,
  .atlas-full-page .target-card-new {
    grid-template-columns: 180px minmax(0, 1fr) !important;
  }

  .atlas-full-page .target-actions,
  .atlas-full-page .target-actions-inline {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    max-width: none !important;
  }

  .atlas-full-page .collection-grid,
  .atlas-full-page .timeline-results {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .atlas-full-page .shell,
  .atlas-full-page section.shell {
    width: min(100% - 28px, 1180px) !important;
  }

  .atlas-full-page .target-card,
  .atlas-full-page .target-card-new,
  .atlas-full-page .museum-row {
    grid-template-columns: 1fr !important;
  }

  .atlas-full-page .target-card .photo-frame,
  .atlas-full-page .museum-row .photo-frame {
    width: 100% !important;
    min-width: 0 !important;
    height: 190px !important;
  }

  .atlas-full-page .target-actions,
  .atlas-full-page .target-actions-inline {
    justify-content: flex-start !important;
  }
}

/* MANUAL ATLAS REFINEMENT — 20260612
   Tighten Atlas rhythm, spacing and card alignment after layout repair. */

.atlas-full-page {
  padding-top: 34px !important;
  padding-bottom: 64px !important;
}

.atlas-full-page .shell,
.atlas-full-page section.shell {
  width: min(1240px, calc(100% - 56px)) !important;
  max-width: 1240px !important;
}

/* Hero: less lonely, more premium landing rhythm */
.atlas-full-hero {
  padding-top: 54px !important;
  padding-bottom: 34px !important;
  max-width: 1240px !important;
}

.atlas-full-hero h1 {
  max-width: 760px !important;
  font-size: clamp(52px, 6.2vw, 92px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.06em !important;
}

.atlas-full-hero > p,
.atlas-full-hero p:not(.eyebrow) {
  max-width: 620px !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
}

/* Global Atlas section rhythm */
.atlas-full-page .section {
  margin-top: 38px !important;
  margin-bottom: 38px !important;
}

.atlas-full-page .section-head {
  margin-bottom: 20px !important;
}

.atlas-full-page .section-head h2 {
  font-size: clamp(34px, 4.2vw, 56px) !important;
  line-height: 0.98 !important;
  max-width: 620px !important;
}

.atlas-full-page .section-head p:not(.eyebrow) {
  max-width: 440px !important;
}

/* Museum: card should breathe but not float in a giant empty field */
.atlas-full-page .museum-card {
  padding: 26px !important;
}

.atlas-full-page .museum-list {
  gap: 10px !important;
}

.atlas-full-page .museum-row {
  min-height: 76px !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
}

.atlas-full-page .museum-row .photo-frame {
  width: 76px !important;
  height: 54px !important;
  border-radius: 12px !important;
}

.atlas-full-page .museum-row h3 {
  margin-bottom: 2px !important;
}

.atlas-full-page .museum-row .btn {
  min-height: 38px !important;
  padding: 0 14px !important;
}

/* Timeline: reduce cramped right grid and oversized dead space */
.atlas-full-page .timeline-section {
  padding-top: 8px !important;
}

.atlas-full-page .timeline-tabs {
  margin-bottom: 18px !important;
}

.atlas-full-page .timeline-tabs button,
.atlas-full-page .timeline-tabs a {
  min-height: 42px !important;
  padding: 9px 13px !important;
}

.atlas-full-page .timeline-results {
  grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.25fr) !important;
  gap: 20px !important;
}

.atlas-full-page .timeline-copy {
  min-height: 420px !important;
  padding: 24px !important;
  border-radius: 24px !important;
}

.atlas-full-page .timeline-targets,
.atlas-full-page .timeline-targets-rich {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.atlas-full-page .timeline-target {
  min-height: 86px !important;
  padding: 13px !important;
  border-radius: 15px !important;
}

/* Browse places: separate title/search, make tabs less toy-like */
.atlas-full-page #targets {
  margin-top: 44px !important;
}

.atlas-full-page #targets .section-head {
  grid-template-columns: minmax(0, 1fr) minmax(380px, 520px) !important;
  align-items: start !important;
  gap: 40px !important;
  margin-bottom: 18px !important;
}

.atlas-full-page #targets .search-card {
  align-self: start !important;
  padding: 10px !important;
  border-radius: 22px !important;
  background: rgba(255, 252, 244, 0.72) !important;
}

.atlas-full-page #targets .search-card input,
.atlas-full-page #targets .search-card select {
  min-height: 48px !important;
  border-radius: 15px !important;
  font-size: 15px !important;
}

.atlas-full-page .region-tabs {
  gap: 10px !important;
  margin: 14px 0 24px !important;
}

.atlas-full-page .region-tab {
  min-height: 72px !important;
  padding: 12px 8px !important;
  border-radius: 16px !important;
}

.atlas-full-page .region-tab span {
  font-size: 12px !important;
}

.atlas-full-page .region-tab b {
  font-size: 15px !important;
  margin-top: 6px !important;
}

/* Target cards: stop text/actions from feeling pasted together */
.atlas-full-page .target-list {
  gap: 16px !important;
}

.atlas-full-page .target-card,
.atlas-full-page .target-card-new {
  grid-template-columns: 210px minmax(0, 1fr) minmax(260px, 340px) !important;
  gap: 30px !important;
  min-height: 205px !important;
  padding: 24px 28px !important;
  border-radius: 26px !important;
}

.atlas-full-page .target-card .photo-frame {
  width: 210px !important;
  height: 150px !important;
}

.atlas-full-page .target-info {
  padding-right: 8px !important;
}

.atlas-full-page .target-info h3 {
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 0.98 !important;
  margin-bottom: 8px !important;
}

.atlas-full-page .target-meta {
  margin-bottom: 10px !important;
}

.atlas-full-page .target-info .chips {
  margin: 10px 0 12px !important;
  gap: 8px !important;
}

.atlas-full-page .target-info .muted {
  max-width: 560px !important;
  line-height: 1.42 !important;
}

.atlas-full-page .target-actions,
.atlas-full-page .target-actions-inline {
  justify-content: flex-end !important;
  align-self: center !important;
  padding-left: 20px !important;
  border-left: 1px solid rgba(27, 77, 62, 0.09) !important;
}

/* Collections: keep grid, reduce section looseness */
.atlas-full-page #collections {
  margin-top: 46px !important;
}

.atlas-full-page .collection-grid {
  gap: 14px !important;
}

.atlas-full-page .collection-card,
.atlas-full-page .collection-grid > * {
  border-radius: 22px !important;
  min-height: 190px !important;
}

/* Classics: less empty, more compact */
.atlas-full-page #classics {
  margin-top: 44px !important;
  margin-bottom: 34px !important;
}

.atlas-full-page .crawl-links-card {
  padding: 20px !important;
  gap: 9px !important;
}

.atlas-full-page .crawl-links-card a {
  min-height: 46px !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
}

/* Footer transition */
body:has(.atlas-full-page) .site-footer {
  margin-top: 34px !important;
}

/* Responsive refinement */
@media (max-width: 980px) {
  .atlas-full-page .shell,
  .atlas-full-page section.shell {
    width: min(100% - 36px, 1240px) !important;
  }

  .atlas-full-hero {
    padding-top: 38px !important;
  }

  .atlas-full-page #targets .section-head {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .atlas-full-page .timeline-results,
  .atlas-full-page .timeline-targets,
  .atlas-full-page .timeline-targets-rich {
    grid-template-columns: 1fr !important;
  }

  .atlas-full-page .timeline-copy {
    min-height: 0 !important;
  }

  .atlas-full-page .target-card,
  .atlas-full-page .target-card-new {
    grid-template-columns: 170px minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  .atlas-full-page .target-actions,
  .atlas-full-page .target-actions-inline {
    border-left: 0 !important;
    padding-left: 0 !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 640px) {
  .atlas-full-page {
    padding-top: 20px !important;
  }

  .atlas-full-page .shell,
  .atlas-full-page section.shell {
    width: min(100% - 28px, 1240px) !important;
  }

  .atlas-full-hero h1 {
    font-size: clamp(42px, 13vw, 62px) !important;
  }

  .atlas-full-page .section {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  .atlas-full-page .target-card,
  .atlas-full-page .target-card-new {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }

  .atlas-full-page .target-card .photo-frame {
    width: 100% !important;
    height: 190px !important;
  }

  .atlas-full-page .target-info h3 {
    font-size: 30px !important;
  }
}


/* MANUAL HOMEPAGE SURGERY 01 — header / rollout / hero rhythm 20260612
   Scope: homepage only. No JS, no builder selector/id/data changes. */

html:has(body.home-page),
body.home-page {
  background:
    radial-gradient(circle at 12% 0%, rgba(27, 77, 62, 0.10), transparent 34rem),
    linear-gradient(180deg, #f3ead8 0%, #f7efe1 42%, #f3ead8 100%) !important;
}

body.home-page main,
body.home-page #homeBuilderHub,
body.home-page .hb3-hub,
body.home-page.sh-home-country-mode,
body.home-page.sh-home-country-mode main,
body.home-page.sh-home-country-mode #homeBuilderHub,
body.home-page.sh-home-country-mode .hb3-hub {
  background: transparent !important;
}

/* Header: compact, product-site, no floating empty band */
body.home-page .site-header.unified-site-header,
body.home-page header.site-header {
  background: rgba(255, 250, 240, 0.88) !important;
  border-top: 4px solid #1b4d3e !important;
  border-bottom: 1px solid rgba(27, 77, 62, 0.10) !important;
  box-shadow: 0 14px 40px rgba(23, 35, 29, 0.06) !important;
  backdrop-filter: blur(18px) !important;
}

body.home-page .site-header-inner {
  min-height: 76px !important;
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 10px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
}

body.home-page .site-brand-row {
  flex: 0 0 auto !important;
}

body.home-page .brand-logo,
body.home-page .site-brand .brand-logo {
  width: 156px !important;
  max-width: 156px !important;
  height: auto !important;
}

body.home-page .site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
}

body.home-page .site-nav a {
  padding: 9px 11px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: 0.09em !important;
  color: rgba(23, 35, 29, 0.72) !important;
}

body.home-page .site-nav a[href="/"] {
  display: none !important;
}

body.home-page .nav-auth {
  margin-left: 0 !important;
}

body.home-page .nav-auth-link.auth-pill,
body.home-page .nav-auth-link.login-pill {
  min-height: 38px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(27, 77, 62, 0.20) !important;
  background: rgba(255, 252, 244, 0.92) !important;
  color: #1b4d3e !important;
  box-shadow: 0 10px 24px rgba(23, 35, 29, 0.07) !important;
}

/* Rollout: no more dangling block under header */
body.home-page .site-rollout {
  position: static !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 7px !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 8px 11px !important;
  border: 1px solid rgba(27, 77, 62, 0.14) !important;
  border-radius: 999px !important;
  background: rgba(255, 252, 244, 0.68) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.home-page .site-rollout strong,
body.home-page .site-rollout span {
  display: inline !important;
  margin: 0 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: rgba(23, 35, 29, 0.68) !important;
}

body.home-page .site-rollout strong::after {
  content: "·";
  margin-left: 7px;
  color: rgba(27, 77, 62, 0.45);
}

/* Hero: calmer, tighter, less billboard */
body.home-page #homeBuilderHub {
  padding-top: clamp(34px, 5vw, 66px) !important;
}

body.home-page .hb3-hub {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home-page .hb3-hero,
body.home-page .hb3-hero-shell,
body.home-page .hb3-hero-panel {
  background: rgba(255, 252, 244, 0.34) !important;
}

body.home-page .hb3-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  margin-bottom: 18px !important;
  padding: 9px 13px !important;
  border: 1px solid rgba(27, 77, 62, 0.16) !important;
  border-radius: 999px !important;
  background: rgba(255, 252, 244, 0.70) !important;
  color: #1b4d3e !important;
  letter-spacing: 0.13em !important;
}

body.home-page .hb3-title {
  max-width: 860px !important;
  font-size: clamp(58px, 8vw, 118px) !important;
  line-height: 0.91 !important;
  letter-spacing: -0.065em !important;
  margin-bottom: 18px !important;
  color: #17231d !important;
}

body.home-page .hb3-subtitle,
body.home-page .hb3-desc {
  max-width: 690px !important;
  font-size: clamp(17px, 1.45vw, 21px) !important;
  line-height: 1.5 !important;
  color: rgba(23, 35, 29, 0.70) !important;
}

/* Builder should start closer to hero, not float far below */
body.home-page .hb3-form-shell,
body.home-page .home-embedded-road-planner .route-planner-card {
  margin-top: clamp(22px, 3vw, 38px) !important;
}

/* Mobile sanity */
@media (max-width: 820px) {
  body.home-page .site-header-inner {
    width: min(100% - 28px, 1240px) !important;
    min-height: auto !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    padding: 10px 0 12px !important;
  }

  body.home-page .brand-logo,
  body.home-page .site-brand .brand-logo {
    width: 138px !important;
  }

  body.home-page .site-nav {
    order: 3 !important;
    flex-basis: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
  }

  body.home-page .site-rollout {
    display: none !important;
  }

  body.home-page #homeBuilderHub {
    padding-top: 28px !important;
  }

  body.home-page .hb3-hub {
    width: min(100% - 28px, 1240px) !important;
  }

  body.home-page .hb3-title {
    font-size: clamp(48px, 14vw, 72px) !important;
  }
}

/* MANUAL HOMEPAGE SURGERY 02 — nav bar / bright green builder polish 20260612
   Scope: homepage only. Keeps form IDs and JS hooks untouched. */

:root {
  --sh-bright-green: #c9f8a8;
  --sh-bright-green-strong: #aaf06f;
  --sh-home-ink: #17231d;
  --sh-home-green: #1b4d3e;
}

/* Header must read as one full-width white product bar */
body.home-page .site-header.unified-site-header,
body.home-page header.site-header {
  width: 100% !important;
  background: #ffffff !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(23, 35, 29, 0.10) !important;
  box-shadow: 0 18px 44px rgba(23, 35, 29, 0.08) !important;
}

body.home-page .site-header-inner {
  min-height: 64px !important;
  max-width: none !important;
  width: 100% !important;
  padding: 8px clamp(22px, 4vw, 56px) !important;
  gap: clamp(16px, 2vw, 30px) !important;
}

body.home-page .brand-logo,
body.home-page .site-brand .brand-logo {
  width: 148px !important;
  max-width: 148px !important;
}

body.home-page .site-nav {
  justify-content: center !important;
}

body.home-page .site-nav a {
  background: transparent !important;
  color: rgba(23, 35, 29, 0.68) !important;
}

body.home-page .site-nav a:hover,
body.home-page .site-nav a:focus-visible {
  background: rgba(201, 248, 168, 0.48) !important;
  color: #163d31 !important;
}

/* Sign in: make it a visible action, not a sleepy outline */
body.home-page .nav-auth-link.auth-pill,
body.home-page .nav-auth-link.login-pill {
  min-height: 42px !important;
  padding: 0 20px !important;
  border: 1px solid rgba(23, 35, 29, 0.14) !important;
  background: linear-gradient(135deg, var(--sh-bright-green), var(--sh-bright-green-strong)) !important;
  color: #153629 !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(93, 159, 60, 0.24) !important;
}

body.home-page .nav-auth-link.auth-pill:hover,
body.home-page .nav-auth-link.login-pill:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 38px rgba(93, 159, 60, 0.30) !important;
}

/* Turn the hero eyebrow into the rollout message */
body.home-page .hb3-eyebrow {
  margin-bottom: 20px !important;
  padding: 12px 20px !important;
  border-color: rgba(23, 35, 29, 0.13) !important;
  background:
    linear-gradient(135deg, rgba(201, 248, 168, 0.95), rgba(255, 252, 244, 0.78)) !important;
  color: #163d31 !important;
  box-shadow: 0 16px 42px rgba(93, 159, 60, 0.16) !important;
  font-size: clamp(13px, 1.05vw, 17px) !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
}

/* Hide the duplicated rollout pill in the nav on homepage */
body.home-page .site-rollout {
  display: none !important;
}

/* Builder card: stop the giant empty right-hand hole */
body.home-page .hb3-form-shell,
body.home-page .home-embedded-road-planner .route-planner-card {
  background:
    radial-gradient(circle at 92% 12%, rgba(201, 248, 168, 0.62), transparent 28rem),
    linear-gradient(135deg, rgba(255, 252, 244, 0.96), rgba(244, 238, 224, 0.94)) !important;
  border: 1px solid rgba(23, 35, 29, 0.12) !important;
  border-radius: 34px !important;
  box-shadow: 0 30px 80px rgba(23, 35, 29, 0.12) !important;
  padding: clamp(24px, 3.2vw, 42px) !important;
  overflow: hidden !important;
}

/* Form grid: organize fields into a deliberate layout */
body.home-page .hb3-road-form,
body.home-page .home-embedded-road-planner form {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: start !important;
}

body.home-page .hb3-road-form > *,
body.home-page .home-embedded-road-planner form > * {
  min-width: 0 !important;
}

/* Make common field wrappers behave */
body.home-page .hb3-road-form label,
body.home-page .home-embedded-road-planner form label {
  color: rgba(23, 35, 29, 0.62) !important;
  font-weight: 900 !important;
  letter-spacing: 0.13em !important;
}

/* First five route controls */
body.home-page .hb3-road-form > :nth-child(1),
body.home-page .home-embedded-road-planner form > :nth-child(1) {
  grid-column: span 2 !important;
}

body.home-page .hb3-road-form > :nth-child(2),
body.home-page .home-embedded-road-planner form > :nth-child(2) {
  grid-column: span 2 !important;
}

body.home-page .hb3-road-form > :nth-child(3),
body.home-page .home-embedded-road-planner form > :nth-child(3) {
  grid-column: span 2 !important;
}

body.home-page .hb3-road-form > :nth-child(4),
body.home-page .home-embedded-road-planner form > :nth-child(4),
body.home-page .hb3-road-form > :nth-child(5),
body.home-page .home-embedded-road-planner form > :nth-child(5) {
  grid-column: span 2 !important;
}

body.home-page .hb3-road-form > :nth-child(6),
body.home-page .home-embedded-road-planner form > :nth-child(6) {
  grid-column: span 2 !important;
}

/* Vehicle starts the second row cleanly */
body.home-page .hb3-road-form > :nth-child(7),
body.home-page .home-embedded-road-planner form > :nth-child(7) {
  grid-column: 1 / span 3 !important;
}

/* Inputs: more premium, less default browser block */
body.home-page .hb3-road-form input,
body.home-page .hb3-road-form select,
body.home-page .home-embedded-road-planner input,
body.home-page .home-embedded-road-planner select {
  min-height: 56px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(23, 35, 29, 0.15) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: var(--sh-home-ink) !important;
  font-size: 17px !important;
  font-weight: 850 !important;
  box-shadow: 0 12px 26px rgba(23, 35, 29, 0.06) !important;
}

body.home-page .hb3-road-form input:focus,
body.home-page .hb3-road-form select:focus,
body.home-page .home-embedded-road-planner input:focus,
body.home-page .home-embedded-road-planner select:focus {
  outline: 3px solid rgba(201, 248, 168, 0.72) !important;
  border-color: rgba(27, 77, 62, 0.34) !important;
}

/* Fine tune: convert from sad vertical leftovers into an intentional green panel */
body.home-page .fine-tune,
body.home-page .route-preferences,
body.home-page .preference-options,
body.home-page .route-options,
body.home-page fieldset {
  grid-column: 1 / -1 !important;
}

body.home-page .fine-tune,
body.home-page .route-preferences,
body.home-page .preference-options {
  margin-top: 4px !important;
  padding: 20px !important;
  border-radius: 26px !important;
  background:
    linear-gradient(135deg, rgba(201, 248, 168, 0.80), rgba(255, 252, 244, 0.74)) !important;
  border: 1px solid rgba(23, 35, 29, 0.10) !important;
}

body.home-page .fine-tune h3,
body.home-page .route-preferences h3,
body.home-page fieldset legend {
  margin: 0 0 14px !important;
  color: rgba(23, 35, 29, 0.66) !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

body.home-page .fine-tune label,
body.home-page .route-preferences label,
body.home-page .preference-options label,
body.home-page .route-options label {
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.62) !important;
  border: 1px solid rgba(23, 35, 29, 0.10) !important;
  box-shadow: 0 10px 22px rgba(23, 35, 29, 0.04) !important;
}

body.home-page .fine-tune input[type="checkbox"],
body.home-page .route-preferences input[type="checkbox"],
body.home-page .preference-options input[type="checkbox"],
body.home-page .route-options input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 2px 0 0 !important;
  accent-color: #1f7a45 !important;
  box-shadow: none !important;
}

body.home-page .fine-tune label strong,
body.home-page .route-preferences label strong,
body.home-page .preference-options label strong,
body.home-page .route-options label strong {
  display: block !important;
  color: #17231d !important;
  font-size: 17px !important;
  line-height: 1.18 !important;
}

body.home-page .fine-tune label small,
body.home-page .fine-tune label span,
body.home-page .route-preferences label small,
body.home-page .route-preferences label span,
body.home-page .preference-options label small,
body.home-page .preference-options label span,
body.home-page .route-options label small,
body.home-page .route-options label span {
  color: rgba(23, 35, 29, 0.60) !important;
}

/* Generic checkbox rows inside route planner, for current markup variants */
body.home-page .hb3-road-form input[type="checkbox"] + span,
body.home-page .home-embedded-road-planner input[type="checkbox"] + span {
  font-weight: 800 !important;
}

/* Submit CTA: bright but still Sign Hunters */
body.home-page #createRoute,
body.home-page .hb3-road-form button[type="submit"],
body.home-page .home-embedded-road-planner button[type="submit"],
body.home-page .home-embedded-road-planner .btn.primary {
  min-height: 62px !important;
  padding: 0 28px !important;
  border-radius: 20px !important;
  background:
    linear-gradient(135deg, #1f7a45 0%, #1b4d3e 55%, #163d31 100%) !important;
  color: #fffdf5 !important;
  font-size: 17px !important;
  font-weight: 950 !important;
  box-shadow: 0 18px 42px rgba(31, 122, 69, 0.28) !important;
}

/* If the current form puts the button after preferences, keep it compact */
body.home-page .hb3-road-form > button,
body.home-page .home-embedded-road-planner form > button {
  grid-column: 1 / span 3 !important;
}

/* Slightly reduce hero-to-form air */
body.home-page .hb3-title {
  margin-bottom: 12px !important;
}

body.home-page .hb3-subtitle,
body.home-page .hb3-desc {
  margin-bottom: 0 !important;
}

@media (max-width: 1100px) {
  body.home-page .hb3-road-form,
  body.home-page .home-embedded-road-planner form {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  body.home-page .hb3-road-form > :nth-child(n),
  body.home-page .home-embedded-road-planner form > :nth-child(n) {
    grid-column: span 3 !important;
  }

  body.home-page .fine-tune,
  body.home-page .route-preferences,
  body.home-page .preference-options,
  body.home-page .route-options,
  body.home-page fieldset {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body.home-page .site-header-inner {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.home-page .hb3-road-form,
  body.home-page .home-embedded-road-planner form {
    grid-template-columns: 1fr !important;
  }

  body.home-page .hb3-road-form > :nth-child(n),
  body.home-page .home-embedded-road-planner form > :nth-child(n),
  body.home-page .hb3-road-form > button,
  body.home-page .home-embedded-road-planner form > button {
    grid-column: 1 / -1 !important;
  }

  body.home-page .hb3-eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.13em !important;
  }
}

/* MANUAL HOMEPAGE SURGERY 03 — remove rollout badge, rebuild green planner panel 20260612
   Scope: homepage planner only. No JS hooks changed. */

/* Remove the remaining Turkey first / Mediterranean next promo badges */
body.home-page .site-rollout,
body.home-page .hb3-eyebrow {
  display: none !important;
}

/* Pull hero up after removing badge */
body.home-page #homeBuilderHub {
  padding-top: clamp(22px, 3.4vw, 46px) !important;
}

body.home-page .hb3-title {
  margin-top: 0 !important;
}

/* Bright green route builder surface */
body.home-page .hb3-form-shell,
body.home-page .home-embedded-road-planner .route-planner-card {
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 255, 255, 0.72), transparent 26rem),
    radial-gradient(circle at 92% 10%, rgba(255, 255, 255, 0.50), transparent 22rem),
    linear-gradient(135deg, #c9f8a8 0%, #b9f58f 42%, #eefadf 100%) !important;
  border: 1px solid rgba(23, 35, 29, 0.16) !important;
  border-radius: 32px !important;
  padding: clamp(24px, 3vw, 38px) !important;
  box-shadow: 0 34px 82px rgba(68, 128, 48, 0.22) !important;
}

/* Rebuild planner as a readable 3-column product form */
body.home-page .hb3-road-form,
body.home-page .home-embedded-road-planner form {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 24px !important;
  row-gap: 22px !important;
  align-items: start !important;
}

/* Undo previous nth-child scatter where possible */
body.home-page .hb3-road-form > *,
body.home-page .home-embedded-road-planner form > * {
  grid-column: auto / span 1 !important;
  min-width: 0 !important;
}

/* Field wrappers */
body.home-page .hb3-road-form > label,
body.home-page .home-embedded-road-planner form > label,
body.home-page .hb3-road-form .form-field,
body.home-page .home-embedded-road-planner .form-field,
body.home-page .hb3-road-form .field,
body.home-page .home-embedded-road-planner .field {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
}

/* Trip mode helper text should stay under its select, not create visual mess */
body.home-page .hb3-road-form .route-summary,
body.home-page .home-embedded-road-planner .route-summary,
body.home-page .hb3-road-form .field-help,
body.home-page .home-embedded-road-planner .field-help,
body.home-page .hb3-road-form small,
body.home-page .home-embedded-road-planner small {
  color: rgba(23, 35, 29, 0.58) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
}

/* Inputs/selects: clean white cards on green */
body.home-page .hb3-road-form input:not([type="checkbox"]),
body.home-page .hb3-road-form select,
body.home-page .home-embedded-road-planner input:not([type="checkbox"]),
body.home-page .home-embedded-road-planner select {
  width: 100% !important;
  min-height: 62px !important;
  padding: 0 22px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(23, 35, 29, 0.16) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #17231d !important;
  font-size: clamp(18px, 1.4vw, 23px) !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(23, 35, 29, 0.08) !important;
}

/* Labels */
body.home-page .hb3-road-form label,
body.home-page .home-embedded-road-planner form label {
  font-size: 13px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.14em !important;
  color: rgba(23, 35, 29, 0.62) !important;
}

/* Fine-tune title spans full row */
body.home-page .hb3-road-form h3,
body.home-page .home-embedded-road-planner form h3,
body.home-page .hb3-road-form legend,
body.home-page .home-embedded-road-planner form legend {
  grid-column: 1 / -1 !important;
  margin: 8px 0 -4px !important;
  color: rgba(23, 35, 29, 0.66) !important;
  font-size: clamp(18px, 1.55vw, 26px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

/* Checkbox rows become cards, 3 side-by-side */
body.home-page .hb3-road-form label:has(input[type="checkbox"]),
body.home-page .home-embedded-road-planner form label:has(input[type="checkbox"]) {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  min-height: 104px !important;
  padding: 18px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(23, 35, 29, 0.13) !important;
  background: rgba(255, 255, 255, 0.62) !important;
  box-shadow: 0 16px 34px rgba(23, 35, 29, 0.07) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.home-page .hb3-road-form label:has(input[type="checkbox"]):hover,
body.home-page .home-embedded-road-planner form label:has(input[type="checkbox"]):hover {
  background: rgba(255, 255, 255, 0.78) !important;
  transform: translateY(-1px) !important;
}

body.home-page .hb3-road-form input[type="checkbox"],
body.home-page .home-embedded-road-planner input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 2px 0 0 !important;
  accent-color: #1f7a45 !important;
  box-shadow: none !important;
}

body.home-page .hb3-road-form label:has(input[type="checkbox"]) strong,
body.home-page .home-embedded-road-planner form label:has(input[type="checkbox"]) strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #17231d !important;
  font-size: 17px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

body.home-page .hb3-road-form label:has(input[type="checkbox"]) span,
body.home-page .home-embedded-road-planner form label:has(input[type="checkbox"]) span,
body.home-page .hb3-road-form label:has(input[type="checkbox"]) small,
body.home-page .home-embedded-road-planner form label:has(input[type="checkbox"]) small {
  display: block !important;
  color: rgba(23, 35, 29, 0.58) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

/* Button sits below fine-tune, compact and deliberate */
body.home-page #createRoute,
body.home-page .hb3-road-form button[type="submit"],
body.home-page .home-embedded-road-planner button[type="submit"],
body.home-page .home-embedded-road-planner .btn.primary {
  grid-column: 1 / span 1 !important;
  width: 100% !important;
  min-height: 62px !important;
  margin-top: 2px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #153629 0%, #1f7a45 100%) !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  box-shadow: 0 18px 38px rgba(23, 54, 41, 0.26) !important;
}

/* Mobile/tablet */
@media (max-width: 1050px) {
  body.home-page .hb3-road-form,
  body.home-page .home-embedded-road-planner form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home-page .hb3-road-form h3,
  body.home-page .home-embedded-road-planner form h3,
  body.home-page .hb3-road-form legend,
  body.home-page .home-embedded-road-planner form legend {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 680px) {
  body.home-page .hb3-road-form,
  body.home-page .home-embedded-road-planner form {
    grid-template-columns: 1fr !important;
  }

  body.home-page .hb3-road-form > *,
  body.home-page .home-embedded-road-planner form > *,
  body.home-page #createRoute,
  body.home-page .hb3-road-form button[type="submit"],
  body.home-page .home-embedded-road-planner button[type="submit"] {
    grid-column: 1 / -1 !important;
  }
}

/* MANUAL HOMEPAGE SURGERY 04 — correct rollout placement + planner structure 20260612
   Scope: homepage only. Fixes surgery 03 side effects. */

/* 1) Header rollout must be gone, period */
body.home-page header .site-rollout,
body.home-page .site-header .site-rollout,
body.home-page .unified-site-header .site-rollout,
body.home-page .site-header-inner > .site-rollout {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* 2) Bring back the central campaign pill */
body.home-page .hb3-eyebrow {
  display: inline-flex !important;
  visibility: visible !important;
  width: fit-content !important;
  height: auto !important;
  margin: 0 auto 22px !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(23, 35, 29, 0.16) !important;
  background: linear-gradient(135deg, #c9f8a8 0%, #eefadf 100%) !important;
  color: #163d31 !important;
  box-shadow: 0 16px 38px rgba(93, 159, 60, 0.18) !important;
  font-size: clamp(13px, 1vw, 16px) !important;
  font-weight: 950 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

/* Keep hero centered after restoring pill */
body.home-page .hb3-hub,
body.home-page .hb3-hero,
body.home-page .hb3-hero-copy {
  text-align: center !important;
}

body.home-page .hb3-title,
body.home-page .hb3-subtitle,
body.home-page .hb3-desc {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 3) Planner panel: full bright green field */
body.home-page .hb3-form-shell,
body.home-page .home-embedded-road-planner .route-planner-card {
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 255, 255, 0.72), transparent 25rem),
    radial-gradient(circle at 90% 0%, rgba(255, 255, 255, 0.54), transparent 24rem),
    linear-gradient(135deg, #c9f8a8 0%, #baf391 48%, #eaf9d9 100%) !important;
  border: 1px solid rgba(23, 35, 29, 0.16) !important;
  border-radius: 34px !important;
  box-shadow: 0 34px 90px rgba(68, 128, 48, 0.24) !important;
  padding: 28px !important;
}

/* 4) Route form: stop accidental skinny columns */
body.home-page .hb3-road-form,
body.home-page .home-embedded-road-planner form {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
}

/* Make every direct field normal by default */
body.home-page .hb3-road-form > *,
body.home-page .home-embedded-road-planner form > * {
  grid-column: auto / span 1 !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Fine-tune wrappers must span full width */
body.home-page .hb3-road-form .fine-tune,
body.home-page .hb3-road-form .route-preferences,
body.home-page .hb3-road-form .preference-options,
body.home-page .hb3-road-form .route-options,
body.home-page .hb3-road-form fieldset,
body.home-page .home-embedded-road-planner .fine-tune,
body.home-page .home-embedded-road-planner .route-preferences,
body.home-page .home-embedded-road-planner .preference-options,
body.home-page .home-embedded-road-planner .route-options,
body.home-page .home-embedded-road-planner fieldset {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
}

/* If fine-tune is not wrapped and appears as heading + labels, force heading full row */
body.home-page .hb3-road-form h3,
body.home-page .home-embedded-road-planner form h3,
body.home-page .hb3-road-form legend,
body.home-page .home-embedded-road-planner form legend {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 8px 0 -6px !important;
}

/* Checkbox labels: do NOT become skinny side rail */
body.home-page .hb3-road-form > label:has(input[type="checkbox"]),
body.home-page .home-embedded-road-planner form > label:has(input[type="checkbox"]) {
  grid-column: auto / span 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 118px !important;
  padding: 18px !important;
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  gap: 13px !important;
  align-items: start !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(23, 35, 29, 0.14) !important;
  box-shadow: 0 16px 34px rgba(23, 35, 29, 0.07) !important;
  text-align: left !important;
  letter-spacing: normal !important;
}

/* If checkbox labels are inside a wrapper, wrapper becomes 3-card grid */
body.home-page .fine-tune,
body.home-page .route-preferences,
body.home-page .preference-options,
body.home-page .route-options,
body.home-page fieldset {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  padding: 20px !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.24) !important;
  border: 1px solid rgba(23, 35, 29, 0.10) !important;
}

/* Wrapper title spans all columns */
body.home-page .fine-tune h3,
body.home-page .route-preferences h3,
body.home-page .preference-options h3,
body.home-page .route-options h3,
body.home-page fieldset legend {
  grid-column: 1 / -1 !important;
}

/* Checkbox text readability */
body.home-page label:has(input[type="checkbox"]) strong {
  display: block !important;
  font-size: 17px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  color: #17231d !important;
}

body.home-page label:has(input[type="checkbox"]) span,
body.home-page label:has(input[type="checkbox"]) small {
  display: block !important;
  margin-top: 5px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  color: rgba(23, 35, 29, 0.60) !important;
}

/* Button should not sit beside fine-tune title awkwardly */
body.home-page #createRoute,
body.home-page .hb3-road-form button[type="submit"],
body.home-page .home-embedded-road-planner button[type="submit"],
body.home-page .home-embedded-road-planner .btn.primary {
  grid-column: 1 / span 1 !important;
  justify-self: stretch !important;
  align-self: start !important;
  min-height: 64px !important;
  border-radius: 22px !important;
}

/* Inputs stay clean */
body.home-page .hb3-road-form input:not([type="checkbox"]),
body.home-page .hb3-road-form select,
body.home-page .home-embedded-road-planner input:not([type="checkbox"]),
body.home-page .home-embedded-road-planner select {
  min-height: 58px !important;
  border-radius: 19px !important;
  background: rgba(255,255,255,0.92) !important;
}

/* Responsive */
@media (max-width: 980px) {
  body.home-page .hb3-road-form,
  body.home-page .home-embedded-road-planner form,
  body.home-page .fine-tune,
  body.home-page .route-preferences,
  body.home-page .preference-options,
  body.home-page .route-options,
  body.home-page fieldset {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 680px) {
  body.home-page .hb3-road-form,
  body.home-page .home-embedded-road-planner form,
  body.home-page .fine-tune,
  body.home-page .route-preferences,
  body.home-page .preference-options,
  body.home-page .route-options,
  body.home-page fieldset {
    grid-template-columns: 1fr !important;
  }

  body.home-page .hb3-road-form > *,
  body.home-page .home-embedded-road-planner form > *,
  body.home-page #createRoute,
  body.home-page .hb3-road-form button[type="submit"],
  body.home-page .home-embedded-road-planner button[type="submit"] {
    grid-column: 1 / -1 !important;
  }
}

/* MANUAL HOMEPAGE SURGERY 05A — rollout final placement 20260612 */

/* Kill only the header rollout badge */
body.home-page .site-header .site-rollout,
body.home-page header .site-rollout,
body.home-page .site-header-inner .site-rollout {
  display: none !important;
}

/* Keep the central hero badge, make it red */
body.home-page .hb3-head .hb3-eyebrow {
  display: inline-flex !important;
  margin: 0 auto 22px !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(122, 18, 18, 0.20) !important;
  background: linear-gradient(135deg, #b5121b 0%, #841018 100%) !important;
  color: #fff8ec !important;
  box-shadow: 0 18px 42px rgba(132, 16, 24, 0.24) !important;
  font-size: clamp(13px, 1vw, 16px) !important;
  font-weight: 950 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

body.home-page .hb3-head {
  text-align: center !important;
}

/* MANUAL HOMEPAGE SURGERY 05B — hard-kill nav rollout visual 20260612 */
body.home-page .site-header-inner > .site-rollout,
body.home-page .site-rollout[aria-label="Sign Hunters rollout"] {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
}

/* MANUAL HOMEPAGE SURGERY 06 — real road-trip-v2 planner layout 20260612
   Source: js/road-trip-builder-v2.js renders .sh-rtv2-form.
   Desired rows:
   1) Start | Destination | Start date | End date
   2) Trip mode | Food preference | Vehicle type
   3) Fine-tune your route | Build my road guide
*/

/* Central badge: red campaign pill */
body.home-page .hb3-head .hb3-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 22px !important;
  padding: 13px 24px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(98, 8, 14, 0.28) !important;
  background: linear-gradient(135deg, #c71622 0%, #8f1018 100%) !important;
  color: #fff8ec !important;
  box-shadow: 0 18px 46px rgba(143, 16, 24, 0.28) !important;
  font-size: clamp(13px, 1vw, 16px) !important;
  font-weight: 950 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

/* Header rollout stays dead */
body.home-page .site-header .site-rollout,
body.home-page header .site-rollout,
body.home-page .site-header-inner > .site-rollout,
body.home-page .site-rollout[aria-label="Sign Hunters rollout"] {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Road Trip V2 mount/card: bright green premium panel */
body.home-page [data-road-trip-v2-mount="true"],
body.home-page #planner.home-embedded-road-planner {
  background: transparent !important;
}

body.home-page [data-road-trip-v2-mount="true"] .route-planner-card,
body.home-page #planner .route-planner-card {
  background:
    radial-gradient(circle at 10% 8%, rgba(255,255,255,0.72), transparent 25rem),
    radial-gradient(circle at 94% 4%, rgba(255,255,255,0.50), transparent 24rem),
    linear-gradient(135deg, #c9f8a8 0%, #b8f28d 48%, #e9fad7 100%) !important;
  border: 1px solid rgba(23, 35, 29, 0.16) !important;
  border-radius: 34px !important;
  padding: clamp(26px, 3.2vw, 40px) !important;
  box-shadow: 0 34px 88px rgba(68, 128, 48, 0.24) !important;
}

/* The actual JS-rendered form */
body.home-page [data-road-trip-v2-mount="true"] .sh-rtv2-form {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
}

/* Reset all direct children first */
body.home-page [data-road-trip-v2-mount="true"] .sh-rtv2-form > * {
  min-width: 0 !important;
  max-width: none !important;
}

/* Row 1: Start | Destination | Start date | End date */
body.home-page .sh-rtv2-form label:has(#rtv2From),
body.home-page .sh-rtv2-form label:has(#routeFrom) {
  grid-column: 1 / span 3 !important;
}

body.home-page .sh-rtv2-form label:has(#rtv2To),
body.home-page .sh-rtv2-form label:has(#routeTo) {
  grid-column: 4 / span 3 !important;
}

body.home-page .sh-rtv2-form label:has(#rtv2StartDate),
body.home-page .sh-rtv2-form label:has(#routeStartDate) {
  grid-column: 7 / span 3 !important;
}

body.home-page .sh-rtv2-form label:has(#rtv2EndDate),
body.home-page .sh-rtv2-form label:has(#routeEndDate) {
  grid-column: 10 / span 3 !important;
}

/* Row 2: Trip mode | Food preference | Vehicle type */
body.home-page .sh-rtv2-form label:has(#rtv2Mode),
body.home-page .sh-rtv2-form label:has(#routeMode) {
  grid-column: 1 / span 4 !important;
}

body.home-page .sh-rtv2-form label:has(#rtv2Food) {
  grid-column: 5 / span 4 !important;
}

body.home-page .sh-rtv2-form label:has(#rtv2Vehicle) {
  grid-column: 9 / span 4 !important;
}

/* Row 3: Fine-tune left, button right */
body.home-page .sh-rtv2-form > div:has(input[type="checkbox"]),
body.home-page .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
  grid-column: 1 / span 9 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 18px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, 0.26) !important;
  border: 1px solid rgba(23, 35, 29, 0.12) !important;
}

body.home-page .sh-rtv2-form > div:has(input[type="checkbox"]) > p,
body.home-page .sh-rtv2-form > fieldset:has(input[type="checkbox"]) > legend {
  grid-column: 1 / -1 !important;
  margin: 0 0 2px !important;
  color: rgba(23, 35, 29, 0.68) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

/* Checkbox cards */
body.home-page .sh-rtv2-form label:has(input[type="checkbox"]) {
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  min-height: 104px !important;
  padding: 16px !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.76) !important;
  border: 1px solid rgba(23, 35, 29, 0.13) !important;
  box-shadow: 0 14px 28px rgba(23, 35, 29, 0.06) !important;
  text-align: left !important;
}

body.home-page .sh-rtv2-form label:has(input[type="checkbox"]):hover {
  background: rgba(255, 255, 255, 0.90) !important;
  transform: translateY(-1px) !important;
}

body.home-page .sh-rtv2-form input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 2px 0 0 !important;
  accent-color: #1f7a45 !important;
  box-shadow: none !important;
}

/* Button in row 3, right column */
body.home-page #rtv2BuildButton,
body.home-page .sh-rtv2-form button[type="submit"] {
  grid-column: 10 / span 3 !important;
  align-self: stretch !important;
  width: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  border-radius: 26px !important;
  padding: 22px !important;
  background: linear-gradient(135deg, #153629 0%, #1f7a45 100%) !important;
  color: #fffdf5 !important;
  font-size: clamp(20px, 1.65vw, 28px) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em !important;
  box-shadow: 0 20px 44px rgba(23, 54, 41, 0.28) !important;
}

/* Note under form */
body.home-page #rtv2Note,
body.home-page .sh-rtv2-note {
  grid-column: 1 / -1 !important;
  margin: -2px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.42) !important;
  color: rgba(23, 35, 29, 0.68) !important;
  font-size: 15px !important;
  font-weight: 750 !important;
}

/* Field label + controls polish */
body.home-page .sh-rtv2-form label {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  color: rgba(23, 35, 29, 0.65) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

body.home-page .sh-rtv2-form label > span:first-child {
  color: rgba(23, 35, 29, 0.66) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

body.home-page .sh-rtv2-form select,
body.home-page .sh-rtv2-form input:not([type="checkbox"]) {
  width: 100% !important;
  min-height: 60px !important;
  padding: 0 20px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(23, 35, 29, 0.16) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #17231d !important;
  font-size: clamp(17px, 1.25vw, 22px) !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 30px rgba(23, 35, 29, 0.08) !important;
}

body.home-page .sh-rtv2-mode-hint {
  margin: 0 !important;
  color: rgba(23, 35, 29, 0.58) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 650 !important;
}

body.home-page .sh-rtv2-form label:has(input[type="checkbox"]) span {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
  color: #17231d !important;
}

body.home-page .sh-rtv2-form label:has(input[type="checkbox"]) small {
  display: block !important;
  margin-top: 5px !important;
  color: rgba(23, 35, 29, 0.58) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 550 !important;
}

/* Tablet */
@media (max-width: 1050px) {
  body.home-page [data-road-trip-v2-mount="true"] .sh-rtv2-form {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  body.home-page .sh-rtv2-form label:has(#rtv2From),
  body.home-page .sh-rtv2-form label:has(#routeFrom),
  body.home-page .sh-rtv2-form label:has(#rtv2To),
  body.home-page .sh-rtv2-form label:has(#routeTo),
  body.home-page .sh-rtv2-form label:has(#rtv2StartDate),
  body.home-page .sh-rtv2-form label:has(#routeStartDate),
  body.home-page .sh-rtv2-form label:has(#rtv2EndDate),
  body.home-page .sh-rtv2-form label:has(#routeEndDate),
  body.home-page .sh-rtv2-form label:has(#rtv2Mode),
  body.home-page .sh-rtv2-form label:has(#routeMode),
  body.home-page .sh-rtv2-form label:has(#rtv2Food),
  body.home-page .sh-rtv2-form label:has(#rtv2Vehicle) {
    grid-column: auto / span 3 !important;
  }

  body.home-page .sh-rtv2-form > div:has(input[type="checkbox"]),
  body.home-page .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
    grid-column: 1 / -1 !important;
  }

  body.home-page #rtv2BuildButton,
  body.home-page .sh-rtv2-form button[type="submit"] {
    grid-column: 1 / -1 !important;
    min-height: 72px !important;
  }
}

/* Mobile */
@media (max-width: 680px) {
  body.home-page [data-road-trip-v2-mount="true"] .sh-rtv2-form,
  body.home-page .sh-rtv2-form > div:has(input[type="checkbox"]),
  body.home-page .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
    grid-template-columns: 1fr !important;
  }

  body.home-page .sh-rtv2-form > *,
  body.home-page .sh-rtv2-form label,
  body.home-page #rtv2BuildButton,
  body.home-page .sh-rtv2-form button[type="submit"] {
    grid-column: 1 / -1 !important;
  }
}

/* MANUAL HOMEPAGE SURGERY 07 — force exact planner rows 20260612
   Final desktop layout:
   Row 1: Start | Destination | Start date | End date
   Row 2: Trip mode | Food preference | Vehicle type
   Row 3: Fine-tune your route | Build my road guide
*/

/* Make the whole planner visibly bright green, not pale white */
body.home-page .hb3-form-card,
body.home-page #planner.route-planner-section[data-road-trip-v2-mount="true"],
body.home-page #planner[data-road-trip-v2="true"] {
  background:
    radial-gradient(circle at 8% 6%, rgba(255,255,255,0.70), transparent 24rem),
    radial-gradient(circle at 94% 0%, rgba(255,255,255,0.45), transparent 22rem),
    linear-gradient(135deg, #c9f8a8 0%, #b7f28b 52%, #e8fad5 100%) !important;
  border-radius: 34px !important;
}

body.home-page #planner.route-planner-section[data-road-trip-v2-mount="true"] {
  padding: 24px !important;
  border: 1px solid rgba(23,35,29,0.15) !important;
  box-shadow: 0 34px 90px rgba(68,128,48,0.24) !important;
}

/* Real form grid */
body.home-page #planner .sh-rtv2-form {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: start !important;
}

/* Reset previous surgery layout damage */
body.home-page #planner .sh-rtv2-form > * {
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

/* The JS template direct label order is:
   1 Start, 2 Destination, 3 Trip mode, 4 Start date, 5 End date, 6 Food, 7 Vehicle */

/* Row 1 */
body.home-page #planner .sh-rtv2-form > label:nth-of-type(1) {
  grid-column: 1 / span 3 !important;
  grid-row: 1 !important;
}

body.home-page #planner .sh-rtv2-form > label:nth-of-type(2) {
  grid-column: 4 / span 3 !important;
  grid-row: 1 !important;
}

body.home-page #planner .sh-rtv2-form > label:nth-of-type(4) {
  grid-column: 7 / span 3 !important;
  grid-row: 1 !important;
}

body.home-page #planner .sh-rtv2-form > label:nth-of-type(5) {
  grid-column: 10 / span 3 !important;
  grid-row: 1 !important;
}

/* Row 2 */
body.home-page #planner .sh-rtv2-form > label:nth-of-type(3) {
  grid-column: 1 / span 4 !important;
  grid-row: 2 !important;
}

body.home-page #planner .sh-rtv2-form > label:nth-of-type(6) {
  grid-column: 5 / span 4 !important;
  grid-row: 2 !important;
}

body.home-page #planner .sh-rtv2-form > label:nth-of-type(7) {
  grid-column: 9 / span 4 !important;
  grid-row: 2 !important;
}

/* Fine tune block: row 3, left 9 columns */
body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]),
body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
  grid-column: 1 / span 9 !important;
  grid-row: 3 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 18px !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,0.30) !important;
  border: 1px solid rgba(23,35,29,0.12) !important;
}

/* Fine tune title */
body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]) > p,
body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]) > legend {
  grid-column: 1 / -1 !important;
  margin: 0 0 2px !important;
  text-align: center !important;
  color: rgba(23,35,29,0.68) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

/* Fine tune cards */
body.home-page #planner .sh-rtv2-form label:has(input[type="checkbox"]) {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  min-height: 96px !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,0.78) !important;
  border: 1px solid rgba(23,35,29,0.13) !important;
  box-shadow: 0 12px 24px rgba(23,35,29,0.06) !important;
  text-align: left !important;
}

/* Build button: row 3, right 3 columns — no vertical strip */
body.home-page #planner #rtv2BuildButton,
body.home-page #planner .sh-rtv2-form > button[type="submit"] {
  grid-column: 10 / span 3 !important;
  grid-row: 3 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 22px 24px !important;
  border-radius: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
  background: linear-gradient(135deg, #153629 0%, #1f7a45 100%) !important;
  color: #fffdf5 !important;
  font-size: clamp(22px, 2vw, 32px) !important;
  line-height: 1.02 !important;
  font-weight: 950 !important;
  letter-spacing: -0.04em !important;
  box-shadow: 0 22px 48px rgba(23,54,41,0.30) !important;
}

/* Note and map must sit below, full width */
body.home-page #planner .sh-rtv2-note,
body.home-page #planner #rtv2Note,
body.home-page #planner #plannerStops,
body.home-page #planner #plannerMap,
body.home-page #planner .route-map,
body.home-page #planner .route-map-wide,
body.home-page #planner .leaflet-container {
  grid-column: 1 / -1 !important;
}

body.home-page #planner #plannerMap,
body.home-page #planner .route-map,
body.home-page #planner .route-map-wide {
  margin-top: 8px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

/* Inputs: prevent tiny date/vehicle boxes */
body.home-page #planner .sh-rtv2-form select,
body.home-page #planner .sh-rtv2-form input:not([type="checkbox"]) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 58px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(23,35,29,0.16) !important;
  background: rgba(255,255,255,0.93) !important;
  color: #17231d !important;
  font-size: clamp(16px, 1.15vw, 20px) !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 26px rgba(23,35,29,0.08) !important;
}

/* Labels */
body.home-page #planner .sh-rtv2-form > label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  text-align: left !important;
}

body.home-page #planner .sh-rtv2-form > label > span:first-child {
  color: rgba(23,35,29,0.66) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

body.home-page #planner .sh-rtv2-mode-hint {
  margin: 0 !important;
  max-width: none !important;
  color: rgba(23,35,29,0.58) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 650 !important;
}

/* Responsive */
@media (max-width: 1050px) {
  body.home-page #planner .sh-rtv2-form {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  body.home-page #planner .sh-rtv2-form > label:nth-of-type(n) {
    grid-column: auto / span 3 !important;
    grid-row: auto !important;
  }

  body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]),
  body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  body.home-page #planner #rtv2BuildButton,
  body.home-page #planner .sh-rtv2-form > button[type="submit"] {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    min-height: 76px !important;
  }
}

@media (max-width: 680px) {
  body.home-page #planner .sh-rtv2-form,
  body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]),
  body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
    grid-template-columns: 1fr !important;
  }

  body.home-page #planner .sh-rtv2-form > *,
  body.home-page #planner .sh-rtv2-form > label:nth-of-type(n),
  body.home-page #planner #rtv2BuildButton,
  body.home-page #planner .sh-rtv2-form > button[type="submit"] {
    grid-column: 1 / -1 !important;
  }
}

/* MANUAL HOMEPAGE SURGERY 08 — darker green planner, remove outer frame, final polish 20260612 */

/* Remove the pale outer card/frame around the planner */
body.home-page .hb3-form-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Planner becomes the actual designed surface */
body.home-page #planner.route-planner-section[data-road-trip-v2-mount="true"],
body.home-page #planner[data-road-trip-v2="true"] {
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,0.34), transparent 24rem),
    radial-gradient(circle at 88% 0%, rgba(255,255,255,0.22), transparent 24rem),
    linear-gradient(135deg, #7fcd58 0%, #9be86b 42%, #d8f7bd 100%) !important;
  border: 1px solid rgba(23, 35, 29, 0.13) !important;
  border-radius: 34px !important;
  padding: 26px !important;
  box-shadow: 0 34px 90px rgba(49, 103, 38, 0.26) !important;
}

/* Remove inner competing card styles if JS/theme wraps one */
body.home-page #planner .route-planner-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Tighten the grid and make it feel intentional */
body.home-page #planner .sh-rtv2-form {
  gap: 18px 20px !important;
}

/* Labels: stronger contrast on darker green */
body.home-page #planner .sh-rtv2-form > label > span:first-child,
body.home-page #planner .sh-rtv2-form label > span:first-child {
  color: rgba(18, 41, 30, 0.76) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
}

/* Inputs: cleaner white, less heavy */
body.home-page #planner .sh-rtv2-form select,
body.home-page #planner .sh-rtv2-form input:not([type="checkbox"]) {
  min-height: 56px !important;
  border-radius: 17px !important;
  border-color: rgba(18, 41, 30, 0.16) !important;
  background: rgba(255,255,255,0.91) !important;
  box-shadow: 0 10px 22px rgba(18, 41, 30, 0.08) !important;
}

body.home-page #planner .sh-rtv2-mode-hint {
  color: rgba(18, 41, 30, 0.66) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  max-width: 92% !important;
}

/* Fine-tune: calmer glass panel */
body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]),
body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
  padding: 16px !important;
  gap: 12px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,0.22) !important;
  border: 1px solid rgba(18, 41, 30, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.30) !important;
}

body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]) > p,
body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]) > legend {
  color: rgba(18, 41, 30, 0.74) !important;
  margin-bottom: 4px !important;
}

/* Fine-tune cards: more readable, less washed out */
body.home-page #planner .sh-rtv2-form label:has(input[type="checkbox"]) {
  min-height: 92px !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,0.76) !important;
  border-color: rgba(18, 41, 30, 0.12) !important;
  box-shadow: 0 10px 20px rgba(18, 41, 30, 0.06) !important;
}

body.home-page #planner .sh-rtv2-form label:has(input[type="checkbox"]) span {
  color: #16291f !important;
  font-size: 14px !important;
  line-height: 1.22 !important;
}

body.home-page #planner .sh-rtv2-form label:has(input[type="checkbox"]) small {
  color: rgba(18, 41, 30, 0.58) !important;
  font-size: 12px !important;
  line-height: 1.32 !important;
}

/* Button: keep powerful but not oversized */
body.home-page #planner #rtv2BuildButton,
body.home-page #planner .sh-rtv2-form > button[type="submit"] {
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,0.18), transparent 14rem),
    linear-gradient(135deg, #123629 0%, #167347 100%) !important;
  box-shadow: 0 20px 42px rgba(18, 54, 41, 0.32) !important;
  font-size: clamp(20px, 1.75vw, 28px) !important;
  padding: 20px 22px !important;
}

/* Map should feel attached to the green panel, not pasted below */
body.home-page #planner #plannerMap,
body.home-page #planner .route-map,
body.home-page #planner .route-map-wide,
body.home-page #planner .leaflet-container {
  margin-top: 4px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(18, 41, 30, 0.16) !important;
  box-shadow: 0 16px 34px rgba(18, 41, 30, 0.12) !important;
}

/* Reduce excess bottom/top air around planner */
body.home-page .hb3-grid {
  margin-top: clamp(18px, 2vw, 28px) !important;
}

body.home-page #planner + * {
  margin-top: 18px !important;
}

/* Keep the red campaign pill crisp */
body.home-page .hb3-head .hb3-eyebrow {
  background: linear-gradient(135deg, #c91522 0%, #8d1018 100%) !important;
  box-shadow: 0 16px 38px rgba(141, 16, 24, 0.25) !important;
}

/* Slightly soften title scale now that planner is stronger */
body.home-page .hb3-title {
  font-size: clamp(58px, 7.5vw, 108px) !important;
  line-height: 0.92 !important;
}

/* MANUAL HOMEPAGE SURGERY 10 — remove every remaining planner outer frame 20260612 */

/* Kill all outer shells around the road planner */
body.home-page .hb3-grid,
body.home-page .hb3-form-card,
body.home-page .home-embedded-road-planner,
body.home-page .route-planner-section,
body.home-page #planner {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* The grid itself must not look like a card */
body.home-page .hb3-grid {
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* The form card wrapper must fully disappear */
body.home-page .hb3-form-card {
  padding: 0 !important;
  margin: 0 auto !important;
  border-radius: 0 !important;
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 48px)) !important;
}

/* Remove any pale/white card generated inside the planner */
body.home-page #planner .route-planner-card,
body.home-page #planner .card,
body.home-page .home-embedded-road-planner .route-planner-card,
body.home-page .home-embedded-road-planner.card {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Make ONLY the actual form the visual green surface */
body.home-page #planner .sh-rtv2-form {
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,0.18), transparent 24rem),
    radial-gradient(circle at 92% 0%, rgba(255,255,255,0.12), transparent 24rem),
    linear-gradient(135deg, #667f38 0%, #7f9d47 44%, #a9c963 100%) !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 34px !important;
  padding: 28px !important;
  box-shadow: 0 34px 90px rgba(49, 69, 31, 0.30) !important;
}

/* Since the form is now the panel, the planner mount should have no padding/frame */
body.home-page #planner.route-planner-section[data-road-trip-v2-mount="true"],
body.home-page #planner[data-road-trip-v2="true"] {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* MANUAL HOMEPAGE SURGERY 11 — single unified planner frame 20260612
   One panel contains both controls and map. Softer olive tone. */

/* Restore ONE outer planner frame: the mount is the surface */
body.home-page #planner.route-planner-section[data-road-trip-v2-mount="true"],
body.home-page #planner[data-road-trip-v2="true"] {
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,0.32), transparent 25rem),
    radial-gradient(circle at 92% 0%, rgba(255,255,255,0.20), transparent 24rem),
    linear-gradient(135deg, #8fb65b 0%, #a7d36f 46%, #d5efad 100%) !important;
  border: 1px solid rgba(42, 63, 29, 0.16) !important;
  border-radius: 34px !important;
  padding: 28px !important;
  box-shadow: 0 34px 90px rgba(58, 82, 35, 0.24) !important;
  overflow: hidden !important;
}

/* Remove the second green frame from the form itself */
body.home-page #planner .sh-rtv2-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Remove any hidden/pale inner card wrappers */
body.home-page #planner .route-planner-card,
body.home-page #planner .card,
body.home-page .home-embedded-road-planner .route-planner-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Fine-tune stays as a soft sub-panel, not a second main frame */
body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]),
body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
  background: rgba(255, 253, 244, 0.20) !important;
  border: 1px solid rgba(42, 63, 29, 0.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.24) !important;
  border-radius: 24px !important;
}

/* Input cards slightly warmer/lighter on the softer green */
body.home-page #planner .sh-rtv2-form select,
body.home-page #planner .sh-rtv2-form input:not([type="checkbox"]) {
  background: rgba(255, 253, 244, 0.94) !important;
  border-color: rgba(42, 63, 29, 0.16) !important;
  box-shadow: 0 12px 24px rgba(42, 63, 29, 0.08) !important;
}

/* Checkbox cards: readable but not too white */
body.home-page #planner .sh-rtv2-form label:has(input[type="checkbox"]) {
  background: rgba(255, 253, 244, 0.74) !important;
  border-color: rgba(42, 63, 29, 0.13) !important;
}

/* Map belongs inside same frame */
body.home-page #planner #plannerMap,
body.home-page #planner .route-map,
body.home-page #planner .route-map-wide {
  margin-top: 2px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(42, 63, 29, 0.16) !important;
  box-shadow: 0 16px 34px rgba(42, 63, 29, 0.13) !important;
}

/* If Leaflet container has its own radius, match it */
body.home-page #planner .leaflet-container {
  border-radius: 24px !important;
}

/* Reduce the feeling of two stacked boxes */
body.home-page #planner .sh-rtv2-form {
  row-gap: 18px !important;
}

body.home-page #planner #plannerMap {
  grid-column: 1 / -1 !important;
}

/* MANUAL HOMEPAGE SURGERY 11 — single unified planner frame 20260612
   One panel contains both controls and map. Softer olive tone. */

/* Restore ONE outer planner frame: the mount is the surface */
body.home-page #planner.route-planner-section[data-road-trip-v2-mount="true"],
body.home-page #planner[data-road-trip-v2="true"] {
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,0.32), transparent 25rem),
    radial-gradient(circle at 92% 0%, rgba(255,255,255,0.20), transparent 24rem),
    linear-gradient(135deg, #8fb65b 0%, #a7d36f 46%, #d5efad 100%) !important;
  border: 1px solid rgba(42, 63, 29, 0.16) !important;
  border-radius: 34px !important;
  padding: 28px !important;
  box-shadow: 0 34px 90px rgba(58, 82, 35, 0.24) !important;
  overflow: hidden !important;
}

/* Remove the second green frame from the form itself */
body.home-page #planner .sh-rtv2-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Remove any hidden/pale inner card wrappers */
body.home-page #planner .route-planner-card,
body.home-page #planner .card,
body.home-page .home-embedded-road-planner .route-planner-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Fine-tune stays as a soft sub-panel, not a second main frame */
body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]),
body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
  background: rgba(255, 253, 244, 0.20) !important;
  border: 1px solid rgba(42, 63, 29, 0.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.24) !important;
  border-radius: 24px !important;
}

/* Input cards slightly warmer/lighter on the softer green */
body.home-page #planner .sh-rtv2-form select,
body.home-page #planner .sh-rtv2-form input:not([type="checkbox"]) {
  background: rgba(255, 253, 244, 0.94) !important;
  border-color: rgba(42, 63, 29, 0.16) !important;
  box-shadow: 0 12px 24px rgba(42, 63, 29, 0.08) !important;
}

/* Checkbox cards: readable but not too white */
body.home-page #planner .sh-rtv2-form label:has(input[type="checkbox"]) {
  background: rgba(255, 253, 244, 0.74) !important;
  border-color: rgba(42, 63, 29, 0.13) !important;
}

/* Map belongs inside same frame */
body.home-page #planner #plannerMap,
body.home-page #planner .route-map,
body.home-page #planner .route-map-wide {
  margin-top: 2px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(42, 63, 29, 0.16) !important;
  box-shadow: 0 16px 34px rgba(42, 63, 29, 0.13) !important;
}

/* If Leaflet container has its own radius, match it */
body.home-page #planner .leaflet-container {
  border-radius: 24px !important;
}

/* Reduce the feeling of two stacked boxes */
body.home-page #planner .sh-rtv2-form {
  row-gap: 18px !important;
}

body.home-page #planner #plannerMap {
  grid-column: 1 / -1 !important;
}

/* MANUAL HOMEPAGE SURGERY 12 — remove remaining outer card + darker page background 20260612 */

/* Darker, warmer editorial background */
html:has(body.home-page),
body.home-page {
  background:
    radial-gradient(circle at 18% 10%, rgba(103, 126, 58, 0.22), transparent 34rem),
    radial-gradient(circle at 82% 14%, rgba(141, 16, 24, 0.08), transparent 28rem),
    linear-gradient(180deg, #d9cfb9 0%, #cfc2a8 44%, #c6b89c 100%) !important;
}

body.home-page main,
body.home-page #homeBuilderHub,
body.home-page .hb3-hub {
  background: transparent !important;
}

/* Kill the pale outer box indicated in the screenshot */
body.home-page .hb3-grid,
body.home-page .hb3-form-card,
body.home-page .hb3-form-card::before,
body.home-page .hb3-form-card::after,
body.home-page .home-embedded-road-planner,
body.home-page .route-planner-section,
body.home-page #planner {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.home-page .hb3-grid {
  padding: 0 !important;
  margin-top: clamp(18px, 2vw, 28px) !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

body.home-page .hb3-form-card {
  width: min(980px, calc(100% - 48px)) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Ensure no generated inner wrapper recreates the pale frame */
body.home-page #planner .route-planner-card,
body.home-page #planner .card,
body.home-page .home-embedded-road-planner .route-planner-card,
body.home-page .home-embedded-road-planner.card {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Single visible panel: only the actual form surface */
body.home-page #planner .sh-rtv2-form {
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,0.22), transparent 24rem),
    radial-gradient(circle at 92% 0%, rgba(255,255,255,0.14), transparent 24rem),
    linear-gradient(135deg, #7e9d48 0%, #96bd5c 46%, #c2dc7d 100%) !important;
  border: 1px solid rgba(42, 63, 29, 0.14) !important;
  border-radius: 34px !important;
  padding: 28px !important;
  box-shadow: 0 36px 90px rgba(49, 69, 31, 0.34) !important;
  overflow: hidden !important;
}

/* Keep the map inside the same single panel */
body.home-page #planner #plannerMap,
body.home-page #planner .route-map,
body.home-page #planner .route-map-wide,
body.home-page #planner .leaflet-container {
  border-radius: 22px !important;
}

/* Give the hero a little more contrast against the darker background */
body.home-page .hb3-title {
  color: #132117 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.18) !important;
}

body.home-page .hb3-subtitle {
  color: rgba(19, 33, 23, 0.78) !important;
}

/* MANUAL HOMEPAGE SURGERY 13 — one planner frame + olive page background 20260612 */

/* Page background: light olive, not beige */
html:has(body.home-page),
body.home-page {
  background:
    radial-gradient(circle at 16% 8%, rgba(126, 157, 72, 0.24), transparent 34rem),
    radial-gradient(circle at 84% 12%, rgba(167, 196, 103, 0.20), transparent 30rem),
    linear-gradient(180deg, #cfd8ad 0%, #c2cc9c 48%, #b8c28f 100%) !important;
}

body.home-page main,
body.home-page #homeBuilderHub,
body.home-page .hb3-hub,
body.home-page .hb3-grid,
body.home-page .hb3-form-card,
body.home-page .home-embedded-road-planner,
body.home-page .route-planner-section,
body.home-page #planner {
  background: transparent !important;
}

/* Remove the OUTER white/cream frame completely */
body.home-page .hb3-form-card,
body.home-page .hb3-grid,
body.home-page .hb3-form-card::before,
body.home-page .hb3-form-card::after,
body.home-page .hb3-grid::before,
body.home-page .hb3-grid::after,
body.home-page #planner.route-planner-section[data-road-trip-v2-mount="true"],
body.home-page #planner[data-road-trip-v2="true"] {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.home-page .hb3-grid {
  padding: 0 !important;
  margin-top: clamp(18px, 2vw, 28px) !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

body.home-page .hb3-form-card {
  width: min(980px, calc(100% - 48px)) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Ensure any JS/card wrapper is invisible */
body.home-page #planner .route-planner-card,
body.home-page #planner .card,
body.home-page .home-embedded-road-planner .route-planner-card {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* The ONLY visible frame: the inner green form surface */
body.home-page #planner .sh-rtv2-form {
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,0.22), transparent 24rem),
    radial-gradient(circle at 92% 0%, rgba(255,255,255,0.14), transparent 24rem),
    linear-gradient(135deg, #8ead59 0%, #a3c66c 46%, #c9df8c 100%) !important;
  border: 1px solid rgba(45, 67, 31, 0.16) !important;
  border-radius: 34px !important;
  padding: 28px !important;
  box-shadow: 0 34px 86px rgba(49, 69, 31, 0.26) !important;
  overflow: hidden !important;
}

/* Keep map in the same single frame */
body.home-page #planner #plannerMap,
body.home-page #planner .route-map,
body.home-page #planner .route-map-wide {
  margin-top: 4px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(45, 67, 31, 0.16) !important;
  box-shadow: 0 14px 30px rgba(45, 67, 31, 0.14) !important;
  overflow: hidden !important;
}

body.home-page #planner .leaflet-container {
  border-radius: 22px !important;
}

/* Fine-tune remains a soft subsection, not another main frame */
body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]),
body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]) {
  background: rgba(255, 253, 244, 0.18) !important;
  border: 1px solid rgba(45, 67, 31, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.22) !important;
}

/* Hero text should still read well on olive background */
body.home-page .hb3-title {
  color: #132117 !important;
}

body.home-page .hb3-subtitle {
  color: rgba(19, 33, 23, 0.80) !important;
}

/* MANUAL HOMEPAGE SURGERY 14 — make route-planner-card the single frame 20260612
   Fix: remove white outer card by turning the actual wrapper into the green panel.
   Width: align with homepage sections below.
*/

/* Align planner width with homepage content sections */
body.home-page .hb3-grid,
body.home-page .hb3-form-card,
body.home-page #planner.route-planner-section,
body.home-page #planner[data-road-trip-v2-mount="true"] {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* The actual single visible frame: wrapper contains BOTH controls and map */
body.home-page #planner .route-planner-card,
body.home-page .home-embedded-road-planner .route-planner-card {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 28px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(45, 67, 31, 0.16) !important;
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,0.22), transparent 24rem),
    radial-gradient(circle at 92% 0%, rgba(255,255,255,0.14), transparent 24rem),
    linear-gradient(135deg, #8ead59 0%, #a3c66c 46%, #c9df8c 100%) !important;
  box-shadow: 0 34px 86px rgba(49, 69, 31, 0.26) !important;
  overflow: hidden !important;
}

/* The form is NOT a frame anymore */
body.home-page #planner .sh-rtv2-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Remove any extra pale/white card styling from generic .card rules */
body.home-page #planner .route-planner-card.card,
body.home-page #planner .card.route-planner-card {
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,0.22), transparent 24rem),
    radial-gradient(circle at 92% 0%, rgba(255,255,255,0.14), transparent 24rem),
    linear-gradient(135deg, #8ead59 0%, #a3c66c 46%, #c9df8c 100%) !important;
  border: 1px solid rgba(45, 67, 31, 0.16) !important;
  box-shadow: 0 34px 86px rgba(49, 69, 31, 0.26) !important;
}

/* Map sits inside the same green frame, with breathing room */
body.home-page #planner #plannerMap,
body.home-page #planner .route-map,
body.home-page #planner .route-map-wide {
  margin-top: 20px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(45, 67, 31, 0.18) !important;
  box-shadow: 0 14px 30px rgba(45, 67, 31, 0.14) !important;
}

body.home-page #planner .leaflet-container {
  border-radius: 24px !important;
}

/* Slightly improve spacing now that width is larger */
body.home-page #planner .sh-rtv2-form {
  gap: 20px 22px !important;
}

/* Keep page background light olive */
html:has(body.home-page),
body.home-page {
  background:
    radial-gradient(circle at 16% 8%, rgba(126, 157, 72, 0.24), transparent 34rem),
    radial-gradient(circle at 84% 12%, rgba(167, 196, 103, 0.20), transparent 30rem),
    linear-gradient(180deg, #cfd8ad 0%, #c2cc9c 48%, #b8c28f 100%) !important;
}

/* MANUAL HOMEPAGE SURGERY 15 — white lower content cards 20260612
   Keep hero/planner olive. Make all lower homepage content panels clean white. */

/* Main lower homepage cards */
body.home-page #whySignHunters .why-sh-card,
body.home-page #today .today-card,
body.home-page #featured.soft-panel,
body.home-page #featured .featured-card,
body.home-page #atlasPreview,
body.home-page #atlasPreview .atlas-preview-card,
body.home-page .social-section .social-card,
body.home-page .guide-save-section .guide-save-card,
body.home-page .guide-save-card {
  background: rgba(255, 253, 247, 0.96) !important;
  border: 1px solid rgba(23, 35, 29, 0.08) !important;
  box-shadow: 0 22px 54px rgba(23, 35, 29, 0.10) !important;
}

/* Large section shells/cards should read as white islands */
body.home-page #today .card,
body.home-page #featured,
body.home-page #atlasPreview.section,
body.home-page .social-card,
body.home-page .guide-save-card {
  border-radius: 28px !important;
}

/* Smaller route/place cards inside white panels */
body.home-page #todayResults > *,
body.home-page .today-results > *,
body.home-page .featured-grid > *,
body.home-page .atlas-preview-grid > *,
body.home-page .route-card,
body.home-page .place-card,
body.home-page .story-mini,
body.home-page .affiliate-grid > * {
  background: #fffdf7 !important;
  border-color: rgba(23, 35, 29, 0.08) !important;
  box-shadow: 0 14px 34px rgba(23, 35, 29, 0.08) !important;
}

/* Keep text readable on white */
body.home-page #whySignHunters,
body.home-page #today,
body.home-page #featured,
body.home-page #atlasPreview,
body.home-page .social-section,
body.home-page .guide-save-section {
  color: #17231d !important;
}

/* Reduce green tint inside lower panels */
body.home-page #today,
body.home-page #featured,
body.home-page #atlasPreview,
body.home-page .social-section .shell,
body.home-page .guide-save-section {
  background: transparent !important;
}

/* Inputs in save box stay white and crisp */
body.home-page .guide-save-form input[type="email"] {
  background: #ffffff !important;
  border-color: rgba(23, 35, 29, 0.12) !important;
}

/* MANUAL HOMEPAGE SURGERY 16 — fix Explore/Atlas preview white panel 20260612 */

/* Explore section must be a white card, not green background */
body.home-page #atlasPreview.atlas-preview-section,
body.home-page #atlasPreview.section,
body.home-page section#atlasPreview {
  background: rgba(255, 253, 247, 0.97) !important;
  border: 1px solid rgba(23, 35, 29, 0.08) !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 54px rgba(23, 35, 29, 0.10) !important;
  padding: clamp(34px, 4vw, 56px) !important;
  color: #17231d !important;
}

/* Keep the section header inside Explore readable on white */
body.home-page #atlasPreview .section-head,
body.home-page #atlasPreview .section-head p,
body.home-page #atlasPreview .section-head h2 {
  color: #17231d !important;
}

body.home-page #atlasPreview .section-head > p,
body.home-page #atlasPreview .section-head p:not(.eyebrow) {
  color: rgba(23, 35, 29, 0.62) !important;
}

/* Explore cards: white cards inside white section, with subtle border */
body.home-page #atlasPreview .atlas-preview-card,
body.home-page #homeAtlasTeasers > * {
  background: #fffdf7 !important;
  border: 1px solid rgba(23, 35, 29, 0.09) !important;
  box-shadow: 0 14px 34px rgba(23, 35, 29, 0.08) !important;
}

/* Prevent global olive background overlays from tinting Explore */
body.home-page #atlasPreview::before,
body.home-page #atlasPreview::after,
body.home-page #atlasPreview .atlas-preview-card::before,
body.home-page #atlasPreview .atlas-preview-card::after {
  background: transparent !important;
}

/* Keep Explore aligned with the other homepage white cards */
body.home-page #atlasPreview.shell {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* MANUAL HOMEPAGE SURGERY 17 — integrate Sign in pill into header 20260612 */

body.home-page .nav-auth-link.auth-pill,
body.home-page .nav-auth-link.login-pill,
body.home-page .site-header .nav-auth-link.auth-pill,
body.home-page .site-header .nav-auth-link.login-pill {
  min-height: 38px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(23, 35, 29, 0.14) !important;
  background: rgba(176, 239, 112, 0.78) !important;
  color: #163d31 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.home-page .nav-auth-link.auth-pill:hover,
body.home-page .nav-auth-link.login-pill:hover,
body.home-page .site-header .nav-auth-link.auth-pill:hover,
body.home-page .site-header .nav-auth-link.login-pill:hover {
  background: rgba(176, 239, 112, 0.92) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.home-page .nav-auth {
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
}

/* MANUAL HOMEPAGE SURGERY 18 — slightly lighter olive page background 20260612 */

html:has(body.home-page),
body.home-page {
  background:
    radial-gradient(circle at 16% 8%, rgba(145, 174, 93, 0.22), transparent 34rem),
    radial-gradient(circle at 84% 12%, rgba(188, 211, 128, 0.18), transparent 30rem),
    linear-gradient(180deg, #d7dfb9 0%, #ccd7a9 48%, #c2ce9b 100%) !important;
}

/* MANUAL HOMEPAGE SURGERY 19 — lighter sage olive page background 20260612 */

html:has(body.home-page),
body.home-page {
  background:
    radial-gradient(circle at 16% 8%, rgba(158, 185, 108, 0.18), transparent 34rem),
    radial-gradient(circle at 84% 12%, rgba(202, 220, 147, 0.16), transparent 30rem),
    linear-gradient(180deg, #e1e8c9 0%, #d6dfba 48%, #ccd7a9 100%) !important;
}


/* MANUAL ATLAS SURGERY 01 — align Atlas with homepage design system 20260612
   Scope: Atlas page only. No app.js/data/generated place page changes. */

/* Atlas page background: same light olive/sage family as homepage */
body:has(.atlas-full-page) {
  background:
    radial-gradient(circle at 16% 8%, rgba(158, 185, 108, 0.18), transparent 34rem),
    radial-gradient(circle at 84% 12%, rgba(202, 220, 147, 0.16), transparent 30rem),
    linear-gradient(180deg, #e1e8c9 0%, #d6dfba 48%, #ccd7a9 100%) !important;
  color: #17231d !important;
}

/* Header: clean white product bar, no floating rollout */
body:has(.atlas-full-page) .site-header.unified-site-header,
body:has(.atlas-full-page) header.site-header {
  width: 100% !important;
  background: #ffffff !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(23, 35, 29, 0.10) !important;
  box-shadow: 0 18px 44px rgba(23, 35, 29, 0.08) !important;
}

body:has(.atlas-full-page) .site-header-inner {
  min-height: 64px !important;
  max-width: none !important;
  width: 100% !important;
  padding: 8px clamp(22px, 4vw, 56px) !important;
  gap: clamp(16px, 2vw, 30px) !important;
  display: flex !important;
  align-items: center !important;
}

body:has(.atlas-full-page) .brand-logo,
body:has(.atlas-full-page) .site-brand .brand-logo {
  width: 148px !important;
  max-width: 148px !important;
  height: auto !important;
}

body:has(.atlas-full-page) .site-nav {
  flex: 1 1 auto !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

body:has(.atlas-full-page) .site-nav a {
  padding: 9px 11px !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: rgba(23, 35, 29, 0.68) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: 0.09em !important;
}

body:has(.atlas-full-page) .site-nav a:hover,
body:has(.atlas-full-page) .site-nav a:focus-visible {
  background: rgba(176, 239, 112, 0.42) !important;
  color: #163d31 !important;
}

/* Hide header rollout on Atlas; the page itself carries the positioning */
body:has(.atlas-full-page) .site-rollout,
body:has(.atlas-full-page) .site-header .site-rollout,
body:has(.atlas-full-page) .site-header-inner > .site-rollout {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Atlas sign-in: integrated, no shadow */
body:has(.atlas-full-page) .nav-auth {
  margin-left: 0 !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
}

body:has(.atlas-full-page) .nav-auth-link,
body:has(.atlas-full-page) .nav-auth-link.auth-pill,
body:has(.atlas-full-page) .nav-auth-link.login-pill {
  min-height: 38px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(23, 35, 29, 0.14) !important;
  background: rgba(176, 239, 112, 0.78) !important;
  color: #163d31 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
  transform: none !important;
}

body:has(.atlas-full-page) .nav-auth-link:hover {
  background: rgba(176, 239, 112, 0.92) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Overall Atlas rhythm */
.atlas-full-page {
  background: transparent !important;
  padding-top: clamp(28px, 4vw, 54px) !important;
  padding-bottom: 68px !important;
}

.atlas-full-page .shell,
.atlas-full-page section.shell {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
}

/* Hero: compact, centered, homepage-like */
.atlas-full-hero {
  text-align: center !important;
  padding: clamp(34px, 5vw, 64px) 0 clamp(24px, 3vw, 38px) !important;
  margin: 0 auto 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.atlas-full-hero .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  margin: 0 auto 20px !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(98, 8, 14, 0.28) !important;
  background: linear-gradient(135deg, #c91522 0%, #8d1018 100%) !important;
  color: #fff8ec !important;
  box-shadow: 0 16px 38px rgba(141, 16, 24, 0.25) !important;
  font-size: clamp(13px, 1vw, 16px) !important;
  font-weight: 950 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

.atlas-full-hero h1 {
  max-width: 940px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #132117 !important;
  font-size: clamp(58px, 7.4vw, 108px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.065em !important;
}

.atlas-full-hero > p,
.atlas-full-hero p:not(.eyebrow) {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: rgba(19, 33, 23, 0.78) !important;
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.5 !important;
}

/* Sections: white cards on olive background */
.atlas-full-page .section {
  margin-top: 34px !important;
  margin-bottom: 34px !important;
}

.atlas-full-page .section.shell,
.atlas-full-page section.shell {
  border-radius: 30px !important;
}

/* Big content panels */
.atlas-full-page .museum-card,
.atlas-full-page .timeline-section,
.atlas-full-page #targets,
.atlas-full-page #collections,
.atlas-full-page #classics {
  background: rgba(255, 253, 247, 0.97) !important;
  border: 1px solid rgba(23, 35, 29, 0.08) !important;
  border-radius: 30px !important;
  box-shadow: 0 22px 54px rgba(23, 35, 29, 0.10) !important;
  padding: clamp(30px, 4vw, 52px) !important;
  color: #17231d !important;
}

/* Avoid double card inside museum section */
.atlas-full-page .museum-layer-section {
  padding-top: 0 !important;
}

.atlas-full-page .section-head {
  align-items: end !important;
  margin-bottom: 24px !important;
}

.atlas-full-page .section-head h2 {
  color: #17231d !important;
  font-size: clamp(34px, 4.5vw, 62px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.055em !important;
}

.atlas-full-page .section-head p:not(.eyebrow) {
  color: rgba(23, 35, 29, 0.64) !important;
  line-height: 1.48 !important;
}

/* Search card: clean white control cluster */
.atlas-full-page #targets .search-card,
.atlas-full-page .search-card {
  background: #fffdf7 !important;
  border: 1px solid rgba(23, 35, 29, 0.09) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 34px rgba(23, 35, 29, 0.08) !important;
}

.atlas-full-page .search-card input,
.atlas-full-page .search-card select {
  background: #ffffff !important;
  border: 1px solid rgba(23, 35, 29, 0.12) !important;
  color: #17231d !important;
}

/* Region tabs: more like homepage pills/cards */
.atlas-full-page .region-tabs {
  gap: 10px !important;
  margin: 14px 0 24px !important;
}

.atlas-full-page .region-tab {
  background: #fffdf7 !important;
  border: 1px solid rgba(23, 35, 29, 0.09) !important;
  box-shadow: 0 10px 24px rgba(23, 35, 29, 0.06) !important;
}

.atlas-full-page .region-tab.active,
.atlas-full-page .region-tab:hover {
  background: rgba(176, 239, 112, 0.34) !important;
  border-color: rgba(23, 35, 29, 0.16) !important;
}

/* Lists/cards: white, calm, readable */
.atlas-full-page .museum-list > *,
.atlas-full-page .timeline-results > *,
.atlas-full-page .target-list > *,
.atlas-full-page .collection-grid > *,
.atlas-full-page .crawl-links-card,
.atlas-full-page .crawl-links-card a {
  background: #fffdf7 !important;
  border-color: rgba(23, 35, 29, 0.08) !important;
  box-shadow: 0 14px 34px rgba(23, 35, 29, 0.08) !important;
}

/* Target cards: slightly less shouty, wider rhythm */
.atlas-full-page .target-card,
.atlas-full-page .target-card-new {
  border-radius: 26px !important;
  background: #fffdf7 !important;
}

.atlas-full-page .target-info h3 {
  color: #17231d !important;
}

.atlas-full-page .target-info .muted {
  color: rgba(23, 35, 29, 0.62) !important;
}

/* Action buttons: reduce heavy dark blobs */
.atlas-full-page .target-actions a,
.atlas-full-page .target-actions button,
.atlas-full-page .target-actions-inline a,
.atlas-full-page .target-actions-inline button,
.atlas-full-page .pager button {
  box-shadow: none !important;
}

/* Footer transition */
body:has(.atlas-full-page) .site-footer {
  margin-top: 36px !important;
}

/* Mobile */
@media (max-width: 820px) {
  body:has(.atlas-full-page) .site-header-inner {
    width: 100% !important;
    min-height: auto !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    padding: 10px 18px 12px !important;
  }

  body:has(.atlas-full-page) .site-nav {
    order: 3 !important;
    flex-basis: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }

  .atlas-full-page .shell,
  .atlas-full-page section.shell {
    width: min(100% - 28px, 1180px) !important;
  }

  .atlas-full-hero h1 {
    font-size: clamp(46px, 13vw, 72px) !important;
  }

  .atlas-full-page .museum-card,
  .atlas-full-page .timeline-section,
  .atlas-full-page #targets,
  .atlas-full-page #collections,
  .atlas-full-page #classics {
    padding: 24px !important;
  }
}

/* MANUAL ATLAS SURGERY 02 — remove hero badge, fix active nav and sign-in alignment 20260612
   Scope: Atlas only. */

/* Header sizing: keep Atlas header stable and prevent Sign in from drifting */
body:has(.atlas-full-page) .site-header-inner {
  min-height: 72px !important;
  display: grid !important;
  grid-template-columns: 180px 1fr auto !important;
  align-items: center !important;
  column-gap: clamp(18px, 3vw, 44px) !important;
  padding: 10px clamp(26px, 5vw, 72px) !important;
}

body:has(.atlas-full-page) .site-brand {
  justify-self: start !important;
  display: flex !important;
  align-items: center !important;
}

body:has(.atlas-full-page) .site-nav {
  justify-self: center !important;
  justify-content: center !important;
  align-items: center !important;
  width: auto !important;
  flex: unset !important;
}

body:has(.atlas-full-page) .nav-auth {
  justify-self: end !important;
  align-self: center !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* Sign in: integrated header pill, not a tiny floating badge */
body:has(.atlas-full-page) .nav-auth-link,
body:has(.atlas-full-page) .nav-auth-link.auth-pill,
body:has(.atlas-full-page) .nav-auth-link.login-pill {
  min-width: 82px !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(23, 35, 29, 0.14) !important;
  background: rgba(176, 239, 112, 0.72) !important;
  color: #163d31 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Remove the red Atlas hero pill completely */
.atlas-full-hero .eyebrow {
  display: none !important;
}

/* Use navigation active state instead: ATLAS is the page marker */
body:has(.atlas-full-page) .site-nav a[href="/atlas/"],
body:has(.atlas-full-page) .site-nav a[href="/atlas"],
body:has(.atlas-full-page) .site-nav a[aria-current="page"] {
  background: rgba(176, 239, 112, 0.54) !important;
  color: #10291f !important;
  border: 1px solid rgba(23, 35, 29, 0.13) !important;
  box-shadow: none !important;
}

/* Hero after badge removal: breathe less, feel more editorial */
.atlas-full-hero {
  padding-top: clamp(34px, 4vw, 54px) !important;
  padding-bottom: clamp(18px, 2.6vw, 30px) !important;
  margin-bottom: 8px !important;
}

.atlas-full-hero h1 {
  max-width: 860px !important;
  font-size: clamp(54px, 6.8vw, 96px) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.06em !important;
}

.atlas-full-hero > p,
.atlas-full-hero p:not(.eyebrow) {
  margin-top: 18px !important;
  max-width: 620px !important;
  font-size: clamp(16px, 1.18vw, 19px) !important;
  color: rgba(19, 33, 23, 0.68) !important;
}

/* Reduce the huge card feeling: panels remain white but less puffy */
.atlas-full-page .museum-card,
.atlas-full-page .timeline-section,
.atlas-full-page #targets,
.atlas-full-page #collections,
.atlas-full-page #classics {
  border-radius: 24px !important;
  padding: clamp(26px, 3.4vw, 42px) !important;
  box-shadow: 0 18px 42px rgba(23, 35, 29, 0.085) !important;
}

/* Museum rows: cleaner list, less heavy */
.atlas-full-page .museum-row {
  border-radius: 16px !important;
  box-shadow: none !important;
  border: 1px solid rgba(23, 35, 29, 0.07) !important;
}

/* Places cards: keep them premium but reduce vertical bloat */
.atlas-full-page .target-list {
  gap: 14px !important;
}

.atlas-full-page .target-card,
.atlas-full-page .target-card-new {
  border-radius: 22px !important;
  padding: 16px !important;
  box-shadow: 0 12px 28px rgba(23, 35, 29, 0.07) !important;
}

.atlas-full-page .target-card .photo-frame {
  border-radius: 16px !important;
}

/* Collection cards: align with homepage cards, calmer buttons */
.atlas-full-page .collection-card,
.atlas-full-page .collection-grid > * {
  border-radius: 20px !important;
  box-shadow: 0 12px 28px rgba(23, 35, 29, 0.07) !important;
}

/* Footer shouldn't visually crash into the olive page */
body:has(.atlas-full-page) .site-footer {
  margin-top: 52px !important;
}

/* Mobile header repair */
@media (max-width: 820px) {
  body:has(.atlas-full-page) .site-header-inner {
    display: flex !important;
    min-height: auto !important;
    flex-wrap: wrap !important;
    padding: 10px 18px 12px !important;
  }

  body:has(.atlas-full-page) .site-brand {
    flex: 1 1 auto !important;
  }

  body:has(.atlas-full-page) .nav-auth {
    margin-left: auto !important;
  }

  body:has(.atlas-full-page) .site-nav {
    order: 3 !important;
    flex: 1 0 100% !important;
    justify-content: flex-start !important;
  }
}

/* SIGN HUNTERS FINAL SHARED HEADER SYSTEM 20260612
   Homepage and Atlas share one layout: logo left, nav centered, auth right. */
body.home-page .site-header.unified-site-header,
body:has(.atlas-full-page) .site-header.unified-site-header,
body.home-page header.site-header,
body:has(.atlas-full-page) header.site-header {
  width: 100% !important;
  background: #ffffff !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(23, 35, 29, 0.10) !important;
  box-shadow: 0 18px 44px rgba(23, 35, 29, 0.08) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.home-page .site-header-inner,
body:has(.atlas-full-page) .site-header-inner {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 10px clamp(22px, 4vw, 64px) !important;
  gap: 18px !important;
  align-items: center !important;
}

body.home-page .site-rollout,
body:has(.atlas-full-page) .site-rollout,
body.home-page .site-header-inner > .site-rollout,
body:has(.atlas-full-page) .site-header-inner > .site-rollout {
  display: none !important;
}

body.home-page .site-brand-row,
body:has(.atlas-full-page) .site-brand-row {
  min-width: 0 !important;
}

body.home-page .site-brand,
body:has(.atlas-full-page) .site-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-self: start !important;
  min-width: 0 !important;
}

body.home-page .brand-logo,
body.home-page .site-brand .brand-logo,
body:has(.atlas-full-page) .brand-logo,
body:has(.atlas-full-page) .site-brand .brand-logo {
  display: block !important;
  width: clamp(148px, 13vw, 180px) !important;
  max-width: 180px !important;
  height: auto !important;
}

body.home-page .site-nav,
body:has(.atlas-full-page) .site-nav {
  flex: 0 0 auto !important;
  width: max-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(22px, 3vw, 46px) !important;
  white-space: nowrap !important;
}

body.home-page .site-nav a,
body:has(.atlas-full-page) .site-nav a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(23, 35, 29, 0.70) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}

body.home-page .site-nav a:hover,
body.home-page .site-nav a:focus-visible,
body:has(.atlas-full-page) .site-nav a:hover,
body:has(.atlas-full-page) .site-nav a:focus-visible {
  background: transparent !important;
  color: #163d31 !important;
}

body:has(.atlas-full-page) .site-nav a[href="/atlas/"],
body:has(.atlas-full-page) .site-nav a[href="/atlas"],
body:has(.atlas-full-page) .site-nav a[aria-current="page"] {
  background: transparent !important;
  border: 0 !important;
  color: #122017 !important;
  box-shadow: none !important;
}

body:has(.atlas-full-page) .site-nav a[href="/atlas/"]::after,
body:has(.atlas-full-page) .site-nav a[href="/atlas"]::after,
body:has(.atlas-full-page) .site-nav a[aria-current="page"]::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 3px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: rgba(27, 77, 62, 0.72) !important;
}

body.home-page .nav-auth,
body:has(.atlas-full-page) .nav-auth {
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

body.home-page .nav-auth [data-auth-account],
body.home-page .nav-auth [data-auth-signout] {
  pointer-events: auto;
}

body.home-page .nav-auth-link,
body:has(.atlas-full-page) .nav-auth-link {
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  min-width: 96px !important;
  min-height: 42px !important;
  padding: 0 22px !important;
  border: 1px solid rgba(23, 35, 29, 0.14) !important;
  border-radius: 999px !important;
  background: rgba(176, 239, 112, 0.78) !important;
  color: #163d31 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}

body.home-page .nav-auth-link:hover,
body.home-page .nav-auth-link:focus-visible,
body:has(.atlas-full-page) .nav-auth-link:hover,
body:has(.atlas-full-page) .nav-auth-link:focus-visible {
  background: rgba(176, 239, 112, 0.92) !important;
  color: #163d31 !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (min-width: 901px) {
  body.home-page .site-header-inner,
  body:has(.atlas-full-page) .site-header-inner {
    display: grid !important;
    grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr) !important;
    column-gap: clamp(18px, 3vw, 42px) !important;
  }

  body.home-page .site-brand-row,
  body:has(.atlas-full-page) .site-brand-row {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    z-index: 2 !important;
  }

  body.home-page .site-nav,
  body:has(.atlas-full-page) .site-nav {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    max-width: calc(100vw - 380px) !important;
    z-index: 1 !important;
  }

  body.home-page .nav-auth,
  body:has(.atlas-full-page) .nav-auth {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    z-index: 2 !important;
  }
}

@media (max-width: 900px) {
  body.home-page .site-header-inner,
  body:has(.atlas-full-page) .site-header-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    min-height: auto !important;
    padding: 10px 18px 12px !important;
    gap: 10px 14px !important;
  }

  body.home-page .site-brand-row,
  body:has(.atlas-full-page) .site-brand-row {
    flex: 1 1 auto !important;
  }

  body.home-page .brand-logo,
  body.home-page .site-brand .brand-logo,
  body:has(.atlas-full-page) .brand-logo,
  body:has(.atlas-full-page) .site-brand .brand-logo {
    width: 138px !important;
  }

  body.home-page .nav-auth,
  body:has(.atlas-full-page) .nav-auth {
    margin-left: auto !important;
  }

  body.home-page .nav-auth-link,
  body:has(.atlas-full-page) .nav-auth-link {
    min-width: 88px !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    font-size: 12px !important;
  }

  body.home-page .site-nav,
  body:has(.atlas-full-page) .site-nav {
    order: 3 !important;
    flex: 1 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* =========================================================================
   Road Guide Report v2 — Scenario Brief Builder sprint (append-only, scoped)
   Trip brief card, per-stop "Why it fits", prominent Google Maps CTA,
   and homepage scenario cards. Reuses existing --rtf-green* tokens.
   ========================================================================= */

/* Trip brief card — compact echo of the traveller's choices, under the hero */
.rt-report-final__brief {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rt-report-final__brief-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rt-report-final__brief-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border: 1px solid var(--rtf-green-line);
  border-radius: 999px;
  background: var(--rtf-green-soft);
  color: var(--rtf-green-strong);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}
/* Guide logic — compact "why this guide is shaped this way" block. */
.rt-report-final__guidelogic {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rt-report-final__logic-lede {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 650;
  color: var(--rtf-green-strong, #14533a);
}
.rt-report-final__logic-list {
  margin: 0;
  padding: 0 0 0 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rt-report-final__logic-list li {
  font-size: 13.5px;
  line-height: 1.45;
  color: #3a4636;
}
.rt-report-final__logic-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rt-report-final__logic-chip {
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border: 1px solid var(--rtf-green-line, rgba(31,111,74,.2));
  border-radius: 999px;
  background: var(--rtf-green-soft, #eaf4ee);
  color: var(--rtf-green-strong, #14533a);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.3;
}

/* Prominent Maps CTA — solid fill so the map handoff never gets buried */
.rt-report-final__brief-maps {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 11px 18px;
  border-radius: 999px;
  background: var(--rtf-green);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  line-height: 1.35;
}
.rt-report-final__brief-maps:hover { background: var(--rtf-green-strong); color: #fff; }

/* Lift the in-stops Maps link to a solid button too, for the same reason */
.rt-report-final__stops-maps-link {
  background: var(--rtf-green);
  color: #fff;
  border-color: var(--rtf-green);
}
.rt-report-final__stops-maps-link:hover { background: var(--rtf-green-strong); color: #fff; }

/* Per-stop "Why it fits" — quiet, honest one-liner under the stop summary */
.rt-report-final__stop-fit {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--rtf-green-strong);
}
.rt-report-final__stop-fit-label {
  display: inline-block;
  margin-right: 6px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--rtf-green);
}

/* Homepage scenario brief cards — sit above the existing builder form.
   Editorial, calm: ivory default cards, strong green only when selected.
   Deterministic presets only; the full form stays visible below them. */
.sh-rtv2-scenarios {
  margin: 0 0 20px;
}
.sh-rtv2-scenarios__head {
  margin: 0 0 2px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: #20301f;
  letter-spacing: -0.01em;
}
.sh-rtv2-scenarios__sub {
  margin: 0 0 12px;
  font-size: 12.5px;
  line-height: 1.4;
  color: #6f7869;
}
.sh-rtv2-scenarios__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(184px, 1fr));
  gap: 9px;
}
/* Unselected card: light ivory, thin olive border, dark title, readable body.
   !important is intentional — this lives inside the heavily-!important
   body.home-page builder region, so plain class rules can lose the cascade. */
.sh-rtv2-scenario {
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
  padding: 11px 13px;
  border: 1px solid rgba(31, 111, 74, 0.2) !important;
  border-radius: 13px !important;
  background: #fdfaf3 !important;
  color: #2b3528 !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: border-color 0.16s ease, background 0.16s ease,
              box-shadow 0.16s ease, transform 0.16s ease;
}
.sh-rtv2-scenario:hover {
  border-color: rgba(31, 111, 74, 0.42) !important;
  background: #fffdf8 !important;
  box-shadow: 0 6px 18px rgba(47, 36, 26, 0.08) !important;
}
.sh-rtv2-scenario:focus-visible {
  outline: 2px solid var(--rtf-green, #1f6f4a);
  outline-offset: 2px;
}
/* Selected card: only this one goes dark green. */
.sh-rtv2-scenario[aria-pressed="true"] {
  border-color: var(--rtf-green, #1f6f4a) !important;
  background: var(--rtf-green, #1f6f4a) !important;
  box-shadow: 0 8px 22px rgba(31, 111, 74, 0.26) !important;
}
.sh-rtv2-scenario__title {
  font-size: 13.5px;
  font-weight: 800;
  line-height: 1.3;
  color: #1b2a1c !important;
}
.sh-rtv2-scenario__copy {
  font-size: 11.5px;
  line-height: 1.4;
  color: #4f5946 !important;
}
.sh-rtv2-scenario[aria-pressed="true"] .sh-rtv2-scenario__title { color: #ffffff !important; }
.sh-rtv2-scenario[aria-pressed="true"] .sh-rtv2-scenario__copy { color: rgba(255, 255, 255, 0.9) !important; }
/* Locked story: visible but not selectable. No hover lift, muted, "coverage is
   still being built" copy. Never implies any available data for this style. */
.sh-rtv2-story--locked {
  cursor: not-allowed !important;
  opacity: 0.6;
  background: #f4f1ea !important;
  border-style: dashed !important;
}
.sh-rtv2-story--locked:hover {
  border-color: rgba(31, 111, 74, 0.2) !important;
  background: #f4f1ea !important;
  box-shadow: none !important;
  transform: none !important;
}
.sh-rtv2-story--locked .sh-rtv2-scenario__copy { font-style: italic; }
@media (max-width: 560px) {
  .sh-rtv2-scenarios__grid { grid-template-columns: 1fr 1fr; }
}
/* Compact coverage status — replaces the large empty map placeholder when a
   corridor is not yet verified for the selected story. */
.sh-rtv2-coverage {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 13px;
  background: #f4f1ea;
  border: 1px dashed rgba(31, 111, 74, 0.3);
  color: #5c5346;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

/* Two-step builder framing — intro, step markers, live recap chip, step-2 head.
   These sit inside .sh-rtv2 (not the grid form), so normal block flow applies. */
.sh-rtv2-intro {
  margin: 0 0 16px;
}
.sh-rtv2-intro__title {
  margin: 0 0 4px;
  font-size: clamp(20px, 2vw, 25px);
  font-weight: 850;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #17231d;
}
.sh-rtv2-intro__sub {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.4;
  color: #5c6553;
}
.sh-rtv2-scenarios__step,
.sh-rtv2-stephead__step {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1f6f4a;
}
.sh-rtv2-summary {
  margin: 0 0 18px;
  padding: 10px 14px;
  border-radius: 13px;
  background: rgba(31, 111, 74, 0.09);
  border: 1px solid rgba(31, 111, 74, 0.18);
  color: #1d3326;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.4;
}
.sh-rtv2-stephead {
  margin: 4px 0 14px;
}
.sh-rtv2-stephead__head {
  margin: 0 0 2px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: #20301f;
  letter-spacing: -0.01em;
}
.sh-rtv2-stephead__sub {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.4;
  color: #6f7869;
}

/* CTA refinement — keep it premium but stop it filling its grid cell as a
   giant square. Same selector/specificity as the last winning submit rule,
   placed later so it wins; trims the 62px+ stretch, 950 weight and huge clamp.
   grid-column / grid-row are inherited from the earlier rules (layout intact). */
body.home-page #planner .sh-rtv2-form > button[type="submit"] {
  align-self: center !important;
  justify-self: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 15px 22px !important;
  border-radius: 18px !important;
  font-size: clamp(16px, 1.1vw, 19px) !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 26px rgba(18, 54, 41, 0.22) !important;
}

/* =========================================================================
   Road Guide Report v2.5 — Slice 1: route strip + elevated day timeline
   Append-only, scoped. Presentation only; no report logic changed.
   Reuses existing --rtf-green* tokens.
   ========================================================================= */

/* Route strip — horizontal city flow (İstanbul → Bursa → … → Nevşehir) */
.rt-report-final__routestrip-track {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
}
.rt-report-final__routestrip-city {
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border: 1px solid var(--rtf-green-line, rgba(31, 111, 74, 0.22));
  border-radius: 999px;
  background: var(--rtf-green-soft, #eaf4ee);
  color: var(--rtf-green-strong, #155a3a);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.rt-report-final__routestrip-arrow {
  color: var(--rtf-green, #1f6f4a);
  font-weight: 800;
  opacity: 0.6;
}
/* Long routes: switch to a single scrolling line on narrow screens */
@media (max-width: 560px) {
  .rt-report-final__routestrip-track {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
}

/* Elevated day timeline — vertical, editorial. Built on dayByDayRhythm data. */
.rt-report-final__timeline-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.rt-report-final__timeline-day {
  position: relative;
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 12px;
  padding: 0 0 18px 2px;
}
.rt-report-final__timeline-day:last-child {
  padding-bottom: 0;
}
/* Connecting line between markers */
.rt-report-final__timeline-day::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 16px;
  bottom: -2px;
  width: 2px;
  background: var(--rtf-green-line, rgba(31, 111, 74, 0.22));
}
.rt-report-final__timeline-day:last-child::before {
  display: none;
}
.rt-report-final__timeline-marker {
  position: relative;
  z-index: 1;
  width: 14px;
  height: 14px;
  margin-top: 5px;
  border-radius: 999px;
  background: var(--rtf-green, #1f6f4a);
  box-shadow: 0 0 0 4px rgba(31, 111, 74, 0.12);
}
.rt-report-final__timeline-label {
  display: block;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rtf-green, #1f6f4a);
  margin: 0 0 2px;
}
.rt-report-final__timeline-body h4 {
  margin: 0 0 4px;
  font-size: 15px;
  line-height: 1.3;
  color: #1b2a1c;
}
.rt-report-final__timeline-body > p {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.5;
  color: #4a5444;
}
.rt-report-final__timeline-stops {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.rt-report-final__timeline-stops li {
  font-size: 12px;
  font-weight: 600;
  color: #2b3528;
  padding: 4px 10px;
  border: 1px solid rgba(31, 111, 74, 0.16);
  border-radius: 8px;
  background: #fdfaf3;
}

/* =========================================================================
   Road Guide Report v2.5 — Slice 2: in-page workspace shell
   The report is no longer a modal. These overrides de-float the existing
   overlay (backdrop, fixed window, rounded card, scroll lock) and present it
   as a full-width, page-flow road guide workspace. Append-only and scoped;
   the show()/close() plumbing and report state are untouched.
   ========================================================================= */

/* Drop the dimmed backdrop and unlock body scroll. */
body.road-trip-report-open {
  overflow: visible !important;
  background: var(--rtf-paper, #fbfbf7) !important;
}
body.road-trip-report-open::before {
  content: none !important;
  display: none !important;
}

/* While the workspace is open the rest of the page steps aside, so the guide
   reads as a full page — but it stays in the same document (no navigation). */
body.road-trip-report-open > *:not(#roadTripReport):not(.road-trip-report):not(.sh-acct-overlay) {
  display: none !important;
}

/* Shell: a static, full-width page section instead of a floating window. */
#roadTripReport.road-trip-report.is-visible,
body.road-trip-report-open #roadTripReport,
body.road-trip-report-open .road-trip-report,
.road-trip-report.is-visible {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100vh !important;
  max-height: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--rtf-paper, #fbfbf7) !important;
  box-shadow: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

/* Inner canvas keeps a readable editorial width, centred, no window chrome. */
body.road-trip-report-open .rt-report-final,
.rt-report-final {
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 clamp(16px, 4vw, 40px) clamp(40px, 6vw, 72px) !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

/* Top bar reads as a page header strip, not a modal title bar. */
.rt-report-final__topbar {
  border-radius: 0 !important;
  background: var(--rtf-paper, #fbfbf7) !important;
  border-bottom: 1px solid var(--rtf-line, rgba(20, 24, 26, 0.1)) !important;
}

/* "Back to builder" — primary page-style control; the × stays as a quiet exit. */
.rt-report-final__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: auto;
  padding: 8px 14px;
  border: 1px solid var(--rtf-green-line, rgba(31, 111, 74, 0.22));
  border-radius: 999px;
  background: var(--rtf-green-soft, #eaf4ee);
  color: var(--rtf-green-strong, #155a3a);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.rt-report-final__back:hover {
  background: #dceee3;
}

/* =========================================================================
   Road Guide Report v2.5 — Slice 3: Tune this guide panel
   Compact in-report controls. Append-only, scoped, reuses --rtf-green*.
   ========================================================================= */
.rt-report-final__tune {
  background: var(--rtf-green-soft, #eaf4ee);
  border: 1px solid var(--rtf-green-line, rgba(31, 111, 74, 0.22));
  border-radius: 16px;
}
.rt-report-final__tune-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.rt-report-final__tune-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rt-report-final__tune-field > span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rtf-green-strong, #155a3a);
}
.rt-report-final__tune-field select {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--rtf-green-line, rgba(31, 111, 74, 0.22));
  border-radius: 10px;
  background: #fff;
  color: #1b2a1c;
  font-size: 14px;
  font-weight: 600;
}
.rt-report-final__tune-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-bottom: 12px;
}
.rt-report-final__tune-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: #2b3528;
  cursor: pointer;
}
.rt-report-final__tune-check input {
  width: 16px;
  height: 16px;
  min-height: auto;
  flex-shrink: 0;
  accent-color: var(--rtf-green, #1f6f4a);
}
.rt-report-final__tune-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.rt-report-final__tune-chip {
  padding: 7px 14px;
  border: 1px solid var(--rtf-green-line, rgba(31, 111, 74, 0.28));
  border-radius: 999px;
  background: #fff;
  color: var(--rtf-green-strong, #155a3a);
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
}
.rt-report-final__tune-chip:hover {
  background: #fff;
  border-color: var(--rtf-green, #1f6f4a);
}
.rt-report-final__tune-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.rt-report-final__tune-update {
  padding: 11px 22px;
  border: 0;
  border-radius: 12px;
  background: var(--rtf-green, #1f6f4a);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
.rt-report-final__tune-update:hover {
  background: var(--rtf-green-strong, #155a3a);
}
.rt-report-final__tune-status {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--rtf-green-strong, #155a3a);
}
.rt-report-final__tune-chip:focus-visible,
.rt-report-final__tune-update:focus-visible,
.rt-report-final__tune-field select:focus-visible,
.rt-report-final__tune-check input:focus-visible {
  outline: 2px solid var(--rtf-green, #1f6f4a);
  outline-offset: 2px;
}

/* =========================================================================
   Road Guide Report v2.6 — disabled trip services layer
   Service surfaces are visible product placeholders only: no provider hrefs,
   no fake prices, no fake availability and no non-cultural map pins.
   ========================================================================= */
.rt-report-final__services {
  background: #fffdf8;
  border: 1px solid rgba(31, 111, 74, 0.18);
  border-radius: 16px;
}
.rt-report-final__service-grid,
.rt-report-final__planning-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.rt-report-final__service-card,
.rt-report-final__planning-card {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 15px 16px;
  border: 1px solid rgba(31, 111, 74, 0.16);
  border-radius: 12px;
  background: #ffffff;
  color: #1b2a1c;
}
.rt-report-final__service-card > span,
.rt-report-final__planning-card > span {
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rtf-green, #1f6f4a);
}
.rt-report-final__service-card strong,
.rt-report-final__planning-card strong {
  font-size: 15px;
  line-height: 1.22;
  color: #1b2a1c;
}
.rt-report-final__service-card p,
.rt-report-final__planning-card p {
  margin: 0;
  color: #4f5946;
  font-size: 13px;
  line-height: 1.45;
}
.rt-report-final__disabled-btn {
  justify-self: start;
  margin-top: 4px;
  padding: 8px 11px;
  border: 1px solid rgba(70, 78, 64, 0.2);
  border-radius: 999px;
  background: #f2eee5;
  color: #6c675d;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  cursor: not-allowed;
}
.rt-report-final__disabled-btn[disabled] {
  opacity: 1;
}
.rt-report-final__mapcol {
  display: grid;
  gap: 12px;
  align-content: start;
}
.rt-report-final__map-legend {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid rgba(31, 111, 74, 0.16);
  border-radius: 12px;
  background: #fffdf8;
}
.rt-report-final__map-legend-head {
  display: grid;
  gap: 3px;
}
.rt-report-final__map-legend-head strong {
  font-size: 14px;
  color: #1b2a1c;
}
.rt-report-final__map-legend-head p {
  margin: 0;
  color: #5e6759;
  font-size: 12.5px;
  line-height: 1.4;
}
.rt-report-final__layer-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(31, 111, 74, 0.08);
  color: var(--rtf-green-strong, #155a3a);
  font-size: 13px;
  font-weight: 800;
}
.rt-report-final__layer-row strong {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.rt-report-final__layer-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.rt-report-final__layer-chip {
  display: inline-flex;
  padding: 6px 9px;
  border: 1px dashed rgba(70, 78, 64, 0.24);
  border-radius: 999px;
  background: #f7f3ea;
  color: #6c675d;
  font-size: 12px;
  font-weight: 750;
}
.rt-report-final__planning-grid--essentials {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.rt-report-final__planning-card--essential {
  border-left: 3px solid var(--rtf-green, #1f6f4a);
}
.rt-report-final__quickstrip button[disabled],
.rt-report-final__action--disabled-service {
  cursor: not-allowed !important;
  opacity: 1;
}
.rt-report-final__quickstrip button[disabled] {
  background: #f2eee5 !important;
  border-color: rgba(70, 78, 64, 0.18) !important;
}
.rt-report-final__quickstrip button[disabled] span,
.rt-report-final__quickstrip button[disabled] strong {
  color: #6c675d !important;
}
.rt-report-final__quickstrip button[disabled]:hover,
.rt-report-final__action--disabled-service:hover {
  transform: none !important;
  border-color: rgba(70, 78, 64, 0.18) !important;
  background: #f2eee5 !important;
}
.rt-report-final__action--disabled-service {
  width: 100%;
  font-family: inherit;
  text-align: left;
  background: #f2eee5 !important;
  border-color: rgba(70, 78, 64, 0.18) !important;
}
.rt-report-final__action--disabled-service span,
.rt-report-final__action--disabled-service strong,
.rt-report-final__action--disabled-service small {
  color: #6c675d !important;
}
@media (max-width: 920px) {
  .rt-report-final__service-grid,
  .rt-report-final__planning-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .rt-report-final__service-grid,
  .rt-report-final__planning-grid {
    grid-template-columns: 1fr;
  }
  .rt-report-final__services,
  .rt-report-final__map-legend,
  .rt-report-final__service-card,
  .rt-report-final__planning-card {
    border-radius: 10px;
  }
}

/* =========================================================================
   Road Guide Report v3 — day-by-day workspace layout
   The itinerary becomes the primary planning surface. Cultural stop cards,
   food/stay/road/photo cues and disabled service affordances live inside days.
   ========================================================================= */
.rt-report-final__mapstage {
  display: grid;
  gap: 14px;
}
.rt-report-final__mapstage-map {
  position: relative;
  width: 100%;
  min-height: clamp(360px, 54vw, 560px);
  border: 1px solid rgba(31, 111, 74, 0.16);
  border-radius: 16px;
  overflow: hidden;
  background: var(--rtf-green-soft, #eaf4ee);
}
.rt-report-final__mapstage-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/* Compact map: surfaced high in the report so the route shape reads instantly
   without a wall of map pushing the brief and actions below the fold. */
.rt-report-final__mapstage--compact .rt-report-final__mapstage-map {
  min-height: clamp(220px, 36vw, 360px);
}
.rt-report-final__mapstage--golden .rt-report-final__mapstage-map {
  min-height: clamp(460px, 62vw, 720px);
  border-radius: 18px;
  box-shadow: 0 22px 52px rgba(35, 28, 22, 0.16);
}
.rt-report-final__mapstage--golden .rt-report-final__map-legend {
  border-color: rgba(31, 111, 74, 0.2);
  background: #fffdf8;
}
/* Golden display-only alternative thumbnails (C1B / polished C1B.1). Scoped to
   the .rt-report-final__golden-alts class, which only ever renders inside a
   valid Golden report — generic report cards are untouched. Mobile-first: a
   horizontal scroll strip with comfortably wide cards; on desktop the strip
   becomes a balanced grid so two alternatives share the full width. */
.rt-report-final__golden-alts {
  /* Hug the headline stop above it, with a controlled vertical rhythm. */
  margin: 8px 0 4px;
  padding: 13px 14px 12px;
  background: #fbf8f1;
  border: 1px solid rgba(31, 111, 74, 0.14);
  border-left: 3px solid #0f6b46;
  border-radius: 14px;
  /* Safe spacing only for this Golden strip if it is ever scrolled into view
     under the sticky report header. Global sticky behaviour is untouched. */
  scroll-margin-top: 96px;
}
.rt-report-final__golden-alts-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 11px;
}
.rt-report-final__golden-alts-title {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #0f6b46;
}
.rt-report-final__golden-restore {
  flex: 0 0 auto;
  border: 1px solid rgba(31, 111, 74, 0.3);
  background: #ffffff;
  color: #0f6b46;
  border-radius: 999px;
  padding: 6px 12px;
  font: 700 0.72rem/1 system-ui, sans-serif;
  cursor: pointer;
  min-height: 32px;
}
.rt-report-final__golden-restore:hover { background: #f1f7f3; }
.rt-report-final__golden-restore:focus-visible {
  outline: 2px solid #0f6b46;
  outline-offset: 2px;
}
.rt-report-final__golden-alts-strip {
  list-style: none;
  margin: 0;
  padding: 0 0 4px;
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}
.rt-report-final__golden-alt {
  flex: 0 0 auto;
  width: min(78vw, 280px);
  scroll-snap-align: start;
}
.rt-report-final__golden-alt-card {
  /* Selectable button (C1C): reset native button chrome, keep the card look. */
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: left;
  color: inherit;
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  background: #ffffff;
  border: 1px solid rgba(31, 111, 74, 0.16);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(35, 28, 22, 0.10);
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.rt-report-final__golden-alt-card:hover {
  border-color: rgba(31, 111, 74, 0.4);
  box-shadow: 0 12px 26px rgba(35, 28, 22, 0.14);
}
.rt-report-final__golden-alt-card:focus-visible {
  outline: 2px solid #0f6b46;
  outline-offset: 2px;
}
.rt-report-final__golden-alt.is-selected .rt-report-final__golden-alt-card {
  border-color: #0f6b46;
  box-shadow: 0 0 0 2px #0f6b46, 0 12px 26px rgba(15, 107, 70, 0.18);
}
.rt-report-final__golden-alt-selected {
  align-self: flex-start;
  margin-top: 2px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #0f6b46;
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}
/* Headline stop card while a same-scope alternative is active for the day. */
.rt-report-final__day-stop--golden-alt {
  border: 1px solid rgba(31, 111, 74, 0.28);
  box-shadow: 0 0 0 1px rgba(15, 107, 70, 0.12);
}
.rt-report-final__golden-alt-img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #efe8d8;
}
.rt-report-final__golden-alt-meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 11px 13px 12px;
}
.rt-report-final__golden-alt-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #243a2e;
  line-height: 1.3;
}
.rt-report-final__golden-alt-context {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #5f806e;
}
/* Attribution: small but legible, separated from the name, and never hidden —
   the license phrase must always stay visible. */
.rt-report-final__golden-alt-cred {
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid rgba(31, 111, 74, 0.10);
  font-size: 0.7rem;
  font-weight: 500;
  color: #857f76;
  line-height: 1.35;
}
/* Desktop: balanced grid so two alternatives use the strip width evenly; three
   or four wrap into readable rows instead of shrinking. */
@media (min-width: 640px) {
  .rt-report-final__golden-alts-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    overflow: visible;
    padding-bottom: 0;
  }
  .rt-report-final__golden-alt {
    width: auto;
  }
}
.rt-report-final__mapstage .rt-report-final__map-legend {
  grid-template-columns: minmax(220px, .9fr) auto;
  align-items: center;
}
.rt-report-final__mapstage .rt-report-final__layer-list {
  justify-content: flex-end;
}
.rt-report-final__daybyday {
  border-top: 0;
  padding-top: 34px;
}
.rt-report-final__days {
  display: grid;
  gap: 22px;
}
.rt-report-final__day {
  display: grid;
  gap: 16px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(31, 111, 74, 0.18);
  border-radius: 16px;
  background: #fffdf8;
}
.rt-report-final__day-head {
  display: grid;
  gap: 5px;
}
.rt-report-final__day-head > span {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rtf-green, #1f6f4a);
}
.rt-report-final__day-head h3 {
  margin: 0;
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.1;
  color: #1b2a1c;
}
.rt-report-final__day-head p {
  margin: 0;
  max-width: 760px;
  color: #4f5946;
  font-size: 14px;
  line-height: 1.5;
}
/* Road Rhythm Engine V1: relative, non-clock day rhythm + overnight fit. */
.rt-report-final__day-rhythm {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 2px 0 0;
}
.rt-report-final__day-state {
  margin: 1px 0 0;
  color: #1f6f4a;
  font: 800 12.5px/1.35 inherit;
  letter-spacing: 0.01em;
}
.rt-report-final__day-rhythm-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(31, 111, 74, 0.12);
  color: #16432f;
  font: 800 11px/1.2 inherit;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.rt-report-final__day-rhythm-chip--limited {
  background: rgba(176, 137, 0, 0.16);
  color: #6a5132;
}
.rt-report-final__day-rhythm-meta {
  font: 700 12px/1.2 inherit;
  color: #5a6152;
}
.rt-report-final__day-rhythm-status {
  font: 600 11px/1.3 inherit;
  color: #8a7a63;
  font-style: italic;
}
.rt-report-final__visit-bucket {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 2px 8px;
  margin: 1px 0 2px;
  border-radius: 999px;
  background: rgba(138, 109, 59, 0.13);
  color: #6a5132;
  font: 700 10.5px/1.2 inherit;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.rt-report-final__day-stops {
  display: grid;
  gap: 13px;
}
.rt-report-final__day-stop {
  display: grid;
  grid-template-columns: minmax(160px, 230px) minmax(0, 1fr);
  min-height: 190px;
  border: 1px solid rgba(31, 111, 74, 0.14);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.rt-report-final__day-stop-img {
  min-height: 100%;
  background: var(--rtf-green-soft, #eaf4ee);
}
.rt-report-final__day-stop-img img {
  width: 100%;
  height: 100%;
  min-height: 190px;
  object-fit: cover;
  display: block;
}
.rt-report-final__day-stop-img--fallback {
  display: grid;
  place-items: center;
  color: var(--rtf-green-strong, #155a3a);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.rt-report-final__day-stop.is-no-image .rt-report-final__day-stop-img {
  display: none;
}
.rt-report-final__day-stop.is-no-image {
  grid-template-columns: 1fr;
}
.rt-report-final__day-stop-body {
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 17px 18px;
}
.rt-report-final__day-stop-body > span {
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rtf-green, #1f6f4a);
}
.rt-report-final__day-stop-body h4 {
  margin: 0;
  font-size: 19px;
  line-height: 1.2;
  color: #1b2a1c;
}
.rt-report-final__day-stop-body small {
  color: #6f7869;
  font-size: 12.5px;
  font-weight: 750;
}
.rt-report-final__day-stop-body p {
  margin: 0;
  color: #394236;
  font-size: 13.5px;
  line-height: 1.48;
}
.rt-report-final__day-note {
  color: #65705d !important;
}
.rt-report-final__day-stop-body a {
  justify-self: start;
  font-weight: 850;
  color: var(--rtf-green-strong, #155a3a);
}
.rt-report-final__stop-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.rt-report-final__swap-btn,
.rt-report-final__remove-btn {
  padding: 7px 13px;
  border-radius: 999px;
  background: transparent;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 850;
  line-height: 1.4;
  cursor: pointer;
}
.rt-report-final__swap-btn {
  border: 1px solid rgba(23, 111, 69, 0.3);
  color: #176f45;
}
.rt-report-final__remove-btn {
  border: 1px solid rgba(60, 43, 28, 0.28);
  color: #6a6256;
}
.rt-report-final__swap-btn:hover,
.rt-report-final__remove-btn:hover {
  background: rgba(31, 111, 74, 0.06);
}
.rt-report-final__day-support {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.rt-report-final__day-service {
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 14px 15px;
  border: 1px solid rgba(31, 111, 74, 0.14);
  border-radius: 12px;
  background: #fff;
}
.rt-report-final__day-service > span {
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rtf-green, #1f6f4a);
}
.rt-report-final__day-service strong {
  color: #1b2a1c;
  font-size: 14.5px;
  line-height: 1.22;
}
.rt-report-final__day-service p {
  margin: 0;
  color: #4f5946;
  font-size: 12.8px;
  line-height: 1.43;
}
.rt-report-final__day-service--flight {
  border-style: dashed;
  background: #f7f3ea;
}
.rt-report-final__swap-notice {
  margin: 0 0 12px;
  padding: 9px 12px;
  border-radius: 10px;
  background: rgba(49, 95, 74, 0.07);
  color: #33402f;
  font-size: 13px;
  font-weight: 750;
}
.rt-report-final__guide-tools .rt-report-final__actions {
  grid-template-columns: minmax(0, 1fr);
}
@media (max-width: 860px) {
  .rt-report-final__mapstage .rt-report-final__map-legend {
    grid-template-columns: 1fr;
  }
  .rt-report-final__mapstage .rt-report-final__layer-list {
    justify-content: flex-start;
  }
  .rt-report-final__day-stop {
    grid-template-columns: 1fr;
  }
  .rt-report-final__day-stop-img img,
  .rt-report-final__day-stop-img {
    min-height: 210px;
  }
  .rt-report-final__day-support {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .rt-report-final__mapstage-map {
    min-height: 320px;
    border-radius: 12px;
  }
  .rt-report-final__mapstage--golden .rt-report-final__mapstage-map {
    min-height: 420px;
    border-radius: 14px;
  }
  .rt-report-final__day {
    padding: 15px;
    border-radius: 12px;
  }
  .rt-report-final__day-support {
    grid-template-columns: 1fr;
  }
}

/* Road Guide Report v3 polish: quieter service slots and editorial day layers. */
.rt-report-final__service-soon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  margin-top: 2px;
  padding: 6px 10px;
  border: 1px solid rgba(70, 78, 64, 0.16);
  background: linear-gradient(180deg, #fbf8f0 0%, #f2eee5 100%);
  color: #6a655c;
  font-size: 11.5px;
  font-weight: 850;
  letter-spacing: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
  cursor: default;
}

.rt-report-final__service-soon[disabled]:hover {
  transform: none;
  border-color: rgba(70, 78, 64, 0.16);
  background: linear-gradient(180deg, #fbf8f0 0%, #f2eee5 100%);
}

/* Curated service-area layer (food / rest / wc ...) — shown inside the report. */
.rt-report-final__day-services {
  display: grid;
  gap: 8px;
  margin-top: 9px;
}
.rt-report-final__day-services-head {
  margin: 0;
  font: 800 11px/1.2 inherit;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #69725d;
}
.rt-report-final__service-area-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.rt-report-final__service-area-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(70, 78, 64, 0.16);
  border-radius: 12px;
  background: #fbf8f0;
  box-shadow: 0 8px 18px rgba(30, 36, 26, 0.055);
}
.rt-report-final__service-area-card.is-osm {
  background: #ffffff;
  border-color: rgba(31, 111, 74, 0.2);
}
.rt-report-final__service-area-card.is-planning-cue {
  background: #fffdf8;
  border-style: dashed;
}
.rt-report-final__service-area-visual {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 78px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(31,111,74,.12), rgba(194,73,29,.10)),
    #f0ece3;
  box-shadow: inset 0 -3px 0 var(--service-accent, #5a6152);
}
.rt-report-final__service-area-visual img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rt-report-final__service-area-placeholder {
  z-index: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: calc(100% - 28px);
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  color: #4d5448;
  font: 900 10px/1.2 inherit;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}
.rt-report-final__service-area-visual.has-photo:not(.is-no-photo) .rt-report-final__service-area-placeholder {
  display: none;
}
.rt-report-final__service-area-body {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px 10px 10px;
}
.rt-report-final__service-area-chip {
  justify-self: start;
  padding: 4px 8px;
  border-radius: 999px;
  color: #fff;
  font: 800 11px/1.3 inherit;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.rt-report-final__service-area-card strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font: 900 13.5px/1.18 inherit;
  color: #231c16;
  overflow-wrap: anywhere;
}
.rt-report-final__service-area-card small {
  font: 750 11px/1.25 inherit;
  color: #6a655c;
  overflow-wrap: anywhere;
}
.rt-report-final__service-area-card p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  font: 500 11.5px/1.35 inherit;
  color: #3a342c;
  overflow-wrap: anywhere;
}
.rt-report-final__service-area-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 1px;
}
.rt-report-final__service-area-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 32px;
  padding: 7px 8px;
  border: 1px solid rgba(31, 111, 74, 0.18);
  border-radius: 999px;
  background: #f8fbf7;
  color: #174d35;
  font: 850 11.5px/1.2 inherit;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.rt-report-final__service-area-actions a:last-child {
  background: #1f6f4a;
  border-color: #1f6f4a;
  color: #fff;
}
.rt-report-final__essential-list {
  display: grid;
  gap: 6px;
}
.rt-report-final__essential-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(70, 78, 64, 0.13);
  border-radius: 11px;
  background: #fff;
}
.rt-report-final__essential-chip {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  color: #fff;
  font: 900 11px/1 inherit;
}
.rt-report-final__essential-copy {
  min-width: 0;
}
.rt-report-final__essential-copy strong,
.rt-report-final__essential-copy small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rt-report-final__essential-copy strong {
  font: 850 12.5px/1.2 inherit;
  color: #231c16;
}
.rt-report-final__essential-copy small {
  margin-top: 1px;
  font: 700 10.8px/1.2 inherit;
  color: #6a655c;
}
.rt-report-final__essential-row .rt-report-final__service-area-actions {
  display: flex;
  gap: 5px;
  margin: 0;
}
.rt-report-final__essential-row .rt-report-final__service-area-actions a {
  min-height: 28px;
  padding: 6px 8px;
  font-size: 10.8px;
}
.rt-report-final__service-source-note {
  margin: 2px 0 0;
  color: #6a655c;
  font-size: 11.5px;
  line-height: 1.4;
}
.rt-report-final__service-source-note--map {
  margin-top: -4px;
}

/* ---------------------------------------------------------------------------
   Compact day plan panel (reference rebuild). One quiet panel per day:
   large Photo Cue (left) + tight Nearby Services list (right). Replaces the
   old Food/Stay/Essentials/Photo-cue bucket dashboard.
   --------------------------------------------------------------------------- */
.rt-report-final__day-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 14px;
  margin-top: 12px;
  align-items: start;
}
.rt-report-final__photocue {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  border: 1px solid rgba(35, 28, 22, 0.1);
  border-radius: 14px;
  overflow: hidden;
  background: #fbf8f0;
}
.rt-report-final__photocue-media {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 9;
  max-height: 240px;
  background: #e7decd;
}
.rt-report-final__photocue-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rt-report-final__photocue-fallback {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  font: 800 11px/1.2 inherit;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8270;
}
.rt-report-final__photocue.is-no-image .rt-report-final__photocue-fallback { display: flex; }
.rt-report-final__photocue.is-no-image .rt-report-final__photocue-media { aspect-ratio: 16 / 7; }
.rt-report-final__photocue-body {
  display: grid;
  gap: 4px;
  padding: 10px 12px 12px;
}
.rt-report-final__photocue-kicker {
  font: 800 10px/1.2 inherit;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #69725d;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rt-report-final__photocue-body strong { font: 800 14px/1.25 inherit; color: #231c16; }
.rt-report-final__photocue-body p { margin: 0; font: 500 12.5px/1.5 inherit; color: #3a342c; }

.rt-report-final__nearby { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; align-content: start; }
.rt-report-final__nearby-head {
  margin: 0;
  font: 800 10px/1.2 inherit;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #69725d;
}
.rt-report-final__nearby-empty { margin: 0; font: 500 12px/1.5 inherit; color: #6a655c; }
.rt-report-final__svc-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.rt-report-final__svc-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  max-height: 64px;
  padding: 8px 10px;
  border: 1px solid rgba(35, 28, 22, 0.1);
  border-radius: 11px;
  background: #fff;
}
.rt-report-final__svc-icon {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  color: #fff;
  font-size: 15px;
}
.rt-report-final__svc-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.rt-report-final__svc-text strong,
.rt-report-final__svc-text small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rt-report-final__svc-text strong { font-size: 13px; font-weight: 700; line-height: 1.25; color: #231c16; }
.rt-report-final__svc-text small { font-size: 11px; font-weight: 600; line-height: 1.2; color: #6a655c; }
.rt-report-final__svc-row .rt-report-final__service-area-actions {
  display: flex;
  gap: 6px;
  margin: 0;
}
.rt-report-final__svc-row .rt-report-final__service-area-actions a {
  min-height: 36px;
  padding: 6px 9px;
  font-size: 11px;
}
@media (max-width: 760px) {
  .rt-report-final__day-panel { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .rt-report-final__svc-row .rt-report-final__service-area-actions a { min-height: 44px; }
}

/* Optional corridor-gap suggestion (report-only; not part of the route). */
.rt-report-final__gap-card {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px dashed rgba(31, 111, 74, 0.4);
  border-radius: 14px;
  background: rgba(31, 111, 74, 0.05);
}
.rt-report-final__gap-card strong {
  font: 800 15px/1.25 inherit;
  color: #16432f;
}
.rt-report-final__gap-card small {
  font: 700 12px/1.2 inherit;
  color: #6a655c;
}
.rt-report-final__gap-card p {
  margin: 0;
  font: 500 12.5px/1.5 inherit;
  color: #3a342c;
}

/* Active service-type chips in the map legend. */
.rt-report-final__layer-chip.is-active {
  background: #fff;
  color: #2c3326;
  border-width: 1px;
  border-style: solid;
  opacity: 1;
}

/* Mobile touch targets: keep the small interactive controls at a comfortable
   >=44px hit area without changing the desktop look. Padding + inline-flex
   centering grows the tap area, not the visual chrome, so layout stays put. */
@media (max-width: 760px) {
  .rt-report-final__close,
  .rt-report-final__back {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .rt-report-final__swap-btn,
  .rt-report-final__remove-btn,
  .rt-report-final__tune-chip {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .rt-report-final__day-stop-body > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

.rt-report-final__day-planning {
  display: grid;
  gap: 9px;
  padding: 11px;
  border: 1px solid rgba(31, 111, 74, 0.12);
  border-radius: 14px;
  background: rgba(247, 243, 234, 0.54);
}

.rt-report-final__day-planning-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px;
}

.rt-report-final__day-planning-head span {
  color: #263326;
  font-size: 13px;
  font-weight: 900;
}

.rt-report-final__day-planning-head p {
  margin: 0;
  color: #6b7167;
  font-size: 11.8px;
  line-height: 1.35;
  text-align: right;
}

.rt-report-final__day-planning .rt-report-final__day-support {
  gap: 7px;
}

.rt-report-final__day-planning .rt-report-final__day-service {
  gap: 5px;
  padding: 10px 11px;
  border-color: rgba(31, 111, 74, 0.1);
  border-radius: 10px;
  background: rgba(255, 253, 248, 0.86);
  box-shadow: none;
}

.rt-report-final__day-planning .rt-report-final__day-service > span {
  font-size: 9.8px;
  letter-spacing: 0.1em;
}

.rt-report-final__day-planning .rt-report-final__day-service strong {
  font-size: 13.2px;
}

.rt-report-final__day-planning .rt-report-final__day-service p {
  font-size: 12.2px;
  line-height: 1.38;
}

.rt-report-final__day-stop.is-no-image {
  border-left: 4px solid rgba(31, 111, 74, 0.55);
  background:
    linear-gradient(90deg, rgba(31, 111, 74, 0.08), transparent 36%),
    #fffdf8;
}

.rt-report-final__day-stop.is-no-image .rt-report-final__day-stop-body {
  gap: 7px;
  padding: 18px 20px;
}

.rt-report-final__day-stop.is-no-image .rt-report-final__day-stop-body > span {
  color: #155a3a;
}

.rt-report-final__stop-fit {
  padding-top: 2px;
}

.rt-report-final__stop-fit-label {
  display: inline;
  margin-right: 6px;
  color: #155a3a;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .rt-report-final__day-planning-head {
    display: grid;
    gap: 3px;
  }
  .rt-report-final__day-planning-head p {
    text-align: left;
  }
}

/* Road Guide Report v3 final polish: route workspace density and mobile rhythm. */
.rt-report-final__tune {
  padding-top: 14px;
  padding-bottom: 14px;
}

.rt-report-final__tune-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 12px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.rt-report-final__tune-summary::-webkit-details-marker {
  display: none;
}

.rt-report-final__tune-summary::after {
  content: "Open";
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  padding: 6px 10px;
  border: 1px solid rgba(31, 111, 74, 0.2);
  border-radius: 999px;
  background: #fff;
  color: #155a3a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rt-report-final__tune[open] .rt-report-final__tune-summary::after {
  content: "Close";
}

.rt-report-final__tune-summary span {
  color: var(--rtf-green, #1f6f4a);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rt-report-final__tune-summary strong {
  color: #1b2a1c;
  font-size: 18px;
  line-height: 1.1;
}

.rt-report-final__tune-summary small {
  color: #5e6759;
  font-size: 12.5px;
  line-height: 1.35;
}

.rt-report-final__tune-body {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(31, 111, 74, 0.14);
}

.rt-report-final__tune .rt-report-final__tune-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 9px;
}

.rt-report-final__tune .rt-report-final__tune-field select {
  padding: 8px 10px;
}

.rt-report-final__tune .rt-report-final__tune-checks,
.rt-report-final__tune .rt-report-final__tune-presets {
  margin-bottom: 9px;
}

.rt-report-final__quickstrip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.rt-report-final__quick-action--primary {
  border-color: rgba(31, 111, 74, 0.28) !important;
  background: #fffdf8 !important;
}

.rt-report-final__quick-action--primary strong {
  color: #155a3a !important;
}

.rt-report-final__quick-action--service {
  opacity: 0.9;
}

.rt-report-final__day-planning .rt-report-final__day-support {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rt-report-final__day-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.rt-report-final__day-note-card {
  display: grid;
  gap: 4px;
  padding: 9px 11px;
  border: 1px solid rgba(31, 111, 74, 0.1);
  border-radius: 10px;
  background: rgba(255, 253, 248, 0.64);
}

.rt-report-final__day-note-card span {
  color: var(--rtf-green, #1f6f4a);
  font-size: 9.8px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rt-report-final__day-note-card strong {
  color: #1b2a1c;
  font-size: 12.8px;
  line-height: 1.2;
}

.rt-report-final__day-note-card p {
  margin: 0;
  color: #52604f;
  font-size: 11.8px;
  line-height: 1.34;
}

.rt-report-final__day-planning .rt-report-final__day-service {
  min-height: 0;
}

.rt-report-final__swap-notice {
  border-left: 3px solid rgba(31, 111, 74, 0.55);
  background: #f1f7ef;
}

@media (max-width: 860px) {
  .rt-report-final__tune .rt-report-final__tune-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .rt-report-final__quickstrip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
    padding: 8px 10px !important;
    gap: 7px !important;
    scroll-snap-type: none !important;
  }

  .rt-report-final__quickstrip button,
  .rt-report-final__quickstrip a {
    flex: initial !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 8px 9px !important;
  }

  .rt-report-final__quick-action--service {
    min-height: 40px !important;
  }

  .rt-report-final__quick-action--service span,
  .rt-report-final__quick-action--service strong {
    font-size: 10.5px !important;
  }

  .rt-report-final__day-planning {
    padding: 9px;
  }

  .rt-report-final__day-planning .rt-report-final__day-support,
  .rt-report-final__day-notes {
    grid-template-columns: 1fr;
  }

  .rt-report-final__day-note-card {
    padding: 8px 9px;
  }

  .rt-report-final__tune-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .rt-report-final__tune-summary::after {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin-top: 4px;
  }
}

/* =========================================================================
   Account + contribution modal (js/account-modal.js)
   Premium, calm, mobile-first. Scoped under .sh-acct*. No layout impact
   on header/report/builder. Reuses the olive palette.
   ========================================================================= */
:root {
  --sha-green: #1f6f4a;
  --sha-green-strong: #155a3a;
  --sha-ink: #14181a;
  --sha-muted: #5d6a64;
  --sha-line: rgba(20, 24, 26, 0.10);
  --sha-soft: #f4f8f5;
  --sha-paper: #fffdf8;
}
body.sh-acct-open { overflow: hidden; }
.sh-acct-overlay {
  position: fixed;
  inset: 0;
  z-index: 11000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(12px, 6vh, 64px) 16px 16px;
  background: rgba(18, 26, 22, 0.46);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  overflow-y: auto;
}
.sh-acct-overlay[hidden] { display: none; }
.sh-acct {
  position: relative;
  width: 100%;
  max-width: 460px;
  background: var(--sha-paper);
  border: 1px solid var(--sha-line);
  border-radius: 22px;
  box-shadow: 0 30px 80px rgba(18, 26, 22, 0.28);
  padding: clamp(22px, 4vw, 32px);
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  color: var(--sha-ink);
  animation: sh-acct-in 0.18s ease-out;
}
@keyframes sh-acct-in {
  from { transform: translateY(8px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .sh-acct { animation: none; } }
.sh-acct__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--sha-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.sh-acct__close:hover { background: var(--sha-soft); color: var(--sha-ink); }

.sh-acct__head { margin: 0 0 16px; padding-right: 28px; }
.sh-acct__eyebrow {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sha-green);
}
.sh-acct__title {
  margin: 0 0 6px;
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: clamp(22px, 4.4vw, 27px);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--sha-ink);
  word-break: break-word;
}
.sh-acct__sub { margin: 0; font-size: 14px; line-height: 1.5; color: var(--sha-muted); }
.sh-acct__gate {
  margin: 0 0 14px;
  padding: 10px 13px;
  border-radius: 12px;
  background: var(--sha-soft);
  border: 1px solid var(--sha-line);
  font-size: 13px;
  color: var(--sha-green-strong);
  font-weight: 600;
}

.sh-acct__google {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-top: 4px;
  padding: 12px 16px;
  border: 1px solid var(--sha-line);
  border-radius: 12px;
  background: #fff;
  color: var(--sha-ink);
  font-size: 14px;
  font-weight: 700;
  cursor: not-allowed;
  opacity: 0.72;
}
.sh-acct__google-mark {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--sha-soft);
  color: var(--sha-green-strong);
  font-weight: 900;
}
.sh-acct__soon {
  margin-left: auto;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sha-muted);
}
.sh-acct__divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  color: var(--sha-muted);
  font-size: 12px;
}
.sh-acct__divider::before,
.sh-acct__divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--sha-line);
}
.sh-acct__form { display: flex; flex-direction: column; gap: 12px; }
.sh-acct__field { display: flex; flex-direction: column; gap: 6px; }
.sh-acct__field > span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sha-muted);
}
.sh-acct__field input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--sha-line);
  border-radius: 12px;
  background: #fff;
  font-size: 15px;
  color: var(--sha-ink);
}
.sh-acct__field input:focus {
  outline: 2px solid var(--sha-green);
  outline-offset: 1px;
  border-color: var(--sha-green);
}
.sh-acct__primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 18px;
  border: 0;
  border-radius: 12px;
  background: var(--sha-green);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
}
.sh-acct__primary:hover { background: var(--sha-green-strong); color: #fff; }
.sh-acct__ghost {
  width: 100%;
  padding: 11px 18px;
  border: 1px solid var(--sha-line);
  border-radius: 12px;
  background: #fff;
  color: var(--sha-ink);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.sh-acct__ghost:hover { background: var(--sha-soft); }
.sh-acct__note { margin: 12px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--sha-muted); }
.sh-acct__feedback { margin: 0; font-size: 13px; font-weight: 600; min-height: 1px; }
.sh-acct__feedback[data-state="error"]   { color: #c0392b; }
.sh-acct__feedback[data-state="success"] { color: var(--sha-green-strong); }

/* Account view */
.sh-acct__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 16px 0;
}
.sh-acct__stat {
  padding: 13px 14px;
  border: 1px solid var(--sha-line);
  border-radius: 14px;
  background: var(--sha-soft);
}
.sh-acct__stat--button {
  width: 100%;
  min-height: 82px;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.sh-acct__stat--button:hover { background: #fff; border-color: rgba(31, 111, 74, 0.28); }
.sh-acct__stat--button:focus-visible,
.sh-acct__route-open:focus-visible,
.sh-acct__saved-routes:focus-visible {
  outline: 2px solid var(--sha-green);
  outline-offset: 2px;
}
.sh-acct__stat-label {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sha-muted);
}
.sh-acct__stat-value {
  display: block;
  margin: 4px 0 2px;
  font-size: 18px;
  font-weight: 900;
  color: var(--sha-green-strong);
}
.sh-acct__stat small { font-size: 11.5px; color: var(--sha-muted); line-height: 1.4; }
.sh-acct__section { margin: 16px 0; }
.sh-acct__h3 { margin: 0 0 10px; font-size: 15px; font-weight: 800; color: var(--sha-ink); }
.sh-acct__badges { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sh-acct__badge {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--sha-line);
  border-radius: 12px;
  background: #fff;
}
.sh-acct__badge.is-locked { opacity: 0.85; }
.sh-acct__badge-dot {
  grid-row: 1 / span 2;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: repeating-linear-gradient(45deg, var(--sha-soft), var(--sha-soft) 4px, #e7efe9 4px, #e7efe9 8px);
  border: 1px solid var(--sha-line);
}
.sh-acct__badge-name { font-size: 13.5px; font-weight: 800; color: var(--sha-ink); }
.sh-acct__badge-hint { font-size: 11.5px; color: var(--sha-muted); line-height: 1.35; }
.sh-acct__board {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  border: 1px dashed var(--sha-line);
  border-radius: 12px;
  background: var(--sha-soft);
}
.sh-acct__board p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--sha-muted); }
.sh-acct__board-dot {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  margin-top: 5px;
  border-radius: 999px;
  background: var(--sha-green);
  box-shadow: 0 0 0 4px rgba(31, 111, 74, 0.14);
}
.sh-acct__actions { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.sh-acct__routes {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.sh-acct__route-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--sha-line);
}
.sh-acct__route-row:last-child { border-bottom: 0; }
.sh-acct__route-main { min-width: 0; }
.sh-acct__route-main strong {
  display: block;
  color: var(--sha-ink);
  font-size: 13.5px;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.sh-acct__route-main small {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 3px;
  color: var(--sha-muted);
  font-size: 11.5px;
  line-height: 1.35;
}
.sh-acct__route-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid rgba(31, 111, 74, 0.28);
  border-radius: 999px;
  background: rgba(31, 111, 74, 0.07);
  color: var(--sha-green-strong);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.sh-acct__route-open:hover { background: rgba(31, 111, 74, 0.12); color: var(--sha-green-strong); }
.sh-acct__route-note {
  margin: 9px 0 0;
  color: var(--sha-muted);
  font-size: 12px;
  line-height: 1.4;
}

/* Contribute view */
.sh-acct__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 14px; }
.sh-acct__tab {
  padding: 8px 14px;
  border: 1px solid var(--sha-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sha-ink);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.sh-acct__tab.is-active {
  background: var(--sha-green);
  border-color: var(--sha-green);
  color: #fff;
}
.sh-acct__blurb { margin: 0 0 14px; font-size: 14px; line-height: 1.55; color: var(--sha-ink); }
.sh-acct__send { margin-top: 2px; }

@media (max-width: 420px) {
  .sh-acct { border-radius: 18px; padding: 20px; }
  .sh-acct__stats { grid-template-columns: 1fr; }
}

/* =========================================================================
   Contribution platform (js/contributions.js + account-modal profile views)
   Real profile overview, contribution submission form, badges, leaderboard.
   Append-only, scoped under .sh-acct*. Reuses the olive palette.
   ========================================================================= */
.sh-acct__stats--4 { grid-template-columns: 1fr 1fr; }
.sh-acct__field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--sha-line);
  border-radius: 12px;
  background: #fff;
  font-size: 15px;
  line-height: 1.5;
  color: var(--sha-ink);
  font-family: inherit;
  resize: vertical;
  min-height: 92px;
}
.sh-acct__field textarea:focus {
  outline: 2px solid var(--sha-green);
  outline-offset: 1px;
  border-color: var(--sha-green);
}

/* Your contributions list */
.sh-acct__contribs { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sh-acct__contrib {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid var(--sha-line);
  border-radius: 12px;
  background: #fff;
}
.sh-acct__contrib-main { flex: 1; min-width: 0; }
.sh-acct__contrib-main strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--sha-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sh-acct__contrib-main small { font-size: 12px; color: var(--sha-muted); }
.sh-acct__pill {
  flex-shrink: 0;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.sh-acct__pill--pending  { background: #fbf3e3; color: #9a6a1f; }
.sh-acct__pill--approved { background: var(--sha-soft); color: var(--sha-green-strong); }
.sh-acct__pill--rejected { background: #fbeceb; color: #c0392b; }

/* Badge earned/locked meta */
.sh-acct__badge-meta {
  grid-column: 2;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sha-muted);
}
.sh-acct__badge:not(.is-locked) .sh-acct__badge-dot {
  background: var(--sha-green);
  border-color: var(--sha-green);
}
.sh-acct__badge:not(.is-locked) .sh-acct__badge-meta { color: var(--sha-green-strong); }

/* Leaderboard */
.sh-acct__lb { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sh-acct__lb-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border: 1px solid var(--sha-line);
  border-radius: 10px;
  background: #fff;
}
.sh-acct__lb-rank {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--sha-soft);
  color: var(--sha-green-strong);
  font-size: 12px;
  font-weight: 800;
}
.sh-acct__lb-name { flex: 1; min-width: 0; font-size: 14px; font-weight: 700; color: var(--sha-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sh-acct__lb-pts { flex-shrink: 0; font-size: 13px; font-weight: 800; color: var(--sha-green-strong); }

@media (max-width: 420px) {
  .sh-acct__stats--4 { grid-template-columns: 1fr; }
}


/* Account modal — contributor identity controls */
.sh-acct__identity {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(31,111,74,.14);
  border-radius: 18px;
  background: rgba(253,250,243,.72);
}

.sh-acct__toggle {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid rgba(31,111,74,.12);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
}

.sh-acct__toggle input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--sha-green-strong);
  flex: 0 0 auto;
}

.sh-acct__toggle strong {
  display: block;
  font-size: 13.5px;
  color: var(--sha-ink);
}

.sh-acct__toggle small {
  display: block;
  margin-top: 2px;
  font-size: 11.5px;
  line-height: 1.4;
  color: var(--sha-muted);
}


/* Road guide builder polish — full-width launch CTA and cleaner scenario set. */
body.home-page .sh-rtv2-form #rtv2BuildButton {
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 64px !important;
  border-radius: 20px !important;
  font-size: clamp(20px, 2.4vw, 30px) !important;
  line-height: 1.05 !important;
}


/* Road Guide day planning buckets — food / stay / essentials / photo. */
.rt-report-final__planning-buckets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.rt-report-final__service-bucket,
.rt-report-final__photo-cue-box {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(70, 78, 64, 0.14);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(250, 247, 240, 0.86));
  box-shadow: 0 8px 22px rgba(28, 35, 24, 0.05);
}
.rt-report-final__service-bucket-head {
  display: grid;
  gap: 2px;
}
.rt-report-final__service-bucket-head span {
  font: 850 9.5px/1.2 inherit;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6a725f;
}
.rt-report-final__service-bucket-head strong {
  font: 900 15px/1.15 inherit;
  color: #201b15;
}
.rt-report-final__service-bucket-empty,
.rt-report-final__photo-cue-box > p {
  margin: 0;
  color: #5c564c;
  font-size: 12px;
  line-height: 1.35;
}
.rt-report-final__photo-thumb-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}
.rt-report-final__photo-thumb {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 6px;
  border-radius: 11px;
  background: #fff;
  border: 1px solid rgba(70, 78, 64, 0.12);
}
.rt-report-final__photo-thumb img,
.rt-report-final__photo-thumb-placeholder {
  width: 66px;
  height: 50px;
  min-width: 0;
  border-radius: 10px;
}
.rt-report-final__photo-thumb img {
  object-fit: cover;
}
.rt-report-final__photo-thumb-placeholder {
  display: grid;
  place-items: center;
  padding: 0 8px;
  background: linear-gradient(135deg, rgba(31,111,74,.12), rgba(194,73,29,.12));
  color: #5d6258;
  font: 850 10px/1.2 inherit;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}
.rt-report-final__photo-thumb strong,
.rt-report-final__photo-thumb small,
.rt-report-final__photo-thumb p {
  display: block;
  overflow-wrap: anywhere;
}
.rt-report-final__photo-thumb strong {
  font: 850 11.5px/1.18 inherit;
  color: #221b15;
}
.rt-report-final__photo-thumb small {
  margin-top: 2px;
  font: 700 10px/1.15 inherit;
  color: #6a655c;
}
.rt-report-final__photo-thumb p,
.rt-report-final__photo-cue-empty {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 3px 0 0;
  color: #4d5448;
  font: 500 10.8px/1.28 inherit;
}
@media (max-width: 760px) {
  .rt-report-final__planning-buckets {
    grid-template-columns: 1fr;
  }
  .rt-report-final__service-area-grid {
    grid-template-columns: 1fr;
  }
  .rt-report-final__essential-row {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .rt-report-final__essential-row .rt-report-final__service-area-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rt-report-final__photo-thumb {
    grid-template-columns: 68px minmax(0, 1fr);
  }
  .rt-report-final__photo-thumb img,
  .rt-report-final__photo-thumb-placeholder {
    width: 68px;
    height: 58px;
  }
}


/* Road Guide planning layer v18 — compact editorial layout override */
.rt-report-final__planning-buckets {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

.rt-report-final__service-bucket,
.rt-report-final__photo-cue-box {
  padding: 16px !important;
  border-radius: 18px !important;
  background: #fffdf7 !important;
  border: 1px solid rgba(70, 78, 64, 0.16) !important;
  min-height: 0 !important;
}

.rt-report-final__service-bucket-head {
  margin-bottom: 10px !important;
}

.rt-report-final__service-bucket-head span {
  font-size: 11px !important;
  letter-spacing: .16em !important;
  line-height: 1.1 !important;
  color: #707866 !important;
}

.rt-report-final__service-bucket-head strong {
  display: block !important;
  margin-top: 4px !important;
  font-size: 21px !important;
  line-height: 1.05 !important;
  color: #211d18 !important;
}

.rt-report-final__service-area-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

.rt-report-final__service-area-card {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
  padding: 9px !important;
  min-height: 86px !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.rt-report-final__service-area-visual {
  width: 64px !important;
  min-height: 68px !important;
  height: 100% !important;
  border-radius: 11px !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.55), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--service-accent, #1f6f4a) 78%, white), var(--service-accent, #1f6f4a)) !important;
}

.rt-report-final__service-area-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 11px !important;
}

.rt-report-final__service-area-placeholder {
  padding: 6px !important;
  text-align: center !important;
  font-size: 10px !important;
  line-height: 1.05 !important;
  color: rgba(255,255,255,.92) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}

.rt-report-final__service-area-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "chip chip"
    "title title"
    "meta meta"
    "copy copy"
    "actions actions" !important;
  gap: 3px 8px !important;
  min-width: 0 !important;
}

.rt-report-final__service-area-chip {
  grid-area: chip !important;
  justify-self: start !important;
  padding: 3px 8px !important;
  font-size: 10.5px !important;
  line-height: 1.1 !important;
}

.rt-report-final__service-area-card strong {
  grid-area: title !important;
  font-size: 15px !important;
  line-height: 1.12 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.rt-report-final__service-area-card small {
  grid-area: meta !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #6b665d !important;
}

.rt-report-final__service-area-card p {
  grid-area: copy !important;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  color: #5d574f !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.rt-report-final__service-area-actions {
  grid-area: actions !important;
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 4px !important;
}

.rt-report-final__service-area-actions a {
  min-height: 30px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
  width: auto !important;
}

.rt-report-final__service-area-actions a:first-child {
  background: #f8fbf7 !important;
  color: #14583b !important;
}

.rt-report-final__service-area-actions a:last-child {
  background: #1f6f4a !important;
  color: #fff !important;
}

/* Essentials must feel like a quick road checklist, not cards. */
.rt-report-final__service-bucket--road-essentials .rt-report-final__service-area-grid {
  gap: 7px !important;
}

.rt-report-final__essential-row {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 8px !important;
  border-radius: 12px !important;
  background: #fff !important;
  min-height: 46px !important;
}

.rt-report-final__essential-chip {
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.rt-report-final__essential-copy strong {
  display: block !important;
  font-size: 13.5px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.rt-report-final__essential-copy small {
  display: block !important;
  margin-top: 2px !important;
  font-size: 11.5px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.rt-report-final__essential-row .rt-report-final__service-area-actions {
  margin: 0 !important;
  justify-content: flex-end !important;
}

.rt-report-final__essential-row .rt-report-final__service-area-actions a {
  min-height: 28px !important;
  padding: 6px 9px !important;
  font-size: 10.5px !important;
}

/* Photo cue: no empty poster panel; always compact, visual and readable. */
.rt-report-final__photo-cue-box {
  display: grid !important;
  gap: 10px !important;
}

.rt-report-final__photo-cue-box > p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #5d574f !important;
}

.rt-report-final__photo-thumb-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.rt-report-final__photo-thumb {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  padding: 7px !important;
  border-radius: 13px !important;
  background: #fff !important;
  min-height: 0 !important;
}

.rt-report-final__photo-thumb img,
.rt-report-final__photo-thumb-placeholder {
  width: 100% !important;
  height: 62px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
}

.rt-report-final__photo-thumb-placeholder {
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #dcd5c9, #f4efe4) !important;
  color: #6b665d !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

.rt-report-final__photo-thumb strong {
  font-size: 12.5px !important;
  line-height: 1.15 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.rt-report-final__photo-thumb small,
.rt-report-final__photo-thumb p {
  font-size: 11px !important;
  line-height: 1.18 !important;
  margin: 0 !important;
  color: #6b665d !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Reduce day planning vertical bulk. */
.rt-report-final__day-planning {
  padding: 14px !important;
}

.rt-report-final__day-planning-head {
  margin-bottom: 12px !important;
}

.rt-report-final__service-source-note {
  margin-top: 8px !important;
  font-size: 10.5px !important;
}

/* Mobile: one clean column, still compact. */
@media (max-width: 760px) {
  .rt-report-final__planning-buckets {
    grid-template-columns: 1fr !important;
  }

  .rt-report-final__service-area-card {
    grid-template-columns: 58px minmax(0, 1fr) !important;
  }

  .rt-report-final__service-area-visual {
    width: 58px !important;
    min-height: 64px !important;
  }

  .rt-report-final__photo-thumb-row {
    grid-template-columns: 1fr 1fr !important;
  }

  .rt-report-final__essential-row {
    grid-template-columns: 28px minmax(0, 1fr) !important;
  }

  .rt-report-final__essential-row .rt-report-final__service-area-actions {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
  }
}

/* ===========================================================================
   MY STORY V1.1 — builder form layout fix (geometry only) 20260619
   Root cause: an earlier "surgery" placed form fields by :nth-of-type() for
   the OLD field order (Start, Destination, Trip mode, Start date, End date,
   Food, Vehicle — see comment near .sh-rtv2-form nth-of-type rules above).
   My Story V1 moved Trip mode/Food/Vehicle into a hidden .sh-rtv2-prefs span
   and inserted the "Return to start" label, so nth-of-type now mis-maps
   Start date -> row 2 and End date -> row 1, and the round-trip label picks
   up the big checkbox-card styling while the button floats in an empty row.
   Fix below keys layout off stable field IDs and collapses the round-trip
   control + build button into one tidy action row. No JS / no behaviour
   change. Higher specificity + last in source order so it deterministically
   wins over the stacked !important rules above.
   =========================================================================== */

/* Keep the 12-col grid, tidy the row rhythm */
body.home-page #planner .sh-rtv2-form {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 16px 20px !important;
  align-items: start !important;
}

/* Row 1: Start | Destination | Start date | End date — by stable IDs */
body.home-page #planner .sh-rtv2-form > label:has(#rtv2From)      { grid-column: 1 / span 3 !important;  grid-row: 1 !important; }
body.home-page #planner .sh-rtv2-form > label:has(#rtv2To)        { grid-column: 4 / span 3 !important;  grid-row: 1 !important; }
body.home-page #planner .sh-rtv2-form > label:has(#rtv2StartDate) { grid-column: 7 / span 3 !important;  grid-row: 1 !important; }
body.home-page #planner .sh-rtv2-form > label:has(#rtv2EndDate)   { grid-column: 10 / span 3 !important; grid-row: 1 !important; }

/* Hidden engine fields never claim a grid cell */
body.home-page #planner .sh-rtv2-form > .sh-rtv2-prefs { display: none !important; }

/* Optional first-day strategy: a deliberate full-width left action surface.
   The hidden attribute must continue to win until a verified start_base exists. */
body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap[hidden] {
  display: none !important;
}
body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap:not([hidden]) {
  grid-column: 1 / span 7 !important;
  grid-row: 2 !important;
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border-radius: 16px !important;
  background: rgba(255, 253, 244, 0.32) !important;
  border: 1px solid rgba(45, 67, 31, 0.14) !important;
  box-shadow: none !important;
}
body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > label {
  display: grid !important;
  grid-template-columns: 112px minmax(220px, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 0 !important;
}
body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > label > span {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  white-space: nowrap !important;
}
body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap select {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 42px !important;
  padding: 10px 38px 10px 14px !important;
  font-size: 14px !important;
}
body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > small {
  display: block !important;
  margin: 7px 0 0 124px !important;
  max-width: 46rem !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  opacity: .66 !important;
}

/* Row 3: round-trip sits below the first-day choice. */
body.home-page #planner .sh-rtv2-form > label.sh-rtv2-roundtrip:has(#rtv2RoundTrip) {
  grid-row: 3 !important;
  grid-column: 1 / span 7 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border-radius: 16px !important;
  background: rgba(255, 253, 244, 0.32) !important;
  border: 1px solid rgba(45, 67, 31, 0.14) !important;
  box-shadow: none !important;
  align-self: stretch !important;
  cursor: pointer !important;
}
body.home-page #planner .sh-rtv2-form > label.sh-rtv2-roundtrip:has(#rtv2RoundTrip) > input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
body.home-page #planner .sh-rtv2-form > label.sh-rtv2-roundtrip:has(#rtv2RoundTrip) > span {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
body.home-page #planner .sh-rtv2-form > label.sh-rtv2-roundtrip:has(#rtv2RoundTrip) > span > small {
  font-size: 12px !important;
  font-weight: 500 !important;
  opacity: 0.66 !important;
}

/* Row 2 (action row): build button on the right — grounded, not a floating island */
body.home-page #planner .sh-rtv2-form #rtv2BuildButton {
  grid-column: 8 / span 5 !important;
  grid-row: 2 / span 2 !important;
  justify-self: end !important;
  align-self: stretch !important;
  width: auto !important;
  min-width: 260px !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 16px 30px !important;
  border-radius: 18px !important;
  font-size: clamp(16px, 1.2vw, 20px) !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
}

/* Trailing context: "Using" recap / hint / coverage stay compact and close */
body.home-page #planner .sh-rtv2-summary  { margin: 0 0 12px !important; }
body.home-page #planner .sh-rtv2-note     { margin: 12px 0 0 !important; padding: 10px 14px !important; }
body.home-page #planner .sh-rtv2-coverage { margin: 10px 0 0 !important; }
body.home-page #planner .sh-rtv2-map      { margin-top: 14px !important; }

/* Tablet: fields wrap two/three per row in correct order; action stacks */
@media (max-width: 1050px) {
  body.home-page #planner .sh-rtv2-form > label:has(#rtv2From),
  body.home-page #planner .sh-rtv2-form > label:has(#rtv2To),
  body.home-page #planner .sh-rtv2-form > label:has(#rtv2StartDate),
  body.home-page #planner .sh-rtv2-form > label:has(#rtv2EndDate) {
    grid-column: auto / span 3 !important;
    grid-row: auto !important;
  }
  body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap:not([hidden]),
  body.home-page #planner .sh-rtv2-form > label.sh-rtv2-roundtrip:has(#rtv2RoundTrip) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
  body.home-page #planner .sh-rtv2-form #rtv2BuildButton {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Mobile (~390px): single column, correct field order, full-width button */
@media (max-width: 680px) {
  body.home-page #planner .sh-rtv2-form > label:has(#rtv2From),
  body.home-page #planner .sh-rtv2-form > label:has(#rtv2To),
  body.home-page #planner .sh-rtv2-form > label:has(#rtv2StartDate),
  body.home-page #planner .sh-rtv2-form > label:has(#rtv2EndDate),
  body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap:not([hidden]),
  body.home-page #planner .sh-rtv2-form > label.sh-rtv2-roundtrip:has(#rtv2RoundTrip),
  body.home-page #planner .sh-rtv2-form #rtv2BuildButton {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
  body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > label {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
  body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > small {
    margin-left: 0 !important;
  }
  body.home-page #planner .sh-rtv2-form #rtv2BuildButton {
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ===========================================================================
   GLOBAL MANIFESTO + WARM IVORY SURFACE FOUNDATION — 20260619
   Scope:
   - site-wide top manifesto band without generated-HTML churn
   - central shared surface aliases
   - safe shared shell, form, report and panel harmonisation
   - no route engine / report renderer / auth / data behaviour changes
   =========================================================================== */

:root {
  /* Canonical shared visual family */
  --sh-theme-page-bg: #f8f4ea;
  --sh-theme-page-bg-soft: #f3ecdc;
  --sh-theme-surface: #fffdf8;
  --sh-theme-surface-raised: #ffffff;
  --sh-theme-surface-muted: #f1e8d8;
  --sh-theme-border: rgba(54, 45, 33, .12);
  --sh-theme-border-strong: rgba(54, 45, 33, .18);
  --sh-theme-text: #1f1b16;
  --sh-theme-text-muted: #6e665b;
  --sh-theme-accent: #1f6f4a;
  --sh-theme-accent-strong: #155a3a;
  --sh-theme-shadow-sm: 0 2px 10px rgba(38, 31, 22, .035);
  --sh-theme-shadow: 0 16px 44px rgba(38, 31, 22, .07);

  /* Existing shared aliases now inherit the canonical family */
  --bg: var(--sh-theme-page-bg);
  --sand: var(--sh-theme-page-bg-soft);
  --surface: var(--sh-theme-surface);
  --card: var(--sh-theme-surface);
  --text: var(--sh-theme-text);
  --ink: var(--sh-theme-text);
  --muted: var(--sh-theme-text-muted);
  --line: var(--sh-theme-border);
  --line-strong: var(--sh-theme-border-strong);
  --primary: var(--sh-theme-accent);
  --primary-dark: var(--sh-theme-accent-strong);
  --green: var(--sh-theme-accent);
  --shadow-sm: var(--sh-theme-shadow-sm);
  --shadow: var(--sh-theme-shadow);

  /* Shared navigation inherits the same paper system */
  --sh-nav-bg: var(--sh-theme-surface);
  --sh-nav-ink: var(--sh-theme-text);
  --sh-nav-border: var(--sh-theme-border);
}

html,
body {
  background: var(--sh-theme-page-bg) !important;
  color: var(--sh-theme-text);
}

/* Global manifesto: visual, in document flow, no generated-page markup needed. */
body::before {
  content: "TURKEY FIRST · MEDITERRANEAN NEXT · WORLD LATER";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 34px;
  padding: 7px 18px;
  box-sizing: border-box;
  overflow: hidden;
  background: #1d2b22;
  color: #f8f4ea;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

/* Remove the fragmented legacy rollout system; manifesto now owns this message. */
body .site-rollout,
body.home-page .site-rollout,
body:has(.atlas-full-page) .site-rollout {
  display: none !important;
}

/* Shared header now sits below the permanent manifesto band. */
body .site-header.unified-site-header,
body header.site-header,
body header.topbar {
  background: rgba(255, 253, 248, .94) !important;
  border-bottom-color: var(--sh-theme-border) !important;
}

/* Homepage: old capsule removed from markup, title begins sooner. */
body.home-page #homeBuilderHub {
  padding-top: clamp(18px, 2.6vw, 34px) !important;
}

body.home-page .hb3-hub {
  margin-top: 18px !important;
}

body.home-page .hb3-title,
body.home-page .hb3-subtitle {
  color: var(--sh-theme-text) !important;
}

body.home-page .hb3-subtitle {
  color: var(--sh-theme-text-muted) !important;
}

/* Calm shared form surfaces. */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  background: var(--sh-theme-surface-raised) !important;
  border-color: var(--sh-theme-border) !important;
  color: var(--sh-theme-text) !important;
  box-shadow: none !important;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
  border-color: rgba(31, 111, 74, .42) !important;
  box-shadow: 0 0 0 3px rgba(31, 111, 74, .10) !important;
}

/* Shared editorial panels used across homepage, Atlas, routes and account surfaces. */
.target-card,
.target-card-new,
.collection-card,
.museum-row,
.search-card,
.timeline-results,
.timeline-tab,
.timeline-target,
.route-results,
.route-mini-head,
.today-status,
.today-stop,
.mini-target,
.planner-stop,
.route-stop,
.story-mini,
.auth-card,
.modal-card {
  background: var(--sh-theme-surface) !important;
  border-color: var(--sh-theme-border) !important;
  box-shadow: var(--sh-theme-shadow-sm) !important;
}

/* Builder / coverage panels stay related but distinct from the page. */
body.home-page .hb3-form-card,
body.home-page #planner .route-planner-card,
body.home-page #planner .sh-rtv2-coverage,
body.home-page #planner .sh-rtv2-note {
  border-color: var(--sh-theme-border) !important;
}

body.home-page #planner .sh-rtv2-coverage,
body.home-page #planner .sh-rtv2-note {
  background: var(--sh-theme-surface-muted) !important;
  color: var(--sh-theme-text-muted) !important;
}

/* Road reports: update only their local surface tokens, not component geometry. */
.rt-report-v3 {
  --rt-paper: var(--sh-theme-surface);
  --rt-card: var(--sh-theme-surface-raised);
  --rt-ink: var(--sh-theme-text);
  --rt-muted: var(--sh-theme-text-muted);
  --rt-green-soft: #edf5ef;
  --rt-green-line: rgba(31, 111, 74, .20);
}

.rt-report-final {
  --rtf-bg: var(--sh-theme-page-bg);
  --rtf-paper: var(--sh-theme-surface);
  --rtf-card: var(--sh-theme-surface-raised);
  --rtf-ink: var(--sh-theme-text);
  --rtf-muted: var(--sh-theme-text-muted);
  --rtf-line: var(--sh-theme-border);
  --rtf-shadow: var(--sh-theme-shadow-sm);
}

.fg-report-final {
  --fgf-bg: var(--sh-theme-page-bg);
  --fgf-paper: var(--sh-theme-surface-muted);
  --fgf-card: var(--sh-theme-surface-raised);
  --fgf-ink: var(--sh-theme-text);
  --fgf-muted: var(--sh-theme-text-muted);
  --fgf-line: var(--sh-theme-border);
  --fgf-shadow: var(--sh-theme-shadow-sm);
}

/* Keep the footer intentionally dark, but connect its border rhythm to the system. */
.site-footer {
  border-top: 1px solid var(--sh-theme-border) !important;
}

@media (max-width: 680px) {
  body::before {
    min-height: 30px;
    padding: 7px 12px;
    font-size: 8.5px;
    letter-spacing: .10em;
  }

  body.home-page #homeBuilderHub {
    padding-top: 18px !important;
  }
}

/* ===========================================================================
   SHARED SITE CHROME — runtime canonical navigation 20260619
   server.js replaces legacy per-page headers at response time with this one
   canonical structure. This wins over generated inline header experiments.
   =========================================================================== */

/* Retire the earlier pseudo-element version; the band is now real markup. */
body::before {
  content: none !important;
  display: none !important;
}

.sh-manifesto-band {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 18px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #b11218 !important;
  color: #fffaf2 !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body header.sh-site-chrome.site-header.unified-site-header {
  position: relative !important;
  top: auto !important;
  z-index: 50 !important;
  width: 100% !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 10px clamp(22px, 4vw, 64px) !important;
  background: rgba(255, 253, 248, .96) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sh-theme-border) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body header.sh-site-chrome.site-header.unified-site-header .site-header-inner {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr) !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: clamp(18px, 3vw, 44px) !important;
}

body header.sh-site-chrome.site-header.unified-site-header .site-brand-row {
  justify-self: start !important;
  min-width: 0 !important;
}

body header.sh-site-chrome.site-header.unified-site-header .site-brand {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

body header.sh-site-chrome.site-header.unified-site-header .brand-logo {
  display: block !important;
  width: auto !important;
  height: 48px !important;
  max-width: min(250px, 38vw) !important;
  max-height: 48px !important;
  object-fit: contain !important;
}

body header.sh-site-chrome.site-header.unified-site-header .site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(22px, 3vw, 46px) !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

body header.sh-site-chrome.site-header.unified-site-header .site-nav a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(31, 27, 22, .72) !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transform: none !important;
}

body header.sh-site-chrome.site-header.unified-site-header .site-nav a::after {
  content: none !important;
}

body header.sh-site-chrome.site-header.unified-site-header .site-nav a:hover,
body header.sh-site-chrome.site-header.unified-site-header .site-nav a:focus-visible,
body header.sh-site-chrome.site-header.unified-site-header .site-nav a[aria-current="page"] {
  color: var(--sh-theme-accent-strong) !important;
  background: transparent !important;
}

body header.sh-site-chrome.site-header.unified-site-header .site-nav a[aria-current="page"]::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 1px !important;
  left: 0 !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #b11218 !important;
}

body header.sh-site-chrome.site-header.unified-site-header .nav-auth {
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body header.sh-site-chrome.site-header.unified-site-header .nav-auth-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 92px !important;
  min-height: 38px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(31, 111, 74, .20) !important;
  border-radius: 999px !important;
  background: var(--sh-theme-surface) !important;
  color: var(--sh-theme-accent-strong) !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body header.sh-site-chrome.site-header.unified-site-header .nav-auth-link:hover,
body header.sh-site-chrome.site-header.unified-site-header .nav-auth-link:focus-visible {
  background: var(--sh-theme-surface-muted) !important;
  color: var(--sh-theme-accent-strong) !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .sh-manifesto-band {
    min-height: 30px !important;
    padding: 7px 12px !important;
    font-size: 8.5px !important;
    letter-spacing: .10em !important;
  }

  body header.sh-site-chrome.site-header.unified-site-header {
    padding: 10px 18px 12px !important;
  }

  body header.sh-site-chrome.site-header.unified-site-header .site-header-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 10px 14px !important;
  }

  body header.sh-site-chrome.site-header.unified-site-header .brand-logo {
    height: 42px !important;
    max-height: 42px !important;
  }

  body header.sh-site-chrome.site-header.unified-site-header .site-nav {
    order: 3 !important;
    flex: 1 0 100% !important;
    justify-content: flex-start !important;
    width: 100% !important;
    gap: 18px !important;
    overflow-x: auto !important;
    padding: 2px 0 4px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body header.sh-site-chrome.site-header.unified-site-header .site-nav::-webkit-scrollbar {
    display: none !important;
  }

  body header.sh-site-chrome.site-header.unified-site-header .site-nav a {
    flex: 0 0 auto !important;
    font-size: 11px !important;
  }

  body header.sh-site-chrome.site-header.unified-site-header .nav-auth-link {
    min-width: 82px !important;
    min-height: 36px !important;
    padding: 0 14px !important;
    font-size: 11px !important;
  }
}

/* Shared chrome correction — auth state visibility + stronger navigation */
body header.sh-site-chrome.site-header.unified-site-header .site-nav a {
  font-size: 15px !important;
  letter-spacing: .08em !important;
}

body header.sh-site-chrome.site-header.unified-site-header .nav-auth-link {
  font-size: 13px !important;
  letter-spacing: .075em !important;
}

/*
  auth.js controls visibility through inline style.display.
  The prior shared chrome display rule used !important and made every
  auth action visible. Preserve any explicit hidden state.
*/
body header.sh-site-chrome.site-header.unified-site-header
  .nav-auth-link[style*="display: none"] {
  display: none !important;
}

@media (max-width: 760px) {
  body header.sh-site-chrome.site-header.unified-site-header .site-nav a {
    font-size: 13px !important;
    letter-spacing: .07em !important;
  }

  body header.sh-site-chrome.site-header.unified-site-header .nav-auth-link {
    font-size: 12px !important;
  }
}

/* Auth visibility fix: server markup uses display:none without a space. */
body header.sh-site-chrome.site-header.unified-site-header
  .nav-auth-link[style*="display:none"],
body header.sh-site-chrome.site-header.unified-site-header
  .nav-auth-link[style*="display: none"] {
  display: none !important;
}

/* ===========================================================================
   GLOBAL SURFACE TOKEN BRIDGE — 20260619
   One canonical surface family for homepage, Atlas, routes and place pages.
   This layer intentionally overrides legacy page-specific colour experiments.
   =========================================================================== */

:root {
  --sh-theme-accent-soft: #e8f0e2;
  --sh-theme-accent-faint: #f3f7f0;
  --sh-theme-page-glow: #f4efe4;
}

/* All primary page shells draw from the same paper ground. */
html:has(body.home-page),
body.home-page,
body:has(.atlas-full-page),
body.routes-index-body,
body.route-detail-body,
body.place-detail-body {
  background: var(--sh-theme-page-bg) !important;
  color: var(--sh-theme-text) !important;
}

/* Keep hero areas clear rather than carrying an old olive page wash. */
body.home-page,
body:has(.atlas-full-page) {
  background-image:
    radial-gradient(circle at 16% 8%, rgba(231, 222, 202, .48), transparent 34rem),
    radial-gradient(circle at 84% 12%, rgba(243, 236, 220, .66), transparent 30rem) !important;
}

/* Shared large editorial surfaces. */
body.home-page #whySignHunters .why-sh-card,
body.home-page #today .today-card,
body.home-page #featured.soft-panel,
body.home-page #featured,
body.home-page #atlasPreview,
body.home-page .social-section .social-card,
body.home-page .guide-save-section .guide-save-card,
body:has(.atlas-full-page) .places-live-map-section,
body:has(.atlas-full-page) .places-section,
body:has(.atlas-full-page) .museum-card,
body:has(.atlas-full-page) .timeline-section,
body:has(.atlas-full-page) #targets,
body:has(.atlas-full-page) #collections,
body:has(.atlas-full-page) #classics,
.routes-index-group,
.route-page > .card,
.place-detail-body .pd-block,
.place-detail-body .editorial-context,
.place-detail-body .overlap,
.place-detail-body .place-practical-card,
.place-detail-body .place-trust-note,
.place-detail-body .place-field-guide-cta,
.place-detail-body .place-routes-section,
.place-detail-body .place-nearby-card {
  background: var(--sh-theme-surface) !important;
  border-color: var(--sh-theme-border) !important;
  box-shadow: var(--sh-theme-shadow) !important;
}

/* Shared secondary cards, lists, controls and browsable items. */
body.home-page #todayResults > *,
body.home-page .today-results > *,
body.home-page .featured-grid > *,
body.home-page .atlas-preview-grid > *,
body.home-page .route-card,
body.home-page .place-card,
body.home-page .story-mini,
body.home-page .affiliate-grid > *,
body:has(.atlas-full-page) .places-pick-card,
body:has(.atlas-full-page) .places-region-card,
body:has(.atlas-full-page) .places-browse-region,
body:has(.atlas-full-page) .search-card,
body:has(.atlas-full-page) .region-tab,
body:has(.atlas-full-page) .museum-list > *,
body:has(.atlas-full-page) .timeline-results > *,
body:has(.atlas-full-page) .target-list > *,
body:has(.atlas-full-page) .collection-grid > *,
body:has(.atlas-full-page) .crawl-links-card,
.routes-index-card,
.route-money-item,
.route-how-step,
.route-summary-item,
.route-best-for,
.place-detail-body .overlap-row,
.place-detail-body .place-route-cta,
.place-detail-body .place-nearby-link {
  background: var(--sh-theme-surface-raised) !important;
  border-color: var(--sh-theme-border) !important;
  box-shadow: var(--sh-theme-shadow-sm) !important;
}

/* Soft utility layers stay visibly related without becoming a second palette. */
body.home-page #planner .route-planner-card,
body.home-page #planner .route-planner-card.card,
body.home-page #planner .card.route-planner-card {
  background: var(--sh-theme-accent-soft) !important;
  border-color: var(--sh-theme-border-strong) !important;
  box-shadow: var(--sh-theme-shadow) !important;
}

body.home-page #planner .sh-rtv2-form > div:has(input[type="checkbox"]),
body.home-page #planner .sh-rtv2-form > fieldset:has(input[type="checkbox"]),
body.home-page #planner .sh-rtv2-coverage,
body.home-page #planner .sh-rtv2-note,
.route-plan-strip,
.place-detail-body .place-trust-grid,
.place-detail-body .place-practical-grid {
  background: var(--sh-theme-surface-muted) !important;
  border-color: var(--sh-theme-border) !important;
  box-shadow: none !important;
}

/* Inputs, search controls and quiet interactive panels all use the same raised paper. */
body.home-page .guide-save-form input[type="email"],
body:has(.atlas-full-page) .search-card input,
body:has(.atlas-full-page) .search-card select,
body:has(.atlas-full-page) .region-tab,
.routes-index-pills > *,
.place-detail-body input,
.place-detail-body select,
.place-detail-body textarea {
  background: var(--sh-theme-surface-raised) !important;
  border-color: var(--sh-theme-border) !important;
  color: var(--sh-theme-text) !important;
}

/* Preserve photographs, maps and primary brand actions as intentional exceptions. */
body.home-page #planner #plannerMap,
body.home-page #planner .route-map,
body.home-page #planner .route-map-wide,
.route-hero-media,
.route-map,
.place-detail-body .pd-hero,
.place-detail-body .pd-hero__img {
  background-color: transparent !important;
}

/* Account modal joins the same shared paper system without changing auth behaviour. */
:root {
  --sha-paper: var(--sh-theme-surface);
  --sha-soft: var(--sh-theme-surface-muted);
  --sha-line: var(--sh-theme-border);
  --sha-ink: var(--sh-theme-text);
  --sha-muted: var(--sh-theme-text-muted);
  --sha-green: var(--sh-theme-accent);
  --sha-green-strong: var(--sh-theme-accent-strong);
}

@media (max-width: 760px) {
  .routes-index-group,
  .route-page > .card,
  .place-detail-body .pd-block,
  .place-detail-body .place-practical-card,
  .place-detail-body .place-trust-note,
  .place-detail-body .place-field-guide-cta,
  .place-detail-body .place-routes-section,
  .place-detail-body .place-nearby-card {
    box-shadow: var(--sh-theme-shadow-sm) !important;
  }
}


/* ==========================================================================
   HOMEPAGE GALLERY + BUILDER OVERLAP — 20260619
   Homepage-only. Keeps the existing Road Trip builder markup and JS intact.
   ========================================================================== */

body.home-page {
  background: var(--sh-theme-page-bg) !important;
}

/* The runtime chrome sits within the image area on homepage only. */
body.home-page .sh-manifesto-band {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  z-index: 80 !important;
  min-height: 30px !important;
  background: rgba(177, 18, 24, .94) !important;
}

body.home-page header.sh-site-chrome.site-header.unified-site-header {
  position: absolute !important;
  top: 30px !important;
  inset-inline: 0 !important;
  z-index: 75 !important;
  min-height: 76px !important;
  padding: 12px clamp(22px, 4vw, 64px) !important;
  background: linear-gradient(180deg, rgba(7, 12, 10, .54), rgba(7, 12, 10, .08)) !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.home-page header.sh-site-chrome.site-header.unified-site-header .brand-logo {
  filter: brightness(0) invert(1) drop-shadow(0 2px 10px rgba(0, 0, 0, .38)) !important;
}

body.home-page header.sh-site-chrome.site-header.unified-site-header .site-nav a {
  color: rgba(255, 255, 255, .94) !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .42) !important;
}

body.home-page header.sh-site-chrome.site-header.unified-site-header .site-nav a:hover,
body.home-page header.sh-site-chrome.site-header.unified-site-header .site-nav a:focus-visible {
  color: #fff !important;
}

body.home-page header.sh-site-chrome.site-header.unified-site-header .nav-auth-link {
  background: rgba(255, 253, 248, .94) !important;
  border-color: rgba(255, 255, 255, .48) !important;
  color: #173b27 !important;
}

/* Gallery occupies the upper scene; it does not attempt to be a full-screen app. */
body.home-page .home-gallery-hero {
  position: relative !important;
  isolation: isolate !important;
  min-height: 560px !important;
  overflow: hidden !important;
  background: #14241c !important;
}

.home-gallery-hero__slides,
.home-gallery-hero__slide,
.home-gallery-hero__slide img,
.home-gallery-hero__scrim {
  position: absolute;
  inset: 0;
}

.home-gallery-hero__slides {
  z-index: 0;
}

.home-gallery-hero__slide {
  margin: 0;
  opacity: 0;
  overflow: hidden;
  animation: sh-gallery-fade 24s infinite;
}

.home-gallery-hero__slide--ayasofya { animation-delay: 0s; }
.home-gallery-hero__slide--efes { animation-delay: 8s; }
.home-gallery-hero__slide--perge { animation-delay: 16s; }

.home-gallery-hero__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.035);
  animation: sh-gallery-drift 24s ease-in-out infinite alternate;
}

.home-gallery-hero__slide--ayasofya img { object-position: center 46%; }
.home-gallery-hero__slide--efes img { object-position: center 54%; }
.home-gallery-hero__slide--perge img { object-position: center 49%; }

.home-gallery-hero__scrim {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(8, 17, 13, .70) 0%, rgba(8, 17, 13, .36) 54%, rgba(8, 17, 13, .12) 100%),
    linear-gradient(180deg, rgba(8, 17, 13, .28) 0%, rgba(8, 17, 13, .04) 48%, rgba(8, 17, 13, .56) 100%);
}

.home-gallery-hero__copy {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding-top: 190px;
  color: #fff;
}

.home-gallery-hero__eyebrow {
  margin: 0 0 12px;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.home-gallery-hero__copy h1 {
  max-width: 620px;
  margin: 0;
  color: #fff;
  font-size: clamp(52px, 5.2vw, 82px);
  line-height: .91;
  letter-spacing: -.065em;
  text-shadow: 0 4px 28px rgba(0, 0, 0, .38);
}

.home-gallery-hero__copy > p:last-child {
  max-width: 510px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .38);
}

.home-gallery-hero__credit {
  position: absolute;
  z-index: 2;
  right: clamp(18px, 3vw, 44px);
  bottom: 16px;
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: 10px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .54);
}

.home-gallery-hero__credit a {
  color: rgba(255, 255, 255, .92);
  text-decoration-color: rgba(255, 255, 255, .48);
}

/* The real, existing builder overlaps the gallery and then returns to paper. */
body.home-page #homeBuilderHub.home-builder-overlap {
  position: relative !important;
  z-index: 10 !important;
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin: -176px auto 0 !important;
  padding: 0 0 70px !important;
  background: transparent !important;
}

body.home-page #homeBuilderHub.home-builder-overlap .hb3-head {
  display: none !important;
}

body.home-page #homeBuilderHub.home-builder-overlap .hb3-grid {
  display: block !important;
}

body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card {
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid rgba(255, 255, 255, .34) !important;
  border-radius: 30px !important;
  background: rgba(255, 253, 248, .97) !important;
  box-shadow: 0 30px 78px rgba(25, 31, 24, .22) !important;
}

@keyframes sh-gallery-fade {
  0%, 29% { opacity: 1; }
  34%, 95% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes sh-gallery-drift {
  from { transform: scale(1.035) translate3d(0, 0, 0); }
  to { transform: scale(1.085) translate3d(-1.1%, -.8%, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .home-gallery-hero__slide,
  .home-gallery-hero__slide img {
    animation: none !important;
  }

  .home-gallery-hero__slide--ayasofya {
    opacity: 1 !important;
  }

  .home-gallery-hero__slide--efes,
  .home-gallery-hero__slide--perge {
    display: none !important;
  }
}

@media (max-width: 760px) {
  body.home-page .sh-manifesto-band {
    min-height: 28px !important;
  }

  body.home-page header.sh-site-chrome.site-header.unified-site-header {
    top: 28px !important;
    min-height: auto !important;
    background: linear-gradient(180deg, rgba(8, 17, 13, .70), rgba(8, 17, 13, .24)) !important;
  }

  body.home-page .home-gallery-hero {
    min-height: 480px !important;
  }

  .home-gallery-hero__copy {
    width: min(100% - 36px, 1180px);
    padding-top: 172px;
  }

  .home-gallery-hero__copy h1 {
    font-size: clamp(46px, 13vw, 66px);
  }

  .home-gallery-hero__copy > p:last-child {
    max-width: 420px;
    font-size: 16px;
  }

  body.home-page #homeBuilderHub.home-builder-overlap {
    width: min(100% - 28px, 1180px) !important;
    margin-top: -112px !important;
    padding-bottom: 48px !important;
  }

  body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  .home-gallery-hero__credit {
    right: 14px;
    bottom: 10px;
    max-width: 210px;
    font-size: 9px;
    text-align: right;
  }
}


/* HERO COMPOSITION CORRECTION — 20260619
   Remove inherited white inner header and force the builder into the gallery edge. */

body.home-page header.sh-site-chrome.site-header.unified-site-header,
body.home-page header.sh-site-chrome.site-header.unified-site-header::before,
body.home-page header.sh-site-chrome.site-header.unified-site-header::after,
body.home-page header.sh-site-chrome.site-header.unified-site-header .site-header-inner {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body.home-page header.sh-site-chrome.site-header.unified-site-header .site-header-inner {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.home-page .home-gallery-hero {
  min-height: 540px !important;
}

body.home-page .home-gallery-hero + #homeBuilderHub,
body.home-page #homeBuilderHub.home-builder-overlap {
  position: relative !important;
  z-index: 20 !important;
  width: min(1180px, calc(100% - 48px)) !important;
  margin: -148px auto 0 !important;
  padding: 0 0 70px !important;
}

body.home-page .home-gallery-hero + #homeBuilderHub .hb3-grid,
body.home-page #homeBuilderHub.home-builder-overlap .hb3-grid {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home-page .home-gallery-hero + #homeBuilderHub .hb3-form-card,
body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card {
  margin: 0 !important;
}

@media (max-width: 760px) {
  body.home-page .home-gallery-hero {
    min-height: 470px !important;
  }

  body.home-page .home-gallery-hero + #homeBuilderHub,
  body.home-page #homeBuilderHub.home-builder-overlap {
    width: min(100% - 28px, 1180px) !important;
    margin-top: -92px !important;
    padding-bottom: 48px !important;
  }
}

/* HERO COPY + FORM OVERLAP TUNING — 20260619 */

body.home-page .home-gallery-hero__copy {
  width: min(760px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-top: 122px !important;
  text-align: center !important;
}

body.home-page .home-gallery-hero__eyebrow {
  margin-inline: auto !important;
}

body.home-page .home-gallery-hero__copy h1 {
  margin-inline: auto !important;
  max-width: 680px !important;
}

body.home-page .home-gallery-hero__copy > p:last-child {
  margin-inline: auto !important;
  max-width: 560px !important;
}

/* Keep the existing working builder, but let its card cross the image edge. */
body.home-page #homeBuilderHub.home-builder-overlap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card {
  position: relative !important;
  top: -168px !important;
  z-index: 30 !important;
  margin-bottom: -168px !important;
}

@media (max-width: 760px) {
  body.home-page .home-gallery-hero__copy {
    width: min(100% - 34px, 640px) !important;
    padding-top: 112px !important;
  }

  body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card {
    top: -104px !important;
    margin-bottom: -104px !important;
  }
}

/* HOPPER-STYLE GALLERY FRAME + TRUE FORM OVERLAP — 20260619 */

body.home-page .home-gallery-hero {
  width: calc(100% - 28px) !important;
  min-height: 590px !important;
  margin: 14px auto 0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
}

/* Keep the red manifesto line full-width; gallery begins beneath it. */
body.home-page .sh-manifesto-band {
  position: relative !important;
}

/* Header remains inside the framed image rather than creating a separate bar. */
body.home-page header.sh-site-chrome.site-header.unified-site-header {
  top: 44px !important;
  left: 14px !important;
  right: 14px !important;
  width: auto !important;
  padding-inline: clamp(22px, 4vw, 64px) !important;
}

/* The builder itself crosses the gallery edge. */
body.home-page #homeBuilderHub.home-builder-overlap,
body.home-page .home-gallery-hero + #homeBuilderHub {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: -152px auto 0 !important;
  padding: 0 0 70px !important;
  z-index: 30 !important;
}

/* Cancel the earlier card-only lift: one clean overlap source only. */
body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card,
body.home-page .home-gallery-hero + #homeBuilderHub .hb3-form-card {
  top: auto !important;
  margin: 0 !important;
}

/* Card should feel like it emerges from the image. */
body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card {
  border-radius: 30px !important;
  box-shadow:
    0 34px 86px rgba(16, 23, 18, .24),
    0 1px 0 rgba(255, 255, 255, .74) inset !important;
}

/* Center the hero copy in the framed image. */
body.home-page .home-gallery-hero__copy {
  width: min(760px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-top: 142px !important;
  text-align: center !important;
}

body.home-page .home-gallery-hero__eyebrow,
body.home-page .home-gallery-hero__copy h1,
body.home-page .home-gallery-hero__copy > p:last-child {
  margin-inline: auto !important;
}

@media (max-width: 760px) {
  body.home-page .home-gallery-hero {
    width: calc(100% - 16px) !important;
    min-height: 500px !important;
    margin-top: 8px !important;
    border-radius: 22px !important;
  }

  body.home-page header.sh-site-chrome.site-header.unified-site-header {
    top: 36px !important;
    left: 8px !important;
    right: 8px !important;
  }

  body.home-page #homeBuilderHub.home-builder-overlap,
  body.home-page .home-gallery-hero + #homeBuilderHub {
    width: calc(100% - 28px) !important;
    margin-top: -104px !important;
    padding-bottom: 48px !important;
  }

  body.home-page .home-gallery-hero__copy {
    width: min(100% - 34px, 640px) !important;
    padding-top: 122px !important;
  }

  body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card {
    border-radius: 22px !important;
  }
}

/* HERO OVERLAP + LIGHTER IMAGE TUNING — 20260619 */

body.home-page .home-gallery-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgba(8, 17, 13, .50) 0%,
      rgba(8, 17, 13, .20) 52%,
      rgba(8, 17, 13, .05) 100%
    ),
    linear-gradient(
      180deg,
      rgba(8, 17, 13, .14) 0%,
      rgba(8, 17, 13, .02) 50%,
      rgba(8, 17, 13, .30) 100%
    ) !important;
}

/* Bring the existing road-guide card into the gallery scene. */
body.home-page #homeBuilderHub.home-builder-overlap,
body.home-page .home-gallery-hero + #homeBuilderHub {
  margin-top: -238px !important;
}

@media (max-width: 760px) {
  body.home-page .home-gallery-hero__scrim {
    background:
      linear-gradient(
        180deg,
        rgba(8, 17, 13, .28) 0%,
        rgba(8, 17, 13, .12) 48%,
        rgba(8, 17, 13, .45) 100%
      ),
      linear-gradient(
        90deg,
        rgba(8, 17, 13, .20),
        rgba(8, 17, 13, .12)
      ) !important;
  }

  body.home-page #homeBuilderHub.home-builder-overlap,
  body.home-page .home-gallery-hero + #homeBuilderHub {
    margin-top: -156px !important;
  }
}

/* FORCE REAL CARD OVERLAP — 20260619 */

body.home-page #homeBuilderHub.home-builder-overlap {
  margin-top: 0 !important;
}

body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card {
  position: relative !important;
  z-index: 40 !important;
  transform: translateY(-220px) !important;
  margin-bottom: -220px !important;
}

@media (max-width: 760px) {
  body.home-page #homeBuilderHub.home-builder-overlap .hb3-form-card {
    transform: translateY(-132px) !important;
    margin-bottom: -132px !important;
  }
}

/* HERO TITLE — match the existing Sign Hunters display typography */
body.home-page .home-gallery-hero__copy h1 {
  font-family: 'Outfit', system-ui, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -.055em !important;
  line-height: .92 !important;
}

/* ===========================================================================
   Golden Report — continuous road journal presentation.
   One cover, one overview, one repeatable chapter cadence. All selectors stay
   inside the Golden namespace; report behavior and data contracts are untouched.
   =========================================================================== */
.shg{
  --shg-ink:#211d18;
  --shg-paper:#f5f0e7;
  --shg-paper-soft:#eee8dd;
  --shg-deep:#1d1915;
  --shg-accent:#176847;
  --shg-muted:#6f685d;
  width:100%;margin:0;background:var(--shg-paper);color:var(--shg-ink);
  font-family:'Outfit',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;
}
.shg *{box-sizing:border-box;}
.shg img{display:block;width:100%;height:100%;object-fit:cover;}
.shg .sh-roadmap-route-link{display:none!important;}
.shg__page{width:100%;min-width:0;overflow:hidden;background:var(--shg-paper);}

/* Quiet product chrome. */
.shg__masthead{
  position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:54px;padding:9px 18px;background:rgba(29,25,21,.96);color:#f7f1e7;
}
.shg__mast-brand-group{display:flex;align-items:center;gap:8px;}
.shg__mast-brand{font-weight:800;letter-spacing:.03em;font-size:12px;text-transform:uppercase;}
.shg__mast-trust-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.14);color:#f7f1e7;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;}
.shg__mast-actions{margin-left:auto;display:flex;align-items:center;}
.shg__mast-actions > *{min-height:34px;padding:6px 12px;border-radius:4px;box-shadow:none;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#f7f1e7;}
.shg__mast-actions > * span{font-size:9px;color:rgba(247,241,231,.7);}
.shg__mast-actions > * strong{font-size:12px;color:#fff;}
.shg__back,.shg__close{appearance:none;border:0;cursor:pointer;border-radius:999px;background:rgba(255,255,255,.1);color:#f7f1e7;font:800 13px/1 inherit;}
.shg__back{padding:8px 14px;}
.shg__close{width:34px;height:34px;font-size:20px;}
.shg__back:hover,.shg__close:hover{background:rgba(255,255,255,.18);}

/* Existing progress behavior, presented as a restrained reading rail. */
.shg__progress{position:sticky;top:var(--shg-mast-h,54px);z-index:4;background:rgba(245,240,231,.97);border-bottom:1px solid rgba(33,29,24,.12);}
.shg__progress-rail{list-style:none;max-width:960px;margin:0 auto;padding:5px 16px;display:flex;align-items:stretch;gap:4px;overflow-x:auto;scrollbar-width:none;}
.shg__progress-rail::-webkit-scrollbar{display:none;}
.shg__progress-step{flex:1 1 0;min-width:82px;}
.shg__progress-btn{display:flex;align-items:center;gap:7px;width:100%;min-height:38px;padding:5px 8px;border:0;border-bottom:2px solid transparent;background:transparent;color:#766e62;font:inherit;text-align:left;cursor:pointer;}
.shg__progress-btn--locked{cursor:default;opacity:.5;}
.shg__progress-num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:#e2dbcf;color:#4c453b;font:800 11px/1 inherit;}
.shg__progress-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 11.5px/1.2 inherit;}
.shg__progress-btn:hover{color:#26211b;}
.shg__progress-btn:focus-visible{outline:2px solid var(--shg-accent);outline-offset:1px;}
.shg__progress-step.is-completed .shg__progress-btn{color:#607466;}
.shg__progress-step.is-active .shg__progress-btn{border-bottom-color:var(--shg-accent);color:#1f2f26;}
.shg__progress-step.is-active .shg__progress-num{background:var(--shg-accent);color:#fff;}
@media print{.shg__progress{display:none!important;}}

/* Act I — cover. The existing triptych supports, rather than competes with, the
   route identity below it. */
.shg__hero{background:var(--shg-deep);color:#f7f1e7;}
.shg__hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);grid-template-rows:1fr 1fr;gap:2px;height:min(52vh,470px);min-height:390px;background:#100d0b;}
.shg__hero-fig{position:relative;margin:0;overflow:hidden;background:#100d0b;}
.shg__hero-fig::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 64%,rgba(16,13,11,.56));}
.shg__hero-fig--lead{grid-row:1 / span 2;}
.shg__hero-place{position:absolute;left:15px;bottom:12px;z-index:1;margin:0;color:#f4ead8;font:700 10.5px/1.2 inherit;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.55);}
.shg__hero-copy{max-width:960px;margin:0 auto;padding:42px 24px 44px;}
.shg__eyebrow{margin:0 0 10px;font:800 11px/1 inherit;letter-spacing:.15em;text-transform:uppercase;color:#c9ae7d;}
.shg__title{margin:0;max-width:16ch;font-weight:900;letter-spacing:-.038em;line-height:.98;font-size:clamp(42px,5.4vw,64px);}
.shg__title span{color:#4b9a72;font-weight:700;padding:0 .08em;}
.shg__thesis{margin:17px 0 0;max-width:63ch;font-size:clamp(16px,1.45vw,18px);line-height:1.65;color:#ddd2bf;}
.shg__chips{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:19px 0 0;padding:0;}
.shg__chips li{padding:5px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font:650 11px/1 inherit;color:#c9bea9;}
.shg__chips--brief{margin-top:0;}
.shg__hero-brief{margin:22px 0 0;padding-top:17px;max-width:64ch;border-top:1px solid rgba(255,255,255,.11);display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;align-items:center;}
.shg__hero-brief-label{font:800 10px/1 inherit;letter-spacing:.12em;text-transform:uppercase;color:#c9ae7d;}
.shg__hero-brief-title{font:700 13px/1.35 inherit;color:#d8ccb8;}
.shg__hero-brief .shg__chips{grid-column:1 / -1;}

/* Quiet bridge from cover into the overview. */
.shg__intro{background:var(--shg-paper);}
.shg__intro-inner{max-width:960px;margin:0 auto;padding:42px 24px 38px;}
.shg__intro-kicker{margin:0 0 8px;font:800 10.5px/1 inherit;letter-spacing:.13em;text-transform:uppercase;color:var(--shg-accent);}
.shg__intro-title{margin:0;max-width:22ch;font-weight:900;font-size:clamp(27px,3vw,38px);line-height:1.08;letter-spacing:-.025em;}
.shg__intro-body{margin:16px 0 0;max-width:70ch;font-size:18px;line-height:1.72;color:#38322a;}
.shg__intro-note{margin:10px 0 0;max-width:72ch;font-size:14px;line-height:1.65;color:#70675b;}

/* Act II — route overview. Generous enough to establish the road once, contained
   enough to remain subordinate to the cover and chapters. */
.shg__route-stage{padding:44px 24px 38px;background:var(--shg-paper-soft);border-top:1px solid rgba(33,29,24,.08);border-bottom:1px solid rgba(33,29,24,.08);}
.shg__map{position:relative;max-width:1080px;margin:0 auto;background:#e5ded2;border:1px solid rgba(33,29,24,.12);}
.shg__map-canvas{width:100%;height:min(48vh,440px);min-height:360px;}
.shg__map-canvas iframe{display:block;width:100%;height:100%;border:0;}
.shg__map-fallback{padding:36px 24px;text-align:center;color:var(--shg-muted);font-weight:700;}
.shg__map-note{margin:0;padding:9px 18px;background:#e5ded2;border-top:1px solid rgba(33,29,24,.1);color:#665f55;font:700 11.5px/1.4 inherit;text-align:center;}
.shg__map--pins_only .shg__map-note{color:#70685d;}
.shg__rhythm{max-width:880px;margin:0 auto;padding:25px 0 0;text-align:center;}
.shg__rhythm-line{margin:0;font-size:19px;font-weight:800;line-height:1.4;color:#322c25;}
.shg__rhythm-chain{list-style:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 9px;margin:13px 0 0;padding:0;}
.shg__rhythm-step{font:700 13px/1 inherit;color:#51493e;}
.shg__rhythm-sep{color:#aaa08f;}

/* Act III — continuous chapters. Transition bands are quiet handoffs, not a
   second navigation system. */
.shg__transition{background:var(--shg-paper);border-top:1px solid rgba(33,29,24,.1);}
.shg__transition-inner{max-width:960px;margin:0 auto;padding:30px 24px 24px;text-align:left;}
.shg__transition-eyebrow{margin:0;font:800 10px/1 inherit;letter-spacing:.13em;text-transform:uppercase;color:#817668;}
.shg__transition-theme{margin:8px 0 0;font-weight:850;letter-spacing:-.018em;line-height:1.15;font-size:24px;color:#322c25;}
.shg__transition-move{margin:8px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;font:700 12.5px/1.4 inherit;color:#6d6457;}
.shg__transition-arrow{color:var(--shg-accent);}
.shg__transition-track{width:76px;height:2px;margin:15px 0 0;background:#d5cec2;overflow:hidden;}
.shg__transition-fill{display:block;height:100%;background:var(--shg-accent);}
.shg__chapters{padding:0;background:#faf8f2;}
.shg__chapter,.shg__editorial-chapter{position:relative;}
.shg__chapter{padding:0 0 92px;background:#faf8f2;border-top:0;}
.shg__chapter-intro{max-width:960px;margin:0 auto;padding:50px 24px 30px;}
.shg__chapter-kicker{margin:0 0 10px;font:800 11px/1.3 inherit;letter-spacing:.12em;text-transform:uppercase;color:#7b705f;}
.shg__chapter-title{margin:0;max-width:18ch;font-weight:900;letter-spacing:-.035em;line-height:1;font-size:clamp(42px,5vw,62px);color:#211d18;}
.shg__day-story{
  --shg-story-accent:#8a5735;
  --shg-story-tint:#f0e8dc;
  max-width:840px;
  margin:28px 0 0;
  overflow:hidden;
  border-top:4px solid var(--shg-story-accent);
  background:#fffdf8;
  box-shadow:0 15px 40px rgba(45,37,28,.08);
}
.shg__day-story-kicker{margin:0;padding:17px 22px 0;font:850 10px/1 Outfit,system-ui;letter-spacing:.14em;text-transform:uppercase;color:var(--shg-story-accent);}
.shg__day-story-part{min-width:0;}
.shg__day-story-part--focus{padding:12px 22px 24px;}
.shg__day-story-support{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(49,42,33,.12);background:var(--shg-story-tint);}
.shg__day-story-part--route,.shg__day-story-part--skip{padding:20px 22px 22px;}
.shg__day-story-part--route{border-right:1px solid rgba(49,42,33,.12);}
.shg__day-story-label{margin:0 0 8px;font:850 10.5px/1.25 Outfit,system-ui;letter-spacing:.095em;text-transform:uppercase;color:var(--shg-story-accent);}
.shg__day-story-lede{margin:0;max-width:34ch;font:780 clamp(24px,2.55vw,31px)/1.28 Outfit,system-ui;letter-spacing:-.025em;color:#29241e;}
.shg__day-story-thesis,.shg__day-story-skip{margin:0;font-size:16px;line-height:1.62;color:#4f473d;}
.shg__day-story-skip{color:#403a32;}

/* Contract-fed chapter identity: rhythm changes tone and pacing, never content. */
.shg__chapter[data-golden-rhythm~="imperial_departure"] .shg__day-story{--shg-story-accent:#8b4d28;--shg-story-tint:#f2e8d8;}
.shg__chapter[data-golden-rhythm~="coast_threshold"] .shg__day-story{--shg-story-accent:#426b73;--shg-story-tint:#e8f0ed;}
.shg__chapter[data-golden-rhythm~="northern_edge"] .shg__day-story{--shg-story-accent:#3d4b53;--shg-story-tint:#e4e8e7;}
.shg__chapter[data-golden-rhythm~="northern_edge"] .shg__day-story-support{grid-template-columns:.92fr 1.08fr;}
.shg__chapter[data-golden-rhythm~="republican_arrival"] .shg__day-story{--shg-story-accent:#87453e;--shg-story-tint:#f1e5df;}
.shg__chapter[data-golden-rhythm~="long_coast"] .shg__day-story{--shg-story-accent:#35695e;--shg-story-tint:#e5eee9;}
.shg__chapter[data-golden-rhythm~="long_coast"] .shg__day-story-support{grid-template-columns:1.12fr .88fr;}
.shg__chapter[data-golden-rhythm~="monastery_finale"] .shg__day-story{--shg-story-accent:#52643e;--shg-story-tint:#e8eddf;border-top-width:6px;}

/* Focus shelf: one active anchor, smaller choices, unmistakably quiet context. */
.shg__alts{margin:28px 0 0;padding:20px;border:1px solid rgba(33,29,24,.13);border-top:3px solid #9b6338;background:#f2ece2;}
.shg__alts-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 16px;}
.shg__alts-head>div{width:100%;}
.shg__alts-label{margin:0;font:850 20px/1.16 Outfit,system-ui;letter-spacing:-.018em;color:#302921;}
.shg__alts-guidance{margin:7px 0 0;max-width:62ch;font:650 12.5px/1.48 Outfit,system-ui;color:#716658;}
.shg__alts-current{display:inline-flex;margin-top:10px;padding:5px 8px;border:1px solid rgba(15,107,70,.18);background:#edf2ea;font:750 11.5px/1.35 Outfit,system-ui;color:#3f5848;}
.shg__focus-confirmation{max-width:680px;margin:10px 0 0;padding:8px 10px;border-left:3px solid #0f6b46;background:#edf2ea;font:650 12.5px/1.52 Outfit,system-ui;color:#5b554b;}
.shg__focus-confirmation strong{font-weight:850;color:#243d30;}
.shg__alts-row{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:11px;overflow:visible;}
.shg__alt{flex:1 1 0;min-width:0;margin:0;}
.shg__alt--canonical{flex-grow:1.22;}
.shg__alt--context{flex-grow:.72;}
.shg__alt-btn,.shg__alt-static{display:flex;flex-direction:column;width:100%;height:100%;min-height:218px;margin:0;padding:8px;border:1px solid rgba(33,29,24,.14);border-radius:2px;background:#fffdf8;text-align:left;color:inherit;font:inherit;}
.shg__alt-btn{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;}
.shg__alt--choice .shg__alt-btn:hover{border-color:rgba(154,90,42,.55);box-shadow:0 8px 18px rgba(50,39,28,.1);transform:translateY(-2px);}
.shg__alt-btn:focus-visible{outline:2px solid var(--shg-accent);outline-offset:2px;}
.shg__alt-img{display:block;width:100%;height:96px;flex:0 0 96px;border-radius:1px;object-fit:cover;}
.shg__alt-cap{display:flex;flex:1 1 auto;flex-direction:column;padding:10px 3px 2px;}
.shg__alt-context-kicker{display:inline-flex;align-self:flex-start;margin:0 0 8px;padding:4px 6px;background:#efe7db;font:850 9px/1.15 Outfit,system-ui;letter-spacing:.09em;text-transform:uppercase;color:#776958;}
.shg__alt-name{display:block;font:800 14px/1.28 Outfit,system-ui;color:#302a23;}
.shg__alt-summary{display:block;margin-top:5px;font-size:12px;line-height:1.48;color:#61584c;}
.shg__alt.is-selected .shg__alt-summary{display:none;}
.shg__alt-action,.shg__alt-selected{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid rgba(33,29,24,.1);font:850 10px/1.25 Outfit,system-ui;letter-spacing:.055em;text-transform:uppercase;}
.shg__alt-action{color:#8a4f26;}
.shg__alt-selected{color:#0f6b46;}
.shg__alt[data-golden-focus-role="current"] .shg__alt-static{border-color:rgba(15,107,70,.55);background:#fbfdf8;box-shadow:inset 0 4px 0 #0f6b46;}
.shg__alt[data-golden-focus-role="current"] .shg__alt-img{filter:saturate(.82);}
.shg__alt[data-golden-focus-role="current"] .shg__alt-context-kicker{background:#dceade;color:#28573d;}
.shg__alt[data-golden-focus-role="choice"] .shg__alt-context-kicker{background:#f4e5d8;color:#8a4f26;}
.shg__alt--context .shg__alt-context-kicker{background:#e0dfd7;color:#60695b;}
.shg__alt-context-card{height:100%;min-height:218px;padding:15px 13px;border:1px dashed rgba(58,65,52,.28);border-radius:2px;background:#e7e5dd;display:flex;flex-direction:column;justify-content:flex-end;}
.shg__alt-context-name{display:block;font:800 15px/1.28 inherit;color:#3c352d;}
.shg__alt-context-note{display:block;margin-top:10px;font:800 9px/1.25 inherit;letter-spacing:.08em;text-transform:uppercase;color:#817667;}
.shg__alt--context .shg__alt-summary{font-size:11.5px;}


/* Golden focus hierarchy — selected scene follows choice immediately. */
.shg__alt-summary{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  min-height:0;
  font-size:11.5px;
  line-height:1.4;
}
.shg__scene-fig{margin-top:0;}
.shg__scene-fig + .shg__gallery{border-top:0;}
.shg__gallery + .shg__daymap{padding-top:30px;}

@media (max-width:720px){
  .shg__alts{padding:17px 14px;}
  .shg__alts-label{font-size:18px;}
  .shg__alt-btn,.shg__alt-static,.shg__alt-context-card{min-height:250px;}
  .shg__alt-img{height:128px;flex-basis:128px;}
  .shg__gallery + .shg__daymap{padding-top:22px;}
}


/* Golden chapter atmosphere — contract-fed day rhythm. */
.shg__chapter[data-golden-rhythm],
.shg__chapter[data-golden-day-kind="arrival_city"]{
  background:#f6f3ec;
}

.shg__chapter[data-golden-rhythm] .shg__chapter-intro,
.shg__chapter[data-golden-rhythm] .shg__chapter-body,
.shg__chapter[data-golden-day-kind="arrival_city"] .shg__chapter-body{
  background:transparent;
}
.shg__chapter .shg__daymap{
  max-width:1080px;
  padding-top:28px;
}
.shg__chapter .shg__daymap-canvas{
  height:214px;
}
@media (max-width:720px){
  .shg__chapter .shg__daymap{padding-top:20px;}
  .shg__chapter .shg__daymap-canvas{height:172px;}
}


/* Golden per-day map hierarchy — rhythm-driven, never day-number driven. */
.shg__daymap[data-golden-daymap-presentation="city_scene"] .shg__daymap-canvas{
  height:246px;
}
.shg__daymap[data-golden-daymap-presentation="feature"] .shg__daymap-canvas{
  height:236px;
}
.shg__daymap[data-golden-daymap-presentation="context_strip"]{
  opacity:.8;
}
.shg__daymap[data-golden-daymap-presentation="context_strip"] .shg__daymap-canvas{
  height:116px;
}
.shg__daymap[data-golden-daymap-presentation="context_strip"] .shg__daymap-cap{
  margin-bottom:5px;
  font-size:9.5px;
}
.shg__daymap[data-golden-daymap-presentation="context_strip"] .shg__daymap-legend{
  display:none;
}
.shg__daymap[data-golden-daymap-presentation="arrival_feature"] .shg__daymap-canvas{
  height:268px;
}

.shg__daymap[data-golden-daymap-presentation="city_scene"] .shg__daymap-cap,
.shg__daymap[data-golden-daymap-presentation="arrival_feature"] .shg__daymap-cap{
  color:#5e4630;
  font-size:11px;
}

@media (max-width:720px){
  .shg__daymap[data-golden-daymap-presentation="city_scene"] .shg__daymap-canvas{height:198px;}
  .shg__daymap[data-golden-daymap-presentation="feature"] .shg__daymap-canvas{height:188px;}
  .shg__daymap[data-golden-daymap-presentation="context_strip"] .shg__daymap-canvas{height:96px;}
  .shg__daymap[data-golden-daymap-presentation="arrival_feature"] .shg__daymap-canvas{height:216px;}
}

/* Photo rail and main image are one calm media sequence. */
.shg__gallery{max-width:1080px;margin:0 auto;padding:15px 0 14px;background:var(--shg-paper-soft);border-top:1px solid rgba(33,29,24,.1);}
.shg__gallery-head{margin:0 0 10px;padding:0 20px;display:flex;align-items:baseline;justify-content:space-between;gap:14px;}
.shg__gallery-label{margin:0;font:800 10.5px/1 inherit;letter-spacing:.12em;text-transform:uppercase;color:#746a5d;}
.shg__gallery-place{margin:0;font:700 13px/1.3 inherit;color:#61594d;text-align:right;}
.shg__gallery-row{list-style:none;margin:0;padding:0 20px 3px;display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;}
.shg__gallery-row::-webkit-scrollbar{display:none;}
.shg__gallery-item{flex:0 0 auto;margin:0;scroll-snap-align:start;}
.shg__gallery-btn{position:relative;display:block;width:116px;height:74px;min-height:44px;margin:0;padding:0;border:1px solid rgba(33,29,24,.12);border-radius:2px;background:#ddd5c8;color:inherit;font:inherit;cursor:pointer;overflow:hidden;}
.shg__gallery-btn:focus-visible{outline:2px solid var(--shg-accent);outline-offset:2px;}
.shg__gallery-img{display:block;width:100%;height:100%;border-radius:1px;object-fit:cover;opacity:.68;}
.shg__gallery-item.is-selected .shg__gallery-img{opacity:1;}
.shg__gallery-item.is-selected .shg__gallery-btn{box-shadow:0 0 0 2px var(--shg-accent);}
.shg__gallery-selected{position:absolute;top:4px;right:4px;display:none;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:var(--shg-accent);color:#fff;font-size:0;}
.shg__gallery-selected::before{content:"\2713";font-size:11px;font-weight:900;}
.shg__gallery-item.is-selected .shg__gallery-selected{display:flex;}
.shg__scene-fig{max-width:1080px;margin:0 auto;background:#27211b;}
.shg__scene-fig--cover .shg__scene-img,.shg__chapter--feature:not(.shg__chapter--opener):not(.shg__chapter--finale) .shg__scene-img{width:100%;height:clamp(470px,62vh,680px);}
.shg__scene-fig--selected-focus{position:relative;box-shadow:0 18px 42px rgba(24,34,28,.2);}
.shg__scene-fig--selected-focus .shg__scene-img{filter:saturate(1.06) contrast(1.035);}
.shg__selected-focus-scene{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:8px 24px;
  margin:0;
  padding:18px 24px 20px;
  background:#203229;
  border-top:5px solid #bc7b43;
}
.shg__selected-focus-meta{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.shg__selected-focus-kicker{
  display:block;
  margin:0;
  font:850 10px/1.2 Outfit,system-ui;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#e5b47d;
}
.shg__selected-focus-state{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.2);
  color:#dce8df;
  font:800 9px/1 Outfit,system-ui;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.shg__selected-focus-name{
  display:block;
  font:850 27px/1.08 Outfit,system-ui;
  letter-spacing:-.02em;
  color:#fff9ef;
}
.shg__selected-focus-truth{
  display:block;
  max-width:42ch;
  margin:0;
  font:720 12px/1.48 Outfit,system-ui;
  letter-spacing:.01em;
  color:#cbd8ce;
  text-align:right;
}
.shg__chapter-body{max-width:960px;margin:0 auto;padding:34px 24px 0;}

@media (max-width:720px){
  .shg__selected-focus-scene{
    grid-template-columns:1fr;
    gap:9px;
    padding:16px 18px 18px;
  }
  .shg__selected-focus-meta{display:block;}
  .shg__selected-focus-state{margin-top:8px;}
  .shg__selected-focus-name{font-size:23px;}
  .shg__selected-focus-truth{max-width:none;font-size:11.5px;text-align:left;}
}

/* Road Signal V2 — editorial surprise, separate from focus and utility layers. */
.shg__discovery{--shg-signal-accent:#76502f;--shg-signal-paper:#efe4d3;--shg-signal-card:#fbf4e9;margin:42px 0 0;padding:20px 22px;border-top:5px solid var(--shg-signal-accent);background:var(--shg-signal-paper);}
.shg__discovery--blue-cove{--shg-signal-accent:#467887;--shg-signal-paper:#e5eff0;--shg-signal-card:#f5faf9;}
.shg__discovery--mixed{--shg-signal-accent:#60675c;--shg-signal-paper:#e9e7df;--shg-signal-card:#fbfaf5;}
.shg__discovery-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);align-items:end;gap:16px;margin:0 0 14px;padding:0 0 13px;border-bottom:1px solid rgba(70,60,50,.18);}
.shg__discovery-kicker{margin:0 0 6px;font:850 10px/1 Outfit,system-ui;letter-spacing:.14em;text-transform:uppercase;color:var(--shg-signal-accent);}
.shg__discovery-title{margin:0;font:850 22px/1.08 Outfit,system-ui;letter-spacing:-.024em;color:#30271f;}
.shg__discovery--blue-cove .shg__discovery-title{color:#294f5a;}
.shg__discovery-framing{justify-self:end;max-width:42ch;}
.shg__discovery-deck{margin:0;font:750 13px/1.42 Outfit,system-ui;color:#4d463d;}
.shg__discovery-boundary{margin:5px 0 0;font:800 9.5px/1.35 Outfit,system-ui;letter-spacing:.075em;text-transform:uppercase;color:#7a7165;}
.shg__discovery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1.24fr) minmax(240px,.76fr);gap:11px;align-items:stretch;}
.shg__discovery--single .shg__discovery-grid{grid-template-columns:1fr;}
.shg__discovery-card{min-width:0;min-height:150px;overflow:hidden;display:grid;grid-template-columns:minmax(150px,38%) minmax(0,1fr);border:1px solid rgba(54,43,31,.15);background:var(--shg-signal-card);color:#2e2923;}
.shg__discovery-card--brown-sign{border-left:7px solid #80542e;box-shadow:inset 0 0 0 1px rgba(128,84,46,.04);}
.shg__discovery-card--blue-cove{border-top:4px solid #4d8492;border-radius:10px 10px 2px 2px;box-shadow:0 12px 26px rgba(48,87,96,.09);}
.shg__discovery-card--single{min-height:264px;grid-template-columns:minmax(280px,43%) minmax(0,1fr);}
.shg__discovery-card--supporting{grid-template-columns:1fr;}
.shg__discovery-media{min-width:0;min-height:150px;overflow:hidden;background:#d9d1c4;}
.shg__discovery-card--single .shg__discovery-media{min-height:264px;}
.shg__discovery-card--supporting .shg__discovery-media{min-height:122px;height:122px;}
.shg__discovery-thumb{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;}
.shg__discovery-card--brown-sign .shg__discovery-thumb{filter:sepia(.1) saturate(.9) contrast(1.03);}
.shg__discovery-card--blue-cove .shg__discovery-thumb{filter:saturate(1.04) contrast(1.02);}
.shg__discovery-body{min-width:0;padding:14px 17px;display:flex;flex-direction:column;justify-content:center;}
.shg__discovery-card--single .shg__discovery-body{padding:20px 24px;}
.shg__discovery-card--supporting .shg__discovery-body{padding:12px 14px;}
.shg__discovery-kind{display:inline-flex;align-self:flex-start;margin:0 0 6px;padding:4px 6px;background:#e7d3b8;font:850 9.5px/1.15 Outfit,system-ui;letter-spacing:.09em;text-transform:uppercase;color:#684323;}
.shg__discovery-card--blue-cove .shg__discovery-kind{border-radius:999px;background:#d6e8ea;color:#315f6b;}
.shg__discovery-name{display:block;font:850 20px/1.18 Outfit,system-ui;letter-spacing:-.015em;color:#302a24;}
.shg__discovery-card--single .shg__discovery-name{font-size:27px;line-height:1.1;}
.shg__discovery-card--supporting .shg__discovery-name{font-size:18px;}
.shg__discovery-name .shg__place-link{color:inherit;border-bottom-color:rgba(48,42,36,.24);}
.shg__discovery-copy{display:block;margin-top:6px;font-size:14px;line-height:1.52;color:#5a5146;}
.shg__discovery-card--single .shg__discovery-copy{max-width:52ch;font-size:16px;line-height:1.55;}
.shg__discovery-card--supporting .shg__discovery-copy{font-size:13px;}
.shg__live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* Existing Field Companion seam remains visually secondary. */
.shg__fc-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;max-width:960px;margin:18px auto 0;padding:14px 16px;border:1px solid rgba(33,29,24,.12);background:rgba(255,255,255,.28);}
.shg__fc-cta-copy{flex:1 1 240px;min-width:0;}
.shg__fc-cta-kicker{margin:0;font:800 10px/1 inherit;letter-spacing:.1em;text-transform:uppercase;color:#7d7365;}
.shg__fc-cta-note{margin:5px 0 0;font-size:13px;line-height:1.55;color:#5c554b;}
.shg__fc-cta-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 16px;border:0;border-radius:4px;background:var(--shg-accent);color:#fff;font:800 13px/1 inherit;cursor:pointer;}
.shg__fc-cta-btn:focus-visible{outline:2px solid var(--shg-accent);outline-offset:3px;}

/* Access boundary and locked chapters. */
.shg__wall{border-top:1px solid rgba(33,29,24,.1);background:#ebe4d8;}
.shg__wall-inner{max-width:760px;margin:0 auto;padding:52px 24px 46px;text-align:center;}
.shg__wall-eyebrow{margin:0 0 10px;font:800 10px/1 inherit;letter-spacing:.12em;text-transform:uppercase;color:var(--shg-accent);}
.shg__wall-title{margin:0;font-weight:900;letter-spacing:-.025em;line-height:1.1;font-size:clamp(25px,3vw,36px);}
.shg__wall-body{margin:15px auto 0;max-width:560px;font-size:16px;line-height:1.68;color:#4c453b;}
.shg__wall-note{margin:17px 0 0;font:700 12px/1.4 inherit;color:#756d61;}
.shg__wall-cta{margin:23px auto 0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:0;border-radius:4px;background:#2a251f;color:#fff;font:850 13px/1 inherit;cursor:pointer;}
.shg__wall-cta:focus-visible{outline:2px solid var(--shg-accent);outline-offset:3px;}
.shg__chapter--locked{padding:26px 0 28px;border-top:1px solid rgba(33,29,24,.08);}
.shg__locked-inner{max-width:760px;margin:0 auto;padding:0 24px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.shg__locked-day{margin:0;font-weight:850;font-size:20px;color:#6a6256;}
.shg__locked-tag{margin:0;font:800 10px/1 inherit;letter-spacing:.1em;text-transform:uppercase;color:#8a8173;}

/* Act IV — FAQ. */
.shg__faq{background:var(--shg-paper);padding:64px 24px 54px;border-top:1px solid rgba(33,29,24,.1);}
.shg__faq-head,.shg__faq-list{max-width:900px;margin-left:auto;margin-right:auto;}
.shg__faq-head{margin-bottom:24px;}
.shg__faq-kicker{margin:0 0 8px;font:800 10.5px/1 inherit;letter-spacing:.11em;text-transform:uppercase;color:var(--shg-accent);}
.shg__faq h2{margin:0;font-size:clamp(32px,4vw,46px);line-height:1.06;letter-spacing:-.025em;}
.shg__faq-head p:last-child{margin:11px 0 0;font-size:15px;line-height:1.6;color:#6b6256;}
.shg__faq-list{border-top:1px solid rgba(33,29,24,.14);}
.shg__faq-item{border-bottom:1px solid rgba(33,29,24,.14);}
.shg__faq-item summary{cursor:pointer;list-style:none;min-height:58px;padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:800;font-size:17px;line-height:1.4;}
.shg__faq-item summary::-webkit-details-marker{display:none;}
.shg__faq-item summary::after{content:"+";flex:0 0 auto;color:var(--shg-accent);font-size:18px;}
.shg__faq-item[open] summary::after{content:"−";}
.shg__faq-item summary:focus-visible{outline:2px solid var(--shg-accent);outline-offset:3px;}
.shg__faq-answer{max-width:720px;padding:0 0 19px;}
.shg__faq-answer p{margin:0;font-size:15.5px;line-height:1.72;color:#4f473d;}

/* Act V — utilities, credits and footer. */
.shg__footer{background:var(--shg-deep);color:#d9cfbe;}
.shg__footer-inner{max-width:960px;margin:0 auto;padding:34px 24px 44px;}
.shg__footer-brand{margin:0;font-weight:800;color:#f6f0e6;}
.shg__footer-note{margin:12px 0 0;font-size:12.5px;line-height:1.55;color:#9f9687;}
.shg__attrib{margin:18px 0 0;}
.shg__attrib summary{cursor:pointer;font-weight:700;color:#e8decd;}
.shg__attrib-list{margin:10px 0 0;padding-left:18px;font-size:12.5px;line-height:1.65;color:#b8ae9d;}
.shg__utilities{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;margin:24px 0 0;padding:22px 0 0;border-top:1px solid rgba(246,240,230,.13);}
.shg__utility-kicker{margin:0 0 5px;font:800 10px/1 inherit;letter-spacing:.11em;text-transform:uppercase;color:#d9bd86;}
.shg__utility-note{margin:0;max-width:470px;font-size:13px;line-height:1.55;color:#ada492;}
.shg__utility-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;}
.shg__utility-btn{appearance:none;min-height:46px;padding:8px 12px;border:1px solid rgba(246,240,230,.18);border-radius:4px;background:rgba(255,255,255,.04);color:#f6f0e6;cursor:pointer;text-align:left;font:inherit;}
.shg__utility-btn span{display:block;margin-bottom:2px;font-size:9.5px;font-weight:800;line-height:1;letter-spacing:.09em;text-transform:uppercase;color:#aaa08e;}
.shg__utility-btn strong{display:block;font-size:13px;line-height:1.2;font-weight:800;white-space:nowrap;}
.shg__utility-btn:focus-visible{outline:2px solid #d9bd86;outline-offset:3px;}
.shg__utility-btn--save{border-color:rgba(217,189,134,.4);}
.shg__utility-status{grid-column:1 / -1;min-height:18px;margin:0;font-size:12px;color:#cbbf9f;}

@media (max-width:720px){
  .shg__page{overflow:hidden;}
  .shg__masthead{min-height:52px;padding:8px 12px;}
  .shg__progress-rail{padding:5px 10px;gap:2px;}
  .shg__progress-step{min-width:68px;}
  .shg__progress-label{font-size:10.5px;}
  .shg__progress-num{width:20px;height:20px;}
  .shg__hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto;min-height:0;}
  .shg__hero-fig--lead{grid-column:1 / -1;grid-row:auto;}
  .shg__hero-fig--lead .shg__hero-img{height:40svh;min-height:250px;}
  .shg__hero-fig--sub .shg__hero-img{height:20svh;min-height:128px;}
  .shg__hero-place{left:11px;bottom:9px;font-size:9px;}
  .shg__hero-copy{padding:29px 18px 31px;}
  .shg__eyebrow{font-size:10px;}
  .shg__title{font-size:clamp(36px,11vw,48px);line-height:1;}
  .shg__thesis{margin-top:14px;font-size:15.5px;line-height:1.62;}
  .shg__hero-brief{margin-top:17px;padding-top:14px;grid-template-columns:1fr;}
  .shg__hero-brief .shg__chips{grid-column:1;}
  .shg__intro-inner{padding:34px 18px 31px;}
  .shg__intro-title{font-size:29px;}
  .shg__intro-body{margin-top:13px;font-size:16.5px;line-height:1.7;}
  .shg__intro-note{font-size:13.5px;}
  .shg__route-stage{padding:28px 0 26px;}
  .shg__map{border-left:0;border-right:0;}
  .shg__map-canvas{height:36svh;min-height:270px;max-height:330px;}
  .shg__map-note{font-size:11px;}
  .shg__rhythm{padding:20px 18px 0;}
  .shg__rhythm-line{font-size:17px;}
  .shg__rhythm-step{font-size:12px;}
  .shg__transition-inner{padding:24px 18px 19px;}
  .shg__transition-theme{font-size:21px;}
  .shg__transition-move{font-size:12px;}
  .shg__chapter{padding-bottom:66px;}
  .shg__chapter-intro{padding:38px 18px 25px;}
  .shg__chapter-kicker{font-size:10px;line-height:1.35;}
  .shg__chapter-title{font-size:clamp(36px,10vw,46px);line-height:1.02;}
  .shg__day-story{margin-top:22px;box-shadow:0 10px 28px rgba(45,37,28,.07);}
  .shg__day-story-kicker{padding:15px 17px 0;}
  .shg__day-story-part--focus{padding:11px 17px 20px;}
  .shg__day-story-lede{max-width:none;font-size:22px;line-height:1.34;}
  .shg__day-story-support,
  .shg__chapter[data-golden-rhythm] .shg__day-story-support{grid-template-columns:1fr;}
  .shg__day-story-part--route,.shg__day-story-part--skip{padding:17px;}
  .shg__day-story-part--route{border-right:0;border-bottom:1px solid rgba(49,42,33,.12);}
  .shg__day-story-thesis,.shg__day-story-skip{font-size:15px;line-height:1.62;}
  .shg__alts{margin-top:27px;padding:15px 14px 17px;}
  .shg__alts-head{margin-bottom:11px;}
  .shg__alts-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,84vw);grid-template-columns:none;gap:10px;overflow-x:auto;padding:0 2px 7px 0;scroll-snap-type:x proximity;}
  .shg__alt{scroll-snap-align:start;}
  .shg__alt-img{height:154px;flex-basis:154px;}
  .shg__alt-context-card{min-height:250px;}
  .shg__gallery{padding:13px 0 12px;}
  .shg__gallery-head{display:block;margin-bottom:8px;padding:0 18px;}
  .shg__gallery-place{margin-top:4px;text-align:left;font-size:12px;}
  .shg__gallery-row{padding:0 18px 3px;gap:6px;}
  .shg__gallery-btn{width:108px;height:70px;}
  .shg__scene-fig--cover .shg__scene-img,.shg__chapter--feature:not(.shg__chapter--opener):not(.shg__chapter--finale) .shg__scene-img{height:52svh;min-height:340px;max-height:500px;}
  .shg__chapter-body{padding:27px 18px 0;}
  .shg__discovery{margin-top:30px;padding:18px;}
  .shg__discovery-head{display:block;margin-bottom:14px;padding-bottom:14px;}
  .shg__discovery-title{font-size:23px;}
  .shg__discovery-framing{max-width:none;margin-top:12px;}
  .shg__discovery-deck{font-size:13.5px;}
  .shg__discovery-grid{grid-template-columns:1fr;gap:11px;}
  .shg__discovery-card,.shg__discovery-card--single,.shg__discovery-card--supporting{grid-template-columns:1fr;min-height:0;}
  .shg__discovery-media,.shg__discovery-card--single .shg__discovery-media{width:100%;height:46vw;min-height:170px;max-height:230px;}
  .shg__discovery-card--single .shg__discovery-media{height:54vw;min-height:190px;max-height:260px;}
  .shg__discovery-card--supporting .shg__discovery-media{height:38vw;min-height:145px;max-height:190px;}
  .shg__discovery-body,.shg__discovery-card--single .shg__discovery-body,.shg__discovery-card--supporting .shg__discovery-body{padding:17px;}
  .shg__discovery-card--single .shg__discovery-name{font-size:23px;}
  .shg__discovery-card--single .shg__discovery-copy{font-size:14.5px;}
  .shg__fc-cta{margin:16px 18px 0;}
  .shg__fc-cta-btn{width:100%;justify-content:center;}
  .shg__wall-inner{padding:43px 18px 39px;}
  .shg__faq{padding:50px 18px 43px;}
  .shg__faq h2{font-size:34px;}
  .shg__faq-item summary{font-size:16px;line-height:1.45;}
  .shg__faq-answer p{font-size:15px;}
  .shg__footer-inner{padding:31px 18px 38px;}
  .shg__utilities{grid-template-columns:1fr;align-items:start;gap:14px;}
  .shg__utility-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:8px;}
  .shg__utility-btn{width:100%;min-width:0;min-height:50px;}
  .shg__utility-btn strong{white-space:normal;}
}

@media print{
  .shg__day-story{overflow:visible;break-inside:avoid;border:1px solid #777;border-top:4px solid var(--shg-story-accent);background:#fff!important;box-shadow:none;}
  .shg__day-story-support{background:#fff!important;}
  .shg__faq{break-inside:avoid;background:#fff!important;color:#000!important;}
  .shg__faq-item .shg__faq-answer{display:block!important;}
  .shg__utilities{display:none!important;}
}
/* P0 — Trip Feasibility refusal: honest "needs more time" alternatives list.
   Reuses the rt-report-final shell; only the options list needs dressing. */
.rt-report-final__feasibility-options{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.rt-report-final__feasibility-option{position:relative;padding:14px 16px 14px 38px;border:1px solid var(--fgf-line,#e2ddd3);border-radius:12px;background:var(--fgf-card,#fff);font-size:15px;line-height:1.5;color:var(--fgf-ink,#2b2722);}
.rt-report-final__feasibility-option::before{content:"→";position:absolute;left:16px;top:14px;font-weight:700;color:var(--builder-accent,#b4541f);}

/* P2 — Golden place detail navigation. Published places link to /places/...;
   unpublished candidates render as honest non-clickable labels (no dead link). */
.shg__place-link{display:inline-flex;align-items:baseline;gap:2px;color:var(--builder-accent,#b4541f);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;}
.shg__place-link:hover,.shg__place-link:focus-visible{border-bottom-color:currentColor;}
.shg__place-link-arrow{font-weight:700;}
.shg__place-ref--unpublished{color:inherit;cursor:default;}

/* Per-day map: the same honest geometry, presented as a quiet chapter preface. */
.shg__daymap{max-width:960px;margin:0 auto;padding:20px 24px 0;border:0;background:transparent;}
.shg__daymap-cap{margin:0 0 7px;font:800 10px/1.3 Outfit,system-ui;letter-spacing:.1em;text-transform:uppercase;color:#817768;}
.shg__daymap-svg{display:block;width:100%;height:auto;max-height:260px;overflow:visible;}
.shg__daymap-canvas{height:188px;overflow:hidden;border:1px solid rgba(28,24,20,.1);border-radius:2px;background:#e7dfd2;}
.shg__daymap-frame{display:block;width:100%;height:100%;border:0;background:#e9e1d2;}

.shg__daymap-line{stroke:var(--builder-accent,#b4541f);stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round;opacity:.95;}
.shg__daymap-pin{stroke:#fff;stroke-width:2;}
.shg__daymap-pin--headline{fill:#0f6b46;}
.shg__daymap-pin--overnight{fill:#f7f1e4;stroke:#214532;}
.shg__daymap-pin--endpoint{fill:#2b241d;}
.shg__daymap-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font:650 10.5px/1 Outfit,system-ui;color:#746c61;}
.shg__daymap-key{display:inline-flex;align-items:center;gap:5px;}
.shg__daymap-key::before{content:"";width:9px;height:9px;border-radius:999px;display:inline-block;}
.shg__daymap-key--headline::before{background:#0f6b46;}
.shg__daymap-key--overnight::before{background:#f7f1e4;border:1px solid #214532;}
.shg__daymap-key--endpoint::before{background:#2b241d;}
.shg__daymap-key--roadside::before{width:13px;height:9px;border-radius:3px;background:#8b5b2a;box-shadow:inset 0 0 0 2px rgba(255,255,255,.65);}
.shg__daymap-roadside{cursor:pointer;outline:none;}
.shg__daymap-roadside-hit{fill:transparent;stroke:transparent;pointer-events:all;}
.shg__daymap-roadside-symbol{fill:#8b5b2a;stroke:#fff;stroke-width:2.4;filter:drop-shadow(0 3px 5px rgba(28,24,20,.22));}
.shg__daymap-roadside--food_coffee .shg__daymap-roadside-symbol{fill:#8a4f2a;}
.shg__daymap-roadside--stay .shg__daymap-roadside-symbol{fill:#52656d;}
.shg__daymap-roadside--fuel .shg__daymap-roadside-symbol{fill:#8b5b2a;}
.shg__daymap-roadside--essentials .shg__daymap-roadside-symbol{fill:#f6f1e8;stroke:#7a5b37;}
.shg__daymap-roadside-symbol--ring{stroke-width:3;fill:#f6f1e8;}
.shg__daymap-roadside-label{font:900 8.5px/1 Outfit,system-ui;text-anchor:middle;fill:#fff;pointer-events:none;}
.shg__daymap-roadside--essentials .shg__daymap-roadside-label{fill:#4e3d29;}
.shg__daymap-roadside:focus-visible .shg__daymap-roadside-symbol,
.shg__daymap-roadside:hover .shg__daymap-roadside-symbol,
.shg__daymap-roadside.is-active .shg__daymap-roadside-symbol{stroke:#2a241d;stroke-width:3;}
.shg__daymap-roadside-pop{display:none;overflow:visible;pointer-events:none;}
.shg__daymap-roadside:hover .shg__daymap-roadside-pop,
.shg__daymap-roadside:focus .shg__daymap-roadside-pop,
.shg__daymap-roadside.is-active .shg__daymap-roadside-pop{display:block;pointer-events:auto;}
.shg__daymap-roadside-preview{width:184px;min-height:58px;padding:7px 8px;border:1px solid rgba(42,36,29,.18);border-radius:6px;background:rgba(255,253,248,.96);box-shadow:0 8px 20px rgba(28,24,20,.18);color:#2a241d;font-family:Outfit,system-ui;}
.shg__daymap-roadside-preview strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;line-height:1.15;}
.shg__daymap-roadside-preview span{display:block;margin-top:2px;font-size:9.5px;font-weight:800;color:#7a5b37;}
.shg__daymap-roadside-preview small{display:block;margin-top:2px;font-size:9px;line-height:1.25;color:#5c554b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.shg__daymap-roadside-preview a{display:inline-block;margin-top:3px;font-size:9px;font-weight:850;color:#0f6b46;text-decoration:underline;text-underline-offset:2px;}

/* Verified Stops V2 — open practical close, separate from future partner picks. */
.shg__roadside{margin:34px 0 0;padding:24px;border-top:4px solid #355847;background:#f5f3ed;box-shadow:inset 0 0 0 1px rgba(37,54,45,.08);}
.shg__roadside-head{display:grid;grid-template-columns:minmax(0,.82fr) minmax(300px,1.18fr);align-items:end;gap:24px;margin:0 0 20px;padding-bottom:17px;border-bottom:1px solid rgba(37,54,45,.14);}
.shg__roadside-kicker{margin:0 0 7px;font:850 10px/1 Outfit,system-ui;letter-spacing:.13em;text-transform:uppercase;color:#547062;}
.shg__roadside-title{margin:0;font:850 27px/1.06 Outfit,system-ui;letter-spacing:-.027em;color:#273a31;}
.shg__roadside-sub{max-width:62ch;margin:0;font:680 13.5px/1.52 Outfit,system-ui;color:#5f625a;}
.shg__roadside-primary-head,.shg__roadside-supporting-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px;}
.shg__roadside-primary-head p,.shg__roadside-supporting-head p{margin:0;font:850 10.5px/1 Outfit,system-ui;letter-spacing:.1em;text-transform:uppercase;color:#52685d;}
.shg__roadside-primary-head span,.shg__roadside-supporting-head span{font:800 10px/1 Outfit,system-ui;color:#7b7a71;}
.shg__roadside-grid{list-style:none;margin:0;padding:0;}
.shg__roadside-grid--primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.shg__roadside-card{min-width:0;padding:15px 0;border:0;border-bottom:1px solid rgba(28,24,20,.1);border-radius:0;background:transparent;outline:none;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;}
.shg__roadside-card--primary{min-height:190px;padding:18px;border:1px solid rgba(37,54,45,.14);border-top:4px solid #557464;background:#fffdf8;box-shadow:0 8px 20px rgba(37,47,40,.06);}
.shg__roadside-card:hover,
.shg__roadside-card:focus-visible,
.shg__roadside-card.is-active{background:rgba(255,255,255,.28);}
.shg__roadside-card--primary:hover,.shg__roadside-card--primary:focus-visible,.shg__roadside-card--primary.is-active{background:#fff;}
.shg__roadside-card:focus-visible{outline:2px solid #0f6b46;outline-offset:3px;}
.shg__roadside-card-top{grid-column:1;display:flex;align-items:center;gap:10px;margin:0 0 6px;}
.shg__roadside-kind{display:inline-flex;padding:4px 6px;background:#e8e5d8;font:850 9.5px/1 Outfit,system-ui;letter-spacing:.11em;text-transform:uppercase;color:#6e583d;}
.shg__roadside-caps{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;}
.shg__roadside-caps span{padding:2px 0;color:#0f6b46;font:800 9.5px/1 inherit;}
.shg__roadside-name{grid-column:1;display:block;font-weight:800;font-size:16px;line-height:1.28;color:#2a241d;overflow-wrap:anywhere;}
.shg__roadside-card--primary .shg__roadside-name{font-size:18px;line-height:1.22;}
.shg__roadside-reason{grid-column:1;display:block;max-width:680px;margin-top:5px;font-size:13.5px;line-height:1.58;color:#4f483e;}
.shg__roadside-foot{grid-column:2;grid-row:1 / span 3;display:flex;align-items:flex-end;justify-content:center;flex-direction:column;gap:9px;min-width:128px;}
.shg__roadside-trust{font:700 9.5px/1.35 Outfit,system-ui;letter-spacing:.035em;color:#858277;}
.shg__roadside-action{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 11px;border:1px solid rgba(15,107,70,.22);border-radius:3px;color:#0f6b46;background:transparent;font:850 12px/1 inherit;text-decoration:none;}
.shg__roadside-action:hover,.shg__roadside-action:focus-visible{border-color:#0f6b46;background:rgba(15,107,70,.06);}
.shg__roadside-supporting{margin:18px 0 0;padding:17px 0 0;border-top:1px solid rgba(37,54,45,.14);}
.shg__roadside-grid--secondary{border-top:1px solid rgba(28,24,20,.08);}
.shg__roadside-card--secondary{padding:15px 2px;opacity:.96;}
.shg__roadside-card--secondary .shg__roadside-name{font-size:15px;}
.shg__roadside-card--secondary .shg__roadside-reason{font-size:12.5px;}
@media (max-width:640px){
  .shg__daymap{padding:16px 18px 0;}
  .shg__daymap-svg{max-height:200px;}
  .shg__daymap-canvas{height:158px;}
  .shg__roadside{margin-top:28px;padding:19px 16px;}
  .shg__roadside-head{display:block;margin-bottom:17px;padding-bottom:15px;}
  .shg__roadside-title{font-size:24px;}
  .shg__roadside-sub{margin-top:10px;font-size:13px;}
  .shg__roadside-grid--primary{grid-template-columns:1fr;gap:10px;}
  .shg__roadside-card{display:block;padding:15px 0;}
  .shg__roadside-card--primary{min-height:0;padding:17px;}
  .shg__roadside-card-top{display:flex;}
  .shg__roadside-foot{margin-top:12px;align-items:flex-start;}
  .shg__roadside-action{width:100%;}
}

/* Drive Mode Stage C: standalone denied / preview shell */
body.golden-drive-mode-shell-open{overflow:hidden;}
.shdm{position:fixed;inset:0;z-index:9999;color:#231f19;font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.shdm[hidden]{display:none!important;}
.shdm__scrim{position:absolute;inset:0;background:rgba(18,15,12,.58);backdrop-filter:blur(10px);}
.shdm__panel{position:relative;width:min(960px,calc(100vw - 28px));max-height:calc(100svh - 28px);margin:14px auto;overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:linear-gradient(180deg,#f7f1e6 0%,#eee4d2 58%,#29231c 58%,#211c16 100%);box-shadow:0 30px 90px rgba(0,0,0,.34);}
.shdm__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:34px 34px 26px;}
.shdm__kicker{margin:0 0 9px;color:#8a4b1d;font-size:11px;line-height:1;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.shdm__top h2{margin:0;color:#211c16;font-size:clamp(36px,7vw,72px);line-height:.92;font-weight:900;}
.shdm__lede{max-width:610px;margin:16px 0 0;color:#564d41;font-size:16px;line-height:1.62;font-weight:650;}
.shdm__close{min-height:42px;padding:0 15px;border:1px solid rgba(33,28,22,.2);border-radius:999px;background:#211c16;color:#fff7ec;cursor:pointer;font:850 12px/1 inherit;}
.shdm__close:hover{background:#3a3026;}
.shdm__close:focus-visible,.shdm__section:focus-visible{outline:2px solid #b85f24;outline-offset:3px;}
.shdm__status{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:10px;align-items:center;margin:0 34px 24px;padding:12px 14px;border:1px solid rgba(138,75,29,.22);border-radius:8px;background:rgba(255,255,255,.45);}
.shdm__status span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8a4b1d;}
.shdm__status strong{font-size:12px;font-weight:900;color:#211c16;}
.shdm__status p{margin:0;color:#62594d;font-size:12.5px;line-height:1.45;}
.shdm__grid{display:grid;grid-template-columns:1.12fr .94fr .94fr;gap:12px;padding:0 34px 34px;}
.shdm__section{min-height:214px;padding:18px;border:1px solid rgba(33,28,22,.13);border-radius:8px;background:rgba(255,255,255,.58);}
.shdm__section[data-shdm-section="field_companion"]{background:#fff9ed;box-shadow:inset 0 -5px 0 rgba(184,95,36,.16);}
.shdm__section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;}
.shdm__section-head p{margin:0;color:#7e715f;font-size:10px;line-height:1.1;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.shdm__section-head span{flex:0 0 auto;border:1px solid rgba(33,28,22,.14);border-radius:999px;padding:5px 8px;color:#564d41;background:rgba(255,255,255,.56);font-size:10px;line-height:1;font-weight:900;}
.shdm__section h3{margin:0;color:#211c16;font-size:clamp(22px,3vw,34px);line-height:1;font-weight:900;}
.shdm__section-body{margin:13px 0 0;color:#564d41;font-size:14px;line-height:1.62;}
.shdm__foot{padding:24px 34px 30px;color:#e9ddc7;}
.shdm__caps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.shdm__cap{min-width:0;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.05);}
.shdm__cap span,.shdm__cap strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.shdm__cap span{color:#f6ead2;font-size:12px;font-weight:850;}
.shdm__cap strong{margin-top:4px;color:#bba98c;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
@media(max-width:820px){
  .shdm__panel{width:100vw;max-height:100svh;min-height:100svh;margin:0;border-radius:0;}
  .shdm__top{grid-template-columns:1fr;padding:26px 18px 22px;}
  .shdm__close{width:100%;}
  .shdm__status{grid-template-columns:1fr;margin:0 18px 18px;}
  .shdm__grid{grid-template-columns:1fr;padding:0 18px 24px;}
  .shdm__section{min-height:0;}
  .shdm__caps{grid-template-columns:1fr;}
  .shdm__foot{padding:22px 18px 28px;}
}
@media print{
  .shdm{display:none!important;}
  body.golden-drive-mode-shell-open{overflow:visible!important;}
}

/* Drive Mode J-A7: Field Companion road-ritual experience */
.shdm__launch{display:inline-flex;align-items:center;margin:16px 0 0;padding:6px 12px;border-radius:999px;background:#211c16;color:#fff4e2;font:800 11px/1 inherit;letter-spacing:.08em;}
.shdm__ritual,.shdm__session{margin:0 34px 22px;}
.shdm__now{padding:22px 24px;border:1px solid rgba(184,95,36,.22);border-radius:10px;background:#fff9ed;box-shadow:inset 0 -6px 0 rgba(184,95,36,.14);}
.shdm__now-state{margin:0;color:#8a4b1d;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.shdm__now-day{margin:10px 0 0;color:#211c16;font-size:clamp(24px,4.4vw,40px);line-height:1.04;font-weight:900;}
.shdm__now-cue{margin:12px 0 0;color:#3f372d;font-size:clamp(16px,2.2vw,21px);line-height:1.5;font-weight:650;}
.shdm__now-world{display:inline-flex;align-items:center;margin:12px 0 0;padding:6px 10px;border:1px solid rgba(33,28,22,.12);border-radius:999px;background:rgba(255,255,255,.52);color:#5f5346;font-size:12px;line-height:1.25;font-weight:850;}
.shdm__now-beat{display:inline-flex;margin:14px 0 0;padding:5px 11px;border-radius:999px;border:1px solid rgba(33,28,22,.16);background:rgba(255,255,255,.6);color:#564d41;font-size:12px;font-weight:850;text-transform:capitalize;}
.shdm__now-refs{margin:11px 0 0;color:#7e715f;font-size:12.5px;line-height:1.45;}
.shdm__now-aside{margin:11px 0 0;color:#766b5d;font-size:13px;line-height:1.5;font-style:italic;}
.shdm__now[data-shdm-world="departure"]{border-color:rgba(184,95,36,.28);background:linear-gradient(180deg,#fff5e3 0%,#f5e4c8 100%);box-shadow:inset 0 -6px 0 rgba(184,95,36,.18),inset 6px 0 0 rgba(215,168,106,.42);}
.shdm__now[data-shdm-world="threshold"]{border-color:rgba(79,98,77,.26);background:linear-gradient(180deg,#f8f0df 0%,#efe3cd 100%);box-shadow:inset 0 0 0 2px rgba(79,98,77,.08),inset 0 -6px 0 rgba(79,98,77,.14);}
.shdm__now[data-shdm-world="old_road"]{border-color:rgba(90,77,63,.26);background:repeating-linear-gradient(135deg,#f5ecdc 0,#f5ecdc 8px,#efe3d0 8px,#efe3d0 15px);box-shadow:inset 0 -6px 0 rgba(90,77,63,.15);}
.shdm__now[data-shdm-world="shoreline"]{border-color:rgba(56,97,112,.28);background:linear-gradient(180deg,#eef5f1 0%,#e3ece6 100%);box-shadow:inset 0 -6px 0 rgba(56,97,112,.18),inset 0 6px 0 rgba(255,255,255,.42);}
.shdm__now[data-shdm-world="approach"]{border-color:rgba(140,74,34,.3);background:radial-gradient(circle at 50% 16%,#fff8eb 0,#fff2dc 38%,#efe0c9 100%);box-shadow:inset 0 -6px 0 rgba(140,74,34,.18);}
.shdm__now[data-shdm-world="arrival"]{border-color:rgba(58,78,61,.26);background:linear-gradient(180deg,#f1ead8 0%,#e7ddc7 100%);box-shadow:inset 0 -6px 0 rgba(58,78,61,.16);}
.shdm__now[data-shdm-world="overnight"]{border-color:rgba(49,43,54,.24);background:linear-gradient(180deg,#ede5d7 0%,#d8cbb8 100%);box-shadow:inset 0 -6px 0 rgba(49,43,54,.18);}
.shdm__now[data-shdm-world="road_character"]{border-color:rgba(117,87,58,.24);background:linear-gradient(180deg,#fff7e9 0%,#eee1cb 100%);box-shadow:inset 0 -6px 0 rgba(117,87,58,.14);}
.shdm__ritual[data-shdm-session-state="denied"] .shdm__now{border-color:rgba(33,28,22,.12);background:#fff9ed;box-shadow:inset 0 -6px 0 rgba(33,28,22,.08);}
.shdm__ritual[data-shdm-session-state="ended"] .shdm__now{border-color:rgba(33,28,22,.16);background:#efe4d0;box-shadow:inset 0 -6px 0 rgba(33,28,22,.12);}
.shdm__rhythm{margin:16px 0 0;}
.shdm__rhythm-row{display:grid;grid-template-columns:128px minmax(0,1fr);gap:8px 16px;align-items:center;padding:13px 0;border-top:1px solid rgba(33,28,22,.1);}
.shdm__rhythm-label{color:#8a4b1d;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.shdm__rhythm-hint{grid-column:2;color:#766b5d;font-size:12px;line-height:1.4;}
.shdm__role{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.shdm__role button,.shdm__chip,.shdm__control{border:1px solid rgba(33,28,22,.16);border-radius:999px;background:#fffaf0;color:#211c16;cursor:pointer;font:850 12px/1.1 inherit;}
.shdm__role button{min-height:40px;padding:0 16px;}
.shdm__role button[aria-pressed="true"],.shdm__chip[aria-pressed="true"]{border-color:#b85f24;background:#2b241c;color:#fff4e2;}
.shdm__chips{display:flex;flex-wrap:wrap;gap:7px;}
.shdm__chip{min-height:40px;padding:0 13px;text-transform:capitalize;}
.shdm__empty{display:inline-flex;min-height:40px;align-items:center;color:#766b5d;font-size:12px;}
.shdm__controls{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 2px;}
.shdm__control{min-height:40px;padding:0 15px;background:#b85f24;color:#fff7ec;border-color:rgba(184,95,36,.5);}
.shdm__control:disabled{cursor:not-allowed;opacity:.38;background:#eadbc3;color:#766b5d;}
.shdm__role button:focus-visible,.shdm__chip:focus-visible,.shdm__control:focus-visible{outline:2px solid #b85f24;outline-offset:2px;}
.shdm__foot-note{margin:0;color:#d7c4a5;font-size:12.5px;line-height:1.6;font-weight:600;text-transform:none;letter-spacing:0;}
/* Drive Mode J-A8: passenger-only Hunt Board noticing micro-experience */
.shdm__huntboard{margin:0 34px 22px;padding:20px 22px;border:1px solid rgba(33,28,22,.14);border-radius:10px;background:linear-gradient(180deg,#2b241c 0%,#211c16 100%);color:#fff7ec;}
.shdm__hb-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 12px;}
.shdm__hb-kicker{margin:0;color:#d7a86a;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.shdm__hb-lens{margin:0;color:#fff7ec;font-size:clamp(18px,2.6vw,24px);line-height:1.1;font-weight:900;}
.shdm__hb-prompts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.shdm__hb-prompt{position:relative;padding-left:15px;color:#ece0cb;font-size:14.5px;line-height:1.5;}
.shdm__hb-prompt::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:#d7a86a;}
.shdm__hb-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:15px 0 0;}
.shdm__hb-cycle{min-height:38px;padding:0 15px;border:1px solid rgba(215,168,106,.5);border-radius:999px;background:transparent;color:#fff7ec;cursor:pointer;font:850 12px/1.1 inherit;}
.shdm__hb-cycle:focus-visible{outline:2px solid #d7a86a;outline-offset:2px;}
.shdm__hb-aid{min-width:0;color:#bba98c;font-size:12px;line-height:1.4;}
@media(max-width:820px){
  .shdm__ritual{margin:0 18px 16px;}
  .shdm__now{padding:18px;}
  .shdm__rhythm-row{grid-template-columns:1fr;}
  .shdm__rhythm-hint{grid-column:1;}
  .shdm__huntboard{margin:0 18px 16px;padding:16px;}
  .shdm__hb-cycle{width:100%;}
}
.shdm__hb-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0 0;}
.shdm__hb-card{display:grid;gap:8px;align-content:start;min-width:0;padding:13px;border:1px solid rgba(215,168,106,.24);border-radius:10px;background:rgba(255,247,236,.07);}
.shdm__hb-card-family{margin:0;color:#d7a86a;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.shdm__hb-card-prompt{margin:0;color:#fff7ec;font-size:14px;line-height:1.45;font-weight:700;}
.shdm__hb-ack{justify-self:start;min-height:38px;padding:0 13px;border:1px solid rgba(215,168,106,.48);border-radius:999px;background:rgba(255,247,236,.08);color:#fff7ec;cursor:pointer;font:850 12px/1.1 inherit;}
.shdm__hb-ack[aria-pressed="true"]{background:#fff7ec;color:#211c16;border-color:#fff7ec;}
.shdm__hb-ack:focus-visible{outline:2px solid #d7a86a;outline-offset:2px;}
@media(max-width:820px){
  .shdm__hb-cards{grid-template-columns:1fr;}
  .shdm__hb-ack{width:100%;justify-self:stretch;}
}
/* Drive Mode J-A14: Road Radio optional sound seam (driver-facing only) */
.shdm__radio{margin:0 34px 22px;padding:18px 22px;border:1px solid rgba(184,95,36,.22);border-radius:10px;background:#fff7e9;box-shadow:inset 0 -5px 0 rgba(184,95,36,.12);}
.shdm__radio-head{margin:0 0 13px;}
.shdm__radio-kicker{margin:0;color:#8a4b1d;font-size:11px;line-height:1;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.shdm__radio-note{margin:8px 0 0;color:#5f5346;font-size:13px;line-height:1.5;font-weight:650;}
.shdm__radio-controls{display:flex;flex-wrap:wrap;gap:8px;}
.shdm__radio-btn{min-height:42px;padding:0 16px;border:1px solid rgba(33,28,22,.16);border-radius:999px;background:#fffaf0;color:#211c16;cursor:pointer;font:850 12px/1.1 inherit;}
.shdm__radio-btn[aria-pressed="true"]{border-color:#b85f24;background:#2b241c;color:#fff4e2;}
.shdm__radio-btn:focus-visible{outline:2px solid #b85f24;outline-offset:2px;}
@media(max-width:820px){
  .shdm__radio{margin:0 18px 16px;padding:16px;}
  .shdm__radio-btn{width:100%;}
}

/* First-day strategy control — explicit late override for the 12-column planner grid. */
body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap[hidden] {
  display: none !important;
}

body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap:not([hidden]) {
  grid-column: 1 / span 7 !important;
  grid-row: 2 !important;
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 1px solid rgba(45, 67, 31, 0.14) !important;
  border-radius: 16px !important;
  background: rgba(255, 253, 244, 0.32) !important;
  box-shadow: none !important;
}

body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > label {
  display: grid !important;
  grid-template-columns: 108px minmax(220px, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}

body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > label > span {
  margin: 0 !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}

body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: auto !important;
  padding: 10px 38px 10px 14px !important;
  font-size: 14px !important;
}

body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > small {
  display: block !important;
  max-width: 46rem !important;
  margin: 7px 0 0 120px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  opacity: .66 !important;
}

body.home-page #planner .sh-rtv2-form > label.sh-rtv2-roundtrip:has(#rtv2RoundTrip) {
  grid-row: 3 !important;
}

body.home-page #planner .sh-rtv2-form #rtv2BuildButton {
  grid-column: 8 / span 5 !important;
  grid-row: 2 / span 2 !important;
}

@media (max-width: 1050px) {
  body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap:not([hidden]),
  body.home-page #planner .sh-rtv2-form > label.sh-rtv2-roundtrip:has(#rtv2RoundTrip) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  body.home-page #planner .sh-rtv2-form #rtv2BuildButton {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}

@media (max-width: 680px) {
  body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap:not([hidden]) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > label {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  body.home-page #planner .sh-rtv2-form > #rtv2TripStartStrategyWrap > small {
    margin-left: 0 !important;
  }
}

/* ============================================================================
   GOLDEN REPORT — Day dramaturgy & editorial scene polish  (20260629)
   Presentation-only layer. Gives each open day its own chapter character
   (tone, imagery scale, spacing, framing), a real arrival finale for Day 6,
   a map-less anchor for Day 4, and sharper roles across More In / Selected
   Focus / Road Signal. No DOM node, copy, geometry, gate or provenance
   behaviour is touched here — only CSS. All hooks already emitted by the
   renderer (day-kind / rhythm tokens / opener / finale).
   ========================================================================== */

/* --- Per-day chapter tone + accent: each day reads as its own chapter. ----- */
.shg__chapter--opener{background:#faf6ec;--shg-day-accent:#8b4d28;}
.shg__chapter[data-golden-rhythm~="coast_threshold"]{background:#f1f6f4;--shg-day-accent:#3f6b73;}
.shg__chapter[data-golden-rhythm~="northern_edge"]{background:#ecf0f1;--shg-day-accent:#3d4b53;}
.shg__chapter[data-golden-rhythm~="republican_arrival"]{background:#f8f2ea;--shg-day-accent:#8a4a3e;}
.shg__chapter[data-golden-rhythm~="long_coast"]{background:#eff5f0;--shg-day-accent:#2f6a5d;}
.shg__chapter--finale{background:#e9eee3;--shg-day-accent:#4f6139;}

/* --- Imagery scale: the headline photo is a scene sized to the day's tempo. */
/* Day 1 — wide departure panorama (the road begins). */
.shg__chapter--opener .shg__scene-fig--cover .shg__scene-img{height:clamp(500px,66vh,700px);}
/* Day 3 — closed harbour: tighter, denser, deliberately less airy. */
.shg__chapter[data-golden-rhythm~="northern_edge"] .shg__scene-fig--cover .shg__scene-img{height:clamp(372px,46vh,512px);}
/* Day 4 — object & history: a contained, focused "object plate". */
.shg__chapter[data-golden-rhythm~="republican_arrival"] .shg__scene-fig{max-width:912px;}
.shg__chapter[data-golden-rhythm~="republican_arrival"] .shg__scene-fig--cover .shg__scene-img{height:clamp(438px,55vh,592px);}
/* Day 6 — grand mountain finale. */
.shg__chapter--finale .shg__scene-fig--cover .shg__scene-img{height:clamp(560px,74vh,784px);}

/* --- Spacing tempo: compress the hard day, open the transition day. -------- */
.shg__chapter[data-golden-rhythm~="northern_edge"] .shg__chapter-intro{padding-top:38px;padding-bottom:20px;}
.shg__chapter[data-golden-rhythm~="northern_edge"] .shg__chapter-body{padding-top:24px;}
.shg__chapter[data-golden-rhythm~="northern_edge"] .shg__discovery{margin-top:28px;}
.shg__chapter[data-golden-rhythm~="long_coast"] .shg__chapter-intro{padding-top:64px;}
.shg__chapter[data-golden-rhythm~="long_coast"] .shg__chapter-body{padding-top:44px;}

/* --- Day 1 departure cue: a strong "the road begins" mark above the kicker. */
.shg__chapter--opener .shg__chapter-kicker::before{
  content:"";display:block;width:48px;height:4px;margin:0 0 15px;
  background:var(--shg-day-accent);
}

/* --- Day 4 map-less anchor: a deliberate chapter-opening rule so the hidden
   map never reads as a missing module. No invented copy — pure framing. ----- */
.shg__chapter[data-golden-rhythm~="republican_arrival"] .shg__chapter-intro{
  padding-top:56px;border-top:3px solid var(--shg-day-accent);
}
.shg__chapter[data-golden-rhythm~="republican_arrival"] .shg__chapter-head{
  border-left:4px solid var(--shg-day-accent);padding-left:18px;
}

/* --- Day 6 finale: a dedicated arrival-closure composition (real section). -- */
.shg__chapter--finale{padding-bottom:0;}
.shg__finale{margin-top:60px;background:var(--shg-deep);color:#ece2cf;border-top:5px solid var(--shg-day-accent,#4f6139);}
.shg__finale-inner{max-width:760px;margin:0 auto;padding:62px 24px 70px;text-align:center;}
.shg__finale-kicker{margin:0 0 14px;font:850 10.5px/1 Outfit,system-ui;letter-spacing:.26em;text-transform:uppercase;color:#cdbb86;}
.shg__finale-title{margin:0;font:900 clamp(34px,4.4vw,52px)/1.02 Outfit,system-ui;letter-spacing:-.03em;color:#fbf4e6;}
.shg__finale-route{display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0 0;font:850 12px/1 Outfit,system-ui;letter-spacing:.16em;text-transform:uppercase;color:#d8cdb6;}
.shg__finale-arrow{color:var(--shg-day-accent,#8aa06a);font-size:16px;}
.shg__finale-copy{max-width:54ch;margin:22px auto 0;font:600 14.5px/1.66 Outfit,system-ui;color:#b6ab97;}

/* --- Day 4 object/history: a calm, focused object plate. The supporting focus
   choice (More In) drops into the body as a quieter, secondary decision. ----- */
.shg__chapter--object-lead{}
.shg__chapter-body--object{padding-top:30px;}
.shg__chapter-body--object .shg__alts{margin-top:0;margin-bottom:14px;padding:16px 18px;background:#f4ede2;border-top-width:2px;}
.shg__chapter-body--object .shg__alts-label{font-size:16px;}
.shg__chapter-body--object .shg__alts-row .shg__alt-img{height:64px;flex-basis:64px;}
.shg__chapter[data-golden-rhythm~="republican_arrival"] .shg__scene-fig{box-shadow:0 16px 40px rgba(60,40,32,.12);}

/* --- Day 1 departure builder: the focus surface reads as "open the road on a
   district", a deliberate departure layer rather than a generic card shelf. --- */
.shg__alts--departure{background:#f5ead8;border-top:3px solid var(--shg-day-accent,#8b4d28);}
.shg__alts--departure .shg__alts-label{color:#7a4422;}
.shg__alts--departure .shg__alts-guidance{color:#7c5333;font-weight:700;}
.shg__alts--departure .shg__alt-context-kicker{letter-spacing:.06em;}

/* --- More In: a decision surface, not a photo gallery. Photos step back,
   the three roles lead, and only selectable choices look actionable. -------- */
.shg__alts-row .shg__alt-img{height:78px;flex-basis:78px;}
.shg__alt--current .shg__alt-static,
.shg__alt[data-golden-focus-role="current"] .shg__alt-static{
  box-shadow:inset 0 0 0 2px #176847, inset 0 6px 0 #176847;background:#f6faf4;
}
.shg__alt--choice .shg__alt-btn{border-color:rgba(154,90,42,.34);}
.shg__alt--choice .shg__alt-action{
  margin:auto -4px 0;padding:9px 11px;border-top:0;border-radius:2px;
  background:#8a4f26;color:#fff;
}
.shg__alt--context .shg__alt-context-card{background:#ece9e1;border-style:dashed;border-color:rgba(58,65,52,.34);}

/* --- Selected Focus: a stronger "the report changed" transformation. ------- */
.shg__scene-fig--selected-focus{
  box-shadow:0 22px 54px rgba(20,34,26,.30);outline:3px solid #176847;outline-offset:-3px;
}
.shg__selected-focus-scene{border-top-width:6px;border-top-color:var(--shg-day-accent,#bc7b43);}
.shg__selected-focus-state{
  background:#176847;border-color:#176847;color:#fff;font-weight:850;
}

/* --- Mobile tempo for the per-day treatments. ------------------------------ */
@media (max-width:720px){
  .shg__chapter--opener .shg__scene-fig--cover .shg__scene-img{height:54svh;min-height:360px;max-height:520px;}
  .shg__chapter[data-golden-rhythm~="northern_edge"] .shg__scene-fig--cover .shg__scene-img{height:42svh;min-height:300px;max-height:420px;}
  .shg__chapter[data-golden-rhythm~="republican_arrival"] .shg__scene-fig--cover .shg__scene-img{height:48svh;min-height:330px;max-height:470px;}
  .shg__chapter--finale .shg__scene-fig--cover .shg__scene-img{height:60svh;min-height:400px;max-height:560px;}
  .shg__chapter[data-golden-rhythm~="long_coast"] .shg__chapter-intro{padding-top:42px;}
  .shg__chapter[data-golden-rhythm~="republican_arrival"] .shg__chapter-intro{padding-top:40px;}
  .shg__chapter[data-golden-rhythm~="republican_arrival"] .shg__chapter-head{padding-left:13px;}
  .shg__finale{margin-top:40px;}
  .shg__finale-inner{padding:44px 18px 50px;}
  .shg__finale-route{gap:10px;font-size:11px;}
  .shg__chapter-body--object .shg__alts{padding:14px;}
}

/* --- Sticky route-rail offset: the masthead (54px) + day rail (49px) form a
   ~103px sticky stack. Day navigation uses scrollIntoView({block:'start'}),
   which otherwise lands chapters/jumps BEHIND the rail. scroll-margin-top makes
   navigated content land just below it. The rail keeps its z-index/nav role. -- */
.shg__chapter,
.shg__chapter .shg__discovery,
.shg__chapter .shg__roadside{scroll-margin-top:112px;}
@media (max-width:720px){
  .shg__chapter,
  .shg__chapter .shg__discovery,
  .shg__chapter .shg__roadside{scroll-margin-top:104px;}
}

/* --- More In, compact decision surface: reduce its visual competition with the
   main scene so it reads as a choice strip, not a photo gallery. Compacting is
   DESKTOP-ONLY; mobile keeps full-height, obvious decision targets. ---------- */
.shg__alts{max-width:1080px;margin-left:auto;margin-right:auto;}
@media (min-width:721px){
  .shg__alts-row .shg__alt-btn,
  .shg__alts-row .shg__alt-static,
  .shg__alts-row .shg__alt-context-card{min-height:182px;}
  .shg__alts-row .shg__alt-img{height:62px;flex-basis:62px;}
  .shg__alts-row .shg__alt-name{font-size:13.5px;}
  .shg__alts-row .shg__alt-context-kicker{margin-bottom:6px;padding:3px 5px;font-size:8.5px;}
  .shg__alts-row .shg__alt-summary{font-size:11.5px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
}

/* ============================================================================
   GOLDEN REPORT — Pass 3: art direction & mobile editorial flow (20260629)
   Presentation-only. Quieter mobile route rail, stronger title→Day Story→image
   continuity, per-day cadence for Days 1–3, and a premium guest-wall threshold.
   No DOM, copy, geometry, gate, media or provenance behaviour changes here.
   ========================================================================== */

/* --- 3. Title → Day Story → primary image read as one editorial unit. ------
   The Day Story stops floating as a separate card: it sits closer to the title,
   loses its heavy drop shadow, gains a day-accent spine, and the scene picks up
   the same accent so the three elements feel authored together. --------------*/
.shg__day-story{
  margin-top:16px;
  box-shadow:none;
  border-top:0;
  border-left:4px solid var(--shg-story-accent);
  background:linear-gradient(180deg,rgba(255,253,248,.0),rgba(255,253,248,.0));
}
.shg__day-story-part--focus{padding-top:14px;}
.shg__day-story-lede{max-width:30ch;}
.shg__scene-fig--cover{border-top:3px solid var(--shg-day-accent,#8a5735);}
.shg__chapter-intro{padding-bottom:24px;}

/* --- 4. Day-level identity stays above the individual POI choice. ----------
   The chapter eyebrow (Day N · theme) is the route-level identity; make it read
   as a standing chapter label so a selected focus never hides the day's character
   (e.g. Day 2 still feels like a coast-and-fortress chapter). Existing label text
   only — no new copy. --------------------------------------------------------*/
.shg__chapter-kicker{
  display:inline-flex;align-items:center;gap:9px;
  padding:5px 0 0;font-size:11.5px;color:var(--shg-day-accent,#7b705f);
}
.shg__chapter-kicker::before{
  content:"";width:26px;height:3px;background:var(--shg-day-accent,#7b705f);flex:0 0 auto;
}

/* --- 2. Per-day cadence for the opening leg (Days 1–3). --------------------*/
/* Day 1 — city departure opening: more air around the title, cover-scale scene. */
.shg__chapter--opener .shg__chapter-intro{padding-top:54px;}
.shg__chapter--opener .shg__chapter-title{margin-top:4px;}
/* Day 3 — compressed northern/harbour: tighter rhythm, less repeated air. */
.shg__chapter[data-golden-rhythm~="northern_edge"] .shg__day-story{margin-top:12px;}
.shg__chapter[data-golden-rhythm~="northern_edge"] .shg__day-story-lede{font-size:clamp(21px,2.2vw,26px);}
.shg__chapter[data-golden-rhythm~="northern_edge"] .shg__chapter-body{padding-top:20px;}

/* --- 5. Guest-wall threshold: the open leg lands, the wall is the next leg. -
   A premium transition band above the wall, no new copy/claims. --------------*/
.shg__wall{
  background:linear-gradient(180deg,#efe7d9,#e7ddcc);
  border-top:1px solid rgba(33,29,24,.12);
}
.shg__wall::before{
  content:"";display:block;width:54px;height:4px;margin:0 auto;
  background:#9b6338;opacity:.7;
}
.shg__wall-inner{padding-top:46px;}
.shg__wall-eyebrow{color:#8a5a32;}

/* --- 1. Quieter, lighter mobile sticky route rail. ------------------------*/
@media (max-width:720px){
  .shg__masthead{min-height:44px;padding:5px 12px;background:rgba(29,25,21,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
  .shg__mast-brand{font-size:10px;letter-spacing:.05em;}
  .shg__mast-trust-badge{display:none;}
  .shg__back{padding:7px 11px;font-size:12px;}
  .shg__close{width:32px;height:32px;font-size:18px;}
  .shg__progress{background:rgba(245,240,231,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
  .shg__progress-rail{padding:3px 10px;gap:2px;}
  .shg__progress-step{min-width:58px;}
  .shg__progress-btn{min-height:30px;padding:3px 6px;gap:5px;}
  .shg__progress-num{width:17px;height:17px;font-size:9.5px;}
  .shg__progress-label{font-size:9.5px;}
  .shg__progress-step:not(.is-active) .shg__progress-label{opacity:.62;}
  .shg__progress-step.is-active .shg__progress-btn{border-bottom-width:2px;}
  /* Smaller sticky stack → tighten the navigation landing offset to match. */
  .shg__chapter,
  .shg__chapter .shg__discovery,
  .shg__chapter .shg__roadside{scroll-margin-top:90px;}
  /* Mobile continuity + Day 3 compression. */
  .shg__day-story{margin-top:13px;}
  .shg__chapter--opener .shg__chapter-intro{padding-top:34px;}
  .shg__chapter[data-golden-rhythm~="northern_edge"] .shg__chapter-intro{padding-top:30px;}
  .shg__wall-inner{padding-top:38px;}
}
