@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/roboto-flex-cyrillic-ext-wght-normal-CVcCQn0y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/roboto-flex-cyrillic-wght-normal-BJ-nQEdz.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/roboto-flex-greek-wght-normal-DeN4rzfy.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/roboto-flex-vietnamese-wght-normal-AVFfiTln.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/roboto-flex-latin-ext-wght-normal-gysdOMcS.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/roboto-flex-latin-wght-normal-n-dP9qr2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/material-symbols-rounded-subset-BGQP6dP0.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#111515;--paper:#f8f8f5;--gold:#d7b84f;--gold-deep:#9d8124;--orange:#ff5b00;--shell:min(1344px, calc(100% - 64px));--app-bar-height:72px;--md-ref-typeface-brand:"Roboto Flex Variable", "Roboto Flex", system-ui, sans-serif;--md-ref-typeface-plain:"Roboto Flex Variable", "Roboto Flex", system-ui, sans-serif;--md-icon-font:"Material Symbols Rounded";--md-sys-color-primary:#171a19;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#ead475;--md-sys-color-on-primary-container:#211b00;--md-sys-color-secondary:#625e4f;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#e9e3d2;--md-sys-color-on-secondary-container:#1f1c13;--md-sys-color-tertiary:#865000;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#ffddb5;--md-sys-color-on-tertiary-container:#2b1700;--md-sys-color-surface:#fcfbf6;--md-sys-color-surface-dim:#deddd8;--md-sys-color-surface-bright:#fcfbf6;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#f6f5f0;--md-sys-color-surface-container:#f0efea;--md-sys-color-surface-container-high:#eae9e4;--md-sys-color-surface-container-highest:#e4e3de;--md-sys-color-on-surface:#1c1c19;--md-sys-color-on-surface-variant:#49483f;--md-sys-color-outline:#7b786b;--md-sys-color-outline-variant:#ccc7b6;--md-sys-color-inverse-surface:#30312e;--md-sys-color-inverse-on-surface:#f3f1eb;--md-sys-color-error:#ba1a1a;--md-sys-color-on-error:#fff;--md-filled-button-container-height:48px;--md-filled-tonal-button-container-height:48px;--md-outlined-button-container-height:48px;--md-text-button-container-height:48px;--md-outlined-text-field-container-shape:8px;--md-filled-text-field-container-shape:8px 8px 0 0;--md-dialog-container-shape:28px;--md-filter-chip-container-shape:8px;--md-filter-chip-selected-container-color:var(--md-sys-color-primary-container);--md-filter-chip-selected-label-text-color:var(--md-sys-color-on-primary-container);--shape-xs:4px;--shape-s:8px;--shape-m:12px;--shape-l:16px;--shape-xl:28px;--shape-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.2, 0, 0, 1);--dur-short:.1s;--dur-medium:.25s;--dur-long:.4s;--elevation-1:0 1px 2px #1c1b161f;--elevation-2:0 2px 6px #1c1b1624;--elevation-3:0 6px 16px #1c1b1629;--elevation-4:0 8px 24px #1c1b162e;--elevation-5:0 12px 38px #1c1b1633;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--app-bar-height) + 24px)}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Roboto Flex Variable,Roboto Flex,system-ui,sans-serif;overflow-x:hidden}body::selection{background:var(--gold);color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}.material-symbols-rounded{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-family:Material Symbols Rounded}.top-app-bar{z-index:50;min-height:var(--app-bar-height);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:#f8f8f5eb;border-bottom:1px solid #ccc7b68a;position:fixed;inset:0 0 auto}.top-app-bar__inner{width:var(--shell);min-height:var(--app-bar-height);grid-template-columns:auto auto 1fr auto;align-items:center;gap:28px;margin-inline:auto;display:grid}.top-app-bar__back,.top-app-bar__nav a{border-radius:999px;align-items:center;gap:7px;min-height:42px;font-size:.82rem;font-weight:600;display:inline-flex}.top-app-bar__back{background:var(--md-sys-color-surface-container);padding:0 14px 0 10px}.top-app-bar__back:hover,.top-app-bar__nav a:hover{background:var(--md-sys-color-surface-container-high)}.top-app-bar__nav{justify-content:center;gap:8px;display:flex}.top-app-bar__nav a{padding:0 12px}.top-app-bar__actions{align-items:center;gap:4px;display:flex}.language-button[aria-pressed=true]{--md-text-button-label-text-color:var(--gold-deep);--md-text-button-label-text-weight:750}.vehicle-stage{height:min(760px, calc(100svh - var(--app-bar-height)));min-height:620px;margin-top:var(--app-bar-height);color:#fff;background:#111515;position:relative;overflow:hidden}.gallery-track{overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;height:100%;display:flex;overflow:auto hidden}.gallery-track::-webkit-scrollbar{display:none}.gallery-track>img{object-fit:cover;object-position:center;flex:0 0 100%;width:100%;height:100%}.gallery-slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;width:100%;height:100%;margin:0;position:relative;overflow:hidden}.gallery-slide img{object-fit:cover;object-position:var(--image-position,center);width:100%;height:100%;transform:scale(var(--image-scale,1));transition:transform 6s cubic-bezier(.2,0,0,1)}.gallery-slide.is-active img{transform:scale(calc(var(--image-scale,1) + .025))}.gallery-slide:after{content:"";background:linear-gradient(90deg,#090c0cde 0%,#090c0c85 37%,#090c0c0a 68%),linear-gradient(#0000 57%,#090c0cb3 100%);position:absolute;inset:0}.gallery-slide figcaption{z-index:2;color:#ffffffd1;align-items:center;gap:10px;font-size:.78rem;font-weight:600;display:flex;position:absolute;bottom:28px;right:max(32px,50vw + min(1344px,100vw - 64px)/-2)}.gallery-slide figcaption span{color:var(--gold);font-variant-numeric:tabular-nums}.vehicle-stage__copy{z-index:4;width:var(--shell);pointer-events:none;position:absolute;bottom:58px;left:50%;transform:translate(-50%)}.vehicle-stage__copy-inner{max-width:780px}.vehicle-stage h1{letter-spacing:-.065em;text-wrap:balance;max-width:900px;margin:0;font-size:clamp(3.4rem,7vw,7rem);font-weight:680;line-height:.88}.vehicle-stage__descriptor{color:#ffffffd6;max-width:610px;margin:22px 0 26px;font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.5}.vehicle-stage__price{align-items:baseline;gap:8px;margin:0;display:flex}.vehicle-stage__price span{color:#ffffffb3;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:700}.vehicle-stage__price strong{color:var(--orange);letter-spacing:-.045em;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:760}.vehicle-stage__price small{color:#ffffffbf;font-size:.78rem;font-weight:600}.gallery-controls{z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#101313c2;border:1px solid #fff3;border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:168px;padding:8px;display:grid;position:absolute;bottom:64px;right:max(32px,50vw + min(1344px,100vw - 64px)/-2)}.gallery-controls md-icon-button{--md-icon-button-icon-color:#fff;--md-icon-button-hover-icon-color:var(--gold)}.gallery-controls__counter{color:#ffffffd1;font-variant-numeric:tabular-nums;text-align:center;font-size:.74rem}.gallery-dots{z-index:6;gap:0;display:flex;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.gallery-dot{cursor:pointer;background:0 0;border:0;border-radius:999px;width:48px;height:48px;padding:0;position:relative;overflow:hidden}.gallery-dot:before,.gallery-dot:after{content:"";border-radius:999px;height:4px;position:absolute;top:22px;left:5px;right:5px}.gallery-dot:before{background:#ffffff5c}.gallery-dot:after{background:var(--gold);transform:scaleX(var(--slide-progress,0));transform-origin:0}.gallery-dot:focus-visible{outline-offset:-4px;outline:2px solid #fff}.quick-facts{border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest)}.quick-facts dl{grid-template-columns:repeat(4,minmax(0,1fr));min-height:104px;margin:0;display:grid}.quick-facts dl>div{border-left:1px solid var(--md-sys-color-outline-variant);align-content:center;min-width:0;padding:20px 28px;display:grid}.quick-facts dl>div:first-child{border-left:0}.quick-facts dt,.spec-grid dt,.rental-fact dt{color:var(--md-sys-color-on-surface-variant);letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px;font-size:.66rem;font-weight:700}.quick-facts dd{overflow-wrap:anywhere;letter-spacing:-.035em;margin:0;font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:680}.detail-layout{grid-template-columns:minmax(0,1fr) 368px;align-items:start;gap:clamp(48px,5vw,72px);padding:64px 0 76px;display:grid}.detail-main{min-width:0}.detail-section{border-top:1px solid var(--md-sys-color-outline-variant);padding:42px 0}.detail-section:first-child{border-top:0;padding-top:0}.detail-section:last-child{padding-bottom:0}.detail-section h2,.terms-panel h2,.related-section h2{letter-spacing:-.06em;text-wrap:balance;max-width:760px;margin:0;font-size:clamp(2.3rem,4vw,4.25rem);font-weight:680;line-height:.98}.detail-lede{max-width:710px;color:var(--md-sys-color-on-surface-variant);margin:20px 0 0;font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.58}.best-for{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:16px;max-width:710px;margin-top:28px;padding:18px 0;display:grid}.best-for md-icon{background:var(--md-sys-color-primary-container);width:44px;height:44px;color:var(--md-sys-color-on-primary-container);border-radius:14px;place-items:center;display:grid}.best-for strong,.best-for span{display:block}.best-for strong{margin-bottom:4px;font-size:.86rem}.best-for span{color:var(--md-sys-color-on-surface-variant);line-height:1.5}.spec-grid{background:var(--md-sys-color-outline-variant);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:22px 0 0;padding:1px;display:grid;overflow:hidden}.spec-grid>div{background:var(--md-sys-color-surface-container-lowest);border:0;min-width:0;min-height:70px;padding:15px 16px}.spec-grid>div:not(:nth-child(3n+1)){border-left:0;padding-left:16px}.spec-grid dd{overflow-wrap:anywhere;margin:0;font-size:1.02rem;font-weight:650;line-height:1.32}.equipment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0 0;padding:0;list-style:none;display:grid}.equipment-list li{background:var(--md-sys-color-surface-container-low);min-height:50px;color:var(--md-sys-color-on-surface);border:0;border-radius:13px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:10px 13px;font-size:.88rem;line-height:1.35;display:grid}.equipment-list .material-symbols-rounded{color:var(--gold-deep);font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;font-size:21px}.booking-card{top:calc(var(--app-bar-height) + 24px);background:var(--md-sys-color-surface-container-lowest);border-radius:24px;position:sticky;overflow:hidden;box-shadow:0 10px 34px #2220171a}.booking-card__price-label{color:var(--md-sys-color-on-surface-variant);letter-spacing:.11em;text-transform:uppercase;margin:0 0 4px;font-size:.66rem;font-weight:750}.booking-card__price{align-items:baseline;gap:7px;margin:0;display:flex}.booking-card__price strong{color:var(--orange);letter-spacing:-.05em;font-size:2.25rem;font-weight:760}.booking-card__price span{color:var(--md-sys-color-on-surface-variant);font-size:.78rem;font-weight:600}.booking-card__route{border-block:1px solid var(--md-sys-color-outline-variant);gap:0;margin:22px 0;display:grid}.route-row{grid-template-columns:22px minmax(0,1fr);gap:11px;min-width:0;padding:14px 0;display:grid}.route-row+.route-row{border-top:1px solid var(--md-sys-color-outline-variant)}.route-row md-icon{color:var(--gold-deep);font-size:20px}.route-row small,.route-row strong{display:block}.route-row small{color:var(--md-sys-color-on-surface-variant);margin-bottom:3px;font-size:.67rem}.route-row strong{text-overflow:ellipsis;font-size:.84rem;line-height:1.35;overflow:hidden}.booking-card__actions{gap:10px;display:grid}.booking-card__actions md-filled-button,.booking-card__actions md-outlined-button{width:100%}.booking-card__deposit{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;font-size:.75rem;font-weight:650;display:flex}.booking-card__deposit strong{font-size:1rem}.booking-card__note{color:var(--md-sys-color-on-surface-variant);margin:14px 0 0;font-size:.72rem;line-height:1.45}.terms-panel{background:var(--ink);color:#fff;padding:72px 0}.terms-panel__head{grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);align-items:end;gap:48px;margin-bottom:36px;display:grid}.terms-panel__head p:last-child{color:#ffffffa8;max-width:520px;margin:0;line-height:1.65}.rental-facts{border-top:1px solid #fff3;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.rental-fact{border-bottom:1px solid #fff3;min-width:0;padding:21px 20px 21px 0}.rental-fact:not(:nth-child(4n+1)){border-left:1px solid #fff3;padding-left:20px}.rental-fact dt{color:#ffffff8c}.rental-fact dd{margin:0;font-size:1.05rem;font-weight:650;line-height:1.4}.terms-panel__promise{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px;display:grid}.promise{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:14px;display:grid}.promise md-icon{width:42px;height:42px;color:var(--gold);background:#d7b84f24;border-radius:14px;place-items:center;display:grid}.promise strong,.promise span{display:block}.promise strong{margin:2px 0 5px}.promise span{color:#ffffff9e;font-size:.84rem;line-height:1.5}.related-section{padding:72px 0 80px}.related-section__head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.related-section__head md-text-button{flex:none}.related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.site-footer{border-top:1px solid var(--md-sys-color-outline-variant);padding:32px 0}.site-footer__inner{color:var(--md-sys-color-on-surface-variant);justify-content:space-between;align-items:center;gap:24px;font-size:.78rem;display:flex}.site-footer__links{flex-wrap:wrap;gap:20px;display:flex}.mobile-booking-bar{display:none}@media (width<=1080px){:root{--shell:min(100% - 48px, 980px)}.top-app-bar__nav{display:none}.top-app-bar__inner{grid-template-columns:auto auto 1fr}.top-app-bar__actions{grid-column:3;justify-self:end}.detail-layout{grid-template-columns:minmax(0,1fr) 320px;gap:48px}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-grid>div:not(:nth-child(3n+1)),.spec-grid>div:nth-child(2n){border-left:0;padding-left:16px}.rental-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.rental-fact:not(:nth-child(4n+1)){border-left:0;padding-left:0}.rental-fact:nth-child(2n){border-left:1px solid #fff3;padding-left:20px}}@media (width<=820px){:root{--shell:calc(100% - 32px);--app-bar-height:64px}body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.top-app-bar__inner{grid-template-columns:auto auto 1fr;gap:10px}.top-app-bar__back{background:var(--md-sys-color-surface-container);border:0;border-radius:999px;justify-content:center;width:40px;height:40px;padding:0;display:inline-flex}.top-app-bar__back span:last-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.top-app-bar__actions{grid-column:3;justify-self:end}.top-app-bar__actions .header-book{display:none}.vehicle-stage{height:min(760px, calc(100svh - var(--app-bar-height)));min-height:620px}.gallery-slide:after{background:linear-gradient(#090c0c0a 26%,#090c0ce0 79%,#090c0cfa 100%),linear-gradient(90deg,#090c0c1f,#0000 70%)}.gallery-slide figcaption{display:none}.vehicle-stage__copy{bottom:108px}.vehicle-stage h1{max-width:640px;font-size:clamp(2.8rem,13vw,5rem);line-height:.92}.vehicle-stage__descriptor{max-width:540px;margin:16px 0 18px;font-size:.95rem}.gallery-controls{width:168px;top:16px;bottom:auto;right:16px}.gallery-dots{top:14px;bottom:auto;left:16px;transform:none}.quick-facts{overscroll-behavior-x:contain;scrollbar-width:none;overflow-x:auto}.quick-facts::-webkit-scrollbar{display:none}.quick-facts dl{grid-template-columns:repeat(4,minmax(158px,1fr));width:max-content;min-width:100%}.quick-facts dl>div{padding:18px 20px}.detail-layout{padding:52px 0 64px;display:block}.booking-card{margin-top:32px;position:static}.terms-panel__head,.terms-panel__promise{grid-template-columns:1fr;gap:24px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-booking-bar{z-index:45;min-height:calc(78px + env(safe-area-inset-bottom));padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--md-sys-color-outline-variant);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fcfbf6f5;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr);align-items:center;gap:12px;transition:opacity .18s,transform .22s cubic-bezier(.2,0,0,1);display:grid;position:fixed;bottom:0;left:0;right:0}body.is-browsing-related .mobile-booking-bar{opacity:0;pointer-events:none;transform:translateY(calc(100% + env(safe-area-inset-bottom)))}.mobile-booking-bar small,.mobile-booking-bar strong{display:block}.mobile-booking-bar small{color:var(--md-sys-color-on-surface-variant);font-size:.66rem}.mobile-booking-bar strong{color:var(--orange);letter-spacing:-.035em;margin-top:2px;font-size:1.22rem}.mobile-booking-bar md-filled-button{width:100%}}@media (width<=560px){.brand{letter-spacing:.24em;font-size:.8rem}.language-button{min-width:42px}.vehicle-stage{height:calc(100svh - var(--app-bar-height));min-height:600px}.gallery-slide img{object-position:var(--mobile-position,var(--image-position,center))}.vehicle-stage__copy{bottom:112px}.vehicle-stage h1{font-size:clamp(2.55rem,12.5vw,4.1rem)}.vehicle-stage__descriptor{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.vehicle-stage__price strong{font-size:1.8rem}.gallery-controls{grid-template-columns:auto auto;width:auto}.gallery-controls__counter{display:none}.gallery-dots{max-width:calc(100% - 190px)}.gallery-dot{width:48px;height:48px}.detail-section{padding:36px 0}.detail-section h2,.terms-panel h2,.related-section h2{font-size:clamp(2.05rem,10vw,3rem)}.detail-lede{margin-top:16px;font-size:1rem;line-height:1.55}.spec-grid,.equipment-list{grid-template-columns:1fr}.spec-grid>div,.spec-grid>div:nth-child(2n){border-left:0;padding:14px}.booking-card__top{padding:20px}.booking-card__deposit{padding-inline:20px}.terms-panel{padding:56px 0}.terms-panel__head{margin-bottom:28px}.rental-facts{grid-template-columns:1fr}.rental-fact,.rental-fact:nth-child(2n){border-left:0;padding:16px 0}.related-section{padding:60px 0 70px}.related-section__head{display:block}.related-section__head md-text-button{margin-top:18px}.related-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;width:calc(100vw - 16px);margin-right:-16px;display:flex;overflow-x:auto}.related-grid::-webkit-scrollbar{display:none}.related-grid .fleet-card{scroll-snap-align:start;flex:0 0 76vw}.fleet-card__body{padding:16px}.site-footer__inner{display:grid}.site-footer__links{gap:14px}.mobile-booking-bar{grid-template-columns:minmax(0,.76fr) minmax(154px,1fr)}}.vehicle-intro{margin-top:var(--app-bar-height);padding:34px 0 22px}.vehicle-breadcrumbs{color:var(--md-sys-color-on-surface-variant);align-items:center;gap:7px;margin-bottom:16px;font-size:.76rem;font-weight:600;display:flex}.vehicle-breadcrumbs a:hover{text-underline-offset:3px;text-decoration:underline}.vehicle-breadcrumbs .material-symbols-rounded{font-size:16px}.vehicle-intro__headline{gap:10px;display:grid}.vehicle-intro h1{letter-spacing:-.06em;text-wrap:balance;max-width:920px;margin:0;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(2.65rem,5.1vw,5.2rem);font-weight:800;line-height:.96}.vehicle-intro__descriptor{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:1rem;line-height:1.6}.search-summary{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:20px;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) auto;align-items:stretch;min-height:82px;margin-top:24px;display:grid;overflow:hidden}.search-summary__item{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:15px 20px;display:grid}.search-summary__item+.search-summary__item{border-left:1px solid var(--md-sys-color-outline-variant)}.search-summary__icon{background:var(--md-sys-color-primary-container);width:40px;height:40px;color:var(--md-sys-color-on-primary-container);border-radius:13px;place-items:center;display:grid}.search-summary__item small,.search-summary__item strong{display:block}.search-summary__item small{color:var(--md-sys-color-on-surface-variant);margin-bottom:3px;font-size:.67rem}.search-summary__item strong{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;line-height:1.35;overflow:hidden}.search-summary__action{border-left:1px solid var(--md-sys-color-outline-variant);place-items:center;min-width:190px;padding:12px;display:grid}.vehicle-content-grid{grid-template-columns:minmax(0,1fr) 370px;align-items:start;gap:24px 30px;padding-bottom:52px;display:grid}.vehicle-content-grid>.vehicle-stage,.vehicle-content-grid>.quick-facts,.vehicle-content-grid>.detail-layout{grid-column:1}.vehicle-content-grid>.booking-card{grid-area:1/2/span 3}.vehicle-stage{border-radius:24px;height:clamp(500px,46vw,620px);min-height:0;margin-top:0;box-shadow:0 12px 34px #2220171f}.gallery-slide:after{background:linear-gradient(#090c0c05 66%,#090c0ca3 100%)}.gallery-slide figcaption{bottom:22px;right:22px}.gallery-controls{width:158px;top:auto;bottom:18px;right:18px}.gallery-dots{top:auto;bottom:17px;left:18px;transform:none}.gallery-dot{width:42px;height:42px}.gallery-dot:before,.gallery-dot:after{top:19px}.quick-facts{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:20px;overflow:hidden}.quick-facts dl{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-height:0;margin:0}.quick-facts dl>div{min-height:92px;padding:17px 20px}.quick-facts dl>div:nth-child(3n+1){border-left:0}.quick-facts dl>div:nth-child(n+4){border-top:1px solid var(--md-sys-color-outline-variant)}.quick-facts dd{font-size:clamp(1.05rem,1.75vw,1.38rem)}.booking-card{top:calc(var(--app-bar-height) + 18px);border:1px solid var(--md-sys-color-outline-variant);border-radius:24px;box-shadow:0 12px 34px #2220171c}.booking-card__top{padding:22px}.booking-card__heading{letter-spacing:-.035em;margin:0 0 5px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:1.35rem;font-weight:750}.booking-card__price strong{font-size:2rem}.booking-card__facts{border-top:1px solid var(--md-sys-color-outline-variant);margin:18px 0 0;display:grid}.booking-card__fact{border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:12px 0;display:flex}.booking-card__fact dt,.booking-card__fact dd{margin:0;font-size:.76rem;line-height:1.35}.booking-card__fact dt{color:var(--md-sys-color-on-surface-variant)}.booking-card__fact dd{text-align:right;max-width:52%;font-weight:700}.booking-card__route{margin:14px 0 18px}.booking-card__deposit{padding:15px 22px}.detail-layout{width:auto;padding:14px 0 0;display:block}.detail-section{padding:32px 0}.detail-section h2,.conditions-section h2,.related-section h2{max-width:720px;font-size:clamp(1.9rem,2.8vw,2.7rem);line-height:1.04}.detail-lede{max-width:780px;font-size:1.02rem}.best-for{max-width:780px}.extra-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.extra-option{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);min-height:78px;color:var(--md-sys-color-on-surface);font:inherit;text-align:left;cursor:pointer;border-radius:16px;grid-template-columns:36px minmax(0,1fr) 40px;align-items:center;gap:12px;padding:11px 12px 11px 14px;transition:border-color .16s,background .16s;display:grid}.extra-option:hover{border-color:var(--gold-deep)}.extra-option:has(md-checkbox:focus-visible){outline:2px solid var(--gold-deep);outline-offset:2px}.extra-option.is-selected{border-color:var(--gold-deep);background:#fff9df}.extra-option__icon{background:var(--md-sys-color-surface-container);width:36px;height:36px;color:var(--gold-deep);border-radius:11px;place-items:center;display:grid}.extra-option__icon .material-symbols-rounded{font-size:1.25rem}.extra-option.is-selected .extra-option__icon{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.extra-option strong,.extra-option small{display:block}.extra-option strong{margin:0 0 3px;font-size:.86rem}.extra-option small{color:var(--md-sys-color-on-surface-variant);font-size:.72rem;line-height:1.35}.extra-option__check{--md-checkbox-selected-container-color:var(--gold-deep);--md-checkbox-selected-hover-container-color:var(--gold-deep);--md-checkbox-selected-focus-container-color:var(--gold-deep);--md-checkbox-selected-pressed-container-color:var(--gold-deep);margin-inline:-4px}#extras .detail-lede{max-width:680px;margin-top:12px;font-size:1rem}.spec-grid{margin-top:20px}.assurance-band{background:var(--ink);color:#fff;padding:28px 0}.assurance-band .terms-panel__promise{margin:0;width:min(1180px,100% - 64px);margin-inline:auto}.assurance-band .promise{justify-content:center;align-items:center}.conditions-section{padding:52px 0 50px}.conditions-section__head{grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);align-items:end;gap:40px;margin-bottom:22px;display:grid}.conditions-section__head p{color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.58}.conditions-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.conditions-column{background:var(--md-sys-color-surface-container-low);border-radius:18px;min-width:0;padding:18px 20px 8px}.conditions-column h3{letter-spacing:-.025em;margin:0 0 10px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:1.1rem}.condition-list{border-top:0}.condition-list details{border-bottom:1px solid var(--md-sys-color-outline-variant)}.condition-list details:last-child{border-bottom:0}.condition-list summary{cursor:pointer;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:58px;padding:8px 0;font-size:.87rem;font-weight:700;list-style:none;display:grid}.condition-list summary::-webkit-details-marker{display:none}.condition-list summary>.material-symbols-rounded:first-child{color:var(--gold-deep);font-size:21px}.condition-list summary:after{color:var(--md-sys-color-on-surface-variant);content:"expand_more";font-family:Material Symbols Rounded;font-size:22px;font-weight:400;transition:transform .18s}.condition-list details[open] summary:after{transform:rotate(180deg)}.condition-list details p{color:var(--md-sys-color-on-surface-variant);margin:-2px 34px 18px 44px;font-size:.82rem;line-height:1.6}.related-section{background:var(--md-sys-color-surface-container-low);padding:48px 0 58px}@media (width<=1080px){.vehicle-content-grid{grid-template-columns:minmax(0,1fr) 320px;gap:22px}.vehicle-stage{height:clamp(450px,52vw,560px)}.quick-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-facts dl>div:nth-child(3n+1){border-left:1px solid var(--md-sys-color-outline-variant)}.quick-facts dl>div:nth-child(odd){border-left:0}.quick-facts dl>div:nth-child(n+3){border-top:1px solid var(--md-sys-color-outline-variant)}}@media (width<=820px){.vehicle-intro{padding-top:24px}.conditions-section__head{grid-template-columns:1fr;gap:12px}.vehicle-intro__descriptor{max-width:680px}.search-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.search-summary__action{border-top:1px solid var(--md-sys-color-outline-variant);border-left:0;grid-column:1/-1;min-width:0}.vehicle-content-grid{grid-template-columns:1fr;padding-bottom:40px}.vehicle-content-grid>.vehicle-stage,.vehicle-content-grid>.quick-facts,.vehicle-content-grid>.booking-card,.vehicle-content-grid>.detail-layout{grid-column:1}.vehicle-content-grid>.vehicle-stage{grid-row:1}.vehicle-content-grid>.quick-facts{grid-row:2}.vehicle-content-grid>.booking-card{grid-row:3}.vehicle-content-grid>.detail-layout{grid-row:4}.vehicle-stage{height:clamp(410px,68vw,560px)}.booking-card{margin:0;position:static}.conditions-columns{gap:24px}}@media (width<=560px){.vehicle-intro{padding:20px 0 16px}.vehicle-breadcrumbs{margin-bottom:12px}.vehicle-intro h1{font-size:clamp(2rem,10.5vw,3.2rem);line-height:.98}.vehicle-intro__descriptor{font-size:.9rem;line-height:1.5}.search-summary{border-radius:17px;grid-template-columns:1fr;margin-top:18px}.search-summary__item{grid-template-columns:34px minmax(0,1fr);min-height:65px;padding:11px 14px}.search-summary__item+.search-summary__item{border-top:1px solid var(--md-sys-color-outline-variant);border-left:0}.search-summary__icon{border-radius:11px;width:34px;height:34px}.search-summary__action{grid-column:1;padding:10px 12px}.vehicle-content-grid{gap:14px}.vehicle-stage{border-radius:18px;height:72vw;min-height:292px;max-height:390px}.gallery-slide img{object-position:var(--mobile-position,var(--image-position,center))}.gallery-slide figcaption{display:none}.gallery-controls{grid-template-columns:auto auto;width:auto;padding:5px;bottom:10px;right:12px}.gallery-controls__counter{display:none}.gallery-dots{max-width:calc(100% - 122px);bottom:9px;left:10px}.gallery-dot{width:35px;height:42px}.gallery-dot:before,.gallery-dot:after{height:3px;top:19px;left:4px;right:4px}.quick-facts{border-radius:17px}.quick-facts dl{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.quick-facts dl>div{min-height:76px;padding:13px 14px}.quick-facts dd{font-size:1rem}.booking-card{border-radius:19px}.booking-card__top{padding:18px}.detail-layout{padding-top:2px}.detail-section{padding:26px 0}.detail-section h2,.conditions-section h2,.related-section h2{font-size:clamp(1.75rem,7.5vw,2.2rem)}.extra-grid,.conditions-columns{grid-template-columns:1fr}.extra-option{min-height:74px}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-grid>div,.spec-grid>div:nth-child(2n),.spec-grid>div:nth-child(2n){border-left:0;padding:13px}.assurance-band{padding:26px 0}.assurance-band .terms-panel__promise{width:calc(100% - 32px)}.assurance-band .promise{justify-content:start}.conditions-section{padding:40px 0 38px}.conditions-column{padding:16px 15px 6px}}.spec-grid{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:12px;gap:0;padding:0;overflow:hidden}.spec-grid>div,.spec-grid>div:nth-child(2n){border:0}.spec-grid>div:not(:nth-child(4n+1)){border-left:1px solid var(--md-sys-color-outline-variant)}.spec-grid>div:nth-child(n+5){border-top:1px solid var(--md-sys-color-outline-variant)}@media (width<=1080px){.spec-grid>div,.spec-grid>div:nth-child(2n),.spec-grid>div:not(:nth-child(4n+1)){border-left:0}.spec-grid>div:nth-child(2n){border-left:1px solid var(--md-sys-color-outline-variant)}.spec-grid>div:nth-child(n+3){border-top:1px solid var(--md-sys-color-outline-variant)}}.practical-specs{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;margin:22px 0 0;display:grid}.practical-specs>div{border-top:1px solid var(--md-sys-color-outline-variant);min-width:0;padding:17px 0 16px}.practical-specs dt,.spec-list dt{color:var(--md-sys-color-on-surface-variant);letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px;font-size:.66rem;font-weight:700}.practical-specs dd{overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:650;line-height:1.35}.spec-disclosure{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:12px;margin-top:16px;overflow:hidden}.spec-disclosure summary{box-sizing:border-box;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:14px 17px;list-style:none;display:flex}.spec-disclosure summary::-webkit-details-marker{display:none}.spec-disclosure summary:focus-visible{outline:3px solid color-mix(in srgb, var(--md-sys-color-primary) 55%, transparent);outline-offset:-3px}.spec-disclosure__copy,.spec-disclosure__copy strong,.spec-disclosure__copy small{display:block}.spec-disclosure__copy strong{font-size:.96rem}.spec-disclosure__copy small{color:var(--md-sys-color-on-surface-variant);margin-top:3px;font-size:.78rem;line-height:1.4}.spec-disclosure__icon{color:var(--md-sys-color-on-surface-variant);flex:none;transition:transform .18s}.spec-disclosure[open] .spec-disclosure__icon{transform:rotate(180deg)}.spec-list{border-top:1px solid var(--md-sys-color-outline-variant);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;margin:0;padding:0 17px 10px;display:grid}.spec-list>div{border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:baseline;gap:18px;min-width:0;padding:12px 0;display:flex}.spec-list dt{margin:0}.spec-list dd{overflow-wrap:anywhere;text-align:right;margin:0;font-size:.86rem;font-weight:650;line-height:1.35}@media (width<=720px){.practical-specs{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.spec-list{grid-template-columns:1fr}}@media (width<=420px){.spec-disclosure summary{min-height:64px;padding:12px 14px}.spec-list{padding-inline:14px}}@media (prefers-reduced-motion:reduce){html,.gallery-track{scroll-behavior:auto}.mobile-booking-bar{transition:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.gallery-slide img{transform:scale(var(--image-scale,1))!important}.reveal{opacity:1;transform:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#111515;--paper:#f8f8f5;--gold:#d7b84f;--gold-deep:#9d8124;--orange:#ff5b00;--shell:min(1344px, calc(100% - 64px));--app-bar-height:72px;--md-ref-typeface-brand:"Roboto Flex Variable", "Roboto Flex", system-ui, sans-serif;--md-ref-typeface-plain:"Roboto Flex Variable", "Roboto Flex", system-ui, sans-serif;--md-icon-font:"Material Symbols Rounded";--md-sys-color-primary:#171a19;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#ead475;--md-sys-color-on-primary-container:#211b00;--md-sys-color-secondary:#625e4f;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#e9e3d2;--md-sys-color-on-secondary-container:#1f1c13;--md-sys-color-tertiary:#9c3e00;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#ffdbc9;--md-sys-color-on-tertiary-container:#351000;--md-sys-color-surface:#fcfbf6;--md-sys-color-surface-dim:#dcdbd5;--md-sys-color-surface-bright:#fcfbf6;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#f6f4ee;--md-sys-color-surface-container:#f0eee8;--md-sys-color-surface-container-high:#eae9e3;--md-sys-color-surface-container-highest:#e4e3dd;--md-sys-color-on-surface:#1b1c19;--md-sys-color-on-surface-variant:#49483f;--md-sys-color-outline:#7a786d;--md-sys-color-outline-variant:#cbc7b9;--md-sys-color-inverse-surface:#30312e;--md-sys-color-inverse-on-surface:#f3f1eb;--md-sys-color-error:#ba1a1a;--md-sys-color-on-error:#fff;--md-filled-button-container-height:48px;--md-filled-tonal-button-container-height:48px;--md-outlined-button-container-height:48px;--md-outlined-text-field-container-shape:8px;--md-filled-text-field-container-shape:8px 8px 0 0;--md-dialog-container-shape:28px;--md-filter-chip-container-shape:8px;--md-filter-chip-selected-container-color:var(--md-sys-color-primary-container);--md-filter-chip-selected-label-text-color:var(--md-sys-color-on-primary-container);--md-filter-chip-icon-size:0px;--md-filter-chip-icon-label-space:0px;--md-filter-chip-leading-space:16px;--md-filter-chip-with-leading-icon-leading-space:16px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);color:var(--md-sys-color-on-surface);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;font-family:Roboto Flex Variable,Roboto Flex,system-ui,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{border:0}md-filled-button,md-filled-tonal-button,md-outlined-button,md-text-button,md-icon-button,md-fab,md-filter-chip,md-assist-chip,md-outlined-select,md-outlined-text-field,md-filled-text-field,md-linear-progress{font-family:inherit}md-outlined-text-field,md-filled-text-field,md-outlined-select,md-linear-progress{display:block}md-chip-set{flex-wrap:wrap;gap:8px;display:flex}:is(md-filled-button:not(:defined),md-filled-tonal-button:not(:defined),md-outlined-button:not(:defined),md-text-button:not(:defined)){background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-weight:650;display:inline-flex}:is(md-outlined-text-field:not(:defined),md-filled-text-field:not(:defined),md-outlined-select:not(:defined)){border:1px solid var(--md-sys-color-outline);border-radius:8px;min-height:56px}.material-symbols-rounded{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-family:Material Symbols Rounded;font-size:22px;font-style:normal;font-weight:400;line-height:1}.top-app-bar{z-index:40;height:var(--app-bar-height);-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);background:#f8f8f5b8;border-bottom:1px solid #0000;transition:background .22s,border-color .22s,box-shadow .22s;position:fixed;top:0;left:0;right:0}.top-app-bar.is-scrolled{border-color:var(--md-sys-color-outline-variant);background:#fcfbf6f5;box-shadow:0 2px 8px #1c1c1914}.brand{letter-spacing:.3em;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:1rem;font-weight:700}.language-button[aria-pressed=true]{--md-text-button-label-text-color:var(--md-sys-color-on-primary-container);background:var(--md-sys-color-primary-container);border-radius:999px}.hero{isolation:isolate;background:#e8e1d7;min-height:max(820px,100svh);position:relative;overflow:hidden}.hero__media,.hero__media picture,.hero__media img{width:100%;height:100%;position:absolute;inset:0}.hero__media img{object-fit:cover;object-position:center 58%;transform:translateY(var(--hero-shift,0)) scale(1.035);transition:transform .1s linear}.hero__media:after{content:"";background:linear-gradient(90deg,#f8f8f5f5 0%,#f8f8f5c2 32%,#f8f8f514 66%),linear-gradient(#0000 58%,#11151557 100%);position:absolute;inset:0}.hero__content{z-index:2;min-height:max(820px,100svh);width:var(--shell);padding:calc(var(--app-bar-height) + 42px) 0 210px;align-items:center;margin-inline:auto;display:flex;position:relative}.hero__copy{width:min(670px,62vw)}.hero__brand{letter-spacing:.015em;white-space:nowrap;margin:0 0 22px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(4.4rem,8.8vw,8rem);font-weight:700;line-height:.78}.hero__brand .brand__a{font-weight:600;display:inline-block;transform:translateY(-.035em)}.hero__title{letter-spacing:-.055em;text-wrap:balance;max-width:620px;margin:0;font-size:clamp(2.15rem,4.4vw,4.4rem);font-weight:520;line-height:.98}.hero__support{max-width:510px;color:var(--md-sys-color-on-surface-variant);margin:20px 0 0;font-size:1.05rem;line-height:1.55}.hero__actions{gap:10px;margin-top:28px;display:flex}.journey-search{z-index:4;width:var(--shell);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fcfbf6f5;border:1px solid #ffffffdb;border-radius:28px;margin-inline:auto;padding:18px;position:absolute;bottom:28px;left:0;right:0;box-shadow:0 12px 38px #1c1b1629}.journey-search__head{justify-content:space-between;align-items:center;gap:24px;padding:0 4px 14px;display:flex}.journey-search__head h2{margin:0;font-size:1rem;font-weight:670}.journey-search__head p{color:var(--md-sys-color-on-surface-variant);align-items:center;gap:7px;margin:0;font-size:.78rem;display:inline-flex}.journey-search__head p:before{background:var(--gold);content:"";border-radius:50%;width:8px;height:8px}.journey-search__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) minmax(190px,.8fr) minmax(190px,.8fr) auto;align-items:start;gap:10px;display:grid}.journey-search md-outlined-text-field,.journey-search__submit{width:100%}.journey-search__submit{min-width:156px;height:56px}.section{padding:96px 0}.section-heading{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end;gap:48px;margin-bottom:40px;display:grid}.section-heading h2{letter-spacing:-.06em;text-wrap:balance;max-width:840px;margin:0;font-size:clamp(3rem,6.5vw,6.3rem);font-weight:520;line-height:.94}.section-heading__support{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:1rem;line-height:1.6}.catalogue-layout{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:28px;display:grid}.filter-panel{top:calc(var(--app-bar-height) + 22px);background:var(--md-sys-color-surface-container-low);border-radius:24px;padding:20px 18px;position:sticky}.filter-panel__head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.filter-panel__head h3{margin:0;font-size:1.05rem}.filter-group+.filter-group{border-top:1px solid var(--md-sys-color-outline-variant);margin-top:18px;padding-top:16px}.filter-group>p{color:var(--md-sys-color-on-surface-variant);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.72rem;font-weight:650}.filter-panel md-chip-set{flex-direction:column;align-items:flex-start}.results-toolbar{border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;gap:18px;min-width:0;min-height:58px;margin-bottom:16px;padding:2px 0 12px;display:flex}.results-toolbar>div{min-width:0}.results-toolbar__count{margin:0;font-size:.92rem;font-weight:620}.results-toolbar__route{max-width:560px;color:var(--md-sys-color-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.72rem;display:block;overflow:hidden}#sort-select{width:220px}.mobile-filter-row{scrollbar-width:none;margin-bottom:16px;display:none;overflow-x:auto}.mobile-filter-row::-webkit-scrollbar{display:none}.fleet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.fleet-card{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:16px;flex-direction:column;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #1919160f}.fleet-card:hover{border-color:var(--md-sys-color-outline);transform:translateY(-2px);box-shadow:0 5px 14px #1919161f}.fleet-card__media{aspect-ratio:16/11;color:inherit;background:#171b1b;text-decoration:none;display:block;position:relative;overflow:hidden}.fleet-card__media:focus-visible,.fleet-card__title-link:focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:3px}.fleet-card__media:after{content:"";background:linear-gradient(#0000,#0c0f0f75);height:35%;position:absolute;inset:auto 0 0}.fleet-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .42s cubic-bezier(.2,0,0,1)}.fleet-card:hover .fleet-card__media img{transform:scale(1.035)}.fleet-card__status{z-index:2;background:var(--md-sys-color-primary-container);min-height:30px;color:var(--md-sys-color-on-primary-container);border-radius:8px;align-items:center;gap:6px;padding:0 11px;font-size:.7rem;font-weight:650;display:inline-flex;position:absolute;top:14px;left:14px}.fleet-card__identity{z-index:2;color:#fff;justify-content:space-between;align-items:end;gap:12px;display:flex;position:absolute;bottom:13px;left:14px;right:14px}.fleet-card__category,.fleet-card__exact{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111515a8;border:1px solid #ffffff61;border-radius:9px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:.7rem;font-weight:650;display:inline-flex}.fleet-card__exact{color:#f8e9aa;white-space:nowrap;border-color:#d7b84f94;min-width:0}.fleet-card__exact .material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;font-size:16px}.fleet-card__body{flex-direction:column;flex:1;padding:18px;display:flex}.fleet-card__title-row{justify-content:space-between;align-items:start;gap:16px;display:flex}.fleet-card h3{overflow-wrap:anywhere;letter-spacing:-.04em;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.06em;margin:0;font-size:clamp(1.3rem,2vw,1.75rem);font-weight:680;line-height:1.03;display:-webkit-box;overflow:hidden}.fleet-card__title-link{color:inherit;text-decoration:none}.fleet-card__title-link:hover{text-decoration:underline;-webkit-text-decoration-color:var(--gold-deep);text-decoration-color:var(--gold-deep);text-underline-offset:4px;text-decoration-thickness:2px}.fleet-card__descriptor{color:var(--md-sys-color-on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;font-size:.85rem;line-height:1.35;display:-webkit-box;overflow:hidden}.fleet-card__specs{border-block:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap;gap:8px 16px;margin:14px 0;padding:12px 0;font-size:.78rem;display:flex}.fleet-card__spec{align-items:center;gap:5px;min-width:0;display:inline-flex}.fleet-card__spec>span:last-child{min-width:0}.fleet-card__specs .material-symbols-rounded{flex:none;font-size:17px}.fleet-card__price-row{justify-content:space-between;align-items:end;gap:16px;margin-top:auto;display:flex}.fleet-card__price small,.fleet-card__deposit small{color:var(--md-sys-color-on-surface-variant);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:.62rem;font-weight:650;display:block}.fleet-card__price strong{color:var(--orange);letter-spacing:-.04em;font-size:1.45rem;font-weight:750}.fleet-card__price em{color:var(--md-sys-color-on-surface-variant);font-size:.7rem;font-style:normal;font-weight:600}.fleet-card__deposit{text-align:right}.fleet-card__deposit strong{font-size:.82rem}.fleet-card__actions{grid-template-columns:minmax(0,1fr);margin-top:15px;display:grid}.fleet-card__actions md-filled-button{width:100%;min-width:0}.empty-state{background:var(--md-sys-color-surface-container-low);text-align:center;border-radius:24px;place-items:center;min-height:360px;display:grid}.empty-state[hidden]{display:none}.empty-state h3{margin:12px 0 6px;font-size:1.5rem}.empty-state p{color:var(--md-sys-color-on-surface-variant);margin:0}.handover{background:var(--ink);color:#fff;padding:16px 0}.handover__frame{background:#202322;border-radius:24px;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);min-height:560px;display:grid;overflow:hidden}.handover__media{min-height:520px;position:relative}.handover__media img{object-fit:cover;width:100%;height:100%}.handover__media:after{content:"";background:linear-gradient(90deg,#0000 60%,#202322 100%);position:absolute;inset:0}.handover__body{flex-direction:column;justify-content:center;padding:44px 40px 44px 14px;display:flex}.handover__body h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.6rem,4.4vw,4.6rem);font-weight:520;line-height:.96}.handover__body>p{color:#ffffffb8;margin:18px 0 0;line-height:1.65}.inverse-button{--md-filled-button-container-color:var(--gold);--md-filled-button-label-text-color:#211b00;--md-filled-button-icon-color:#211b00;align-self:flex-start}.handover__list{margin:26px 0;padding:0;list-style:none}.handover__list li{border-top:1px solid #ffffff26;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:14px;padding:12px 0;display:grid}.handover__list .material-symbols-rounded{color:var(--gold)}.handover__list strong,.handover__list span{display:block}.handover__list span{color:#ffffff94;margin-top:3px;font-size:.8rem}.process{background:var(--md-sys-color-surface-container-low)}.process__header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:40px;display:grid}.process__header h2{letter-spacing:-.06em;max-width:800px;margin:0;font-size:clamp(2.8rem,6vw,5.8rem);font-weight:520;line-height:.95}.process__steps{border-top:1px solid var(--md-sys-color-outline-variant);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.process__steps li{padding:24px 26px 4px 0}.process__steps li+li{border-left:1px solid var(--md-sys-color-outline-variant);padding-left:26px}.process__number{background:var(--md-sys-color-primary-container);width:40px;height:40px;color:var(--md-sys-color-on-primary-container);border-radius:12px;place-items:center;margin-bottom:28px;font-weight:700;display:grid}.process__steps h3{margin:0 0 10px;font-size:1.35rem}.process__steps p{max-width:340px;color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.55}.masons-world{background:var(--md-sys-color-surface);padding:86px 0}.masons-world__head{grid-template-columns:minmax(0,1fr) minmax(300px,430px);align-items:end;gap:42px;margin-bottom:40px;display:grid}.masons-world__head h2,.home-magazine__copy h2{letter-spacing:-.065em;margin:0;font-size:clamp(2.8rem,6vw,5.8rem);font-weight:520;line-height:.94}.masons-world__head p{color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.6}.masons-world__grid{border-block:1px solid var(--md-sys-color-outline-variant);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.masons-offer{flex-direction:column;min-height:255px;padding:30px 30px 26px 0;display:flex}.masons-offer+.masons-offer{border-left:1px solid var(--md-sys-color-outline-variant);padding-left:30px}.masons-offer .material-symbols-rounded{background:var(--md-sys-color-primary-container);width:48px;height:48px;color:var(--md-sys-color-on-primary-container);border-radius:15px;place-items:center;margin-bottom:auto;display:grid}.masons-offer h3{margin:28px 0 8px;font-size:1.42rem}.masons-offer p{max-width:330px;color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.55}.masons-offer a{color:var(--gold-deep);align-items:center;gap:7px;margin-top:18px;font-weight:700;display:inline-flex}.home-magazine{padding:24px 0 88px}.home-magazine__frame{background:var(--ink);color:#fff;border-radius:30px;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);min-height:620px;display:grid;overflow:hidden}.home-magazine__media{min-height:520px;position:relative;overflow:hidden}.home-magazine__media:after{content:"";background:linear-gradient(90deg,#0000 58%,#11151585);position:absolute;inset:0}.home-magazine__media img{object-fit:cover;width:100%;height:100%}.home-magazine__copy{flex-direction:column;justify-content:center;padding:clamp(34px,5vw,70px);display:flex}.home-magazine__copy h2{font-size:clamp(2.6rem,5vw,5rem)}.home-magazine__copy>p:not(.section-label){color:#c8cac5;margin:20px 0 0;line-height:1.62}.section-label{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:.72rem;font-weight:800}.magazine-links{border-top:1px solid #404441;margin:32px 0 26px}.magazine-links a{border-bottom:1px solid #404441;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:17px 0;font-weight:650;display:grid}.magazine-links small{color:#9fa29d;margin-top:4px;font-weight:450;display:block}.home-magazine md-filled-button{--md-filled-button-container-color:var(--gold);--md-filled-button-label-text-color:#231d00;align-self:flex-start}.faq-layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:7vw;display:grid}.faq-layout h2{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,6vw,5.7rem);font-weight:520;line-height:.94;position:sticky;top:120px}.faq-list{border-top:1px solid var(--md-sys-color-outline-variant)}.faq-list details{border-bottom:1px solid var(--md-sys-color-outline-variant)}.faq-list summary{cursor:pointer;grid-template-columns:minmax(0,1fr) 48px;align-items:center;min-height:76px;font-size:1.08rem;font-weight:620;list-style:none;display:grid}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{background:var(--md-sys-color-surface-container-high);content:"+";border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.3rem;transition:transform .18s;display:grid}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{max-width:700px;color:var(--md-sys-color-on-surface-variant);margin:-6px 64px 24px 0;line-height:1.65}.contact-surface{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:28px;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:end;gap:40px;padding:48px;display:grid}.contact-surface h2{letter-spacing:-.065em;max-width:800px;margin:0;font-size:clamp(3rem,6.8vw,6.5rem);font-weight:550;line-height:.92}.contact-surface__details{gap:16px;display:grid}.contact-row{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;display:grid}.contact-row small,.contact-row strong{display:block}.contact-row small{opacity:.65;margin-bottom:2px}.site-footer{padding:48px 0 64px}.site-footer__inner{border-top:1px solid var(--md-sys-color-outline-variant);grid-template-columns:1fr auto;align-items:end;gap:36px;padding-top:32px;display:grid}.site-footer p{max-width:560px;color:var(--md-sys-color-on-surface-variant);margin:12px 0 0;font-size:.82rem;line-height:1.6}.site-footer__links{gap:6px;display:flex}.support-fab{z-index:30;--md-fab-container-color:var(--md-sys-color-primary-container);--md-fab-icon-color:var(--md-sys-color-on-primary-container);--md-fab-label-text-color:var(--md-sys-color-on-primary-container);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;position:fixed;bottom:24px;right:24px;transform:translateY(12px)scale(.92)}.support-fab.is-visible{opacity:1;pointer-events:auto;transform:none}body.dialog-open .support-fab{opacity:0;pointer-events:none;transform:translateY(12px)scale(.92)}.snackbar{z-index:80;background:var(--md-sys-color-inverse-surface);min-width:min(420px,100% - 32px);min-height:52px;color:var(--md-sys-color-inverse-on-surface);opacity:0;pointer-events:none;border-radius:4px;justify-content:space-between;align-items:center;gap:20px;padding:10px 10px 10px 18px;font-size:.85rem;transition:opacity .18s,transform .18s;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);box-shadow:0 5px 14px #0003}.snackbar.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}#rent-dialog{width:min(960px,100vw - 48px);max-width:960px;max-height:min(820px,100svh - 48px)}#rent-dialog:not(:defined){z-index:100;background:var(--md-sys-color-surface-container-high);border-radius:28px;width:min(960px,100vw - 48px);max-height:calc(100svh - 48px);padding:28px;display:none;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)}#rent-dialog:not(:defined)[open]{display:block}.dialog-headline{justify-content:space-between;align-items:start;gap:24px;min-width:0;display:flex}.dialog-headline__copy{min-width:0}.dialog-headline h2{overflow-wrap:anywhere;letter-spacing:-.045em;margin:0;font-size:clamp(1.65rem,3vw,2.5rem);line-height:1}.dialog-headline p{max-width:760px;color:var(--md-sys-color-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;font-size:.78rem;overflow:hidden}.dialog-content{min-width:0}.dialog-progress{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin-bottom:24px;display:grid}.dialog-progress span{color:var(--md-sys-color-on-surface-variant);font-size:.72rem;font-weight:650}.dialog-step{animation:.22s cubic-bezier(.2,0,0,1) both step-in}@keyframes step-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.dialog-step h3{letter-spacing:-.025em;margin:0 0 6px;font-size:1.35rem}.dialog-step__intro{color:var(--md-sys-color-on-surface-variant);margin:0 0 22px;font-size:.88rem;line-height:1.5}.dialog-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dialog-fields md-outlined-text-field,.contact-fields md-filled-text-field{width:100%}.choice-row{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);cursor:pointer;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:78px;padding:12px 16px;display:grid}.choice-row.is-selected{border-color:var(--md-sys-color-primary);box-shadow:inset 0 0 0 1px var(--md-sys-color-primary)}.choice-row:has(md-radio[checked]){border-color:var(--md-sys-color-primary);box-shadow:inset 0 0 0 1px var(--md-sys-color-primary)}.choice-row strong,.choice-row small{display:block}.choice-row small{color:var(--md-sys-color-on-surface-variant);margin-top:4px;line-height:1.4}.choice-row__price{white-space:nowrap;font-weight:680}.deposit-panel,.addon-row{background:var(--md-sys-color-surface-container);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-top:14px;padding:16px 18px;display:flex}.deposit-panel span,.deposit-panel small,.addon-row span,.addon-row small{display:block}.deposit-panel small,.addon-row small{color:var(--md-sys-color-on-surface-variant);margin-top:3px}.addon-row__label{align-items:center;gap:12px;display:flex}.review-layout{grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:24px;display:grid}.review-summary{background:var(--ink);color:#fff;border-radius:16px;padding:20px}.review-route{color:#ffffff9e;margin:0 0 18px;font-size:.75rem;line-height:1.45}.review-costs{margin:0}.review-costs>div{border-top:1px solid #ffffff24;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding:11px 0;display:grid}.review-costs dt,.review-costs dd{margin:0}.review-costs dt span,.review-costs dt small{display:block}.review-costs dt small{color:#ffffff85;margin-top:3px;font-size:.66rem}.review-costs dd{white-space:nowrap;font-weight:650}.review-costs .review-total{border-top:2px solid #ffffff61;margin-top:5px;padding-top:16px}.review-total dt,.review-total dd{font-size:1.2rem;font-weight:750}.review-total dd{color:#ff7a31}.review-deposit{border-top:1px solid #ffffff24;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;font-size:.75rem;display:flex}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contact-fields .wide{grid-column:1/-1}.request-note{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);border-radius:12px;margin:14px 0 0;padding:12px 14px;font-size:.74rem;line-height:1.5}.dialog-actions{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}@media (width<=1160px){:root{--shell:min(100% - 48px, 1040px)}.journey-search__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-search__submit{grid-column:1/-1}.hero,.hero__content{min-height:max(980px,100svh)}.hero__content{padding-bottom:330px}.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.handover__frame{grid-template-columns:minmax(0,1fr) minmax(330px,.85fr)}}@media (width<=1040px){.desktop-nav{display:none}.header-actions{grid-column:3;justify-self:end}}@media (width<=820px){:root{--shell:calc(100% - 32px);--app-bar-height:64px}body{padding-bottom:80px}.desktop-nav,.header-actions .header-cta,.support-fab{display:none}.top-app-bar__inner{grid-template-columns:1fr auto}.header-actions{grid-column:2}.language-button{min-width:44px}.hero,.hero__content{min-height:max(920px,100svh)}.hero__media img{object-position:58% center;transform:translateY(var(--hero-shift,0)) scale(1.07)}.hero__media:after{background:linear-gradient(#f8f8f5f7 0%,#f8f8f5cc 34%,#f8f8f50a 61%),linear-gradient(#0000 62%,#1115157a 100%)}.hero__content{padding:104px 0 420px;display:block}.hero__copy{width:100%}.hero__brand{letter-spacing:.015em;margin-bottom:18px;font-size:clamp(3rem,14vw,4.4rem)}.hero__title{max-width:440px;font-size:clamp(2rem,9vw,3.4rem)}.hero__support{max-width:390px;margin-top:16px;font-size:.94rem}.hero__actions{margin-top:20px}.journey-search{border-radius:24px;padding:14px;bottom:16px}.journey-search__head{padding:2px 2px 12px}.journey-search__head p{display:none}.journey-search__grid{grid-template-columns:1fr 1fr;gap:8px}.journey-search__grid md-outlined-text-field:first-child,.journey-search__grid md-outlined-text-field:nth-child(2),.journey-search__submit{grid-column:1/-1}.section{padding:72px 0}.section-heading,.process__header,.faq-layout,.contact-surface{grid-template-columns:1fr;gap:24px}.section-heading{margin-bottom:30px}.section-heading h2,.process__header h2,.faq-layout h2,.contact-surface h2{font-size:clamp(2.8rem,14vw,4.9rem)}.catalogue-layout{display:block}.filter-panel{display:none}.filter-panel--open{margin-bottom:20px;display:block;position:static}.mobile-filter-row{display:block}.results-toolbar{align-items:end}#sort-select{width:180px}.fleet-grid{grid-template-columns:1fr;gap:14px}.handover__frame{grid-template-columns:1fr}.handover__media{min-height:360px}.handover__media:after{background:linear-gradient(#0000,#202322);height:45%;inset:auto 0 0}.handover__body{padding:28px 24px 34px}.process__header{margin-bottom:28px}.process__header md-filled-tonal-button{justify-self:start}.process__steps{grid-template-columns:1fr}.process__steps li,.process__steps li+li{border-left:0;border-bottom:1px solid var(--md-sys-color-outline-variant);grid-template-rows:auto auto;grid-template-columns:52px minmax(0,1fr);gap:6px 14px;padding:20px 0;display:grid}.process__number{grid-row:1/span 2;margin:0}.process__steps h3{grid-area:1/2;margin:0}.process__steps p{grid-area:2/2}.masons-world{padding:64px 0}.masons-world__head{grid-template-columns:1fr;gap:18px}.masons-world__grid{grid-template-columns:1fr}.masons-offer,.masons-offer+.masons-offer{border-left:0;border-bottom:1px solid var(--md-sys-color-outline-variant);grid-template-columns:54px minmax(0,1fr);min-height:0;padding:22px 0;display:grid}.masons-offer:last-child{border-bottom:0}.masons-offer .material-symbols-rounded{grid-row:1/span 3;margin:0}.masons-offer h3,.masons-offer p,.masons-offer a{grid-column:2}.masons-offer h3{margin:0 0 7px}.masons-offer a{margin-top:13px}.home-magazine{padding:0 0 64px}.home-magazine__frame{border-radius:26px;grid-template-columns:1fr;min-height:0}.home-magazine__media{min-height:340px}.home-magazine__media:after{background:linear-gradient(#0000 52%,#11151585)}.home-magazine__copy{padding:30px 24px 34px}.faq-layout h2{margin-bottom:16px;position:static}.contact-surface{border-radius:24px;padding:32px 24px}.site-footer__inner{grid-template-columns:1fr}.site-footer__links{flex-wrap:wrap}.mobile-nav{z-index:35;min-height:76px;padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--md-sys-color-outline-variant);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fcfbf6f7;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{min-width:0;color:var(--md-sys-color-on-surface-variant);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.68rem;font-weight:600;display:flex}.mobile-nav a.is-active .material-symbols-rounded{background:var(--md-sys-color-primary-container);min-width:56px;color:var(--md-sys-color-on-primary-container);font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;border-radius:999px;padding:4px 16px}.snackbar{bottom:92px}#rent-dialog{--md-dialog-container-shape:0;width:100vw;max-width:none;height:100svh;max-height:none;margin:0}.dialog-headline p{white-space:normal}.dialog-fields,.review-layout,.contact-fields{grid-template-columns:1fr}.contact-fields .wide{grid-column:auto}}@media (width<=520px){.hero,.hero__content{min-height:max(900px,100svh)}.hero__content{padding-top:96px;padding-bottom:430px}.hero__actions md-outlined-button{display:none}.journey-search__grid{grid-template-columns:minmax(0,1fr)}.journey-search__grid md-outlined-text-field,.journey-search__submit{grid-column:1}.results-toolbar{grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}#sort-select{width:100%;min-width:0}.fleet-card__body{padding:16px}.fleet-card__price-row{flex-direction:row;align-items:end;gap:12px}.fleet-card__deposit{text-align:right}.choice-row{grid-template-columns:auto minmax(0,1fr)}.choice-row__price{white-space:normal;grid-column:2}.dialog-headline{gap:8px}.dialog-actions md-filled-button{flex:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f8f8f5;--paper-warm:#f0eee7;--ink:#111515;--muted:#63645f;--line:#d6d1c4;--gold:#ead475;--gold-deep:#9d7d13;--orange:#ff5f00;--shell:min(1240px, calc(100% - 64px));--app-bar-height:72px;--md-sys-color-primary:#171a19;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#ead475;--md-sys-color-on-primary-container:#2d2500;--md-sys-color-secondary-container:#e9e5da;--md-sys-color-on-secondary-container:#1b1c18;--md-sys-color-surface:#f8f8f5;--md-sys-color-surface-container:#efede6;--md-sys-color-surface-container-high:#e7e4db;--md-sys-color-on-surface:#111515;--md-sys-color-on-surface-variant:#5f605a;--md-sys-color-outline:#77766e;--md-sys-color-outline-variant:#d1ccc0;--md-icon-font:"Material Symbols Rounded";--md-ref-typeface-brand:"Montserrat Variable", "Montserrat", sans-serif;--md-ref-typeface-plain:"Roboto Flex Variable", "Roboto Flex", sans-serif;--md-sys-typescale-label-large-font:"Roboto Flex Variable", "Roboto Flex", sans-serif;--md-filled-button-container-shape:999px;--md-outlined-button-container-shape:999px;--md-text-button-container-shape:999px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Roboto Flex Variable,Roboto Flex,sans-serif}body.article-open{background:#fbfaf6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input{font:inherit}.shell{width:var(--shell);margin-inline:auto}.skip-link{z-index:1000;background:var(--ink);color:#fff;border-radius:16px;padding:12px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.top-app-bar{z-index:50;height:var(--app-bar-height);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:#f8f8f5f0;border-bottom:1px solid #ccc7b694;position:fixed;inset:0 0 auto}.top-app-bar__inner{width:var(--shell);grid-template-columns:auto 1fr auto;align-items:center;height:100%;margin-inline:auto;display:grid}.brand{letter-spacing:.31em;white-space:nowrap;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:.95rem;font-weight:700}.brand__a{color:var(--gold-deep)}.desktop-nav{justify-content:center;gap:3px;display:flex}.header-actions{align-items:center;gap:4px;display:flex}.language-button[aria-pressed=true]{background:var(--md-sys-color-primary-container);border-radius:999px}.magazine-hero{padding:calc(var(--app-bar-height) + 52px) 0 56px;border-bottom:1px solid var(--line)}.magazine-masthead{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:30px;margin-bottom:32px;display:grid}.eyebrow{color:var(--gold-deep);letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:.72rem;font-weight:800}.magazine-masthead h1,.article-title{letter-spacing:-.075em;max-width:980px;margin:0;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(3.2rem,6vw,5.6rem);font-weight:800;line-height:.92}.magazine-masthead__copy{max-width:360px;color:var(--muted);margin:0 0 6px;font-size:1.05rem;line-height:1.55}.lead-story{background:var(--ink);color:#fff;border-radius:28px;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);min-height:420px;display:grid;overflow:hidden}.lead-story__media{min-height:clamp(380px,32vw,460px);position:relative;overflow:hidden}.lead-story__media:after{content:"";background:linear-gradient(90deg,#0000 58%,#1115156b);position:absolute;inset:0}.lead-story__media img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.lead-story:hover .lead-story__media img{transform:scale(1.025)}.lead-story__body{flex-direction:column;justify-content:center;padding:clamp(30px,3.4vw,48px);display:flex}.lead-story__body h2{letter-spacing:-.055em;margin:8px 0 16px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(2rem,2.8vw,3.3rem);line-height:1}.lead-story__body p{color:#cacbc7;margin:0;font-size:.98rem;line-height:1.52}.story-meta-line{color:#b9bbb6;flex-wrap:wrap;gap:12px 20px;margin-top:22px;font-size:.84rem;display:flex}.story-meta-line span{align-items:center;gap:7px;display:inline-flex}.story-meta-line .material-symbols-rounded{font-size:1.08rem}.story-link{color:var(--gold);align-items:center;gap:9px;margin-top:22px;font-weight:700;display:inline-flex}.issue-section{padding:80px 0 96px}.section-head{grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end;gap:32px;margin-bottom:42px;display:grid}.section-head h2{letter-spacing:-.06em;margin:0;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(2.2rem,4vw,4.4rem)}.section-head p{color:var(--muted);margin:0;line-height:1.55}.story-list{border-top:1px solid var(--line)}.story-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(240px,.7fr) minmax(0,1.25fr) auto;align-items:center;gap:clamp(24px,4vw,58px);min-height:285px;padding:24px 0;display:grid}.story-row__media{background:#dedbd2;border-radius:24px;height:235px;overflow:hidden}.story-row__media img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.story-row:hover .story-row__media img{transform:scale(1.035)}.story-row h3{letter-spacing:-.045em;max-width:720px;margin:8px 0 12px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(1.7rem,3vw,3rem);line-height:1.04}.story-row p{max-width:680px;color:var(--muted);margin:0;line-height:1.55}.story-row__arrow{border:1px solid var(--line);border-radius:50%;place-items:center;width:54px;height:54px;transition:background .18s,transform .18s;display:grid}.story-row:hover .story-row__arrow{background:var(--gold);transform:translate(4px)}.topic-band{background:var(--ink);color:#fff;padding:56px 0}.topic-band__inner{justify-content:space-between;align-items:center;gap:32px;display:flex}.topic-band h2{letter-spacing:-.05em;margin:0;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(1.8rem,3.5vw,3.6rem)}.topic-list{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.topic-list span{color:#d4d5d1;border:1px solid #4d504d;border-radius:999px;padding:11px 16px}.article-hero{padding:calc(var(--app-bar-height) + 48px) 0 0}.article-hero__head{text-align:center;width:min(960px,100% - 64px);margin:0 auto 34px}.article-title{max-width:960px;margin-inline:auto;font-size:clamp(3rem,5.6vw,5.6rem)}.article-deck{max-width:760px;color:var(--muted);margin:26px auto 0;font-size:clamp(1.08rem,1.8vw,1.34rem);line-height:1.55}.article-byline{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:12px 26px;margin-top:28px;font-size:.9rem;display:flex}.article-hero__image{background:#dedbd2;border-radius:28px;width:min(1240px,100% - 64px);height:clamp(320px,36vw,460px);margin-inline:auto;overflow:hidden}.article-hero__image img{object-fit:cover;width:100%;height:100%}.reading-progress{z-index:70;top:var(--app-bar-height);pointer-events:none;width:100%;height:3px;position:fixed;left:0}.reading-progress span{background:var(--gold-deep);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.article-layout{grid-template-columns:minmax(150px,185px) minmax(0,780px);gap:clamp(38px,5vw,66px);width:min(1090px,100% - 64px);margin-inline:auto;padding:74px 0 110px;display:grid}.article-rail{align-self:start;font-size:.82rem;position:sticky;top:110px}.article-rail a{align-items:center;gap:7px;margin-bottom:34px;font-weight:700;display:inline-flex}.article-rail dl{border-top:1px solid var(--line);margin:0}.article-rail div{border-bottom:1px solid var(--line);padding:15px 0}.article-rail dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.69rem;font-weight:700}.article-rail dd{margin:5px 0 0;font-weight:650}.article-prose{overflow-wrap:break-word;min-width:0;font-size:1.08rem;line-height:1.75}.article-prose:after{clear:both;content:"";display:block}.article-prose>p,.article-section>p{margin:0 0 1.55em}.article-prose>.opening:first-letter{float:left;color:var(--gold-deep);margin:.1em .12em 0 0;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:4.7em;font-weight:800;line-height:.75}.article-section{margin-top:3.5rem;display:flow-root}.article-prose h2{letter-spacing:-.05em;overflow-wrap:normal;text-wrap:balance;margin:0 0 1.2rem;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.04}.story-figure{background:#dedbd2;border-radius:24px;overflow:hidden}.story-figure img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}.story-figure figcaption{background:var(--paper-warm);color:var(--muted);padding:11px 14px 14px;font-size:.75rem;line-height:1.45}.story-figure--right{float:right;width:min(44%,340px);margin:8px 0 24px 30px}.story-figure--left{float:left;width:min(44%,340px);margin:8px 30px 24px 0}.story-figure--wide{clear:both;width:100%;margin:58px 0 52px}.story-figure--wide img{aspect-ratio:16/8.4}.pull-quote{clear:both;border-block:1px solid var(--line);color:var(--ink);letter-spacing:-.045em;text-wrap:balance;margin:54px 0;padding:44px 0;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(1.7rem,3.5vw,3rem);font-weight:700;line-height:1.15}.story-facts{clear:both;border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:52px 0;display:grid}.story-facts div{border-right:1px solid var(--line);padding:24px 18px}.story-facts div:last-child{border:0}.story-facts small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:.68rem;font-weight:700;display:block}.story-facts strong{font-size:1rem}.article-end{clear:both;background:var(--paper-warm);border-radius:26px;margin-top:62px;padding:32px}.article-end h3{margin:0 0 8px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:1.45rem}.article-end p{color:var(--muted);margin:0 0 22px}.more-stories{border-top:1px solid var(--line);padding:72px 0 94px}.more-stories h2{letter-spacing:-.055em;margin:0 0 34px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:clamp(2rem,4vw,4rem)}.more-grid{grid-template-columns:repeat(2,1fr);gap:42px;display:grid}.more-story img{aspect-ratio:16/10;object-fit:cover;border-radius:24px;width:100%;height:auto}.more-story h3{letter-spacing:-.035em;margin:16px 0 8px;font-family:Montserrat Variable,Montserrat,sans-serif;font-size:1.6rem}.more-story p{color:var(--muted);margin:0}.site-footer{background:var(--ink);color:#fff;padding:56px 0 88px}.site-footer__inner{grid-template-columns:1fr auto;align-items:end;gap:42px;display:grid}.site-footer p{color:#b8bbb6;max-width:470px;margin:16px 0 0;line-height:1.55}.site-footer__links{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.site-footer md-text-button{--md-text-button-label-text-color:#fff}.mobile-nav{display:none}.reveal{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}@media (width<=1040px){.desktop-nav{display:none}.header-actions{grid-column:3;justify-self:end}.lead-story{grid-template-columns:1.2fr .8fr}.article-layout{grid-template-columns:minmax(132px,160px) minmax(0,1fr);gap:32px;width:calc(100% - 48px)}}@media (width<=840px){.article-layout{width:min(700px,100% - 40px);padding-top:52px;display:block}.article-rail{grid-template-columns:auto 1fr;align-items:start;gap:30px;margin-bottom:44px;display:grid;position:static}.article-rail a{white-space:nowrap;margin:3px 0 0}.article-rail dl{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.article-rail div{border-bottom:0;border-left:1px solid var(--line);min-width:0;padding:0 18px}}@media (width<=760px){:root{--shell:calc(100% - 32px);--app-bar-height:64px}body{padding-bottom:78px}.top-app-bar__inner{grid-template-columns:1fr auto}.header-actions{grid-column:2}.header-actions .header-cta{display:none}.magazine-hero{padding:calc(var(--app-bar-height) + 32px) 0 42px}.magazine-masthead,.section-head{grid-template-columns:1fr;gap:18px}.magazine-masthead{gap:14px;margin-bottom:24px}.magazine-masthead h1{font-size:clamp(2.7rem,12vw,3.8rem)}.magazine-masthead__copy{font-size:.96rem;line-height:1.45}.lead-story{border-radius:26px;min-height:0;display:block}.lead-story__media{height:min(58vw,220px);min-height:0}.lead-story__media:after{background:linear-gradient(#0000 55%,#111515b3)}.lead-story__body{padding:20px 24px 22px}.lead-story__body h2{margin-bottom:10px;font-size:1.85rem}.lead-story__body p{font-size:.92rem}.lead-story .story-meta-line{display:none}.lead-story .story-link{margin-top:14px}.issue-section{padding:60px 0 70px}.story-row{grid-template-columns:1fr auto;min-height:0;padding:24px 0 30px}.story-row__media{grid-column:1/-1;height:245px}.story-row__copy{align-self:start}.story-row__arrow{width:48px;height:48px}.topic-band__inner{flex-direction:column;align-items:flex-start}.topic-list{justify-content:flex-start}.article-hero{padding-top:calc(var(--app-bar-height) + 30px)}.article-hero__head{text-align:left;width:calc(100% - 32px);margin-bottom:28px}.article-title{margin:0;font-size:clamp(2.55rem,11vw,3.6rem)}.article-deck{margin-top:18px}.article-byline{justify-content:flex-start;gap:8px 18px}.article-hero__image{border-radius:0;width:100%;height:min(36svh,330px);min-height:270px}.article-layout{width:auto;margin:0;padding:38px 20px 72px;display:block}.article-rail{justify-content:space-between;align-items:center;margin-bottom:34px;display:flex;position:static}.article-rail a{margin:0}.article-rail dl{display:none}.article-prose{font-size:1.03rem;line-height:1.72}.article-section{margin-top:2.8rem}.article-prose h2{font-size:clamp(2rem,10vw,3rem)}.story-figure--left,.story-figure--right,.story-figure--wide{float:none;border-radius:0;width:calc(100% + 40px);margin:34px 0 34px -20px;transform:none}.story-figure img,.story-figure--wide img{aspect-ratio:4/3}.story-figure figcaption{padding:11px 20px 0}.pull-quote{margin:42px 0;padding:30px 0}.story-facts{grid-template-columns:1fr}.story-facts div{border-right:0;border-bottom:1px solid var(--line);padding:16px 0}.story-facts div:last-child{border-bottom:0}.article-end{padding:25px 22px}.more-grid{grid-template-columns:1fr;gap:38px}.site-footer{padding-bottom:112px}.site-footer__inner{grid-template-columns:1fr}.site-footer__links{justify-content:flex-start}.mobile-nav{z-index:60;min-height:72px;padding:7px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f8f5f7;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav a{border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;font-size:.67rem;display:flex}.mobile-nav a.is-active{background:#f1e3a4}.mobile-nav .material-symbols-rounded{font-size:1.28rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.settings-control{flex:none;display:inline-flex;position:relative}.settings-trigger{--md-outlined-button-container-height:42px;--md-outlined-button-container-shape:999px;--md-outlined-button-leading-space:12px;--md-outlined-button-trailing-space:10px;--md-outlined-button-icon-spacing:6px;--md-outlined-button-label-text-color:var(--md-sys-color-on-surface);--md-outlined-button-outline-color:color-mix(in srgb, var(--md-sys-color-outline) 58%, transparent);--md-outlined-button-hover-label-text-color:var(--md-sys-color-on-surface);--md-outlined-button-hover-state-layer-color:var(--gold);min-width:126px}.settings-trigger md-icon[slot=icon]{font-size:18px}.settings-trigger__values{font-variant-numeric:tabular-nums;letter-spacing:.01em;align-items:center;gap:6px;display:inline-flex}.settings-trigger__separator{color:var(--md-sys-color-outline)}.settings-menu{--md-menu-container-color:var(--md-sys-color-surface-container-lowest);--md-menu-container-shape:18px;min-width:232px;max-height:min(610px,100dvh - 76px);overflow-y:auto}.settings-menu__label{color:var(--md-sys-color-on-surface-variant);letter-spacing:.09em;text-transform:uppercase;padding:9px 16px 4px;font-size:.66rem;font-weight:750}.settings-menu md-menu-item{--md-menu-item-one-line-container-height:48px;--md-list-item-one-line-container-height:48px;min-height:48px}.settings-menu md-menu-item.is-selected{font-weight:700}.settings-menu__check{color:var(--gold-deep);opacity:0}.settings-menu__code{min-width:30px;color:var(--md-sys-color-on-surface-variant);text-align:right;font-size:.72rem;font-weight:650}.settings-menu md-menu-item.is-selected .settings-menu__check{opacity:1}.settings-menu md-divider{margin:6px 0 2px}@media (width<=560px){.settings-trigger{--md-outlined-button-container-height:40px;--md-outlined-button-leading-space:10px;--md-outlined-button-trailing-space:8px;min-width:116px}}@media (width<=370px){.settings-trigger{--md-outlined-button-icon-spacing:0;min-width:98px}.settings-trigger md-icon[slot=icon]{display:none}}.app-bar__brand{align-items:center;display:inline-flex}.app-bar__nav a{min-height:48px;padding-inline:var(--space-3);color:var(--md-sys-color-on-surface-variant);align-items:center;font-size:.9rem;text-decoration:none;display:inline-flex}.app-bar__nav a:hover{color:var(--md-sys-color-on-surface)}.hero__logo{margin-bottom:var(--space-5)}.fleet-filters{gap:var(--space-4);padding:var(--space-5);margin-bottom:var(--space-6);border-radius:var(--shape-l);background:var(--md-sys-color-surface-container-low);display:grid}.fleet-filters__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.fleet-filters__label{color:var(--md-sys-color-on-surface-variant);letter-spacing:.06em;text-transform:uppercase;flex:0 0 5.5rem;font-size:.78rem;font-weight:600}.fleet-filters__clear{margin:0}.fleet-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.fleet-toolbar__count{font-size:1.05rem;font-weight:500}.fleet-toolbar__sort{align-items:center;gap:var(--space-2);color:var(--md-sys-color-on-surface-variant);font-size:.85rem;display:inline-flex}.fleet-toolbar__sort select{min-height:40px;padding-inline:var(--space-3);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--shape-s);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);font:inherit;font-size:.85rem}.empty-state .material-symbols-rounded{font-size:40px}.fleet-card__noimage{width:100%;height:100%;color:var(--md-sys-color-outline);place-items:center;font-size:48px;display:grid}.fleet-card h3 a{color:inherit;text-decoration:none}.fleet-card h3 a:hover{text-decoration:underline}.fleet-card__crossborder{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--shape-s);background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);font-size:.8rem;line-height:1.4;display:flex}.fleet-card__crossborder .material-symbols-rounded{font-size:18px}.vehicle__back a,.article__back a{align-items:center;gap:var(--space-2);min-height:48px;color:var(--md-sys-color-on-surface-variant);font-size:.9rem;text-decoration:none;display:inline-flex}.vehicle__head{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.vehicle__hero img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--shape-xl);width:100%;height:auto}.vehicle__gallery{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.vehicle__gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--shape-m);width:100%;height:auto}.vehicle__columns{gap:var(--space-8);margin-top:var(--space-8);grid-template-columns:1.6fr 1fr;align-items:start;display:grid}@media (width<=900px){.vehicle__columns{grid-template-columns:1fr}}.vehicle__columns h2{margin-bottom:var(--space-4);font-size:1.5rem}@media (width<=640px){.spec-list{grid-template-columns:1fr}}.spec-row{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex}.spec-row dt{color:var(--md-sys-color-on-surface-variant);font-size:.9rem}.spec-row dd{margin:0;font-weight:500}@media (width<=640px){.equipment-list{grid-template-columns:1fr}}.vehicle__pricing{top:calc(var(--app-bar-height) + var(--space-4));padding:var(--space-6);border-radius:var(--shape-l);background:var(--md-sys-color-surface-container-low);position:sticky}.tier-list{margin:0 0 var(--space-4);padding:0;list-style:none}.tier-list li{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-2);font-size:.9rem;display:flex}.tier-list li span{color:var(--md-sys-color-on-surface-variant)}.tier-deposit{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);font-size:.9rem;display:flex}.tier-deposit span{color:var(--md-sys-color-on-surface-variant)}.vehicle__pricing md-filled-button{width:100%}.magazine-card__meta{gap:var(--space-2);color:var(--md-sys-color-on-surface-variant);font-size:.78rem;display:flex}.magazine-card h2{letter-spacing:-.02em;font-size:1.25rem;line-height:1.2}.article__head{padding:var(--space-8) 0 var(--space-7);background:var(--md-sys-color-surface-container-low)}.article__head h1{letter-spacing:-.045em;max-width:24ch;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02}.article__meta{gap:var(--space-2);margin-top:var(--space-4);color:var(--md-sys-color-on-surface-variant);font-size:.85rem;display:flex}.article__body{max-width:68ch;padding-block:var(--space-8);font-size:1.125rem;line-height:1.7}.article__body h2{margin-top:var(--space-8);margin-bottom:var(--space-4);font-size:1.9rem}.article__body h3{margin-top:var(--space-6);margin-bottom:var(--space-3);font-size:1.35rem}.article__body p,.article__body ul,.article__body ol{margin-bottom:var(--space-5)}.article__body ul,.article__body ol{padding-left:1.25em}.article__body li{margin-bottom:var(--space-2)}.article__body a{color:var(--md-sys-color-tertiary)}.article__body blockquote{margin:var(--space-6) 0;padding-left:var(--space-5);border-left:3px solid var(--md-sys-color-primary-container);color:var(--md-sys-color-on-surface-variant);font-style:italic}.filter-panel md-chip-set{flex-flow:wrap;align-items:flex-start}.filter-group--price md-slider{width:100%;margin-block:0}.price-facet__values{align-items:baseline;gap:var(--space-2);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:500;display:flex}.price-facet__sep{color:var(--md-sys-color-on-surface-variant)}.price-facet__count{color:var(--md-sys-color-on-surface-variant);font-size:.78rem}.site-footer__top{gap:var(--space-7);padding-block:var(--space-8) var(--space-6);grid-template-columns:1.4fr repeat(3,1fr);display:grid}@media (width<=900px){.site-footer__top{gap:var(--space-6);grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.site-footer__top{grid-template-columns:1fr}}.site-footer__tagline{margin-top:var(--space-4);max-width:28ch;color:var(--md-sys-color-on-surface-variant);line-height:1.55}.site-footer__col{gap:var(--space-2);flex-direction:column;font-size:.9rem;line-height:1.5;display:flex}.site-footer__col-title{margin-bottom:var(--space-1);letter-spacing:.1em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);font-size:.72rem;font-weight:600}.site-footer__col a{color:var(--md-sys-color-on-surface);text-decoration:none}.site-footer__col a:hover{color:var(--gold-deep);text-decoration:underline}.site-footer__col p{color:var(--md-sys-color-on-surface-variant)}.site-footer__bottom{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap;font-size:.8rem;display:flex}.site-footer__bottom-copy{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.site-footer__legal{gap:var(--space-4);flex-wrap:wrap;display:flex}.site-footer__legal a{color:var(--md-sys-color-on-surface-variant)}.section__note{margin-top:var(--space-6);color:var(--md-sys-color-on-surface-variant);font-size:.875rem}.section__more{margin-top:var(--space-7);text-align:center}.masons-world__grid{gap:var(--space-5);grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1100px){.masons-world__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.masons-world__grid{grid-template-columns:1fr}}.masons-world__grid .masons-offer{gap:var(--space-3);padding:var(--space-6);border-radius:var(--shape-l);background:var(--md-sys-color-surface-container-lowest);box-shadow:var(--elevation-1);transition:box-shadow var(--dur-medium) var(--ease-standard);border:0;flex-direction:column;display:flex}.masons-world__grid .masons-offer:hover{box-shadow:var(--elevation-3)}.masons-world__grid .masons-offer>.material-symbols-rounded{border-radius:var(--shape-m);background:var(--md-sys-color-primary-container);width:48px;height:48px;color:var(--md-sys-color-on-primary-container);place-items:center;font-size:24px;display:grid}.masons-world__grid .masons-offer h3{margin:0}.masons-world__grid .masons-offer p{color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.55}.fleet-card__media{aspect-ratio:3/2}.fleet-card__media img{object-position:center}.booking-card__facts{border-top:0;gap:2px}.booking-card__fact{border-bottom:0;padding:7px 0}.masons-world__grid{border-block:0}.site-footer{padding:var(--space-8) 0 var(--space-7);border-top:1px solid var(--md-sys-color-outline-variant);background:var(--paper);color:var(--md-sys-color-on-surface)}#rent-dialog{width:calc(100% - 32px);max-width:560px}.dialog-headline__copy h2{font-size:var(--type-title-l)}.dialog-headline__copy p{margin-top:var(--space-1);color:var(--md-sys-color-on-surface-variant);font-size:.8rem}.dialog-step{gap:var(--space-4);display:grid}.dialog-fields{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=560px){.dialog-fields{grid-template-columns:1fr}}.dialog-step md-outlined-text-field{width:100%}.choice-list{gap:var(--space-2);display:grid}.choice{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:56px;padding:var(--space-3) var(--space-4);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--shape-m);background:var(--md-sys-color-surface-container-lowest);color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex}.choice--on{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:#0000}.choice span{display:grid}.choice small{color:var(--md-sys-color-on-surface-variant);font-size:.78rem}.choice--on small{color:var(--md-sys-color-on-primary-container);opacity:.8}.booking-summary{gap:var(--space-2);padding:var(--space-4);border-radius:var(--shape-m);background:var(--md-sys-color-surface-container-low);margin:0;font-size:.9rem;display:grid}.booking-summary div{justify-content:space-between;gap:var(--space-4);display:flex}.booking-summary dt{color:var(--md-sys-color-on-surface-variant)}.booking-summary dd{margin:0}.booking-note{color:var(--md-sys-color-on-surface-variant);font-size:.85rem}.booking-error{padding:var(--space-3) var(--space-4);border-radius:var(--shape-s);background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);font-size:.875rem}.booking-done{align-items:center;gap:var(--space-2);font-size:var(--type-title-l);letter-spacing:var(--track-title);font-weight:700;display:flex}.booking-done .material-symbols-rounded{color:var(--md-sys-color-success,#1e7d3c);font-size:28px}.dialog-actions{align-items:center;width:100%;display:flex}.dialog-actions__spacer{flex:1}.masons-world__grid{grid-template-rows:auto auto auto}.masons-world__grid .masons-offer{grid-row:span 3;grid-template-rows:subgrid;align-content:start;gap:var(--space-3);display:grid}md-outlined-select{--md-outlined-field-top-space:10px;--md-outlined-field-bottom-space:10px}.settings-trigger__values{gap:var(--space-2)}.page-hero{border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low);padding-block:clamp(48px,7vw,96px) clamp(24px,3vw,40px)}.page-hero h1{margin:var(--space-2) 0 0;max-width:18ch;font-size:var(--type-display-s);letter-spacing:var(--track-display);font-weight:var(--weight-heading);line-height:1.04}.page-hero__lead{margin-top:var(--space-4);max-width:62ch;color:var(--md-sys-color-on-surface-variant);font-size:var(--type-body-l);line-height:1.6}.page-hero__lead p{margin:0 0 var(--space-3)}.page-hero__lead p:last-child{margin-bottom:0}.page-hero__badge{gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-4);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);font-size:var(--type-body-s);color:var(--md-sys-color-on-surface-variant);border-radius:999px;align-items:baseline;display:inline-flex}.page-hero__badge-label{font-size:var(--type-label);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:var(--weight-label);color:var(--gold-text)}.page-hero__actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.section--soft{background:var(--md-sys-color-surface-container-low)}.page-prose{max-width:68ch;color:var(--md-sys-color-on-surface-variant);font-size:var(--type-body-l);line-height:1.68}.page-prose p{margin:0 0 var(--space-4)}.page-prose p:last-child{margin-bottom:0}.page-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.page-cards--4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.page-card{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:24px;align-content:start;display:grid}.page-card .material-symbols-rounded{color:var(--gold-text);font-size:28px}.page-card h3{font-size:var(--type-title-m);letter-spacing:var(--track-title);font-weight:var(--weight-strong);margin:0}.page-card p{color:var(--md-sys-color-on-surface-variant);font-size:var(--type-body-m);margin:0;line-height:1.6}.page-bullets{gap:var(--space-3);max-width:68ch;margin:0;padding:0;list-style:none;display:grid}.page-bullets li{gap:var(--space-3);color:var(--md-sys-color-on-surface-variant);font-size:var(--type-body-m);grid-template-columns:24px 1fr;align-items:start;line-height:1.6;display:grid}.page-bullets .material-symbols-rounded{color:var(--gold-text);font-size:20px}.page-facts{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;display:grid}.page-facts>div{padding:var(--space-4);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:20px}.page-facts dt{font-size:var(--type-label);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:var(--weight-label);color:var(--md-sys-color-on-surface-variant)}.page-facts dd{margin:var(--space-1) 0 0;font-size:var(--type-title-m);font-weight:var(--weight-strong)}.cta-band{background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);padding-block:clamp(48px,6vw,80px)}.cta-band h2{margin:0 0 var(--space-5);max-width:20ch;font-size:var(--type-display-s);letter-spacing:var(--track-display);font-weight:var(--weight-heading);line-height:1.08}.cta-band__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.contact-form{gap:var(--space-4);max-width:560px;display:grid}.contact-form md-outlined-text-field{width:100%}.contact-form__actions{gap:var(--space-3);align-items:center;display:flex}.form-alert{gap:var(--space-2);padding:var(--space-4) var(--space-5);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);font-size:var(--type-body-m);border-radius:20px;max-width:560px;line-height:1.6;display:grid}.form-alert--error{border-color:var(--md-sys-color-error);background:var(--md-sys-color-error-container,#ffdad6);color:var(--md-sys-color-on-error-container,#410002)}.form-alert p{margin:0}.contact-form__fallback{margin-top:var(--space-4);color:var(--md-sys-color-on-surface-variant);font-size:var(--type-body-m)}.price-table-wrap{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:24px;overflow-x:auto}.price-table{border-collapse:collapse;width:100%;font-size:var(--type-body-m);white-space:nowrap}.price-table th,.price-table td{padding:var(--space-3) var(--space-4);text-align:right;border-bottom:1px solid var(--md-sys-color-outline-variant)}.price-table th:first-child,.price-table td:first-child{text-align:left;white-space:normal}.price-table thead th{font-size:var(--type-label);letter-spacing:var(--track-label);text-transform:uppercase;font-weight:var(--weight-label);color:var(--md-sys-color-on-surface-variant)}.price-table tbody tr:last-child td{border-bottom:none}.price-table a{color:inherit;font-weight:var(--weight-strong)}.calculator{gap:var(--space-4);margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low);border-radius:24px;display:grid}.calculator__controls{gap:var(--space-4);grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);align-items:end;display:grid}.calculator__total{gap:var(--space-2) var(--space-4);font-size:var(--type-title-l);font-weight:var(--weight-strong);flex-wrap:wrap;align-items:baseline;display:flex}.calculator__total small{font-size:var(--type-body-s);font-weight:var(--weight-body);color:var(--md-sys-color-on-surface-variant)}.not-found{gap:var(--space-5);justify-items:start;padding-block:clamp(64px,10vw,140px);display:grid}.support-menu{--md-menu-container-shape:20px}@media (width<=820px){.calculator__controls{grid-template-columns:1fr}}.voucher-picker{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:start;display:grid}.voucher-picker__custom{margin-top:var(--space-4);max-width:320px;display:block}.voucher-preview{gap:var(--space-2);padding:var(--space-6);background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);text-align:center;border-radius:28px;display:grid}.voucher-preview .section-label{color:var(--gold)}.voucher-preview__amount{font-size:var(--type-display-s);letter-spacing:var(--track-display);font-weight:var(--weight-heading);margin:0;line-height:1.05}.voucher-preview__tagline{font-size:var(--type-body-s);opacity:.8;margin:0}@media (width<=820px){.voucher-picker{grid-template-columns:1fr}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.article-table{max-width:100%;margin-block:var(--space-5);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);border-radius:20px;overflow-x:auto}.article-prose .faq-list{margin-block:var(--space-5)}.md-upgrading :not(:defined){visibility:hidden}:is(.md-upgrading md-menu:not(:defined),.md-upgrading md-dialog:not(:defined)){display:none}.hero__content{padding-bottom:var(--space-7)}:root{--type-display-l:clamp(2.75rem, 6vw + 1rem, 5.5rem);--type-display-m:clamp(2.25rem, 4.2vw + 1rem, 4rem);--type-display-s:clamp(1.9rem, 3.2vw + .5rem, 3rem);--type-headline:1.5rem;--type-title-l:1.375rem;--type-title-m:1.0625rem;--type-body-l:1.0625rem;--type-body-m:.9375rem;--type-body-s:.8125rem;--type-label:.78rem;--track-display:-.045em;--track-headline:-.025em;--track-title:-.015em;--track-body:0;--track-label:.1em;--leading-display:1.02;--leading-headline:1.2;--leading-body:1.55;--weight-body:400;--weight-label:600;--weight-heading:520;--weight-strong:700;--gold-text:#7a6414}h1,.article-title,.magazine-masthead h1{font-size:var(--type-display-l);font-weight:var(--weight-heading);letter-spacing:var(--track-display);line-height:var(--leading-display)}h2,.lead-story__body h2{font-size:var(--type-display-m);font-weight:var(--weight-heading);letter-spacing:var(--track-display);line-height:var(--leading-display)}.fleet-card h3,.masons-offer h3,.process__steps h3,.more-story h3,.story-row__copy h3,.conditions-column h3,.booking-card__heading,.article-end h3{font-size:var(--type-title-l);font-weight:var(--weight-strong);letter-spacing:var(--track-title);line-height:var(--leading-headline)}.journey-search__head h2,.section-head h2{font-size:var(--type-display-s);letter-spacing:var(--track-headline);line-height:var(--leading-headline)}.eyebrow,.section-label,.magazine-card__kicker,.site-footer__col-title,.fleet-filters__label,.filter-group>p{font-family:Roboto Flex Variable,Roboto Flex,system-ui,sans-serif;font-size:var(--type-label);font-weight:var(--weight-label);letter-spacing:var(--track-label);text-transform:uppercase;line-height:1.4}.eyebrow,.section-label,.magazine-card__kicker{color:var(--gold-text)}.handover .eyebrow,.handover .section-label,.lead-story__body .eyebrow,.closing .eyebrow,.article-hero .eyebrow{color:var(--gold)}.lead,.section-heading__support,.magazine-masthead__copy,.handover__body>p{font-size:var(--type-body-l);line-height:var(--leading-body);letter-spacing:var(--track-body)}.story-row .story-meta-line,.story-row .story-meta-line span{color:var(--md-sys-color-on-surface-variant)}.section-heading h1,.section-heading h2,.process__header h2,.faq-layout h2,.contact-surface h2,.masons-world__head h2,.magazine-masthead h1,.article-title{font-size:var(--type-display-l);font-weight:var(--weight-heading);letter-spacing:var(--track-display);line-height:var(--leading-display)}.handover__body h2,.home-magazine__copy h2,.lead-story__body h2,.section-head h2,.more-stories h2,.topic-band h2,.article-prose h2{font-size:var(--type-display-m);font-weight:var(--weight-heading);letter-spacing:var(--track-display);line-height:var(--leading-display)}.vehicle-intro h1,.detail-section h2,.conditions-section h2,.related-section h2,.vehicle__columns h2{font-size:var(--type-display-s);font-weight:var(--weight-heading);letter-spacing:var(--track-headline);line-height:var(--leading-headline)}.journey-search__head h2{font-size:var(--type-title-l);letter-spacing:var(--track-title)}.home-magazine__copy .section-label,.home-magazine__copy .eyebrow{color:var(--gold)}.site-footer__tagline,.site-footer__col p,.site-footer p{color:var(--md-sys-color-on-surface-variant)}

