@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap');

/* Tokens et composants partagés : structure volontairement proche de futurs composants Nuxt. */
:root{--graphite:#1e1e1e;--white:#fff;--turquoise:#00bfc1;--copper:#b87333;--mist:#eafafa;--sand:#f4eee8;--soft:#f5f5f2;--ink-soft:#626262;--line:rgba(30,30,30,.14);--max:1180px;--radius:22px;--shadow:0 20px 55px rgba(30,30,30,.12)}
*{box-sizing:border-box}html,body{max-width:100%}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--graphite);font:16px/1.65 Manrope,Arial,sans-serif}img,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{max-width:100%;font:inherit}.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:10px;z-index:30;background:var(--graphite);color:var(--white);padding:.7rem 1rem}.skip-link:focus{left:10px}
.site-header{position:relative;z-index:20;background:var(--graphite);color:var(--white);padding:20px 0}.site-header.is-overlay{position:absolute;inset:0 0 auto;background:transparent}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-family:Sora,Arial,sans-serif;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:58px;height:46px;padding:4px;background:rgba(255,255,255,.96)}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-mark .brand-logo-compact{display:none}.nav{display:flex;align-items:center;gap:23px;font-size:.88rem;font-weight:600}.nav>a:not(.button):hover,.nav>a[aria-current="page"]{color:var(--turquoise)}.menu-button{display:none;border:1px solid rgba(255,255,255,.5);background:transparent;color:var(--white);padding:.55rem .75rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1.18rem;border:1px solid transparent;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--turquoise);color:var(--graphite)}.button-dark{background:var(--graphite);color:var(--white)}.button-outline{border-color:currentColor;background:transparent}.button[aria-disabled="true"]{cursor:not-allowed;opacity:.62;transform:none}
.eyebrow{margin:0 0 16px;color:var(--turquoise);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3{font-family:Sora,Arial,sans-serif;line-height:1.1;letter-spacing:-.04em}h1{font-size:clamp(3rem,7vw,6.6rem);font-weight:600}h2{font-size:clamp(2.2rem,5vw,4.5rem)}h3{font-size:1.35rem}.section{padding:105px 0}.section-soft{background:var(--soft)}.section-mist{background:var(--mist)}.section-dark{background:var(--graphite);color:var(--white)}.section-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:54px;align-items:end;margin-bottom:48px}.section-heading h2{margin:0}.section-heading>p{max-width:640px;margin:0;color:var(--ink-soft)}.section-dark .section-heading>p{color:rgba(255,255,255,.67)}
.hero{position:relative;display:grid;min-height:clamp(680px,82vh,880px);align-items:end;overflow:hidden;background:var(--graphite);color:var(--white);padding:175px 0 88px}.hero:before,.page-hero:before{content:"";position:absolute;width:620px;height:620px;right:-120px;top:-170px;border:105px solid rgba(0,191,193,.18);border-radius:50%}.hero:after,.page-hero:after{content:"";position:absolute;height:8px;right:0;bottom:0;width:46%;background:linear-gradient(90deg,var(--turquoise) 0 66%,var(--copper) 66%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:end}.hero h1{max-width:870px;margin:0}.hero-copy{max-width:690px;margin:27px 0 0;color:rgba(255,255,255,.82);font-size:clamp(1.08rem,2vw,1.34rem)}.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero-note{border-left:3px solid var(--copper);padding-left:20px;color:rgba(255,255,255,.74);font-size:.9rem}.hero-note strong{display:block;color:var(--white);font-family:Sora;font-size:1.05rem}
.hero-video{position:absolute;z-index:0;inset:0;overflow:hidden;background:var(--graphite)}.hero-video__asset{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-desktop-position,center)}.hero-video__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.08)),#000;opacity:var(--hero-overlay-opacity,.45)}.hero-video--grayscale .hero-video__asset{filter:grayscale(1)}.hero-video--dark .hero-video__asset{filter:brightness(.65)}.hero-video--grayscale-dark .hero-video__asset{filter:grayscale(1) brightness(.72)}.hero--with-media:before{z-index:1;opacity:.32}.hero--with-media:after{z-index:2}.hero--with-media .hero-grid{z-index:3}
.page-hero{position:relative;overflow:hidden;background:var(--graphite);color:var(--white);padding:112px 0 82px}.page-hero:before{width:430px;height:430px;border-width:74px;right:-80px;top:-170px}.page-hero .shell{position:relative;z-index:1}.breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:45px;color:rgba(255,255,255,.56);font-size:.82rem}.breadcrumb a:hover{color:var(--turquoise)}.page-hero h1{max-width:900px;margin:0;font-size:clamp(2.8rem,6vw,5.7rem)}.page-hero .lead{max-width:730px;margin:24px 0 0;color:rgba(255,255,255,.76);font-size:1.18rem}
.audience-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.audience-card{position:relative;display:flex;min-width:0;flex-direction:column;grid-column:span 2;min-height:270px;border:1px solid var(--line);padding:28px;overflow:hidden;transition:transform .2s,box-shadow .2s}.audience-card:nth-child(4),.audience-card:nth-child(5){grid-column:span 3}.audience-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.audience-card:after{content:"";position:absolute;width:90px;height:90px;right:-46px;bottom:-46px;border:18px solid var(--turquoise);border-radius:50%;opacity:.55}.audience-card:nth-child(even):after{border-color:var(--copper)}.number{color:var(--copper);font-family:Sora;font-size:.78rem;font-weight:700}.audience-card h3{margin:auto 0 8px;overflow-wrap:anywhere}.audience-card p{margin:0 0 18px;color:var(--ink-soft);font-size:.92rem}.text-link{font-size:.84rem;font-weight:700;text-decoration:underline;text-decoration-color:var(--turquoise);text-decoration-thickness:2px;text-underline-offset:5px}
.problem-grid,.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:75px;align-items:center}.statement{min-width:0;border-left:7px solid var(--copper);padding:34px;background:var(--sand);font-family:Sora;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.4}.problem-copy h2,.split h2{margin:0 0 25px}.problem-copy p,.split-copy{color:var(--ink-soft)}.use-grid,.benefit-grid,.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.use-card,.benefit-card,.step-card{min-width:0;border:1px solid var(--line);padding:30px;min-height:210px;background:var(--white)}.use-card h3,.benefit-card h3,.step-card h3{margin:35px 0 10px;overflow-wrap:anywhere}.use-card p,.benefit-card p,.step-card p{margin:0;color:var(--ink-soft)}.benefit-card{border-top:5px solid var(--turquoise)}.benefit-card:nth-child(even){border-top-color:var(--copper)}.icon-stencil{display:block;width:35px;height:35px;border:8px solid var(--turquoise);border-radius:50%}.step-number{font-family:Sora;color:var(--copper);font-weight:700;font-size:.82rem}
.rental-panel{display:grid;grid-template-columns:1.1fr .9fr;background:var(--mist)}.rental-content{padding:60px}.rental-content h2{margin:0 0 22px}.rental-visual{position:relative;min-height:430px;background:var(--graphite);overflow:hidden}.rental-visual:before,.rental-visual:after{content:"";position:absolute;border-radius:50%;border:45px solid var(--turquoise)}.rental-visual:before{width:300px;height:300px;left:-95px;top:75px}.rental-visual:after{width:180px;height:180px;right:-50px;top:-40px;border-color:var(--copper)}.visual-label{position:absolute;z-index:1;right:35px;bottom:35px;max-width:260px;color:var(--white);font-family:Sora;font-size:1.65rem;font-weight:600;line-height:1.2}.depots{display:grid;gap:8px;margin-top:26px}.depot{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,120,122,.24);padding:12px 0;font-weight:700}.depot:after{content:"Dépôt prévu";color:#527071;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.soon{background:var(--sand);padding:42px;border-left:7px solid var(--copper)}.soon p{max-width:930px;margin:0;font-family:Sora;font-size:clamp(1.3rem,3vw,2.15rem);line-height:1.38}
.cta-band{background:var(--graphite);color:var(--white);padding:75px 0}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}.cta-grid h2{max-width:760px;margin:0 0 14px;font-size:clamp(2.3rem,5vw,4.8rem)}.cta-grid p{margin:0;color:rgba(255,255,255,.67)}.cta-grid .cta-actions{display:grid;min-width:220px;margin:0}
.booking-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:55px;align-items:start}.booking-info{position:sticky;top:24px;min-width:0}.booking-info h2{margin:0 0 20px}.mock-form{position:relative;min-width:0;border:1px solid var(--line);background:var(--white);padding:38px;box-shadow:var(--shadow)}.mock-banner{margin:-38px -38px 30px;padding:18px 38px;background:var(--sand);border-left:7px solid var(--copper);font-weight:700}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.field{display:grid;min-width:0;gap:7px}.field-wide{grid-column:1/-1}.field label{font-size:.82rem;font-weight:700}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;border:1px solid #bdbdbd;background:#fafafa;padding:13px;color:#777;opacity:1;-webkit-text-fill-color:#777}.field textarea{min-height:120px;resize:vertical}.form-note{margin:20px 0 0;color:var(--ink-soft);font-size:.82rem}.mock-form:after{content:"DÉMONSTRATION";position:absolute;right:20px;top:8px;color:rgba(184,115,51,.38);font:700 .67rem Sora;letter-spacing:.13em}
.contact-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.contact-card{min-width:0;border:1px solid var(--line);padding:36px}.contact-card .label{display:block;color:var(--copper);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-card strong,.contact-card a{display:block;margin-top:15px;font-family:Sora;font-size:clamp(1.1rem,2vw,1.65rem);overflow-wrap:anywhere}.contact-card a{text-decoration:underline;text-decoration-color:var(--turquoise);text-underline-offset:6px}.identity-note{margin-top:20px;color:var(--ink-soft);font-size:.88rem}
.site-footer{background:var(--graphite);color:rgba(255,255,255,.65);border-top:1px solid rgba(255,255,255,.12);padding:45px 0;font-size:.82rem}.footer-main{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:40px;margin-bottom:38px}.footer-brand p{max-width:330px}.footer-links{display:grid;align-content:start;gap:8px}.footer-links strong{margin-bottom:7px;color:var(--white);font-family:Sora}.footer-links a:hover{color:var(--turquoise)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:25px;border-top:1px solid rgba(255,255,255,.1)}
.error-page{display:grid;min-height:100vh;place-items:center;background:var(--graphite);color:var(--white);padding:40px}.error-card{width:min(100%,720px);border-top:8px solid var(--turquoise);padding:55px;background:#292929}.error-code{color:var(--copper);font-family:Sora;font-size:.9rem;font-weight:700;letter-spacing:.2em}.error-card h1{margin:16px 0 24px}.error-card p{color:rgba(255,255,255,.7);margin-bottom:32px}
@media(max-width:930px){.menu-button{display:block;flex:0 0 auto}.nav{display:none;position:absolute;z-index:25;top:calc(100% + 8px);left:20px;right:20px;max-height:calc(100vh - 100px);overflow-y:auto;align-items:stretch;flex-direction:column;gap:0;background:var(--white);color:var(--graphite);padding:14px;box-shadow:var(--shadow)}.nav[data-open="true"]{display:flex}.nav>a{padding:11px}.nav .button{width:100%}.hero{min-height:clamp(650px,78vh,800px)}.hero-grid,.section-heading,.problem-grid,.split,.booking-layout,.cta-grid{grid-template-columns:minmax(0,1fr)}.hero-note{display:none}.booking-info{position:static}.audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-card,.audience-card:nth-child(4),.audience-card:nth-child(5){grid-column:span 1}.rental-panel{grid-template-columns:minmax(0,1fr)}.use-grid,.benefit-grid,.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-grid .cta-actions{display:flex;min-width:0;flex-wrap:wrap}.footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:680px){.shell{width:min(calc(100% - 28px),var(--max))}.site-header{padding:15px 0}.brand>span:last-child{display:none}.brand-mark{width:46px}.brand-mark .brand-logo-full{display:none}.brand-mark .brand-logo-compact{display:block}.nav{left:14px;right:14px}.hero{min-height:78svh;padding:130px 0 62px}.hero h1{font-size:clamp(2.55rem,13vw,4.4rem)}.hero-video__asset{object-position:var(--hero-mobile-position,center)}.page-hero{padding:68px 0 60px}.page-hero h1{font-size:clamp(2.3rem,11vw,3.8rem);overflow-wrap:anywhere}.page-hero .lead{font-size:1.02rem}.breadcrumb{margin-bottom:30px;flex-wrap:wrap}.section{padding:68px 0}.section h2,.cta-grid h2{font-size:clamp(2rem,10vw,3.25rem);overflow-wrap:anywhere}.section-heading{gap:24px;margin-bottom:34px}.audience-grid,.use-grid,.benefit-grid,.steps-grid,.contact-cards,.form-grid,.footer-main{grid-template-columns:minmax(0,1fr)}.audience-card{min-height:210px;padding:24px}.rental-content,.mock-form{padding:26px}.mock-banner{margin:-26px -26px 26px;padding:42px 26px 18px}.mock-form:after{left:26px;right:auto}.rental-visual{min-height:280px}.depot{gap:16px}.depot:after{text-align:right}.soon{padding:26px}.statement{padding:26px}.cta-band{padding:62px 0}.cta-grid{gap:30px}.cta-grid .cta-actions,.hero-actions{display:grid;width:100%}.cta-grid .button,.hero-actions .button{width:100%}.footer-main{gap:25px}.footer-bottom{display:grid}.contact-card{padding:28px}.error-card{padding:35px}}
@media(max-width:420px){.shell{width:calc(100% - 24px)}.brand-mark{width:42px;height:42px}.hero{min-height:82svh;padding-top:118px}.hero h1{font-size:clamp(2.3rem,12.5vw,3.25rem)}.page-hero h1{font-size:clamp(2.05rem,11vw,3rem)}.section{padding:58px 0}.section h2,.cta-grid h2{font-size:clamp(1.85rem,9.5vw,2.7rem)}.audience-card,.use-card,.benefit-card,.step-card{padding:22px}.rental-content,.mock-form{padding:22px}.mock-banner{margin:-22px -22px 24px;padding:40px 22px 16px}.mock-form:after{left:22px}.depot{align-items:flex-start;flex-direction:column;gap:2px}.depot:after{text-align:left}.soon,.statement{padding:22px}.visual-label{right:24px;bottom:24px;font-size:1.4rem}.contact-card{padding:24px}.button{padding:.7rem 1rem;white-space:normal;text-align:center}.footer-bottom{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.audience-card{transition:none}}
