/* RG Speed Car Rental — "Roadbook" design system. Built from the measured logo colours. */
@font-face{font-family:'Cuprum';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/cuprum-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cuprum';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/cuprum-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Cuprum';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/cuprum-normal-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Cuprum';font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/cuprum-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cuprum';font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/cuprum-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+A720-A7FF}
@font-face{font-family:'Cuprum';font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/cuprum-italic-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../fonts/opensans-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../fonts/opensans-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Open Sans';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../fonts/opensans-normal-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'PT Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ptmono-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'PT Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ptmono-normal-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/notosansarabic-normal-arabic.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}

:root{
  /* measured from the RG shield logo (k-means): ribbon red #cf2a1a, bevel gold #e7ab38 / #f6d97b, shield black #141313 */
  --brand:#cf2a1a; --brand-ink:#a51f12; --brand-soft:#fcebe7;
  --gold:#e7ab38; --gold-soft:#f6d97b; --gold-ink:#8a6416; --gold-wash:#fcf6e6;
  --ink:#141313; --text:#1f1d1b; --text-muted:#5c5650;
  --surface:#ffffff; --surface-2:#f6f4f0; --line:#e6dfd2; --line-2:#cdbf9f;
  --f-display:'Cuprum','Arial Narrow',sans-serif; --f-text:'Open Sans',system-ui,sans-serif; --f-mono:'PT Mono',ui-monospace,monospace;
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4.5rem;--s9:6.5rem;
  --rail:272px; --gutter:clamp(1rem,.6rem + 2vw,2.75rem); --maxw:1180px; --cut:14px;
  --t-micro:180ms; --t-reveal:650ms; --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
html[lang=ar]{--f-display:'Noto Sans Arabic','Cuprum',sans-serif;--f-text:'Noto Sans Arabic','Open Sans',sans-serif}
*,*::before,*::after{box-sizing:border-box}
figure{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--surface);color:var(--text);font:400 1rem/1.65 var(--f-text);overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:var(--brand-ink);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--brand)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:2px}
.skip{position:absolute;inset-inline-start:0;top:0;z-index:100;background:var(--ink);color:#fff;padding:.75rem 1rem;transform:translateY(-120%)}
.skip:focus{transform:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type scale (1.25) */
h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink);line-height:1.08;margin:0 0 var(--s4);font-weight:700;letter-spacing:.005em}
h1{font-size:clamp(2.1rem,1.5rem + 2.3vw,3.4rem)}
h2{font-size:clamp(1.65rem,1.3rem + 1.3vw,2.4rem);text-align:center}
h3{font-size:clamp(1.15rem,1.05rem + .35vw,1.35rem)}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{line-height:1.35;letter-spacing:0}
p,li,dd{hyphens:auto;-webkit-hyphens:auto}
.prose p,.lead,.justify{text-align:justify;text-align-last:start}
.prose{max-width:68ch;margin-inline:auto}
.prose h2{margin-top:var(--s7);text-align:center}
.prose h3{margin-top:var(--s6)}
.prose ul,.prose ol{padding-inline-start:1.25rem}
.prose li{margin-bottom:.4rem;text-align:justify;text-align-last:start}
.lead{font-size:1.075rem;color:var(--text)}
.muted{color:var(--text-muted)}
.sec-sub{text-align:center;max-width:62ch;margin:0 auto var(--s6);color:var(--text-muted)}
.mono{font-family:var(--f-mono)}