/*
 * MASONS v2 — design scratchpad.
 *
 * Everything here wins over the built stylesheet, because it loads last.
 * Change a token and the whole page follows: the Material components read
 * these same variables. When you are happy, these lines go back into
 * apps/masons-v2/src/styles/tokens.css.
 */

:root {
  /* --ink: #111515; */
  /* --paper: #f8f8f5; */
  /* --gold: #d7b84f; */
  /* --orange: #ff5b00; */
  /* --shell: min(1344px, calc(100% - 64px)); */
  /* --app-bar-height: 72px; */
}

/*
 * Magazine article layout.
 *
 * One frame for the whole article: --article-w wide, split into the reading
 * column (title, photo, meta, text — all starting on the same left edge) and
 * a 300px column on the right for the floating "Other stories" island.
 *
 * The photo spans the full frame (both columns); text starts at its left edge.
 *
 * Goes back to: the .article-hero / .article-layout / .article-rail rules in
 * the magazine detail styles, plus a new StoryIsland component (see design.js).
 */
:root {
  --article-w: min(1240px, 100% - 64px);
  --article-side: 300px;
  --article-gap: 64px;
  --article-col: calc(var(--article-w) - var(--article-side) - var(--article-gap));
}

.article-hero__head {
  width: var(--article-w);
  margin: 0 auto 34px;
  text-align: left;
}
.article-hero__head .article-title { max-width: none; }
.article-hero__head .article-deck { max-width: none; }
/* Read time and date live under the photo now (in .article-rail, next to
   the author), so the copy in the headline block is hidden. */
