/* VELLEMONT — page layout & chrome (uses tokens from maison.css) */

.skip{ position:absolute; left:-9999px; top:0; background:var(--ink); color:var(--paper); padding:10px 16px; z-index:100; }
.skip:focus{ left:8px; top:8px; }

/* header */
.site-head{ position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--line); }
.site-head .bar{ display:flex; align-items:center; gap:18px; height:74px; }
.brand{ display:flex; flex-direction:column; line-height:1; }
.brand b{ font-family:var(--font-display); font-weight:700; font-size:24px; letter-spacing:.2em; color:var(--ink); }
.brand span{ font-family:var(--font-mono); font-size:9px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-top:5px; }
.nav{ display:flex; gap:24px; margin-left:18px; } .nav a{ font-size:14px; color:var(--soft); } .nav a:hover,.nav a[aria-current="true"]{ color:var(--ink); }
.head-cta{ margin-left:auto; display:flex; align-items:center; gap:10px; }
.langsw{ display:flex; align-items:center; gap:1px; border:1px solid var(--line); border-radius:var(--r-pill); padding:3px; }
.langsw a{ font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--soft); padding:6px 9px; border-radius:24px; }
.langsw a:hover{ color:var(--ink); } .langsw a[aria-current="true"]{ background:var(--ink); color:var(--paper); }
.wa{ display:inline-flex; align-items:center; gap:9px; background:var(--ink); color:var(--paper); border:0; border-radius:var(--r-pill); padding:11px 18px; font-family:var(--font-body); font-weight:500; font-size:14px; cursor:pointer; transition:.18s; text-decoration:none; }
.wa:hover{ background:#000; transform:translateY(-1px); }
.wa--ghost{ background:transparent; color:var(--ink); border:1px solid var(--ink); } .wa--ghost:hover{ background:var(--ink); color:var(--paper); }
.wa small{ font-family:var(--font-mono); font-size:12px; letter-spacing:.02em; }
.burger{ display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:var(--paper-2); color:var(--ink); cursor:pointer; align-items:center; justify-content:center; }
.burger svg{ width:18px; height:18px; }

/* hero (home) */
.hero{ padding-block:clamp(46px,6vw,88px) clamp(28px,4vw,52px); }
.hero .grid{ display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(28px,5vw,64px); align-items:center; }
.hero h1{ font-family:var(--font-display); font-weight:600; font-size:var(--fs-display); line-height:1.0; margin:.18em 0 0; }
.hero h1 i,.page-hero h1 i{ font-style:italic; color:var(--gold); }
.hero .lead{ margin-top:1.2em; }
.acts{ margin-top:clamp(22px,3vw,32px); display:flex; gap:16px; flex-wrap:wrap; align-items:center; }

/* page hero (inner pages) */
.page-hero{ padding-block:clamp(40px,6vw,80px) clamp(18px,2.6vw,30px); }
.page-hero h1{ font-family:var(--font-display); font-weight:600; font-size:var(--fs-display); line-height:1.0; margin:.12em 0 0; }
.page-hero .lead{ margin-top:1.1em; max-width:48ch; }

/* photo plates + carousel */
.plate{ border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; background:var(--paper-2); box-shadow:0 26px 52px -44px rgba(26,24,21,.5); }
.plate img{ display:block; width:100%; height:100%; object-fit:cover; }
.cap{ font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--soft); margin-top:10px; }
.fcar{ max-width:560px; }
.fcar__vp{ overflow:hidden; }
.fcar__track{ display:flex; transition:transform .5s var(--ease); }
.fcar__slide{ flex:0 0 100%; margin:0; }
.fcar__slide .plate{ aspect-ratio:3/2; }
.fcar__slide--cut .plate{ background:var(--paper); }
.fcar__slide--cut .plate img{ object-fit:contain; }
.fcar__nav{ display:flex; align-items:center; gap:14px; margin-top:14px; }
.fcar__dots{ display:flex; align-items:center; gap:8px; margin-right:auto; }
.fcar__dots button{ width:8px; height:8px; border-radius:50%; border:0; background:var(--line); padding:0; cursor:pointer; transition:.2s; }
.fcar__dots button.is-on{ background:var(--gold); width:22px; border-radius:4px; }
.fcar__arrow{ width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:var(--paper-2); color:var(--ink); font-size:18px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.18s; }
.fcar__arrow:hover{ border-color:var(--gold); color:#000; }

/* vehicle + founder layouts */
.vehicle .grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(30px,5vw,68px); align-items:center; }
.spec-list{ list-style:none; padding:0; margin:22px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:11px 24px; }
.spec-list li{ position:relative; padding-left:22px; font-size:14px; color:#3f3a32; }
.spec-list li::before{ content:""; position:absolute; left:2px; top:8px; width:8px; height:8px; border:1.5px solid var(--gold); transform:rotate(45deg); }
.founder .grid{ display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(30px,5vw,64px); align-items:center; }
.founder .pf{ max-width:340px; } .founder .pf .plate{ aspect-ratio:auto; } .founder .pf .plate img{ height:auto; object-fit:contain; }
.sign{ font-family:var(--font-display); font-style:italic; font-size:22px; color:var(--gold); margin-top:20px; }

/* info grid (airports etc.) */
.info-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(14px,2vw,20px); margin-top:clamp(26px,3.4vw,40px); }
.info{ border:1px solid var(--line); border-radius:11px; padding:clamp(18px,2.4vw,26px); background:var(--paper-2); }
.info .k{ font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.info h3{ font-family:var(--font-display); font-size:21px; margin:9px 0 8px; } .info p{ font-size:14px; color:var(--soft); margin:0; line-height:1.6; }

/* faq */
.faq{ margin-top:clamp(24px,3vw,38px); border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ cursor:pointer; list-style:none; padding:18px 0; font-family:var(--font-display); font-size:20px; color:var(--ink); display:flex; justify-content:space-between; gap:16px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; color:var(--gold); font-family:var(--font-body); font-weight:500; }
.faq details[open] summary::after{ content:"\2013"; }
.faq p{ margin:0 0 18px; color:var(--soft); font-size:15px; line-height:1.65; max-width:72ch; }

/* contact */
.contact{ text-align:center; }
.contact .num{ font-family:var(--font-display); font-size:clamp(28px,4vw,44px); color:var(--ink); margin:.2em 0 0; }
.contact .acts{ justify-content:center; }
.contact-rows{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; text-align:left; }
.contact-rows a,.contact-rows span{ display:block; }
.contact-rows .k{ font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.contact-rows .v{ font-size:15px; color:var(--ink); } .contact-rows a.v:hover{ color:var(--gold-deep); }

/* legal */
.legal{ max-width:760px; }
.legal .banner{ background:#F4E9CF; border:1px solid #DCC089; color:#6B4E15; border-radius:var(--r-note); padding:14px 16px; font-size:14px; line-height:1.5; }
.legal h2{ font-family:var(--font-display); font-size:clamp(22px,3vw,30px); margin:34px 0 10px; }
.legal p,.legal li{ color:var(--soft); font-size:14.5px; line-height:1.7; }

/* estimate output */
.estimate-out{ margin-top:16px; border-top:1px dashed var(--line); padding-top:16px; display:none; } .estimate-out.show{ display:block; }
.incl{ list-style:none; padding:0; margin:12px 0 0; } .incl li{ font-size:12.5px; color:#46453c; padding-left:18px; position:relative; margin-top:5px; } .incl li::before{ content:"+"; position:absolute; left:2px; color:var(--gold-deep); font-weight:700; }
.est-line{ display:flex; justify-content:space-between; font-size:13px; color:#3a3a32; margin-top:9px; font-family:var(--font-mono); }
.wa-inline{ display:inline-flex; align-items:center; gap:8px; margin-top:12px; background:transparent; border:1px solid var(--ink); color:var(--ink); border-radius:var(--r-pill); padding:11px 18px; font-size:14px; font-weight:500; cursor:pointer; text-decoration:none; }
.wa-inline:hover{ background:var(--ink); color:var(--paper); }
.wa-inline svg{ width:16px; height:16px; }

/* footer */
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px; }
.disc{ margin-top:30px; padding-top:20px; border-top:1px solid var(--line-soft); font-size:12px; color:var(--faint); font-family:var(--font-mono); line-height:1.7; }

@media (max-width:920px){
  .hero .grid,.vehicle .grid,.founder .grid,.foot-grid{ grid-template-columns:1fr; }
  .info-grid,.contact-rows{ grid-template-columns:1fr 1fr; }
  .nav{ position:fixed; left:0; right:0; top:74px; flex-direction:column; gap:0; background:var(--paper); border-bottom:1px solid var(--line); padding:6px 0; transform:translateY(-130%); transition:transform .25s var(--ease); z-index:40; margin:0; box-shadow:0 24px 40px -30px rgba(26,24,21,.4); }
  body.nav-open .nav{ transform:none; }
  .nav a{ padding:14px 24px; font-size:15px; }
  .burger{ display:flex; }
  .head-cta .wa small{ display:none; }
  .founder .pf{ max-width:none; }
}
@media (max-width:560px){
  .spec-list,.info-grid,.contact-rows{ grid-template-columns:1fr; }
  .langsw{ display:none; }
  .head-cta .wa{ padding:10px 12px; }
}
