:root{
    --green:#07583b;
    --green-deep:#043c2a;
    --green-black:#06291e;
    --orange:#f05212;
    --orange-light:#ff6b2b;
    --cream:#f5f2e9;
    --cream-soft:#faf8f1;
    --cream-dark:#eae6da;
    --white:#ffffff;
    --text:#183229;
    --muted:#67756f;
    --line:rgba(7,88,59,.15);
    --line-light:rgba(255,255,255,.14);
    --font-title:"Space Grotesk",sans-serif;
    --font-body:"Inter",sans-serif;
    --container:1380px;
    --shadow-soft:0 18px 55px rgba(4,60,42,.08);
    --shadow-premium:0 35px 100px rgba(5,55,38,.15);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:var(--font-body);
    color:var(--text);
    background:var(--cream);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem;color:#53645c}
h1,h2,h3{margin:0;font-family:var(--font-title);letter-spacing:-.055em}
::selection{background:var(--orange);color:#fff}

.container{
    width:min(var(--container),calc(100% - 120px));
    margin-inline:auto;
}

.skip-link{
    position:absolute;
    left:-9999px;
    top:auto;
}
.skip-link:focus{
    left:20px;
    top:20px;
    z-index:99999;
    padding:12px 16px;
    border-radius:999px;
    background:#fff;
    color:var(--green);
    box-shadow:var(--shadow-soft);
}

.breadcrumb{
    padding-top:22px;
    position:relative;
    z-index:20;
}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:11px;list-style:none;margin:0;padding:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#79847f}
.breadcrumb li{display:flex;align-items:center;gap:11px}
.breadcrumb li:not(:last-child)::after{content:"/";color:rgba(7,88,59,.3)}
.breadcrumb a:hover{color:var(--orange)}

.section-kicker{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:28px;
    color:var(--orange);
    font-size:.73rem;
    font-weight:700;
    letter-spacing:.17em;
    text-transform:uppercase;
}
.section-kicker::before{content:"";width:34px;height:2px;background:currentColor}
.section-kicker-light{color:#ff9a6b}
.large-copy{font-family:var(--font-title);font-size:clamp(1.4rem,2vw,2rem);letter-spacing:-.035em;line-height:1.3;color:var(--text)}

/* =========================================================
   HERO PRESTIGE
========================================================= */
.hero-prestige{
    position:relative;
    overflow:hidden;
    padding:clamp(60px,6vw,100px) 0 0;
    background:
        radial-gradient(circle at 86% 8%,rgba(240,82,18,.08),transparent 28%),
        radial-gradient(circle at 8% 82%,rgba(7,88,59,.06),transparent 30%),
        var(--cream);
}
.hero-prestige-inner{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);
    gap:clamp(75px,7vw,135px);
    align-items:center;
    padding-bottom:clamp(75px,7vw,115px);
}
.hero-grid-decoration{
    position:absolute;
    inset:0 0 0 auto;
    width:52%;
    opacity:.32;
    background-image:
        linear-gradient(rgba(7,88,59,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(7,88,59,.07) 1px,transparent 1px);
    background-size:92px 92px;
    -webkit-mask-image:linear-gradient(90deg,transparent,black);
    mask-image:linear-gradient(90deg,transparent,black);
    pointer-events:none;
}
.hero-big-letter{
    position:absolute;
    left:-5vw;
    bottom:-7vw;
    font-family:var(--font-title);
    font-size:clamp(20rem,40vw,45rem);
    font-weight:700;
    line-height:.7;
    color:transparent;
    -webkit-text-stroke:1px rgba(7,88,59,.045);
    pointer-events:none;
}
.hero-prestige-copy{position:relative;z-index:4;min-width:0}
.hero-brandline{display:flex;align-items:center;gap:22px;margin-bottom:42px}
.hero-square-logo{
    width:110px;
    height:110px;
    object-fit:contain;
    flex:0 0 110px;
    padding:6px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 16px 48px rgba(4,60,42,.09);
}
.hero-brand-text{display:flex;flex-direction:column;gap:4px}
.hero-brand-text span{font-family:var(--font-title);font-size:1.08rem;font-weight:700;letter-spacing:.13em;color:var(--green)}
.hero-brand-text small{font-size:.76rem;letter-spacing:.04em;color:#6c7772}
.hero-location{display:flex;align-items:center;gap:13px;margin-bottom:27px;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#56665e}
.hero-location-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 7px rgba(240,82,18,.10)}
.prestige-title{font-size:clamp(4.6rem,7vw,8.5rem);font-weight:600;line-height:.8;letter-spacing:-.078em;color:var(--green)}
.title-line{display:block}
.title-outline{color:transparent;-webkit-text-stroke:2px var(--green)}
.title-orange{color:var(--orange);padding-left:clamp(18px,4vw,62px);margin-top:8px}
.hero-description{max-width:650px;margin-top:46px;font-size:clamp(.98rem,1.1vw,1.08rem);line-height:1.82;color:#4f6158}
.hero-description strong{color:var(--green)}
.hero-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:35px}
.prestige-btn{
    min-height:62px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    padding:0 26px;
    border-radius:999px;
    font-size:.91rem;
    font-weight:700;
    transition:transform .28s ease,box-shadow .28s ease,background .28s ease,color .28s ease;
}
.prestige-btn:hover{transform:translateY(-4px)}
.prestige-btn-orange{background:var(--orange);color:#fff;box-shadow:0 18px 44px rgba(240,82,18,.20)}
.prestige-btn-orange:hover{box-shadow:0 25px 58px rgba(240,82,18,.30)}
.prestige-btn-orange i{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--orange);font-style:normal}
.prestige-btn-clear{border:1px solid rgba(7,88,59,.14);background:rgba(255,255,255,.56);color:var(--green);backdrop-filter:blur(14px)}
.prestige-btn-dark{margin-top:26px;background:var(--green-black);color:#fff}
.hero-proof{display:flex;gap:clamp(28px,4vw,55px);margin-top:48px;padding-top:28px;border-top:1px solid rgba(7,88,59,.13)}
.hero-proof article{position:relative}
.hero-proof article:not(:last-child)::after{content:"";position:absolute;right:-25px;top:5px;width:1px;height:40px;background:rgba(7,88,59,.13)}
.hero-proof strong{display:block;font-family:var(--font-title);font-size:1.3rem;color:var(--green)}
.hero-proof span{display:block;margin-top:3px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#78837e}

.hero-prestige-media{position:relative;min-width:0}
.hero-photo-frame{
    position:relative;
    isolation:isolate;
    padding:clamp(12px,1.5vw,20px);
    border:1px solid rgba(255,255,255,.85);
    border-radius:42px;
    background:rgba(255,255,255,.60);
    box-shadow:var(--shadow-premium);
    backdrop-filter:blur(20px);
}
.hero-landscape-photo{
    width:100%;
    height:auto;
    aspect-ratio:16/10;
    object-fit:cover;
    object-position:center;
    border-radius:29px;
    filter:saturate(.94) contrast(1.02);
}
.hero-photo-number{position:absolute;top:-34px;right:30px;z-index:5;font-family:var(--font-title);font-size:clamp(4rem,7vw,7rem);font-weight:700;line-height:1;color:var(--orange)}
.hero-floating-card{
    position:absolute;
    z-index:5;
    left:-48px;
    bottom:45px;
    width:min(250px,44%);
    padding:26px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:23px;
    background:rgba(4,60,42,.95);
    color:#fff;
    box-shadow:0 25px 55px rgba(4,60,42,.24);
    backdrop-filter:blur(15px);
}
.floating-label{display:block;margin-bottom:18px;color:#ff9360;font-size:.61rem;font-weight:700;letter-spacing:.18em}
.hero-floating-card strong{display:block;font-family:var(--font-title);font-size:clamp(2.2rem,3vw,3.3rem);line-height:.95}
.hero-floating-card p{margin:14px 0 0;color:rgba(255,255,255,.64);line-height:1.5;font-size:.82rem}
.hero-photo-footer{display:flex;align-items:center;gap:15px;margin-top:18px;padding:0 12px;font-size:.61rem;letter-spacing:.15em;color:#78827d}
.photo-footer-line{flex:1;height:1px;background:rgba(7,88,59,.15)}
.hero-marquee{overflow:hidden;background:var(--green-black);color:#fff}
.hero-marquee-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px;font-family:var(--font-title);font-size:.7rem;font-weight:600;letter-spacing:.17em;white-space:nowrap}
.hero-marquee b{color:var(--orange);font-size:.8rem}

/* =========================================================
   MANIFESTE
========================================================= */
.manifest{padding:clamp(105px,10vw,155px) 0}
.manifest-grid{display:grid;grid-template-columns:.18fr .92fr 1fr;gap:clamp(35px,5vw,70px);align-items:start}
.manifest-number{padding-top:9px;font-family:var(--font-title);font-size:.9rem;color:var(--orange)}
.manifest h2{font-size:clamp(3.8rem,6vw,7rem);line-height:.88;color:var(--green)}
.manifest-text{padding-top:58px}
.manifest-text p{color:#596962}
.arrow-link{display:inline-flex;align-items:center;gap:28px;margin-top:20px;padding-bottom:8px;border-bottom:1px solid var(--green);font-weight:700;color:var(--green)}
.arrow-link span{color:var(--orange)}

/* =========================================================
   SERVICES EDITORIAUX
========================================================= */
.services-editorial{padding:clamp(105px,9vw,145px) 0;background:var(--green-black);color:#fff}
.services-heading{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end;margin-bottom:72px}
.services-heading h2{font-size:clamp(4rem,6vw,7rem);line-height:.87;color:#fff}
.services-intro p{color:rgba(255,255,255,.62)}
.service-stack{border-top:1px solid rgba(255,255,255,.15)}
.service-line{
    position:relative;
    display:grid;
    grid-template-columns:86px 1fr 76px;
    gap:30px;
    align-items:center;
    min-height:155px;
    border-bottom:1px solid rgba(255,255,255,.15);
    transition:background .35s ease,padding .35s ease;
}
.service-line::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--orange);transition:width .35s ease}
.service-line:hover{padding-left:28px;background:rgba(255,255,255,.035)}
.service-line:hover::before{width:5px}
.service-index{font-family:var(--font-title);color:var(--orange)}
.service-main{display:grid;grid-template-columns:.55fr 1fr;gap:30px;align-items:center}
.service-main h3{font-size:clamp(2rem,4vw,4rem);color:#fff}
.service-main p{max-width:600px;margin:0;color:rgba(255,255,255,.61)}
.service-arrow{width:58px;height:58px;display:grid;place-items:center;margin-left:auto;border:1px solid rgba(255,255,255,.28);border-radius:50%;font-size:1.45rem;transition:.3s ease}
.service-line:hover .service-arrow{transform:rotate(45deg);border-color:var(--orange);background:var(--orange);color:#fff}
.special-service{background:linear-gradient(90deg,rgba(240,82,18,.12),transparent 55%)}
.service-secondary-links{display:flex;flex-wrap:wrap;gap:11px;margin-top:35px}
.service-secondary-links a{padding:10px 16px;border:1px solid rgba(255,255,255,.17);border-radius:999px;color:rgba(255,255,255,.78);font-size:.84rem;transition:.25s ease}
.service-secondary-links a:hover{background:#fff;color:var(--green-black)}

/* =========================================================
   EXPERIENCE
========================================================= */
.experience{padding:clamp(110px,10vw,155px) 0;background:var(--cream-soft)}
.experience-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(65px,7vw,100px);align-items:center}
.experience-photo{position:relative;min-width:0}
.experience-photo img{
    width:100%;
    height:auto;
    aspect-ratio:16/10;
    object-fit:cover;
    object-position:center;
    border-radius:30px 150px 30px 30px;
    box-shadow:var(--shadow-premium);
}
.experience-stamp{position:absolute;right:-35px;bottom:42px;width:145px;height:145px;display:flex;align-items:center;justify-content:center;gap:13px;border-radius:50%;background:var(--orange);color:#fff;box-shadow:0 20px 45px rgba(240,82,18,.27)}
.experience-stamp strong{font-family:var(--font-title);font-size:3rem;line-height:1}
.experience-stamp span{font-size:.72rem;font-weight:700;line-height:1.2;text-transform:uppercase}
.experience h2{font-size:clamp(4rem,6vw,6.5rem);line-height:.86;color:var(--text)}
.experience h2 span{color:var(--orange)}
.experience-copy>p{max-width:570px;color:#596962}
.experience-list{margin-top:36px}
.experience-list>div{display:grid;grid-template-columns:50px 1fr;padding:18px 0;border-top:1px solid var(--line)}
.experience-list span{font-family:var(--font-title);color:var(--orange)}
.experience-list p{margin:0}
.experience-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:8px}
.text-cta{font-weight:700;color:var(--green);border-bottom:1px solid rgba(7,88,59,.3);padding-bottom:5px}

/* =========================================================
   STATEMENT
========================================================= */
.statement{padding:35px 0 135px;background:var(--cream-soft)}
.statement-card{position:relative;overflow:hidden;padding:clamp(48px,7vw,92px);border-radius:36px;background:var(--orange);color:#fff;box-shadow:0 30px 75px rgba(240,82,18,.16)}
.statement-card::after{content:"J";position:absolute;right:-10px;bottom:-125px;font-family:var(--font-title);font-size:28rem;font-weight:700;line-height:1;color:rgba(255,255,255,.08)}
.statement-small{display:block;margin-bottom:30px;font-size:.72rem;font-weight:700;letter-spacing:.19em}
.statement p{position:relative;z-index:2;max-width:1000px;margin:0;color:#fff;font-family:var(--font-title);font-size:clamp(3rem,6vw,7.4rem);letter-spacing:-.066em;line-height:.86}
.statement p em{font-style:normal;color:var(--green-black)}
.statement-actions{position:relative;z-index:3;display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:40px}
.statement-actions>a:first-child{display:inline-flex;gap:22px;color:#fff;font-size:1.06rem;font-weight:700}
.statement-secondary{padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.6);color:#fff;font-weight:600;font-size:.9rem}

/* =========================================================
   LOCAL
========================================================= */
.local{padding:clamp(110px,10vw,155px) 0}
.local-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(65px,7vw,100px);align-items:center}
.local h2{font-size:clamp(4rem,6vw,7rem);line-height:.86;color:var(--green)}
.local-copy p{max-width:620px}
.city-cloud{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}
.city-cloud span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;font-size:.8rem;color:#5f6e67}
.city-cloud span:nth-child(3n){border-color:rgba(240,82,18,.35);color:var(--orange)}
.local-photo{position:relative;min-width:0}
.local-photo::before{content:"";position:absolute;left:-28px;top:28px;width:100%;height:100%;border:2px solid var(--orange);border-radius:145px 30px 30px 30px}
.local-photo img{
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:16/10;
    object-fit:cover;
    object-position:center;
    border-radius:145px 30px 30px 30px;
    box-shadow:var(--shadow-premium);
}
.local-coordinate{position:absolute;right:22px;bottom:-17px;padding:10px 17px;border-radius:999px;background:var(--green-black);color:#fff;font-size:.68rem;letter-spacing:.16em}
.local-line{position:absolute;right:7%;top:-24px;width:1px;height:62px;background:var(--orange)}

/* =========================================================
   PRINCIPES
========================================================= */
.principles{padding:clamp(110px,10vw,155px) 0;background:var(--green-deep);color:#fff;overflow:hidden}
.principles-heading{max-width:850px;margin-bottom:65px}
.principles-heading h2{font-size:clamp(4rem,6vw,7rem);line-height:.87;color:#fff}
.principles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:30px;overflow:hidden}
.principle-card{position:relative;min-height:340px;padding:34px;background:var(--green-deep)}
.principle-card-accent{background:var(--orange)}
.principle-number{display:block;margin-bottom:80px;font-family:var(--font-title);font-size:.82rem;color:#ff9867}
.principle-card-accent .principle-number{color:#fff}
.principle-card h3{font-size:1.55rem;color:#fff;margin-bottom:14px}
.principle-card p{margin:0;color:rgba(255,255,255,.62)}
.principle-card-accent p{color:rgba(255,255,255,.83)}

/* =========================================================
   TRUST
========================================================= */
.trust{padding:clamp(105px,9vw,145px) 0;background:var(--cream-dark)}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(65px,8vw,115px)}
.trust h2{font-size:clamp(3.7rem,5.5vw,6rem);line-height:.9;color:var(--text)}
.trust-content p{max-width:650px}
.rating-block{margin-top:36px;padding:30px;border-radius:26px;background:#fff;box-shadow:var(--shadow-soft)}
.rating-block strong{display:block;font-family:var(--font-title);font-size:4rem;line-height:1;color:var(--green)}
.rating-block span{display:block;margin:9px 0 18px}
.rating-block a{color:var(--orange);font-weight:700}
.rating-placeholder{margin-top:30px;padding:24px;border:1px dashed rgba(7,88,59,.28);border-radius:22px;color:var(--muted)}

/* =========================================================
   FAQ
========================================================= */
.faq{padding:clamp(110px,10vw,155px) 0;background:var(--cream-soft)}
.faq-heading{margin-bottom:62px}
.faq h2{font-size:clamp(4rem,6vw,7rem);line-height:.86;color:var(--text)}
.faq-items{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;display:grid;grid-template-columns:65px 1fr 42px;align-items:center;gap:20px;padding:30px 0;list-style:none;font-family:var(--font-title);font-size:clamp(1.3rem,2vw,2rem);font-weight:600;color:var(--text)}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{font-size:.78rem;color:var(--orange)}
.faq summary b{width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-weight:400;transition:.25s ease}
.faq details[open] summary b{transform:rotate(45deg);border-color:var(--orange);background:var(--orange);color:#fff}
.faq details>div{max-width:820px;padding:0 0 30px 85px}
.faq details p{margin:0}
.faq details a{font-weight:700;color:var(--green)}

/* =========================================================
   CONTACT PRESTIGE
========================================================= */
.contact-prestige{position:relative;overflow:hidden;padding:clamp(115px,10vw,160px) 0;background:var(--green);color:#fff}
.contact-watermark{position:absolute;left:-3vw;bottom:-4vw;font-family:var(--font-title);font-size:clamp(10rem,24vw,28rem);font-weight:700;line-height:.75;letter-spacing:-.09em;color:rgba(255,255,255,.035);pointer-events:none}
.contact-inner{position:relative;z-index:2}
.contact-prestige h2{font-size:clamp(4rem,8vw,9rem);line-height:.8;color:#fff}
.contact-inner>p{max-width:650px;margin-top:35px;color:rgba(255,255,255,.72);font-size:1.04rem}
.contact-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:40px}
.contact-main,.contact-phone{min-height:70px;display:inline-flex;align-items:center;gap:35px;padding:0 28px;border-radius:999px;font-weight:700;transition:.28s ease}
.contact-main{background:var(--orange);color:#fff}
.contact-main:hover{transform:translateY(-4px) scale(1.01)}
.contact-phone{border:1px solid rgba(255,255,255,.22);color:#fff}
.contact-phone:hover{background:#fff;color:var(--green)}
.contact-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:90px;padding-top:30px;border-top:1px solid rgba(255,255,255,.16)}
.contact-meta small{display:block;margin-bottom:8px;font-size:.64rem;letter-spacing:.16em;color:#9bc0b0}
.contact-meta strong{font-size:.9rem;line-height:1.5}

/* =========================================================
   MAP + SEO
========================================================= */
.map-section iframe{display:block;width:100%}
.seo-ending{padding:38px 0;background:var(--cream)}
.seo-ending p{max-width:1050px;margin:auto;font-size:.86rem;color:var(--muted)}

/* =========================================================
   FOOTER
========================================================= */
.footer{padding:72px 0 26px;background:var(--green-black);color:#fff}
.footer-layout{display:grid;grid-template-columns:1.05fr 1.25fr .9fr 1fr 1fr .8fr;gap:36px;align-items:start}
.footer-logo img{width:130px;height:130px;object-fit:contain}
.footer-block>span,.footer-block>strong{display:block;margin-bottom:15px;font-family:var(--font-title);font-size:.72rem;letter-spacing:.13em;color:#fff}
.footer p,.footer a{display:block;margin:0 0 8px;color:rgba(255,255,255,.64);font-size:.85rem}
.footer a:hover{color:var(--orange)}
.footer-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:60px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.67rem;letter-spacing:.1em;color:rgba(255,255,255,.35)}

/* =========================================================
   ACCESSIBILITÉ / MOTION
========================================================= */
a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px;border-radius:10px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* =========================================================
   TABLETTE
========================================================= */
@media(max-width:1100px){
    .container{width:min(100% - 64px,var(--container))}
    .hero-prestige-inner,.manifest-grid,.services-heading,.experience-grid,.local-grid,.trust-grid{grid-template-columns:1fr}
    .hero-prestige-copy{max-width:850px}
    .hero-prestige-media{max-width:920px}
    .hero-photo-frame{margin-left:42px}
    .manifest-grid{gap:24px}
    .manifest-text{padding-top:15px}
    .service-main{grid-template-columns:1fr;gap:10px}
    .principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .footer-layout{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* =========================================================
   MOBILE
========================================================= */
@media(max-width:700px){
    .container{width:min(100% - 36px,var(--container))}
    .breadcrumb{padding-top:14px}
    .hero-prestige{padding-top:42px}
    .hero-prestige-inner{gap:50px;padding-bottom:62px}
    .hero-brandline{margin-bottom:30px}
    .hero-square-logo{width:82px;height:82px;flex-basis:82px;border-radius:17px}
    .hero-brand-text span{font-size:.88rem}
    .hero-brand-text small{font-size:.65rem}
    .prestige-title{font-size:clamp(3.65rem,17vw,5.4rem);letter-spacing:-.07em}
    .title-outline{-webkit-text-stroke:1.4px var(--green)}
    .title-orange{padding-left:12px}
    .hero-description{margin-top:32px;line-height:1.72}
    .hero-buttons{flex-direction:column}
    .prestige-btn{width:100%}
    .hero-proof{justify-content:space-between;gap:10px}
    .hero-proof article:not(:last-child)::after{display:none}
    .hero-photo-frame{margin-left:0;padding:9px;border-radius:26px}
    .hero-landscape-photo{aspect-ratio:4/3;border-radius:19px}
    .hero-floating-card{left:18px;bottom:18px;width:auto;max-width:200px;padding:18px}
    .hero-photo-number{top:-22px;right:18px}
    .hero-photo-footer{display:none}
    .hero-grid-decoration,.hero-big-letter{display:none}
    .hero-marquee-inner{justify-content:flex-start;overflow:hidden;gap:22px}

    .manifest,.services-editorial,.experience,.local,.principles,.trust,.faq,.contact-prestige{padding:88px 0}
    .manifest h2,.services-heading h2,.experience h2,.local h2,.principles-heading h2,.faq h2{font-size:clamp(3.1rem,15vw,5rem)}

    .service-line{grid-template-columns:36px 1fr 42px;gap:12px;min-height:145px}
    .service-main h3{font-size:2rem}
    .service-main p{font-size:.86rem}
    .service-arrow{width:42px;height:42px}

    .experience-photo img,.local-photo img{aspect-ratio:4/3;border-radius:70px 20px 20px 20px}
    .experience-stamp{right:10px;width:110px;height:110px}
    .local-photo::before{left:-12px;top:12px;border-radius:70px 20px 20px 20px}

    .statement{padding:18px 0 90px}
    .statement-card{border-radius:24px}
    .statement p{font-size:clamp(3rem,14vw,5rem)}

    .principles-grid{grid-template-columns:1fr}
    .principle-card{min-height:auto}
    .principle-number{margin-bottom:42px}

    .faq summary{grid-template-columns:38px 1fr 38px;gap:10px;padding:25px 0}
    .faq details>div{padding-left:0}

    .contact-prestige h2{font-size:clamp(4rem,18vw,6.2rem)}
    .contact-meta{grid-template-columns:1fr;gap:25px;margin-top:65px}

    .footer-layout{grid-template-columns:1fr}
    .footer-bottom{flex-direction:column}
}

/* =========================================================
   EFFECTS BOOST — PRESTIGE / MOTION / LIGHT
   Version V3 : halos, reflets, cercles et cubes animés.
========================================================= */

@keyframes floatY {
    0%,100% { transform: translate3d(0,0,0); }
    50% { transform: translate3d(0,-18px,0); }
}
@keyframes floatX {
    0%,100% { transform: translate3d(0,0,0); }
    50% { transform: translate3d(16px,0,0); }
}
@keyframes slowSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@keyframes shineSweep {
    0% { transform: translateX(-150%) skewX(-24deg); opacity:0; }
    15% { opacity:.15; }
    50% { opacity:.35; }
    100% { transform: translateX(220%) skewX(-24deg); opacity:0; }
}
@keyframes pulseGlow {
    0%,100% { opacity:.35; transform:scale(1); }
    50% { opacity:.65; transform:scale(1.08); }
}
@keyframes morphAura {
    0%,100% { border-radius:40% 60% 54% 46% / 42% 39% 61% 58%; }
    50% { border-radius:58% 42% 40% 60% / 51% 62% 38% 49%; }
}
@keyframes marqueeGlow {
    0%,100% { box-shadow:inset 0 0 0 rgba(255,255,255,0); }
    50% { box-shadow:inset 0 0 35px rgba(255,255,255,.04); }
}

.hero-prestige{
    background:
        radial-gradient(circle at 82% 12%, rgba(240,82,18,.13), transparent 23%),
        radial-gradient(circle at 12% 85%, rgba(7,88,59,.10), transparent 26%),
        linear-gradient(115deg, rgba(255,255,255,.52), rgba(255,255,255,0) 44%),
        linear-gradient(180deg, #f8f6ef 0%, #f3efe4 100%);
}
.hero-prestige::before,.hero-prestige::after{content:"";position:absolute;pointer-events:none}
.hero-prestige::before{inset:0 auto auto 0;width:42%;height:62%;background:radial-gradient(circle at 24% 24%,rgba(255,255,255,.72),transparent 58%);mix-blend-mode:screen;opacity:.7}
.hero-prestige::after{right:-10%;top:12%;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(7,88,59,.06),transparent 68%);filter:blur(6px);animation:pulseGlow 10s ease-in-out infinite}

.hero-ambient,.section-aura,.contact-orb,.statement-orb{position:absolute;pointer-events:none;filter:blur(2px)}
.hero-ambient{border-radius:50%;animation:floatY 8s ease-in-out infinite,pulseGlow 9s ease-in-out infinite}
.hero-ambient-one{right:8%;top:9%;width:180px;height:180px;background:radial-gradient(circle,rgba(255,255,255,.7),rgba(255,255,255,0) 68%)}
.hero-ambient-two{left:48%;top:32%;width:130px;height:130px;background:radial-gradient(circle,rgba(240,82,18,.20),rgba(240,82,18,0) 72%);animation-delay:-2s}
.hero-ambient-three{right:28%;bottom:20%;width:220px;height:220px;background:radial-gradient(circle,rgba(7,88,59,.12),rgba(7,88,59,0) 70%);animation-delay:-4s}

.hero-cube{position:absolute;pointer-events:none;border:1px solid rgba(7,88,59,.12);background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.05));backdrop-filter:blur(10px);box-shadow:0 18px 50px rgba(4,60,42,.07);animation:floatY 7s ease-in-out infinite,slowSpin 18s linear infinite}
.hero-cube-one{width:84px;height:84px;right:41%;top:16%;border-radius:24px}
.hero-cube-two{width:58px;height:58px;right:4%;bottom:20%;border-radius:18px;animation-delay:-3s}
.hero-circle-path{position:absolute;right:12%;top:16%;width:540px;height:540px;border-radius:50%;border:1px solid rgba(7,88,59,.10);border-top-color:rgba(240,82,18,.35);border-right-color:rgba(255,255,255,.45);pointer-events:none;animation:slowSpin 28s linear infinite}

.hero-photo-frame{overflow:visible;box-shadow:0 45px 120px rgba(5,55,38,.18),inset 0 1px 0 rgba(255,255,255,.6)}
.hero-photo-frame::before{content:"";position:absolute;inset:-1px;border-radius:42px;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.08),rgba(240,82,18,.22));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.8}
.hero-frame-glow{position:absolute;left:6%;right:6%;bottom:-30px;height:80px;background:radial-gradient(circle at center,rgba(4,60,42,.16),rgba(4,60,42,0) 70%);filter:blur(16px);z-index:-1}
.hero-frame-sheen{position:absolute;inset:0;overflow:hidden;border-radius:42px;pointer-events:none}
.hero-frame-sheen::after{content:"";position:absolute;inset:-20% auto -20% -12%;width:30%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.18),rgba(255,255,255,0));animation:shineSweep 7s ease-in-out infinite}
.hero-frame-ring{position:absolute;width:138px;height:138px;right:-30px;bottom:18%;border-radius:50%;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 0 0 18px rgba(255,255,255,.06);backdrop-filter:blur(6px);pointer-events:none;animation:slowSpin 16s linear infinite}
.hero-floating-card{background:linear-gradient(180deg,rgba(4,60,42,.95),rgba(4,60,42,.82));box-shadow:0 30px 65px rgba(4,60,42,.30),0 0 0 1px rgba(255,255,255,.04) inset}
.hero-marquee{position:relative;animation:marqueeGlow 6s ease-in-out infinite}
.hero-marquee::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(240,82,18,.08),transparent 20%,transparent 80%,rgba(240,82,18,.08));pointer-events:none}

.services-editorial,.experience,.local,.contact-prestige,.statement,.principles{position:relative;overflow:hidden}
.section-aura{width:360px;height:360px;border-radius:50%;opacity:.55;animation:floatX 9s ease-in-out infinite,morphAura 14s ease-in-out infinite}
.services-aura{left:-120px;top:60px;background:radial-gradient(circle,rgba(240,82,18,.16),rgba(240,82,18,0) 72%)}
.services-cube{position:absolute;right:6%;top:90px;width:110px;height:110px;border-radius:28px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));animation:floatY 8s ease-in-out infinite,slowSpin 20s linear infinite;pointer-events:none}

.service-line{overflow:hidden}
.service-line::after{content:"";position:absolute;right:-120px;top:50%;width:220px;height:220px;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,rgba(240,82,18,.14),rgba(240,82,18,0) 70%);opacity:0;transition:opacity .35s ease,right .35s ease;pointer-events:none}
.service-line:hover::after{right:-50px;opacity:1}
.service-line:hover .service-main h3{text-shadow:0 0 26px rgba(255,255,255,.08)}

.experience-aura{right:-120px;top:20px;background:radial-gradient(circle,rgba(7,88,59,.12),rgba(7,88,59,0) 72%)}
.experience-photo::before{content:"";position:absolute;left:-18px;top:-18px;width:46%;height:46%;border-radius:36px;border:1px solid rgba(240,82,18,.22);pointer-events:none}
.experience-stamp{animation:floatY 7s ease-in-out infinite,pulseGlow 8s ease-in-out infinite}

.statement-card{background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.16),transparent 28%),linear-gradient(135deg,#f05212 0%,#ff6e2e 100%)}
.statement-orb{border-radius:50%;opacity:.7;animation:floatY 7s ease-in-out infinite,pulseGlow 9s ease-in-out infinite}
.statement-orb-one{width:180px;height:180px;right:12%;top:12%;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 70%)}
.statement-orb-two{width:110px;height:110px;left:7%;bottom:18%;background:radial-gradient(circle,rgba(7,88,59,.20),rgba(7,88,59,0) 70%);animation-delay:-2s}
.statement-cube{position:absolute;width:88px;height:88px;right:24%;bottom:16%;border-radius:26px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.04));backdrop-filter:blur(8px);animation:floatY 8s ease-in-out infinite,slowSpin 22s linear infinite}

.local-aura{left:-90px;bottom:0;background:radial-gradient(circle,rgba(240,82,18,.12),rgba(240,82,18,0) 72%)}
.local-photo img{box-shadow:0 44px 100px rgba(5,55,38,.19),0 0 0 1px rgba(255,255,255,.36) inset}
.local-photo::after{content:"";position:absolute;right:-20px;top:-20px;width:110px;height:110px;border-radius:32px;border:1px solid rgba(7,88,59,.10);background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(255,255,255,.10));backdrop-filter:blur(10px);animation:floatY 7s ease-in-out infinite,slowSpin 18s linear infinite}

.contact-prestige{background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.07),transparent 24%),radial-gradient(circle at 80% 12%,rgba(240,82,18,.16),transparent 24%),linear-gradient(135deg,#054833 0%,#043326 100%)}
.contact-orb{border-radius:50%;opacity:.7;animation:floatY 8s ease-in-out infinite,pulseGlow 10s ease-in-out infinite}
.contact-orb-one{right:-100px;top:55px;width:280px;height:280px;background:radial-gradient(circle,rgba(240,82,18,.20),rgba(240,82,18,0) 72%)}
.contact-orb-two{left:-70px;bottom:20px;width:210px;height:210px;background:radial-gradient(circle,rgba(255,255,255,.10),rgba(255,255,255,0) 74%);animation-delay:-3s}

.contact-main,.contact-phone,.prestige-btn,.statement-card,.principle-card,.hero-photo-frame,.local-photo img,.experience-photo img{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,background .35s ease}
.contact-main:hover,.contact-phone:hover,.prestige-btn:hover{transform:translateY(-4px) scale(1.02)}
.hero-photo-frame:hover,.local-photo:hover img,.experience-photo:hover img{transform:translateY(-4px)}

@media(max-width:1050px){
    .hero-circle-path,.hero-cube-two,.services-cube,.statement-cube,.local-photo::after{display:none}
    .hero-floating-card{left:18px;bottom:20px}
}

@media(max-width:680px){
    .hero-photo-frame::before{border-radius:26px}
    .hero-frame-sheen::after{animation-duration:9s}
}

@media(prefers-reduced-motion:reduce){
    .hero-ambient,.hero-cube,.hero-circle-path,.section-aura,.services-cube,.statement-orb,.statement-cube,.contact-orb,.hero-frame-ring,.hero-frame-sheen::after,.experience-stamp,.hero-marquee{animation:none!important}
}

/* =========================================================
   MENU JARDÉLIE — SIGNATURE NAVIGATION
   Menu premium avec mega-panels et identité éditoriale.
========================================================= */

html.jdm-menu-lock,
html.jdm-menu-lock body{
    overflow:hidden;
}

.jdm-menu{
    position:sticky;
    top:0;
    z-index:1200;
    padding:18px 0 0;
    pointer-events:none;
}

.jdm-menu *{
    pointer-events:auto;
}

.jdm-menu__ambient{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    filter:blur(4px);
    animation: floatY 8s ease-in-out infinite, pulseGlow 11s ease-in-out infinite;
}

.jdm-menu__ambient--one{
    left:8%;
    top:-20px;
    width:120px;
    height:120px;
    background:radial-gradient(circle, rgba(240,82,18,.16), rgba(240,82,18,0) 70%);
}

.jdm-menu__ambient--two{
    right:16%;
    top:-10px;
    width:160px;
    height:160px;
    background:radial-gradient(circle, rgba(255,255,255,.55), rgba(255,255,255,0) 72%);
}

.jdm-menu__shell{
    width:min(1380px, calc(100% - 80px));
    margin:0 auto;
    position:relative;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:18px;
    padding:16px 18px;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.65);
    background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.62));
    backdrop-filter:blur(18px);
    box-shadow:0 18px 46px rgba(5,55,38,.12), inset 0 1px 0 rgba(255,255,255,.75);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}

.jdm-menu.is-scrolled .jdm-menu__shell{
    box-shadow:0 24px 55px rgba(5,55,38,.15), inset 0 1px 0 rgba(255,255,255,.75);
    border-color:rgba(255,255,255,.8);
    background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.69));
}

.jdm-brand{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:max-content;
}

.jdm-brand__logo-wrap{
    width:74px;
    height:74px;
    display:grid;
    place-items:center;
    flex:0 0 74px;
    border-radius:20px;
    background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.78));
    box-shadow:0 14px 30px rgba(5,55,38,.08);
}

.jdm-brand__logo{
    width:62px;
    height:62px;
    object-fit:contain;
    display:block;
}

.jdm-brand__copy{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.jdm-brand__copy strong{
    font-family:var(--font-title, "Space Grotesk", sans-serif);
    font-size:.96rem;
    letter-spacing:.18em;
    color:var(--green, #07583b);
}

.jdm-brand__copy small{
    color:#64726d;
    font-size:.72rem;
    letter-spacing:.04em;
}

.jdm-menu__centerline{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-width:0;
    color:#7b867f;
}

.jdm-menu__centerline span{
    flex:1;
    height:1px;
    background:linear-gradient(90deg, rgba(7,88,59,0), rgba(7,88,59,.16), rgba(240,82,18,.18), rgba(7,88,59,.16), rgba(7,88,59,0));
}

.jdm-menu__centerline i{
    font-style:normal;
    white-space:nowrap;
    font-size:.66rem;
    letter-spacing:.26em;
    font-weight:700;
}

.jdm-menu__toggle{
    display:none;
    align-items:center;
    gap:14px;
    min-height:52px;
    padding:0 16px;
    border:1px solid rgba(7,88,59,.14);
    border-radius:999px;
    background:rgba(255,255,255,.7);
    color:var(--green, #07583b);
}

.jdm-menu__toggle-text{
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.jdm-menu__toggle-icon{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(135deg, var(--orange, #f05212), #ff7740);
}

.jdm-menu__toggle-icon i{
    display:block;
    width:14px;
    height:2px;
    border-radius:999px;
    background:#fff;
    margin:1.5px 0;
}

.jdm-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.jdm-nav__core{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.jdm-nav__link,
.jdm-nav__trigger{
    position:relative;
    min-height:54px;
    display:inline-flex;
    align-items:center;
    gap:11px;
    padding:0 16px;
    border-radius:18px;
    color:#143328;
    font-weight:700;
    font-size:.92rem;
    transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.jdm-nav__trigger{
    border:0;
    background:transparent;
    cursor:pointer;
    font:inherit;
}

.jdm-nav__index{
    color:rgba(240,82,18,.85);
    font-size:.66rem;
    letter-spacing:.16em;
    font-weight:700;
}

.jdm-nav__link svg,
.jdm-nav__trigger svg{
    width:16px;
    height:16px;
    stroke:currentColor;
    stroke-width:1.8;
    fill:none;
    transition:transform .25s ease;
}

.jdm-nav__link:hover,
.jdm-nav__trigger:hover,
.jdm-nav__group.is-open > .jdm-nav__trigger,
.jdm-nav__link.is-current{
    background:rgba(255,255,255,.72);
    box-shadow:0 10px 24px rgba(5,55,38,.08);
    color:var(--green, #07583b);
    transform:translateY(-1px);
}

.jdm-nav__group.is-open > .jdm-nav__trigger svg{
    transform:rotate(180deg);
}

.jdm-nav__group{
    position:relative;
}

.jdm-panel{
    position:absolute;
    left:0;
    top:calc(100% + 16px);
    width:min(1080px, 86vw);
    display:grid;
    grid-template-columns:1.12fr 1.35fr .72fr;
    gap:22px;
    padding:24px;
    border-radius:34px;
    border:1px solid rgba(255,255,255,.72);
    background:linear-gradient(180deg, rgba(255,255,255,.93), rgba(255,255,255,.84));
    backdrop-filter:blur(22px);
    box-shadow:0 32px 70px rgba(4,60,42,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    pointer-events:none;
    transition:opacity .24s ease, visibility .24s ease, transform .24s ease;
    overflow:hidden;
}

.jdm-panel::before{
    content:"";
    position:absolute;
    right:-60px;
    top:-50px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(240,82,18,.14), rgba(240,82,18,0) 70%);
    pointer-events:none;
}

.jdm-nav__group.is-open > .jdm-panel,
.jdm-nav__group:hover > .jdm-panel{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}

.jdm-panel__lead{
    position:relative;
    padding:20px 14px 16px 6px;
}

.jdm-panel__signal{
    position:relative;
    width:126px;
    height:126px;
    display:grid;
    place-items:center;
    margin-bottom:20px;
    border-radius:50%;
    color:var(--green, #07583b);
    background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(255,255,255,.62));
    box-shadow:0 18px 36px rgba(5,55,38,.10);
}

.jdm-panel__signal strong{
    position:relative;
    z-index:2;
    font-family:var(--font-title, "Space Grotesk", sans-serif);
    font-size:2.9rem;
    line-height:1;
}

.jdm-panel__ring,
.jdm-panel__signal::before,
.jdm-panel__signal::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
}

.jdm-panel__ring{
    inset:10px;
    border:1px dashed rgba(7,88,59,.18);
    animation:slowSpin 16s linear infinite;
}

.jdm-panel__signal::before{
    inset:-10px;
    border:1px solid rgba(240,82,18,.20);
}

.jdm-panel__signal::after{
    inset:18px;
    border:1px solid rgba(7,88,59,.10);
}

.jdm-panel__intro span{
    display:block;
    margin-bottom:10px;
    color:var(--orange, #f05212);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.jdm-panel__intro strong{
    display:block;
    max-width:26ch;
    margin-bottom:12px;
    font-family:var(--font-title, "Space Grotesk", sans-serif);
    font-size:1.55rem;
    line-height:1.08;
    letter-spacing:-.04em;
    color:#103127;
}

.jdm-panel__intro p{
    margin:0;
    max-width:36ch;
    color:#5e6a66;
    line-height:1.68;
    font-size:.95rem;
}

.jdm-panel__links{
    display:grid;
    gap:12px;
    align-content:start;
}

.jdm-panel__links a{
    display:grid;
    grid-template-columns:48px 1fr 28px;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.58));
    border:1px solid rgba(7,88,59,.08);
    box-shadow:0 10px 22px rgba(5,55,38,.05);
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.jdm-panel__links a:hover,
.jdm-panel__links a[aria-current="page"]{
    transform:translateY(-2px);
    box-shadow:0 18px 32px rgba(5,55,38,.09);
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.70));
}

.jdm-panel__number{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(240,82,18,.10);
    color:var(--orange, #f05212);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.10em;
}

.jdm-panel__text strong{
    display:block;
    color:#123227;
    margin-bottom:3px;
    font-size:.98rem;
}

.jdm-panel__text small{
    display:block;
    color:#677570;
    font-size:.82rem;
    line-height:1.45;
}

.jdm-panel__arrow{
    color:var(--orange, #f05212);
    font-size:1.15rem;
    justify-self:end;
}

.jdm-panel__aside{
    display:flex;
    align-items:stretch;
}

.jdm-panel__aside-card{
    position:relative;
    width:100%;
    min-height:100%;
    padding:22px;
    border-radius:28px;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(4,60,42,.97), rgba(4,60,42,.85));
    color:#fff;
    box-shadow:0 20px 44px rgba(4,60,42,.18);
}

.jdm-panel__aside-card::before{
    content:"";
    position:absolute;
    right:-45px;
    bottom:-45px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(240,82,18,.25), rgba(240,82,18,0) 70%);
}

.jdm-panel__aside-card span{
    display:block;
    margin-bottom:16px;
    color:#ff9a6f;
    font-size:.65rem;
    font-weight:700;
    letter-spacing:.18em;
}

.jdm-panel__aside-card strong{
    display:block;
    margin-bottom:10px;
    font-family:var(--font-title, "Space Grotesk", sans-serif);
    font-size:1.9rem;
    line-height:.95;
}

.jdm-panel__aside-card p{
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:.89rem;
    line-height:1.65;
}

.jdm-panel__aside-card--garden{
    background:linear-gradient(180deg, rgba(7,88,59,.97), rgba(7,88,59,.86));
}

.jdm-nav__actions{
    display:flex;
    align-items:center;
    gap:12px;
    margin-left:auto;
}

.jdm-phone{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:54px;
    padding:0 16px;
    border-radius:18px;
    background:rgba(255,255,255,.58);
    border:1px solid rgba(7,88,59,.10);
    box-shadow:0 8px 18px rgba(5,55,38,.05);
}

.jdm-phone__label{
    color:#6a756f;
    font-size:.67rem;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.jdm-phone strong{
    color:#123227;
    font-size:.96rem;
}

.jdm-quote{
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    padding:0 18px;
    border-radius:999px;
    background:linear-gradient(135deg, var(--orange, #f05212), #ff7640);
    color:#fff;
    box-shadow:0 18px 34px rgba(240,82,18,.18);
    font-weight:700;
    transition:transform .25s ease, box-shadow .25s ease;
}

.jdm-quote:hover{
    transform:translateY(-2px);
    box-shadow:0 22px 42px rgba(240,82,18,.24);
}

.jdm-menu-spacer{
    height:112px;
}

@media (max-width: 1180px){
    .jdm-menu{
        padding-top:14px;
    }

    .jdm-menu__shell{
        width:min(100% - 32px, 1380px);
        grid-template-columns:auto auto;
        gap:12px;
    }

    .jdm-menu__centerline{
        display:none;
    }

    .jdm-menu__toggle{
        display:inline-flex;
        justify-self:end;
    }

    .jdm-nav{
        position:absolute;
        left:0;
        right:0;
        top:calc(100% + 12px);
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:20px;
        padding:20px;
        border-radius:28px;
        border:1px solid rgba(255,255,255,.72);
        background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.88));
        box-shadow:0 32px 70px rgba(4,60,42,.18);
        backdrop-filter:blur(22px);
    }

    .jdm-nav.is-open{
        display:flex;
    }

    .jdm-nav__core{
        flex-direction:column;
        align-items:stretch;
        gap:8px;
    }

    .jdm-nav__link,
    .jdm-nav__trigger{
        width:100%;
        justify-content:space-between;
        padding:0 18px;
        background:rgba(255,255,255,.60);
        border:1px solid rgba(7,88,59,.08);
        box-shadow:0 10px 20px rgba(5,55,38,.04);
    }

    .jdm-panel{
        position:static;
        width:100%;
        margin-top:10px;
        grid-template-columns:1fr;
        gap:18px;
        max-height:0;
        padding:0;
        border-radius:24px;
        overflow:hidden;
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto;
        border:0;
        background:transparent;
        box-shadow:none;
        transition:max-height .3s ease;
    }

    .jdm-nav__group.is-open > .jdm-panel{
        max-height:2000px;
        padding:18px 0 6px;
    }

    .jdm-panel__lead,
    .jdm-panel__aside,
    .jdm-panel__links{
        padding:0;
    }

    .jdm-panel__lead{
        background:rgba(255,255,255,.60);
        border:1px solid rgba(7,88,59,.08);
        border-radius:24px;
        padding:18px;
    }

    .jdm-panel__signal{
        width:90px;
        height:90px;
        margin-bottom:14px;
    }

    .jdm-panel__intro strong{
        max-width:none;
    }

    .jdm-panel__aside-card{
        min-height:auto;
    }

    .jdm-nav__actions{
        flex-direction:column;
        align-items:stretch;
        margin-left:0;
    }

    .jdm-phone,
    .jdm-quote{
        width:100%;
    }

    .jdm-menu-spacer{
        height:104px;
    }
}

@media (max-width: 680px){
    .jdm-menu__shell{
        width:min(100% - 20px, 1380px);
        padding:12px;
        border-radius:22px;
    }

    .jdm-brand__logo-wrap{
        width:60px;
        height:60px;
        flex-basis:60px;
        border-radius:16px;
    }

    .jdm-brand__logo{
        width:50px;
        height:50px;
    }

    .jdm-brand__copy strong{
        font-size:.82rem;
        letter-spacing:.14em;
    }

    .jdm-brand__copy small{
        font-size:.64rem;
    }

    .jdm-nav{
        padding:16px;
        border-radius:22px;
    }

    .jdm-panel__links a{
        grid-template-columns:42px 1fr 20px;
        padding:14px;
        border-radius:18px;
    }

    .jdm-panel__number{
        width:34px;
        height:34px;
        font-size:.66rem;
    }

    .jdm-menu-spacer{
        height:92px;
    }
}


/* =========================================================
   MENU JARDÉLIE — FIXES V2
   Corrige chevauchements, mobile overflow et bouton téléphone.
========================================================= */

html.jdm-menu-lock,
html.jdm-menu-lock body{
    overflow:auto;
}

.jdm-menu__shell{
    width:min(1600px, calc(100% - 64px));
    grid-template-columns:auto minmax(0, 1fr);
    gap:20px;
}

.jdm-brand{
    min-width:0;
}

.jdm-brand__copy{
    min-width:0;
}

.jdm-menu__centerline{
    display:none;
}

.jdm-nav{
    min-width:0;
}

.jdm-nav__core{
    flex-wrap:nowrap;
    gap:6px;
    min-width:0;
}

.jdm-nav__actions{
    flex:0 0 auto;
    gap:10px;
}

.jdm-nav__link,
.jdm-nav__trigger{
    padding:0 14px;
    min-height:52px;
    white-space:nowrap;
}

.jdm-nav__link > span:last-child,
.jdm-nav__trigger > span:nth-child(2){
    white-space:nowrap;
}

.jdm-phone{
    flex-direction:row;
    align-items:center;
    gap:12px;
    min-height:56px;
    padding:8px 14px 8px 10px;
    border-radius:20px;
    background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.66));
}

.jdm-phone__icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    flex:0 0 36px;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(135deg, var(--orange, #f05212), #ff7740);
    box-shadow:0 10px 20px rgba(240,82,18,.18);
}

.jdm-phone__icon svg{
    width:16px;
    height:16px;
    display:block;
}

.jdm-phone__content{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.jdm-phone__label{
    font-size:.63rem;
    letter-spacing:.14em;
}

.jdm-phone strong{
    line-height:1.15;
    white-space:nowrap;
}

.jdm-quote{
    min-height:56px;
    padding:0 22px;
    white-space:nowrap;
}

@media (min-width: 1540px){
    .jdm-menu__centerline{
        display:flex;
    }
}

@media (max-width: 1380px){
    .jdm-menu{
        padding-top:14px;
    }

    .jdm-menu__shell{
        width:min(100% - 28px, 1380px);
        grid-template-columns:minmax(0, 1fr) auto;
        gap:10px;
        padding:12px 14px;
    }

    .jdm-brand{
        gap:10px;
    }

    .jdm-brand__logo-wrap{
        width:66px;
        height:66px;
        flex-basis:66px;
        border-radius:18px;
    }

    .jdm-brand__logo{
        width:54px;
        height:54px;
    }

    .jdm-brand__copy strong{
        font-size:.9rem;
        letter-spacing:.16em;
    }

    .jdm-brand__copy small{
        font-size:.68rem;
        line-height:1.35;
    }

    .jdm-menu__toggle{
        display:inline-flex;
        justify-self:end;
        align-self:center;
    }

    .jdm-nav{
        position:fixed;
        left:14px;
        right:14px;
        top:96px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:18px;
        padding:18px;
        border-radius:26px;
        border:1px solid rgba(255,255,255,.72);
        background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
        box-shadow:0 28px 62px rgba(4,60,42,.18);
        backdrop-filter:blur(22px);
        max-height:calc(100dvh - 112px);
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }

    .jdm-nav.is-open{
        display:flex;
    }

    .jdm-nav__core{
        flex-direction:column;
        align-items:stretch;
        flex-wrap:nowrap;
        gap:8px;
    }

    .jdm-nav__link,
    .jdm-nav__trigger{
        width:100%;
        justify-content:space-between;
        padding:0 18px;
        background:rgba(255,255,255,.62);
        border:1px solid rgba(7,88,59,.08);
        box-shadow:0 10px 20px rgba(5,55,38,.04);
        white-space:normal;
    }

    .jdm-panel{
        position:static;
        width:100%;
        margin-top:10px;
        grid-template-columns:1fr;
        gap:18px;
        max-height:0;
        padding:0;
        border-radius:24px;
        overflow:hidden;
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto;
        border:0;
        background:transparent;
        box-shadow:none;
        transition:max-height .3s ease;
    }

    .jdm-nav__group.is-open > .jdm-panel{
        max-height:2200px;
        padding:18px 0 8px;
    }

    .jdm-panel__lead{
        background:rgba(255,255,255,.68);
        border:1px solid rgba(7,88,59,.08);
        border-radius:24px;
        padding:18px;
    }

    .jdm-panel__links,
    .jdm-panel__aside{
        padding:0;
    }

    .jdm-nav__actions{
        flex-direction:column;
        align-items:stretch;
        margin-left:0;
    }

    .jdm-phone,
    .jdm-quote{
        width:100%;
    }

    .jdm-menu-spacer{
        height:98px;
    }
}

@media (max-width: 680px){
    .jdm-menu__shell{
        width:min(100% - 16px, 1380px);
        padding:10px 10px 10px 12px;
        border-radius:20px;
    }

    .jdm-brand{
        gap:8px;
    }

    .jdm-brand__logo-wrap{
        width:56px;
        height:56px;
        flex-basis:56px;
        border-radius:15px;
    }

    .jdm-brand__logo{
        width:46px;
        height:46px;
    }

    .jdm-brand__copy strong{
        font-size:.8rem;
        letter-spacing:.12em;
    }

    .jdm-brand__copy small{
        font-size:.62rem;
        line-height:1.25;
        max-width:18ch;
    }

    .jdm-menu__toggle{
        gap:10px;
        min-height:48px;
        padding:0 12px;
    }

    .jdm-menu__toggle-text{
        font-size:.72rem;
        letter-spacing:.10em;
    }

    .jdm-menu__toggle-icon{
        width:28px;
        height:28px;
    }

    .jdm-nav{
        left:8px;
        right:8px;
        top:88px;
        padding:14px;
        border-radius:22px;
        max-height:calc(100dvh - 98px);
    }

    .jdm-panel__links a{
        grid-template-columns:40px 1fr 18px;
        padding:14px;
        border-radius:18px;
    }

    .jdm-panel__number{
        width:32px;
        height:32px;
        font-size:.62rem;
    }

    .jdm-phone{
        padding:10px 12px;
    }

    .jdm-phone__icon{
        width:34px;
        height:34px;
        flex-basis:34px;
    }

    .jdm-phone strong{
        font-size:.92rem;
    }

    .jdm-quote{
        padding:0 16px;
        white-space:normal;
    }

    .jdm-menu-spacer{
        height:84px;
    }
}
\n\n/* =========================================================\n   JARDÉLIE EFFECTS PLUS — +30% / MOBILE PORTRAIT CONSERVÉ\n   Source: General(20260821-164223).css\n========================================================= */\n:root{--fx-pointer-x:50vw;--fx-pointer-y:30vh}\nbody::before{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.22;background:radial-gradient(380px circle at var(--fx-pointer-x) var(--fx-pointer-y),rgba(255,255,255,.24),rgba(240,82,18,.045) 35%,transparent 68%);mix-blend-mode:soft-light}\n@keyframes fxOrbit{to{transform:rotate(360deg)}}\n@keyframes fxOrbitReverse{to{transform:rotate(-360deg)}}\n@keyframes fxPrism{0%,100%{transform:translate3d(0,0,0) rotate(12deg)}35%{transform:translate3d(12px,-18px,0) rotate(24deg)}70%{transform:translate3d(-8px,8px,0) rotate(5deg)}}\n@keyframes fxBeam{0%,100%{opacity:.15;transform:translate3d(-8%,0,0) rotate(-9deg)}50%{opacity:.48;transform:translate3d(12%,0,0) rotate(-9deg)}}\n@keyframes fxBreathe{0%,100%{filter:saturate(.96) contrast(1.02) brightness(1)}50%{filter:saturate(1.05) contrast(1.04) brightness(1.04)}}\n.fx-light-beam{position:absolute;z-index:0;width:42vw;height:150%;pointer-events:none;opacity:.3;background:linear-gradient(90deg,transparent,rgba(255,255,255,.20) 44%,rgba(240,82,18,.08) 50%,rgba(255,255,255,.12) 56%,transparent);filter:blur(8px);transform:rotate(-9deg);animation:fxBeam 11s ease-in-out infinite}\n.fx-light-beam--hero{top:-32%;right:5%}.fx-light-beam--services{width:34vw;height:170%;top:-28%;left:28%;opacity:.18}.fx-light-beam--principles{width:32vw;top:-40%;right:8%;opacity:.14}.fx-light-beam--faq{width:35vw;top:-35%;left:-5%;opacity:.22}\n.fx-orbit{position:absolute;z-index:1;width:210px;aspect-ratio:1;border:1px solid rgba(7,88,59,.12);border-radius:50%;pointer-events:none;animation:fxOrbit 24s linear infinite}\n.fx-orbit:before,.fx-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid currentColor}.fx-orbit:before{inset:18%;opacity:.42}.fx-orbit:after{inset:36%;opacity:.26}\n.fx-orbit i{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 7px rgba(240,82,18,.08),0 0 28px rgba(240,82,18,.28)}.fx-orbit i:nth-child(1){left:50%;top:-6px}.fx-orbit i:nth-child(2){right:8%;bottom:15%}.fx-orbit i:nth-child(3){left:2%;bottom:25%;width:7px;height:7px}\n.fx-orbit--hero{width:300px;right:4%;top:42%;color:rgba(7,88,59,.20)}.fx-orbit--services{width:240px;right:-65px;bottom:7%;color:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12);animation:fxOrbitReverse 29s linear infinite}.fx-orbit--experience{width:180px;left:3%;bottom:6%;opacity:.72}.fx-orbit--principles{width:260px;right:-80px;top:22%;color:rgba(255,255,255,.10);border-color:rgba(255,255,255,.10)}.fx-orbit--trust{width:170px;left:-55px;top:18%;opacity:.65}.fx-orbit--contact{width:330px;right:-95px;bottom:-80px;color:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12);animation:fxOrbitReverse 32s linear infinite}\n.fx-prism{position:absolute;z-index:1;width:88px;height:88px;pointer-events:none;border-radius:25px;border:1px solid rgba(255,255,255,.28);background:linear-gradient(145deg,rgba(255,255,255,.30),rgba(255,255,255,.035));box-shadow:0 24px 55px rgba(4,60,42,.10),inset 0 1px 0 rgba(255,255,255,.42);backdrop-filter:blur(12px);animation:fxPrism 9s ease-in-out infinite}.fx-prism:before{content:"";position:absolute;inset:13px;border-radius:16px;border:1px solid rgba(240,82,18,.20)}\n.fx-prism--hero{width:72px;height:72px;left:44%;bottom:12%}.fx-prism--experience{width:76px;height:76px;right:5%;top:9%;border-color:rgba(7,88,59,.10)}.fx-prism--trust{right:6%;bottom:7%;border-color:rgba(7,88,59,.10);background:linear-gradient(145deg,rgba(255,255,255,.52),rgba(255,255,255,.15))}.fx-prism--contact{left:7%;top:15%;border-color:rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02))}\n.hero-ambient-one{width:230px;height:230px;opacity:.9}.hero-ambient-two{width:170px;height:170px;background:radial-gradient(circle,rgba(240,82,18,.27),rgba(240,82,18,0) 72%)}.hero-ambient-three{width:270px;height:270px;background:radial-gradient(circle,rgba(7,88,59,.17),rgba(7,88,59,0) 70%)}\n.hero-landscape-photo{animation:fxBreathe 9s ease-in-out infinite}.hero-frame-ring{box-shadow:inset 0 0 0 18px rgba(255,255,255,.065),0 0 30px rgba(240,82,18,.09)}\n.services-editorial:after{content:"";position:absolute;z-index:0;left:8%;right:8%;bottom:4%;height:180px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(240,82,18,.075),transparent 68%);filter:blur(20px)}.service-line{isolation:isolate}.service-line:hover{background:linear-gradient(90deg,rgba(240,82,18,.065),rgba(255,255,255,.025))}.service-line:hover .service-arrow{box-shadow:0 0 34px rgba(240,82,18,.24)}\n.experience-photo,.local-photo{isolation:isolate}.experience-photo:after{content:"";position:absolute;right:5%;bottom:-14px;width:46%;height:70px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(7,88,59,.17),transparent 70%);filter:blur(15px)}.local-photo:before{box-shadow:0 0 45px rgba(240,82,18,.07)}\n.principle-card{overflow:hidden}.principle-card:before{content:"";position:absolute;width:150px;height:150px;right:-70px;bottom:-70px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 0 28px rgba(255,255,255,.015);transition:transform .5s ease,border-color .4s ease}.principle-card:hover:before{transform:scale(1.28) rotate(25deg);border-color:rgba(240,82,18,.20)}\n.trust{position:relative;overflow:hidden}.trust:before{content:"";position:absolute;right:8%;top:10%;width:380px;height:380px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(240,82,18,.075),transparent 68%)}\n.rating-block,.rating-placeholder{position:relative;overflow:hidden}.rating-block:after,.rating-placeholder:after{content:"";position:absolute;inset:-40% auto -40% -25%;width:26%;transform:skewX(-24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);animation:shineSweep 8s ease-in-out infinite}\n.faq{position:relative;overflow:hidden}.faq details{position:relative;transition:background .28s ease}.faq details:hover{background:rgba(255,255,255,.34)}.faq details[open]{background:linear-gradient(90deg,rgba(240,82,18,.045),rgba(255,255,255,.36))}\n.contact-prestige:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 24%,rgba(255,255,255,.035) 43%,transparent 61%);animation:shineSweep 12s ease-in-out infinite}.contact-main{box-shadow:0 18px 44px rgba(240,82,18,.22)}.contact-main:hover{box-shadow:0 25px 58px rgba(240,82,18,.34)}\n\n/* Portrait smartphone : effets VISIBLES, simplement redimensionnés */\n@media(max-width:700px){\n body:before{display:none}\n .hero-ambient,.hero-cube,.hero-circle-path,.section-aura,.services-cube,.statement-orb,.statement-cube,.contact-orb,.hero-frame-ring,.fx-light-beam,.fx-orbit,.fx-prism{display:block}\n .hero-ambient-one{width:120px;height:120px;right:-24px;top:17%}.hero-ambient-two{width:92px;height:92px;left:-18px;top:44%}.hero-ambient-three{width:130px;height:130px;right:-38px;bottom:9%}\n .hero-cube-one{width:44px;height:44px;right:8px;top:31%;border-radius:14px;opacity:.65}.hero-cube-two{width:34px;height:34px;right:12%;bottom:14%;border-radius:11px;opacity:.5}.hero-circle-path{width:190px;height:190px;right:-82px;top:38%;opacity:.56}\n .fx-light-beam{width:75vw;height:115%;opacity:.18;filter:blur(5px)}.fx-light-beam--hero{right:-30%;top:-14%}.fx-light-beam--services{left:20%;top:-12%}.fx-light-beam--principles{right:-24%;top:-15%}.fx-light-beam--faq{left:-35%;top:-18%}\n .fx-orbit--hero{width:145px;right:-52px;top:58%;opacity:.62}.fx-orbit--services{width:132px;right:-46px;bottom:3%;opacity:.58}.fx-orbit--experience{width:115px;left:-42px;bottom:18%;opacity:.55}.fx-orbit--principles{width:145px;right:-54px;top:10%;opacity:.5}.fx-orbit--trust{width:108px;left:-42px;top:15%;opacity:.5}.fx-orbit--contact{width:165px;right:-68px;bottom:-35px;opacity:.6}\n .fx-orbit i{width:7px;height:7px;box-shadow:0 0 0 4px rgba(240,82,18,.07),0 0 20px rgba(240,82,18,.22)}\n .fx-prism{width:46px;height:46px;border-radius:14px;opacity:.54}.fx-prism:before{inset:8px;border-radius:9px}.fx-prism--hero{left:auto;right:8%;bottom:6%}.fx-prism--experience{right:3%;top:8%}.fx-prism--trust{right:5%;bottom:4%}.fx-prism--contact{left:6%;top:11%}\n .section-aura{width:180px;height:180px;opacity:.34}.services-aura{left:-80px;top:60px}.experience-aura{width:150px;height:150px;right:-70px;top:7%}.local-aura{width:150px;height:150px;left:-60px;bottom:5%}\n .services-cube{width:54px;height:54px;right:4%;top:38px;border-radius:16px;opacity:.52}.statement-orb-one{width:105px;height:105px;right:-20px;top:4%}.statement-orb-two{width:70px;height:70px;left:-18px;bottom:8%}.statement-cube{width:50px;height:50px;right:10%;bottom:12%;border-radius:15px;opacity:.52}.contact-orb-one{width:150px;height:150px;right:-72px;top:5%}.contact-orb-two{width:110px;height:110px;left:-55px;bottom:4%}.hero-frame-ring{width:78px;height:78px;right:-12px;bottom:12%;opacity:.6}\n .hero-prestige-inner,.services-editorial .container,.experience .container,.local .container,.principles .container,.trust .container,.faq .container,.contact-prestige .container{position:relative;z-index:3}\n}\n@media(max-width:430px){.fx-orbit--hero{top:62%;right:-70px}.hero-cube-one{top:35%}.hero-ambient-two{top:48%}.fx-prism--hero{bottom:4%}.statement-cube{right:7%;bottom:8%}}\n@media(prefers-reduced-motion:reduce){.fx-light-beam,.fx-orbit,.fx-prism{animation:none!important}}\n
/* =========================================================
   MENU JARDÉLIE — AJUSTEMENT V5
   On conserve le menu horizontal d'origine.
   On le compacte uniquement entre 1381px et 1800px
   pour éviter tout chevauchement en paysage.
========================================================= */

/* On évite de réafficher la ligne LYON · MÉTROPOLE trop tôt :
   elle consomme inutilement de la largeur sur les laptops. */
@media (min-width:1540px) and (max-width:1800px){
    .jdm-menu__centerline{
        display:none !important;
    }
}

@media (min-width:1381px) and (max-width:1800px){

    .jdm-menu{
        padding-top:10px;
    }

    .jdm-menu__shell{
        width:min(1720px, calc(100% - 20px)) !important;
        grid-template-columns:auto minmax(0,1fr) !important;
        gap:10px !important;
        padding:10px 12px !important;
        border-radius:24px !important;
    }

    .jdm-brand{
        gap:9px !important;
        min-width:0 !important;
    }

    .jdm-brand__logo-wrap{
        width:60px !important;
        height:60px !important;
        flex:0 0 60px !important;
        border-radius:17px !important;
    }

    .jdm-brand__logo{
        width:49px !important;
        height:49px !important;
    }

    .jdm-brand__copy{
        min-width:0 !important;
        gap:2px !important;
    }

    .jdm-brand__copy strong{
        font-size:.82rem !important;
        letter-spacing:.14em !important;
        white-space:nowrap !important;
    }

    .jdm-brand__copy small{
        font-size:.61rem !important;
        letter-spacing:.025em !important;
        white-space:nowrap !important;
    }

    .jdm-nav{
        min-width:0 !important;
        gap:7px !important;
        justify-content:flex-end !important;
    }

    .jdm-nav__core{
        min-width:0 !important;
        flex-wrap:nowrap !important;
        gap:1px !important;
    }

    .jdm-nav__link,
    .jdm-nav__trigger{
        min-height:46px !important;
        gap:6px !important;
        padding:0 8px !important;
        border-radius:15px !important;
        font-size:.81rem !important;
        white-space:nowrap !important;
    }

    .jdm-nav__index{
        font-size:.56rem !important;
        letter-spacing:.10em !important;
    }

    .jdm-nav__trigger svg,
    .jdm-nav__link svg{
        width:13px !important;
        height:13px !important;
    }

    .jdm-nav__actions{
        flex:0 0 auto !important;
        gap:6px !important;
        margin-left:0 !important;
    }

    .jdm-phone{
        min-height:48px !important;
        gap:7px !important;
        padding:6px 9px 6px 7px !important;
        border-radius:17px !important;
    }

    .jdm-phone__icon{
        width:32px !important;
        height:32px !important;
        flex:0 0 32px !important;
    }

    .jdm-phone__icon svg{
        width:14px !important;
        height:14px !important;
    }

    .jdm-phone__content{
        gap:0 !important;
    }

    .jdm-phone__label{
        font-size:.53rem !important;
        letter-spacing:.10em !important;
        white-space:nowrap !important;
    }

    .jdm-phone strong{
        font-size:.80rem !important;
        line-height:1.05 !important;
        white-space:nowrap !important;
    }

    .jdm-quote{
        min-height:48px !important;
        gap:7px !important;
        padding:0 11px !important;
        font-size:.77rem !important;
        white-space:nowrap !important;
    }

    .jdm-menu-spacer{
        height:88px !important;
    }
}

/* Un cran supplémentaire sur les écrans juste au-dessus du burger.
   L'apparence reste la même, seules les dimensions sont resserrées. */
@media (min-width:1381px) and (max-width:1500px){

    .jdm-menu__shell{
        width:calc(100% - 12px) !important;
        padding-left:9px !important;
        padding-right:9px !important;
        gap:7px !important;
    }

    .jdm-brand__logo-wrap{
        width:55px !important;
        height:55px !important;
        flex-basis:55px !important;
    }

    .jdm-brand__logo{
        width:45px !important;
        height:45px !important;
    }

    .jdm-brand__copy strong{
        font-size:.77rem !important;
    }

    .jdm-brand__copy small{
        font-size:.57rem !important;
    }

    .jdm-nav{
        gap:4px !important;
    }

    .jdm-nav__link,
    .jdm-nav__trigger{
        padding:0 6px !important;
        gap:5px !important;
        font-size:.76rem !important;
    }

    .jdm-nav__index{
        font-size:.52rem !important;
    }

    .jdm-phone{
        padding-right:7px !important;
    }

    .jdm-phone__icon{
        width:30px !important;
        height:30px !important;
        flex-basis:30px !important;
    }

    .jdm-phone__label{
        font-size:.49rem !important;
    }

    .jdm-phone strong{
        font-size:.75rem !important;
    }

    .jdm-quote{
        padding:0 9px !important;
        font-size:.72rem !important;
    }
}


/* =========================================================
   JARDÉLIE — PAGES INTÉRIEURES + CONTACT
   Extension commune aux pages de service générées.
========================================================= */

.inner-page,
.contact-jd{
    position:relative;
    overflow:hidden;
}

.inner-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:clamp(58px,6vw,92px) 0 clamp(72px,7vw,112px);
    background:
        radial-gradient(circle at 84% 12%,rgba(240,82,18,.13),transparent 24%),
        radial-gradient(circle at 10% 88%,rgba(7,88,59,.10),transparent 29%),
        linear-gradient(180deg,#faf8f1 0%,#f3efe4 100%);
}
.inner-hero::before{
    content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
    background-image:linear-gradient(rgba(7,88,59,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(7,88,59,.045) 1px,transparent 1px);
    background-size:88px 88px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 48%,#000);
    mask-image:linear-gradient(90deg,transparent,#000 48%,#000);
}
.inner-hero__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(58px,7vw,110px);align-items:center;position:relative;z-index:2}
.inner-hero__copy{min-width:0;position:relative;z-index:3}
.inner-hero__logo{width:94px;height:94px;object-fit:contain;padding:6px;border-radius:20px;background:#fff;box-shadow:0 18px 44px rgba(4,60,42,.10);margin-bottom:30px}
.inner-hero h1{max-width:12ch;font-size:clamp(3.8rem,6.6vw,7.6rem);line-height:.86;color:var(--green);letter-spacing:-.075em}
.inner-hero h1 em{display:block;font-style:normal;color:var(--orange)}
.inner-hero__lead{max-width:680px;margin-top:32px;font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.82;color:#506158}
.inner-hero__actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.inner-hero__keywords{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.inner-hero__keywords span{padding:8px 11px;border:1px solid rgba(7,88,59,.12);border-radius:999px;background:rgba(255,255,255,.55);font-size:.72rem;font-weight:700;color:#617068}
.inner-hero__image{position:relative;min-width:0;margin:0}
.inner-hero__image::before{content:"";position:absolute;left:-22px;top:24px;width:100%;height:100%;border:1px solid rgba(240,82,18,.42);border-radius:38px 130px 38px 38px;z-index:-1}
.inner-hero__image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;border-radius:38px 130px 38px 38px;box-shadow:0 38px 90px rgba(5,55,38,.18);animation:fxBreathe 11s ease-in-out infinite}
.inner-hero__image figcaption{position:absolute;left:20px;bottom:20px;display:flex;flex-direction:column;gap:3px;padding:13px 16px;border-radius:16px;background:rgba(4,60,42,.91);backdrop-filter:blur(12px);box-shadow:0 18px 40px rgba(4,60,42,.20);color:#fff}
.inner-hero__image figcaption span{font-size:.61rem;font-weight:800;letter-spacing:.17em;color:#ff9a6b}
.inner-hero__image figcaption strong{font-family:var(--font-title);font-size:.92rem}
.inner-hero__glow{position:absolute;right:-8%;top:7%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(240,82,18,.16),transparent 70%);filter:blur(4px);animation:pulseGlow 10s ease-in-out infinite;pointer-events:none}
.inner-hero__orbit{position:absolute;right:5%;bottom:7%;width:220px;height:220px;border-radius:50%;border:1px solid rgba(7,88,59,.10);border-top-color:rgba(240,82,18,.34);pointer-events:none;animation:slowSpin 26s linear infinite}
.inner-hero__orbit::before{content:"";position:absolute;inset:30px;border-radius:50%;border:1px dashed rgba(7,88,59,.12)}
.inner-hero__orbit::after{content:"";position:absolute;width:10px;height:10px;left:50%;top:-5px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 7px rgba(240,82,18,.08),0 0 24px rgba(240,82,18,.24)}

.inner-section{position:relative;overflow:hidden;padding:clamp(88px,8vw,130px) 0;background:var(--cream-soft)}
.inner-section:nth-of-type(even){background:var(--cream)}
.inner-section--dark{background:linear-gradient(135deg,#052b20,#043c2a)!important;color:#fff}
.inner-section__beam{position:absolute;right:-12%;top:-20%;width:44vw;height:150%;transform:rotate(-10deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),rgba(240,82,18,.055),transparent);filter:blur(12px);animation:shineSweep 12s ease-in-out infinite;pointer-events:none}
.inner-section__head{max-width:900px;margin-bottom:48px;position:relative;z-index:2}
.inner-section__head h2,.inner-section h2{font-size:clamp(2.8rem,4.9vw,5.6rem);line-height:.9;color:var(--green);letter-spacing:-.065em}
.inner-section__head>p:last-child{max-width:720px;margin-top:22px}
.inner-section__head--light h2,.inner-section--dark h2{color:#fff}
.inner-section--dark p{color:rgba(255,255,255,.70)}

.inner-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;position:relative;z-index:2}
.inner-card{position:relative;overflow:hidden;min-height:255px;padding:28px;border:1px solid rgba(7,88,59,.09);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.62));box-shadow:0 18px 44px rgba(4,60,42,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.inner-card::after{content:"";position:absolute;right:-65px;bottom:-65px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(240,82,18,.13),transparent 70%);transition:transform .45s ease}
.inner-card:hover{transform:translateY(-6px);border-color:rgba(240,82,18,.27);box-shadow:0 28px 58px rgba(4,60,42,.11)}
.inner-card:hover::after{transform:scale(1.25)}
.inner-card__icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:46px;border-radius:18px;background:rgba(240,82,18,.10);color:var(--orange);font-family:var(--font-title);font-weight:700;box-shadow:inset 0 0 0 1px rgba(240,82,18,.10)}
.inner-card h3{font-size:1.35rem;color:var(--green);margin-bottom:11px}
.inner-card p{margin:0;font-size:.94rem;line-height:1.68}
.inner-section--dark .inner-card{background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.10);box-shadow:none}
.inner-section--dark .inner-card h3{color:#fff}
.inner-section--dark .inner-card p{color:rgba(255,255,255,.64)}

.inner-prose{max-width:760px;margin-top:28px}
.inner-prose p{font-size:1rem;line-height:1.78}
.inner-prose a{font-weight:750;color:var(--green);text-decoration:underline;text-decoration-color:rgba(240,82,18,.34);text-underline-offset:4px}
.inner-prose--light a{color:#fff}

.inner-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid rgba(255,255,255,.12);border-radius:28px;overflow:hidden;background:rgba(255,255,255,.12);position:relative;z-index:2}
.inner-step{min-height:260px;padding:28px;background:#043c2a}
.inner-step span{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:54px;border-radius:50%;background:var(--orange);font-family:var(--font-title);font-weight:700;color:#fff}
.inner-step h3{font-size:1.25rem;color:#fff;margin-bottom:11px}
.inner-step p{margin:0;color:rgba(255,255,255,.64);font-size:.91rem}

.inner-split{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.58fr);gap:clamp(40px,6vw,88px);align-items:start}
.inner-check-card{position:sticky;top:130px;padding:30px;border-radius:30px;background:linear-gradient(145deg,#07583b,#043c2a);box-shadow:0 30px 70px rgba(4,60,42,.19);color:#fff;overflow:hidden}
.inner-check-card::after{content:"";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(240,82,18,.26),transparent 70%)}
.inner-check-card__index{display:block;margin-bottom:50px;font-family:var(--font-title);font-size:3.3rem;color:var(--orange)}
.inner-check-card h3{position:relative;z-index:2;font-size:1.45rem;color:#fff;margin-bottom:18px}
.inner-check-card ul{margin:0 0 24px;padding-left:18px;color:rgba(255,255,255,.74)}
.inner-check-card li+li{margin-top:8px}
.inner-check-card a{display:inline-flex;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.55);font-weight:700;color:#fff}

.inner-case{background:var(--green-black)!important;color:#fff}
.inner-case__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:clamp(45px,7vw,100px);align-items:center}
.inner-case h2{color:#fff}
.inner-case p{color:rgba(255,255,255,.68)}
.inner-case__cta{position:relative;padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));box-shadow:0 28px 65px rgba(0,0,0,.16);overflow:hidden}
.inner-case__cta::after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(240,82,18,.24),transparent 70%)}
.inner-case__cta>span{display:block;margin-bottom:20px;font-size:.66rem;font-weight:800;letter-spacing:.18em;color:#ff9a6b}
.inner-case__cta>strong{display:block;margin-bottom:12px;font-family:var(--font-title);font-size:1.75rem;line-height:1;color:#fff}
.inner-case__cta a{position:relative;z-index:2;display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid rgba(255,255,255,.12);font-weight:700;color:#fff}
.inner-case__cta a:first-of-type{margin-top:22px}

.inner-zone{background:linear-gradient(180deg,#f0ede2,#f8f6ef)!important}
.inner-city-cloud{display:flex;flex-wrap:wrap;gap:9px;position:relative;z-index:2}
.inner-city-cloud span{padding:9px 13px;border-radius:999px;border:1px solid rgba(7,88,59,.13);background:rgba(255,255,255,.58);font-size:.79rem;color:#5f6e67;box-shadow:0 8px 18px rgba(4,60,42,.03)}
.inner-city-cloud span:nth-child(4n+1){border-color:rgba(240,82,18,.30);color:var(--orange)}
.inner-zone__actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px}

.inner-related__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.inner-related__item{min-height:145px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px;border:1px solid rgba(7,88,59,.10);border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(4,60,42,.06);font-family:var(--font-title);font-weight:700;color:var(--green);transition:.28s ease}
.inner-related__item b{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(240,82,18,.10);color:var(--orange);transition:.28s ease}
.inner-related__item:hover{transform:translateY(-5px);box-shadow:0 25px 48px rgba(4,60,42,.10);border-color:rgba(240,82,18,.25)}
.inner-related__item:hover b{transform:rotate(45deg);background:var(--orange);color:#fff}

.inner-final{position:relative;overflow:hidden;padding:clamp(88px,8vw,130px) 0;background:linear-gradient(135deg,#07583b,#043c2a);color:#fff}
.inner-final::before{content:"JARDÉLIE";position:absolute;right:-3vw;bottom:-3vw;font-family:var(--font-title);font-size:clamp(8rem,19vw,20rem);font-weight:700;line-height:.75;letter-spacing:-.08em;color:rgba(255,255,255,.025);pointer-events:none}
.inner-final__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:end;position:relative;z-index:2}
.inner-final h2{max-width:840px;font-size:clamp(3rem,5.5vw,6.3rem);line-height:.88;color:#fff}
.inner-final p{max-width:720px;margin-top:22px;color:rgba(255,255,255,.72)}
.inner-final__actions{display:flex;flex-direction:column;gap:10px;min-width:260px}
.inner-final__actions .contact-main,.inner-final__actions .contact-phone{justify-content:space-between;min-height:60px}

/* CONTACT */
.contact-jd__hero{position:relative;overflow:hidden;padding:clamp(65px,7vw,105px) 0 clamp(80px,8vw,125px);background:radial-gradient(circle at 88% 12%,rgba(240,82,18,.13),transparent 25%),linear-gradient(180deg,#f9f7f0,#f1ede1)}
.contact-jd__hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(7,88,59,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(7,88,59,.04) 1px,transparent 1px);background-size:90px 90px;pointer-events:none}
.contact-jd__hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(55px,7vw,105px);align-items:center;position:relative;z-index:2}
.contact-jd__hero h1{max-width:11ch;font-size:clamp(4rem,7vw,8rem);line-height:.84;color:var(--green)}
.contact-jd__hero h1 span{display:block;color:var(--orange)}
.contact-jd__hero-copy>p{max-width:650px;margin-top:30px;font-size:1.05rem;line-height:1.8}
.contact-jd__facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.contact-jd__facts span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.62);border:1px solid rgba(7,88,59,.11);font-size:.76rem;font-weight:700;color:#617068}
.contact-jd__visual{position:relative;margin:0}
.contact-jd__visual img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:38px 140px 38px 38px;box-shadow:0 38px 90px rgba(5,55,38,.17)}
.contact-jd__visual::before{content:"";position:absolute;left:-20px;top:20px;width:100%;height:100%;border:1px solid rgba(240,82,18,.42);border-radius:38px 140px 38px 38px;z-index:-1}
.contact-jd__visual figcaption{position:absolute;left:20px;bottom:20px;padding:13px 16px;border-radius:16px;background:rgba(4,60,42,.92);color:#fff;backdrop-filter:blur(12px)}
.contact-jd__visual figcaption span,.contact-jd__visual figcaption strong{display:block}.contact-jd__visual figcaption span{font-size:.61rem;font-weight:800;letter-spacing:.17em;color:#ff9a6b}.contact-jd__visual figcaption strong{margin-top:3px;font-family:var(--font-title);font-size:.92rem}
.contact-jd__orb{position:absolute;right:-70px;top:9%;width:280px;height:280px;border-radius:50%;border:1px solid rgba(7,88,59,.09);box-shadow:inset 0 0 0 45px rgba(255,255,255,.07);animation:slowSpin 24s linear infinite;pointer-events:none}

.contact-jd__dispatch{position:relative;z-index:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:-42px;border-radius:28px;overflow:hidden;background:rgba(7,88,59,.10);box-shadow:0 28px 65px rgba(4,60,42,.12)}
.contact-jd__dispatch article{padding:26px;background:rgba(255,255,255,.94)}
.contact-jd__dispatch article>span{display:block;margin-bottom:34px;color:var(--orange);font-family:var(--font-title);font-weight:700}
.contact-jd__dispatch h2{font-size:1.3rem;color:var(--green);margin-bottom:8px}.contact-jd__dispatch p{margin:0;font-size:.9rem}

.contact-jd__workspace{position:relative;overflow:hidden;padding:clamp(100px,9vw,145px) 0;background:var(--green-black);color:#fff}
.contact-jd__workspace::before{content:"";position:absolute;right:-120px;top:-120px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(240,82,18,.18),transparent 68%);animation:pulseGlow 10s ease-in-out infinite}
.contact-jd__workspace-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.62fr);gap:clamp(36px,6vw,82px);align-items:start;position:relative;z-index:2}
.contact-jd__formbox{padding:clamp(25px,3vw,38px);border-radius:32px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));box-shadow:0 28px 70px rgba(0,0,0,.17);backdrop-filter:blur(12px)}
.contact-jd__formbox h2{font-size:clamp(2.4rem,4.2vw,4.5rem);color:#fff;margin-bottom:15px}.contact-jd__formbox>p{color:rgba(255,255,255,.67)}
.jd-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:30px}
.jd-contact-form label{display:grid;gap:8px;color:#fff;font-size:.82rem;font-weight:700}.jd-contact-form label.wide{grid-column:1/-1}
.jd-contact-form input,.jd-contact-form select,.jd-contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(255,255,255,.075);color:#fff;padding:15px 16px;font:inherit;outline:0;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}.jd-contact-form select option{color:#183229;background:#fff}.jd-contact-form textarea{min-height:170px;resize:vertical}.jd-contact-form input:focus,.jd-contact-form select:focus,.jd-contact-form textarea:focus{border-color:rgba(240,82,18,.72);background:rgba(255,255,255,.105);box-shadow:0 0 0 4px rgba(240,82,18,.08)}
.jd-contact-form small{color:rgba(255,255,255,.46);font-weight:500;text-align:right}.jd-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.jd-consent{grid-column:1/-1;margin:4px 0 0!important;color:rgba(255,255,255,.57)!important;font-size:.77rem;line-height:1.55}.jd-consent a{color:#ff9a6b;text-decoration:underline}.jd-captcha{grid-column:1/-1}.jd-form-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.jd-form-actions button{border:0;cursor:pointer;font:inherit}.jd-form-status{margin:0!important;min-height:24px;color:#fff!important;font-weight:700}.jd-form-status.is-error{color:#ff9b78!important}.jd-form-status.is-success{color:#8be5b2!important}
.contact-jd__side{display:grid;gap:16px;position:sticky;top:130px}.contact-jd__call,.contact-jd__links{padding:27px;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:rgba(255,255,255,.065)}.contact-jd__call{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--orange),#ff6e2e);box-shadow:0 26px 58px rgba(240,82,18,.20)}.contact-jd__call::after{content:"";position:absolute;right:-55px;bottom:-55px;width:170px;height:170px;border-radius:50%;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 0 28px rgba(255,255,255,.04)}.contact-jd__call>span{font-size:.66rem;font-weight:800;letter-spacing:.18em}.contact-jd__call strong{display:block;margin:28px 0 8px;font-family:var(--font-title);font-size:2.2rem;color:#fff}.contact-jd__call p{color:rgba(255,255,255,.80)}.contact-jd__call a{position:relative;z-index:2;display:inline-flex;margin-top:9px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.65);font-weight:800;color:#fff}.contact-jd__links h3{font-size:1.25rem;color:#fff;margin-bottom:15px}.contact-jd__links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.10);font-weight:700;color:#fff}.contact-jd__links b{color:var(--orange)}

@media(max-width:1050px){
    .inner-hero__grid,.inner-split,.inner-case__grid,.inner-final__grid,.contact-jd__hero-grid,.contact-jd__workspace-grid{grid-template-columns:1fr}
    .inner-hero__image,.contact-jd__visual{max-width:900px}
    .inner-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .inner-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
    .inner-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .inner-check-card,.contact-jd__side{position:relative;top:auto}
    .inner-final__actions{min-width:0;max-width:420px}
}

@media(max-width:700px){
    .inner-hero{padding-top:42px}
    .inner-hero__logo{width:76px;height:76px}
    .inner-hero h1,.contact-jd__hero h1{font-size:clamp(3.3rem,15vw,5.2rem)}
    .inner-hero__image::before,.contact-jd__visual::before{left:-10px;top:10px;border-radius:26px 70px 26px 26px}
    .inner-hero__image img,.contact-jd__visual img{aspect-ratio:4/3;border-radius:26px 70px 26px 26px}
    .inner-hero__orbit{width:125px;height:125px;right:-52px;bottom:12%;opacity:.62}
    .inner-hero__glow{width:180px;height:180px;right:-70px;top:8%}
    .inner-section{padding:82px 0}
    .inner-card-grid,.inner-steps,.inner-related__grid,.contact-jd__dispatch,.jd-contact-form{grid-template-columns:1fr}
    .jd-contact-form label.wide,.jd-consent,.jd-captcha,.jd-form-actions{grid-column:auto}
    .inner-card{min-height:auto}
    .inner-card__icon{margin-bottom:32px}
    .inner-step{min-height:auto}
    .inner-step span{margin-bottom:34px}
    .inner-case__cta,.inner-check-card{padding:24px;border-radius:24px}
    .inner-city-cloud{gap:7px}.inner-city-cloud span{font-size:.73rem;padding:8px 10px}
    .inner-related__grid{grid-template-columns:1fr}
    .inner-related__item{min-height:110px}
    .inner-final__actions{width:100%}.inner-final__actions .contact-main,.inner-final__actions .contact-phone{width:100%}
    .contact-jd__dispatch{margin-top:-28px;border-radius:22px}
    .contact-jd__dispatch article{padding:22px}.contact-jd__dispatch article>span{margin-bottom:20px}
    .contact-jd__formbox{border-radius:24px}
    .contact-jd__call,.contact-jd__links{border-radius:23px}
}


/* =========================================================
   JARDÉLIE — VARIANTES PAGES INTÉRIEURES / ATTRIBUTION PHOTOS
   Variantes visuelles pour éviter un rendu identique sur toutes les pages.
   Respect des préconisations : 1 photo paysage 1600x1000, bas-gauche calme.
========================================================= */

.inner-hero__metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.inner-hero__metrics span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(7,88,59,.10);font-size:.73rem;font-weight:700;color:#4f6259;box-shadow:0 12px 28px rgba(5,55,38,.04)}
.inner-hero__image figcaption small{margin-top:4px;font-size:.72rem;color:rgba(255,255,255,.78)}

/* CANOPY : végétal, doux, premium */
.inner-page--canopy .inner-hero{background:radial-gradient(circle at 14% 18%,rgba(7,88,59,.10),transparent 24%),radial-gradient(circle at 86% 14%,rgba(240,82,18,.11),transparent 22%),linear-gradient(180deg,#faf8f2,#f2eee5)}
.inner-page--canopy .inner-hero__image::before{border-color:rgba(7,88,59,.24)}
.inner-page--canopy .inner-hero__orbit{right:-28px;top:18%;bottom:auto;border-top-color:rgba(240,82,18,.45)}
.inner-page--canopy .inner-card:nth-child(2){transform:translateY(18px)}
.inner-page--canopy .inner-card:nth-child(3){transform:translateY(8px)}

/* PIVOT : image d'abord, lecture plus éditoriale */
.inner-page--pivot .inner-hero__grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}
.inner-page--pivot .inner-hero__copy{order:2;padding:24px 28px;border-radius:30px;background:rgba(255,255,255,.58);border:1px solid rgba(7,88,59,.08);backdrop-filter:blur(8px);box-shadow:0 24px 65px rgba(4,60,42,.08)}
.inner-page--pivot .inner-hero__image{order:1}
.inner-page--pivot .inner-hero__image::before{left:auto;right:-22px;top:24px;border-radius:130px 38px 38px 38px;border-color:rgba(7,88,59,.26)}
.inner-page--pivot .inner-hero__image img{border-radius:130px 38px 38px 38px}
.inner-page--pivot .inner-hero__image figcaption{left:auto;right:20px;background:rgba(240,82,18,.93);color:#fff}
.inner-page--pivot .inner-hero__image figcaption span{color:#fff4ef}
.inner-page--pivot .inner-hero__keywords span{background:rgba(240,82,18,.06);border-color:rgba(240,82,18,.16);color:#6b5b53}
.inner-page--pivot .inner-hero__glow{left:-6%;right:auto;top:45%;width:320px;height:320px;background:radial-gradient(circle,rgba(7,88,59,.14),transparent 70%)}

/* MINERAL : plus design, plus structuré */
.inner-page--mineral .inner-hero{background:linear-gradient(135deg,#f7f3e9 0%,#edf3ef 100%)}
.inner-page--mineral .inner-hero::before{background-image:linear-gradient(rgba(7,88,59,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(7,88,59,.03) 1px,transparent 1px);background-size:72px 72px}
.inner-page--mineral .inner-hero__copy{padding:28px;border-radius:34px;background:rgba(255,255,255,.62);border:1px solid rgba(7,88,59,.08);box-shadow:0 28px 75px rgba(4,60,42,.09)}
.inner-page--mineral .inner-hero__image::before{left:-16px;top:-16px;border-radius:34px;border-style:dashed;border-width:1px}
.inner-page--mineral .inner-hero__image img{border-radius:34px}
.inner-page--mineral .inner-hero__image figcaption{left:20px;bottom:20px;background:rgba(255,255,255,.86);color:var(--green);border:1px solid rgba(7,88,59,.08)}
.inner-page--mineral .inner-hero__image figcaption span{color:var(--orange)}
.inner-page--mineral .inner-card-grid{grid-template-columns:1.2fr .9fr .9fr}
.inner-page--mineral .inner-card:first-child{background:linear-gradient(160deg,rgba(7,88,59,.06),rgba(255,255,255,.92));box-shadow:0 18px 40px rgba(4,60,42,.08)}
.inner-page--mineral .inner-card:not(:first-child){background:#fff}

/* OUTLINE : nerveux, plus graphique */
.inner-page--outline .inner-hero{background:radial-gradient(circle at 80% 22%,rgba(240,82,18,.13),transparent 24%),linear-gradient(180deg,#faf7ef,#f1ece2)}
.inner-page--outline .inner-hero__copy{position:relative}
.inner-page--outline .inner-hero__copy::after{content:"";position:absolute;left:0;top:-18px;width:74px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--orange),#ff8f5e)}
.inner-page--outline .inner-hero__image::before{left:-18px;top:18px;border-radius:28px;transform:rotate(-2deg);border-color:rgba(240,82,18,.34)}
.inner-page--outline .inner-hero__image img{border-radius:28px;transform:rotate(1deg)}
.inner-page--outline .inner-hero__image figcaption{bottom:auto;top:20px}
.inner-page--outline .inner-card-grid{grid-template-columns:1.1fr .95fr .95fr}
.inner-page--outline .inner-card{border-radius:28px}
.inner-page--outline .inner-card:nth-child(1){background:linear-gradient(140deg,#fff,#f7f3ec)}
.inner-page--outline .inner-card:nth-child(2),
.inner-page--outline .inner-card:nth-child(3){box-shadow:0 24px 54px rgba(4,60,42,.07)}

/* PANORAMA : plus architecturé, plus sobre */
.inner-page--panorama .inner-hero__grid{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(42px,6vw,88px)}
.inner-page--panorama .inner-hero__copy{padding-right:18px}
.inner-page--panorama .inner-hero__image::before{left:0;top:-14px;border-radius:32px;border-color:rgba(7,88,59,.22)}
.inner-page--panorama .inner-hero__image img{border-radius:32px}
.inner-page--panorama .inner-hero__image figcaption{left:22px;right:22px;bottom:22px;display:grid;grid-template-columns:auto auto;align-items:end;justify-content:space-between;gap:10px}
.inner-page--panorama .inner-hero__image figcaption small{grid-column:1/-1}
.inner-page--panorama .inner-section:first-of-type .inner-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.inner-page--panorama .inner-section:first-of-type .inner-card:first-child{grid-column:1/-1}

/* CONTACT ATELIER : visuel distinct et plus éditorial */
.contact-jd--atelier .contact-jd__hero{background:radial-gradient(circle at 12% 18%,rgba(7,88,59,.10),transparent 22%),radial-gradient(circle at 85% 13%,rgba(240,82,18,.13),transparent 24%),linear-gradient(180deg,#fbf8f1,#f0eadf)}
.contact-jd--atelier .contact-jd__visual::before{left:auto;right:-18px;top:18px;border-radius:140px 38px 38px 38px}
.contact-jd--atelier .contact-jd__visual img{border-radius:140px 38px 38px 38px}
.contact-jd--atelier .contact-jd__visual figcaption{left:auto;right:20px;background:rgba(240,82,18,.94)}
.contact-jd--atelier .contact-jd__dispatch article:nth-child(2){background:linear-gradient(180deg,#fff,#fbf6ef)}
.contact-jd--atelier .contact-jd__formbox{background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05))}

@media(max-width:1050px){
  .inner-page--pivot .inner-hero__copy,.inner-page--mineral .inner-hero__copy{padding:22px}
  .inner-page--mineral .inner-card-grid,.inner-page--outline .inner-card-grid,.inner-page--panorama .inner-section:first-of-type .inner-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .inner-hero__metrics{gap:8px}
  .inner-hero__metrics span{font-size:.7rem;padding:7px 10px}
  .inner-page--canopy .inner-card:nth-child(2),.inner-page--canopy .inner-card:nth-child(3){transform:none}
  .inner-page--pivot .inner-hero__copy,.inner-page--mineral .inner-hero__copy{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}
  .inner-page--pivot .inner-hero__image::before{left:-10px;right:auto;top:10px;border-radius:26px 70px 26px 26px}
  .inner-page--pivot .inner-hero__image img{border-radius:26px 70px 26px 26px}
  .inner-page--pivot .inner-hero__image figcaption,.contact-jd--atelier .contact-jd__visual figcaption{left:18px;right:auto}
  .inner-page--mineral .inner-hero__image img,.inner-page--mineral .inner-hero__image::before,.inner-page--outline .inner-hero__image img,.inner-page--outline .inner-hero__image::before,.inner-page--panorama .inner-hero__image img,.inner-page--panorama .inner-hero__image::before,.contact-jd--atelier .contact-jd__visual img,.contact-jd--atelier .contact-jd__visual::before{border-radius:26px 70px 26px 26px}
  .inner-page--outline .inner-hero__image img,.inner-page--outline .inner-hero__image::before{transform:none}
  .inner-page--mineral .inner-card-grid,.inner-page--outline .inner-card-grid,.inner-page--panorama .inner-section:first-of-type .inner-card-grid{grid-template-columns:1fr}
  .inner-page--panorama .inner-hero__image figcaption{grid-template-columns:1fr}
}


/* =========================================================
   JARDÉLIE — FIX PORTRAIT V3
   Corrige les variantes PIVOT / PANORAMA qui réactivaient
   une grille 2 colonnes après les règles responsive.
========================================================= */

@media (max-width:1050px){
    /* Les variantes sont déclarées plus bas dans le fichier :
       on force donc ici le retour en une seule colonne. */
    .inner-page--pivot .inner-hero__grid,
    .inner-page--panorama .inner-hero__grid,
    .inner-page--mineral .inner-hero__grid,
    .inner-page--outline .inner-hero__grid,
    .inner-page--canopy .inner-hero__grid{
        grid-template-columns:minmax(0,1fr) !important;
        gap:42px !important;
        width:100%;
    }

    .inner-page--pivot .inner-hero__copy,
    .inner-page--panorama .inner-hero__copy,
    .inner-page--mineral .inner-hero__copy,
    .inner-page--outline .inner-hero__copy,
    .inner-page--canopy .inner-hero__copy{
        order:1 !important;
        width:100%;
        min-width:0;
        max-width:none;
    }

    .inner-page--pivot .inner-hero__image,
    .inner-page--panorama .inner-hero__image,
    .inner-page--mineral .inner-hero__image,
    .inner-page--outline .inner-hero__image,
    .inner-page--canopy .inner-hero__image{
        order:2 !important;
        width:100%;
        min-width:0;
        max-width:900px;
        justify-self:stretch;
    }

    .inner-page--panorama .inner-hero__copy{
        padding-right:0 !important;
    }

    .inner-page--pivot .inner-hero__image::before,
    .inner-page--panorama .inner-hero__image::before,
    .inner-page--mineral .inner-hero__image::before,
    .inner-page--outline .inner-hero__image::before,
    .inner-page--canopy .inner-hero__image::before{
        max-width:100%;
    }
}

@media (max-width:700px){
    /* Largeur et typographie adaptées au vrai portrait smartphone */
    .inner-page .container,
    .contact-jd .container{
        width:min(100% - 28px,var(--container));
    }

    .inner-page .breadcrumb,
    .contact-jd .breadcrumb{
        overflow:hidden;
    }

    .inner-hero{
        min-height:auto !important;
        padding:34px 0 66px !important;
        overflow:hidden;
    }

    .inner-hero__grid{
        width:100%;
        grid-template-columns:minmax(0,1fr) !important;
        gap:34px !important;
        align-items:start !important;
    }

    .inner-hero__copy,
    .inner-hero__image,
    .inner-hero__image img{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }

    .inner-page--pivot .inner-hero__copy,
    .inner-page--mineral .inner-hero__copy{
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        backdrop-filter:none !important;
    }

    .inner-hero h1,
    .contact-jd__hero h1{
        max-width:100% !important;
        font-size:clamp(2.7rem,12.2vw,4.15rem) !important;
        line-height:.92 !important;
        letter-spacing:-.065em !important;
        overflow-wrap:normal;
        word-break:normal;
        hyphens:none;
    }

    .inner-hero__lead{
        max-width:100%;
        margin-top:24px;
        font-size:.98rem;
        line-height:1.72;
    }

    .inner-hero__logo{
        width:70px;
        height:70px;
        margin-bottom:22px;
    }

    .inner-hero .section-kicker{
        margin-bottom:20px;
        font-size:.66rem;
        letter-spacing:.13em;
    }

    .inner-hero__actions{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        margin-top:25px !important;
        width:100%;
    }

    .inner-hero__actions .prestige-btn{
        width:100% !important;
        min-width:0 !important;
        min-height:54px;
        padding:0 18px;
        justify-content:space-between;
        border-radius:18px;
        white-space:normal;
    }

    .inner-hero__metrics{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px !important;
        width:100%;
        margin-top:17px;
    }

    .inner-hero__metrics span{
        display:flex;
        width:100%;
        min-width:0;
        min-height:42px;
        align-items:center;
        justify-content:center;
        text-align:center;
        padding:8px 9px !important;
        border-radius:14px;
        font-size:.67rem !important;
        line-height:1.25;
    }

    .inner-hero__metrics span:last-child:nth-child(odd){
        grid-column:1/-1;
    }

    .inner-hero__keywords{
        gap:6px;
        margin-top:18px;
    }

    .inner-hero__keywords span{
        padding:7px 9px;
        font-size:.66rem;
    }

    /* Photos : pleine largeur et légende qui ne mange plus la photo. */
    .inner-hero__image{
        margin:0 !important;
        isolation:isolate;
    }

    .inner-hero__image img,
    .inner-page--pivot .inner-hero__image img,
    .inner-page--panorama .inner-hero__image img,
    .inner-page--mineral .inner-hero__image img,
    .inner-page--outline .inner-hero__image img,
    .inner-page--canopy .inner-hero__image img{
        aspect-ratio:4/3 !important;
        object-fit:cover !important;
        transform:none !important;
        border-radius:24px 64px 24px 24px !important;
    }

    .inner-hero__image::before,
    .inner-page--pivot .inner-hero__image::before,
    .inner-page--panorama .inner-hero__image::before,
    .inner-page--mineral .inner-hero__image::before,
    .inner-page--outline .inner-hero__image::before,
    .inner-page--canopy .inner-hero__image::before{
        left:-7px !important;
        right:auto !important;
        top:8px !important;
        width:100% !important;
        height:100% !important;
        transform:none !important;
        border-radius:24px 64px 24px 24px !important;
    }

    .inner-hero__image figcaption,
    .inner-page--pivot .inner-hero__image figcaption,
    .inner-page--panorama .inner-hero__image figcaption,
    .inner-page--mineral .inner-hero__image figcaption,
    .inner-page--outline .inner-hero__image figcaption,
    .inner-page--canopy .inner-hero__image figcaption{
        left:12px !important;
        right:auto !important;
        top:auto !important;
        bottom:12px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        gap:2px !important;
        width:auto !important;
        max-width:min(72%,230px) !important;
        padding:10px 12px !important;
        border-radius:14px !important;
        transform:none !important;
    }

    .inner-hero__image figcaption span{
        font-size:.55rem !important;
        line-height:1.3;
        letter-spacing:.13em !important;
    }

    .inner-hero__image figcaption strong{
        font-size:.78rem !important;
        line-height:1.25;
    }

    .inner-hero__image figcaption small{
        margin-top:2px !important;
        font-size:.62rem !important;
        line-height:1.3;
    }

    /* Les éléments décoratifs restent présents mais hors du texte. */
    .inner-hero__glow{
        width:145px !important;
        height:145px !important;
        right:-65px !important;
        left:auto !important;
        top:15% !important;
        opacity:.72;
    }

    .inner-hero__orbit{
        width:105px !important;
        height:105px !important;
        right:-50px !important;
        left:auto !important;
        top:auto !important;
        bottom:7% !important;
        opacity:.48 !important;
    }

    /* Textes des sections : aucune colonne résiduelle. */
    .inner-split,
    .inner-case__grid,
    .inner-final__grid,
    .inner-card-grid,
    .inner-steps,
    .inner-related__grid{
        grid-template-columns:minmax(0,1fr) !important;
    }

    .inner-section article,
    .inner-section aside,
    .inner-prose,
    .inner-case__cta,
    .inner-check-card{
        min-width:0;
        max-width:100%;
    }

    .inner-prose p,
    .inner-section p{
        overflow-wrap:break-word;
        word-break:normal;
    }

    .inner-final__actions{
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
    }

    .inner-final__actions .contact-main,
    .inner-final__actions .contact-phone{
        width:100% !important;
        min-width:0 !important;
        min-height:56px;
        border-radius:18px;
        padding:0 18px;
        white-space:normal;
    }
}

@media (max-width:390px){
    .inner-page .container,
    .contact-jd .container{
        width:min(100% - 22px,var(--container));
    }

    .inner-hero h1,
    .contact-jd__hero h1{
        font-size:clamp(2.45rem,11.8vw,3.45rem) !important;
    }

    .inner-hero__metrics{
        grid-template-columns:1fr !important;
    }

    .inner-hero__metrics span:last-child:nth-child(odd){
        grid-column:auto;
    }

    .inner-hero__image figcaption{
        max-width:76% !important;
    }
}