.article-hero__head .article-byline { display: none; }
.article-hero__head .article-title,
.article-hero__head .article-deck { margin-left: 0; margin-right: 0; }
/* Full-width headline: a notch below the built size so long titles stay
   at 2-3 lines. */
.article-hero__head .article-title { font-size: clamp(2.6rem, 4.8vw, 5rem); }

/* Full frame width, as before (1240px). The old fixed 320–460px height made
   a ~2.7:1 strip that cropped and zoomed the car; 2:1 keeps the width and
   shows almost the whole 16:10 photo. */
.article-hero__image {
  width: var(--article-w);
  height: auto;
  min-height: 0;
  aspect-ratio: 2 / 1;
  border-radius: 28px;
  margin-inline: auto;
}

.article-layout {
  width: var(--article-w);
  grid-template-columns: minmax(0, 1fr) var(--article-side);
  grid-template-rows: auto 1fr;
  column-gap: var(--article-gap);
  row-gap: 0;
  padding-top: 40px;
}

/* Meta (back link, read time, date) becomes one line above the text. */
.article-rail {
  grid-column: 1;
  grid-row: 1;
  position: static;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 28px;
  padding-bottom: 22px;
  margin-bottom: 36px;
  border-bottom: 1px solid var(--line);
}
.article-rail a { margin: 0; }
.article-rail dl { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 0; border-top: 0; margin: 0; }
.article-rail div { border: 0; padding: 0; display: flex; align-items: baseline; }
.article-rail dl > div + div::before { content: "·"; margin: 0 12px; color: var(--muted); }
.article-rail dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.article-rail dd { margin: 0; color: var(--muted); font-size: .9rem; font-weight: 500; }
.article-rail .rail-author dd { color: var(--ink); font-weight: 650; }
.article-rail dl > div:has(dd:empty) { display: none; }
.article-rail > a { padding-right: 22px; border-right: 1px solid var(--line); }

