:root{--ink:#152d33;--muted:#687674;--cream:#f7f5ee;--paper:#fffefa;--line:#dde1d9;--gold:#af8645;--gold-light:#e6cf9c;--green:#315f50;--soft:#edf1e9;--shadow:0 14px 38px #152d330b;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;line-height:1.55;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}button,a,input,select{touch-action:manipulation}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}img{max-width:100%;display:block}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold)}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(36px,4.6vw,62px)}h2{font-size:clamp(29px,3.1vw,39px)}h3{font-size:18px;line-height:1.3;letter-spacing:-.025em}p{font-size:15px}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--gold);margin-bottom:12px}.skip-link{position:fixed;top:-60px;left:20px;z-index:50;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:12px}.sidebar{width:224px;height:100dvh;position:fixed;left:0;top:0;padding:33px 21px;border-right:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:8px;align-items:center}.brand img{width:34px;height:40px;object-fit:contain}.brand span{font-size:13px;font-weight:800;letter-spacing:.05em}.brand small{display:block;font-size:6px;letter-spacing:.13em;margin-top:3px}.sidebar-intro{font-family:Georgia,serif;font-size:19px;margin:46px 9px 30px;line-height:1.4;color:var(--muted)}.nav-item{display:flex;gap:13px;align-items:center;min-height:52px;padding:13px 14px;border-radius:9px;margin:6px 0;font-size:13px;font-weight:600;color:var(--muted)}.nav-item.active{background:var(--soft);color:var(--ink)}.nav-item.active svg{color:var(--green)}.sidebar-bottom{margin-top:auto;display:grid;gap:12px;padding:15px 10px 0;font-size:11px;color:var(--muted)}.sidebar-bottom>span{font-size:9px;margin-top:20px;color:#87918b}.text-button{border:0;padding:0;background:none;text-align:left;color:inherit;text-decoration:underline;text-underline-offset:4px;font-size:inherit}.app-shell{margin-left:224px}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;background:#f7f5eef5;backdrop-filter:blur(16px);z-index:15;border-bottom:1px solid #dde1d970}.desktop-page-label{font-size:12px;font-weight:700}.mobile-brand{display:none}.header-actions{display:flex;align-items:center;gap:17px}.icon-button{border:1px solid var(--line);border-radius:50%;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:transparent;flex:none}.icon-button:hover{background:var(--soft)}.header-contact{font-size:11px;font-weight:700}.header-contact span{margin-left:7px;color:var(--gold)}.offline-badge{font-size:10px;background:var(--soft);padding:4px 8px;border-radius:5px}#main{max-width:1216px;margin:auto;padding:28px 38px 36px;min-height:calc(100dvh - 153px)}#main:focus{outline:none}.app-footer{max-width:1216px;margin:auto;border-top:1px solid var(--line);padding:20px 38px;display:flex;gap:18px;align-items:center;color:var(--muted);font-size:10px}.app-footer>span{margin-right:auto}.bottom-nav{display:none}.loading-state{padding:80px 0;max-width:600px}.loading-mountain{color:var(--gold);font-size:60px}.loading-state p{margin-top:20px}.hero{height:480px;min-height:400px;border-radius:16px;overflow:hidden;position:relative;isolation:isolate;background:var(--ink)}.hero>img{width:100%;height:100%;object-fit:cover;object-position:62% 46%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b202bd6 0%,#102d3980 48%,#122f3526 100%);z-index:0}.hero-content{position:absolute;inset:0;padding:43px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:white;max-width:600px}.hero .eyebrow{color:var(--gold-light)}.hero h1{font-size:clamp(42px,4.2vw,61px);max-width:480px}.hero p{max-width:350px;margin:21px 0 24px;font-size:14px;line-height:1.7;color:#fffffff0}.hero .hero-label{position:absolute;right:25px;bottom:24px;z-index:1;color:white;font-size:9px;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:7px}.hero-label:before{content:'';width:5px;height:5px;background:var(--gold-light);border-radius:50%}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:44px;padding:12px 18px;border-radius:7px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:12px;font-weight:700;text-align:center;line-height:1.4}.button:hover{background:#25454d}.button.gold{background:var(--gold-light);border-color:var(--gold-light);color:var(--ink)}.button.outline{background:transparent;color:var(--ink);border-color:#abb7ae}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button svg{width:17px;height:17px}.text-link{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:12px;border-bottom:1px solid #af864566;padding-bottom:3px}.text-link svg{height:15px;width:15px}.section{margin-top:46px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.section-head .eyebrow{margin-bottom:8px}.section-head p{margin-top:12px;color:var(--muted);max-width:540px;font-size:13px}.section-head>h2{font-size:28px}.intro-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:26px 6px 0}.intro-strip article{display:flex;align-items:center;gap:12px}.intro-strip svg{color:var(--gold);width:27px;height:27px}.intro-strip strong{font-size:11px;display:block}.intro-strip span{font-size:10px;color:var(--muted);display:block;margin-top:2px}.tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tour-card{border-radius:12px;background:var(--paper);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.tour-card-image{position:relative;height:178px;display:block;overflow:hidden}.tour-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.tour-card:hover .tour-card-image img{transform:scale(1.03)}.tour-card-image .image-tag{position:absolute;top:13px;left:13px;font-size:8px;background:#fffefaee;border-radius:4px;padding:5px 8px;font-weight:700}.tour-card-body{padding:21px}.tour-card .tour-duration{color:var(--gold);font-size:10px;font-weight:700;margin-bottom:9px}.tour-card h3{font-family:Georgia,serif;font-weight:400;font-size:23px;line-height:1.12;min-height:50px}.tour-card .tour-character{font-size:11px;color:var(--muted);margin:10px 0 15px;min-height:34px}.tour-card .tour-meta{font-size:10px;display:flex;align-items:center;gap:6px;color:var(--muted);padding-top:12px;border-top:1px solid var(--line);margin-bottom:16px}.tour-card .tour-meta svg{width:14px;height:14px}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:5px}.card-price small{font-size:9px;color:var(--muted)}.card-price strong{font-size:20px;margin-left:4px;font-family:Georgia,serif;font-weight:400}.card-bottom .round-arrow{border:1px solid var(--line);border-radius:50%;height:32px;width:32px;display:flex;justify-content:center;align-items:center}.round-arrow svg{width:15px;height:15px}.base-banner{display:grid;grid-template-columns:.95fr 1.05fr;border-radius:12px;overflow:hidden;background:var(--ink);color:white;min-height:280px}.base-banner img{height:100%;width:100%;object-fit:cover}.base-banner>div{padding:34px}.base-banner p{font-size:13px;color:#d7e2df;margin:16px 0 23px}.base-banner .eyebrow{color:var(--gold-light)}.base-banner h2{font-size:31px}.base-banner .text-link{color:white}.road-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.road-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}.road-card-image{height:166px;display:block;overflow:hidden}.road-card-image img{width:100%;height:100%;object-fit:cover}.road-card-body{padding:18px}.road-card h3{font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.16}.road-country{font-size:9px;color:var(--muted);margin-bottom:7px}.road-card .road-tagline{font-size:11px;color:var(--muted);margin-top:10px;min-height:36px}.road-card .grade{margin-top:14px}.save-road{position:absolute;right:11px;top:11px;background:#fffefaf0;width:34px;height:34px;box-shadow:0 2px 10px #152d3312}.save-road svg{width:16px;height:16px}.save-road[aria-pressed=true]{background:var(--gold-light);border-color:var(--gold-light)}.save-road[aria-pressed=true] svg{fill:var(--ink)}.grade{font-size:9px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:4px 7px;border-radius:4px}.grade-dot{width:6px;height:6px;border-radius:50%;background:#5b7971}.grade-red .grade-dot{background:#b55344}.grade-blue .grade-dot{background:#3b6f9d}.grade-green .grade-dot{background:#3f7956}.grade-black .grade-dot{background:#242727}.preparation-card{display:flex;align-items:center;gap:21px;background:#e7ede4;border:1px solid #d6dfd2;border-radius:12px;padding:25px}.preparation-card>svg{height:38px;width:38px;color:var(--green)}.preparation-card h3{font-size:16px}.preparation-card p{font-size:12px;color:var(--muted);margin-top:5px}.preparation-card .button{margin-left:auto;white-space:nowrap}.page-heading{margin-bottom:29px;max-width:750px}.page-heading h1{font-size:46px}.page-heading p{font-size:14px;margin-top:16px;color:var(--muted);max-width:650px}.page-heading .eyebrow{margin-bottom:13px}.intro-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:21px}.notice{border-left:3px solid var(--gold);padding:14px 17px;background:#ebe9df;border-radius:0 7px 7px 0;margin:25px 0;font-size:12px;color:#4b605f;line-height:1.7}.notice strong{display:block;font-size:12px;color:var(--ink);margin-bottom:4px}.comparison-wrap{overflow:auto;scroll-margin-top:100px}.comparison-table{width:100%;border-collapse:collapse;min-width:620px;font-size:12px;background:var(--paper);border:1px solid var(--line)}.comparison-table th,.comparison-table td{padding:17px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.comparison-table thead{background:var(--ink);color:white}.comparison-table thead th{font-size:12px;font-weight:600}.comparison-table tbody th{font-size:11px;font-weight:600;width:24%}.comparison-table tbody tr:nth-child(even){background:var(--soft)}.comparison-table td{font-size:11px}.comparison-table td strong{display:block;font-size:13px}.comparison-table .muted{font-size:10px}.join-card{border:1px solid var(--line);padding:28px;border-radius:12px;background:var(--paper)}.join-card h2{font-size:29px}.join-card p{font-size:13px;color:var(--muted);margin:15px 0 18px;max-width:750px}.join-card .join-eyebrow{display:flex;gap:9px;align-items:center;margin-bottom:14px;font-size:10px;color:var(--gold);font-weight:700}.join-card .join-eyebrow svg{width:19px;height:19px}.back-link{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-bottom:19px}.back-link svg{height:14px;width:14px}.detail-hero{height:350px;border-radius:13px;overflow:hidden;position:relative}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#10252dc9,transparent 75%)}.detail-hero-text{position:absolute;bottom:27px;left:30px;color:white;z-index:1;right:25px}.detail-hero-text .eyebrow{color:var(--gold-light)}.detail-hero h1{font-size:44px}.detail-hero p{font-size:11px;margin-top:13px}.detail-columns{display:grid;grid-template-columns:1.3fr .9fr;gap:30px;margin-top:30px}.detail-copy h2{font-size:31px}.detail-copy>p{font-size:14px;color:var(--muted);margin:16px 0 22px}.detail-copy ul{padding-left:17px;font-size:12px;color:var(--muted);line-height:1.9}.panel{border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:25px}.panel h3{font-size:15px}.panel+.panel{margin-top:18px}.stat-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;gap:12px}.stat-row strong{font-size:27px;font-family:Georgia,serif;font-weight:400;line-height:1}.stat-row span{font-size:10px;color:var(--muted);margin-top:6px;display:block}.tour-detail-date{margin-top:20px}.date-row{display:grid;grid-template-columns:1fr auto;gap:7px;border-top:1px solid var(--line);padding:15px 0;align-items:center}.date-row:first-child{border-top:0}.date-row strong{display:block;font-size:11px}.date-row small{color:var(--muted);font-size:10px}.date-row .date-price{text-align:right}.date-price b{font-size:15px;font-weight:600}.price-note{font-size:10px;color:var(--muted);line-height:1.7;margin:9px 0 18px}.panel .button{width:100%}.panel .button+.button{margin-top:10px}.plain-details{border-top:1px solid var(--line);padding:17px 0}.plain-details summary{font-size:12px;font-weight:700;cursor:pointer}.plain-details p,.plain-details ul{font-size:12px;color:var(--muted);margin-top:13px}.filters{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-bottom:20px}.field-label{font-size:10px;font-weight:700;display:block;margin-bottom:6px}.filters select,.filters input,.field select{width:100%;border:1px solid #ccd5cb;background:var(--paper);color:var(--ink);border-radius:7px;padding:12px;font-size:12px;min-height:44px}.filters input::placeholder{color:#74817a}.results-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px;margin-bottom:19px}.filter-toggle{border:1px solid #c8d1c6;border-radius:6px;padding:7px 11px;font-size:10px;background:transparent;display:flex;gap:7px;align-items:center}.filter-toggle svg{width:13px;height:13px}.filter-toggle[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.empty-state{border:1px dashed #bdcbbd;border-radius:10px;text-align:center;padding:50px 22px;background:#eef1e9}.empty-state h3{font-family:Georgia,serif;font-size:25px;font-weight:400}.empty-state p{color:var(--muted);font-size:13px;margin:12px auto 20px;max-width:410px}.road-story{white-space:pre-line}.photo-credit{font-size:9px;color:var(--muted);line-height:1.6;margin-top:8px}.photo-credit a{text-decoration:underline;text-underline-offset:2px}.road-connection{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px;gap:12px}.road-connection span{font-size:9px;color:var(--muted);display:block;margin-top:4px}.road-connection svg{width:17px;height:17px}.grade-explanation{display:flex;gap:13px;align-items:flex-start;background:var(--soft);border-radius:8px;padding:17px;margin-top:20px}.grade-explanation p{font-size:11px;color:var(--muted);margin-top:7px}.ride-top{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.ride-planner{background:var(--ink);border-radius:13px;padding:30px;color:white}.ride-planner .eyebrow{color:var(--gold-light)}.ride-planner h2{font-size:32px}.ride-planner>p{font-size:12px;margin-top:14px;color:#d8e2dd}.ride-planner label{display:block;color:#d8e2dd;font-size:10px;margin:22px 0 7px}.ride-planner select{width:100%;min-height:45px;padding:12px;background:#fffefa;color:var(--ink);font-size:12px;border:1px solid var(--line);border-radius:6px}.booking-state{padding:28px;border:1px solid var(--line);background:var(--paper);border-radius:13px;display:flex;flex-direction:column;align-items:flex-start}.booking-state>svg{width:29px;height:29px;color:var(--gold);margin-bottom:16px}.booking-state h3{font-size:15px}.booking-state p{font-size:12px;color:var(--muted);margin:13px 0 19px;line-height:1.7}.booking-state .text-link{margin-top:auto}.checklist-section{max-width:760px}.checklist-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.checklist-header h2{font-size:29px}.checklist-header>span{font-size:11px;color:var(--muted)}.progress-track{height:5px;border-radius:4px;background:#dce3d6;overflow:hidden;margin:18px 0 10px}.progress-fill{height:100%;border-radius:4px;background:var(--green);transition:width .25s}.check-item{display:flex;align-items:center;gap:15px;padding:19px 2px;border-bottom:1px solid var(--line);cursor:pointer}.check-item input{appearance:none;width:23px;height:23px;border:1px solid #9aaa99;border-radius:50%;background:transparent;display:grid;place-content:center;flex:none;margin:0}.check-item input:checked{background:var(--green);border-color:var(--green)}.check-item input:checked:after{content:'✓';color:white;font-size:14px;font-weight:700}.check-item strong{font-size:12px;display:block}.check-item small{color:var(--muted);font-size:10px;display:block;margin-top:3px}.check-item:has(input:checked) strong{color:var(--green)}.checklist-note{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font-size:10px;color:var(--muted)}.ride-summary{margin-top:24px;border:1px solid var(--line);border-radius:10px;padding:22px;background:var(--paper)}.ride-summary p{font-size:12px;color:var(--muted);margin:10px 0 17px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:28px}.contact-card .contact-icon{height:43px;width:43px;background:var(--soft);color:var(--green);display:grid;place-content:center;border-radius:9px;margin-bottom:21px}.contact-card h2{font-size:29px}.contact-card p{font-size:13px;color:var(--muted);margin:16px 0 20px}.contact-line{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:17px 0;font-size:13px}.contact-line svg{width:18px;height:18px;color:var(--gold)}.contact-photo{width:100%;height:260px;object-fit:cover;border-radius:12px;margin-top:27px}.install-card{border-radius:11px;background:var(--soft);padding:25px;margin-top:25px}.install-card p{font-size:12px;color:var(--muted);margin:11px 0 16px}.page-end{margin-top:30px;padding-top:23px;border-top:1px solid var(--line);display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted)}dialog{width:min(500px,calc(100% - 32px));padding:34px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0c232650;max-height:85dvh;overflow:auto}dialog::backdrop{background:#0e24298f;backdrop-filter:blur(5px)}dialog h2{font-size:31px;max-width:360px;margin:10px 0 20px}dialog p,dialog li{font-size:13px;color:var(--muted);line-height:1.8}dialog p+p{margin-top:14px}dialog ol{padding-left:20px}dialog .button{margin-top:24px}.dialog-close{position:absolute;right:14px;top:14px;font-size:24px;width:30px;height:30px}.toast{position:fixed;left:calc(50% + 112px);bottom:25px;transform:translate(-50%,12px);opacity:0;background:var(--ink);color:white;font-size:12px;padding:12px 18px;border-radius:9px;box-shadow:0 8px 30px #152d3330;pointer-events:none;transition:.2s;z-index:100;max-width:calc(100% - 40px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{padding:30px}.quiet-label{font-size:9px;letter-spacing:.04em;color:var(--muted);margin-top:11px}.full-width{width:100%}.install-hint{margin-top:25px;display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:9px;font-size:11px;color:var(--muted);background:var(--paper)}.install-hint svg{width:18px;height:18px;color:var(--gold)}.install-hint button{margin-left:auto;white-space:nowrap;font-size:10px}.link-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}.road-count-label{font-size:10px;color:var(--muted);margin-top:14px}
@media(min-width:1450px){#main{padding-top:35px}.hero{height:510px}}
@media(max-width:1120px){.sidebar{width:190px;padding-left:15px;padding-right:15px}.app-shell{margin-left:190px}.topbar{padding:0 26px}#main{padding:25px 26px}.app-footer{padding-left:26px;padding-right:26px}.tour-grid,.road-grid{gap:13px}.tour-card-body{padding:17px}.tour-card h3{font-size:21px}.hero-content{padding:33px}.hero{height:430px}.intro-strip{gap:10px}.intro-strip span{font-size:9px}.detail-columns{gap:20px}.toast{left:calc(50% + 95px)}}
@media(max-width:900px){.tour-grid{grid-template-columns:1fr}.tour-card{display:grid;grid-template-columns:.8fr 1.2fr}.tour-card-image{height:100%;min-height:210px}.tour-card h3{min-height:0}.tour-card .tour-character{min-height:0}.road-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.base-banner{grid-template-columns:1fr 1.1fr}.base-banner>div{padding:26px}.base-banner h2{font-size:27px}.preparation-card{padding:20px}.preparation-card .button{padding:11px;font-size:10px}.detail-columns{grid-template-columns:1fr}.detail-columns>aside{display:grid;grid-template-columns:1fr 1fr;gap:17px}.detail-columns>aside .panel+.panel{margin-top:0}.ride-top{grid-template-columns:1fr}.booking-state{display:block}.booking-state>svg{float:left;margin-right:15px;margin-bottom:5px}.booking-state p{margin-left:44px}.booking-state .text-link{margin-left:44px}.contact-grid{gap:15px}.contact-card{padding:23px}.contact-card h2{font-size:25px}}
@media(max-width:700px){:root{line-height:1.5}.sidebar{display:none}.app-shell{margin:0}.topbar{height:74px;padding:0 20px;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line)}.desktop-page-label{display:none}.mobile-brand{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;line-height:1.1}.mobile-brand small{display:block;font-size:6px;letter-spacing:.14em;color:var(--muted);font-weight:500;margin-top:5px}.header-actions{gap:13px}.header-contact{font-size:10px}.header-actions .icon-button{width:31px;height:31px}.header-actions svg{width:17px;height:17px}#main{padding:20px 20px 30px;min-height:calc(100dvh - 208px)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fffefaf7;backdrop-filter:blur(20px);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding:6px 13px max(8px,env(safe-area-inset-bottom))}.bottom-nav .nav-item{flex-direction:column;gap:3px;min-height:50px;padding:7px 4px 4px;font-size:9px;margin:0;border-radius:8px;font-weight:500}.bottom-nav .nav-item.active{background:transparent;color:var(--ink);font-weight:700}.bottom-nav .nav-item.active svg{color:var(--green);stroke-width:2}.bottom-nav .nav-item svg{width:22px;height:22px}.app-footer{padding:19px 20px 99px;gap:12px;font-size:8px}.app-footer>span{max-width:160px}.app-footer .text-button{font-size:8px}.hero{height:435px;border-radius:12px;min-height:0}.hero>img{object-position:61% 45%}.hero:after{background:linear-gradient(0deg,#0d252edb 0%,#1530385c 58%,#18343a14 100%)}.hero-content{padding:28px 25px;justify-content:flex-end;max-width:none}.hero .eyebrow{font-size:8px;margin-bottom:13px}.hero h1{font-size:41px;line-height:1.03;letter-spacing:-.03em;max-width:300px}.hero p{font-size:12px;margin:16px 0 20px;max-width:260px;line-height:1.65}.hero .hero-label{top:17px;left:19px;right:auto;bottom:auto;font-size:8px}.hero .button{font-size:11px;padding:12px 16px}.intro-strip{padding:24px 1px 0;gap:6px}.intro-strip article{flex-direction:column;text-align:center;gap:8px}.intro-strip svg{width:22px;height:22px}.intro-strip strong{font-size:9px}.intro-strip span{font-size:8px;margin-top:2px}.section{margin-top:35px}.section-head{gap:13px;margin-bottom:18px}.section-head h2,.section-head>h2{font-size:29px}.section-head .eyebrow{font-size:8px;margin-bottom:8px}.section-head .text-link{font-size:10px;gap:5px;white-space:nowrap}.section-head .text-link svg{width:12px;height:12px}.section-head p{font-size:12px}.tour-grid{gap:15px}.tour-card{display:grid;grid-template-columns:.78fr 1.22fr;border-radius:10px;min-height:219px}.tour-card-image{min-height:219px}.tour-card-image img{object-position:50% 50%}.tour-card-image .image-tag{font-size:7px;padding:4px 6px;left:9px;top:9px;max-width:93px}.tour-card-body{padding:18px 15px}.tour-card .tour-duration{font-size:8px;margin-bottom:8px}.tour-card h3{font-size:23px;min-height:0}.tour-card .tour-character{font-size:10px;margin:9px 0 11px;line-height:1.5;min-height:0}.tour-card .tour-meta{font-size:8px;padding-top:10px;margin-bottom:11px}.tour-card .tour-meta svg{width:11px;height:11px}.card-price small{font-size:8px}.card-price strong{font-size:18px}.card-bottom .round-arrow{height:27px;width:27px}.card-bottom .round-arrow svg{height:13px;width:13px}.base-banner{grid-template-columns:1fr;border-radius:10px}.base-banner img{height:190px;object-position:50% 43%}.base-banner>div{padding:26px}.base-banner .eyebrow{font-size:8px}.base-banner h2{font-size:30px}.base-banner p{font-size:12px}.road-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.road-card{border-radius:9px}.road-card-image{height:133px}.road-card-body{padding:13px}.road-card h3{font-size:21px}.road-country{font-size:8px;line-height:1.6}.road-card .road-tagline{font-size:10px;line-height:1.6;min-height:47px;margin-top:9px}.road-card .grade{font-size:8px;margin-top:12px;padding:3px 5px}.save-road{width:29px;height:29px;top:9px;right:9px}.save-road svg{width:14px;height:14px}.preparation-card{padding:21px;display:grid;grid-template-columns:30px 1fr;gap:13px}.preparation-card>svg{width:29px;height:29px;align-self:start;margin-top:2px}.preparation-card h3{font-size:14px}.preparation-card p{font-size:11px}.preparation-card .button{grid-column:2;margin:0;justify-self:start;font-size:10px;padding:10px 13px;min-height:38px}.install-hint{font-size:10px;padding:13px}.install-hint svg{width:16px;height:16px}.install-hint button{font-size:9px}.page-heading{margin-bottom:25px}.page-heading h1{font-size:38px}.page-heading p{font-size:13px;line-height:1.7;margin-top:15px}.page-heading .eyebrow{font-size:8px}.intro-actions{gap:10px}.intro-actions .button{font-size:10px;min-height:40px;padding:10px 13px}.notice{padding:13px 14px;font-size:11px;margin:23px 0}.comparison-table th,.comparison-table td{padding:14px 12px}.comparison-wrap{margin-left:-20px;margin-right:-20px;padding:0 20px}.join-card{padding:23px}.join-card h2{font-size:28px}.join-card p{font-size:12px}.join-card .join-eyebrow{font-size:9px}.detail-hero{height:300px;border-radius:10px}.detail-hero-text{left:23px;bottom:25px;right:20px}.detail-hero-text .eyebrow{font-size:8px}.detail-hero h1{font-size:38px}.detail-hero p{font-size:10px}.detail-columns{margin-top:25px;gap:24px}.detail-copy h2{font-size:30px}.detail-copy>p{font-size:13px}.detail-copy ul{font-size:12px}.detail-columns>aside{display:block}.detail-columns>aside .panel+.panel{margin-top:18px}.panel{padding:23px}.panel .button{font-size:11px}.date-row strong{font-size:12px}.date-row small{font-size:10px}.date-price b{font-size:17px}.tour-detail-date{margin-top:17px}.filters{grid-template-columns:1fr 1fr;gap:11px}.filters>label:first-child{grid-column:1/-1}.filters input,.filters select{padding:11px;font-size:11px}.field-label{font-size:9px}.results-bar{font-size:10px}.filter-toggle{font-size:9px}.empty-state{padding:35px 20px}.empty-state h3{font-size:25px}.empty-state p{font-size:12px}.road-story{font-size:13px}.photo-credit{font-size:8px}.grade-explanation{padding:15px}.grade-explanation p{font-size:11px}.ride-top{gap:17px}.ride-planner{padding:25px}.ride-planner h2{font-size:30px}.ride-planner .eyebrow{font-size:8px}.ride-planner>p{font-size:12px}.booking-state{padding:23px}.booking-state h3{font-size:14px}.booking-state p{font-size:11px;margin-left:0;clear:both;padding-top:8px}.booking-state .text-link{margin-left:0;font-size:11px}.booking-state>svg{height:24px;width:24px}.checklist-header h2{font-size:29px}.checklist-header>span{font-size:10px;white-space:nowrap}.check-item{gap:12px;padding:17px 0}.check-item strong{font-size:12px}.check-item small{font-size:10px}.checklist-note{font-size:9px}.ride-summary{padding:21px}.ride-summary p{font-size:12px}.contact-grid{grid-template-columns:1fr;gap:18px}.contact-card{padding:25px}.contact-card h2{font-size:29px}.contact-card p{font-size:12px}.contact-photo{height:210px;margin-top:21px}.contact-line{font-size:13px}.contact-card .button{font-size:11px}.toast{left:50%;bottom:88px;font-size:11px;max-width:calc(100% - 40px);min-width:230px}.page-end{gap:17px;font-size:10px}.quiet-label{font-size:8px}.install-card{padding:22px}.install-card h3{font-size:16px}.install-card p{font-size:11px}dialog{padding:29px}dialog h2{font-size:29px;margin-top:15px}dialog p,dialog li{font-size:12px}.loading-state h1{font-size:37px}}
@media(max-width:370px){#main{padding-left:16px;padding-right:16px}.topbar{padding-left:16px;padding-right:16px}.header-actions{gap:8px}.hero h1{font-size:37px}.hero-content{padding:24px 21px}.tour-card{grid-template-columns:.7fr 1.3fr}.tour-card-body{padding:16px 13px}.tour-card h3{font-size:22px}.tour-card .tour-meta{font-size:7.5px}.card-price strong{font-size:17px}.road-card-body{padding:11px}.road-card h3{font-size:19px}.road-card-image{height:120px}.road-grid{gap:10px}.section-head h2{font-size:27px}.comparison-wrap{margin-left:-16px;margin-right:-16px;padding:0 16px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* The supplied Alpine Roads mark is white; preserve it on the brand field. */
.brand img{background:var(--ink);border-radius:7px;padding:5px;object-fit:contain}
.pass-library-action{align-items:center;margin:0 0 24px}.pass-library-action>span{font-size:11px}
.catalog-filters{grid-template-columns:1.2fr 1.2fr 1fr 1fr}.catalog-state-note{font-size:11px;color:var(--muted);line-height:1.8;margin:-3px 0 23px}.road-profile-state{display:inline-block;background:var(--soft);color:var(--green);font-size:8px;border-radius:4px;padding:5px 7px;margin:2px 0 10px}.road-profile-state.state-review-2028,.road-profile-state.state-review-2027{background:#eee6d6;color:#795e32}.road-card-image.is-placeholder{position:relative;background:var(--ink);display:grid;place-items:center;padding-bottom:10px}.road-card-image.is-placeholder img{height:68px;width:68px;object-fit:contain}.road-image-note{position:absolute;bottom:14px;color:#e0ddd1;font-size:8px;text-align:center;padding:0 15px}.detail-hero.is-placeholder{background:var(--ink);display:flex;align-items:center;justify-content:center}.detail-hero.is-placeholder>img{height:100px;width:100px;object-fit:contain;transform:translateY(-45px)}.road-profile-section{margin-top:30px}.road-profile-section h3{font-family:Georgia,serif;font-size:26px;font-weight:400}.road-profile-section>p{font-size:13px;color:var(--muted);line-height:1.9;margin-top:13px;white-space:pre-line}.road-pair-list{padding-left:0!important;list-style:none}.road-pair-list li{padding:15px 0;border-bottom:1px solid var(--line)}.road-pair-list a{font-size:12px;color:var(--ink);display:inline-flex;align-items:center;gap:9px;font-weight:600}.road-pair-list svg{height:14px;width:14px}.road-pair-list p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:9px}
@media(max-width:1050px){.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters>label:first-child{grid-column:auto}}
@media(max-width:700px){.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters>label:first-child,.catalog-filters>label:nth-child(2){grid-column:1/-1}.catalog-state-note{font-size:10px}.pass-library-action>span{font-size:10px;line-height:1.8}.road-profile-state{font-size:7px;padding:4px 5px;line-height:1.6}.road-image-note{font-size:7px;bottom:11px;padding:0 10px}.road-card-image.is-placeholder img{height:52px;width:52px}.road-profile-section h3{font-size:25px}.road-profile-section>p{font-size:12px}.road-pair-list p{font-size:11px}}
.install-landing{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--paper);padding:38px 42px 37px;min-height:370px}.install-app-identity{display:flex;align-items:center;gap:13px;margin-bottom:32px}.install-app-identity>img{width:61px;height:61px;border-radius:13px;box-shadow:0 8px 20px #152d3312}.install-app-identity strong{font-size:11px;letter-spacing:.07em;display:block}.install-app-identity span{font-size:10px;color:var(--muted);display:block;margin-top:4px}.install-landing .eyebrow{font-size:9px}.install-landing h1{font-size:clamp(43px,4.4vw,59px);max-width:600px}.install-landing>p{max-width:490px;font-size:14px;color:var(--muted);margin-top:19px;line-height:1.7}.install-landing .intro-actions{margin-top:24px}.install-landing>p.install-free-note{font-size:10px;margin-top:17px}.install-landing>p.install-ready{display:inline-block;background:var(--soft);color:var(--green);font-size:11px;border-radius:6px;padding:9px 12px;margin-top:18px}.install-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 3px 0}.install-benefits article{display:grid;grid-template-columns:26px 1fr;gap:5px 10px;align-items:center}.install-benefits svg{grid-row:1/3;color:var(--gold);width:24px;height:24px}.install-benefits strong{font-size:11px}.install-benefits span{font-size:10px;color:var(--muted)}.install-device-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.install-device-card{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:28px;display:flex;flex-direction:column}.device-label{font-size:9px;font-weight:700;color:var(--gold);letter-spacing:.12em}.install-device-card h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin-top:9px}.install-steps{list-style:none;padding:0;margin:25px 0 21px}.install-steps li{display:flex;gap:12px;align-items:flex-start;margin-top:22px}.install-steps li:first-child{margin-top:0}.install-steps li>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--soft);color:var(--green);font-size:10px;font-weight:700;flex:none}.install-steps strong{display:block;font-size:12px;line-height:1.6}.install-steps p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:6px}.install-help-link{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);padding-top:18px;border-top:1px solid var(--line);margin-top:auto}.install-help-link svg{width:12px;height:12px}.install-fallback{display:flex;gap:17px;padding:29px;background:var(--soft);border:1px solid #d5dfd1;border-radius:12px}.install-fallback>div{color:var(--green);padding-top:2px}.install-fallback h3{font-size:16px}.install-fallback p{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.75;max-width:780px}.install-fallback .intro-actions{align-items:center;gap:20px;margin-top:21px}
@media(max-width:900px){.install-benefits{gap:12px}.install-benefits article{grid-template-columns:1fr;gap:6px;text-align:center;justify-items:center}.install-benefits svg{grid-row:auto;margin-bottom:2px}.install-device-card{padding:24px}.install-device-grid{gap:16px}}
@media(max-width:700px){.install-landing{padding:26px 24px 28px;border-radius:12px}.install-app-identity{margin-bottom:27px;gap:12px}.install-app-identity>img{width:55px;height:55px;border-radius:12px}.install-app-identity strong{font-size:10px}.install-app-identity span{font-size:9px}.install-landing .eyebrow{font-size:8px}.install-landing h1{font-size:45px}.install-landing>p{font-size:13px;margin-top:18px}.install-landing .intro-actions{gap:9px}.install-landing .intro-actions .button{font-size:10px;padding:11px 12px}.install-landing>p.install-free-note{font-size:9px}.install-benefits{gap:10px;margin-top:24px}.install-benefits strong{font-size:9px;line-height:1.5}.install-benefits span{font-size:9px;line-height:1.5}.install-benefits svg{width:21px;height:21px}.install-device-grid{grid-template-columns:1fr;gap:18px}.install-device-card{padding:25px 23px}.install-device-card h3{font-size:28px}.install-steps{margin-top:23px}.install-steps li{gap:12px;margin-top:21px}.install-steps strong{font-size:12px}.install-steps p{font-size:11px}.install-fallback{gap:12px;padding:23px 20px}.install-fallback>div svg{width:20px;height:20px}.install-fallback h3{font-size:15px}.install-fallback p{font-size:11px}.install-fallback .intro-actions{gap:15px}.install-fallback .text-link{font-size:10px}}

/* My Ride keeps public preparation tools together. */








.hub-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;margin-top:23px}
.hub-quick-card{border:1px solid var(--line);border-radius:12px;padding:27px;background:var(--paper);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.hub-quick-card>svg{color:var(--gold);width:25px;height:25px;margin-bottom:17px}
.hub-quick-card h2{font-size:27px}
.hub-quick-card>p{font-size:12px;color:var(--muted);line-height:1.8;margin:14px 0 20px}
.hub-quick-card>.button{margin-top:auto}
.hub-quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0}
.hub-quick-actions .button{font-size:10px;padding:11px 12px;gap:8px}
.hub-quick-card>small{font-size:10px;color:var(--muted);line-height:1.8;margin-top:16px}
.hub-preparation-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:29px;align-items:start;margin-top:35px}
.hub-tour-reference{padding:27px;min-width:0}
.hub-tour-reference h2{font-size:30px}
.hub-tour-reference .quiet-label{font-size:10px;line-height:1.8;letter-spacing:0}
.hub-tour-link{color:var(--gold-light);font-size:11px;margin-top:23px}
.hub-checklist{min-width:0;max-width:none;padding-top:3px}
.hub-checklist .checklist-header{align-items:flex-end}
.hub-checklist .checklist-header h2{font-size:28px}
.hub-checklist .checklist-header>span{font-size:10px;white-space:nowrap}
.hub-checklist .check-item{padding:16px 2px}
.hub-saved-roads{margin-top:35px}
.hub-saved-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:0}
.hub-saved-list a{display:flex;gap:15px;justify-content:space-between;align-items:center;min-height:78px;padding:17px 20px;background:var(--paper);border:1px solid var(--line);border-radius:9px}
.hub-saved-list a:hover{background:var(--soft)}
.hub-saved-list strong{display:block;font-size:13px}
.hub-saved-list small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.hub-saved-list svg{height:17px;width:17px;color:var(--gold)}
.hub-saved-more{font-size:11px;color:var(--muted);margin-top:17px}
@media(max-width:1050px){.hub-preparation-grid{grid-template-columns:1fr;gap:29px}.hub-tour-reference{display:block}.hub-tour-reference h2{max-width:500px}.hub-tour-reference select{max-width:480px}.hub-quick-card{padding:23px}.hub-quick-card h2{font-size:25px}}
@media(max-width:700px){.hub-quick-grid{grid-template-columns:1fr;gap:17px;margin-top:21px}.hub-quick-card{padding:24px}.hub-quick-card h2{font-size:28px}.hub-quick-card>p{font-size:12px}.hub-quick-card>small{font-size:10px}.hub-preparation-grid{margin-top:28px;gap:28px}.hub-tour-reference{padding:25px}.hub-checklist .checklist-header h2{font-size:28px}.hub-checklist .checklist-header>span{font-size:9px}.hub-checklist .check-item{gap:13px}.hub-checklist .check-item small{line-height:1.7}.hub-saved-list{grid-template-columns:1fr;gap:10px}.hub-saved-roads .section-head{align-items:flex-start;flex-direction:column;gap:17px}.hub-saved-roads .section-head h2{font-size:29px}.hub-saved-list a{min-height:75px;padding:17px}.hub-saved-roads .section-head p{font-size:12px}.hub-quick-actions{gap:10px}.hub-quick-actions .button{font-size:10px}.hub-checklist .checklist-note{font-size:9px;line-height:1.7}}

.hub-quick-card>p.hub-private-note{font-size:10px;margin:15px 0 14px;line-height:1.7}

/* Personal passport: calm progress, local memories and no competitive riding. */
.passport-hero{display:grid;grid-template-columns:minmax(0,1fr) 175px;gap:20px 30px;background:var(--ink);color:var(--paper);border-radius:15px;padding:34px 36px 0;position:relative;overflow:hidden}
.passport-hero .eyebrow{color:var(--gold-light);font-size:9px}.passport-hero h2{font-size:43px;line-height:1.05}.passport-hero-copy>p{font-size:13px;color:#d2ded9;max-width:370px;margin-top:17px;line-height:1.75}.passport-hero-note{display:flex;gap:8px;align-items:flex-start;color:#d2ded9;font-size:10px;margin-top:18px;max-width:400px}.passport-hero-note svg{width:15px;height:17px;color:var(--gold-light);margin-top:1px}
.passport-emblem{align-self:center;justify-self:end;width:148px;min-height:169px;border:1px solid #d8be7c66;border-radius:70px 70px 13px 13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;text-align:center;color:var(--gold-light);padding:16px 8px}.passport-emblem>svg{width:44px;height:34px;stroke-width:1.2}.passport-emblem>span{font-family:Georgia,serif;font-size:19px;line-height:1.12;letter-spacing:.1em}.passport-emblem>small{font-size:6px;letter-spacing:.11em}
.passport-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px -36px 0;padding:23px 36px;background:#ffffff08;border-top:1px solid #b9c6bd26;gap:20px}.passport-stats>div{display:flex;flex-direction:column-reverse;gap:5px;border-right:1px solid #b9c6bd26;padding-right:18px}.passport-stats>div:last-child{border:0;padding:0}.passport-stats dt{font-size:10px;color:#d1ded7}.passport-stats dd{font-family:Georgia,serif;font-size:36px;margin:0;line-height:1;color:var(--gold-light)}
.passport-next{display:flex;gap:16px;align-items:center;background:var(--soft);padding:22px 25px;border:1px solid #d5dfd1;border-radius:11px;margin-top:19px}.passport-next-symbol{display:grid;place-items:center;width:39px;height:39px;border:1px solid #b7c9b8;border-radius:50%;color:var(--green);flex:none}.passport-next .eyebrow{font-size:8px;margin-bottom:5px;letter-spacing:.1em;color:var(--green)}.passport-next h3{font-size:15px}.passport-next p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:7px;max-width:500px}.passport-next .button{font-size:10px;margin-left:auto;flex:none;max-width:220px}
.passport-milestones{margin-top:30px}.passport-mini-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.passport-mini-heading h3{font-family:Georgia,serif;font-size:23px;font-weight:400}.passport-mini-heading>span{font-size:10px;color:var(--muted);white-space:nowrap}.passport-milestone-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.passport-milestone{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:17px 13px;min-width:0}.passport-milestone-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;color:#8e9990;margin-bottom:12px;background:#f4f4ed}.passport-milestone-icon svg{width:17px;height:17px}.passport-milestone h4{font-size:11px;line-height:1.55;margin:0;font-weight:600}.passport-milestone p{font-size:9px;color:var(--muted);margin:7px 0 11px;line-height:1.65}.passport-milestone small{font-size:9px;color:var(--muted)}.passport-milestone.is-earned{background:#faf6e9;border-color:#d4be83}.passport-milestone.is-earned .passport-milestone-icon{color:var(--ink);border-color:#ccb373;background:#ecd9a6}.passport-milestone.is-earned small{color:#7c5c25;font-weight:700}.passport-pace-note{font-size:10px;color:var(--muted);line-height:1.75;margin-top:13px;max-width:800px}
.passport-collections .section-head p{max-width:570px}.passport-collection-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:18px}.passport-collection-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:11px 12px 13px;display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.passport-collection-tabs button[aria-pressed=true]{border-bottom-color:var(--gold);color:var(--ink);font-weight:700}.passport-collection-tabs svg{width:17px;height:17px}.passport-collection-tabs button>span{font-size:10px;padding:2px 6px;border-radius:5px;background:var(--soft)}
.passport-road-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.passport-road{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:12px;min-width:0}.passport-road-picture{height:65px;width:65px;flex:none;border-radius:7px;overflow:hidden;background:var(--ink);display:grid;place-items:center}.passport-road-picture img{height:100%;width:100%;object-fit:cover}.passport-road-picture.is-placeholder img{height:35px;width:35px;object-fit:contain}.passport-road-copy{min-width:0;flex:1}.passport-road-copy strong{display:block;font-size:12px;line-height:1.5}.passport-road-copy>span{font-size:9px;color:var(--muted);display:block;margin-top:3px}.passport-road-copy>small{font-size:8px;color:var(--green);display:block;margin-top:5px}.passport-road-actions{display:flex;gap:4px;align-items:center;flex:none}.passport-road-record{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--line);border-radius:7px;background:transparent;min-height:45px;padding:6px 7px;color:var(--muted);font-size:8px}.passport-road-record svg{width:17px;height:17px}.passport-road-record.is-recorded{color:var(--green);background:var(--soft);border-color:#bdcdbb}.passport-unsave{border:0;background:transparent;color:var(--muted);padding:7px 2px}.passport-unsave svg{height:14px;width:14px}.passport-show-all{margin-top:18px;background:transparent;border:0;border-bottom:1px solid #af864566;font-size:11px;padding:0 0 4px}.passport-empty{background:var(--paper);border:1px dashed #c3ccc1;padding:28px 25px;border-radius:10px}.passport-empty>svg{height:29px;width:29px;color:var(--gold);margin-bottom:13px}.passport-empty h3{font-family:Georgia,serif;font-weight:400;font-size:25px}.passport-empty p{font-size:12px;color:var(--muted);line-height:1.8;max-width:620px;margin:13px 0 19px}
.passport-countries{margin-top:29px;scroll-margin-top:105px}.passport-countries:focus{outline:0}.passport-country-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.passport-country{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.passport-country-code{display:grid;place-items:center;flex:none;border:1px dashed #bec9bd;border-radius:50%;height:37px;width:37px;font-size:10px;color:#738273;letter-spacing:.05em}.passport-country strong{display:block;font-size:11px}.passport-country small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.passport-country>svg{width:15px;height:15px;margin-left:auto;color:var(--green)}.passport-country.is-recorded{border-color:#b7c9b4;background:#eff3e9}.passport-country.is-recorded .passport-country-code{border-style:solid;border-color:#9eb394;background:#dfe9d5;color:var(--green)}
#ride-preparation{scroll-margin-top:105px}.passport-share{display:flex;align-items:center;gap:25px;padding:26px;background:#ebe9df;border-radius:11px;border:1px solid #dedbcd}.passport-share>div{display:flex;gap:18px;align-items:flex-start}.passport-share>div>svg{color:var(--gold);width:28px;height:28px;margin-top:4px}.passport-share .eyebrow{font-size:8px;margin-bottom:7px}.passport-share h2{font-size:28px}.passport-share p{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.8;max-width:550px}.passport-share>.button{flex:none;margin-left:auto;font-size:10px}.passport-pass-panel .eyebrow{font-size:8px}.passport-pass-panel .text-link{font-size:10px;margin-top:17px}.passport-pass-panel .button{width:100%}.passport-recorded{background:var(--green);border-color:var(--green)}.toast-undo{background:transparent;border:0;border-left:1px solid #ffffff66;padding:3px 0 3px 13px;color:var(--gold-light);font-size:inherit;font-weight:700;margin-left:14px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.passport-milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.passport-milestone{display:flex;gap:11px;padding:15px}.passport-milestone-icon{margin:0;flex:none}.passport-milestone p{margin-bottom:7px}.passport-road-list{grid-template-columns:1fr}.passport-next{flex-wrap:wrap}.passport-next>.button{margin-left:55px}.passport-share{flex-direction:column;align-items:flex-start}.passport-share>.button{margin-left:46px}}
@media(max-width:700px){.passport-hero{padding:27px 24px 0;grid-template-columns:minmax(0,1fr) 84px;gap:16px 10px;border-radius:12px}.passport-hero h2{font-size:34px}.passport-hero .eyebrow{font-size:7px;letter-spacing:.12em}.passport-hero-copy>p{font-size:11px;margin-top:14px}.passport-hero-note{font-size:9px;line-height:1.7;grid-column:1/-1}.passport-emblem{width:80px;min-height:111px;gap:7px;border-radius:40px 40px 9px 9px;padding:10px 4px}.passport-emblem>svg{width:30px;height:25px}.passport-emblem>span{font-size:12px}.passport-emblem>small{font-size:4px;letter-spacing:0}.passport-stats{margin:8px -24px 0;padding:20px 24px;gap:13px}.passport-stats dd{font-size:30px}.passport-stats dt{font-size:8px;line-height:1.65}.passport-stats>div{padding-right:10px}.passport-next{padding:19px 18px;gap:12px;align-items:flex-start}.passport-next-symbol{width:30px;height:30px}.passport-next-symbol svg{width:19px;height:19px}.passport-next>div:nth-child(2){flex:1;min-width:180px}.passport-next .eyebrow{font-size:7px}.passport-next h3{font-size:13px;line-height:1.6}.passport-next p{font-size:10px}.passport-next>.button{margin-left:42px;font-size:9px}.passport-mini-heading{align-items:flex-start}.passport-mini-heading h3{font-size:23px}.passport-mini-heading>span{font-size:8px;padding-top:5px}.passport-milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.passport-milestone{display:block;padding:14px 13px}.passport-milestone:last-child{grid-column:1/-1;display:flex;align-items:flex-start;gap:13px}.passport-milestone-icon{width:28px;height:28px;margin-bottom:10px}.passport-milestone h4{font-size:10px}.passport-milestone p,.passport-milestone small{font-size:8px}.passport-pace-note{font-size:9px}.passport-collections .section-head{flex-direction:column;align-items:flex-start;gap:17px}.passport-collections .section-head h2{font-size:29px}.passport-collection-tabs{gap:5px}.passport-collection-tabs button{font-size:10px;padding:10px 8px 12px}.passport-collection-tabs button>span{font-size:9px}.passport-road{padding:11px;gap:10px}.passport-road-picture{width:49px;height:60px}.passport-road-copy strong{font-size:11px}.passport-road-copy>small{font-size:7px}.passport-road-copy>span{font-size:8px}.passport-road-record{font-size:7px;padding:6px 5px;min-width:44px}.passport-road-record svg{height:15px;width:15px}.passport-unsave{padding:9px 0}.passport-unsave svg{width:12px;height:12px}.passport-country-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.passport-country{padding:13px 10px;gap:8px}.passport-country-code{width:28px;height:28px;font-size:8px}.passport-country strong{font-size:10px}.passport-country small{font-size:8px}.passport-country>svg{width:12px;height:12px}.passport-empty{padding:25px 21px}.passport-empty h3{font-size:25px}.passport-empty p{font-size:11px}.passport-share{padding:24px 20px;gap:18px}.passport-share>div{gap:13px}.passport-share>div>svg{width:22px;height:22px}.passport-share h2{font-size:27px}.passport-share p{font-size:11px}.passport-share>.button{margin-left:35px;font-size:9px}.passport-pass-panel .text-link{font-size:10px}}

/* Rider suggestions are moderated, separate from the official pass collection. */
.recommendation-form-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:28px;max-width:850px}.recommendation-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.recommendation-field{display:block;margin-bottom:20px;min-width:0}.recommendation-field>span{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.recommendation-field input,.recommendation-field select,.recommendation-field textarea{display:block;width:100%;border:1px solid #c8d0c5;border-radius:6px;padding:11px 12px;background:#fffefa;font:inherit;font-size:13px;color:var(--ink)}.recommendation-field textarea{resize:vertical;line-height:1.7}.recommendation-field small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.recommendation-form-error{padding:13px 16px;border-left:3px solid #ac5b48;background:#f7eae2;color:#7c3e2e;margin-bottom:22px;font-size:12px}.recommendation-optional{border-top:1px solid var(--line);padding-top:17px;margin:6px 0 23px}.recommendation-optional summary{cursor:pointer;font-size:12px;font-weight:600;margin-bottom:18px}.recommendation-consent{display:flex;align-items:flex-start;gap:11px;font-size:11px;line-height:1.8;margin-top:20px}.recommendation-consent input{width:17px;height:17px;flex:none;accent-color:var(--green);margin-top:3px}.recommendation-privacy,.recommendation-note{font-size:11px;color:var(--muted);line-height:1.8;margin:17px 0 22px}.recommendation-note{border-left:3px solid var(--gold);padding:12px 17px;background:#ebe9df;border-radius:0 6px 6px 0}.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.recommendation-card{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:23px;min-width:0}.recommendation-card h3{font-family:Georgia,serif;font-weight:400;font-size:27px;overflow-wrap:anywhere}.recommendation-country{display:block;color:var(--gold);font-weight:600;text-transform:uppercase;font-size:9px;letter-spacing:.07em;margin:9px 0 14px}.recommendation-reason{font-size:13px;line-height:1.8;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere}.recommendation-comment{border-left:2px solid var(--line);padding-left:13px;margin-top:15px;color:var(--muted);font-size:12px;line-height:1.75;overflow-wrap:anywhere}.recommendation-credit{display:block;font-size:10px;color:var(--muted);margin-top:17px}.recommendation-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:17px;font-size:11px}.recommendation-pagination{margin-top:23px;display:flex;gap:14px;align-items:center}.recommendation-loading{padding:30px;color:var(--muted);font-size:12px}.recommendation-owner-filter{display:flex;gap:16px;align-items:center;margin-bottom:23px;font-size:12px}.recommendation-owner-filter select{padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font-size:12px}.community-recommend-invite{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:27px;background:var(--soft);border:1px solid #d6dfd2;border-radius:12px}.community-recommend-invite h2{font-size:30px}.community-recommend-invite p{font-size:12px;line-height:1.8;color:var(--muted);max-width:600px;margin-top:15px}.community-recommend-invite>.button{flex:none}
@media(max-width:700px){.recommendation-form-panel{padding:24px 20px}.recommendation-form-grid,.recommendation-grid{grid-template-columns:1fr}.recommendation-field>span{font-size:11px}.recommendation-field input,.recommendation-field select,.recommendation-field textarea{font-size:16px}.recommendation-card{padding:22px}.recommendation-reason{font-size:12px}.recommendation-card h3{font-size:26px}.community-recommend-invite{align-items:flex-start;flex-direction:column;padding:25px 22px;gap:19px}.community-recommend-invite h2{font-size:29px}.community-recommend-invite p{font-size:11px}}
.recommendation-field .field-error{color:#96402b}.recommendation-form-panel [type=submit]{margin-top:20px}
.passport-unsave{min-width:44px;min-height:44px;display:grid;place-items:center;flex:none}

/* Installation is offered after useful browsing and hidden in installed app mode. */
.install-trigger[hidden],[data-install-invite][hidden]{display:none!important}.date-row>div:first-child{min-width:0}.date-enquiry{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:10px;line-height:1.4;max-width:100%}.date-enquiry svg{width:13px;height:13px}.date-price{flex:none}.contact-line small{font-size:13px;margin-top:4px}.tour-roads-notice strong{display:block;margin-bottom:6px}

.road-relationship{display:block;width:fit-content;font-size:10px;line-height:1.4;background:var(--soft);color:var(--green);border-radius:4px;padding:4px 7px;margin-top:12px}.road-relationship+.grade{margin-top:9px}

/* Personal records stay separate from editorial roads and optional public sharing. */
.personal-registration-note{display:flex;gap:16px;padding:22px;background:#eef1e9;border:1px solid var(--line);border-radius:12px;margin:0 0 22px}.personal-registration-note>svg{flex:0 0 26px;width:26px;color:var(--green)}.personal-registration-note p{font-size:.87rem;line-height:1.65;max-width:760px}.personal-registration-note .button{min-height:44px;font-size:.8rem;padding:11px 16px}.personal-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.personal-entry-panel,.leaderboard-panel{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden}.personal-entry-panel summary,.leaderboard-panel>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;font-weight:700;padding:23px 22px;min-height:68px}.personal-entry-panel summary::-webkit-details-marker,.leaderboard-panel>summary::-webkit-details-marker{display:none}.personal-entry-panel summary:after,.leaderboard-panel>summary:after{content:'+';font-size:24px;margin-left:auto;color:var(--green)}.personal-entry-panel[open] summary:after,.leaderboard-panel[open]>summary:after{content:'−'}.personal-entry-panel summary svg,.leaderboard-panel>summary svg{width:24px;flex:0 0 24px}.personal-entry-panel summary span{font-size:.72rem;font-weight:500;color:var(--muted);white-space:nowrap}.personal-entry-panel form{padding:0 22px 24px}.personal-entry-panel form>p{font-size:.85rem;line-height:1.6}.personal-entry-panel form>label:not(.personal-confirm),#leaderboard-form>label:not(.personal-confirm){display:grid;gap:8px;font-size:.86rem;font-weight:600;margin:16px 0}.personal-entry-panel input[type=text],#leaderboard-form input[type=text]{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--cream);font:inherit;font-weight:400}.personal-confirm{display:flex;gap:12px;align-items:flex-start;font-size:.84rem;line-height:1.65;margin:20px 0}.personal-confirm input{flex:0 0 21px;width:21px;height:21px;accent-color:var(--green);margin-top:3px}.personal-note{font-size:.78rem!important;line-height:1.65;color:var(--muted)}.personal-form-error,.leaderboard-error{padding:14px;background:#fff0e9;color:#8d351c;border-left:3px solid #b85f36;margin:16px 0;font-size:.88rem}.personal-form-error[hidden],.leaderboard-error[hidden]{display:none}.personal-form-error a{text-decoration:underline;font-weight:700}.personal-visited{margin-top:24px}.personal-visited ul{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0}.personal-visited li{display:flex;align-items:center;gap:16px;background:#eef1e9;border:1px solid var(--line);border-radius:8px;padding:10px 8px 10px 15px}.personal-visited small{display:block;color:var(--muted);font-size:.7rem;margin-top:3px}.personal-visited .icon-button,.personal-road>.icon-button{min-width:44px;min-height:44px;flex:0 0 44px}.personal-road-symbol{display:flex;align-items:center;justify-content:center;min-width:64px;min-height:64px;background:#e8ede4;border:1px dashed #a9b5a0;border-radius:8px;color:var(--green)}.personal-road-symbol svg{width:30px;height:30px}.personal-road .text-link{font-size:.72rem;margin-top:8px}.personal-road .passport-road-copy{min-width:0;overflow-wrap:anywhere}.personal-road .passport-road-copy>strong{font-weight:700}.personal-road{grid-template-columns:64px minmax(0,1fr) 44px}.leaderboard-panel[open]{padding-bottom:24px}.leaderboard-intro,#leaderboard-public,#leaderboard-form,#leaderboard-mine,.leaderboard-owner{padding:0 24px}.leaderboard-intro h2{font-size:1.8rem;margin-top:4px}.leaderboard-intro p{font-size:.87rem;line-height:1.7}.leaderboard-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}.leaderboard-list li{padding:15px;background:#eef1e9;border-radius:7px;display:grid;gap:5px;overflow-wrap:anywhere}.leaderboard-list span{font-size:.83rem}.leaderboard-list small{font-size:.69rem;color:var(--muted)}.leaderboard-empty{padding:20px;background:#f5f2ea;border-radius:8px;font-size:.87rem}#leaderboard-form{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}#leaderboard-form input[type=text]{max-width:420px}#leaderboard-form .button{margin:0 8px 8px 0;min-height:44px}.leaderboard-own{padding:18px;border:1px solid var(--line);border-radius:8px;margin-top:20px}.leaderboard-own p{font-size:.8rem;line-height:1.65}.personal-passport #personal-passport-title:focus{outline:2px solid var(--gold);outline-offset:5px}
@media(max-width:700px){.personal-entry-grid,.leaderboard-list{grid-template-columns:1fr}.personal-registration-note{padding:18px;gap:12px}.personal-entry-panel summary,.leaderboard-panel>summary{padding:19px 16px;font-size:.86rem;gap:8px}.personal-entry-panel form{padding-left:16px;padding-right:16px}.personal-road{grid-template-columns:48px minmax(0,1fr) 44px;gap:10px}.personal-road-symbol{min-width:48px;min-height:54px}.personal-road .passport-road-copy{font-size:.86rem}.leaderboard-intro,#leaderboard-public,#leaderboard-form,#leaderboard-mine{padding-left:16px;padding-right:16px}.personal-entry-panel summary span{font-size:.66rem}.personal-entry-panel form>.button{width:100%}}
.passport-country>div,.personal-visited li>span{min-width:0;overflow-wrap:anywhere}.personal-visited li{max-width:100%}

/* My Ride backup files are explicitly downloaded and reviewed on the device. */
.ride-backup{padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.ride-backup .section-head{margin-bottom:20px}.ride-backup .section-head h2{font-size:30px}.ride-backup .section-head p{font-size:.86rem;line-height:1.7;max-width:760px}.backup-controls,.backup-actions{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.backup-controls>.button,.backup-actions>.button{min-height:44px}.backup-file-label{display:grid;gap:8px;font-size:.82rem;font-weight:600;max-width:100%;min-width:0}.backup-file-label input{font:inherit;font-size:.8rem;max-width:100%;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--cream)}.backup-note{font-size:.78rem;line-height:1.75;color:var(--muted);margin-top:16px;max-width:800px}.backup-review{margin-top:22px;border-top:1px solid var(--line);padding-top:22px}.backup-review h3{font-size:1.35rem}.backup-review p,.backup-review li{font-size:.84rem;line-height:1.7}.backup-review ul{padding-left:22px;margin:15px 0}.backup-review .backup-actions{margin-top:20px}.backup-warnings{padding:2px 15px;border-left:3px solid var(--gold);background:#f5f0e3;margin:16px 0}.backup-error{padding:14px;background:#fff0e9;color:#8d351c;border-left:3px solid #b85f36;font-size:.85rem;line-height:1.7;margin-top:20px}#ride-backup-feedback:focus:empty{outline:none}#ride-backup-title{scroll-margin-top:110px}
@media(max-width:700px){.ride-backup{padding:22px 17px}.ride-backup .section-head h2{font-size:27px}.backup-controls,.backup-actions{gap:14px;flex-direction:column}.backup-controls>.button,.backup-actions>.button{width:100%;justify-content:center}.backup-file-label{width:100%}.backup-file-label input{width:100%}.backup-review p,.backup-review li{font-size:.8rem}}

/* Hosted-day previews show the holiday experience without publishing a route. */
.hosted-boundary{padding:16px 20px;border-left:3px solid var(--gold);background:#eeece3;color:var(--muted);font-size:.83rem;line-height:1.7;margin:22px 0}.filters.hosted-filters{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin-top:28px}.hosted-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hosted-day-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden;min-width:0;display:flex;flex-direction:column}.hosted-card-photo{margin:0;aspect-ratio:1.55;background:var(--ink);overflow:hidden}.hosted-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.hosted-card-copy{padding:23px;display:flex;flex-direction:column;flex:1;min-width:0}.hosted-card-copy>.eyebrow{font-size:.65rem;letter-spacing:.08em}.hosted-card-copy h3{font-family:Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.2;margin:12px 0}.hosted-card-copy>p{font-size:.82rem;line-height:1.75;color:var(--muted)}.hosted-card-copy .hosted-character{font-size:.78rem;color:var(--green);font-weight:600}.hosted-card-copy .hosted-base{font-size:.72rem;margin-top:auto;padding-top:15px}.hosted-card-actions{display:flex;flex-direction:column;gap:9px;margin-top:12px}.hosted-card-actions>.button{width:100%;min-height:44px;justify-content:center;font-size:.72rem;padding:11px 12px}.hosted-card-actions .hosted-save{background:transparent}.hosted-card-placeholder,.hosted-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff7df;background:linear-gradient(145deg,#233f40,#152d33);padding:25px;gap:12px;min-height:200px;aspect-ratio:1.55}.hosted-card-placeholder>img,.hosted-detail-placeholder>img{width:66px;height:66px;object-fit:contain}.hosted-card-placeholder>span,.hosted-detail-placeholder>span{font-size:.65rem;letter-spacing:.2em;color:var(--gold-light)}.hosted-card-placeholder>strong,.hosted-detail-placeholder>strong{font-family:Georgia,serif;font-weight:400;font-size:1.4rem;max-width:270px}.hosted-card-placeholder>small,.hosted-detail-placeholder>small{font-size:.66rem;color:#d0d7ce}.hosted-fine-print{font-size:.75rem;line-height:1.75;color:var(--muted)}.hosted-discovery{padding:28px;border:1px solid #ccd7c6;border-radius:12px;background:#edf1e7}.hosted-discovery .section-head{margin-bottom:0;align-items:center;gap:25px}.hosted-discovery .section-head h2{font-size:31px}.hosted-discovery .section-head p{font-size:.84rem;line-height:1.75;max-width:650px}.hosted-discovery .section-head>.button{flex:none;font-size:.74rem;min-height:44px}.hosted-discovery>.hosted-fine-print{max-width:850px;margin:16px 0 0}.hosted-discovery>.hosted-day-grid{margin-top:25px}
.hosted-detail-heading{margin:32px 0}.hosted-detail-heading .eyebrow{font-size:.72rem;line-height:1.7}.hosted-detail-heading h1{font-size:clamp(2.2rem,4.6vw,4.1rem);font-family:Georgia,serif;font-weight:400;line-height:1.08;max-width:850px;margin:16px 0}.hosted-detail-heading>p{font-size:1rem;color:var(--muted);max-width:740px;line-height:1.8}.hosted-detail-photo{margin:0 0 35px}.hosted-detail-photo>img{display:block;width:100%;height:clamp(250px,35vw,430px);object-fit:cover;border-radius:12px}.hosted-detail-photo figcaption{font-size:.68rem;line-height:1.7;color:var(--muted);margin-top:8px}.hosted-detail-photo figcaption a{text-decoration:underline}.hosted-detail-placeholder{aspect-ratio:auto;min-height:300px;border-radius:12px;margin-bottom:35px}.hosted-detail-placeholder>strong{max-width:600px;font-size:2.1rem}.hosted-detail-columns .detail-copy>h2{font-size:2.1rem;line-height:1.25}.hosted-detail-section{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.hosted-detail-section h3{font-family:Georgia,serif;font-weight:400;font-size:1.6rem}.hosted-detail-section p,.hosted-detail-section li{font-size:.88rem;line-height:1.85;color:var(--muted)}.hosted-detail-section li+li{margin-top:9px}.hosted-highlights{list-style:none;padding:0!important;display:flex;gap:10px;flex-wrap:wrap;margin:18px 0!important}.hosted-highlights>li{border:1px solid #c7d3bf;background:#eef1e8;border-radius:7px;font-size:.79rem;padding:8px 13px;margin:0!important}.hosted-highlights a{display:inline-block;text-decoration:underline;text-decoration-color:#9caf91;text-underline-offset:3px}.hosted-enquiry>label{font-size:.78rem;font-weight:600;display:block;margin:18px 0 8px}.hosted-enquiry>select{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--cream);font:inherit;font-size:.83rem;min-height:48px;margin-bottom:16px}.hosted-enquiry>.button{width:100%;justify-content:center;min-height:46px;font-size:.77rem;padding:13px 10px}.hosted-enquiry .hosted-save{margin-top:15px}.hosted-editorial{font-size:.73rem!important;line-height:1.8!important;border-top:1px solid var(--line);padding-top:20px;margin-top:30px}.hosted-my-ride{margin-top:34px}.hosted-my-ride .section-head h2{font-size:30px}.hosted-my-ride .section-head p{font-size:.83rem;line-height:1.7;max-width:680px}.hosted-my-ride .section-head>.button{font-size:.73rem;min-height:44px;flex:none}.hosted-saved-list{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hosted-saved-list>li{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:16px 8px 16px 18px;min-width:0}.hosted-saved-list>li>div{min-width:0;overflow-wrap:anywhere}.hosted-saved-list a{font-weight:600;font-size:.84rem}.hosted-saved-list small{display:block;font-size:.7rem;color:var(--muted);line-height:1.5;margin-top:6px}.hosted-saved-list .icon-button{min-width:44px;min-height:44px;flex:0 0 44px}.hosted-offline{border:1px solid #d6dbcf;border-radius:10px;padding:20px 22px;background:#f0f1e9;margin:27px 0}.hosted-offline>strong{font-size:.85rem}.hosted-offline>p{font-size:.8rem;line-height:1.75;color:var(--muted);margin:10px 0}.hosted-offline>.hosted-fine-print{font-size:.73rem;max-width:850px}.hosted-offline>.text-button{min-height:44px;font-size:.75rem;text-decoration:underline;text-underline-offset:3px}.hosted-offline p{overflow-wrap:anywhere}
@media(max-width:1100px){.hosted-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hosted-day-grid>.hosted-day-card:last-child:nth-child(odd){grid-column:1/-1;max-width:600px}.hosted-saved-list{grid-template-columns:1fr}.hosted-discovery .section-head{align-items:flex-start;flex-direction:column}.hosted-card-copy{padding:20px}}
@media(max-width:700px){.hosted-day-grid{grid-template-columns:1fr;gap:19px}.hosted-day-grid>.hosted-day-card:last-child:nth-child(odd){max-width:none}.filters.hosted-filters{grid-template-columns:1fr}.hosted-card-copy h3{font-size:1.65rem}.hosted-card-copy>p{font-size:.84rem}.hosted-card-actions>.button{font-size:.78rem}.hosted-discovery{padding:23px 20px}.hosted-discovery .section-head h2{font-size:28px}.hosted-detail-heading{margin:25px 0}.hosted-detail-heading>p{font-size:.93rem}.hosted-detail-heading .eyebrow{font-size:.65rem}.hosted-detail-photo>img{height:260px}.hosted-detail-columns .detail-copy>h2{font-size:1.8rem}.hosted-detail-section h3{font-size:1.5rem}.hosted-detail-section p,.hosted-detail-section li{font-size:.86rem}.hosted-enquiry>select{font-size:16px}.hosted-offline{padding:19px 17px}.hosted-offline>p{font-size:.78rem}.hosted-my-ride .section-head{flex-direction:column;align-items:flex-start}.hosted-detail-placeholder>strong{font-size:1.65rem}}
.hosted-region-overview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr);align-items:center;gap:26px;margin:28px 0;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:20px}.hosted-region-overview>img{display:block;width:100%;height:auto;max-width:640px;margin:auto}.hosted-region-overview figcaption{min-width:0}.hosted-region-overview figcaption p{font-size:.85rem;line-height:1.8;color:var(--muted)}.hosted-region-overview details{margin-top:18px;font-size:.75rem;line-height:1.75}.hosted-region-overview summary{cursor:pointer;font-weight:600;min-height:36px}.hosted-region-overview details p{font-size:.74rem}.hosted-region-overview details ul{padding-left:20px}.hosted-region-overview details a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}@media(max-width:700px){.hosted-region-overview{grid-template-columns:1fr;padding:12px;gap:8px}.hosted-region-overview figcaption{padding:0 8px 8px}.hosted-region-overview figcaption p{font-size:.8rem}.hosted-region-overview summary{min-height:44px;display:list-item}}
.hosted-card-copy>.hosted-save{width:100%;justify-content:center;min-height:44px;margin:2px 0 14px;font-size:.8rem;padding:12px}.hosted-heading-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}.hosted-heading-actions>.hosted-save{min-height:46px;font-size:.84rem;padding:13px 20px}.hosted-heading-actions>span,.hosted-save-instruction{font-size:.83rem;line-height:1.7;color:var(--muted)}.hosted-heading-actions a,.hosted-save-instruction a{text-decoration:underline;text-underline-offset:3px}.hosted-save-instruction{margin:24px 0 8px}.hosted-region-details{margin:28px 0;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:0 20px}.hosted-region-details>summary{cursor:pointer;font-size:.86rem;font-weight:600;min-height:52px;align-content:center;padding:16px 0}.hosted-region-details>.hosted-region-overview{margin:0 0 20px;border:0;padding:0}@media(max-width:700px){.hosted-heading-actions{align-items:flex-start;flex-direction:column;gap:10px}.hosted-heading-actions>.hosted-save{width:100%;justify-content:center}.hosted-region-details{padding:0 14px}.hosted-region-details>.hosted-region-overview{padding:0}.hosted-heading-actions>span,.hosted-save-instruction{font-size:.8rem}}

/* Everyday rider tasks stay separate from optional help and community extras. */
.app-breadcrumb{margin:0 0 22px;font-size:12px;color:var(--muted)}.app-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:3px 0;align-items:center;margin:0;padding:0}.app-breadcrumb li{display:inline-flex;align-items:center;gap:10px;min-width:0;line-height:1.7}.app-breadcrumb a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:3px}.app-breadcrumb [aria-current=page]{font-weight:700;color:var(--ink)}.breadcrumb-separator{margin:0 0 0 10px;color:#809187;font-size:17px}.section-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.section-task-card{display:flex;align-items:flex-start;gap:14px;border:1px solid var(--line);background:var(--paper);padding:25px;border-radius:12px;min-width:0}.section-task-card:hover{background:var(--soft);border-color:var(--green)}.section-task-card>svg:first-child{width:27px;height:27px;color:var(--green);margin-top:2px}.section-task-card>svg:last-child{width:17px;height:17px;margin:4px 0 0 auto;color:var(--green)}.section-task-card h2{font-size:27px}.section-task-card p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}.desktop-page-label{font-size:14px;font-weight:700}
@media(max-width:1100px){.section-task-grid{grid-template-columns:1fr}.section-task-card{align-items:center}.section-task-card p{margin-top:8px}}

.passport-entry-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 22px}.passport-entry-shortcuts>p{width:100%;font-size:11px;color:var(--muted);line-height:1.7;margin-top:3px}
.home-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;max-width:1000px}.home-task-card{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:11px;padding:24px;background:var(--paper);min-width:0}.home-task-card:hover{background:var(--soft);border-color:var(--green)}.home-task-card>svg:first-child{width:28px;height:28px;color:var(--green)}.home-task-card>svg:last-child{width:19px;height:19px;margin-left:auto;color:var(--green)}.home-task-card h2{font-size:28px}.home-task-card p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:7px}.home-reassurance{font-size:11px;color:var(--muted);line-height:1.8;max-width:800px;margin-top:24px}
.app-start{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:25px}.app-start h2{font-size:29px}.app-start>div>p{font-size:13px;color:var(--muted);max-width:720px;margin-top:12px}.app-start-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:23px}.app-start-grid>a{display:grid;align-content:start;gap:9px;border:1px solid var(--line);border-radius:9px;padding:17px;min-height:130px;background:#f5f5ed}.app-start-grid>a:hover,.ride-task-card:hover{border-color:var(--green);background:#f0f3e9}.app-start-grid svg{color:var(--green)}.app-start-grid strong{font-size:13px}.app-start-grid span{font-size:11px;line-height:1.7;color:var(--muted)}
.ride-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ride-task-card{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.ride-task-card>svg{width:29px;height:29px;color:var(--green)}.ride-task-card>h2{font-size:29px}.ride-task-card>p{font-size:13px;color:var(--muted);line-height:1.8}.ride-task-card>strong{font-size:11px;margin-top:auto;padding-top:9px}.ride-task-card>span{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:var(--green);padding-top:13px;border-top:1px solid var(--line);width:100%}.ride-task-card>span>svg{width:16px;height:16px;margin-left:auto}.ride-device-note{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.8;color:var(--muted);margin:22px 0;max-width:850px}.ride-device-note>svg{width:16px;height:19px;color:var(--green);flex:none;margin-top:1px}.ride-utility-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:26px}.ride-section-nav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line)}.ride-section-nav>a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid transparent;border-radius:7px;font-size:12px;font-weight:700;color:var(--muted)}.ride-section-nav>a[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ride-section-nav>a:hover{border-color:#aab9ac}.ride-help-panel,.passport-milestone-details{margin-top:26px;border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:0 22px}.ride-help-panel>summary,.passport-milestone-details>summary{cursor:pointer;font-size:13px;font-weight:700;min-height:54px;padding:17px 0;line-height:1.6}.ride-help-panel>.ride-backup{margin:0 0 22px}.ride-help-panel>p{font-size:12px;color:var(--muted);margin:18px 0}.ride-help-panel>.intro-actions{margin-bottom:22px}.passport-milestone-details>.passport-milestones{margin:8px 0 22px}.passport-hero.passport-hero-compact{display:block;padding:24px}.passport-hero-compact .passport-emblem,.passport-hero-compact .passport-hero-copy>.eyebrow,.passport-hero-compact .passport-hero-copy>p{display:none}.passport-hero-compact h2{font-size:26px}.passport-hero-compact .passport-hero-note{margin-top:11px}.passport-hero-compact .passport-stats{margin:19px 0 0;padding:19px 0 0;background:transparent;border-top:1px solid #ffffff35}.passport-hero-compact .passport-stats dd{font-size:30px}.road-detail-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}.road-action-note{font-size:11px;line-height:1.8;color:var(--muted);margin:13px 0}.road-action-note a{text-decoration:underline;text-underline-offset:3px}.ride-private-access{max-width:850px}
@media(max-width:1000px){.ride-task-grid{grid-template-columns:1fr}.ride-task-card{display:grid;grid-template-columns:35px 1fr;gap:10px 17px}.ride-task-card>svg{grid-row:1/4}.ride-task-card>h2,.ride-task-card>p,.ride-task-card>strong,.ride-task-card>span{grid-column:2}.ride-task-card>strong{padding-top:0}.ride-task-card>span{margin-top:3px}.app-start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.bottom-nav{grid-template-columns:repeat(var(--nav-items,5),minmax(0,1fr))}.bottom-nav .nav-item{font-size:9px;min-width:0;line-height:1.4}.bottom-nav .nav-item>span{text-align:center;overflow-wrap:normal}.topbar{position:sticky}.mobile-brand{margin-bottom:14px}.desktop-page-label{display:block;position:absolute;left:20px;bottom:8px;font-size:9px;font-weight:500;color:var(--muted);max-width:calc(100% - 40px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-task-grid{grid-template-columns:1fr;gap:10px}.home-task-card{gap:13px;padding:17px 18px}.home-task-card h2{font-size:25px}.home-task-card p{font-size:11px;margin-top:5px}.home-task-card>svg:first-child{width:24px;height:24px}.home-task-card>svg:last-child{width:17px;height:17px}.home-reassurance{font-size:10px;margin-top:20px}}
@media(max-width:700px){.app-start{padding:23px 20px}.app-start h2{font-size:27px}.app-start>div>p{font-size:12px}.app-start-grid{gap:9px;margin-top:20px}.app-start-grid>a{padding:14px;min-height:135px}.app-start-grid strong{font-size:12px}.app-start-grid span{font-size:10px}.ride-task-grid{gap:13px}.ride-task-card{padding:20px 18px;grid-template-columns:26px minmax(0,1fr);gap:8px 12px}.ride-task-card>svg{width:24px;height:24px}.ride-task-card>h2{font-size:26px}.ride-task-card>p{font-size:12px}.ride-task-card>strong{font-size:10px}.ride-task-card>span{font-size:11px}.ride-device-note{font-size:10px}.ride-section-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:23px}.ride-section-nav>a{font-size:10px;padding:10px 6px;line-height:1.5}.ride-help-panel,.passport-milestone-details{padding:0 16px}.ride-help-panel>summary,.passport-milestone-details>summary{font-size:12px}.passport-hero.passport-hero-compact{padding:21px 18px}.passport-hero-compact h2{font-size:24px}.passport-hero-compact .passport-stats{gap:9px}.passport-hero-compact .passport-stats dt{font-size:8px}.passport-hero-compact .passport-stats dd{font-size:28px}.road-detail-actions>.button{flex:1;min-width:140px;font-size:11px}.road-action-note{font-size:10px}}

@media(max-width:700px){.topbar{height:88px}.mobile-brand{margin-bottom:25px}.desktop-page-label{font-size:14px;font-weight:700;bottom:11px;color:var(--ink)}.app-breadcrumb{font-size:12px;margin-bottom:18px}.app-breadcrumb li{gap:8px}.breadcrumb-separator{margin-left:8px}.section-task-grid{gap:13px}.section-task-card{padding:20px 18px;gap:12px}.section-task-card>svg:first-child{width:24px;height:24px}.section-task-card h2{font-size:26px}.section-task-card p{font-size:12px;margin-top:7px}#bottom-nav{display:block;padding:0 10px max(8px,env(safe-area-inset-bottom))}#bottom-nav .bottom-nav-group{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:7px 12px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;color:var(--ink)}#bottom-nav .bottom-nav-group[aria-current=page]{color:var(--green)}#bottom-nav .bottom-nav-group>svg{width:15px;height:15px}#bottom-nav .bottom-nav-items{display:grid;grid-template-columns:repeat(var(--nav-items,4),minmax(0,1fr));gap:3px;padding-top:4px}#bottom-nav .nav-item{font-size:10px;font-weight:600;gap:5px;min-height:60px;padding:9px 3px 7px;line-height:1.4}#bottom-nav .nav-item.active{background:var(--soft);border-radius:7px;color:var(--green)}#bottom-nav .nav-item svg{width:22px;height:22px}.app-footer{padding-bottom:calc(140px + env(safe-area-inset-bottom))}.toast{bottom:calc(134px + env(safe-area-inset-bottom))}}

/* Practical travel guide and personal departure planning. */
.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.guide-card{padding:24px;border:1px solid var(--line,#d9dedb);border-radius:14px;background:var(--surface,#fff)}.guide-card h3{margin-top:0}.guide-links{display:flex;flex-direction:column;gap:12px}.trip-countdown{display:flex;flex-direction:column;gap:6px;padding:20px;margin:18px 0;background:#112631;color:#fff;border-radius:12px}.trip-countdown strong{font-size:1.7rem}.hub-tour-reference label{display:block;margin-top:18px}.hub-tour-reference select{max-width:100%;width:100%}.guide-card .text-link{display:inline-flex;min-height:44px;align-items:center}.guide-card p{line-height:1.65}

/* Rider account: a single persistent entry point with explicit save status. */
.account-header-link{font-size:14px;font-weight:700;color:var(--ink,#152d33);white-space:nowrap;padding:12px 4px;text-decoration:underline;text-underline-offset:4px}
.account-summary{margin:22px 0;padding:18px 20px;background:#edf1eb;border:1px solid #ced9d1;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:18px}.account-summary>div{display:flex;gap:12px;align-items:flex-start}.account-summary svg{width:24px;height:24px;flex-shrink:0}.account-summary p{margin:0;font-size:14px;line-height:1.55}.account-summary .text-link{font-size:14px;flex-shrink:0}
.account-panel{max-width:850px;background:var(--white,#fff);border:1px solid #d7dfdc;border-radius:16px;padding:clamp(20px,4vw,38px);line-height:1.65}.account-panel h2{margin-top:0}.account-email{overflow-wrap:anywhere;color:#46615d}.account-import{padding:20px;background:#f5f3eb;border:1px solid #d8d8cc;border-radius:12px;margin:28px 0}.account-import summary{font-weight:700;cursor:pointer}.account-import-list{max-height:280px;overflow:auto;padding-left:24px;font-size:14px}.account-confirm{display:flex;gap:12px;margin:22px 0;align-items:flex-start}.account-confirm input{width:22px;height:22px;flex-shrink:0}.account-signout{border-top:1px solid #d7dfdc;margin-top:26px;padding-top:22px}
@media(max-width:700px){.account-summary{align-items:stretch;flex-direction:column;padding:16px}.account-header-link{font-size:13px}.header-actions{gap:10px}.account-panel .intro-actions{align-items:stretch}.account-panel .intro-actions .button{width:100%}}

/* A personal passport: earned road and country stamps stay separate from saved ideas. */
.passport-book-cover{position:relative;overflow:hidden;background:linear-gradient(115deg,#122e29,#1b3f34 55%,#15362e);color:#f2df9f;border-radius:5px 17px 17px 5px;padding:28px 34px 23px 45px;box-shadow:inset 7px 0 0 #081c1770,0 9px 22px #16362d16}.passport-book-cover:after{content:'';position:absolute;inset:13px 15px 13px 23px;border:1px solid #e7ce8c70;border-radius:2px 8px 8px 2px;pointer-events:none}.passport-book-imprint{display:flex;justify-content:space-between;gap:15px;position:relative;font-size:10px;letter-spacing:.21em;font-weight:700;padding-bottom:20px;border-bottom:1px solid #e7ce8c40}.passport-book-imprint>span{font-size:8px;letter-spacing:.13em;font-weight:500}.passport-book-identity{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 0 24px}.passport-book-eyebrow{display:block;font-size:9px;line-height:1.6;letter-spacing:.1em;color:#e5d7a8}.passport-book-identity h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,4.1vw,50px);line-height:1.13;letter-spacing:.055em;margin:12px 0;color:#f2df9f}.passport-book-identity p{font-size:12px;line-height:1.8;color:#e7dfc3}.passport-book-seal{flex:0 0 148px;width:148px;height:148px;border:3px double #dcc282;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;outline:1px solid #dcc28270;outline-offset:6px;transform:rotate(7deg);text-align:center}.passport-book-seal>svg{width:50px;height:43px;stroke-width:1.1}.passport-book-seal>span{font-size:9px;line-height:1.7;letter-spacing:.15em;margin-top:7px}.passport-book-seal>small{font-size:6px;letter-spacing:.14em;margin-top:9px}.passport-book-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:19px 0;border-top:1px solid #e7ce8c40;border-bottom:1px solid #e7ce8c40}.passport-book-counts>div{display:flex;flex-direction:column-reverse;gap:5px;min-width:0}.passport-book-counts dt{font-size:11px;line-height:1.5;color:#e7dfc3}.passport-book-counts dd{margin:0;font-family:Georgia,serif;font-size:32px;line-height:1.1;color:#f2df9f}.passport-book-privacy{display:flex;align-items:flex-start;gap:9px;position:relative;margin:15px 0 0;font-size:11px;line-height:1.7;color:#e7dfc3;max-width:690px}.passport-book-privacy>svg{width:16px;height:19px;flex:none;margin-top:1px}.passport-book-cover.is-compact{max-width:950px}
.passport-book-page{position:relative;background:linear-gradient(90deg,#e9e1cb 0,#fcf8eb 14px,#fcf8eb 97%,#eee7d4 100%);border:1px solid #d8ceb6;border-radius:4px 12px 12px 4px;padding:27px 28px 28px 35px;box-shadow:inset 5px 0 0 #d8ceb62b;color:#273e35;min-width:0}.passport-book-page:before{content:'';position:absolute;top:20px;bottom:20px;left:16px;border-left:1px solid #d8ceb699;pointer-events:none}.passport-page-header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:16px;margin-bottom:21px;border-bottom:1px solid #d8ceb6;font-size:11px;line-height:1.6;color:#526557}.passport-page-number{font-size:9px;letter-spacing:.13em;font-weight:700}.passport-book-page .section-head{margin-bottom:27px;gap:18px}.passport-book-page .section-head h2,.passport-page-heading h2{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.25;margin:8px 0}.passport-book-page .section-head p,.passport-page-heading p{font-size:12px;line-height:1.8;color:#536156;max-width:620px}.passport-book-page .section-head>.text-link{font-size:11px}.passport-book-page .eyebrow{color:#526557;font-size:9px}.passport-country-pages{margin-top:25px}.passport-page-heading{margin-bottom:28px}.passport-page-footnote{font-size:10px;line-height:1.85;color:#59685c;margin:23px 0 0;padding-top:16px;border-top:1px solid #d8ceb6}.passport-stamp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px;list-style:none;padding:0;margin:0}.passport-stamp-card,.passport-country-stamp-card{--stamp-ink:#305b45;min-width:0;text-align:center}.passport-stamp-card.ink-blue,.passport-country-stamp-card.ink-blue{--stamp-ink:#375e71}.passport-stamp-card.ink-ochre,.passport-country-stamp-card.ink-ochre{--stamp-ink:#90632e}.passport-stamp-card.ink-berry,.passport-country-stamp-card.ink-berry{--stamp-ink:#795164}.passport-ink-stamp{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:calc(100% - 10px);max-width:220px;min-height:205px;margin:7px auto 13px;padding:25px 14px 23px;border:3px double var(--stamp-ink);border-radius:48%;color:var(--stamp-ink);transform:rotate(-3deg);transition:transform .18s ease;overflow-wrap:anywhere;text-decoration:none}.passport-ink-stamp:before{content:'';position:absolute;inset:6px;border:1px dashed currentColor;border-radius:48%;opacity:.5;pointer-events:none}.passport-stamp-card:nth-child(even) .passport-ink-stamp,.passport-country-stamp-card:nth-child(even) .passport-ink-stamp{transform:rotate(3deg)}a.passport-ink-stamp:hover{transform:rotate(0)}.passport-ink-stamp>*{position:relative;max-width:100%}.passport-stamp-rim{font-size:8px;line-height:1.6;letter-spacing:.14em;font-weight:700}.passport-ink-stamp>svg{width:36px;height:30px;flex:none;stroke-width:1.4}.passport-ink-stamp>strong{font-family:Georgia,serif;font-weight:700;font-size:16px;line-height:1.3;text-transform:uppercase}.passport-stamp-country{font-size:10px;line-height:1.5}.passport-ink-stamp>small{font-size:9px;line-height:1.5}.passport-stamp-controls{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;column-gap:14px;row-gap:2px;margin:0 auto;max-width:225px}.passport-stamp-controls>a,.passport-stamp-controls>button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;font-size:11px;line-height:1.5;color:#365548;padding:7px 0;background:none;border:0;border-bottom:1px solid #9aab98;text-decoration:none;font-weight:600;overflow-wrap:anywhere;cursor:pointer}.passport-stamp-controls svg{width:13px;height:13px;flex:none}.passport-personal-stamp-note{font-size:9px;line-height:1.6;margin:10px 3px 0;color:#59685c}.passport-country-ink{border-radius:50%;min-height:190px;max-width:195px;padding:26px 15px}.passport-country-ink:before{border-radius:50%}.passport-country-ink>strong{font-size:15px}.passport-country-mark{font-family:Georgia,serif;font-size:32px;letter-spacing:.06em;line-height:1.1}.passport-empty-stamps{display:flex;align-items:center;gap:30px;padding:7px 0 4px}.passport-empty-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;flex:0 0 180px;width:180px;min-height:180px;border:2px dashed #a8b0a0;border-radius:48%;color:#6c7a6a;text-align:center;transform:rotate(-4deg);padding:21px}.passport-empty-stamp>span{font-size:8px;letter-spacing:.16em;font-weight:700}.passport-empty-stamp>svg{width:31px;height:29px}.passport-empty-stamp>strong{font-family:Georgia,serif;font-size:16px;font-weight:400;line-height:1.3}.passport-empty-stamp>small{font-size:10px}.passport-empty-stamps>div:last-child:not(.passport-empty-stamp){max-width:460px}.passport-empty-stamps h3{font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.3;margin:0 0 12px}.passport-empty-stamps p{font-size:12px;line-height:1.85;color:#536156}.passport-empty-stamps .button{margin-top:18px;min-height:44px;font-size:11px}.passport-book-page a:focus-visible,.passport-book-page button:focus-visible{outline:3px solid #b59143;outline-offset:5px}.passport-book-page a.passport-ink-stamp:focus-visible{border-radius:48%}
@media(max-width:1000px){.passport-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.passport-book-cover{padding:23px 23px 22px 31px}.passport-book-cover:after{inset:10px 10px 10px 17px}.passport-book-imprint{font-size:9px;letter-spacing:.15em;padding-bottom:15px;gap:10px}.passport-book-imprint>span{font-size:7px;letter-spacing:.07em}.passport-book-identity{gap:15px;padding:22px 0}.passport-book-eyebrow{font-size:8px;max-width:160px}.passport-book-identity h2{font-size:31px;letter-spacing:.025em;margin:9px 0 12px}.passport-book-identity p{font-size:10px;line-height:1.75}.passport-book-seal{flex-basis:94px;width:94px;height:94px;outline-offset:4px;border-width:2px}.passport-book-seal>svg{width:33px;height:30px}.passport-book-seal>span{font-size:6px;line-height:1.6;margin-top:5px}.passport-book-seal>small{font-size:4px;margin-top:5px}.passport-book-counts{gap:10px;padding:16px 0}.passport-book-counts dt{font-size:9px}.passport-book-counts dd{font-size:29px}.passport-book-privacy{font-size:10px;gap:7px;margin-top:13px}.passport-book-privacy>svg{width:14px;height:17px}.passport-book-page{padding:23px 17px 24px 25px}.passport-book-page:before{left:11px}.passport-page-header{font-size:9px;gap:10px;margin-bottom:18px;padding-bottom:13px}.passport-page-number{font-size:8px;letter-spacing:.08em}.passport-book-page .section-head{margin-bottom:24px;gap:13px}.passport-book-page .section-head h2,.passport-page-heading h2{font-size:27px}.passport-book-page .section-head p,.passport-page-heading p{font-size:11px}.passport-book-page .section-head>.text-link{font-size:10px}.passport-page-heading{margin-bottom:23px}.passport-page-footnote{font-size:9px;line-height:1.8;margin-top:21px}.passport-stamp-grid{gap:22px 11px}.passport-ink-stamp{min-height:183px;width:calc(100% - 5px);gap:7px;padding:24px 10px 22px;margin:5px auto 12px}.passport-stamp-rim{font-size:7px;letter-spacing:.08em}.passport-ink-stamp>strong{font-size:13px;line-height:1.35}.passport-ink-stamp>svg{width:29px;height:25px}.passport-stamp-country{font-size:9px}.passport-ink-stamp>small{font-size:8px}.passport-stamp-controls{column-gap:10px}.passport-stamp-controls>a,.passport-stamp-controls>button{font-size:10px;gap:4px}.passport-personal-stamp-note{font-size:8px}.passport-country-ink{min-height:164px;padding:24px 10px}.passport-country-ink>strong{font-size:13px}.passport-country-mark{font-size:26px}.passport-empty-stamps{flex-direction:column;gap:25px;text-align:center;padding:6px 0}.passport-empty-stamp{flex-basis:auto;width:164px;min-height:164px}.passport-empty-stamps h3{font-size:23px}.passport-empty-stamps p{font-size:11px}.passport-empty-stamps .button{font-size:11px;max-width:100%;justify-content:center}}
@media(max-width:370px){.passport-book-identity{gap:12px}.passport-book-identity h2{font-size:27px}.passport-book-seal{flex-basis:78px;width:78px;height:78px}.passport-book-seal>svg{width:28px;height:24px}.passport-book-seal>small{display:none}.passport-book-imprint>span{display:none}.passport-ink-stamp>strong{font-size:12px}.passport-stamp-rim{font-size:6px}.passport-stamp-controls{flex-direction:column;align-items:center;gap:0}}
@media(prefers-reduced-motion:reduce){.passport-ink-stamp{transition:none}}

/* Secondary official webcam links: no embedded streams or remote images. */
.official-webcams{margin:24px 0;padding:17px 19px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.official-webcams summary{cursor:pointer;font-size:14px;font-weight:650;color:var(--ink)}
.official-webcams[open] summary{margin-bottom:16px}
.official-webcam-links{list-style:none!important;padding:0!important;margin:18px 0!important}
.official-webcam-links li{padding:13px 0;border-bottom:1px solid var(--line);margin:0!important}
.official-webcam-links li:last-child{border-bottom:0}
.official-webcam-links a{color:var(--ink);font-size:14px;font-weight:650;text-underline-offset:4px;overflow-wrap:anywhere}
.webcam-provider{display:block;font-size:11px;color:var(--muted);margin-top:7px}
.official-webcam-links p,.webcam-notice{font-size:12px!important;line-height:1.7!important;color:var(--muted);margin:9px 0 0!important}
.official-webcam-directory{max-width:850px}
.official-webcam-directory>p{font-size:13px;line-height:1.8;color:var(--muted)}

/* One quiet, offline-readable acknowledgements page. */
.app-footer{flex-wrap:wrap}
.app-footer>a,.app-footer>button{white-space:nowrap}
.photo-credits-owned,.photo-credits-region,.photo-credits-list{max-width:850px}
.photo-credits-owned p,.photo-credits-region p,.photo-credits-region li,.photo-credit-entry p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}
.photo-credits-list{margin-top:22px}
.photo-credit-entry{padding:22px 0;border-top:1px solid var(--line)}
.photo-credit-entry h3{font-size:16px}
.photo-credit-entry a,.photo-credits-region a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.photo-credit-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px;font-size:12px}
.photo-credits-region ul{padding-left:18px}
@media(max-width:520px){.app-footer>span{flex-basis:100%}.app-footer{gap:14px 18px}}