/* ===== shell: route rail (desktop) + main ===== */
.shell{min-height:100vh}
.rail{display:none}
@media (min-width:1100px){
  .shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr)}
  .rail{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:var(--s5) var(--s5) var(--s4);border-inline-end:1px solid var(--line);background:var(--surface);overflow-y:auto;scrollbar-width:thin}
  .mhead,.menu-btn{display:none!important}
}
.rail-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);margin-bottom:var(--s5)}
.rail-brand img{width:64px;height:64px;border-radius:8px}
.rail-brand b{font:700 1.45rem/1 var(--f-display);display:block}
.rail-brand span{font-size:.8rem;color:var(--text-muted)}
.route{list-style:none;margin:0;padding:0;position:relative;flex:1}
.route::before{content:"";position:absolute;inset-inline-start:11px;top:12px;bottom:12px;border-inline-start:2px dashed var(--line-2)}
.route .progress{position:absolute;inset-inline-start:11px;top:12px;width:2px;height:0;background:var(--brand);transition:height 120ms linear}
.route li{position:relative;padding-inline-start:36px;margin:0}
.route a{display:flex;align-items:center;min-height:40px;color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem;border-radius:6px;padding:.2rem .5rem}
.route a:hover{background:var(--gold-wash);color:var(--ink)}
.route .pin{position:absolute;inset-inline-start:1px;top:50%;width:22px;height:26px;transform:translateY(-50%)}
.pin path{fill:var(--surface);stroke:var(--gold);stroke-width:2.2}
.route a[aria-current=page]{color:var(--brand-ink)}
.route a[aria-current=page] + .pin path,.route li.on .pin path{fill:var(--brand);stroke:var(--gold)}
.trip{margin-top:var(--s5);padding:var(--s4);background:var(--gold-wash);border:1px solid var(--line-2);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.trip small{display:block;color:var(--gold-ink);font-size:.78rem}
.trip output{font:400 1.6rem/1.1 var(--f-mono);color:var(--ink);letter-spacing:.04em;direction:ltr;display:inline-block}
.rail-cta{display:grid;gap:.5rem;margin-top:var(--s4)}

/* utility bar (desktop) + mobile header */
.ubar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.ubar-in{display:flex;align-items:center;gap:var(--s4);min-height:60px;padding-inline:var(--gutter)}
.mhead{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);margin-inline-end:auto}
.mhead img{width:42px;height:42px;border-radius:6px}
.mhead b{font:700 1.2rem/1 var(--f-display)}
.ubar .spacer{margin-inline-end:auto}
@media (max-width:1099px){.ubar .spacer{display:none}}
.langs{display:flex;border:1px solid var(--line-2);border-radius:999px;overflow:hidden}
.langs a{font:600 .8rem/1 var(--f-text);padding:.6rem .65rem;min-width:40px;min-height:40px;display:grid;place-items:center;color:var(--text);text-decoration:none}
.langs a[aria-current=true]{background:var(--ink);color:#fff}
.langs a:hover:not([aria-current=true]){background:var(--gold-wash)}
.ubar .call{font-weight:600;text-decoration:none;color:var(--ink);white-space:nowrap}
@media (max-width:1099px){.ubar .call,.ubar .btn-wa{display:none}}
.menu-btn{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line-2);background:var(--surface);border-radius:10px;cursor:pointer}
.menu-btn svg{width:22px;height:22px}

/* full-screen mobile menu (centred options, no languages inside) */
.menu{position:fixed;inset:0;z-index:80;background:var(--surface);display:none;flex-direction:column;align-items:center;justify-content:center;padding:var(--s7) var(--gutter);text-align:center;overflow-y:auto}
.menu.open{display:flex;animation:menuIn var(--t-micro) var(--ease)}
@keyframes menuIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.menu ol{list-style:none;padding:0;margin:0 0 var(--s5);display:grid;gap:.25rem}
.menu a{font:700 1.6rem/1.2 var(--f-display);color:var(--ink);text-decoration:none;display:block;padding:.45rem 1rem}
.menu a[aria-current=page]{color:var(--brand)}
.menu .close{position:absolute;top:12px;inset-inline-end:12px}
.menu .m-cta{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}

