:root{--forest:#202b2b;--teal:#17665f;--linen:#f3ebdd;--orange:#d96b24;--orange-ink:#93420f;--sage:#a9c9ba;--ink:#282e32;--display:Impact,'Arial Narrow','Helvetica Neue',sans-serif;--body:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--line:#c7c7b7}*{box-sizing:border-box}body{margin:0;background:var(--linen);color:var(--ink);font:18px/1.6 var(--body)}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:4px}h1,h2,h3{font-family:var(--display);font-weight:900;line-height:1.04;letter-spacing:-.025em;margin:0}h2{font-size:clamp(32px,4.5vw,60px)}h3{font-size:30px}p{margin:16px 0 24px}a{text-decoration:none}p a,.reading a,footer a{text-decoration:underline}.header{background:var(--forest);color:var(--linen);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px 5%;border-bottom:1px solid #52635b}.brand{display:flex;gap:16px;align-items:center;color:var(--sage);font-weight:800;font-size:28px}.brand span{color:var(--linen);font-size:16px;font-weight:500}.header nav{display:flex;gap:28px;font-size:15px}.header nav a:hover{color:var(--sage);text-decoration:underline}.hero{background:var(--forest);color:var(--linen);position:relative;isolation:isolate;padding:72px 7% 64px;min-height:330px;overflow:hidden}.hero-content{position:relative;z-index:2;max-width:860px}.hero.with-cover .hero-content{max-width:56%}.hero h1{font-size:clamp(48px,6.3vw,100px);margin:24px 0;overflow-wrap:anywhere}.hero h1 span{display:block}.home-hero{min-height:640px}.home-hero h1{font-size:clamp(50px,6.8vw,108px)}.hero .lead{max-width:550px;font-size:20px}.hero-image{position:absolute;z-index:0;right:0;top:0;width:47%;height:100%;object-fit:cover;object-position:50% 50%;mask-image:linear-gradient(to right,transparent,black 15%)}.hero-image.portrait{object-position:50% 30%;width:38%;mask-image:none}.accent{color:var(--orange)}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.2em;font-weight:600}.carving{position:absolute;left:10px;top:20px;bottom:20px;width:22px;border-left:1px solid var(--sage);border-right:1px solid var(--sage);background:url('/static/decor/render/border.png') center/auto 35px;opacity:.65}.ornament{height:22px;background:var(--forest) url('/static/decor/render/border.png') center/440px 22px;border-top:1px solid #7c998d}.button,button{min-height:46px;border:1px solid var(--teal);background:var(--teal);color:var(--linen);padding:12px 22px;cursor:pointer;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.button:hover,button:hover{background:#104d48}.outline{border-color:var(--orange);color:var(--linen);background:transparent}.outline:hover{background:var(--teal)}.wide{max-width:1370px;margin:auto;padding:64px 5%}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:36px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.project-card{padding-right:24px;border-right:1px solid var(--line)}.project-card:last-child{border:0}.project-card img,.abstract{width:100%;height:240px;object-fit:cover;margin:16px 0 24px}.abstract{background:var(--teal);color:var(--linen);font:900 80px/1 var(--display);padding:24px}.abstract span{font-size:44px;color:var(--sage)}.project-card p{font-size:16px;max-width:32ch}.text-link{color:var(--orange-ink);font-size:15px;display:flex;justify-content:space-between}.text-link span{font-size:24px}.reading{max-width:790px;margin:0 auto;padding:18px 28px}.reading:first-child{padding-top:64px}.reading h2{font-size:40px;margin:20px 0}.reading img{width:100%;max-height:600px;object-fit:cover}.reading figcaption{font-size:13px;margin-top:12px;color:#53605a}.reading.prose p{line-height:1.8}.layout-article .hero{min-height:200px}blockquote{border-left:3px solid var(--orange);font-size:24px}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.gallery img{width:100%;height:320px;object-fit:cover}.page-body{padding-bottom:48px}.journey{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;padding:60px 0 10px}.journey .route{position:absolute;width:100%;height:70px;top:-12px;pointer-events:none}.node{font:28px var(--display);color:var(--orange-ink);border-top:2px solid var(--orange);padding-top:12px}.journey p{font-size:18px}.notes-empty{border-top:1px solid var(--line);background:#e9e4d7}.notes-empty h2{margin-top:16px}.notes-empty p{max-width:65ch}.download{border:1px solid var(--teal);padding:18px;display:block}.preview-banner{padding:12px 5%;background:var(--orange);color:var(--forest);font-size:14px}.preview-banner a{text-decoration:underline}footer{background:var(--forest);color:var(--linen);padding:48px 7%}footer .footer-title{font:32px var(--display)}footer p,footer a{font-size:14px;color:var(--sage)}
/* Administration */
.admin-body{font-size:15px}.admin-top{background:var(--forest);color:var(--linen);display:flex;justify-content:space-between;align-items:center;padding:20px 32px}.admin-top a{color:var(--sage)}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1550px;margin:auto;min-height:85vh}.sidebar{padding:32px 20px;background:#e5e0d3;border-right:1px solid var(--line)}.sidebar button{display:block;width:100%;text-align:left;background:transparent;color:var(--ink);border:0;justify-content:start;margin-bottom:8px}.sidebar button.selected{background:var(--teal);color:var(--linen)}.admin-main{padding:40px;min-width:0}.admin-main h1{font:900 44px var(--display);margin:0 0 20px}.admin-main h2{font-size:28px;margin:24px 0}.admin-main h3{font-size:22px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.secondary{background:transparent;color:var(--teal)}.secondary:hover{background:#dbe3d6}.danger{background:#922e23;border-color:#922e23}.small{font-size:13px;padding:7px 12px;min-height:38px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px}input,textarea,select{width:100%;min-height:44px;padding:10px 12px;background:#fffaf1;border:1px solid #83948b;border-radius:3px;color:var(--ink)}textarea{resize:vertical;line-height:1.6}input[type=file]{padding:8px}input[type=checkbox]{width:20px;min-height:20px}button:disabled{opacity:.55;cursor:not-allowed}.help{font-size:13px;color:#53605a;max-width:75ch}.block-editor{border:1px solid #a9b3a6;background:#f9f5eb;padding:20px;margin:16px 0}.block-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:space-between}.block-top strong{margin-right:auto}.list-row{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.list-row p{font-size:13px;margin:6px 0}.status{font-size:12px;border:1px solid #7b9383;padding:3px 8px;display:inline-block}.login{max-width:480px;margin:70px auto;padding:28px}.login h1{font-size:42px;margin-bottom:16px}.toast{padding:14px 22px;background:var(--forest);color:var(--linen);position:fixed;bottom:24px;right:24px;max-width:calc(100% - 48px);z-index:100;box-shadow:0 6px 20px #0003}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.media-item{border:1px solid var(--line);padding:16px;overflow-wrap:anywhere}.media-item img{width:100%;height:140px;object-fit:cover}.preview-thumb{height:170px;object-fit:cover;border:1px solid var(--line);margin-top:12px}.hidden{display:none!important}.template-info{padding:16px;border-left:3px solid var(--orange);background:#e8e2d5}.title-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.empty{padding:32px;border:1px dashed #829387}.admin-top button{padding:8px 14px}.admin-main a{text-decoration:underline}.check-label{display:flex!important;align-items:center;gap:10px}@media(max-width:900px){.header{align-items:flex-start;flex-direction:column;gap:12px}.header nav{gap:18px;flex-wrap:wrap}.hero.with-cover .hero-content{max-width:60%}.cards{gap:20px}.project-card{padding-right:12px}.project-card img,.abstract{height:180px}.section-head .eyebrow{display:none}.admin-shell{grid-template-columns:170px minmax(0,1fr)}.admin-main{padding:24px}.form-grid{grid-template-columns:1fr}.sidebar{padding:20px 10px}.home-hero{min-height:560px}}@media(max-width:650px){.brand span{font-size:14px}.header{padding:18px 6%}.header nav{font-size:13px;gap:16px}.hero{padding:40px 7%}.hero.with-cover .hero-content{max-width:100%}.hero-image,.hero-image.portrait{position:relative;width:100%;height:300px;margin-top:30px;mask-image:none;object-position:center}.hero-image.portrait{height:380px;object-position:50% 30%}.hero h1,.home-hero h1{font-size:clamp(40px,10vw,66px)}.hero .lead{font-size:17px}.home-hero{min-height:0}.cards{grid-template-columns:1fr}.project-card{border-right:0;border-bottom:1px solid var(--line);padding:0 0 24px}.project-card img,.abstract{height:270px}.wide{padding:40px 6%}.section-head{margin-bottom:24px}.reading{padding:14px 6%}.reading:first-child{padding-top:40px}.journey{grid-template-columns:1fr 1fr}.admin-shell{display:block}.sidebar{display:flex;gap:6px;overflow:auto;padding:12px}.sidebar button{white-space:nowrap;width:auto;margin:0;font-size:13px}.sidebar .help{display:none}.admin-main{padding:24px 18px}.admin-top{padding:16px;font-size:13px}.list-row{align-items:flex-start;flex-direction:column;gap:8px}.list-row .toolbar{margin:0}.title-row{align-items:flex-start;flex-direction:column}.carving{width:10px;left:2px}.toast{bottom:12px;right:12px}.login{margin:20px auto}.hero h1{overflow-wrap:normal}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Carved frame and the continuous journey from the approved render. */
.hero{padding-left:max(124px,8.5%)}.carving{left:0;top:0;bottom:0;width:92px;border:0;background:url('/static/decor/render/foliage.png') left top/92px auto repeat-y;opacity:.92;pointer-events:none;z-index:3}.ornament{height:30px;background:var(--forest) url('/static/decor/render/border.png') left center/180px 30px repeat-x;border-top:1px solid #81978b;border-bottom:1px solid #81978b;position:relative;z-index:3}.home-hero{padding-bottom:120px}.hero-decoration{position:absolute;left:29%;right:0;bottom:0;height:125px;pointer-events:none;z-index:1}.hero-landscape{position:absolute;left:0;bottom:16px;width:200px;opacity:.65}.hero-route{position:absolute;width:600px;max-width:85%;height:170px;left:15%;bottom:-2px;object-fit:fill}.route-bridge{height:115px;position:relative;overflow:hidden;pointer-events:none;background:var(--linen);margin-bottom:-12px}.bridge-route{position:absolute;inset:0;width:100%;height:115px}.bridge-landscape{position:absolute;right:4%;top:4px;width:270px;filter:brightness(.38) saturate(1.25)}.route-bridge+.page-body>.wide:first-child{padding-top:8px}.route-bridge+.page-body .section-head{margin-bottom:32px}.journey{padding-top:100px}.journey .route{top:25px;height:70px}.journey-landscape{position:absolute;width:210px;right:5%;top:-20px;filter:brightness(.38) saturate(1.25);pointer-events:none}.footer-decor{position:absolute;right:4%;width:45%;bottom:24px;height:120px;pointer-events:none;opacity:.8}.footer-route{position:absolute;bottom:0;width:100%;height:90px}.footer-landscape{position:absolute;right:0;bottom:30px;width:230px}footer{position:relative;padding-right:50%}footer>.footer-title,footer>p,footer>a{position:relative;z-index:1}@media(min-width:1600px){.carving{width:110px;background-size:110px auto}.hero-decoration{left:32%}}@media(max-width:900px){.carving{width:66px;background-size:66px auto}.hero{padding-left:90px}.hero-landscape{width:150px}.hero-route{left:24%;max-width:76%}.bridge-landscape{width:200px}.footer-landscape{width:170px}}@media(max-width:650px){.hero{padding-left:65px;padding-right:20px}.carving{width:44px;background-size:56px auto;background-position:-6px top;opacity:.86}.home-hero{padding-bottom:76px}.hero-decoration{left:62px;right:0;height:80px}.hero-landscape{width:110px;bottom:8px;left:0}.hero-route{left:10%;max-width:none;width:85%;height:90px;bottom:-1px}.ornament{height:23px;background-size:145px 23px}.route-bridge{height:90px;margin:0}.bridge-route{height:90px;left:-36%;width:136%;max-width:none}.bridge-landscape{width:150px;right:4%;top:5px}.route-bridge+.page-body>.wide:first-child{padding-top:12px}.journey{padding-top:88px}.journey-landscape{width:135px;right:0;top:-5px}.journey .route{height:50px;top:24px}footer{padding-right:6%;padding-bottom:140px}.footer-decor{left:6%;right:6%;width:88%;height:100px;bottom:10px}.footer-landscape{width:170px}.footer-route{width:100%;height:70px}}

/* Exact raster fragments extracted from the approved render. */
.ornament{background-size:1536px 29px}.bridge-landscape,.journey-landscape{filter:none}.hero-landscape{opacity:1}.hero-route{object-fit:fill}.bridge-route{left:49%;width:51%;max-width:none}.carving{background-size:114px 507px;width:114px;opacity:1}.hero{padding-left:max(144px,10%)}@media(max-width:900px){.carving{width:76px;background-size:76px 338px}.hero{padding-left:100px}}@media(max-width:650px){.hero{padding-left:65px}.carving{width:45px;background-size:57px 253px;background-position:-6px 0}.ornament{background-size:1229px 23px}.bridge-route{left:35%;width:65%}}
/* The seam uses one raster canvas, rather than separately scaled fragments. */
.hero-scene{position:relative;isolation:isolate}.hero-scene .hero-route,.hero-scene .bridge-route{display:none}.hero-scene .route-bridge{height:calc(100vw * 147 / 1536);margin:0}.connected-route{position:absolute;bottom:0;left:0;width:100%;height:auto;max-width:none;z-index:4;pointer-events:none}.hero-scene .hero-content{z-index:5}.hero-scene .hero-decoration{z-index:1}.hero-scene .bridge-landscape{top:auto;bottom:12px}.footer-now{display:inline-flex;gap:14px;align-items:center;font-family:var(--display);font-size:28px;color:var(--linen);text-decoration:none;margin-bottom:20px}.footer-now img{width:25px;height:35px;object-fit:contain}.hero-scene .ornament{height:calc(100vw * 29 / 1536);min-height:23px;background-size:100% 100%}.hero-scene .home-hero{padding-bottom:max(140px,calc(100vw * 154 / 1536))}@media(min-width:2200px){.hero-scene .hero{padding-top:100px}.hero-scene .home-hero h1{font-size:clamp(108px,5.4vw,180px)}.hero-scene .lead{font-size:26px}.bridge-landscape{width:22vw}.carving{width:7.42vw;background-size:7.42vw auto}.header{padding-top:32px;padding-bottom:32px}.wide{max-width:1800px}}@media(max-width:650px){.hero-scene .route-bridge{height:70px}.hero-scene .connected-route{width:900px;left:calc(50% - 450px);height:195px;object-fit:fill}.hero-scene .ornament{height:23px}.hero-scene .home-hero{padding-bottom:100px}.hero-scene .hero-image{position:relative;z-index:0}.hero-scene .bridge-landscape{width:140px;bottom:4px}.footer-now{font-size:25px}}
/* Full-width photographic hero: no mirroring or arbitrary rotation. */
.home-hero .hero-image{inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;mask-image:none;transform:none;z-index:0}.home-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#202b2b 0%,#202b2be6 22%,#202b2b99 35%,#202b2b00 58%)}.home-hero .hero-content{max-width:53%;z-index:5}.home-hero .carving{z-index:6}.hero-scene .home-hero{min-height:610px;padding-top:48px;padding-bottom:120px}.home-hero h1{font-size:clamp(48px,6.4vw,100px)}
/* Now is one aligned strip, matching the approved render. */
.now-strip{display:grid;grid-template-columns:max-content minmax(220px,1fr) minmax(180px,30%);align-items:center;gap:28px;background:var(--forest);color:var(--linen);padding:22px 5%;position:relative;overflow:hidden;border-top:1px solid #50605a}.now-label{display:flex;align-items:center;gap:14px;white-space:nowrap;padding-right:28px;border-right:1px solid var(--orange);font:30px/1.1 var(--display);color:var(--linen)}.now-label img{width:24px;height:34px;object-fit:contain;flex-shrink:0}.now-summary{margin:0;font-size:16px;line-height:1.6;position:relative;z-index:1}.now-art{position:relative;height:56px;min-width:0;pointer-events:none;align-self:center}.now-route{width:100%;height:56px;object-fit:fill;position:absolute;inset:0}.now-landscape{position:absolute;right:0;bottom:18px;width:170px;height:auto;opacity:.7}footer{padding:28px 5%}footer .footer-title{font-size:24px}footer p{margin:10px 0}.now-label:hover span{text-decoration:underline;text-underline-offset:5px}@media(min-width:2200px){.hero-scene .home-hero{min-height:850px;padding-top:72px;padding-bottom:210px}.home-hero h1{font-size:clamp(108px,5vw,180px)}.now-strip{padding-top:30px;padding-bottom:30px}.now-label{font-size:36px}.now-summary{font-size:22px}}@media(max-width:900px){.now-strip{grid-template-columns:max-content 1fr;gap:20px}.now-art{display:none}.now-summary{font-size:15px}}@media(max-width:650px){.home-hero .hero-image{position:absolute;inset:auto 0 0 0;height:310px;width:100%;margin:0;object-fit:cover;object-position:78% center;mask-image:linear-gradient(to bottom,transparent,black 20%)}.home-hero::after{background:linear-gradient(to bottom,#202b2b 0%,#202b2b00 70%)}.home-hero .hero-content{max-width:100%;padding-bottom:230px}.hero-scene .home-hero{padding-top:32px;padding-bottom:76px;min-height:0}.home-hero h1{font-size:clamp(40px,10vw,66px)}.now-strip{grid-template-columns:1fr;gap:14px;padding:24px 6%}.now-label{border:0;padding:0;font-size:26px}.now-label img{width:20px;height:28px}.now-summary{padding-left:34px;margin:0;font-size:15px}footer{padding:28px 6%}}
/* Review 2026-10-30: keep mountains above the path, not underneath it. */
.hero-scene .bridge-landscape{top:-12px;bottom:auto;width:clamp(140px,20vw,300px);height:clamp(48px,5vw,80px);object-fit:contain}.hero-scene .hero-landscape{bottom:70px;width:180px}.hero-scene .route-bridge{min-height:100px}
/* Raster connectors and individually anchored round markers never stretch together. */
.journey.journey-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;padding:110px 0 0}.journey-steps .journey-step{position:relative;padding:0 28px 0 0;min-width:0}.step-track{height:44px;position:relative}.step-dot{position:absolute;left:0;top:8px;width:24px;height:24px;z-index:2}.step-link{position:absolute;left:12px;top:0;width:100%;height:40px;max-width:none;object-fit:fill;pointer-events:none}.journey-steps .node{display:block;border:0;padding:8px 0 0;width:24px;text-align:center;font-size:28px}.journey-steps p{margin-top:20px}.journey-steps .journey-landscape{top:0;right:0;width:210px;height:80px;object-fit:contain}.now-strip{grid-template-columns:minmax(260px,max-content) minmax(220px,1fr) minmax(150px,25%);gap:24px}.now-label{font-size:26px;white-space:normal;line-height:1.2}.now-summary{font-size:16px}.now-strip+footer{padding:12px 5% 20px}.now-art{height:60px}.now-route{bottom:0;top:auto;height:35px}.now-landscape{bottom:32px;width:170px}.no-code-workspace{display:grid;grid-template-columns:minmax(320px,1fr) minmax(330px,1fr);gap:24px;align-items:start}.live-preview{position:sticky;top:16px;min-width:0;padding:16px;background:#e6e2d8;border:1px solid var(--line)}.live-preview .toolbar{margin:0;justify-content:space-between}.live-preview select{width:auto}.preview-canvas{overflow:auto;max-width:100%;background:#cbd0c6;min-height:650px}.preview-canvas iframe{display:block;border:0;width:100%;height:700px;background:var(--linen)}.preview-canvas.mobile iframe{width:390px;max-width:100%;margin:auto}.appearance{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.appearance summary{cursor:pointer;font-weight:600}.content-block{--block-pad:20px}.content-block.block-spacing-compact{--block-pad:4px}.content-block.block-spacing-roomy{--block-pad:48px}.content-block{padding-block:var(--block-pad)}.content-block.block-theme-forest{background:var(--forest);color:var(--linen)}.block-theme-forest .node,.block-theme-forest .text-link{color:var(--orange)}.block-theme-forest .journey-landscape{filter:brightness(3)}.content-block.block-theme-linen{background:var(--linen);color:var(--ink)}.block-width-wide .reading{max-width:1250px}.block-width-narrow .reading,.block-width-narrow .wide{max-width:650px}.block-align-center{text-align:center}.block-align-right{text-align:right}.block-align-center .journey-step,.block-align-right .journey-step{text-align:left}.content-block .reading:first-child{padding-top:18px}.hero-scene+.page-body>.content-block:first-child{padding-top:0}.hero-scene+.page-body>.content-block:first-child>.wide{padding-top:12px}.block-spacing-roomy .wide{padding-block:70px}.block-spacing-compact .wide{padding-block:24px}@media(max-width:1150px){.no-code-workspace{grid-template-columns:1fr}.live-preview{position:static}.preview-canvas{min-height:500px}.now-strip{grid-template-columns:minmax(250px,max-content) 1fr}.now-art{display:none}}@media(max-width:650px){.hero-scene .bridge-landscape{top:-6px;height:42px;width:140px}.hero-scene .hero-landscape{bottom:50px;width:110px}.hero-scene .route-bridge{min-height:85px}.now-strip{grid-template-columns:1fr}.now-label{font-size:24px;border:0}.now-summary{padding-left:34px;font-size:15px}.journey.journey-steps{grid-template-columns:1fr;padding-top:70px}.journey-steps .journey-step{padding:12px 0 28px 46px}.step-track{position:absolute;left:0;top:12px;bottom:0;height:auto;width:24px}.step-dot{top:12px}.step-link{transform:rotate(90deg);transform-origin:0 0;top:24px;left:32px;width:calc(100% + 110px);height:40px}.journey-steps .node{text-align:left;padding:12px 0 0;width:auto}.journey-steps .journey-landscape{width:150px;height:55px}.journey-steps p{margin:10px 0 0}.no-code-workspace{display:block}.live-preview{margin-top:24px}.preview-canvas iframe{height:600px}.content-block.block-spacing-roomy{--block-pad:28px}}
@media(max-width:650px){.step-link{transform:none;top:24px;left:-8px;width:40px;height:100%;object-fit:fill}.journey-steps .journey-step:last-child .step-track{bottom:auto;height:44px}}
/* Review 09:49: the landscape keeps its size and stays inside the light band. */
.hero-scene .route-bridge{height:calc(100vw * 227 / 1536);min-height:155px;overflow:visible}.hero-scene .bridge-landscape{top:16px;bottom:auto;z-index:5}.hero-scene .connected-route{height:auto}.journey.journey-steps{padding-top:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.step-track{height:150px;margin-right:-28px}.step-dot{top:58px}.step-link{left:12px;top:-30px;width:100%;height:200px;max-width:none;object-fit:fill}.journey-steps .node{padding-top:8px}.journey-steps .journey-landscape{top:0;right:0;width:210px;height:80px;z-index:2;pointer-events:none}.journey-exit{width:calc(100% - 12px)}.html-source{font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;tab-size:2;min-height:260px;white-space:pre;overflow:auto}@media(max-width:650px){.hero-scene .route-bridge{height:117px;min-height:117px}.hero-scene .connected-route{height:auto;width:900px;left:calc(50% - 450px)}.hero-scene .bridge-landscape{top:12px;bottom:auto}.journey.journey-steps{padding-top:70px;grid-template-columns:1fr}.step-track{height:auto;margin-right:0}.step-dot{top:12px}.step-link{top:24px;left:-8px;width:40px;height:100%;transform:none}.journey-steps .journey-step:last-child{padding-bottom:130px}.journey-steps .journey-step:last-child .step-track{height:calc(100% - 55px);bottom:0}.journey-steps .journey-landscape{top:auto;bottom:4px;left:50px;right:auto;width:150px;height:65px}}
/* 10:23 review: freshly rasterised dashes, mountain destination occludes the exit. */
.journey-steps .journey-landscape{background-color:var(--linen);z-index:4}.journey-exit{width:calc(100% - 60px)}.block-theme-forest .journey-landscape{background-color:var(--forest);filter:none}.block-theme-forest .journey-landscape{opacity:1}@media(max-width:650px){.journey-steps .journey-landscape{left:-5px}.journey-exit{width:40px}}
/* 2026-11-03: drive in once, then depart to the right with scroll. */
.hero-motion{position:absolute;inset:0;z-index:0;display:none;pointer-events:none;overflow:hidden}
.hero-motion-background,.hero-camper,.hero-camper img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.hero-motion-background,.hero-camper img{object-fit:cover;object-position:center}
.hero-camper{will-change:transform;transform:translate3d(-110%,0,0)}
.hero-camper img{filter:drop-shadow(0 7px 7px #0005)}
.motion-ready .hero-motion{display:block}
.home-hero.motion-ready>.hero-image{opacity:0}
@media(max-width:650px){.hero-motion{inset:auto 0 0;height:310px;mask-image:linear-gradient(to bottom,transparent,black 20%)}.hero-motion-background,.hero-camper img{object-position:78% center}}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-motion{display:none}.home-hero.motion-ready>.hero-image{opacity:1}.hero-camper{will-change:auto}}
/* Anchor perspective at the tyre contact zone while following the road. */
.hero-camper{transform-origin:70% 82%}
/* Ground contact shadow, carried by the same perspective layer as the van. */
.hero-camper::before{content:"";position:absolute;left:var(--ground-left,0);top:var(--ground-top,0);width:var(--ground-width,100%);height:var(--ground-height,100%);background:radial-gradient(ellipse 4% 1.8% at 70% 85%,#000f 20%,#000c 48%,transparent 100%),radial-gradient(ellipse 3.2% 1.4% at 44% 74%,#000f 15%,#000b 50%,transparent 100%),radial-gradient(ellipse 24% 4% at 66% 79%,#000d 15%,#0009 50%,transparent 100%);filter:blur(4px);transform:rotate(10deg);transform-origin:66% 79%;pointer-events:none}
.hero-camper img{filter:drop-shadow(0 3px 2px #0006)}
/* Original complete photograph when parked; separated scene only for travel. */
.motion-ready .hero-motion{opacity:0;transition:opacity .2s ease}
.home-hero.motion-ready>.hero-image{opacity:1;transition:opacity .2s ease}
.hero-motion-active .hero-motion{opacity:1}
.home-hero.motion-ready.hero-motion-active>.hero-image{opacity:0}
.hero-camper .camper-driving{opacity:var(--motion-strength,0);transition:opacity .08s linear}
@media(prefers-reduced-motion:reduce){.home-hero.motion-ready.hero-motion-active>.hero-image{opacity:1}.hero-motion,.home-hero.motion-ready>.hero-image{transition:none}.camper-driving{display:none}}

/* Approved AV mark 18; keep original aspect ratio and clear space. */
.brand-logo{display:block;width:136px;height:70px;object-fit:contain;flex:none}
@media(max-width:650px){.brand{gap:8px}.brand-logo{width:112px;height:58px}}
/* Private AI quota dashboard. */
.quota-intro{color:#52605d;margin-top:0}.quota-providers{display:grid;gap:24px;margin-top:28px}.quota-provider{padding:28px;background:#fffdf7;border:1px solid var(--line);border-top:4px solid var(--teal)}.quota-provider-heading,.quota-bucket-heading,.quota-window-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.quota-provider h2{margin:4px 0 12px;font-size:34px}.quota-badge{font:13px/1.4 var(--body);padding:6px 10px;border:1px solid #bfcac5;background:#e6e8e0;color:#43514c}.quota-badge.connected{background:#dcece3;color:#195b4b}.quota-bucket{margin-top:26px}.quota-bucket-heading{margin-bottom:14px}.quota-windows{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.quota-window{background:var(--linen);padding:24px}.quota-window-heading h3{font:600 18px var(--body);margin:0}.quota-window-heading>span{font-size:13px;color:#56635f}.quota-number{font:64px/1.15 var(--display);margin:18px 0;color:var(--forest)}.quota-number small{font:28px var(--body);margin-left:5px}.quota-track{height:10px;background:#d3d5ca;overflow:hidden}.quota-track span{display:block;height:100%;background:var(--teal)}.quota-window.warning .quota-track span{background:var(--orange-ink)}.quota-window.critical .quota-track span{background:#a33226}.quota-window.critical .quota-number{color:#a33226}.quota-reset{font-size:14px;border-top:1px solid #d1cbbb;padding-top:14px}.quota-notice{font-size:14px;line-height:1.5;color:#793c12;background:#f6e6ce;padding:10px 12px}.quota-expired .quota-track{opacity:.5}.quota-empty{border-top-color:#b8c1ba}.quota-empty h2{font-size:25px}.quota-empty p{color:#58635e}.quota-footnote{max-width:850px;margin-top:24px;line-height:1.7}@media(max-width:650px){.quota-provider{padding:18px}.quota-window{padding:18px}.quota-windows{grid-template-columns:1fr}.quota-number{font-size:52px}}

/* Галерея статьи: фотографии сохраняют исходные пропорции. */
.photo-carousel-track{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--orange) var(--linen);overscroll-behavior-x:contain}
.photo-carousel-slide{position:relative;flex:0 0 100%;scroll-snap-align:start;background:var(--forest)}
.photo-carousel-slide img{width:100%;height:clamp(280px,60vw,620px);max-height:none;object-fit:contain}
.photo-carousel-count{position:absolute;right:12px;bottom:12px;background:var(--forest);color:var(--linen);font-size:13px;padding:3px 10px}
.photo-carousel-controls{display:flex;align-items:center;gap:14px;margin-top:12px;color:var(--forest);font-size:14px}
.photo-carousel-controls span{flex:1;text-align:center}.photo-carousel-controls button{min-width:46px;padding:6px 12px;background:transparent;color:var(--forest);border-color:var(--orange)}
@media (prefers-reduced-motion:reduce){.photo-carousel-track{scroll-behavior:auto}}
.layout-article .reading:not(.photo-carousel) img{max-height:none;object-fit:contain}

/* Просмотр фотографий без обрезки поверх страницы. */
.photo-lightbox-trigger{display:block;width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;cursor:zoom-in}
.photo-lightbox-trigger:hover{background:transparent}
.photo-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:60px 20px 28px;border:0;background:rgba(4,20,18,.96);color:var(--linen)}
.photo-lightbox::backdrop{background:rgba(0,0,0,.85)}
.photo-lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.photo-lightbox-content{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:100%}
.photo-lightbox-content img{min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.photo-lightbox-caption{flex:none;margin:8px 0 0;font-size:14px;text-align:center}
.photo-lightbox-close{position:absolute;right:16px;top:12px;font-size:32px;line-height:1}
.photo-lightbox-close,.photo-lightbox-navigation button{min-width:46px;min-height:46px;padding:5px 12px;border-color:var(--orange);background:var(--forest);color:var(--linen)}
.photo-lightbox-navigation{display:flex;align-items:center;gap:20px}.photo-lightbox-navigation[hidden]{display:none}.photo-lightbox-navigation button:disabled{opacity:.4;cursor:default}

/* Источники в статьях: компактно, с сохранением читаемых ссылок. */
.layout-article .article-sources .reading{padding-top:6px;padding-bottom:6px}
.layout-article .article-sources h2{font-family:var(--body);font-size:18px;line-height:1.4;letter-spacing:normal;margin:18px 0 0}
.layout-article .article-sources p,.layout-article .article-sources a{font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.layout-article .article-sources p{margin:8px 0}

/* Небольшие иллюстрации к разделам статьи о прогнозировании. */
.layout-article .forecast-heading{display:flex;align-items:center;gap:18px}
.layout-article .forecast-heading h2{margin:20px 0}
.layout-article .forecast-heading-icon{flex:0 0 42px;width:42px;height:42px;background:var(--orange-ink);-webkit-mask:var(--forecast-icon) center / contain no-repeat;mask:var(--forecast-icon) center / contain no-repeat}
.forecast-icon-question{--forecast-icon:url('/static/icons/forecast-question.svg')}
.forecast-icon-estimate{--forecast-icon:url('/static/icons/forecast-estimate.svg')}
.forecast-icon-buffer{--forecast-icon:url('/static/icons/forecast-buffer.svg')}
.forecast-icon-example{--forecast-icon:url('/static/icons/forecast-plan.svg')}
.forecast-icon-customer{--forecast-icon:url('/static/icons/forecast-dialogue.svg')}
.forecast-icon-date{--forecast-icon:url('/static/icons/forecast-deadline.svg')}
.forecast-icon-review{--forecast-icon:url('/static/icons/forecast-review.svg')}
@media(max-width:650px){.layout-article .forecast-heading{gap:12px;align-items:flex-start}.layout-article .forecast-heading-icon{flex-basis:30px;width:30px;height:30px;margin-top:23px}}

/* Компактный вертикальный ритм статей: вдвое меньше прежних отступов. */
.layout-article .content-block{--block-pad:10px}
.layout-article .content-block.block-spacing-compact{--block-pad:2px}
.layout-article .content-block.block-spacing-roomy{--block-pad:24px}
.layout-article .reading{padding-top:9px;padding-bottom:9px}
.layout-article .content-block .reading:first-child{padding-top:9px}
.layout-article .reading h2,.layout-article .forecast-heading h2{margin:10px 0}
.layout-article .reading p{margin:8px 0 12px}
.layout-article .reading figcaption{margin-top:6px}
@media(max-width:650px){.layout-article .reading{padding-top:7px;padding-bottom:7px}.layout-article .content-block .reading:first-child{padding-top:7px}}
