:root{--bg:#faf9f7;--text:#0f0f10;--muted:#6b6b6f;--gold:#C6A25E;--gold-2:#E6D4AF;--wash:#faf9f6;--line:#ececef}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}.container{max-width:1180px;margin:0 auto;padding:0 22px}.section{padding:56px 0}.section-title{margin:0 0 14px;font-size:22px}.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:50;backdrop-filter:saturate(180%) blur(6px)}.site-header .nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:18px}.logo{height:34px}.logo.small{height:26px}.nav nav{display:flex;gap:26px;align-items:center}.nav .btn{font-weight:600;padding:10px 16px;border:1px solid var(--gold);border-radius:999px;background:linear-gradient(180deg,#fff,#fefaf2)color:#0d0d0d;font-weight:700}.hamburger{display:none;cursor:pointer}.hamburger span{display:block;width:24px;height:2px;background:var(--text);margin:5px 0}.nav-toggle{display:none}@media (max-width:880px){.nav nav{position:fixed;inset:68px 0 auto 0;background:#fff;border-top:1px solid var(--line);display:none;flex-direction:column;padding:18px}.nav-toggle:checked ~ nav{display:flex}.hamburger{display:block}}.btn{display:inline-block;border-radius:999px;background:var(--text);color:#fff;padding:12px 18px;border:1px solid var(--text);transition:transform .15s ease,box-shadow .15s ease;position:relative;overflow:hidden}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.08)}.link{padding:12px 4px;border-bottom:1px solid var(--gold)}.hero{position:relative;min-height:68vh;background:url('../assets/hero.jpg') center/cover no-repeat}.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(255,255,255,.88))}.hero-content{position:relative;padding:96px 0 72px;display:flex;flex-direction:column;gap:14px}.hero h1{font-size:46px;line-height:1.1;margin:0}.hero p{max-width:760px;color:#2b2b2f;font-size:18px;margin:0}.hero .actions{display:flex;gap:14px;margin-top:6px}.hero-points{display:flex;gap:18px;list-style:none;padding:0;margin:8px 0 0 0;color:#403f3b;font-weight:500}.hero-points li{background:linear-gradient(180deg,#fff,#fdf8ef);border:1px solid var(--gold-2);border-radius:999px;padding:8px 12px}.highlights{padding:50px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}.card.soft{background:linear-gradient(180deg,#fff,#fff 60%,var(--wash))}.card h3{margin:2px 0 8px;font-size:18px}.card p{color:var(--muted);margin:0}.link-cards .link-card{position:relative;padding-right:44px;transition:transform .15s ease,box-shadow .15s ease}.link-cards .link-card .arrow{position:absolute;right:16px;top:18px;font-size:22px;transition:transform .2s}.link-cards .link-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.06)}.link-cards .link-card:hover .arrow{transform:translateX(4px)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}@media (max-width:980px){.grid-3{grid-template-columns:1fr 1fr}}@media (max-width:680px){.grid-3{grid-template-columns:1fr}}.cta{padding:16px 0 104px}.cta-card{border:1px solid var(--gold-2);background:linear-gradient(180deg,#fff,#fdf8ef);border-radius:22px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.cta-card h2{margin:0}.cta-card p{color:var(--muted);margin:6px 0 0}.site-footer{border-top:1px solid var(--line);margin-top:70px;padding:34px 0 16px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:22px;align-items:start}.site-footer h4{margin:0 0 8px}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:8px 0}.site-footer .btn{background:var(--gold);border-color:var(--gold);color:#111}.footnote{display:flex;justify-content:space-between;border-top:1px dashed var(--line);margin-top:18px;padding-top:12px}.muted{color:var(--muted)}.page{padding:44px 0}.lead{color:#2b2b2f;max-width:760px;margin:8px 0 18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}@media (max-width:880px){.grid-2{grid-template-columns:1fr}}.encadres{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:6px}@media (max-width:880px){.encadres{grid-template-columns:1fr}}.encadre{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.encadre h2{margin:0 0 8px;color:#0c0c0c}.encadre ul{margin:0;padding-left:18px}.encadre li{margin:8px 0}.steps{counter-reset:step;display:grid;gap:16px;padding-left:0}.steps li{list-style:none;border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#fff}.steps.big li{padding:18px 20px}.steps h3{margin:0 0 6px;color:#0c0c0c}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:8px}@media (max-width:880px){.services{grid-template-columns:1fr}}.service h2{margin:0 0 6px}.form{display:grid;gap:14px;margin-top:14px}.form label{display:grid;gap:6px;font-weight:500}.form input,.form select,.form textarea{border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit}.form button{justify-self:start}.hidden{display:none}details.faq{border:1px solid var(--line);border-radius:14px;padding:10px 14px;background:#fff;margin:10px 0}details.faq[open]{border-color:var(--gold)}details.faq summary{cursor:pointer;font-weight:600}section + section{scroll-margin-top:90px}h1{margin:0 0 8px;color:#0c0c0c}h2{margin:0 0 8px;color:#0c0c0c}p+ul,p+ol{margin-top:8px}.carousel{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.car-track{display:flex;transition:transform .4s ease;will-change:transform}.car-slide{min-width:100%;aspect-ratio:16/9;display:grid;place-items:center;background:var(--wash)}.car-slide img{width:100%;height:100%;object-fit:cover;display:block}.car-btn{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.8);backdrop-filter:blur(4px);width:42px;height:42px;border-radius:50%;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.12)}.car-btn:hover{background:#fff}.car-btn.prev{left:12px}.car-btn.next{right:12px}.car-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;gap:8px;justify-content:center}.dot{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.25);border:0;cursor:pointer}.dot.is-active{background:var(--gold)}.steps-grid{display:grid;gap:20px;margin:28px 0}.step-box{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.step-box .num{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--gold);color:#111;font-weight:700;font-size:18px}.step-box h3{margin:0 0 4px}.step-box p{margin:0;color:var(--muted)}.cta-inline,.page .btn{display:flex;justify-content:center;margin-top:22px}.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(255,255,255,.88))}.hero h1{color:#fff;font-size:50px;text-shadow:0 2px 8px rgba(0,0,0,.4)}.hero p{color:#f4f4f4;font-size:20px;text-shadow:0 1px 4px rgba(0,0,0,.4)}.hero-points li{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3)}.process-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:16px}@media(max-width:980px){.process-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.process-cards{grid-template-columns:1fr}}.process-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;position:relative}.badge{width:32px;height:32px;border-radius:10px;border:1px solid var(--gold-2);display:grid;place-items:center;font-weight:700;color:#3c3c38;background:linear-gradient(180deg,#fff,#fdf8ef);margin-bottom:10px}.process-card h4{margin:0 0 6px}.process-card p{margin:0;color:var(--muted)}.nav .btn:hover{box-shadow:0 6px 18px rgba(198,162,94,.25)}.reveal{opacity:0;transform:translateY(8px)}.reveal.is-visible{animation:fadeUp .6s ease forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.reveal.is-visible{animation:none}}.brand{display:flex;align-items:center;gap:10px}.brand-text{font-weight:800;letter-spacing:.2px;background:linear-gradient(180deg,#E6D4AF,#C6A25E);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:16px}@media (max-width:520px){.brand-text{display:none}}.site-footer p,.site-footer li{line-height:1.5}.footer-grid{column-gap:28px}.site-header{transition:box-shadow .2s ease}.site-header.is-scrolled{box-shadow:0 6px 18px rgba(0,0,0,.05)}.site-footer a{transition:color .15s ease,border-color .15s ease}.site-footer a:hover{color:#C6A25E;border-color:#C6A25E}
/* Header 3-column layout */
.site-header .nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:72px}
.brand-left{display:flex;align-items:center;gap:8px;justify-self:start}
.brand-center{justify-self:center}
.brand-text{font-weight:900;letter-spacing:.2px;background:linear-gradient(180deg,#E6D4AF,#C6A25E);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:20px}
@media (max-width:880px){
  .brand-center{display:none}
  .site-header .nav{grid-template-columns:auto 1fr auto}
}
.nav nav{justify-self:end}
.nav nav a{padding:8px 6px;border-radius:8px}

/* Footer polish */
.site-footer{padding:48px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px}
.site-footer h4{font-size:16px}
.site-footer p{margin:8px 0 0}
.site-footer .btn{margin-top:10px}


/* Accessibility focus ring */
a:focus-visible, button:focus-visible, .btn:focus-visible, [role="button"]:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
  border-radius:10px;
}


/* Card hover lift */
.card,.service,.encadre,.link-card,.process-card{transition:transform .15s ease, box-shadow .15s ease}
.card:hover,.service:hover,.encadre:hover,.link-card:hover,.process-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.06)}