/* buttons: chamfered like the bevelled RG letters */
.btn{--bg:var(--ink);--fg:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.75rem 1.35rem;background:var(--bg);color:var(--fg);font:700 1rem/1 var(--f-text);text-decoration:none;border:0;cursor:pointer;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:transform var(--t-micro) var(--ease),background var(--t-micro)}
.btn:hover{color:var(--fg);transform:translateY(-1px)}
.btn svg{width:18px;height:18px;flex:none}
.btn-wa{--bg:var(--brand);--fg:#fff}
.btn-wa:hover{--bg:var(--brand-ink)}
.btn-line{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);clip-path:none;border-radius:2px}
.btn-gold{--bg:var(--gold);--fg:var(--ink)}
.btn-sm{min-height:44px;padding:.6rem 1rem;font-size:.92rem}

main{display:block}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:var(--s8)}
.sec-tint{background:var(--surface-2)}
.crumbs{padding-top:var(--s5);font-size:.85rem;color:var(--text-muted)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-inline-end:.35rem;color:var(--line-2)}
.crumbs a{color:var(--text-muted)}

/* ===== hero: roadbook page beside a framed photo ===== */
.hero{padding-block:var(--s6) var(--s8)}
.hero-grid{display:grid;gap:var(--s6);align-items:center}
@media (min-width:900px){.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s7)}}
.hero h1{max-width:16ch}
.hero .lead{max-width:56ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:var(--s5) 0 var(--s6)}
.frame{position:relative;margin:0;padding:6px;background:linear-gradient(135deg,var(--gold-soft),var(--gold) 45%,#b07d1e 75%,var(--gold-soft));clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.frame img{width:100%;aspect-ratio:4/5;object-fit:cover;clip-path:polygon(calc(var(--cut) - 4px) 0,100% 0,100% calc(100% - var(--cut) + 4px),calc(100% - var(--cut) + 4px) 100%,0 100%,0 calc(var(--cut) - 4px))}
.seal{position:absolute;inset-inline-start:-14px;bottom:22px;width:86px;height:86px;border-radius:50%;background:#fff;box-shadow:0 6px 24px rgba(20,19,19,.18);padding:6px}
.seal img{border-radius:50%;aspect-ratio:1}
.hero-figure{position:relative;max-width:460px;justify-self:center;width:100%}
.hero-figure figcaption{font-size:.8rem;color:var(--text-muted);margin-top:.6rem;text-align:center}

/* roadbook table (waypoints) */
.rb{border:1px solid var(--line-2);background:var(--gold-wash);margin:0;padding:0;list-style:none}
.rb li{display:grid;grid-template-columns:5.2rem 56px minmax(0,1fr);align-items:center;gap:var(--s4);padding:.7rem 1rem;border-top:1px solid var(--line-2)}
.rb li:first-child{border-top:0}
.rb .km{font:400 .95rem/1.2 var(--f-mono);color:var(--gold-ink);direction:ltr;text-align:start}
.rb b{display:block;font-family:var(--f-display);font-size:1.12rem;color:var(--ink);line-height:1.2}
.rb span{font-size:.88rem;color:var(--text-muted)}
.tulip{width:48px;height:48px;overflow:visible}
.tulip .t-line{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tulip .t-dot{fill:var(--brand)}
.tulip .t-road{fill:none;stroke:var(--line-2);stroke-width:2;stroke-dasharray:3 4}
html[dir=rtl] .tulip{transform:scaleX(-1)}
html.js .draw .t-line{stroke-dasharray:120;stroke-dashoffset:120;transition:stroke-dashoffset 800ms var(--ease)}
html.js .draw.in .t-line{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){html.js .draw .t-line{stroke-dashoffset:0;transition:none}}

/* facts band */
.facts{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0;padding:0;list-style:none}
.facts li{padding:var(--s5) var(--s4);text-align:center;border-top:3px solid var(--brand);background:var(--surface)}
.facts strong{display:block;font:700 2.1rem/1 var(--f-display);color:var(--ink);direction:ltr}
.facts span{display:block;margin-top:.5rem;font-size:.9rem;color:var(--text-muted)}

/* ===== fleet: roadbook rows (horizontal cards) ===== */
.rows{display:grid;gap:var(--s5);margin:0;padding:0;list-style:none}
.row{display:grid;grid-template-columns:minmax(0,1fr);background:var(--surface);border:1px solid var(--line);transition:border-color var(--t-micro),box-shadow var(--t-micro)}
.row:hover{border-color:var(--line-2);box-shadow:0 10px 34px -18px rgba(20,19,19,.35)}
.row-ph{position:relative;margin:0;overflow:hidden;background:var(--surface-2)}
.row-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 600ms var(--ease)}
.row:hover .row-ph img{transform:scale(1.035)}
.tag{position:absolute;top:12px;inset-inline-start:0;background:var(--brand);color:#fff;font:700 .82rem/1 var(--f-text);padding:.45rem 1.1rem .45rem .8rem;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%)}
html[dir=rtl] .tag{padding:.45rem .8rem .45rem 1.1rem;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,9px 50%)}
.row-body{display:flex;flex-direction:column;padding:var(--s5)}
.row-body .mk{font:600 .9rem/1.2 var(--f-text);color:var(--gold-ink)}
.row-body h3{font-family:var(--f-text);font-weight:700;font-size:clamp(1rem,.95rem + .3vw,1.25rem);margin:.25rem 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-body h3 a{color:var(--ink);text-decoration:none}
.row-body h3 a::after{content:"";position:absolute;inset:0}
.row{position:relative}
.row-body p{margin:0 0 var(--s4);font-size:.95rem;text-align:justify;text-align-last:start;color:var(--text-muted)}
.row-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0 0 var(--s4);padding:0;list-style:none;font-size:.85rem}
.row-meta li{display:flex;gap:.35rem;align-items:center}
.row-meta svg{width:16px;height:16px;color:var(--gold-ink)}
.price{font-weight:700;color:var(--ink);font-size:1rem}
.row-act{margin-top:auto;display:flex;flex-wrap:wrap;gap:.6rem;position:relative;z-index:2}
.row-side{display:none}
@media (min-width:700px){
  .row{grid-template-columns:minmax(0,42%) minmax(0,1fr)}
}
@media (min-width:1280px){
  .row{grid-template-columns:96px minmax(0,38%) minmax(0,1fr)}
  .row-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border-inline-end:1px dashed var(--line-2);background:var(--gold-wash);padding:.75rem .25rem}
  .row-side small{font-size:.72rem;color:var(--gold-ink);text-align:center;line-height:1.2}
}
.fleet-grid .rows{grid-template-columns:minmax(0,1fr)}

/* filter bar */
.filters{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:end;justify-content:center;margin-bottom:var(--s6)}
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--ink)}
.seg button{font:600 .92rem/1 var(--f-text);min-height:44px;padding:.6rem 1rem;background:var(--surface);color:var(--ink);border:0;border-inline-start:1px solid var(--ink);cursor:pointer}
.seg button:first-child{border-inline-start:0}
.seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.field{display:grid;gap:.3rem;font-size:.85rem;font-weight:600;color:var(--text)}
select,input,textarea{font:400 1rem/1.3 var(--f-text);color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:2px;min-height:46px;padding:.6rem .75rem;width:100%}
select:focus,input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold-ink)}
.count{text-align:center;color:var(--text-muted);font-size:.9rem;margin:-1rem 0 var(--s5)}
.row[hidden]{display:none}

