/* العماد الدائم — "road sign" direction: Changa (signage, headings) + Almarai (reading), asphalt / copper / paper. */
/* self-hosted fonts (SIL OFL 1.1, licences in assets/fonts/), Arabic + Latin subsets */
@font-face{font-family:'Almarai';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/almarai-400-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Almarai';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/almarai-400-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:'Almarai';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/almarai-700-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Almarai';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/almarai-700-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:'Almarai';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/almarai-800-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Almarai';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/almarai-800-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:'Changa';font-style:normal;font-weight:500 800;font-display:swap;src:url(assets/fonts/changa-500-800-arabic.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Changa';font-style:normal;font-weight:500 800;font-display:swap;src:url(assets/fonts/changa-500-800-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}
:root{
  --asphalt:#262a29;--pillar:#2c302f;--copper:#b37c4f;--copper-btn:#c28b5c;--copper-ink:#87552c;
  --paper:#f2ede4;--bone:#faf7f1;--sand:#e8e0d2;--marking:#f4efe6;
  --muted:#5a574f;--line:#d6cdbd;
  --on-dark:#f4efe6;--on-dark-muted:#bcb8ad;--on-dark-line:#ffffff26;
  --display:'Changa','Almarai',Tahoma,sans-serif;
  --body:'Almarai',Tahoma,'Segoe UI',Arial,sans-serif;
  --header:84px;--gutter:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 8px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--asphalt);font-family:var(--body);font-size:17px;line-height:1.9;letter-spacing:normal;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ol,ul,figure{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.25;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
a,button,label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
::selection{background:#c28b5c66}
:focus-visible{outline:3px solid var(--copper);outline-offset:4px;border-radius:6px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ic{width:1em;height:1em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.arrow{width:1.35em;height:1em;flex-shrink:0;fill:currentColor;transition:transform .3s var(--ease)}
.mail{direction:ltr;unicode-bidi:isolate;white-space:nowrap;font-family:var(--display);font-weight:600;letter-spacing:.01em}
.num{font-family:var(--display);font-weight:600;direction:ltr;unicode-bidi:isolate;white-space:nowrap;letter-spacing:.01em}
.wrap{width:calc(100% - 2 * var(--gutter));max-width:1240px;margin-inline:auto}
.skip{position:fixed;inset-inline-start:16px;top:-120px;z-index:100;background:var(--bone);padding:12px 18px;border:2px solid var(--asphalt);border-radius:8px}
.skip:focus{top:12px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:58px;padding:0 28px;border-radius:12px;font-family:var(--body);font-size:18px;font-weight:800;line-height:1.3;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.btn .ic{font-size:21px}
.btn:hover .arrow{transform:translateX(-5px)}
.btn:active{transform:translateY(1px)}
.btn-copper{background:var(--copper-btn);color:var(--asphalt)}
.btn-copper:hover{background:#d39c6c}
.btn-dark{background:var(--asphalt);color:var(--on-dark)}
.btn-dark:hover{background:#3a403e}
.btn-dark .arrow{color:var(--copper-btn)}
.btn-line{border:2px solid var(--asphalt);color:var(--asphalt)}
.btn-line:hover{background:var(--asphalt);color:var(--on-dark)}
.btn-line .num{font-size:20px}

/* header */
header{height:var(--header);position:sticky;top:0;z-index:30;background:#f2ede4f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
header.scrolled{box-shadow:0 10px 30px #26201812}
.bar{height:100%;display:flex;align-items:center;gap:32px}
.brand img{height:58px;width:auto}
#navigation{display:flex;align-items:center;gap:4px;margin-inline-start:auto;font-size:16px;font-weight:700}
#navigation>a{padding:10px 14px;border-radius:8px;color:#45433d;transition:background .2s,color .2s}
#navigation>a:hover{background:var(--sand);color:var(--asphalt)}
#navigation>a[aria-current="true"]{color:var(--asphalt);box-shadow:inset 0 -3px 0 var(--copper)}
.nav-wa{display:none}
.bar-call{display:flex;align-items:center;gap:10px;background:var(--asphalt);color:var(--on-dark);padding:10px 18px;border-radius:10px;box-shadow:inset 0 0 0 3px var(--asphalt),inset 0 0 0 4.5px #f4efe666;transition:background .2s}
.bar-call .ic{font-size:18px;color:var(--copper-btn)}
.bar-call .num{font-size:18px}
.bar-call:hover{background:#3a403e}
.menu{display:none}

/* hero */
.hero{display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;gap:clamp(24px,4vw,64px);min-height:min(860px,calc(100svh - var(--header)))}
.hero-copy{padding-block:clamp(40px,7vh,88px) clamp(40px,6vh,72px);align-self:center}
.km{display:inline-flex;align-items:stretch;border:2px solid var(--asphalt);border-radius:10px;overflow:hidden;font-size:15px;font-weight:700;line-height:1;margin-bottom:28px;background:var(--bone)}
.km-cap{background:var(--copper-btn);padding:9px 14px;font-weight:800}
.km-body{padding:9px 14px}
.hero h1{font-size:clamp(54px,7.2vw,112px);font-weight:800;line-height:1.16;margin-bottom:26px}
.hero h1 span{font-weight:500}
.hero-lead{font-size:clamp(18px,1.5vw,21px);color:var(--muted);max-width:31em;margin-bottom:34px}
.sign{background:var(--asphalt);color:var(--on-dark);border-radius:16px;padding:20px 28px 10px;max-width:470px;box-shadow:inset 0 0 0 7px var(--asphalt),inset 0 0 0 9px var(--marking),0 18px 40px #2620181f}
.sign-head{font-size:14px;font-weight:700;color:var(--on-dark-muted);padding-bottom:6px}
.sign a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;border-top:1px solid var(--on-dark-line);font-family:var(--display);font-size:clamp(23px,2vw,28px);font-weight:600}
.sign a .arrow{color:var(--copper-btn);font-size:24px}
.sign a:hover .arrow{transform:translateX(-8px)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-art{position:relative;display:flex;align-items:flex-end}
.hero-art svg{width:100%;height:auto;max-height:calc(100% - 24px);display:block}
.sun{fill:#e7dbc8}
.ground{stroke:var(--asphalt);stroke-width:3}
.pillar{fill:var(--pillar)}
.cap{fill:var(--copper)}
.dash{fill:var(--pillar);animation:dash-run 3.2s infinite}
.d3{animation-delay:0s}.d2{animation-delay:.35s}.d1{animation-delay:.7s}
@keyframes dash-run{0%,100%{fill:var(--pillar)}12%{fill:var(--copper)}30%{fill:var(--pillar)}}

/* about: two pillars and the road between them */
.about{padding-block:clamp(72px,9vw,128px) 0}
.about-grid{display:grid;grid-template-columns:.62fr 1.7fr .62fr;align-items:stretch;min-height:440px}
.slab{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:36px 26px;color:var(--on-dark);max-height:520px;align-self:end;height:100%}
.slab-a{background:linear-gradient(199deg,var(--copper) 0 23%,var(--paper) 23% 25.5%,var(--pillar) 25.5%);clip-path:polygon(0 0,78% 15%,100% 100%,0 100%)}
.slab-b{background:var(--pillar);clip-path:polygon(100% 0,22% 15%,0 100%,100% 100%)}
.slab-a{padding-inline-end:38px}
.slab-b{padding-inline-start:38px}
.slab-word{font-family:var(--display);font-size:clamp(30px,2.9vw,44px);font-weight:800;line-height:1.3}
.slab-def{font-size:16px;color:var(--on-dark-muted);line-height:1.7}
.about-road{position:relative;text-align:center;padding:0 clamp(28px,4vw,64px) 56px;display:flex;flex-direction:column;align-items:center}
.about-road::before{content:'';width:4px;height:96px;margin-bottom:28px;background:repeating-linear-gradient(to bottom,var(--asphalt) 0 22px,transparent 22px 38px)}
.about-road h2{font-size:clamp(44px,5vw,72px);font-weight:800;margin-bottom:24px}
.about-road .lead{font-size:clamp(19px,1.6vw,22px);font-weight:700;line-height:1.75;margin-bottom:16px;max-width:26em}
.about-road p:not(.lead){color:var(--muted);max-width:32em}
.about-note{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);font-size:16px}

/* destinations */
.destinations{background:var(--bone);padding-block:clamp(72px,9vw,128px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px 64px;margin-bottom:clamp(36px,5vw,64px)}
.head h2{font-size:clamp(40px,5vw,72px);font-weight:800;line-height:1.2}
.head h2 span{font-weight:500}
.head p{font-size:18px;color:var(--muted);max-width:28em}
.exit{display:grid;grid-template-columns:auto 1fr .95fr;gap:clamp(24px,3.6vw,52px);align-items:center;padding-block:clamp(32px,4vw,52px);border-top:1px solid var(--line)}
.exit:last-child{padding-bottom:0}
.exit-plate{align-self:start;display:flex;flex-direction:column;align-items:center;justify-content:center;width:104px;height:116px;border-radius:14px;background:var(--copper-btn);color:var(--asphalt);box-shadow:inset 0 0 0 6px var(--copper-btn),inset 0 0 0 8px var(--asphalt);line-height:1.1}
.exit-plate span{font-size:15px;font-weight:800}
.exit-plate b{font-family:var(--display);font-size:52px;font-weight:800;line-height:1.05}
.exit-body h3{font-size:clamp(36px,3.6vw,52px);font-weight:800;line-height:1.25}
.exit-line{font-size:clamp(19px,1.6vw,22px);font-weight:700;margin-block:6px 12px}
.exit-body>p:not(.exit-line){color:var(--muted)}
.exit ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin-block:20px 26px}
.exit li{font-size:14px;line-height:1.6;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper)}
.exit-media{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--pillar)}
.exit-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.exit:hover .exit-media img{transform:scale(1.03)}
#cars .exit-media img{object-position:30% 70%}
.exit-drawing{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#343937,var(--pillar) 72%)}
.exit-drawing svg{width:86%;height:auto}
.dw-strong{stroke:var(--copper-btn);stroke-width:3}
.dw-mid{stroke:var(--copper-btn);stroke-width:1.5;opacity:.6}
.dw-spoke{stroke:var(--copper-btn);stroke-width:9}
.dw-faint{stroke:#77736a;stroke-width:1.2}

/* route: the section is the road */
.route{background:var(--asphalt);color:var(--on-dark);padding-block:clamp(72px,9vw,120px)}
.route .head p{color:var(--on-dark-muted)}
.road{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);position:relative}
.road::before{content:'';position:absolute;inset-inline:calc(-1 * var(--gutter));top:44px;height:5px;background:repeating-linear-gradient(to left,var(--marking) 0 56px,transparent 56px 96px);opacity:.9}
.road li{position:relative}
.post{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:68px;height:92px;padding-bottom:8px;border-radius:34px 34px 8px 8px;background:var(--bone);color:var(--asphalt);font-family:var(--display);font-size:30px;font-weight:800;line-height:1;overflow:hidden;margin-bottom:28px;box-shadow:0 0 0 12px var(--asphalt)}
.post::before{content:'';position:absolute;inset:0 0 auto;height:34%;background:var(--copper-btn)}
.post small{font-family:var(--body);font-size:13px;font-weight:800;margin-bottom:4px}
.road h3{font-size:clamp(23px,2vw,28px);font-weight:600;margin-bottom:8px}
.road p{color:var(--on-dark-muted);font-size:16px}

/* faq: information signs */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,96px);align-items:start;padding-block:clamp(72px,9vw,128px) 0}
.faq-head{position:sticky;top:calc(var(--header) + 32px)}
.info-sign{display:grid;place-items:center;width:68px;height:68px;margin-bottom:24px;border-radius:14px;background:var(--asphalt);color:var(--on-dark);font-family:var(--display);font-size:40px;font-weight:800;line-height:1;box-shadow:inset 0 0 0 5px var(--asphalt),inset 0 0 0 7px var(--marking)}
.faq-head h2{font-size:clamp(40px,4.6vw,66px);font-weight:800}
.faq-head p{color:var(--muted);margin-top:14px;max-width:24em}
.faq-list{border-bottom:1px solid var(--line)}
.faq details{border-top:1px solid var(--line)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding-block:16px;cursor:pointer;font-family:var(--display);font-size:clamp(20px,1.8vw,24px);font-weight:600;line-height:1.45}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'';flex-shrink:0;width:36px;height:36px;border-radius:10px;border:1.5px solid var(--line);background:linear-gradient(var(--asphalt),var(--asphalt)) center/14px 2px no-repeat,linear-gradient(var(--asphalt),var(--asphalt)) center/2px 14px no-repeat;transition:transform .3s var(--ease),background-color .2s,border-color .2s}
.faq summary:hover::after{border-color:var(--asphalt)}
.faq details[open] summary::after{transform:rotate(45deg);background-color:var(--copper-btn);border-color:var(--copper-btn)}
.faq details p{color:var(--muted);padding:0 0 24px;max-width:38em}
.faq details a{color:var(--asphalt);font-weight:700;border-bottom:1.5px solid var(--copper-btn)}

/* inquiry: one big sign */
.inquiry{padding-block:clamp(64px,8vw,112px) clamp(72px,9vw,128px)}
.plate{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,80px);background:var(--asphalt);color:var(--on-dark);border-radius:24px;padding:clamp(32px,5vw,72px);box-shadow:inset 0 0 0 10px var(--asphalt),inset 0 0 0 12.5px var(--marking),0 30px 60px #2620181f}
.inquiry-copy h2{font-size:clamp(40px,4.6vw,66px);font-weight:800;line-height:1.22}
.inquiry-copy>p{color:var(--on-dark-muted);margin-top:20px;max-width:26em}
.plate-direct{display:flex;flex-direction:column;gap:18px;margin-top:36px;padding-top:22px;border-top:1px solid var(--on-dark-line)}
.plate-call,.plate-mail{display:inline-flex;flex-direction:column;align-self:flex-start;transition:color .2s}
.plate-mail small{font-size:14px;color:var(--on-dark-muted)}
.plate-mail .mail{font-size:clamp(20px,1.8vw,24px)}
.plate-mail:hover{color:var(--copper-btn)}
.plate-call small{font-size:14px;color:var(--on-dark-muted)}
.plate-call .num{font-size:clamp(30px,3vw,40px);font-weight:700}
.plate-call:hover{color:var(--copper-btn)}
fieldset{border:0;padding:0;margin:0}
legend,.field{font-size:16px;font-weight:700;color:var(--on-dark)}
legend{padding:0;margin-bottom:12px}
.choices{display:grid;gap:8px}
.choices label{position:relative;cursor:pointer}
.choices input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.choices span{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:0 18px;border-radius:10px;border:1.5px solid #ffffff33;font-family:var(--display);font-size:21px;font-weight:600;transition:background .2s,border-color .2s,color .2s}
.choices .arrow{color:#ffffff40;font-size:20px}
.choices label:hover span{border-color:#ffffff66}
.choices input:checked+span{background:var(--copper-btn);border-color:var(--copper-btn);color:var(--asphalt)}
.choices input:checked+span .arrow{color:var(--asphalt)}
.choices input:focus-visible+span{outline:3px solid var(--copper-btn);outline-offset:3px}
.field{display:block;margin:22px 0 8px}
.field span{font-weight:400;color:var(--on-dark-muted);font-size:14px}
#name,textarea{display:block;width:100%;background:#ffffff0d;border:1.5px solid #ffffff33;border-radius:10px;padding:13px 16px;color:#fff;font-size:17px;line-height:1.8;transition:border-color .2s,background .2s}
#name:hover,textarea:hover{border-color:#ffffff59}
#name:focus,textarea:focus{outline:none;border-color:var(--copper-btn);background:#ffffff14}
textarea{resize:vertical;min-height:132px}
textarea[aria-invalid="true"]{border-color:#eba487}
::placeholder{color:#a19d93;opacity:1}
.field-error{color:#f2b59b;font-size:15px;margin-top:8px}
form .btn{width:100%;margin-top:26px}
.btn-ghost{width:100%;margin-top:10px;min-height:52px;font-size:16px;border:1.5px solid #ffffff33;color:var(--on-dark)}
.btn-ghost .ic{font-size:19px;color:var(--copper-btn)}
.btn-ghost:hover{border-color:#ffffff73;background:#ffffff0d}
.form-note{font-size:14px;color:var(--on-dark-muted);margin-top:12px;text-align:center}

/* contact */
.contact{display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,7vw,110px);align-items:center;padding-block:0 clamp(72px,9vw,128px)}
.milestone{position:relative;width:clamp(200px,20vw,260px);aspect-ratio:13/17;border:3px solid var(--asphalt);border-radius:999px 999px 18px 18px;background:var(--bone);display:flex;flex-direction:column;overflow:hidden;}
.ms-cap{flex:0 0 38%;display:grid;place-items:end center;padding-bottom:12px;background:var(--copper-btn);font-family:var(--display);font-size:clamp(24px,2.4vw,32px);font-weight:700}
.ms-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
.ms-body b{font-family:var(--display);font-size:clamp(46px,4.6vw,64px);font-weight:800}
.ms-body small{font-size:16px;font-weight:700;color:var(--muted)}
.contact-copy h2{font-size:clamp(38px,4.4vw,62px);font-weight:800;line-height:1.24}
.contact-copy>p{color:var(--muted);margin-top:18px;max-width:34em}
.contact-links{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:32px}
.contact-links a{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;border:1.5px solid var(--line);background:var(--bone);transition:border-color .2s,background .2s}
.contact-links a:hover{border-color:var(--asphalt)}
.contact-links .ic{font-size:24px;color:var(--copper-ink)}
.contact-links span{display:flex;flex-direction:column;line-height:1.5;min-width:0}
.contact-links small{font-size:14px;color:var(--muted)}
.contact-links b,.contact-links .num,.contact-links .mail{font-size:19px;font-weight:700}
.contact-links .mail{font-size:18px}

/* footer: asphalt with the lane marking */
footer{background:var(--asphalt);color:var(--on-dark)}
.lane{height:5px;background:repeating-linear-gradient(to left,var(--marking) 0 56px,transparent 56px 96px);opacity:.85}
.foot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;padding-block:44px 36px}
.foot-brand img{height:80px;width:auto}
.foot-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 28px;font-size:16px;color:#d8d3c8}
.foot-nav a,.foot-call,.foot-mail,.to-top,.nivo-signature{min-height:44px;display:inline-flex;align-items:center}
.foot-nav a:hover,.foot-call:hover,.to-top:hover{color:var(--copper-btn)}
.foot-contact{display:flex;flex-direction:column;align-items:flex-end}
.foot-call .num{font-size:24px}
.foot-mail{min-height:40px;display:inline-flex;align-items:center;color:#d8d3c8}
.foot-mail:hover{color:var(--copper-btn)}
.foot-mail .mail{font-size:16px;font-weight:500}
.foot-base{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;padding-block:14px 18px;border-top:1px solid var(--on-dark-line);font-size:14px;color:#aaa69c}
.foot-base>span{margin-inline-end:auto}
.to-top{gap:8px;color:#dcd7cc}
.to-top .ic{font-size:17px;color:var(--copper-btn)}
.nivo-signature{gap:8px;color:#fff;font-size:14px}
.nivo-signature img{height:28px;width:28px;object-fit:contain}

/* 404 */
.lost{min-height:calc(100svh - var(--header) - 140px);display:flex;flex-direction:column;justify-content:center;padding-block:64px}
.lost h1{font-size:clamp(46px,7vw,96px);font-weight:800;line-height:1.16;margin-bottom:22px}
.lost h1 span{font-weight:500}
.foot-base a[href^="mailto"]:hover{color:var(--copper-btn)}

/* floating WhatsApp: hidden over the hero, beside the form and in the footer */
.wa-float{position:fixed;inset-inline-start:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:25;width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:var(--asphalt);color:var(--on-dark);box-shadow:inset 0 0 0 4px var(--asphalt),inset 0 0 0 5.5px #f4efe699,0 10px 30px #0003;transition:opacity .3s,transform .3s var(--ease),visibility .3s}
.wa-float .ic{font-size:27px}
.wa-float:hover{background:#3a403e}
.js .wa-float:not(.visible){opacity:0;visibility:hidden;transform:translateY(14px)}

@media(max-width:1080px){
  :root{--header:76px}
  .brand img{height:50px}
  .bar{gap:20px}
  #navigation{font-size:15px}
  #navigation>a{padding-inline:10px}
  .about-grid{grid-template-columns:.7fr 1.9fr .7fr}
  .exit{grid-template-columns:auto 1fr .9fr}
  .exit-body h3{font-size:34px}
  .contact-links{grid-template-columns:1fr}
  .contact-links a{max-width:420px}
}
@media(max-width:860px){
  :root{--header:68px}
  body{font-size:16px}
  .brand img{height:46px}
  .bar-call{margin-inline-start:auto;padding:0;width:46px;height:46px;justify-content:center;border-radius:12px}
  .bar-call .num{display:none}
  .bar-call .ic{font-size:20px}
  .menu{display:grid;place-items:center;width:46px;height:46px;margin-inline-end:-8px}
  .menu span{grid-area:1/1;width:22px;height:2px;border-radius:2px;background:var(--asphalt);transition:transform .3s var(--ease)}
  .menu span:first-child{transform:translateY(-4px)}
  .menu span:last-child{transform:translateY(4px)}
  .menu[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
  .menu[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
  #navigation{display:none;position:absolute;top:var(--header);inset-inline:0;margin:0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 30px #26201818;font-size:18px}
  #navigation.open{display:flex;animation:menu-in .25s var(--ease)}
  @keyframes menu-in{from{opacity:0;transform:translateY(-6px)}}
  #navigation>a{padding:14px 4px;border-radius:0;border-bottom:1px solid var(--line)}
  #navigation>a:hover{background:none}
  #navigation>a[aria-current="true"]{box-shadow:none;color:var(--copper-ink)}
  #navigation>.nav-wa{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:16px;border:0;border-radius:12px;background:var(--asphalt);color:var(--on-dark);min-height:54px}
  #navigation>.nav-wa:hover{background:var(--asphalt)}
  #navigation>.nav-wa .ic{font-size:21px;color:var(--copper-btn)}

  .hero{grid-template-columns:1fr;min-height:0;gap:0}
  .hero-copy{padding-block:32px 8px}
  .km{margin-bottom:22px;font-size:14px}
  .hero h1{font-size:clamp(46px,13.4vw,64px);margin-bottom:18px}
  .hero-lead{font-size:17px;margin-bottom:26px}
  .sign{max-width:none;padding:16px 22px 6px}
  .sign a{font-size:23px;min-height:56px}
  .hero-actions{margin-top:22px}
  .hero-actions .btn{flex:1 1 220px}
  .hero-art{margin-top:28px;height:clamp(220px,62vw,340px);overflow:hidden;justify-content:center}
  .hero-art svg{height:100%;width:auto;max-height:none;max-width:none}

  .about{padding-top:64px}
  .about-grid{grid-template-columns:1fr 34px 1fr;grid-template-areas:"road road road" "a lane b";min-height:0;row-gap:0}
  .about-grid::after{content:"";grid-area:lane;justify-self:center;width:4px;margin-top:70px;background:repeating-linear-gradient(to bottom,var(--asphalt) 0 18px,transparent 18px 32px)}
  .about-road{grid-area:road;padding:0 0 40px}
  .about-road::before{height:64px;margin-bottom:22px}
  .slab{min-height:250px;padding:28px 18px}
  .slab-a{grid-area:a}
  .slab-b{grid-area:b}
  .slab-a{padding-inline-end:24px}
  .slab-b{padding-inline-start:24px}
  .slab-def{font-size:14px}

  .head{flex-direction:column;align-items:flex-start;gap:14px}
  .head p{font-size:17px}
  .exit{grid-template-columns:1fr;gap:20px}
  .exit-plate{justify-self:start;flex-direction:row;gap:10px;width:auto;height:auto;padding:8px 16px;border-radius:10px;box-shadow:inset 0 0 0 4px var(--copper-btn),inset 0 0 0 5.5px var(--asphalt)}
  .exit-plate b{font-size:30px}
  .exit-media{order:-1;aspect-ratio:16/10}
  .exit .btn{width:100%}

  .road{grid-template-columns:1fr;gap:0}
  .road::before{inset-inline:auto;inset-inline-start:31px;top:0;bottom:0;width:5px;height:auto;background:repeating-linear-gradient(to bottom,var(--marking) 0 40px,transparent 40px 72px)}
  .road li{display:grid;grid-template-columns:68px 1fr;column-gap:22px;padding-bottom:36px}
  .road li:last-child{padding-bottom:0}
  .post{grid-row:span 2;margin-bottom:0}
  .road h3{align-self:end}

  .plate{grid-template-columns:1fr;border-radius:20px;padding:30px 22px;box-shadow:inset 0 0 0 7px var(--asphalt),inset 0 0 0 9px var(--marking),0 20px 40px #2620181f}
  .plate-call{margin-top:24px}
  .inquiry{width:calc(100% - 24px)}

  .faq{grid-template-columns:1fr;gap:20px;padding-top:64px}
  .faq-head{position:static}
  .info-sign{width:56px;height:56px;font-size:32px;margin-bottom:18px}
  .faq summary{min-height:64px}
  html:not(.js) .menu{display:none}
  .contact{grid-template-columns:1fr;justify-items:start}
  .milestone{width:170px}
  .contact-links a{max-width:none}
  .foot-contact{align-items:flex-start}

  .foot{grid-template-columns:1fr;gap:20px;padding-block:36px 24px}
  .foot-brand img{height:72px}
  .foot-nav{justify-content:flex-start;gap:0 22px}
  .foot-base{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .foot-base>span{flex-basis:100%}
  .wa-float{inset-inline-start:16px;bottom:calc(16px + env(safe-area-inset-bottom))}
}
@media(max-height:500px) and (orientation:landscape){
  header{position:relative}
  .hero{min-height:0}
  .hero-copy{padding-block:28px}
  .faq-head{position:static}
}
@media(max-width:380px){
  :root{--gutter:16px}
  .hero h1{font-size:44px}
  .sign a{font-size:21px}
  .slab{padding-inline:14px}
  .slab-word{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