/* Header pill focus */
.nav .btn:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(198,162,94,.18);
}
/* Small badge */
.badge-min{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;border:1px solid var(--gold-2);background:linear-gradient(180deg,#fff,#fefaf2);font-size:12px;font-weight:600;color:#3c3c38;vertical-align:middle}


/* Subtle section divider */
.divider{height:1px;background:linear-gradient(90deg,transparent,#E6D4AF,transparent);margin:22px 0}

/* Premium hover for primary (black) CTAs */
.cta .btn:hover,.cta-inline .btn:hover,.form .btn:hover{color:var(--gold);border-color:var(--gold)}
/* Keep nav pill readable and unaffected */
.nav .btn:hover{color:#0d0d0d;border-color:var(--gold)}


/* Scroll progress bar (desktop) */
.progress-bar{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,#E6D4AF,#C6A25E);z-index:200;transition:width .12s ease}
@media (max-width:880px){ .progress-bar{display:none}}

/* Hero shadow reveal */
.hero{position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:16px;pointer-events:none;opacity:0;transition:opacity .25s ease;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.06))}
.hero.is-revealed::after{opacity:1}


/* Reveal on scroll (respects reduced motion) */
.reveal-on-scroll{opacity:0;transform:translateY(10px)}
.reveal-on-scroll.in-view{animation:fadeUp .5s ease forwards}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){
  .reveal-on-scroll{opacity:1;transform:none}
  .reveal-on-scroll.in-view{animation:none}
}

/* Skip to content link */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:12px;width:auto;height:auto;background:#111;color:#fff;padding:8px 12px;border-radius:8px;z-index:300}

/* Smooth scroll (disabled if prefers-reduced-motion) */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }


/* ===== Mobile & Safari polish (no desktop impact) ===== */
html{-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
button,input,select,textarea{-webkit-appearance:none;appearance:none}

@media (max-width:640px){
  .container{padding:0 18px}
  .hero-content{padding:84px 0 60px}
  .hero h1{font-size:34px;line-height:1.15}
  .hero p{font-size:16px}
  .actions{flex-direction:column;align-items:stretch}
  .actions .btn,.actions .link{width:100%;text-align:center}
  .cta .btn,.cta-inline .btn,.form .btn{width:100%}
  .nav nav a{padding:10px 8px}
}

@media (max-width:880px){
  .hamburger{padding:10px}
  .hamburger span{height:3px}
  .site-header .nav{height:68px}
}

.hero, .hero-header, .section-hero {
  background-position: center 80%; /* descend l'image -> on lit "Porsche" */
  background-size: cover;
}