.article-prose { grid-column: 1; grid-row: 2; }

/* The island. Sticky inside the article grid, so it rides down with the
   reader and stops before "More stories" / the footer. */
.story-island {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: start;
  position: sticky;
  top: calc(var(--app-bar-height) + 24px);
  padding: 20px 22px 16px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: color-mix(in srgb, var(--paper) 88%, var(--ink) 4%);
  font-size: .84rem;
}
.story-island__label {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.story-island ol { list-style: none; margin: 0; padding: 0; }
.story-island li + li { border-top: 1px solid var(--line); }
.story-island li a {
  display: grid;
  gap: 3px;
  padding: 7px 0;
  color: inherit;
  text-decoration: none;
}
.story-island__meta {
  color: var(--gold-deep, var(--gold));
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.story-island__title {
  font-weight: 650;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .2s;
}
.story-island li a:hover .story-island__title { color: var(--gold-deep, var(--gold)); }
.story-island__all {
  display: inline-block;
  margin-top: 12px;
  font-weight: 700;
  text-decoration: none;
}

/* Narrow screens: one column; the island drops below the text as a list. */
@media (width <= 1080px) {
  :root { --article-w: min(760px, 100% - 64px); }
  .article-hero__head,
  .article-hero__image { width: var(--article-w); margin-left: auto; margin-right: auto; }
  .article-hero__head { margin-bottom: 28px; }
  .article-hero__head .article-deck { max-width: none; }
  .article-layout { display: block; margin-inline: auto; padding: 36px 0 72px; }
  .story-island { position: static; margin-top: 48px; }
}
@media (width <= 760px) {
  :root { --article-w: calc(100% - 32px); }
  .article-hero__image { border-radius: 22px; aspect-ratio: 16 / 10; }
  .article-rail > a { border-right: 0; padding-right: 0; }
}

/*
 * Top app bar: the nav sits in the true centre of the page.
 * Was `auto auto 1fr auto`, so the links started right after the logo and
 * their centre depended on the logo width. Now three columns, the outer two
 * equal, so the middle one is centred whatever the logo and buttons measure.
 * Below 1080px the nav is hidden and the built layout takes over.
 * Goes back to: .top-app-bar__inner in the app-bar styles.
 */
@media (width > 1080px) {
  .top-app-bar__inner { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .top-app-bar__inner > .brand { justify-self: start; }
  .top-app-bar__nav { grid-column: 2; }
  .top-app-bar__actions { grid-column: 3; justify-self: end; }
}

/*
 * Footer, Contact column: same rhythm as Company.
 * Contact is built from <p> elements, and their default 1em margins were
 * added on top of the column gap. Links in Company have no margins.
 * Goes back to: .site-footer__col in the footer styles.
 */
.site-footer__col p { margin: 0; }
.site-footer__col p:not(.site-footer__col-title) { font-size: inherit; line-height: inherit; }
.site-footer__col p.site-footer__col-title { margin: 0 0 var(--space-1); }

/* Tagline and address break where the text has a newline:
   "Premium car rental in Prague." / "A curated fleet of …" and
   "Třebohostická 3069/14," / "Prague 10 – Strašnice" / "100 00 Prague".
   The newlines live in the locale strings (tagline, addressLine1). */
.site-footer__tagline,
.site-footer__col p:not(.site-footer__col-title) { white-space: pre-line; }
.site-footer__tagline { max-width: none; }

/*
 * Home "Handover without a counter": no full-width black band.
 * The section now sits on the page background and the card itself is dark,
 * exactly like the "Routes, cars and the craft" magazine block.
 * Goes back to: .handover / .handover__frame / .handover__media / .handover__body.
 */
.handover { background: transparent; color: inherit; padding: 24px 0; }
.handover__frame {
  background: var(--ink);
  color: #fff;
  border-radius: 30px;
  min-height: 620px;
}
.handover__media:after { background: linear-gradient(90deg, #0000 58%, #11151585); }
.handover__body { padding: clamp(34px, 5vw, 70px); }

@media (width <= 820px) {
  .handover__frame { border-radius: 26px; min-height: 0; }
  .handover__media:after { background: linear-gradient(#0000 52%, #11151585); height: auto; inset: 0; }
  .handover__body { padding: 30px 24px 34px; }
}

/*
 * Magazine article tables.
 * They reuse .price-table, which is built for short price grids: every cell
 * nowrap and right-aligned. Article tables carry sentences ("What it means
 * on the route"), so the last column ran off the card with its header out
 * of sight, and car names were squeezed into three lines.
 * Now: text wraps, everything left-aligned, the car column keeps a sane
 * width, long-text columns get room. On phones each row becomes a card with
 * the column names as labels (labels are set by design.js; in the repo the
 * markdown table renderer should emit data-label on each cell).
 * Goes back to: .article-table styles (leave .price-table itself alone).
 */
.article-table {
  margin-block: 28px 36px;
  border-radius: 20px;
  -webkit-overflow-scrolling: touch;
}
.article-table .price-table {
  white-space: normal;
  font-size: .92rem;
  line-height: 1.45;
  min-width: 100%;
}
.article-table .price-table th,
.article-table .price-table td {
  text-align: left;
  vertical-align: top;
  padding: 13px 14px;
}
.article-table .price-table thead th {
  white-space: normal;
  padding-top: 16px;
  padding-bottom: 12px;
  background: color-mix(in srgb, var(--paper) 70%, var(--ink) 4%);
}
/* Car / first column: bold, never narrower than a model name. */
.article-table .price-table tbody th {
  font-weight: 650;
  min-width: 10em;
  width: 20%;
}
/* Value columns: wide enough for "250 km/h" on one line, wrap only if the
   table would otherwise overflow (long words in de / ru / uk). */
.article-table .price-table td { min-width: 6em; hyphens: auto; overflow-wrap: break-word; }
.article-table .price-table thead th { hyphens: auto; }
/* ...the last column is the commentary one: it wraps and takes the rest. */
.article-table .price-table td:last-child {
  white-space: normal;
  min-width: 11em;
  color: var(--muted);
}
.article-table .price-table tbody tr:hover > * {
  background: color-mix(in srgb, var(--paper) 80%, var(--gold) 6%);
}

/* Narrow reading column: rows turn into stacked cards, no sideways
   scrolling. Measured against the column itself (container query), not the
   window, so it also kicks in on laptops next to the "Other stories" island.
   Wide tables (5+ columns) switch earlier than 3–4 column ones. */
.article-prose { container-type: inline-size; container-name: prose; }

@container prose (width < 820px) {
  .article-table:has(thead th:nth-child(5)) { border: 0; background: none; border-radius: 0; overflow: visible; }
  .article-table:has(thead th:nth-child(5)) .price-table,
  .article-table:has(thead th:nth-child(5)) .price-table tbody,
  .article-table:has(thead th:nth-child(5)) .price-table tr,
  .article-table:has(thead th:nth-child(5)) .price-table th,
  .article-table:has(thead th:nth-child(5)) .price-table td { display: block; width: auto; min-width: 0; }
  .article-table:has(thead th:nth-child(5)) .price-table thead { display: none; }
  .article-table:has(thead th:nth-child(5)) .price-table tr {
    margin-bottom: 12px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--md-sys-color-surface-container-lowest, #fff);
  }
  .article-table:has(thead th:nth-child(5)) .price-table tbody th {
    padding: 0 0 8px;
    border: 0;
    font-size: 1rem;
  }
  .article-table:has(thead th:nth-child(5)) .price-table td {
    display: grid;
    grid-template-columns: 7.5em minmax(0, 1fr);
    gap: 12px;
    padding: 7px 0;
    border: 0;
    border-top: 1px solid var(--line);
    white-space: normal;
    color: inherit;
  }
  .article-table:has(thead th:nth-child(5)) .price-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding-top: 2px;
  }
  .article-table:has(thead th:nth-child(5)) .price-table tbody tr:hover > * { background: none; }
}

@container prose (width < 560px) {
  .article-table { border: 0; background: none; border-radius: 0; overflow: visible; }
  .article-table .price-table,
  .article-table .price-table tbody,
  .article-table .price-table tr,
  .article-table .price-table th,
  .article-table .price-table td { display: block; width: auto; min-width: 0; }
  .article-table .price-table thead { display: none; }
  .article-table .price-table tr {
    margin-bottom: 12px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--md-sys-color-surface-container-lowest, #fff);
  }
  .article-table .price-table tbody th {
    padding: 0 0 8px;
    border: 0;
    font-size: 1rem;
  }
  .article-table .price-table td {
    display: grid;
    grid-template-columns: 7.5em minmax(0, 1fr);
    gap: 12px;
    padding: 7px 0;
    border: 0;
    border-top: 1px solid var(--line);
    white-space: normal;
    color: inherit;
  }
  .article-table .price-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding-top: 2px;
  }
  .article-table .price-table tbody tr:hover > * { background: none; }
}

/* Short laptop screens: drop the "Review · 7 min" line so all ten links
   still fit on screen without a scrollbar inside the island. */
@media (width > 1080px) and (height < 820px) {
  .story-island__meta { display: none; }
  .story-island li a { padding: 8px 0; }
}

/*
 * Links inside articles — car names now link to their fleet page, in the
 * text and in tables. Links had no styling at all (global `a` resets
 * colour and underline), so they were invisible.
 * Goes back to: .article-prose styles.
 */
.article-prose a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--gold) 70%, transparent);
  text-decoration-thickness: 1.5px;
  text-underline-offset: .22em;
  transition: color .15s, text-decoration-color .15s;
}
.article-prose a:hover {
  color: var(--gold-deep, var(--gold));
  text-decoration-color: currentColor;
}
.article-table .price-table a { font-weight: 600; }
.article-table .price-table tbody th a { font-weight: inherit; }

/*
 * Vouchers page, rebuilt.
 * Before: a grey hero ("Vouchers / Gift the drive / …") that repeated the
 * section right below it, then the amount picker further down with a small
 * dark box as the "voucher".
 * Now the page opens with "Value toward any rental" and the amount picker in
 * one block, with a vertical MASONS voucher on the right that follows the
 * chosen amount (it is the same live .voucher-preview, restyled as a ticket).
 * Scoped with :has(.voucher-picker), so no other page is touched.
 *
 * Mechanics: <main> becomes a two-column grid; the picker section and its
 * wrappers use display: contents so the voucher can sit in the right column
 * next to both the intro text and the picker, and stay sticky while you pick.
 * In the repo this should simply be one section with two columns, and the
 * h1 should move to "Value toward any rental" (the old hero goes away).
 */
main:has(.voucher-picker) {
  --v-shell: min(1240px, 100% - 64px);
  --v-card: 360px;
  --v-gap: clamp(40px, 6vw, 96px);
  display: grid;
  grid-template-columns:
    [full-start] minmax(0, 1fr)
    [text-start] minmax(0, calc(var(--v-shell) - var(--v-card) - var(--v-gap)))
    [text-end] var(--v-gap)
    [card-start] var(--v-card)
    [card-end] minmax(0, 1fr) [full-end];
  align-content: start;
}
main:has(.voucher-picker) > * { grid-column: full; }
main:has(.voucher-picker) > section:nth-of-type(3) { grid-row: 5; }
main:has(.voucher-picker) > section:nth-of-type(4) { grid-row: 6; }
main:has(.voucher-picker) > section:nth-of-type(n+5) { grid-row: auto; }

/* The old hero: kept for the h1 (SEO, screen readers), not shown. */
main:has(.voucher-picker) > .page-hero {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; padding: 0; border: 0;
}

/* 1 — intro: "What the voucher covers / Value toward any rental". */
main:has(.voucher-picker) > .section:nth-of-type(1) {
  grid-column: text;
  grid-row: 2;
  padding: calc(var(--app-bar-height) + 56px) 0 8px;
}
main:has(.voucher-picker) > .section:nth-of-type(1) .shell { width: auto; margin: 0; }
main:has(.voucher-picker) > .section:nth-of-type(1) h2 {
  font-size: clamp(2.8rem, 5.4vw, 5.2rem);
  line-height: .98;
  margin-bottom: 0;
}
main:has(.voucher-picker) > .section:nth-of-type(1) .page-prose { max-width: 62ch; }

/* 2 — picker: flattened into the same two columns. */
main:has(.voucher-picker) > .section--soft,
main:has(.voucher-picker) > .section--soft > .shell,
main:has(.voucher-picker) .voucher-picker { display: contents; }
main:has(.voucher-picker) > .section--soft .section-heading {
  grid-column: text;
  grid-row: 3;
  margin: 28px 0 18px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
main:has(.voucher-picker) > .section--soft .section-heading h2 {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  line-height: 1.1;
  margin: 6px 0 0;
}
main:has(.voucher-picker) .voucher-picker > div {
  grid-column: text;
  grid-row: 4;
  padding-bottom: clamp(56px, 7vw, 96px);
}

/* The voucher: vertical ticket, sticky next to the text. */
main:has(.voucher-picker) .voucher-preview {
  --stub: 150px;
  grid-column: card;
  grid-row: 2 / 5;
  align-self: start;
  position: sticky;
  top: calc(var(--app-bar-height) + 32px);
  margin-top: calc(var(--app-bar-height) + 56px);
  min-height: 560px;
  box-sizing: border-box;
  padding: 34px 32px calc(var(--stub) + 26px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  text-align: left;
  color: #f4efe4;
  border-radius: 26px;
  background:
    /* barcode */
    repeating-linear-gradient(90deg,
      #f4efe4 0 2px, transparent 2px 4px, #f4efe4 4px 5px, transparent 5px 8px,
      #f4efe4 8px 11px, transparent 11px 12px, #f4efe4 12px 13px, transparent 13px 16px)
      32px calc(100% - 58px) / calc(100% - 64px) 44px no-repeat,
    /* logo */
    url(/masons/logo-primary.svg) 32px 34px / 128px auto no-repeat,
    /* brand art */
    url(/masons/voucher-dark.svg) 72% 40% / auto 118% no-repeat,
    #100e0a;
  /* perforation notches on both edges */
  -webkit-mask:
    radial-gradient(circle 14px at 0 calc(100% - var(--stub)), #0000 98%, #000) left / 51% 100% no-repeat,
    radial-gradient(circle 14px at 100% calc(100% - var(--stub)), #0000 98%, #000) right / 51% 100% no-repeat;
          mask:
    radial-gradient(circle 14px at 0 calc(100% - var(--stub)), #0000 98%, #000) left / 51% 100% no-repeat,
    radial-gradient(circle 14px at 100% calc(100% - var(--stub)), #0000 98%, #000) right / 51% 100% no-repeat;
  filter: drop-shadow(0 24px 40px rgba(17, 21, 21, .22));
  transition: transform .4s cubic-bezier(.2, .8, .2, 1);
}
main:has(.voucher-picker) .voucher-preview:hover { transform: translateY(-4px) rotate(-.6deg); }
/* dashed tear line + code on the stub */
main:has(.voucher-picker) .voucher-preview::after {
  content: "MSN — •••• ••••";
  position: absolute;
  left: 32px; right: 32px; bottom: 24px;
  height: calc(var(--stub) - 24px);
  border-top: 2px dashed rgba(244, 239, 228, .28);
  display: flex;
  align-items: flex-end;
  font: 600 .78rem/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: .16em;
  color: rgba(244, 239, 228, .7);
}
main:has(.voucher-picker) .voucher-preview .section-label {
  color: var(--gold);
  margin: 0 0 4px;
}
main:has(.voucher-picker) .voucher-preview__amount {
  font-size: clamp(2.6rem, 3.6vw, 3.4rem);
  line-height: 1;
  letter-spacing: -.03em;
  color: #fff;
}
main:has(.voucher-picker) .voucher-preview__tagline {
  margin-top: 8px;
  font-size: .95rem;
  opacity: .78;
}

/* Tablet and phone: one column, voucher right after the intro text. */
@media (width <= 900px) {
  main:has(.voucher-picker) {
    --v-shell: calc(100% - 40px);
    grid-template-columns: [full-start] 20px [text-start card-start] minmax(0, 1fr) [text-end card-end] 20px [full-end];
  }
  main:has(.voucher-picker) > .section:nth-of-type(1) { padding-top: calc(var(--app-bar-height) + 32px); }
  main:has(.voucher-picker) .voucher-preview {
    grid-row: 3;
    position: relative;
    top: auto;
    margin: 32px auto 8px;
    width: min(100%, 340px);
    min-height: 500px;
  }
  main:has(.voucher-picker) > .section--soft .section-heading { grid-row: 4; }
  main:has(.voucher-picker) .voucher-picker > div { grid-row: 5; }
  main:has(.voucher-picker) > section:nth-of-type(3) { grid-row: 6; }
  main:has(.voucher-picker) > section:nth-of-type(4) { grid-row: 7; }
}
main:has(.voucher-picker) > .section--soft .section-heading { display: block; }
main:has(.voucher-picker) > .section--soft .section-heading__support {
  max-width: 56ch; margin: 10px 0 0; color: var(--muted);
}
main:has(.voucher-picker) .voucher-picker .section__more {
  text-align: left; justify-content: flex-start; margin: 26px 0 0;
}
main:has(.voucher-picker) .voucher-picker .section__note { margin-top: 14px; max-width: 56ch; }

/* Interactive MASONS voucher */
.voucher-builder {
  display: grid;
  gap: 48px;
  align-items: start;
  color: var(--ink);
}
.voucher-builder *,
.voucher-builder *::before,
.voucher-builder *::after {
  box-sizing: border-box;
}
.voucher-builder__stage {
  min-width: 0;
  text-align: center;
}
.voucher-builder__caption {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-bottom: 24px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.15em;
}
.voucher-builder__caption > span {
  width: 6px;
  height: 6px;
  background: var(--gold-deep);
  border-radius: 50%;
}
.gift-card {
  position: relative;
  width: min(100%, 390px);
  min-height: 580px;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 32px);
  border: 1px solid #d4cbb7;
  border-top: 4px solid var(--gold-deep);
  border-radius: 4px;
  background: linear-gradient(135deg, #fffdf6, #f2ecdf);
  box-shadow: 0 22px 42px -22px rgb(60 47 20 / 35%);
  text-align: left;
  transition:
    transform 250ms ease,
    box-shadow 250ms ease;
}
.gift-card::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 9px;
  border: 1px solid rgb(157 129 36 / 18%);
}
.gift-card__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.gift-card__brand {
  font-family: "Montserrat Variable", sans-serif;
  letter-spacing: 0.23em;
  font-size: 20px;
  font-weight: 500;
}
.gift-card__brand > span {
  display: block;
  margin-top: 4px;
  text-align: center;
  font-size: 8px;
  letter-spacing: 0.6em;
  color: #806926;
}
.gift-card__edition {
  font-size: 8px;
  line-height: 1.8;
  letter-spacing: 0.08em;
  text-align: right;
  color: #655e4f;
}
.gift-card__title {
  margin: 38px 0 28px;
  font-size: clamp(36px, 7vw, 54px);
  font-weight: 650;
  line-height: 0.98;
  letter-spacing: -0.045em;
}
.gift-card__title > span {
  color: #806926;
  font-weight: 350;
}
.gift-card__label {
  color: #655e4f;
  font-size: 9px;
  letter-spacing: 0.18em;
}
.gift-card__recipient {
  font-size: 22px;
  line-height: 1.2;
  font-weight: 550;
  margin: 6px 0 10px;
  overflow-wrap: anywhere;
}
.gift-card__wish {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  min-height: 42px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.gift-card__wish--empty {
  color: #706a5f;
}
.gift-card__value {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 10px;
}
.gift-card__amount {
  font-size: clamp(32px, 6.5vw, 54px);
  line-height: 1.05;
  font-weight: 600;
  letter-spacing: -0.055em;
  font-variant-numeric: tabular-nums;
}
.gift-card__currency {
  font-size: 14px;
  font-weight: 500;
}
.gift-card__purpose {
  margin: 10px 0 25px;
  font-size: 11px;
  letter-spacing: 0.04em;
}
.gift-card__stub {
  border-top: 1px dashed #c4b996;
  padding-top: 22px;
}
.gift-card__barcode {
  width: 100%;
  height: 33px;
  opacity: 0.85;
  background: repeating-linear-gradient(
    90deg,
    var(--ink) 0 2px,
    transparent 2px 4px,
    var(--ink) 4px 5px,
    transparent 5px 8px,
    var(--ink) 8px 12px,
    transparent 12px 14px,
    var(--ink) 14px 15px,
    transparent 15px 19px,
    var(--ink) 19px 22px,
    transparent 22px 24px,
    var(--ink) 24px 25px,
    transparent 25px 29px
  );
}
.gift-card__serial {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  margin-top: 9px;
  font-size: 8px;
  letter-spacing: 0.035em;
}
.gift-card__stub > p {
  margin: 14px 0 0;
  font-size: 10px;
  color: #655e4f;
}
.voucher-builder__preview-note {
  max-width: 350px;
  margin: 22px auto 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--md-sys-color-on-surface-variant);
}
.voucher-builder__controls {
  min-width: 0;
}
.voucher-fieldset {
  min-width: 0;
  padding: 0 0 28px;
  margin: 0 0 26px;
  border: 0;
  border-bottom: 1px solid var(--md-sys-color-outline-variant);
}
.voucher-fieldset legend {
  display: flex;
  gap: 12px;
  align-items: baseline;
  padding: 0;
  margin-bottom: 16px;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: -0.025em;
}
.voucher-fieldset legend > span {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #806926;
}
.voucher-builder__hint {
  font-size: 13px;
  line-height: 1.6;
  margin: 0 0 18px;
  color: var(--md-sys-color-on-surface-variant);
}
.voucher-options {
  display: grid;
  gap: 8px;
}
.voucher-options--amount {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.voucher-option {
  position: relative;
  cursor: pointer;
  min-width: 0;
}
.voucher-option input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.voucher-option > span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px;
  border: 1px solid var(--md-sys-color-outline-variant);
  border-radius: 8px;
  font-size: 14px;
  transition:
    background 160ms ease,
    border-color 160ms ease;
}
.voucher-option input:checked + span {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
.voucher-option input:focus-visible + span,
.voucher-field input:focus-visible,
.voucher-field textarea:focus-visible,
.voucher-builder__request:focus-visible {
  outline: 2px solid var(--gold-deep);
  outline-offset: 4px;
}
.voucher-option:active > span {
  transform: translateY(1px);
}
.voucher-field {
  margin-top: 18px;
}
.voucher-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 550;
}
.voucher-field label > span {
  font-weight: 400;
  color: var(--md-sys-color-on-surface-variant);
}
.voucher-field input,
.voucher-field textarea {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 13px 14px;
  border: 1px solid var(--md-sys-color-outline-variant);
  border-radius: 8px;
  background: var(--md-sys-color-surface);
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  line-height: 1.5;
}
.voucher-field textarea {
  resize: vertical;
}
.voucher-field input::placeholder,
.voucher-field textarea::placeholder {
  color: #787469;
}
.voucher-field input[aria-invalid="true"] {
  border-color: var(--md-sys-color-error);
}
.voucher-field .voucher-builder__hint,
.voucher-builder__error {
  margin: 8px 0 0;
  font-size: 12px;
}
.voucher-builder__error {
  color: var(--md-sys-color-error);
}
.voucher-builder__count {
  display: block;
  text-align: right;
  margin-top: 6px;
  font-size: 11px;
  color: var(--md-sys-color-on-surface-variant);
}
.voucher-options--delivery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.voucher-options--delivery .voucher-option > span {
  height: 100%;
  min-height: 84px;
  padding: 14px;
  align-items: flex-start;
  flex-direction: column;
  gap: 6px;
}
.voucher-option strong {
  font-size: 14px;
  font-weight: 550;
}
.voucher-option small {
  font-size: 11px;
  line-height: 1.4;
}
.voucher-builder__summary {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 18px;
  font-size: 14px;
}
.voucher-builder__summary strong {
  font-size: 24px;
  font-weight: 550;
  letter-spacing: -0.03em;
}
.voucher-builder__request {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 22px;
  min-height: 56px;
  border-radius: 32px;
  background: var(--ink);
  color: var(--paper);
  text-decoration: none;
  font-size: 16px;
  margin-bottom: 14px;
  transition: background 160ms ease;
}
.voucher-builder__request[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
}
.voucher-builder__request:active {
  transform: translateY(1px);
}
@media (hover: hover) {
  .gift-card:hover {
    transform: translateY(-4px) rotate(-0.5deg);
    box-shadow: 0 28px 48px -22px rgb(60 47 20 / 40%);
  }
  .voucher-option:hover > span {
    border-color: var(--gold-deep);
  }
  .voucher-builder__request:hover {
    background: #39372d;
  }
}
@media (min-width: 900px) {
  .voucher-builder {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(48px, 7vw, 112px);
    max-width: 1100px;
    margin-inline: auto;
  }
  .voucher-builder__stage {
    position: sticky;
    top: 104px;
  }
  .voucher-options--amount {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (max-width: 360px) {
  .gift-card__edition {
    display: none;
  }
  .gift-card {
    min-height: 540px;
  }
  .voucher-options--delivery {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gift-card:hover,
  .voucher-option:active > span,
  .voucher-builder__request:active {
    transform: none;
  }
  .voucher-builder *,
  .voucher-builder *::before,
  .voucher-builder *::after {
    transition: none;
    transform: none;
  }
}

/*
 * Vouchers hero, rebuilt. H1 is now "Value toward any rental" (was just
 * "Vouchers"), with "Gift vouchers" as the eyebrow so the keyword stays at
 * the top. The lead is the one paragraph that explains what a voucher is;
 * the old "Gift the drive." line and the separate "What the voucher covers"
 * section repeated each other and are gone.
 */
main:has(.voucher-builder) > .page-hero {
  background: transparent;
  border-bottom: 0;
  padding-block: clamp(56px, 8vw, 112px) clamp(32px, 4vw, 56px);
}
main:has(.voucher-builder) > .page-hero h1 {
  max-width: 14ch;
  margin-top: 14px;
  font-size: clamp(3rem, 7vw, 6.6rem);
  line-height: .94;
  letter-spacing: -.055em;
  text-wrap: balance;
}
main:has(.voucher-builder) > .page-hero .page-hero__lead {
  max-width: 60ch;
  margin-top: clamp(22px, 2.6vw, 34px);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
}

/*
 * Vouchers page composition.
 * Hero: eyebrow + H1 on the left, the lead paragraph on the right, both on
 * one baseline — no empty right half. Then the builder follows at once:
 * "Pick the voucher value" becomes a compact row (small H2 + hint) instead
 * of a second display-size headline, so the voucher and the form are on
 * screen right away. Section paddings tightened to match.
 */
main:has(.voucher-builder) > .page-hero {
  padding-block: clamp(96px, 7vw, 104px) clamp(40px, 5vw, 72px);
}
main:has(.voucher-builder) > .page-hero > .shell {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  column-gap: clamp(40px, 6vw, 96px);
  align-items: end;
}
main:has(.voucher-builder) > .page-hero .section-label { grid-column: 1; }
main:has(.voucher-builder) > .page-hero h1 {
  grid-column: 1;
  max-width: 12ch;
  margin-top: 12px;
  font-size: clamp(3rem, 6.4vw, 6rem);
}
main:has(.voucher-builder) > .page-hero .page-hero__lead {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: end;
  max-width: 44ch;
  margin: 0 0 .35em;
  padding-left: clamp(0px, 2vw, 28px);
  border-left: 1px solid var(--line);
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.6;
}

/* Builder section: compact heading row, then the two-column builder. */
main:has(.voucher-builder) > .section--soft { padding-top: clamp(40px, 5vw, 64px); }
main:has(.voucher-builder) > .section--soft .section-heading {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  column-gap: 28px;
  margin-bottom: clamp(28px, 4vw, 48px);
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
  max-width: 1100px;
  margin-inline: auto;
}
main:has(.voucher-builder) > .section--soft .section-heading .section-label { display: none; }
main:has(.voucher-builder) > .section--soft .section-heading h2 {
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  letter-spacing: -.02em;
  line-height: 1.1;
}
main:has(.voucher-builder) > .section--soft .section-heading__support {
  font-size: .95rem;
  color: var(--muted);
}
.voucher-builder__stage { top: calc(var(--app-bar-height) + 28px); }

@media (width <= 900px) {
  main:has(.voucher-builder) > .page-hero > .shell { grid-template-columns: 1fr; }
  main:has(.voucher-builder) > .page-hero .page-hero__lead {
    grid-column: 1; grid-row: auto; margin-top: 22px; padding-left: 0; border-left: 0;
  }
  main:has(.voucher-builder) > .section--soft .section-heading { grid-template-columns: 1fr; row-gap: 8px; }
}

/* Gift card motion (see mountGiftCard in design.js). */
.gc-stage { perspective: 1400px; }
.gift-card[data-spin] {
  transform-style: preserve-3d;
  will-change: transform;
  cursor: grab;
  outline: none;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.gift-card[data-spin].is-dragging { cursor: grabbing; }
.gift-card[data-spin]:focus-visible { box-shadow: 0 0 0 3px var(--gold); }
.gift-card[data-spin] > :not(.gc-back):not(.gc-glare) {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.gc-back {
  position: absolute; inset: -4px -1px -1px -1px;
  box-sizing: border-box;
  border: 1px solid #d4cbb7; border-top: 4px solid var(--gold-deep);
  border-radius: 4px;
  background: linear-gradient(135deg, #fffdf6, #f2ecdf);
  transform: rotateY(180deg) translateZ(1px);
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
  overflow: hidden;
  text-align: center;
  color: var(--ink);
}
.gc-back__logo {
  position: absolute; left: 50%; top: 84px; width: 200px; height: 50px; transform: translateX(-50%);
  background: url(/masons/logo-primary-deep.svg) center / contain no-repeat;
}
.gc-back__amount {
  position: absolute; left: 0; right: 0; top: 180px; margin: 0;
  font-size: 2.2rem; font-weight: 700; letter-spacing: -.02em;
}
.gc-back__text {
  position: absolute; left: 40px; right: 40px; top: 250px; margin: 0;
  font-size: .95rem; line-height: 1.55; color: var(--muted);
}
.gc-back__for {
  position: absolute; left: 32px; right: 32px; bottom: 96px; margin: 0;
  display: flex; align-items: baseline; gap: 10px; text-align: left;
  padding-top: 14px; border-top: 1px dashed #b9ad92; font-size: 1.05rem;
}
.gc-back__for span { color: var(--gold-deep); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.gc-back__for strong { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gc-back__contact {
  position: absolute; left: 32px; right: 32px; bottom: 40px; margin: 0; text-align: left;
  font: 600 .74rem/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: .08em; color: var(--muted);
}
.gc-glare {
  position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: radial-gradient(circle at var(--gx, 30%) var(--gy, 20%), rgba(255, 255, 255, .55), transparent 45%);
  opacity: 0; transition: opacity .3s;
}
.gift-card[data-spin].is-dragging .gc-glare { opacity: 1; }
.gc-hint { margin: 14px 0 0; text-align: center; font-size: .78rem; color: var(--muted); letter-spacing: .02em; }
.gc-hint + .voucher-builder__preview-note { margin-top: 8px; }

/* Composition pass 3: everything on one left edge.
   Lead sits under the H1 (no far-right column); "Pick the voucher value" and
   its hint stack left-aligned on the same edge; the builder spans the shell
   instead of a narrower centred box, so the card lines up with the text. */
main:has(.voucher-builder) > .page-hero > .shell { display: block; }
main:has(.voucher-builder) > .page-hero h1 { max-width: 12ch; }
main:has(.voucher-builder) > .page-hero .page-hero__lead {
  max-width: 58ch;
  margin: clamp(22px, 2.6vw, 32px) 0 0;
  padding-left: 0;
  border-left: 0;
}
main:has(.voucher-builder) > .section--soft .section-heading {
  display: block;
  max-width: none;
  margin-inline: 0;
  padding-bottom: 26px;
}
main:has(.voucher-builder) > .section--soft .section-heading h2 {
  font-size: clamp(1.9rem, 2.6vw, 2.5rem);
  max-width: 20ch;
}
main:has(.voucher-builder) > .section--soft .section-heading__support {
  max-width: 58ch;
  margin-top: 12px;
}
main:has(.voucher-builder) .voucher-builder {
  max-width: none;
  margin-inline: 0;
  grid-template-columns: 390px minmax(0, 1fr);
  gap: clamp(48px, 7vw, 110px);
}
main:has(.voucher-builder) .voucher-builder__stage { text-align: left; }
main:has(.voucher-builder) .voucher-builder__caption { justify-content: flex-start; }
main:has(.voucher-builder) .gift-card { margin: 0; }
main:has(.voucher-builder) .gc-hint,
main:has(.voucher-builder) .voucher-builder__preview-note { text-align: left; max-width: 390px; }
@media (width <= 900px) { main:has(.voucher-builder) .voucher-builder { grid-template-columns: 1fr; } }

/* Request button: a normal pill, not a full-width bar. Summary ("Voucher
   value · 10 000 CZK") sits on the same row, button on the right. */
main:has(.voucher-builder) .voucher-builder__summary {
  margin-bottom: 0;
  align-items: center;
  gap: 4px 12px;
}
main:has(.voucher-builder) .voucher-builder__summary strong { font-size: 26px; }
main:has(.voucher-builder) .voucher-builder__request {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  width: auto;
  min-height: 0;
  padding: 0 24px;
  height: 52px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  margin: 0;
  flex: none;
}
main:has(.voucher-builder) .voucher-builder__request span { font-size: 14px; }
/* summary + button share one row */
main:has(.voucher-builder) .voucher-builder__controls:has(.voucher-builder__request) .voucher-builder__summary {
  float: left;
  max-width: 55%;
  margin-right: 24px;
  padding-top: 2px;
}
main:has(.voucher-builder) .voucher-builder__request { float: right; }
main:has(.voucher-builder) .voucher-builder__request + p,
main:has(.voucher-builder) .voucher-builder__note {
  clear: both;
  padding-top: 18px;
  font-size: 13px;
  color: var(--muted);
}
@media (width <= 560px) {
  main:has(.voucher-builder) .voucher-builder__summary { float: none; max-width: none; margin: 0 0 14px; }
  main:has(.voucher-builder) .voucher-builder__request { float: none; width: 100%; }
}

/* ===========================================================================
 * MASONS voucher card (from masons-vouchers.html), replaces the builder's
 * .gift-card visually. The React card stays in the DOM, hidden, and keeps
 * receiving the amount / recipient / message; design.js mirrors them here.
 * Everything is scoped under .mzv so nothing leaks into the rest of the site.
 * Motion: floats gently; turns only when pressed (drag) or clicked.
 * ======================================================================== */
.voucher-builder__stage:has(.mzv) .gift-card {
  position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important;
  overflow: hidden !important; clip-path: inset(50%) !important; padding: 0 !important; margin: 0 !important; border: 0 !important;
}
.mzv {
  --paper: var(--md-sys-color-surface-container-low, #f5f3ee);
  --accent: #806b46;
  --serif: Georgia, "Times New Roman", serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --card-w: 342px; --card-h: 480px;
  position: relative;
  margin: 8px 0 0;
  color: #242824;
}
.mzv-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; display: block; }
.mzv .voucher-scene { position: relative; perspective: 1500px; width: var(--card-w); height: var(--card-h); z-index: 2; animation: mzv-arrive 1.5s var(--ease) both; }
.mzv .voucher-scene:before { content: ""; position: absolute; bottom: -14px; left: 12%; right: 12%; height: 25px; background: #393a2340; filter: blur(19px); border-radius: 50%; animation: mzv-shadow 7s ease-in-out infinite; z-index: -1; }
.mzv .voucher-float { width: 100%; height: 100%; animation: mzv-levitate 7s ease-in-out infinite; transform-style: preserve-3d; }
.mzv .voucher-tilt { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; cursor: grab; border-radius: 9px; outline-offset: 9px; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.mzv .voucher-tilt.is-dragging { cursor: grabbing; }
.mzv .voucher-tilt:focus-visible { outline: 2px solid var(--accent); }
.mzv .voucher-flipper { height: 100%; width: 100%; position: relative; transform-style: preserve-3d; transition: transform 1.15s var(--ease); will-change: transform; }
.mzv .voucher-face { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; overflow: hidden; border-radius: 8px; border: 1px solid #a58e5866; isolation: isolate; box-shadow: 0 18px 44px #27292330, 0 2px 5px #25262326; background: radial-gradient(ellipse at 86% 3%, #3a4031 0%, #242922 48%, #1b201c 100%); color: #eee9dc; --foil: #c7b17e; --card-dim: #c6c9b6; --card-rule: #ada77d40; transition: background .6s, color .5s; text-align: left; }
.mzv .voucher-back { transform: rotateY(180deg); }
.mzv .voucher-face:after { content: ""; position: absolute; z-index: 5; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(116deg, transparent 12%, #f4e4b408 32%, #fff8d41c 40%, transparent 49%, #f9dfa003 76%), radial-gradient(ellipse at 50% 30%, #e8ddba1b, transparent 60%); background-size: 230% 100%, 100% 100%; background-position: 70% 0, 0 0; mix-blend-mode: screen; opacity: .72; animation: mzv-foil 9s ease-in-out infinite; }
.mzv .voucher-face:before { content: ""; position: absolute; inset: 0; z-index: 1; opacity: .10; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.91' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.65' d='M0 0h160v160H0z'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.mzv .voucher-content { position: relative; z-index: 3; padding: 29px 29px 0; height: 100%; box-sizing: border-box; }
.mzv .voucher-top { display: flex; align-items: center; justify-content: space-between; }
.mzv .voucher-logo { font-size: 17px; font-weight: 600; letter-spacing: .29em; color: var(--foil); line-height: 1; }
.mzv .voucher-star { width: 17px; height: 17px; color: var(--foil); }
.mzv .voucher-type { font-size: 7px; letter-spacing: .3em; margin: 13px 0 0; color: var(--card-dim); }
.mzv .voucher-title { font-family: var(--serif); font-weight: 400; font-size: 45px; line-height: 1.08; letter-spacing: -.035em; margin: 38px 0 0; position: relative; z-index: 2; color: inherit; }
.mzv .voucher-title em { font-weight: 400; color: var(--foil); }
.mzv .voucher-subtitle { font-size: 8px; color: var(--card-dim); margin: 12px 0 0; letter-spacing: .035em; max-width: 190px; }
.mzv .voucher-art { position: absolute; width: 314px; height: 282px; right: -72px; top: 146px; opacity: .7; z-index: 1; color: var(--foil); pointer-events: none; transform: rotate(-6deg); }
.mzv .voucher-art path { fill: none; stroke: currentColor; stroke-width: .6; }
.mzv .voucher-art .road-line { stroke-width: .55; opacity: .18; }
.mzv .voucher-art .outline { opacity: .8; }
.mzv .voucher-art .dash { stroke-dasharray: 2 5; opacity: .35; }
.mzv .voucher-art circle { fill: none; stroke: currentColor; stroke-width: .6; opacity: .4; }
.mzv .voucher-value { position: absolute; left: 29px; right: 29px; bottom: 105px; z-index: 3; }
.mzv .voucher-value-label { font-size: 7px; letter-spacing: .2em; color: var(--card-dim); text-transform: uppercase; }
.mzv .value-line { display: flex; align-items: baseline; gap: 8px; margin-top: 2px; min-height: 48px; }
.mzv .card-amount { font-size: 37px; line-height: 1.35; font-weight: 400; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.mzv .card-currency { font-size: 10px; color: var(--foil); letter-spacing: .12em; }
.mzv .voucher-tear { position: absolute; left: 0; right: 0; bottom: 89px; border-top: 1px dashed var(--card-rule); z-index: 3; }
.mzv .voucher-tear:before, .mzv .voucher-tear:after { content: ""; position: absolute; background: var(--paper); width: 10px; height: 10px; border-radius: 50%; top: -5px; left: -6px; }
.mzv .voucher-tear:after { left: auto; right: -6px; }
.mzv .voucher-bottom { position: absolute; bottom: 18px; left: 29px; right: 29px; display: flex; flex-direction: column; gap: 12px; z-index: 3; }
.mzv .recipient-line { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.mzv .recipient-line > div { min-width: 0; flex: 1; }
.mzv .recipient-label { font-size: 6px; letter-spacing: .19em; color: var(--card-dim); display: block; }
.mzv .card-recipient { font-family: var(--serif); font-size: 15px; margin: 3px 0 0; line-height: 1.2; max-width: 213px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mzv .barcode { height: 21px; width: 37px; background: repeating-linear-gradient(90deg, var(--foil) 0px, var(--foil) 1px, transparent 1px, transparent 3px, var(--foil) 3px, var(--foil) 5px, transparent 5px, transparent 7px); opacity: .55; flex-shrink: 0; }
.mzv .voucher-micro { font-size: 5px; letter-spacing: .15em; color: var(--card-dim); display: flex; align-items: center; justify-content: space-between; }
.mzv .voucher-edge { position: absolute; inset: 7px; border: 1px solid var(--card-rule); border-radius: 4px; z-index: 4; pointer-events: none; }
.mzv .voucher-back .voucher-content { display: flex; flex-direction: column; padding-bottom: 24px; }
.mzv .back-heading { font-family: var(--serif); font-weight: 400; font-size: 32px; line-height: 1.15; letter-spacing: -.02em; margin: 28px 0 0; color: var(--foil); flex-shrink: 0; }
.mzv .back-heading em { font-style: italic; }
.mzv .back-rule { height: 1px; background: var(--card-rule); margin: 16px 0; flex-shrink: 0; }
.mzv .back-to { font-size: 8px; letter-spacing: .08em; color: var(--card-dim); overflow-wrap: anywhere; margin: 0; flex-shrink: 0; }
.mzv .back-message { font-family: var(--serif); font-size: 21px; line-height: 1.45; margin: 12px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; flex: 1; min-height: 0; overflow: auto; scrollbar-width: thin; }
.mzv .back-signature { font-size: 9px; line-height: 1.8; margin: 12px 0 0; color: var(--card-dim); overflow-wrap: anywhere; flex-shrink: 0; }
.mzv .back-bottom { margin-top: 18px; border-top: 1px solid var(--card-rule); padding-top: 14px; font-size: 7px; line-height: 1.8; letter-spacing: .06em; color: var(--card-dim); display: flex; justify-content: space-between; align-items: flex-end; flex-shrink: 0; }
.mzv .back-bottom p { margin: 0; }
.mzv .back-bottom svg { height: 30px; width: 30px; color: var(--foil); }
.mzv[data-finish="ivory"] .voucher-face { background: radial-gradient(ellipse at 100% 0%, #fffdf4, #e7e3d6); color: #333b2e; --foil: #88714b; --card-dim: #73745f; --card-rule: #8b815c40; border-color: #a9997566; box-shadow: 0 18px 44px #39352120, 0 2px 5px #25262312; }
.mzv[data-finish="champagne"] .voucher-face { background: radial-gradient(ellipse at 85% 1%, #d9c29b, #b69b71 60%, #a68b61); color: #302a20; --foil: #58452a; --card-dim: #564832; --card-rule: #6a512b50; border-color: #a78b5c; }
.mzv .card-hint { display: flex; align-items: center; gap: 7px; margin: 22px 0 0; color: var(--muted, #6d7065); font-size: 12px; letter-spacing: .02em; background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-size: 12px; }
.mzv .card-hint svg { width: 14px; height: 14px; }
.mzv .finish-picker { display: flex; align-items: center; gap: 18px; margin-top: 14px; }
.mzv .finish-choice { display: flex; align-items: center; gap: 7px; font: inherit; font-size: 12px; padding: 4px 0; color: var(--muted, #6d7065); background: none; border: 0; cursor: pointer; transition: color .2s; }
.mzv .finish-choice[aria-pressed="true"] { color: var(--ink, #242824); }
.mzv .swatch { width: 13px; height: 13px; border-radius: 50%; border: 1px solid #2223; position: relative; box-shadow: 0 0 0 2px var(--paper); }
.mzv .finish-choice[aria-pressed="true"] .swatch:after { content: ""; position: absolute; inset: -4px; border: 1px solid var(--accent); border-radius: 50%; }
.mzv .swatch.obsidian { background: #272c25; }
.mzv .swatch.ivory { background: #eeeadc; }
.mzv .swatch.champagne { background: #b59b72; }
.voucher-builder__stage:has(.mzv) .voucher-builder__preview-note { max-width: 342px; }
@keyframes mzv-foil { 0%, 18% { background-position: 100% 0, 0 0; } 55%, 100% { background-position: -100% 0, 0 0; } }
@keyframes mzv-levitate { 0%, 100% { transform: translateY(0) rotateZ(-2deg); } 50% { transform: translateY(-8px) rotateZ(-1deg); } }
@keyframes mzv-shadow { 0%, 100% { transform: scale(1); opacity: .7; } 50% { transform: scale(.92); opacity: .45; } }
@keyframes mzv-arrive { from { opacity: 0; transform: translateY(32px) rotate(-5deg) scale(.96); } to { opacity: 1; transform: none; } }
@media (max-width: 700px) {
  .mzv { --card-w: 312px; --card-h: 438px; margin-inline: auto; width: var(--card-w); }
  .mzv .voucher-content { padding: 26px 26px 0; }
  .mzv .voucher-logo { font-size: 16px; } .mzv .voucher-type { font-size: 6px; margin-top: 12px; }
  .mzv .voucher-title { font-size: 41px; margin-top: 32px; } .mzv .voucher-subtitle { font-size: 7px; max-width: 170px; }
  .mzv .voucher-art { width: 285px; top: 130px; right: -70px; }
  .mzv .voucher-value { left: 26px; right: 26px; bottom: 96px; } .mzv .card-amount { font-size: 34px; } .mzv .value-line { min-height: 43px; }
  .mzv .voucher-tear { bottom: 81px; } .mzv .voucher-bottom { left: 26px; right: 26px; bottom: 16px; gap: 11px; }
  .mzv .card-recipient { font-size: 14px; max-width: 190px; }
  .mzv .back-heading { font-size: 29px; margin-top: 25px; } .mzv .back-rule { margin: 14px 0; } .mzv .back-message { font-size: 19px; }
  .mzv .back-signature { font-size: 8px; margin-top: 10px; } .mzv .back-bottom { font-size: 6px; margin-top: 14px; padding-top: 12px; }
  .mzv .card-hint, .mzv .finish-picker { justify-content: center; }
}
@media (max-width: 360px) {
  .mzv { --card-w: 285px; --card-h: 400px; }
  .mzv .voucher-title { font-size: 37px; margin-top: 29px; } .mzv .card-amount { font-size: 31px; }
  .mzv .voucher-value { bottom: 87px; } .mzv .voucher-tear { bottom: 74px; } .mzv .back-heading { font-size: 26px; } .mzv .back-message { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .mzv .voucher-scene, .mzv .voucher-float, .mzv .voucher-face:after, .mzv .voucher-scene:before { animation: none; }
}
.voucher-builder__stage:has(.mzv) .voucher-builder__preview-note { margin: 16px 0 0; padding: 0; text-align: left; }
@media (max-width: 700px) { .voucher-builder__stage:has(.mzv) .voucher-builder__preview-note { text-align: center; margin-inline: auto; } }

/* Home "A curated selection": 6 cars (3 × 2), then a clear button to the
   whole fleet, centred under the grid. */
#fleet .section__more { margin-top: clamp(36px, 4vw, 56px); text-align: center; }
#fleet .section__more md-outlined-button {
  --md-outlined-button-container-height: 56px;
  --md-outlined-button-container-shape: 999px;
  --md-outlined-button-leading-space: 30px;
  --md-outlined-button-trailing-space: 30px;
  --md-outlined-button-label-text-size: 1rem;
  --md-outlined-button-label-text-weight: 600;
  --md-outlined-button-outline-color: var(--ink);
  --md-outlined-button-label-text-color: var(--ink);
  --md-outlined-button-icon-color: var(--ink);
}

/* Prices in the same yellow as the "Refundable deposit" band. Yellow text on
   the white cards would be unreadable, so the price gets that yellow as a
   marker behind dark text — the same pairing the deposit band uses. */
.fleet-card__price strong,
.booking-card__price strong,
.vehicle-stage__price strong,
.mobile-booking-bar strong {
  color: var(--md-sys-color-on-primary-container, #231d00);
  background: var(--md-sys-color-primary-container, #ead475);
  padding: .04em .28em .02em;
  border-radius: .22em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.fleet-card__price strong { display: inline-block; margin-top: 2px; }

/* "Similar cars": horizontal carousel (9 cars), scroll / swipe / drag,
   arrows in the heading row, snap to cards. */
.related-section .section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.related-section .fleet-grid {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  padding: 4px 2px 18px;
  margin: -4px -2px 0;
  cursor: grab;
}
.related-section .fleet-grid::-webkit-scrollbar { display: none; }
.related-section .fleet-grid.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.related-section .fleet-grid.is-dragging * { pointer-events: none; }
.related-section .fleet-grid > .fleet-card {
  flex: 0 0 calc((100% - 48px) / 3);
  scroll-snap-align: start;
  min-width: 0;
}
.rc-nav { display: flex; gap: 10px; flex: none; }
.rc-nav button {
  width: 48px; height: 48px; border-radius: 50%;
  border: 1px solid var(--line, #d6d1c4); background: var(--md-sys-color-surface-container-lowest, #fff);
  color: var(--ink); display: grid; place-items: center; cursor: pointer;
  transition: background .15s, border-color .15s, opacity .15s;
}
.rc-nav button:hover:not(:disabled) { background: var(--ink); color: #fff; border-color: var(--ink); }
.rc-nav button:disabled { opacity: .35; cursor: default; }
.rc-nav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rc-dots { display: flex; justify-content: center; gap: 6px; margin-top: 10px; }
.rc-dots span { width: 6px; height: 6px; border-radius: 50%; background: var(--line, #d6d1c4); transition: width .25s, background .25s; }
.rc-dots span.is-on { width: 22px; border-radius: 3px; background: var(--ink); }
@media (width <= 1080px) { .related-section .fleet-grid > .fleet-card { flex-basis: calc((100% - 24px) / 2); } }
@media (width <= 640px) {
  .related-section .fleet-grid > .fleet-card { flex-basis: 84%; }
  .rc-nav { display: none; }
}

/* Fleet page header: the subtitle sits right under "The fleet", on the same
   left edge, instead of floating at the far right bottom of an empty block. */
#fleet:has(h1) { padding-top: calc(var(--app-bar-height) + clamp(36px, 4vw, 64px)); }
#fleet .section-heading:has(h1) {
  display: block;
  margin-bottom: clamp(28px, 3.5vw, 44px);
}
#fleet .section-heading:has(h1) h1 { margin: 0; }
#fleet .section-heading:has(h1) .section-heading__support {
  max-width: 52ch;
  margin-top: 14px;
  color: var(--muted);
}

/* "Keep reading": same carousel as "Similar cars" — 9 stories, 3 in view. */
.more-stories .shell { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 24px; }
.more-stories .shell > h2 { grid-column: 1; margin-bottom: 34px; }
.more-stories .shell > .rc-nav { grid-column: 2; grid-row: 1; align-self: end; margin-bottom: 38px; }
.more-stories .shell > .more-grid, .more-stories .shell > .rc-dots { grid-column: 1 / -1; }
.more-stories .more-grid {
  display: flex; gap: 28px;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  overscroll-behavior-x: contain; scrollbar-width: none;
  padding-bottom: 14px; cursor: grab;
}
.more-stories .more-grid::-webkit-scrollbar { display: none; }
.more-stories .more-grid.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.more-stories .more-grid.is-dragging * { pointer-events: none; }
.more-stories .more-grid > .more-story { flex: 0 0 calc((100% - 56px) / 3); scroll-snap-align: start; min-width: 0; }
.more-stories .more-story img { -webkit-user-drag: none; user-select: none; }
.more-stories .more-story h3 { font-size: clamp(1.15rem, 1.5vw, 1.4rem); }
.more-stories .more-story p:not(.eyebrow) {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.more-stories .more-story .eyebrow:empty { display: none; }
@media (width <= 1080px) { .more-stories .more-grid > .more-story { flex-basis: calc((100% - 28px) / 2); } }
@media (width <= 640px) {
  .more-stories .more-grid > .more-story { flex-basis: 84%; }
  .more-stories .shell > .rc-nav { display: none; }
}

/* Articles: "Our fleet" carousel replaces "Keep reading" (design.js). */
main:has(.mz-fleet) .more-stories { display: none; }
.mz-fleet { border-top: 1px solid var(--line); padding: clamp(56px, 6vw, 88px) 0 clamp(64px, 7vw, 96px); }
.mz-fleet .section-heading { margin-bottom: 30px; }
.mz-fleet .section__more { margin-top: 26px; text-align: center; }
.mz-fleet__all {
  display: inline-flex; align-items: center; gap: 8px; height: 52px; padding: 0 28px;
  border: 1px solid var(--ink); border-radius: 999px; color: var(--ink);
  font-weight: 600; text-decoration: none; transition: background .15s, color .15s;
}
.mz-fleet__all:hover { background: var(--ink); color: #fff; }

/* Vouchers hero lead: wider, 2–3 lines instead of 4–5. */
main:has(.voucher-builder) > .page-hero .page-hero__lead { max-width: min(100%, 1000px); }

/* Home hero H1: "Premium Car Rental / in Prague" — always two lines, first
   line never wraps on desktop (localized: v Praze, in Prag, w Pradze…). */
.hero__title { max-width: none; }
.hero__title .hero__line { display: block; }
@media (width > 760px) { .hero__title .hero__line:first-child { white-space: nowrap; } }
@media (width <= 760px) {
  .hero__title { font-size: clamp(1.7rem, 7.4vw, 3rem); }
  .hero__title .hero__line:first-child { white-space: nowrap; }
}

/* ===== About page (rebuilt) ===== */
.about-hero { background: transparent; border-bottom: 0; padding-block: calc(var(--app-bar-height) + clamp(24px, 4vw, 56px)) clamp(40px, 5vw, 72px); }
.about-hero h1 { max-width: 16ch; margin-top: 14px; font-size: clamp(2.8rem, 6vw, 5.6rem); line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.about-hero .page-hero__lead { max-width: 62ch; margin: clamp(20px, 2.4vw, 30px) 0 0; font-size: clamp(1.05rem, 1.35vw, 1.22rem); line-height: 1.6; color: var(--muted); }
.about-facts { margin: 0; display: grid; }
.about-facts > div { border-top: 1px solid var(--line); padding: 14px 0; }
.about-facts dt { color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.about-facts dd { margin: 4px 0 0; font-weight: 650; }
.about-facts--hero { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 28px; margin-top: clamp(36px, 4vw, 56px); }
.about-facts--hero dd { font-size: clamp(1.1rem, 1.6vw, 1.5rem); letter-spacing: -.02em; }
.about-facts--list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
.about-section .section-heading { margin-bottom: 0; }
.about-split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.about-split .section-heading { display: block; }
.about-split .section-heading h2 { font-size: clamp(2rem, 3.6vw, 3.4rem); line-height: 1; }
.about-section .page-prose p { margin: 0 0 1.1em; font-size: 1.05rem; line-height: 1.7; }
.about-section .page-prose a, .about-author__list a {
  color: inherit; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--gold) 70%, transparent);
  text-decoration-thickness: 1.5px; text-underline-offset: .22em;
}
.about-section .page-prose a:hover, .about-author__list a:hover { color: var(--gold-deep); }
.about-counts { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 28px; }
.about-counts h3 { margin: 0 0 8px; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.about-counts .about-facts > div { display: flex; justify-content: space-between; align-items: baseline; padding: 11px 0; }
.about-counts .about-facts dt { font-size: .95rem; letter-spacing: 0; text-transform: none; color: var(--ink); font-weight: 500; }
.about-counts .about-facts dd { margin: 0; }
.about-more { margin: 28px 0 0; }
.about-button {
  display: inline-flex; align-items: center; height: 50px; padding: 0 26px; border: 1px solid var(--ink); border-radius: 999px;
  color: var(--ink); font-weight: 600; text-decoration: none; transition: background .15s, color .15s;
}
.about-button:hover { background: var(--ink); color: #fff; }
.about-intro { max-width: 60ch; margin: 18px 0 32px; font-size: 1.1rem; line-height: 1.65; color: var(--muted); }
.about-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.about-card { padding: 26px 24px; border: 1px solid var(--line); border-radius: 22px; background: var(--md-sys-color-surface-container-lowest, #fff); }
.about-card__n { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--md-sys-color-primary-container, #ead475); font-size: .8rem; font-weight: 700; }
.about-card h3 { margin: 18px 0 8px; font-size: 1.15rem; letter-spacing: -.02em; }
.about-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.about-author { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.about-author__card { padding: 32px; border-radius: 26px; background: var(--ink); color: #f4efe4; }
.about-author__card .section-label { color: var(--gold); margin: 26px 0 6px; }
.about-author__card h2 { margin: 0; font-size: clamp(2rem, 3vw, 2.8rem); letter-spacing: -.04em; line-height: 1; color: #fff; }
.about-author__role { margin: 10px 0 0; color: rgba(244, 239, 228, .7); }
.about-author__mono {
  display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%;
  border: 1px solid rgba(215, 184, 79, .6); color: var(--gold); font: 600 1.6rem/1 Georgia, serif; letter-spacing: .06em;
}
.about-author__list-title { margin: 22px 0 6px; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.about-author__list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 32px; }
.about-author__list li { break-inside: avoid; padding: 10px 0; border-top: 1px solid var(--line); font-weight: 600; }
.cta-band .inverse-outline { --md-outlined-button-label-text-color: #fff; --md-outlined-button-outline-color: rgba(255,255,255,.5); }
@media (width <= 1080px) {
  .about-facts--hero { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .about-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (width <= 820px) {
  .about-split, .about-author { grid-template-columns: 1fr; }
  .about-facts--hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-facts--list, .about-counts { grid-template-columns: 1fr; }
  .about-author__list { columns: 1; }
}
@media (width <= 560px) { .about-cards { grid-template-columns: 1fr; } }

.article-rail .rail-author a { color: inherit; text-decoration: none; }
.article-rail .rail-author a:hover { text-decoration: underline; }
.about-hero h1 { max-width: 22ch; font-size: clamp(2.6rem, 5.2vw, 5rem); }
#team .section-heading h2 { font-size: clamp(2rem, 3.6vw, 3.4rem); line-height: 1; }

/* ===== One H1 for every page header (reference: Masons Magazine) =====
   Same typeface, size, weight, tracking and leading, and the same start
   point: the eyebrow sits on one line from the top, the H1 right under it,
   both on the shell's left edge. Applies to page heroes (vouchers, about,
   FAQ, contact, partners, airport, legal…) and the fleet header. */
.page-hero h1,
#fleet .section-heading:has(h1) h1,
.about-hero h1,
main:has(.voucher-builder) > .page-hero h1 {
  font-family: Montserrat Variable, Montserrat, sans-serif;
  font-size: var(--type-display-l);
  font-weight: var(--weight-heading);
  letter-spacing: var(--track-display);
  line-height: var(--leading-display);
  margin: 0;
  max-width: 16ch;
  text-wrap: balance;
}
.page-hero .section-label,
.about-hero .section-label { margin: 0 0 var(--h1-gap, 10px); }
/* Same start point as the magazine masthead: eyebrow at app bar + 52px
   (app bar + 32px on phones), 12px to the H1. Pages without an eyebrow
   (fleet, legal) start the H1 where the magazine H1 starts. */
:root { --hero-top: calc(var(--app-bar-height) + 52px); }
@media (width <= 760px) { :root { --hero-top: calc(var(--app-bar-height) + 32px); } }
.page-hero,
.about-hero,
main:has(.voucher-builder) > .page-hero { padding-top: var(--hero-top) !important; }
.page-hero .section-label,
.about-hero .section-label { margin: 0 0 12px !important; line-height: 1.4; }
.page-hero h1, .about-hero h1 { margin-top: 0 !important; }
/* no eyebrow: shift down by the eyebrow's height + gap so the H1 lines up */
.page-hero .shell > h1:first-child { margin-top: calc(1.4em * .72 * 0 + 29px) !important; }
#fleet:has(h1) { padding-top: calc(var(--hero-top) + 29px) !important; }

/* CTA band: headline on one line, buttons on the same row to the right. */
@media (width > 900px) {
  .cta-band .shell { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
  .cta-band .shell > h2 {
    margin: 0; max-width: none; white-space: nowrap;
    font-size: clamp(1.8rem, 2.9vw, 3rem); line-height: 1.05;
  }
  .cta-band .cta-band__actions { margin: 0; flex: none; flex-wrap: nowrap; }
}

/* About · fleet: photo tiles + compact brand/class pills instead of two lists */
.about-fleet .about-split { margin-bottom: clamp(32px, 4vw, 48px); }
.about-cars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.about-car { display: block; color: inherit; text-decoration: none; border-radius: 22px; overflow: hidden; background: var(--md-sys-color-surface-container-lowest, #fff); border: 1px solid var(--line); transition: transform .25s, box-shadow .25s; }
.about-car:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgba(17, 21, 21, .35); }
.about-car__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #e6e2d8; }
.about-car__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.about-car:hover .about-car__img img { transform: scale(1.03); }
.about-car__meta { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 14px 18px 16px; }
.about-car__meta strong { font-weight: 650; letter-spacing: -.01em; }
.about-car__meta span { font-size: .8rem; color: var(--muted); white-space: nowrap; }
.about-pills-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.about-pills { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.about-pills__label { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-right: 4px; }
.about-pill { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; font-size: .85rem; background: var(--md-sys-color-surface-container-lowest, #fff); }
.about-pill b { font-weight: 700; }
.about-button--dark { margin-left: auto; background: var(--ink); color: #fff; }
.about-button--dark:hover { background: #2a2e2e; }
@media (width <= 1080px) { .about-cars { grid-template-columns: repeat(2, minmax(0, 1fr)); } .about-button--dark { margin-left: 0; } }
@media (width <= 560px) { .about-cars { grid-template-columns: 1fr; } }

/* About · author: horizontal profile row + three story tiles with photos */
.about-author2__head { display: grid; grid-template-columns: auto minmax(0, .9fr) minmax(0, 1.4fr); gap: clamp(20px, 3vw, 44px); align-items: center; padding-bottom: clamp(28px, 3vw, 40px); border-bottom: 1px solid var(--line); }
.about-author2__mono { display: grid; place-items: center; width: clamp(84px, 8vw, 112px); aspect-ratio: 1; border-radius: 50%; background: var(--ink); color: var(--gold); font: 600 clamp(1.6rem, 2.4vw, 2.2rem)/1 Georgia, serif; letter-spacing: .06em; box-shadow: inset 0 0 0 1px rgba(215, 184, 79, .55), inset 0 0 0 6px var(--ink), inset 0 0 0 7px rgba(215, 184, 79, .25); }
.about-author2__who .section-label { margin: 0 0 6px; }
.about-author2__who h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3.2rem); line-height: 1; letter-spacing: -.04em; }
.about-author2__role { margin: 8px 0 0; color: var(--muted); }
.about-author2__bio p { margin: 0; font-size: 1.05rem; line-height: 1.65; color: var(--muted); }
.about-author2__list-head { display: flex; align-items: baseline; justify-content: space-between; margin: clamp(28px, 3vw, 40px) 0 18px; }
.about-author2__list-head h3 { margin: 0; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.about-author2__all { font-weight: 650; color: var(--ink); text-decoration: none; }
.about-author2__all:hover { color: var(--gold-deep); }
.about-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.about-story { display: block; color: inherit; text-decoration: none; }
.about-story__img { display: block; aspect-ratio: 16 / 10; border-radius: 20px; overflow: hidden; background: #e6e2d8; }
.about-story__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.about-story:hover .about-story__img img { transform: scale(1.04); }
.about-story__meta { display: block; margin: 14px 0 6px; color: var(--gold-deep); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.about-story__title { display: block; font-size: 1.12rem; line-height: 1.3; letter-spacing: -.01em; }
.about-story:hover .about-story__title { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: .2em; }
@media (width <= 900px) {
  .about-author2__head { grid-template-columns: auto minmax(0, 1fr); }
  .about-author2__bio { grid-column: 1 / -1; }
  .about-stories { grid-template-columns: 1fr 1fr; }
}
@media (width <= 560px) { .about-stories { grid-template-columns: 1fr; } }

/* About · company: the VertexRent note sits under "Masons s.r.o." */
.about-co__note { max-width: 42ch; margin: 18px 0 0; font-size: 1.02rem; line-height: 1.6; color: var(--muted); }
.about-facts--hero > div { border-top: 0; padding-top: 0; }
.about-hero h1 { max-width: 22ch; }

/* About: headings sit vertically centred against the content on the right;
   no rules in the company details list. */
#rental .about-split, #company .about-split { align-items: center; }
.about-facts--list > div { border-top: 0; padding: 12px 0; }

/* About · author stories: carousel (same controls as the other carousels) */
#jan-lunacek .about-stories {
  display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 8px; cursor: grab;
}
#jan-lunacek .about-stories::-webkit-scrollbar { display: none; }
#jan-lunacek .about-stories.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
#jan-lunacek .about-stories.is-dragging * { pointer-events: none; }
#jan-lunacek .about-story { flex: 0 0 calc((100% - 48px) / 3); scroll-snap-align: start; min-width: 0; }
#jan-lunacek .about-story img { -webkit-user-drag: none; user-select: none; }
#jan-lunacek .about-author2__list-head { align-items: center; gap: 20px; }
#jan-lunacek .about-author2__list-head h3 { margin-right: auto; }
#jan-lunacek .about-author2__list-head .rc-nav { order: 3; }
#jan-lunacek .rc-dots { margin-top: 18px; }
@media (width <= 1080px) { #jan-lunacek .about-story { flex-basis: calc((100% - 24px) / 2); } }
@media (width <= 640px) { #jan-lunacek .about-story { flex-basis: 84%; } }
/* About H1: "About Masons" and the rental phrase on separate lines, no dash */
.about-hero__line { display: block; }
.about-hero h1 { max-width: 20ch; }
/* About · fleet: no brand/class filters, just the button under the tiles */
.about-pills-row { border-top: 0; padding-top: 0; margin-top: 32px; justify-content: center; }
.about-pills-row .about-button--dark { margin-left: 0; }

/* About split sections: centre the right-hand text on the H2 itself — the
   eyebrow ("The rental", "The fleet", "Company") hangs above the heading and
   is left out of the centring. */
#rental .about-split, #fleet-overview .about-split, #company .about-split { align-items: center; }
#rental .section-heading > div,
#fleet-overview .section-heading > div,
#company .about-co__head { position: relative; }
#rental .section-heading .section-label,
#fleet-overview .section-heading .section-label,
#company .section-heading .section-label {
  position: absolute; left: 0; bottom: 100%; margin: 0 0 12px !important; white-space: nowrap;
}
#company .about-co__head .section-heading > div { position: static; }
@media (width <= 820px) {
  #rental .section-heading .section-label,
  #fleet-overview .section-heading .section-label,
  #company .section-heading .section-label { position: static; margin: 0 0 8px !important; }
}
.about-section .page-prose p:last-child { margin-bottom: 0; }

/* About · author profile: portrait + bio + numbers + topics */
.about-author3 { display: grid; grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr); gap: clamp(32px, 5vw, 80px); align-items: center; padding-bottom: clamp(32px, 4vw, 48px); border-bottom: 1px solid var(--line); }
.about-author3__photo { margin: 0; aspect-ratio: 4 / 5; border-radius: 26px; overflow: hidden; background: var(--ink); }
.about-author3__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-author3__photo.is-empty { display: grid; place-items: center; background: radial-gradient(ellipse at 70% 20%, #2c2a22, var(--ink) 70%); }
.about-author3__mono { display: grid; place-items: center; width: 46%; aspect-ratio: 1; border-radius: 50%; color: var(--gold); font: 600 clamp(2.4rem, 4vw, 3.6rem)/1 Georgia, serif; letter-spacing: .06em; box-shadow: inset 0 0 0 1px rgba(215, 184, 79, .55), inset 0 0 0 8px transparent, inset 0 0 0 9px rgba(215, 184, 79, .22); }
.about-author3__body .section-label { margin: 0 0 8px; }
.about-author3__body h2 { margin: 0; font-size: clamp(2.4rem, 4.4vw, 4.2rem); line-height: .98; letter-spacing: -.045em; }
.about-author3__role { margin: 10px 0 0; color: var(--gold-deep); font-weight: 600; }
.about-author3__bio { margin-top: 22px; max-width: 62ch; }
.about-author3__bio p { margin: 0 0 12px; font-size: 1.06rem; line-height: 1.65; color: var(--muted); }
.about-author3__bio p:first-child { color: var(--ink); font-size: 1.15rem; }
.about-author3__stats { display: flex; gap: clamp(24px, 4vw, 56px); margin: 24px 0 0; }
.about-author3__stats div { display: flex; flex-direction: column-reverse; }
.about-author3__stats dt { font-size: clamp(1.8rem, 2.6vw, 2.4rem); font-weight: 700; letter-spacing: -.03em; line-height: 1; }
.about-author3__stats dd { margin: 6px 0 0; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.about-author3__tags { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; padding: 0; }
.about-author3__tags li { height: 32px; display: inline-flex; align-items: center; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; font-size: .85rem; background: var(--md-sys-color-surface-container-lowest, #fff); }
@media (width <= 820px) {
  .about-author3 { grid-template-columns: 1fr; }
  .about-author3__photo { max-width: 320px; }
}
.cta-band .inverse-outline { --md-outlined-button-label-text-color: #fff; --md-outlined-button-outline-color: rgba(255,255,255,.5); }

/* About · author profile, roomier: bigger portrait, text uses the full
   column, more air between name / bio / numbers / topics. */
.about-author3 { grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 110px); align-items: stretch; padding-bottom: clamp(48px, 5vw, 72px); }
.about-author3__photo { aspect-ratio: auto; min-height: 520px; height: 100%; }
.about-author3__body { display: flex; flex-direction: column; justify-content: center; padding-block: clamp(8px, 2vw, 24px); }
.about-author3__body .section-label { margin-bottom: 14px; }
.about-author3__role { margin-top: 14px; }
.about-author3__bio { max-width: none; margin-top: clamp(28px, 3vw, 40px); }
.about-author3__bio p { margin-bottom: 18px; max-width: 64ch; }
.about-author3__bio p:first-child { font-size: clamp(1.2rem, 1.5vw, 1.4rem); line-height: 1.5; letter-spacing: -.01em; }
.about-author3__stats { margin-top: clamp(28px, 3vw, 40px); padding-top: clamp(24px, 2.5vw, 32px); border-top: 1px solid var(--line); gap: 0; }
.about-author3__stats div { flex: 1; padding-right: 24px; }
.about-author3__stats div + div { padding-left: clamp(20px, 3vw, 40px); border-left: 1px solid var(--line); }
.about-author3__stats dt { font-size: clamp(2.4rem, 3.4vw, 3.4rem); }
.about-author3__stats dd { margin-top: 10px; }
.about-author3__tags { margin-top: clamp(28px, 3vw, 40px); gap: 10px; }
.about-author3__tags li { height: 38px; padding: 0 18px; font-size: .9rem; }
@media (width <= 820px) { .about-author3__photo { min-height: 0; aspect-ratio: 4 / 5; height: auto; } }
@media (width <= 820px) {
  .about-author3__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .about-author3__stats div { padding-right: 8px; min-width: 0; }
  .about-author3__stats div + div { padding-left: 14px; }
  .about-author3__stats dd { font-size: .66rem; letter-spacing: .05em; overflow-wrap: anywhere; }
}
@media (width <= 820px) {
  .about-author3 { grid-template-columns: 1fr; gap: 28px; }
  .about-author3__photo { max-width: 360px; width: 100%; }
}

/* Site-wide yellow contact card replaces the dark CTA bands (the vouchers
   page keeps its own "Buy a voucher" band). The home page's own #contact
   card is hidden because the global one sits in the same place. */
body:not(:has(.voucher-builder)) main .cta-band { display: none; }
body:has(.cta-contact) main #contact { display: none; }
.cta-contact { padding-block: clamp(40px, 5vw, 72px) clamp(56px, 6vw, 96px); }
.cta-contact h2 { max-width: 13ch; }
.cta-contact__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.cta-contact__actions md-filled-button { flex: 1 1 auto; }
.cta-contact__actions md-outlined-button {
  --md-outlined-button-outline-color: var(--ink);
  --md-outlined-button-label-text-color: var(--ink);
  --md-outlined-button-container-height: 56px;
  --md-outlined-button-container-shape: 999px;
  --md-outlined-button-label-text-size: 1rem;
}
.cta-contact .contact-surface h2 { font-size: clamp(2.6rem, 5vw, 5rem); line-height: .96; }

/* Car pages: H1 in the same style as every other page header */
.vehicle-intro__headline h1 {
  font-family: Montserrat Variable, Montserrat, sans-serif;
  font-size: var(--type-display-l);
  font-weight: var(--weight-heading);
  letter-spacing: var(--track-display);
  line-height: var(--leading-display);
  margin: 0;
}
/* same start point as other headers: breadcrumbs on the eyebrow line, H1 under */
.vehicle-intro { padding-top: calc(var(--hero-top) - 72px - 18px + 18px) ; }
.vehicle-intro { padding-top: 52px !important; }
.vehicle-intro__headline h1 { margin-top: -3px; }
@media (width <= 760px) { .vehicle-intro { padding-top: 32px !important; } .vehicle-intro__headline h1 { margin-top: -2px; } }
@media (width <= 760px) { .vehicle-intro__headline h1 { margin-top: 1px; } }
/* contact card: headline centred against the details on the right */
.cta-contact .contact-surface { align-items: center; }
.cta-contact .contact-surface > div:first-child { display: flex; align-items: center; }
.cta-contact .contact-surface h2 { margin: 0; }
/* author profile: no rules at all */
.about-author3 { border-bottom: 0; }
.about-author3__stats { border-top: 0; padding-top: 0; gap: clamp(32px, 5vw, 72px); }
.about-author3__stats div { flex: 0 0 auto; padding: 0 !important; border-left: 0 !important; }
@media (width <= 820px) { .about-author3__stats { gap: 16px; } }
/* "How it works": no rules between or above the steps */
.process__steps { border-top: 0 !important; gap: clamp(24px, 4vw, 56px); }
.process__steps li, .process__steps li + li { border-left: 0 !important; border-bottom: 0 !important; padding-left: 0; }
/* no rule between the contact card and the footer */
.site-footer { border-top: 0 !important; }
.cta-contact { border-bottom: 0 !important; }
/* vouchers: drop the dark "Three steps to gift a drive" band too */
main .cta-band { display: none !important; }
/* vouchers hero lead: full content width */
main:has(.voucher-builder) > .page-hero .page-hero__lead { max-width: none !important; }

/* Home · "How it works": steps as cards like "More than a daily rental",
   no "Choose your car" button in the header. */
.process__header { grid-template-columns: 1fr; }
.process__header md-filled-tonal-button { display: none; }
.process__steps { gap: 24px !important; }
.process__steps li, .process__steps li + li {
  background: #fff; border-radius: 16px; padding: 32px !important;
  box-shadow: rgba(28, 27, 22, .12) 0 1px 2px 0;
}
@media (width <= 760px) {
  .process__steps { gap: 12px !important; }
  .process__steps li, .process__steps li + li { padding: 22px !important; }
}

/* Home · "More than a daily rental.": subtitle directly under the heading */
.masons-world__head { grid-template-columns: 1fr !important; gap: 16px !important; }
.masons-world__head p { max-width: 60ch; font-size: 1.1rem; }
.masons-world__head p { max-width: 80ch; }
.process__header h2 { max-width: none; }

/* ===== Contact page (rebuilt) ===== */
.contact2-hero { background: transparent; border-bottom: 0; }
.contact2-hero h1 { max-width: 20ch; }
.contact2-hero .page-hero__lead { max-width: 64ch; margin-top: clamp(20px, 2.4vw, 30px); font-size: clamp(1.05rem, 1.35vw, 1.22rem); line-height: 1.6; color: var(--muted); }
.contact2 { padding-top: clamp(16px, 2vw, 32px); }
.contact2__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.contact2__channels .section-label { margin: 0 0 14px; }
.contact2__row { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: center; padding: 14px 0; color: inherit; text-decoration: none; }
.contact2__row .material-symbols-rounded { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: var(--md-sys-color-primary-container); color: var(--md-sys-color-on-primary-container); }
.contact2__row small { display: block; color: var(--muted); font-size: .8rem; margin-bottom: 2px; }
.contact2__row strong { font-size: 1.12rem; font-weight: 650; letter-spacing: -.01em; }
a.contact2__row:hover strong { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: .2em; }
.contact2__form { background: #fff; border-radius: 24px; padding: clamp(28px, 3.5vw, 44px); box-shadow: rgba(28, 27, 22, .12) 0 1px 2px 0; }
.contact2__form .section-label { margin: 0 0 8px; }
.contact2__form h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1; letter-spacing: -.045em; }
.contact2__form-intro { margin: 12px 0 24px; color: var(--muted); line-height: 1.6; }
.contact2__form .contact-form { max-width: none; }
.contact2__form .contact-form__fallback { margin-top: 18px; color: var(--muted); font-size: .9rem; }
.contact2__ho { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 8px; }
.contact2__card { background: #fff; border-radius: 16px; padding: 32px; box-shadow: rgba(28, 27, 22, .12) 0 1px 2px 0; display: flex; flex-direction: column; }
.contact2__card .material-symbols-rounded { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: var(--md-sys-color-primary-container); color: var(--md-sys-color-on-primary-container); }
.contact2__card h3 { margin: 24px 0 8px; font-size: 1.3rem; }
.contact2__card p { margin: 0; color: var(--muted); line-height: 1.55; }
.contact2__card a { margin-top: 16px; color: var(--gold-deep); font-weight: 700; text-decoration: none; }
.contact2__req { margin-top: clamp(32px, 4vw, 48px); }
.contact2__req h3 { margin: 0 0 14px; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.contact2__req ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.contact2__req li { height: 38px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: 999px; background: #fff; box-shadow: rgba(28, 27, 22, .1) 0 1px 2px 0; font-size: .92rem; }
@media (width <= 900px) { .contact2__grid { grid-template-columns: 1fr; } .contact2__ho { grid-template-columns: 1fr; } }
.contact2-hero h1 { max-width: 24ch; }

/* Magazine: filter chips above the list; the old "What we cover" band is gone */
.topic-band { display: none !important; }
.mag-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 clamp(20px, 2.4vw, 32px); }
.mag-filter__chip {
  height: 44px; padding: 0 20px; border-radius: 999px; border: 1px solid var(--line, #d6d1c4);
  background: transparent; color: var(--ink); font: inherit; font-size: .95rem; font-weight: 550; cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px; transition: background .15s, border-color .15s;
}
.mag-filter__chip span { color: var(--muted); font-weight: 500; }
.mag-filter__chip:hover { border-color: var(--ink); }
.mag-filter__chip[aria-pressed="true"] { background: var(--md-sys-color-primary-container, #ead475); border-color: transparent; }
.mag-filter__chip[aria-pressed="true"] span { color: inherit; }
.story-row[hidden] { display: none !important; }
/* Home · handover: "Call Masons" + "Contact us" side by side */
.handover__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.handover__actions .inverse-outline { --md-outlined-button-label-text-color: #fff; --md-outlined-button-icon-color: #fff; --md-outlined-button-outline-color: rgba(255,255,255,.45); }
/* Article end: Choose your car + Call + Contact us */
.article-end__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.article-end__actions md-outlined-button { --md-outlined-button-outline-color: var(--ink); --md-outlined-button-label-text-color: var(--ink); --md-outlined-button-icon-color: var(--ink); }

/* Car pages: "about this car" block before the FAQ */
.car-about { padding-block: clamp(48px, 6vw, 88px); }
.car-about__grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.car-about__text h2 { margin: 0; font-size: clamp(2rem, 3.6vw, 3.2rem); line-height: 1.02; letter-spacing: -.045em; }
.car-about__lead { margin: 18px 0 8px; font-size: clamp(1.1rem, 1.4vw, 1.25rem); line-height: 1.6; color: var(--ink); }
.car-about__part h3 { margin: 26px 0 8px; font-size: 1.15rem; letter-spacing: -.01em; }
.car-about__part p { margin: 0; color: var(--muted); line-height: 1.7; font-size: 1.02rem; }
.car-about__review { margin: 26px 0 0; }
.car-about__review a, .car-about__sim a { color: var(--ink); font-weight: 650; text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 1.5px; text-underline-offset: .22em; }
.car-about__side { background: #fff; border-radius: 20px; padding: 28px; box-shadow: rgba(28, 27, 22, .12) 0 1px 2px 0; position: sticky; top: calc(var(--app-bar-height) + 24px); }
.car-about__side h3 { margin: 0 0 12px; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.car-about__side h3:not(:first-child) { margin-top: 24px; }
.car-about__table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.car-about__table th { text-align: left; font-weight: 500; color: var(--muted); padding: 9px 12px 9px 0; vertical-align: top; width: 44%; }
.car-about__table td { padding: 9px 0; font-weight: 600; }
.car-about__table tr + tr th, .car-about__table tr + tr td { border-top: 1px solid var(--line); }
.car-about__note { margin: 10px 0 0; font-size: .82rem; color: var(--muted); }
.car-about__sim { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
@media (width <= 900px) { .car-about__grid { grid-template-columns: 1fr; } .car-about__side { position: static; } }
/* specs now live in the tiles above: the block is text + a row of related links */
.car-about__grid { grid-template-columns: 1fr !important; max-width: 860px; }
.car-about__side { position: static !important; background: transparent; box-shadow: none; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 4px; }
.car-about__side h3 { margin: 0 !important; }
.car-about__sim { display: flex !important; flex-wrap: wrap; gap: 10px; }
.car-about__sim a { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 999px; background: #fff; box-shadow: rgba(28, 27, 22, .12) 0 1px 2px 0; text-decoration: none; font-weight: 600; }
.car-about__sim a:hover { background: var(--md-sys-color-primary-container); }
.car-about__grid { max-width: none !important; } .car-about__text, .car-about__side { max-width: 860px; } .car-about__side { margin-top: -20px; }

/* Car pages: rental terms as a compact strip under the specs (the old
   "Rental terms" section is gone; details live in the FAQ). */
.vehicle-content-grid > .terms-strip { grid-column: 1; }
.vehicle-content-grid > .booking-card { grid-row: 1 / span 4 !important; }
.terms-strip { margin-top: -6px; }
.terms-strip dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.terms-strip__item { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: start; padding: 18px 20px; background: #fff; border-radius: 16px; box-shadow: rgba(28, 27, 22, .12) 0 1px 2px 0; }
.terms-strip__item .material-symbols-rounded { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--md-sys-color-primary-container); color: var(--md-sys-color-on-primary-container); font-size: 21px; }
.terms-strip__item dt { margin: 0 0 4px; font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
.terms-strip__item dd { margin: 0; font-size: .95rem; font-weight: 600; line-height: 1.45; }
.terms-strip__item dd.terms-strip__sub { margin-top: 4px; font-size: .85rem; font-weight: 400; color: var(--muted); }
.terms-strip__all { display: inline-block; margin-top: 14px; font-weight: 650; color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: .22em; }
@media (width <= 1080px) {
  .vehicle-content-grid > .terms-strip { grid-row: 3; }
  .vehicle-content-grid > .booking-card { grid-row: 4 !important; }
  .vehicle-content-grid > .detail-layout { grid-row: 5; }
}
@media (width <= 640px) { .terms-strip dl { grid-template-columns: 1fr; } }
/* terms strip v2: one bordered panel like the specs above, 4 equal cells */
.terms-strip dl { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0 !important; background: var(--md-sys-color-surface-container-lowest, #fff); border: 1px solid var(--md-sys-color-outline-variant); border-radius: 22px; overflow: hidden; }
.terms-strip__item { display: flex !important; flex-direction: column; gap: 0 !important; padding: 22px 24px !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; border-left: 1px solid var(--md-sys-color-outline-variant); }
.terms-strip__item:first-child { border-left: 0; }
.terms-strip__item .material-symbols-rounded { width: 36px !important; height: 36px !important; border-radius: 11px !important; font-size: 20px !important; margin-bottom: 14px; }
.terms-strip__item dt { margin: 0 0 6px !important; }
.terms-strip__item dd { font-size: 1.05rem !important; font-weight: 650 !important; letter-spacing: -.01em; line-height: 1.3 !important; }
.terms-strip__item dd.terms-strip__sub { margin-top: 6px !important; font-size: .85rem !important; font-weight: 400 !important; line-height: 1.4 !important; }
.terms-strip { margin-top: 0 !important; }
@media (width <= 1080px) {
  .terms-strip dl { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .terms-strip__item:nth-child(3) { border-left: 0; }
  .terms-strip__item:nth-child(n+3) { border-top: 1px solid var(--md-sys-color-outline-variant); }
}
@media (width <= 560px) {
  .terms-strip dl { grid-template-columns: 1fr !important; }
  .terms-strip__item { border-left: 0 !important; }
  .terms-strip__item + .terms-strip__item { border-top: 1px solid var(--md-sys-color-outline-variant); }
}

/* Car pages: deposit lives only in the booking card under the price
   (the yellow "Refundable deposit" band). The terms strip keeps three
   cells: mileage, insurance, driver. The strip is also rendered by the
   vehicle-detail JS, so it is hidden here rather than cut from the HTML;
   in the repo, drop the deposit item from the component instead. */
.terms-strip__item:nth-child(4) { display: none !important; }
.terms-strip dl { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (width <= 1080px) {
  .terms-strip dl { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .terms-strip__item:nth-child(3) { border-left: 1px solid var(--md-sys-color-outline-variant) !important; }
  .terms-strip__item:nth-child(n+3) { border-top: 0; }
}
@media (width <= 560px) {
  .terms-strip dl { grid-template-columns: 1fr !important; }
  .terms-strip__item:nth-child(3) { border-left: 0 !important; border-top: 1px solid var(--md-sys-color-outline-variant); }
}