/* category / route tiles */
.tiles{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin:0;padding:0;list-style:none}
.tile{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface)}
.tile img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tile .tag{top:14px}
.tile-b{padding:var(--s5);display:flex;flex-direction:column;flex:1}
.tile-b h3{margin-bottom:.4rem}
.tile-b h3 a{color:var(--ink);text-decoration:none}
.tile-b h3 a::after{content:"";position:absolute;inset:0}
.tile-b p{color:var(--text-muted);font-size:.95rem;text-align:justify;text-align-last:start;margin:0 0 var(--s4)}
.tile-b .more{margin-top:auto;font-weight:700;color:var(--brand-ink)}

/* delivery route schematic */
.route-map{display:grid;gap:var(--s6);align-items:center}
@media (min-width:960px){.route-map{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
.rmap{width:100%;height:auto;background:var(--gold-wash);border:1px solid var(--line-2)}
.rmap .road{fill:none;stroke:var(--line-2);stroke-width:10;stroke-linecap:round}
.rmap .run{fill:none;stroke:var(--brand);stroke-width:4;stroke-linecap:round;stroke-dasharray:10 9}
html.js .rmap.draw .run{stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 1600ms var(--ease)}
html.js .rmap.draw.in .run{stroke-dashoffset:0}
.rmap .contour{fill:none;stroke:#eadbb5;stroke-width:1.2}
.rmap text{font:600 15px var(--f-text);fill:var(--ink)}
.rmap .sub{font:400 12px var(--f-text);fill:var(--text-muted)}
.rmap .p path{fill:var(--brand);stroke:var(--gold);stroke-width:2}

/* cabins gallery (scroll-snap, equal 4:3) */
.gal{display:grid;grid-auto-flow:column;grid-auto-columns:min(82%,420px);gap:var(--s4);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--s4);scrollbar-width:thin;margin:0;list-style:none;padding-inline:0}
.gal li{scroll-snap-align:start}
.gal figure{margin:0}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gal figcaption{font-size:.85rem;color:var(--text-muted);padding-top:.5rem;text-align:center}
@media (min-width:1100px){.gal{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}}

/* story */
.story{display:grid;gap:var(--s6);align-items:start}
@media (min-width:900px){.story{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
.ledger{border:1px solid var(--line-2);background:var(--gold-wash);padding:var(--s5)}
.ledger dl{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1rem;margin:0}
.ledger dt{font:700 1.5rem/1 var(--f-display);color:var(--brand-ink);direction:ltr;text-align:end}
html[dir=rtl] .ledger dt{text-align:start}
.ledger dd{margin:0;font-size:.92rem;align-self:center}
.ledger small{display:block;margin-top:var(--s4);color:var(--text-muted)}
blockquote{margin:var(--s5) 0;padding:var(--s4) var(--s5);border-inline-start:4px solid var(--gold);background:var(--surface-2);font-style:italic}

/* steps (a real sequence → numbered) */
.steps{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));list-style:none;margin:0;padding:0;counter-reset:st}
.steps li{position:relative;padding:var(--s5);border-top:2px solid var(--ink);background:var(--surface)}
.steps .n{font:400 .9rem/1 var(--f-mono);color:var(--brand-ink);display:block;margin-bottom:.6rem}
.steps h3{margin-bottom:.4rem}
.steps p{margin:0;font-size:.95rem;color:var(--text-muted);text-align:justify;text-align-last:start}

/* blog list (editorial rows) */
.posts{list-style:none;margin:0;padding:0;display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.post{position:relative;display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:var(--s4);align-items:start;padding-bottom:var(--s5);border-bottom:1px solid var(--line)}
.post img{width:100%;aspect-ratio:4/3;object-fit:cover}
.post h3{font-family:var(--f-text);font-size:1.02rem;line-height:1.35;margin:0 0 .35rem}
.post h3 a{color:var(--ink);text-decoration:none}
.post h3 a::after{content:"";position:absolute;inset:0}
.post p{margin:0;font-size:.88rem;color:var(--text-muted);text-align:justify;text-align-last:start}
.post time{display:block;font-size:.78rem;color:var(--gold-ink);margin-bottom:.25rem}

/* FAQ */
.faq{max-width:780px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--line);padding:.25rem 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;font:700 1.08rem/1.35 var(--f-text);color:var(--ink);padding:.9rem 0;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;border-inline-end:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg);transition:transform var(--t-micro)}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details p{margin:0 0 1rem;text-align:justify;text-align-last:start}

/* car page */
.car-top{display:grid;gap:var(--s6);align-items:start}
@media (min-width:980px){.car-top{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
.car-gal .main{margin:0}
.car-gal .main img{width:100%;aspect-ratio:4/3;object-fit:cover}
.car-gal .thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.5rem;list-style:none;padding:0}
.car-gal .thumbs button{padding:0;border:2px solid transparent;background:none;cursor:pointer;display:block;width:100%}
.car-gal .thumbs button[aria-pressed=true]{border-color:var(--brand)}
.car-gal .thumbs img{aspect-ratio:4/3;object-fit:cover;width:100%}
.car-gal figcaption{font-size:.82rem;color:var(--text-muted);margin-top:.5rem}
.sheet{width:100%;border-collapse:collapse;margin:0 0 var(--s5);font-size:.95rem}
.sheet th,.sheet td{text-align:start;padding:.65rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
.sheet th{width:42%;font-weight:600;color:var(--text-muted)}
.sheet td{color:var(--ink);font-weight:600}

/* enquiry slip */
.slip{border:1px solid var(--line-2);background:var(--gold-wash);padding:var(--s5);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.slip h2,.slip h3{text-align:start;margin-bottom:.4rem}
.slip .grid2{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.slip fieldset{border:0;padding:0;margin:.75rem 0}
.slip legend{font-size:.85rem;font-weight:600;margin-bottom:.35rem}
.radios{display:flex;flex-wrap:wrap;gap:.5rem}
.radios label{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.4rem .8rem;border:1px solid var(--line-2);background:var(--surface);cursor:pointer;font-size:.92rem}
.radios input{width:auto;min-height:0;accent-color:var(--brand)}
.slip .btn{width:100%;margin-top:.75rem}
.slip .note{font-size:.82rem;color:var(--text-muted);margin:.6rem 0 0;text-align:justify;text-align-last:start}
.err{color:var(--brand-ink);font-size:.85rem;font-weight:600;min-height:1.2em;margin:.4rem 0 0}
.ok{color:#1d6b3a;font-size:.88rem;font-weight:600;margin:.4rem 0 0}

/* contact */
.nap{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.nap div{border-top:2px solid var(--gold);padding-top:var(--s4)}
.nap h3{font-family:var(--f-text);font-size:1rem;margin-bottom:.35rem}
.nap p{margin:0}
.mapbox{aspect-ratio:16/9;border:1px solid var(--line-2);background:var(--surface-2);margin-top:var(--s6)}
.mapbox iframe{width:100%;height:100%;border:0;display:block}

/* article */
.art-hero{margin:0 0 var(--s6)}
.art-hero img{width:100%;aspect-ratio:16/9;object-fit:cover}
.art-meta{text-align:center;color:var(--text-muted);font-size:.9rem;margin-bottom:var(--s5)}
.page-head{text-align:center;padding-top:var(--s5);padding-bottom:var(--s5)}
.page-head h1{max-width:22ch;margin-inline:auto}
.page-head .lead{max-width:64ch;margin-inline:auto}
.callout{border:1px solid var(--line-2);background:var(--gold-wash);padding:var(--s5);margin:var(--s6) auto;max-width:68ch}
.callout p{margin:0 0 .75rem;text-align:justify;text-align-last:start}
.related{margin-top:var(--s8)}

/* footer */
.foot{background:var(--surface-2);border-top:1px solid var(--line);padding-block:var(--s8) var(--s6);margin-top:var(--s8)}
.foot-grid{display:grid;gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.foot h2{font-size:1.1rem;text-align:start;margin-bottom:.6rem;font-family:var(--f-text)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.foot a{color:var(--text);text-decoration:none}
.foot a:hover{color:var(--brand-ink);text-decoration:underline}
.foot .brandline{display:flex;gap:.75rem;align-items:center}
.foot .brandline img{width:56px;height:56px;border-radius:6px}
.foot p{font-size:.9rem}
.soc{display:flex;gap:.5rem;margin-top:.75rem}
.soc a{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-2);background:var(--surface)}
.soc svg{width:20px;height:20px}
.legal-line{border-top:1px solid var(--line);margin-top:var(--s6);padding-top:var(--s4);font-size:.82rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;justify-content:space-between}
@media (max-width:1099px){.foot,.foot h2,.foot .brandline,.legal-line{text-align:center;justify-content:center}.foot ul{justify-items:center}.soc{justify-content:center}}

/* mobile action strip — ribbon tails from the logo */
.strip{position:fixed;inset-inline:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1.25fr 1fr;background:var(--surface);border-top:1px solid var(--line-2);padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:6px}
.strip a{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;font:700 .9rem/1 var(--f-text);color:var(--ink);text-decoration:none;background:var(--gold-wash)}
.strip a svg{width:18px;height:18px}
.strip .wa{background:var(--brand);color:#fff;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%,10px 50%)}
@media (min-width:1100px){.strip{display:none}}
@media (max-width:1099px){body{padding-bottom:72px}}

/* reveal (only one orchestrated entrance per section; content visible without JS) */
html.js .rv{opacity:0;transform:translateY(14px);transition:opacity var(--t-reveal) var(--ease),transform var(--t-reveal) var(--ease)}
html.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none;transition:none}.row-ph img,.btn{transition:none}}
.contour-bg{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='300' viewBox='0 0 600 300'%3E%3Cg fill='none' stroke='%23efe4c8' stroke-width='1'%3E%3Cpath d='M-10 220C80 180 160 250 260 210s170-90 350-40'/%3E%3Cpath d='M-10 250C90 210 170 280 270 240s170-90 340-40'/%3E%3Cpath d='M-10 190C70 150 150 220 250 180s180-90 360-40'/%3E%3Cpath d='M-10 90C110 60 200 120 330 80s170-50 280-20'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat-x;background-position:bottom center}
.notfound{text-align:center;padding-block:var(--s9)}

/* QA round 1 */
@media (min-width:1280px){.row .tag{display:none}}
.mhead b{white-space:nowrap}
@media (max-width:599px){
  .rb li{grid-template-columns:3.3rem 40px minmax(0,1fr);gap:.6rem;padding:.65rem .75rem}
  .rb .km{font-size:.82rem}
  .tulip{width:38px;height:38px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts strong{font-size:1.7rem}
  .hero-figure{max-width:340px}
  .row-act .btn{flex:1 1 auto}
  .langs a{min-width:36px;padding:.55rem .45rem}
}
.posts{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.post{grid-template-columns:minmax(0,1fr);gap:.75rem;border:1px solid var(--line);padding:0 0 var(--s4);background:var(--surface)}
.post > div{padding-inline:var(--s4)}

.marques{margin-top:var(--s7);text-align:center}
.marques ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.marques li a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1rem;border:1px solid var(--line-2);background:var(--surface);font-weight:600;color:var(--ink);text-decoration:none}
.marques li a:hover{border-color:var(--gold-ink);background:var(--gold-wash)}
.marques li{display:flex;align-items:center;gap:.35rem}
@media (min-width:1280px){.fleet-grid .row{grid-template-columns:96px minmax(0,30%) minmax(0,1fr)}}
.marques li a{border:0;background:none;padding:.5rem .35rem;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.3em;text-decoration-thickness:2px}
.marques li a:hover{background:none;color:var(--brand-ink)}

.rmap{direction:ltr}
.rmap text{unicode-bidi:plaintext}
.row-ph{align-self:start}
