/* Copie légère de /assets/landing.css (commentaires retirés) — tools/prod-css-purge.mjs — source-sha1:ab1dbcc6f19814524059d3cb8a40f6612e978dfe — ne pas éditer, relancer l'outil. */
@font-face{font-family:'Mona Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/assets/fonts/playfair-latin.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/assets/fonts/playfair-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/assets/fonts/playfair-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 600;font-display:swap;
  src:url('/assets/fonts/playfair-italic-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 600;font-display:swap;
  src:url('/assets/fonts/playfair-italic-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('/assets/fonts/inter.woff2') format('woff2');}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('/assets/fonts/geist-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('/assets/fonts/geist-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/anton-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/anton-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/bebas-neue-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/bebas-neue-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
:root{--burgundy: #7B2D3B;
    --burgundy-dark: #5E1F2C;
    --burgundy-light: #9E4A5A;
    --burgundy-pale: #F5EAEC;
    --charcoal: #2D3436;
    --charcoal-light: #3D4648;
    --green: #2D8B5E;
    --green-light: #3BA876;
    --green-dark: #1F6B45;   
    --green-pale: #E8F5EE;
    --cream: #F7F4EF;
    --white: #FEFDFB;
    --gray-50: #F5F2ED;
    --gray-100: #EFECE6;
    --gray-200: #E5E7EB;
    --gray-300: #D1D5DB;
    --gray-400: #9CA3AF;
    --gray-500: #6B7280;
    --gray-600: #4B5563;
    --gray-700: #374151;
    --gray-800: #1F2937;
    
    --radius: 12px;
    --radius-lg: 20px;
    --radius-xl: 24px;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 12px 40px rgba(0,0,0,0.12);
    --shadow-burgundy: 0 4px 20px rgba(123,45,59,0.2);

    
    --radius-btn: 999px;
    --shadow-cta: 0 2px 6px rgba(94, 31, 44, 0.22), 0 10px 24px -10px rgba(94, 31, 44, 0.55);

    
    --shadow-ink: 0 2px 6px rgba(0, 0, 0, 0.16), 0 10px 24px -10px rgba(0, 0, 0, 0.45);
    --shadow-ink-soft: 0 2px 6px rgba(0, 0, 0, 0.08), 0 12px 26px -14px rgba(0, 0, 0, 0.3);

    
    --ink: #171717;
    --ink-pure: #000000;
    --ink-soft: rgba(0, 0, 0, 0.62);
    --ink-mute: rgba(0, 0, 0, 0.45);
    --hairline: #E3E5E5;

    
    --g-marge-h: clamp(10px, 1.16vw, 28px);     
    --g-marge-c: clamp(12px, 1.27vw, 30px);     
    --g-notch-w: clamp(356px, 22vw, 490px);     
    --g-notch-h: clamp(56px, 3.73vw, 84px);     
    --g-step-x: 31.09%;                         
    --g-step-y: 23.48%;                         
    --g-fillet: clamp(14px, 1.7vw, 38px);       

    
    --fleche-hd: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M200,64V168a8,8,0,0,1-16,0V83.31L69.66,197.66a8,8,0,0,1-11.32-11.32L172.69,72H88a8,8,0,0,1,0-16H192A8,8,0,0,1,200,64Z'/%3E%3C/svg%3E");

    
    --font-display: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    --font-text: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;

    
    --ease-out-soft: cubic-bezier(0.22, 0.68, 0.24, 1);
    --ease-spring: cubic-bezier(0.22, 1.4, 0.36, 1);


    
    color-scheme: light;
    color-scheme: only light;}
@font-face{
    font-family: 'Playfair Fallback';
    src: local('Times New Roman');
    size-adjust: 158.58%;
    ascent-override: 68.23%;
    descent-override: 15.83%;
    line-gap-override: 0%;
}
@font-face{
    font-family: 'Inter Fallback';
    src: local('Arial');
    size-adjust: 105.27%;
    ascent-override: 92.02%;
    descent-override: 22.91%;
    line-gap-override: 0%;
}
@font-face{
    font-family: 'Mona Fallback';
    src: local('Arial');
    size-adjust: 101.24%;
    ascent-override: 107.66%;
    descent-override: 31.61%;
    line-gap-override: 0%;
}
*{margin: 0; padding: 0; box-sizing: border-box;}
html{scroll-behavior: smooth; scroll-padding-top: 84px;}
body{font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    color: var(--charcoal);
    background: var(--cream);
    -webkit-font-smoothing: antialiased;
    
    overflow-x: hidden;}
@supports (overflow: clip){
body{overflow-x: clip;}
}
@media (prefers-color-scheme: dark){
html{background: var(--cream);}
::selection{background: var(--burgundy); color: #fff;}
}
h1,h2,h3,h4,h5,h6{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif; font-weight: 600; color: var(--charcoal);}
strong,b{font-weight: 600;}
:root{--nav-h: 60px;
    --nav-h-compact: 52px;
    --nav-radius: 24px;
    --nav-paper: #FFFFFF;
    --nav-rim: 0 0 0 1px rgba(45, 52, 54, 0.055);
    --nav-lift: 0 10px 28px -16px rgba(45, 52, 54, 0.34);
    --nav-tint: rgba(123, 45, 59, 0.06);

    
    --font-nav: 'Geist', 'Inter', 'Inter Fallback', system-ui, sans-serif;

    
    --font-caps: 'Anton', 'Bebas Neue', 'Arial Narrow', Impact, sans-serif;}
nav.site-nav,body > nav:not(.breadcrumb):not(.breadcrumb-inline){position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    padding:
        calc(12px + env(safe-area-inset-top))
        calc(16px + env(safe-area-inset-right)) 0
        calc(16px + env(safe-area-inset-left));
    pointer-events: none;}
.nav-inner{max-width: 1770px; margin: 0 auto;
    padding-inline: 24px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 24px;
    position: relative;}
.nav-logo,.nav-links,.nav-actions{pointer-events: auto;
    display: flex; align-items: center;
    height: var(--nav-h);
    border-radius: var(--nav-radius);
    background: var(--nav-paper);
    box-shadow: var(--nav-rim), var(--nav-lift);}
.nav-lead{display: flex; align-items: center; gap: 10px; min-width: 0;
    pointer-events: none;
    height: auto; padding: 0;
    background: none; box-shadow: none;}
.nav-links{padding: 0 10px; gap: 2px;}
.nav-actions{gap: 4px; padding: 0 8px 0 10px; flex-shrink: 0;}
@keyframes nav-paper-compact{
    from { height: var(--nav-h); }
    to   { height: var(--nav-h-compact); }
}
@keyframes nav-shell-compact{
    from { padding-top: calc(12px + env(safe-area-inset-top)); }
    to   { padding-top: calc(8px + env(safe-area-inset-top)); }
}
@supports (animation-timeline: scroll()){
@media (min-width: 861px){
.nav-logo,.nav-links,.nav-actions{animation: nav-paper-compact both;
            animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
            animation-timeline: scroll(root block);
            animation-range: 0 300px;}
nav.site-nav,body > nav:not(.breadcrumb):not(.breadcrumb-inline){animation: nav-shell-compact both;
            animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
            animation-timeline: scroll(root block);
            animation-range: 0 300px;}
}
}
.nav-logo{flex: 0 0 auto;
    width: var(--nav-h); justify-content: center;
    text-decoration: none; min-width: 0;
    padding: 0;
    border-radius: 999px;}
.nav-logo:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 4px;}
.nav-mark{width: 36px; height: 36px; flex-shrink: 0; display: block;
    padding: 0; border-radius: 999px;
    background: none; box-shadow: none;}
.nav-word{position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; border: 0;
    overflow: hidden; white-space: nowrap;
    clip-path: inset(50%);}
.nav-links{display: flex; align-items: center; gap: 2px;
    min-width: 0;}
.nav-links > a:not(.nav-cta),.nav-sit-btn{position: relative;
    display: inline-flex; align-items: center; gap: 5px;
    height: 38px; padding: 0 15px;
    border-radius: 999px;
    font-family: var(--font-nav);
    font-size: 0.875rem; font-weight: 500; line-height: 1;
    letter-spacing: -0.006em;
    color: var(--charcoal); text-decoration: none; white-space: nowrap;
    transition:
        color 0.18s var(--ease-out-soft),
        background-color 0.18s var(--ease-out-soft);}
.nav-links > a:not(.nav-cta):hover,.nav-sit-btn:hover,.nav-sit.open .nav-sit-btn{color: var(--burgundy); background: var(--nav-tint);}
.nav-links > a[aria-current="page"],.nav-sit--here.nav-sit .nav-sit-btn{color: #FFFFFF; background: var(--burgundy);}
.nav-links > a[aria-current="page"]:hover,.nav-sit--here.nav-sit .nav-sit-btn:hover{color: #FFFFFF; background: var(--burgundy-dark);}
.nav-sit--here.nav-sit .nav-sit-chev{color: #FFFFFF;}
.nav-cta{display: inline-flex; align-items: center; justify-content: center;
    height: 40px;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: var(--burgundy) !important; color: #FFFFFF !important;
    font-family: var(--font-nav);
    font-size: 0.875rem; font-weight: 500 !important; line-height: 1;
    letter-spacing: -0.006em;
    text-decoration: none; white-space: nowrap;
    transition: background-color 0.18s var(--ease-out-soft) !important;}
.nav-cta:hover{background: var(--burgundy-dark) !important;}
.nav-cta:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 3px;}
@media (min-width: 861px) and (max-width: 1240px){
.nav-inner{gap: 12px;}
.nav-lead{gap: 8px;}
.nav-links{padding: 0 6px;}
.nav-links > a:not(.nav-cta){padding: 0 10px; font-size: 0.8125rem;}
.nav-sit-btn{padding: 0 10px !important; font-size: 0.8125rem !important;}
.nav-cta{padding: 0 14px !important; font-size: 0.8125rem;}
.nav-phone{padding: 0 8px !important; font-size: 0.8125rem !important;}
.nav-mark{width: 32px; height: 32px;}
}
@media (max-width: 860px){
nav.site-nav,body > nav:not(.breadcrumb):not(.breadcrumb-inline){padding:
            calc(10px + env(safe-area-inset-top))
            calc(12px + env(safe-area-inset-right)) 0
            calc(12px + env(safe-area-inset-left));}
.nav-inner{max-width: none;
        height: 58px;
        padding: 0 8px 0 12px;
        gap: 8px;
        border-radius: 20px;
        pointer-events: auto;
        overflow: clip;
        background: var(--nav-paper);
        box-shadow: var(--nav-rim), var(--nav-lift);}
.nav-lead{display: contents;}
.nav-logo,.nav-links,.nav-actions{height: auto; width: auto; padding: 0; border-radius: 999px;
        background: none; box-shadow: none; animation: none;}
.nav-inner > .nav-links,.nav-lead > .nav-links{display: none;}
.nav-logo{margin-right: auto;}
.nav-actions > .nav-cta{display: none;}
.nav-mark{width: 34px; height: 34px;}
.nav-inner::after{content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
        background: var(--burgundy);
        transform: scaleX(0); transform-origin: left center;}
}
@keyframes nav-progress{ from { transform: scaleX(0); } to { transform: scaleX(1); } }
@supports (animation-timeline: scroll()){
@media (max-width: 860px){
.nav-inner::after{animation: nav-progress linear both;
            animation-timeline: scroll(root block);}
}
}
@media (prefers-reduced-motion: reduce){
.nav-logo,.nav-links,.nav-actions,nav.site-nav,body > nav:not(.breadcrumb):not(.breadcrumb-inline){animation: none !important;}
}
.hero{--hero-image: none;
    min-height: calc(100vh - 12px);
    min-height: calc(100dvh - 12px);
    display: flex; align-items: center;
    position: relative;
    margin: 12px 16px 0;
    padding: 128px 40px 80px;
    border-radius: var(--radius-xl);
    overflow: clip;
    background:
        var(--hero-image) center / cover no-repeat,
        linear-gradient(168deg, #FFFEFC 0%, #FBF6F2 52%, #F6EDEA 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        inset 0 0 0 1px rgba(123, 45, 59, 0.09),
        0 2px 6px rgba(45, 52, 54, 0.04),
        0 24px 48px -24px rgba(45, 52, 54, 0.16),
        0 56px 96px -56px rgba(94, 31, 44, 0.34);}
.hero::before{content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(120% 140% at 88% -18%, rgba(123, 45, 59, 0.13), transparent 62%),
        radial-gradient(90% 110% at 6% 108%, rgba(158, 74, 90, 0.07), transparent 66%);
    pointer-events: none;}
.hero-inner{max-width: 1200px; margin: 0 auto; width: 100%;
    display: grid; grid-template-columns: 1fr 1fr; gap: 64px;
    align-items: center; position: relative; z-index: 2;}
.hero--solo{min-height: min(76vh, 700px);
    padding: 136px 40px 76px;}
.hero--solo .hero-inner{max-width: 1100px;
    grid-template-columns: 1fr;
    gap: 0;}
.hero--solo h1{font-size: clamp(2.4rem, 5.2vw, 4.3rem);
    max-width: none;}
.hero--solo .hero-sub{max-width: 56ch; margin-bottom: 32px;}
.hero-act{display: flex; align-items: center; flex-wrap: wrap;
    gap: 12px 14px;
    margin-bottom: 40px;
    animation: fadeInUp 0.7s 0.4s ease forwards; opacity: 0;}
.hero-cta{display: inline-flex; align-items: center; justify-content: center;
    height: 52px; padding: 0 28px;
    border-radius: var(--radius-btn);
    background: var(--burgundy); color: #FFFFFF;
    font-family: var(--font-nav);
    font-size: 0.98rem; font-weight: 500; letter-spacing: -0.006em;
    text-decoration: none; white-space: nowrap;
    transition:
        background-color 0.2s var(--ease-out-soft),
        transform 0.2s var(--ease-out-soft),
        box-shadow 0.2s var(--ease-out-soft);}
.hero-cta:hover{background: var(--burgundy-dark);
    transform: translateY(-1px);
    box-shadow: var(--shadow-cta);}
.hero-cta:active{transform: translateY(0);}
.hero-cta:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 3px;}
.hero-seg{display: flex; align-items: center; flex-wrap: wrap; gap: 6px;}
.hero-seg a{display: inline-flex; align-items: center;
    height: 44px; padding: 0 18px;
    border-radius: var(--radius-btn);
    background: #FFFFFF;
    box-shadow: 0 0 0 1px rgba(45, 52, 54, 0.08);
    font-family: var(--font-nav);
    font-size: 0.875rem; font-weight: 500; letter-spacing: -0.006em;
    color: var(--charcoal); text-decoration: none; white-space: nowrap;
    transition:
        background-color 0.18s var(--ease-out-soft),
        color 0.18s var(--ease-out-soft),
        box-shadow 0.18s var(--ease-out-soft);}
.hero-seg a:hover{background: var(--burgundy); color: #FFFFFF;
    box-shadow: 0 0 0 1px var(--burgundy);}
.hero-seg a:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 3px;}
.hero-badge{display: block;
    font-size: 0.72rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.12em;
    color: var(--burgundy);
    margin-bottom: 14px;
    animation: fadeInDown 0.7s ease forwards; opacity: 0;}
.hero h1{font-size: clamp(2.4rem, 4.5vw, 3.5rem);
    line-height: 1.12; letter-spacing: -0.02em;
    margin-bottom: 20px;
    animation: fadeInUp 0.7s 0.15s ease forwards; opacity: 0;}
.hero h1 em{color: var(--burgundy); font-style: italic;}
.hero-sub{font-size: 1.05rem; color: var(--gray-500);
    line-height: 1.7; max-width: 460px;
    margin-bottom: 36px;
    animation: fadeInUp 0.7s 0.3s ease forwards; opacity: 0;}
.hero-stats{position: relative;
    display: flex; align-items: stretch;
    padding: 26px 28px 28px;
    border-radius: 24px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FDFBF8 100%);
    border: 1px solid rgba(123, 45, 59, 0.10);
    box-shadow:
        
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
         0 1px 2px rgba(45, 52, 54, 0.05),
         0 12px 28px -12px rgba(45, 52, 54, 0.18),
         0 36px 64px -36px rgba(94, 31, 44, 0.38);
    animation: fadeInUp 0.7s 0.45s ease forwards; opacity: 0;}
.hero-stats::before{content: ''; position: absolute; inset: 0; pointer-events: none;
    border-radius: inherit;
    background: radial-gradient(120% 150% at 0% 0%, rgba(123, 45, 59, 0.07), transparent 58%);}
.hero-stat{position: relative;
    flex: 1 1 0; min-width: 0;
    display: flex; flex-direction: column;
    padding: 0 20px;}
.hero-stat:first-child{padding-left: 0;}
.hero-stat:last-child{padding-right: 0;}
.hero-stat + .hero-stat{border-left: 1px solid rgba(45, 52, 54, 0.07);}
.hero-stat::before{content: ''; order: -2;
    width: 26px; height: 3px; border-radius: 2px;
    background: var(--burgundy);
    margin-bottom: 14px;
    transition:
        width 0.35s var(--ease-out-soft),
        background-color 0.35s var(--ease-out-soft);}
.hero-stat:hover::before{width: 46px; background: var(--burgundy-light);}
.hero-stat .label{order: -1;
    min-height: 2.6em; margin-bottom: 10px;
    font-family: var(--font-nav);
    font-size: 0.69rem; font-weight: 700; line-height: 1.3;
    letter-spacing: 0.09em; text-transform: uppercase;
    color: var(--gray-500);}
.hero-stat .num{font-family: var(--font-nav);
    font-size: clamp(1.35rem, 2.3vw, 1.75rem);
    font-weight: 590; line-height: 1.15;
    letter-spacing: -0.03em; color: var(--burgundy);
    font-variant-numeric: tabular-nums;
    margin-top: auto;}
.hero-stat .num.num--word,.trust-n.trust-n--word,.fact-n.fact-n--word{font-size: 1.05rem; line-height: 1.25; letter-spacing: -0.01em;
    font-variant-numeric: normal;}
.hero-stat .num.num--id,.trust-n.trust-n--id,.fact-n.fact-n--id{font-size: 1.12rem; line-height: 1.25; letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;}
.acc-haut{padding: 0;}
body.accueil > nav:not(.breadcrumb):not(.breadcrumb-inline){padding: 0 var(--g-marge-c);
    height: calc(2 * var(--g-marge-h) + var(--g-notch-h));
    display: flex; align-items: center;
    animation: none;}
body.accueil .nav-inner{max-width: none;
    padding-inline: 0;
    width: 100%;

    
    justify-content: flex-start;
    gap: clamp(10px, 0.85vw, 20px);}
@media (min-width: 861px){
body.accueil nav .nav-actions{display: none !important;}
}
@media (max-width: 860px){
body.accueil .hero-g-call{display: none;}
}
.hero-g{position: relative;

    
    
    margin: var(--g-marge-h) var(--g-marge-c) clamp(14px, 1.1vw, 26px);

    
    min-height: min(45.5vw, 84vh);

    
    border-radius: clamp(18px, 1.76vw, 42px);
    overflow: clip;}
.hero-g::before{content: '';
    position: absolute; inset: 0;
    background: linear-gradient(96deg,
        var(--burgundy-light) 0%,
        var(--burgundy) 51.44%,
        var(--burgundy-dark) 100%);
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)' opacity='.04'/%3E%3C/svg%3E") 0 0 / 160px 160px repeat,
        radial-gradient(110% 85% at 12% -14%, rgba(255, 236, 234, 0.20), rgba(255, 236, 234, 0) 56%),
        radial-gradient(70% 120% at 62% -22%, rgba(255, 205, 205, 0.09), rgba(255, 205, 205, 0) 60%),
        radial-gradient(85% 130% at 30% 116%, rgba(186, 108, 118, 0.26), rgba(186, 108, 118, 0) 62%),
        radial-gradient(80% 145% at 118% 28%, rgba(58, 18, 34, 0.28), rgba(58, 18, 34, 0) 62%),
        linear-gradient(96deg in oklab,
            var(--burgundy-light) 0%,
            var(--burgundy) 51.44%,
            var(--burgundy-dark) 100%);
    
    clip-path: polygon(
        
        0 0,
        calc(100% - var(--g-notch-w)) 0,
        
        calc(100% - var(--g-notch-w) + 0.1736 * var(--g-fillet)) calc(0.0152 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 0.342 * var(--g-fillet)) calc(0.0603 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 0.5 * var(--g-fillet)) calc(0.134 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 0.6428 * var(--g-fillet)) calc(0.234 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 0.766 * var(--g-fillet)) calc(0.3572 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 0.866 * var(--g-fillet)) calc(0.5 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 0.9397 * var(--g-fillet)) calc(0.658 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 0.9848 * var(--g-fillet)) calc(0.8264 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + var(--g-fillet)) var(--g-fillet),
        
        calc(100% - var(--g-notch-w) + 1.0152 * var(--g-fillet)) calc(var(--g-notch-h) - 0.8264 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 1.0603 * var(--g-fillet)) calc(var(--g-notch-h) - 0.658 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 1.134 * var(--g-fillet)) calc(var(--g-notch-h) - 0.5 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 1.234 * var(--g-fillet)) calc(var(--g-notch-h) - 0.3572 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 1.3572 * var(--g-fillet)) calc(var(--g-notch-h) - 0.234 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 1.5 * var(--g-fillet)) calc(var(--g-notch-h) - 0.134 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 1.658 * var(--g-fillet)) calc(var(--g-notch-h) - 0.0603 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 1.8264 * var(--g-fillet)) calc(var(--g-notch-h) - 0.0152 * var(--g-fillet)),
        calc(100% - var(--g-notch-w) + 2.0 * var(--g-fillet)) var(--g-notch-h),
        
        calc(100% - var(--g-fillet)) var(--g-notch-h),
        calc(100% - 0.8264 * var(--g-fillet)) calc(var(--g-notch-h) + 0.0152 * var(--g-fillet)),
        calc(100% - 0.658 * var(--g-fillet)) calc(var(--g-notch-h) + 0.0603 * var(--g-fillet)),
        calc(100% - 0.5 * var(--g-fillet)) calc(var(--g-notch-h) + 0.134 * var(--g-fillet)),
        calc(100% - 0.3572 * var(--g-fillet)) calc(var(--g-notch-h) + 0.234 * var(--g-fillet)),
        calc(100% - 0.234 * var(--g-fillet)) calc(var(--g-notch-h) + 0.3572 * var(--g-fillet)),
        calc(100% - 0.134 * var(--g-fillet)) calc(var(--g-notch-h) + 0.5 * var(--g-fillet)),
        calc(100% - 0.0603 * var(--g-fillet)) calc(var(--g-notch-h) + 0.658 * var(--g-fillet)),
        calc(100% - 0.0152 * var(--g-fillet)) calc(var(--g-notch-h) + 0.8264 * var(--g-fillet)),
        100% calc(var(--g-notch-h) + var(--g-fillet)),
        
        100% 100%,
        
        calc(var(--g-step-x) + var(--g-fillet)) 100%,
        calc(var(--g-step-x) + 0.8264 * var(--g-fillet)) calc(100% - 0.0152 * var(--g-fillet)),
        calc(var(--g-step-x) + 0.658 * var(--g-fillet)) calc(100% - 0.0603 * var(--g-fillet)),
        calc(var(--g-step-x) + 0.5 * var(--g-fillet)) calc(100% - 0.134 * var(--g-fillet)),
        calc(var(--g-step-x) + 0.3572 * var(--g-fillet)) calc(100% - 0.234 * var(--g-fillet)),
        calc(var(--g-step-x) + 0.234 * var(--g-fillet)) calc(100% - 0.3572 * var(--g-fillet)),
        calc(var(--g-step-x) + 0.134 * var(--g-fillet)) calc(100% - 0.5 * var(--g-fillet)),
        calc(var(--g-step-x) + 0.0603 * var(--g-fillet)) calc(100% - 0.658 * var(--g-fillet)),
        calc(var(--g-step-x) + 0.0152 * var(--g-fillet)) calc(100% - 0.8264 * var(--g-fillet)),
        var(--g-step-x) calc(100% - var(--g-fillet)),
        
        var(--g-step-x) calc(100% - var(--g-step-y) + var(--g-fillet)),
        calc(var(--g-step-x) - 0.0152 * var(--g-fillet)) calc(100% - var(--g-step-y) + 0.8264 * var(--g-fillet)),
        calc(var(--g-step-x) - 0.0603 * var(--g-fillet)) calc(100% - var(--g-step-y) + 0.658 * var(--g-fillet)),
        calc(var(--g-step-x) - 0.134 * var(--g-fillet)) calc(100% - var(--g-step-y) + 0.5 * var(--g-fillet)),
        calc(var(--g-step-x) - 0.234 * var(--g-fillet)) calc(100% - var(--g-step-y) + 0.3572 * var(--g-fillet)),
        calc(var(--g-step-x) - 0.3572 * var(--g-fillet)) calc(100% - var(--g-step-y) + 0.234 * var(--g-fillet)),
        calc(var(--g-step-x) - 0.5 * var(--g-fillet)) calc(100% - var(--g-step-y) + 0.134 * var(--g-fillet)),
        calc(var(--g-step-x) - 0.658 * var(--g-fillet)) calc(100% - var(--g-step-y) + 0.0603 * var(--g-fillet)),
        calc(var(--g-step-x) - 0.8264 * var(--g-fillet)) calc(100% - var(--g-step-y) + 0.0152 * var(--g-fillet)),
        calc(var(--g-step-x) - var(--g-fillet)) calc(100% - var(--g-step-y)),
        
        var(--g-fillet) calc(100% - var(--g-step-y)),
        calc(0.8264 * var(--g-fillet)) calc(100% - var(--g-step-y) - 0.0152 * var(--g-fillet)),
        calc(0.658 * var(--g-fillet)) calc(100% - var(--g-step-y) - 0.0603 * var(--g-fillet)),
        calc(0.5 * var(--g-fillet)) calc(100% - var(--g-step-y) - 0.134 * var(--g-fillet)),
        calc(0.3572 * var(--g-fillet)) calc(100% - var(--g-step-y) - 0.234 * var(--g-fillet)),
        calc(0.234 * var(--g-fillet)) calc(100% - var(--g-step-y) - 0.3572 * var(--g-fillet)),
        calc(0.134 * var(--g-fillet)) calc(100% - var(--g-step-y) - 0.5 * var(--g-fillet)),
        calc(0.0603 * var(--g-fillet)) calc(100% - var(--g-step-y) - 0.658 * var(--g-fillet)),
        calc(0.0152 * var(--g-fillet)) calc(100% - var(--g-step-y) - 0.8264 * var(--g-fillet)),
        0 calc(100% - var(--g-step-y) - var(--g-fillet))
    );}
.hero-g-call{position: absolute; z-index: 1;
    top: 0; right: 0;
    height: var(--g-notch-h);

    
    width: calc(var(--g-notch-w) - 2 * var(--g-fillet));

    
    display: flex; align-items: center; justify-content: center;
    gap: clamp(12px, 0.85vw, 18px);

    
    padding: 0 clamp(10px, 0.9vw, 22px);}
.hg-tel{display: inline-flex; align-items: center; gap: 9px;
    font-family: var(--font-nav);
    font-size: clamp(15px, 0.89vw, 17px);
    font-weight: 500;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
    color: var(--ink);
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s var(--ease-out-soft);}
.hg-tel svg{width: 1.15em; height: 1.15em; flex: none;
    color: var(--ink-mute);
    transition: color .2s var(--ease-out-soft);}
.hg-tel:hover,.hg-tel:hover svg{color: var(--burgundy);}
.hg-tel:focus-visible{outline: 2px solid var(--ink); outline-offset: 2px; border-radius: 3px;}
.hg-devis{display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: clamp(40px, 2.42vw, 46px);
    padding: 9px clamp(15px, 1.05vw, 20px);
    
    border-radius: 5px;
    background: var(--ink);
    color: #FFFFFF;
    font-family: var(--font-nav);
    font-size: clamp(15px, 0.89vw, 17px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.015em;
    text-decoration: none;
    white-space: nowrap;
    transition:
        transform .2s var(--ease-out-soft),
        box-shadow .2s var(--ease-out-soft),
        background-color .2s var(--ease-out-soft);}
.hg-devis:hover{background: var(--ink-pure);
    transform: translateY(-1px);
    box-shadow: var(--shadow-ink);}
.hg-devis:active{transform: translateY(0); box-shadow: var(--shadow-ink-soft);}
.hg-devis:focus-visible{outline: 2px solid var(--ink); outline-offset: 2px;}
.roll{display: grid;
    height: 1.5em;
    overflow: clip;}
.roll > span{grid-area: 1 / 1;
    display: flex; align-items: center;
    transition: transform .32s var(--ease-out-soft);}
.roll > span:nth-child(2){transform: translateY(100%);}
.hg-tel:hover   .roll > span:nth-child(1),.hg-devis:hover .roll > span:nth-child(1){transform: translateY(-100%);}
.hg-tel:hover   .roll > span:nth-child(2),.hg-devis:hover .roll > span:nth-child(2){transform: translateY(0);}
.btn-fleche{width: 15px; height: 15px; flex: none;
    transition: transform .2s var(--ease-out-soft);}
.hg-devis:hover .btn-fleche{transform: translateX(3px);}
@media (prefers-reduced-motion: reduce){
.hg-devis,.hg-tel,.hg-tel svg,.roll > span,.btn-fleche{transition: none;}
.hg-devis:hover{transform: none;}
.hg-devis:hover .btn-fleche{transform: none;}
.hg-tel:hover   .roll > span:nth-child(1),.hg-devis:hover .roll > span:nth-child(1){transform: none;}
.hg-tel:hover   .roll > span:nth-child(2),.hg-devis:hover .roll > span:nth-child(2){transform: translateY(100%);}
}
@media (max-width: 860px){
.hero-g{margin: 10px 12px 14px;
        min-height: clamp(260px, 66vw, 480px);
        border-radius: 20px;}
.hero-g::before{clip-path: none;}
.hero-g-call{position: relative;
        top: auto; right: auto;
        height: auto;
        width: auto;
        margin: 12px 12px 0;
        padding: 9px 9px 9px 16px;
        justify-content: space-between;
        gap: 12px;
        background: var(--white);
        border-radius: 999px;}
.hg-devis{min-height: 40px; padding: 9px 15px; font-size: 15px;}
}
@media (max-width: 420px){
.hero-g-call{padding-left: 12px; gap: 8px;}
.hg-tel{font-size: 14px;}
.hg-devis{min-height: 36px; padding: 8px 13px; font-size: 14px;}
}
.fam{interpolate-size: allow-keywords;
    padding: 0 clamp(12px, 1.27vw, 30px) clamp(44px, 4.4vw, 104px);}
.fam-inner{display: grid;
    
    grid-template-columns: 1fr minmax(340px, 24.4vw);
    gap: clamp(24px, 3vw, 64px);}
.fam-col{grid-column: 2;}
.fam-h{position: absolute; width: 1px; height: 1px;
    margin: -1px; padding: 0; border: 0;
    clip-path: inset(50%); overflow: hidden; white-space: nowrap;}
.fam-row + .fam-row{border-top: 1px solid var(--hairline);}
.fam-row > summary{display: flex; align-items: center;
    gap: clamp(12px, 0.95vw, 18px);
    padding: clamp(14px, 1.1vw, 20px) 0;
    cursor: pointer;
    list-style: none;}
.fam-row > summary::-webkit-details-marker{display: none;}
.fam-row > summary:focus-visible{outline: 2px solid var(--ink); outline-offset: 2px;}
.fam-vig{width: clamp(64px, 4.4vw, 84px);
    
    height: auto;
    aspect-ratio: 320 / 286;
    object-fit: cover;
    border-radius: 10px;
    flex: none;
    background: var(--gray-100);}
.fam-txt{flex: 1 1 auto; min-width: 0;}
.fam-n{display: block;
    font-family: var(--font-nav);
    font-size: clamp(12.5px, 0.72vw, 14px);
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    line-height: 1.2;
    color: var(--ink);}
.fam-d{margin-top: 5px;
    font-family: var(--font-nav);
    font-size: clamp(12.5px, 0.73vw, 13.5px);
    line-height: 1.4;
    text-wrap: pretty;
    color: var(--ink-soft);
    
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;}
.fam-chev{width: 13px; height: 13px; flex: none;
    color: var(--ink-mute);
    transition: transform .3s var(--ease-out-soft), color .2s var(--ease-out-soft);}
.fam-row > summary:hover .fam-chev{color: var(--ink);}
.fam-row[open] .fam-chev{transform: rotate(180deg); color: var(--burgundy);}
.fam-row::details-content{height: 0;
    overflow: clip;
    opacity: 0;
    transition:
        height .38s var(--ease-out-soft),
        opacity .3s var(--ease-out-soft),
        content-visibility .38s allow-discrete;}
.fam-row[open]::details-content{height: auto; opacity: 1;}
.fam-sub{display: flex; flex-wrap: wrap; gap: 7px;
    padding: 0 0 clamp(14px, 1.1vw, 20px)
             calc(clamp(64px, 4.4vw, 84px) + clamp(12px, 0.95vw, 18px));}
.fam-sub a{display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 11px;
    border: 1px solid var(--hairline);
    border-radius: 5px;
    font-family: var(--font-nav);
    font-size: 13px;
    letter-spacing: -0.01em;
    color: var(--ink-soft);
    text-decoration: none;
    transition:
        color .2s var(--ease-out-soft),
        border-color .2s var(--ease-out-soft),
        background-color .2s var(--ease-out-soft);}
.fam-sub a::after{content: '';
    width: 12px; height: 12px; flex: none;
    background: currentColor;
    -webkit-mask: var(--fleche-hd) center / contain no-repeat;
    mask: var(--fleche-hd) center / contain no-repeat;
    opacity: .55;
    transition: transform .2s var(--ease-out-soft), opacity .2s var(--ease-out-soft);}
.fam-sub a:hover{color: var(--ink);
    border-color: var(--ink-mute);
    background: #FFFFFF;}
.fam-sub a:hover::after{transform: translate(2px, -2px); opacity: 1;}
.fam-sub a:focus-visible{outline: 2px solid var(--ink); outline-offset: 2px;}
@media (prefers-reduced-motion: reduce){
.fam-chev,.fam-row::details-content,.fam-sub a,.fam-sub a::after{transition: none;}
.fam-sub a:hover::after{transform: none;}
}
@media (max-width: 900px){
.fam-inner{grid-template-columns: 1fr;}
.fam-col{grid-column: 1;
        
        max-width: 620px;}
}
.devis-sec{padding: 64px 16px 80px;}
.devis-sec-inner{max-width: 620px; margin: 0 auto;}
@media (max-width: 768px){
.devis-sec{padding: 40px 12px 52px;}
}
.form-card{background: #FFFFFF;
    border-radius: var(--radius-xl);
    padding: 36px;
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--gray-200);
    animation: fadeInUp 0.7s 0.2s ease forwards; opacity: 0;
    position: relative;}
.form-card::before{content: '';
    position: absolute; top: -1px; left: 32px; right: 32px; height: 3px;
    background: linear-gradient(90deg, var(--burgundy), var(--burgundy-light));
    border-radius: 0 0 3px 3px;}
.form-title{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    font-size: 1.4rem; color: var(--charcoal);
    margin-bottom: 2px;}
.form-subtitle{font-size: 0.82rem; color: var(--gray-400);
    margin-bottom: 24px;}
.form-progress{display: flex; align-items: center;
    margin-bottom: 24px;}
.p-step{display: flex; align-items: center; gap: 6px;
    font-size: 0.68rem; font-weight: 500;
    color: var(--gray-400); white-space: nowrap;
    transition: color 0.3s; cursor: default;}
.p-step.active{color: var(--burgundy);}
.p-step.done{color: var(--green);}
.p-num{width: 22px; height: 22px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--gray-100); color: var(--gray-400);
    font-size: 0.65rem; font-weight: 600; transition: all 0.3s;
    flex-shrink: 0;}
.p-step.active .p-num{background: var(--burgundy); color: var(--white);}
.p-step.done .p-num{background: var(--green); color: var(--white);}
.p-line{flex: 1; height: 2px; background: var(--gray-200); margin: 0 5px; transition: background 0.3s;}
.p-line.done{background: var(--green);}
.fstep{display: none;}
.fstep.active{display: block; animation: slideIn 0.35s ease;}
@keyframes slideIn{ from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }
.frow{display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px;}
.frow.single{grid-template-columns: 1fr;}
.fgroup{display: flex; flex-direction: column; gap: 4px;}
.fgroup label{font-size: 0.72rem; font-weight: 500; color: var(--gray-600);
    text-transform: uppercase; letter-spacing: 0.04em;}
.fgroup label .req{color: var(--burgundy); margin-left: 2px;}
.fgroup input,.fgroup select,.fgroup textarea{padding: 11px 13px;
    border: 1.5px solid var(--gray-200);
    border-radius: 8px;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    font-size: 0.9rem; color: var(--charcoal);
    background: var(--white);
    transition: all 0.25s; outline: none;}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color: var(--burgundy);
    box-shadow: 0 0 0 3px rgba(123,45,59,0.08);}
.fgroup input:not(:placeholder-shown):valid{border-color: var(--green);}
.fgroup input[type="date"]{color: var(--gray-400);}
.fgroup input[type="date"]:not([value=""]):valid{color: var(--charcoal);}
.fgroup input::placeholder,.fgroup textarea::placeholder{color: var(--gray-400);}
.fgroup select{cursor: pointer; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%239CA3AF' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center;
    padding-right: 32px;}
.fgroup textarea{resize: vertical; min-height: 72px;}
.tog{display: flex; gap: 8px;}
.tbtn{flex: 1; padding: 10px; text-align: center;
    border: 1.5px solid var(--gray-200); border-radius: 8px;
    background: var(--white); font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    font-size: 0.85rem; font-weight: 450; color: var(--gray-500);
    cursor: pointer; transition: all 0.25s;}
.tbtn:hover{border-color: var(--gray-300);}
.tbtn.on{border-color: var(--burgundy); background: rgba(123,45,59,0.04);
    color: var(--charcoal); font-weight: 500;}
.sec-label{font-size: 0.68rem; font-weight: 600; color: var(--burgundy);
    text-transform: uppercase; letter-spacing: 0.1em;
    margin: 20px 0 12px; padding: 6px 10px;
    background: var(--burgundy-pale); border-radius: 6px;
    border-left: 3px solid var(--burgundy);}
.sec-label:first-child{margin-top: 0;}
.form-btns{display: flex; gap: 10px; margin-top: 20px;}
.btn-main{flex: 1;
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 48px; padding: 13px 20px;
    background: var(--burgundy); color: var(--white);
    border: none; border-radius: var(--radius-btn);
    font-family: var(--font-nav);
    font-size: 1rem; font-weight: 500; line-height: 1.2; letter-spacing: -0.02em;
    white-space: nowrap; cursor: pointer;
    transition:
        transform 0.2s var(--ease-out-soft),
        box-shadow 0.2s var(--ease-out-soft),
        background-color 0.2s var(--ease-out-soft),
        opacity 0.2s var(--ease-out-soft);}
.btn-main:hover{background: var(--burgundy-dark); transform: translateY(-1px); box-shadow: var(--shadow-cta);}
.btn-main:active{transform: translateY(0);}
.btn-main:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 2px;}
.btn-main:disabled{opacity: 0.5; cursor: not-allowed; transform: none;}
.btn-back{padding: 13px 18px;
    background: transparent; color: var(--gray-500);
    border: 1.5px solid var(--gray-200); border-radius: var(--radius);
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    font-size: 0.88rem; font-weight: 500;
    cursor: pointer; transition: all 0.3s;}
.btn-back:hover{border-color: var(--gray-300); color: var(--gray-700);}
.skip-txt{text-align: center; margin-top: 12px;
    font-size: 0.76rem; color: var(--gray-400);}
.skip-txt a{color: var(--burgundy); cursor: pointer; text-decoration: underline; font-weight: 500;}
.toast{display: none; position: fixed;
    top: 80px; left: 50%; transform: translateX(-50%);
    z-index: 200;
    background: var(--green); color: var(--white);
    padding: 16px 28px; border-radius: 12px;
    font-size: 0.9rem; font-weight: 500;
    box-shadow: 0 8px 32px rgba(45,139,94,0.3);
    animation: toastIn 0.5s ease;
    max-width: 90%;}
.toast.show{display: block;}
.toast .toast-sub{font-weight: 400; font-size: 0.82rem; opacity: 0.85; margin-top: 4px;}
@keyframes toastIn{
    from { opacity: 0; transform: translateX(-50%) translateY(-20px); }
    to { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.encourage-banner{display: none;
    background: linear-gradient(135deg, var(--burgundy-pale), rgba(232,245,238,0.5));
    border: 1px solid rgba(123,45,59,0.1);
    border-radius: 12px;
    padding: 16px 20px; margin-bottom: 20px;
    animation: fadeIn 0.5s ease;}
.encourage-banner.show{display: block;}
.encourage-banner h4{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    font-size: 0.95rem; color: var(--charcoal);
    margin-bottom: 4px;}
.encourage-banner p{font-size: 0.8rem; color: var(--gray-500); line-height: 1.5;}
.success-box{display: none; text-align: center; padding: 48px 24px;}
.success-box.show{display: block; animation: fadeIn 0.5s ease;}
.success-icon{width: 60px; height: 60px; border-radius: 50%;
    background: var(--green-pale);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 18px; font-size: 1.8rem;}
.success-box h2{font-size: 1.25rem; margin-bottom: 8px;}
.success-box p{color: var(--gray-500); font-size: 0.88rem; line-height: 1.6;}
section{padding: 90px 32px;}
.sec-inner{max-width: 1200px; margin: 0 auto;}
.sec-tag{font-size: 0.7rem; font-weight: 600; color: var(--burgundy);
    text-transform: uppercase; letter-spacing: 0.14em;
    margin-bottom: 10px;}
.sec-h2{font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.15; margin-bottom: 16px;}
.sec-desc{font-size: 1rem; color: var(--gray-600); line-height: 1.7;
    max-width: 540px;}
.prose-sec .sec-inner{max-width: 880px;}
.prose-sec .sec-desc{max-width: 880px;}
.prose-sec h3{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    font-size: 1.2rem; color: var(--charcoal);
    margin: 28px 0 8px; line-height: 1.3;}
.prose-sec p{color: var(--gray-700); line-height: 1.72; margin: 0 0 15px; font-size: 1.02rem;}
.prose-sec ul{margin: 0 0 16px; padding-left: 22px; color: var(--gray-700); line-height: 1.7;}
.prose-sec li{margin-bottom: 8px;}
.prose-sec a{color: var(--burgundy); font-weight: 500; text-decoration: none;}
.prose-sec .sec-source{font-size: 0.88rem; color: var(--gray-500); margin: -6px 0 22px;}
.prose-sec .sec-figure{margin: 22px 0 26px;}
.prose-sec .sec-figure img{display: block; width: 100%; height: auto; max-width: 880px;
    border-radius: var(--radius-lg); border: 1px solid var(--gray-200); background: var(--gray-50);}
.prose-sec .sec-figure figcaption{font-size: 0.88rem; color: var(--gray-500); margin-top: 10px;}
.prose-sec a:hover{text-decoration: underline;}
.hero-sub a,.sec-desc a,.answer-block a,.feat-card p a,.sec-inner > p a,main li a:not([class]){color: var(--burgundy); font-weight: 500; text-decoration: none;}
.hero-sub a:hover,.sec-desc a:hover,.answer-block a:hover,.feat-card p a:hover,.sec-inner > p a:hover,main li a:not([class]):hover{text-decoration: underline;}
.prose-sec .prose-cols{display: grid; grid-template-columns: 1fr 1fr; gap: 12px 30px;}
@media (max-width: 640px){
.prose-sec .prose-cols{grid-template-columns: 1fr;}
}
.prose-sec .table-wrap{overflow-x: auto; margin: 20px 0 24px; border-radius: 12px; border: 1px solid var(--gray-200); background: var(--white);}
.prose-sec table{width: 100%; border-collapse: collapse; font-size: 0.94rem; min-width: 480px;}
.prose-sec th,.prose-sec td{padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--gray-200); vertical-align: top; line-height: 1.5; color: var(--gray-700);}
.prose-sec thead th{background: var(--burgundy-pale); color: var(--burgundy); font-weight: 600; letter-spacing: 0.01em;}
.prose-sec th[scope="row"]{font-weight: 600; color: var(--charcoal); background: #FBF8F4;}
.prose-sec tbody tr:last-child th,.prose-sec tbody tr:last-child td{border-bottom: 0;}
.prose-sec td{font-variant-numeric: tabular-nums;}
.prose-sec caption{caption-side: bottom; padding: 10px 16px; font-size: 0.82rem; color: var(--gray-500); text-align: left;}
.breadcrumb-inline{position: static; z-index: auto;
    background: none; backdrop-filter: none; border-bottom: 0; transition: none;
    max-width: 1200px; margin: 0 auto; padding: 18px 32px 0;
    font-size: 0.78rem; color: var(--gray-400);
    display: flex; gap: 6px; flex-wrap: wrap; align-items: center;}
.breadcrumb-inline a{color: var(--gray-500); text-decoration: none;}
.breadcrumb-inline a:hover{color: var(--burgundy); text-decoration: underline;}
@media (max-width: 640px){
.breadcrumb-inline{padding: 14px 16px 0;}
}
.steps-grid{display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 28px; margin-top: 52px;}
.step-card{padding: 32px 24px; background: var(--white);
    border-radius: var(--radius-lg); border: 1px solid var(--gray-200);
    position: relative; transition: all 0.4s;}
.step-card:hover{transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: rgba(123,45,59,0.15);}
.step-n{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    font-size: 3rem; color: rgba(123,45,59,0.7);
    line-height: 1; margin-bottom: 12px; font-weight: 600;}
.step-card h3{font-size: 1.1rem; margin-bottom: 8px;}
.step-card p{font-size: 0.88rem; color: var(--gray-500); line-height: 1.6;}
.step-arr{position: absolute; right: -18px; top: 50%; transform: translateY(-50%);
    color: var(--burgundy-light); font-size: 1.1rem; z-index: 2;}
.cabinet-link{display: flex; align-items: center; gap: 16px;
    max-width: 560px; margin: 36px auto 0;
    padding: 16px 20px; text-decoration: none;
    background: var(--white); border: 1px solid var(--gray-200);
    border-radius: var(--radius-lg); transition: all 0.3s;}
.cabinet-link:hover{border-color: rgba(123,45,59,0.25);
    box-shadow: var(--shadow-md); transform: translateY(-2px);}
.cabinet-ico{font-size: 1.4rem; flex-shrink: 0;
    width: 44px; height: 44px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: var(--burgundy-pale);}
.cabinet-txt{display: flex; flex-direction: column; gap: 2px; flex: 1;}
.cabinet-txt strong{font-size: 0.95rem; color: var(--charcoal); font-weight: 500;}
.cabinet-txt span{font-size: 0.8rem; color: var(--gray-500); line-height: 1.45;}
.cabinet-arr{flex-shrink: 0; color: var(--burgundy); font-size: 1.2rem; font-weight: 600;
    transition: transform 0.3s;}
.cabinet-link:hover .cabinet-arr{transform: translateX(4px);}
.feat-grid{display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 20px; margin-top: 52px;}
.feat-card{padding: 28px; background: #FFFFFF;
    border-radius: var(--radius-lg); border: 1px solid var(--gray-200);
    transition: all 0.4s;
    position: relative;
    overflow: hidden;}
.feat-card::after{content: '';
    position: absolute; top: 0; left: 0; width: 3px; height: 100%;
    background: var(--burgundy);
    border-radius: 3px 0 0 3px;
    opacity: 0; transition: opacity 0.3s;}
.feat-card:hover{border-color: rgba(123,45,59,0.2); transform: translateY(-3px); box-shadow: var(--shadow-md);}
.feat-card:hover::after{opacity: 1;}
.feat-ico{width: 44px; height: 44px; border-radius: 10px;
    background: var(--burgundy-pale);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; margin-bottom: 16px;}
.feat-card h3{color: var(--charcoal); font-size: 1.05rem; margin-bottom: 6px;}
.feat-card p{color: var(--gray-500); font-size: 0.85rem; line-height: 1.6;}
.sit-grid{display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 18px; margin-top: 52px;}
a.sit-card{display: block; padding: 26px 22px; background: var(--white);
    border-radius: var(--radius-lg); border: 1px solid var(--gray-200);
    text-decoration: none; color: var(--charcoal); transition: all 0.3s;}
a.sit-card:hover{border-color: rgba(123,45,59,0.25); transform: translateY(-3px); box-shadow: var(--shadow-md);}
.sit-card .sit-ico{font-size: 1.35rem; margin-bottom: 10px; display: block;}
.sit-card h3{font-size: 1rem; margin-bottom: 5px; color: var(--charcoal);}
.sit-card p{font-size: 0.82rem; color: var(--gray-500); line-height: 1.55;}
@media (max-width: 900px){
.sit-grid{grid-template-columns: 1fr 1fr;}
}
@media (max-width: 560px){
.sit-grid{grid-template-columns: 1fr;}
}
.sit-cats{display: flex; flex-direction: column; gap: 44px; margin-top: 52px;}
.sit-cat{min-width: 0;}
.sit-cats .sit-grid{margin-top: 16px;}
.sit-cat-head{display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding-bottom: 12px; border-bottom: 1px solid var(--gray-200);}
.sit-cat-h{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif; font-size: 1.5rem; font-weight: 600; color: var(--charcoal);}
.sit-cat-sub{font-size: 0.9rem; color: var(--gray-500);}
.sit-cat--domtom .sit-cat-head{border-bottom-color: rgba(123,45,59,0.28);}
.sit-cat--domtom .sit-cat-h::before{content: '🌴 ';}
.sit-cat--tempo .sit-cat-head{border-bottom-color: rgba(123,45,59,0.28);}
.sit-cat--tempo .sit-cat-h::before{content: '⏱️ ';}
.sit-cat--autre .sit-cat-head{border-bottom-color: rgba(123,45,59,0.28);}
.sit-cat--autre .sit-cat-h::before{content: '💬 ';}
.sit-card--ask{border-color: rgba(123,45,59,0.28); background: rgba(123,45,59,0.03);}
.sit-card--tempo{border-color: rgba(123,45,59,0.28); background: rgba(123,45,59,0.03);}
.sit-cat--more{margin-top: -18px;}
.sit-cat--more .sit-cat-head{display: none;}
@media (max-width: 560px){
.sit-cat-h{font-size: 1.3rem;}
.sit-cats{gap: 36px;}
}
.sit-grid--menu{align-items: start;}
.sit-card--menu{background: var(--white); border: 1px solid var(--gray-200);
    border-radius: var(--radius-lg); overflow: hidden;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;}
.sit-card--menu:hover{border-color: rgba(123,45,59,0.25); transform: translateY(-3px); box-shadow: var(--shadow-md);}
.sit-card--menu.open{border-color: rgba(123,45,59,0.4); box-shadow: var(--shadow-md); transform: none;}
.sit-card-btn{display: block; width: 100%; text-align: left; cursor: pointer;
    background: none; border: 0; padding: 26px 22px 20px; font: inherit; color: var(--charcoal);}
.sit-card-btn .sit-ico{font-size: 1.35rem; margin-bottom: 10px; display: block;}
.sit-card-btn h3{font-size: 1rem; margin-bottom: 5px; color: var(--charcoal);}
.sit-card-btn p{font-size: 0.82rem; color: var(--gray-500); line-height: 1.55;}
.sit-card-btn:focus-visible{outline: 2px solid var(--burgundy); outline-offset: -2px; border-radius: var(--radius-lg);}
.sit-choose{display: inline-flex; align-items: center; gap: 6px; margin-top: 14px;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif; font-size: 0.78rem; font-weight: 500; letter-spacing: 0.01em;
    color: var(--burgundy);}
.sit-chev{transition: transform 0.3s; font-size: 0.85em; line-height: 1;}
.sit-card--menu.open .sit-chev{transform: rotate(180deg);}
.sit-menu{display: grid; gap: 8px; padding: 0 16px;
    max-height: 0; opacity: 0; visibility: hidden; overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.35s ease, visibility 0s linear 0.35s;}
.sit-card--menu.open .sit-menu{max-height: 280px; opacity: 1; visibility: visible; padding: 0 16px 18px;
    transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.35s ease, visibility 0s;}
.sit-menu-link{display: flex; align-items: center; gap: 12px;
    padding: 12px 14px; border-radius: var(--radius);
    background: var(--gray-50); border: 1px solid var(--gray-200);
    text-decoration: none; color: var(--charcoal); transition: background 0.2s, border-color 0.2s, transform 0.2s;}
.sit-menu-link:hover{background: var(--burgundy-pale); border-color: rgba(123,45,59,0.3); transform: translateX(2px);}
.sml-ico{font-size: 1.1rem; flex-shrink: 0;}
.sml-txt{display: flex; flex-direction: column; line-height: 1.3; flex: 1;}
.sml-txt strong{font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif; font-size: 0.9rem; font-weight: 500; color: var(--charcoal);}
.sml-txt em{font-style: normal; font-size: 0.72rem; color: var(--gray-500); margin-top: 2px;}
.sml-arr{color: var(--burgundy); font-weight: 600; flex-shrink: 0;}
.sit-menu-link[aria-current="page"],.sit-card--direct[aria-current="page"],.autres-tile[aria-current="page"]{background: var(--burgundy-pale);
    border-color: rgba(123, 45, 59, 0.35);}
.sit-menu-link[aria-current="page"] .sml-arr::after,.autres-tile[aria-current="page"] .autres-sub::after{content: " · tu y es";
    font-size: 0.7rem; font-weight: 500; color: var(--burgundy);
    text-transform: none; letter-spacing: 0;}
.sit-menu-link[aria-current="page"] .sml-arr{font-size: 0.7rem;}
a.sit-card--direct{display: flex; flex-direction: column;}
a.sit-card--direct .sit-choose{margin-top: auto;}
.trust-grid{display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 20px; margin-top: 52px;}
.trust-card{text-align: center; padding: 28px 16px;
    background: var(--white); border-radius: var(--radius-lg);
    border: 1px solid var(--gray-200);}
.trust-n{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    font-size: 2.2rem; color: var(--burgundy); font-weight: 600; line-height: 1;}
.trust-l{font-size: 0.78rem; color: var(--gray-500); margin-top: 6px; font-weight: 450;}
.cta-block{background: var(--burgundy-dark); text-align: center;
    border-radius: var(--radius-xl);
    margin: 0 32px 72px; padding: 72px 40px;
    position: relative; overflow: hidden;}
.cta-block::before{content: '';
    position: absolute; top: -100px; left: 50%; transform: translateX(-50%);
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(123,45,59,0.15) 0%, transparent 60%);}
.cta-block h2{color: var(--white); font-size: 2.2rem; margin-bottom: 12px; position: relative; z-index: 1;}
.cta-block p{color: rgba(255,255,255,0.5); font-size: 0.95rem; margin-bottom: 28px; position: relative; z-index: 1;}
.cta-link{display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 48px; padding: 13px 32px;
    background: var(--burgundy); color: var(--white);
    border-radius: var(--radius-btn);
    font-family: var(--font-nav);
    font-size: 1rem; font-weight: 500; line-height: 1.2; letter-spacing: -0.02em;
    white-space: nowrap; text-decoration: none; position: relative; z-index: 1;
    transition:
        transform 0.2s var(--ease-out-soft),
        box-shadow 0.2s var(--ease-out-soft),
        background-color 0.2s var(--ease-out-soft);}
.cta-link:hover{background: var(--burgundy-dark); transform: translateY(-1px); box-shadow: var(--shadow-cta);}
.cta-link:active{transform: translateY(0);}
.cta-link:focus-visible{outline: 2px solid var(--white); outline-offset: 2px;}
.cta-link.alt{background: transparent; border: 1.5px solid rgba(255,255,255,0.3); color: white; margin-left: 10px;}
.cta-link.alt:hover{background: rgba(255,255,255,0.08);}
footer{padding: 36px 32px calc(36px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--gray-200);}
.foot-inner{max-width: 1200px; margin: 0 auto;
    display: flex; justify-content: space-between; align-items: center;}
.foot-txt{font-size: 0.78rem; color: var(--gray-600);}
.foot-links{display: flex; gap: 20px; flex-wrap: wrap;}
.foot-links a{font-size: 0.78rem; color: var(--gray-600); text-decoration: none;}
.foot-links a:hover{color: var(--burgundy);}
.foot-cols{max-width: 1200px; margin: 0 auto 26px;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px 24px;}
.foot-col h2{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    font-size: 0.9rem; color: var(--charcoal); font-weight: 500; margin-bottom: 11px;}
.foot-col a{display: block; font-size: 0.8rem; color: var(--gray-600); text-decoration: none; padding: 3px 0; line-height: 1.4;}
.foot-col a:hover{color: var(--burgundy);}
.foot-cols + .foot-inner{border-top: 1px solid var(--gray-200); padding-top: 22px;}
@media (max-width: 860px){
.foot-cols{grid-template-columns: 1fr 1fr;}
}
@media (max-width: 480px){
.foot-cols{grid-template-columns: 1fr; gap: 20px;}
}
.phone-float{position: fixed;
    bottom: calc(24px + env(safe-area-inset-bottom));
    right: calc(24px + env(safe-area-inset-right));
    z-index: 99;
    display: flex; align-items: center; gap: 12px;
    text-decoration: none;}
.phone-float .phone-number{background: #FFFFFF;
    padding: 15px 28px;
    border-radius: 15px;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    font-size: 1.45rem; font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--burgundy);
    box-shadow: 0 6px 24px rgba(0,0,0,0.14);
    border: 1.5px solid rgba(123,45,59,0.18);
    animation: blink-number 2s ease-in-out infinite;}
.phone-float .phone-btn{width: 74px; height: 74px;
    background: var(--burgundy); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 16px rgba(123,45,59,0.35);
    transition: all 0.3s;
    flex-shrink: 0;}
.phone-float:hover .phone-btn{transform: scale(1.08);
    background: var(--burgundy-dark);
    box-shadow: 0 6px 24px rgba(123,45,59,0.45);}
.phone-float .phone-btn svg{width: 33px; height: 33px; fill: white;}
@keyframes blink-number{
    0%, 100% { opacity: 1; }
    50% { opacity: 0.72; }
}
@keyframes fadeInUp{ from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeInDown{ from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn{ from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 1024px){
.hero-inner{grid-template-columns: 1fr; gap: 40px;}
.hero::before{display: none;}
.steps-grid{grid-template-columns: 1fr;}
.step-arr{display: none;}
.feat-grid{grid-template-columns: 1fr;}
.trust-grid{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 768px){
.hero{margin: 10px 12px 0;
        padding: calc(88px + env(safe-area-inset-top)) 18px 48px;
        border-radius: 20px;
        min-height: calc(100dvh - 10px);}
.hero--solo{min-height: auto;
        padding: calc(96px + env(safe-area-inset-top)) 18px 44px;}
.hero-act{gap: 10px; margin-bottom: 32px;}
.hero-cta{width: 100%; height: 50px;}
.form-card{padding: 24px 18px;}
.frow{grid-template-columns: 1fr;}
.hero-stats{flex-direction: column; padding: 22px; border-radius: 20px;}
.hero-stat{padding: 14px 0;}
.hero-stat:first-child{padding-top: 0;}
.hero-stat:last-child{padding-bottom: 0;}
.hero-stat + .hero-stat{border-left: 0;
        border-top: 1px solid rgba(0, 0, 0, 0.06);}
.hero-stat .label{min-height: 0; margin-bottom: 6px;}
.hero-stat::before{margin-bottom: 10px; width: 22px;}
.hero-stat .num{font-size: 1.5rem;}
section{padding: 60px 16px;}
.trust-grid{grid-template-columns: 1fr 1fr;}
.cta-block{margin: 0 16px 40px; padding: 52px 20px;}
.cta-block h2{font-size: 1.6rem;}
.cta-link.alt{margin-left: 0; margin-top: 10px;}
.foot-inner{flex-direction: column; gap: 12px; text-align: center;}
.p-step span:not(.p-num){display: none;}
}
.btn-main .spinner{display: none; width: 18px; height: 18px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white; border-radius: 50%;
    animation: spin 0.6s linear infinite;
    margin: 0 auto;}
.btn-main.loading .spinner{display: inline-block;}
.btn-main.loading .btn-text{display: none;}
@keyframes spin{ to { transform: rotate(360deg); } }
#mobileFlow{display: flex; flex-direction: column;}
@media (max-width: 768px){
.form-card{padding: 20px 16px 28px;}
}
.mf-header{display: flex; align-items: center; gap: 10px;
    padding-bottom: 22px;}
.mf-back-btn{width: 34px; height: 34px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: var(--gray-100); border-radius: 50%;
    font-size: 1rem; cursor: pointer; border: none;
    color: var(--charcoal); transition: background 0.15s;
    -webkit-tap-highlight-color: transparent;}
.mf-back-btn:active{background: var(--gray-200);}
.mf-prog-wrap{flex: 1; height: 5px; background: var(--gray-200);
    border-radius: 10px; overflow: hidden;}
.mf-prog-bar{height: 100%;
    background: linear-gradient(90deg, var(--burgundy), var(--burgundy-light));
    border-radius: 10px;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);}
.mf-counter{font-size: 0.68rem; font-weight: 500; color: var(--gray-500);
    flex-shrink: 0; min-width: 28px; text-align: right;}
.mf-q{display: none;}
.mf-q.mf-active{display: block;}
.mf-q.mf-in-fwd{animation: mfInFwd 0.28s cubic-bezier(0.4, 0, 0.2, 1) both;}
.mf-q.mf-in-bwd{animation: mfInBwd 0.28s cubic-bezier(0.4, 0, 0.2, 1) both;}
@keyframes mfInFwd{ from { opacity: 0; transform: translateX(28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes mfInBwd{ from { opacity: 0; transform: translateX(-28px); } to { opacity: 1; transform: translateX(0); } }
.mf-qlabel{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    font-size: 1.4rem; font-weight: 600; color: var(--charcoal);
    line-height: 1.3; margin-bottom: 6px;}
.mf-qhint{font-size: 0.78rem; color: var(--gray-500);
    margin-bottom: 18px; line-height: 1.4;}
.mf-inp{width: 100%; padding: 14px 16px;
    font-size: 1rem; font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    border: 2px solid var(--gray-200); border-radius: 14px;
    outline: none; background: var(--white); color: var(--charcoal);
    transition: border-color 0.2s, box-shadow 0.2s;
    -webkit-appearance: none; display: block;}
.mf-inp:focus{border-color: var(--burgundy); box-shadow: 0 0 0 4px rgba(123,45,59,0.08);}
.mf-inp.mf-err{border-color: #E53E3E; animation: mfShake 0.3s ease;}
@keyframes mfShake{
    0%, 100% { transform: translateX(0); }
    25%, 75% { transform: translateX(-5px); }
    50% { transform: translateX(5px); }
}
.mf-select{width: 100%; padding: 14px 44px 14px 16px;
    font-size: 1rem; font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    border: 2px solid var(--gray-200); border-radius: 14px;
    outline: none; background: var(--white); color: var(--charcoal);
    -webkit-appearance: none; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%239CA3AF' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 16px center;
    transition: border-color 0.2s; display: block;}
.mf-select:focus{border-color: var(--burgundy);}
.mf-toggles{display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
.mf-tbtn{padding: 13px 10px; font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    font-size: 1rem; font-weight: 500;
    border: 2px solid var(--gray-200); border-radius: 12px;
    background: var(--white); color: var(--charcoal);
    cursor: pointer; transition: all 0.15s ease; text-align: center;
    -webkit-tap-highlight-color: transparent;}
.mf-tbtn:active{transform: scale(0.96);}
.mf-tbtn.mf-on{border-color: var(--burgundy); background: var(--burgundy); color: white;}
.mf-postal-wrap{position: relative;}
.mf-postal-list{position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 20;
    background: var(--white); border: 1px solid var(--gray-200);
    border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,0.12);
    max-height: 260px; overflow-y: auto; padding: 4px;}
.mf-postal-item{display: block; width: 100%; text-align: left;
    padding: 10px 12px; font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    font-size: 0.92rem; color: var(--charcoal);
    background: transparent; border: none; border-radius: 8px;
    cursor: pointer; transition: background 0.12s;
    -webkit-tap-highlight-color: transparent;}
.mf-postal-item:hover,.mf-postal-item:focus{background: var(--gray-100); outline: none;}
.mf-postal-item + .mf-postal-item{border-top: 1px solid var(--gray-100);}
.mf-postal-cp{font-weight: 600; color: var(--burgundy); margin-right: 6px;}
.mf-postal-nom{color: var(--charcoal);}
.mg-field{margin-bottom: 14px;}
.mg-field > label{display: block; font-size: 0.7rem; font-weight: 500;
    color: var(--gray-600); text-transform: uppercase;
    letter-spacing: 0.04em; margin-bottom: 6px;}
.mg-field > label .req{color: var(--burgundy); margin-left: 2px;}
textarea.mf-inp{resize: vertical; min-height: 76px;}
.mg-lead-ok{background: var(--green-pale); color: var(--green-dark);
    font-size: 0.78rem; font-weight: 500;
    padding: 9px 12px; border-radius: 8px; margin-bottom: 14px;
    border: 1px solid rgba(45,139,94,0.15);}
.mg-restore{background: var(--burgundy-pale); color: var(--charcoal);
    font-size: 0.76rem; padding: 9px 12px; border-radius: 8px;
    margin-bottom: 14px; border: 1px solid rgba(123,45,59,0.12);}
.mg-restore a{color: var(--burgundy); font-weight: 600; text-decoration: underline; cursor: pointer;}
.mg-trust{text-align: center; margin-top: 12px;
    font-size: 0.72rem; color: var(--gray-500);}
.mf-next-btn{width: 100%; padding: 17px; margin-top: 18px;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif; font-size: 1rem; font-weight: 600;
    background: var(--burgundy); color: white; border: none;
    
    border-radius: var(--radius-btn); cursor: pointer; transition: all 0.2s;
    -webkit-tap-highlight-color: transparent;
    display: flex; align-items: center; justify-content: center; gap: 8px;}
.mf-next-btn:active{transform: scale(0.98); background: var(--burgundy-dark);}
.mf-next-btn:disabled{opacity: 0.6; pointer-events: none;}
.mf-next-btn .mf-spin{display: none; width: 16px; height: 16px;
    border: 2px solid rgba(255,255,255,0.3); border-top-color: white;
    border-radius: 50%; animation: spin 0.6s linear infinite; flex-shrink: 0;}
.mf-next-btn.mf-loading .mf-btxt{display: none;}
.mf-next-btn.mf-loading .mf-spin{display: block;}
.mf-multi-field{margin-bottom: 14px;}
.mf-multi-field label{display: block; font-size: 0.72rem; font-weight: 500; color: var(--gray-500);
    text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 6px;}
.mf-choices{display: flex; flex-direction: column; gap: 10px; margin-top: 4px;}
.mf-choice{display: flex; align-items: center; gap: 12px;
    padding: 15px 16px; font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    font-size: 0.95rem; font-weight: 500;
    border: 2px solid var(--gray-200); border-radius: 14px;
    background: var(--white); color: var(--charcoal);
    cursor: pointer; transition: all 0.15s ease; text-align: left;
    -webkit-tap-highlight-color: transparent;}
.mf-choice:active{transform: scale(0.98);}
.mf-choice.mf-on{border-color: var(--burgundy); background: rgba(123,45,59,0.05);}
.mf-choice .mf-choice-ico{font-size: 1.2rem; flex-shrink: 0;}
.mf-split-icon{width: 52px; height: 52px; border-radius: 50%;
    background: var(--green-pale);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; margin-bottom: 14px;}
.mf-split-sub{font-size: 0.85rem; color: var(--gray-500); line-height: 1.55; margin-bottom: 22px;}
.mf-split-btn-primary{width: 100%; padding: 17px; margin-bottom: 10px;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif; font-size: 1rem; font-weight: 600;
    background: var(--burgundy); color: white; border: none;
    
    border-radius: var(--radius-btn); cursor: pointer; transition: all 0.2s;
    -webkit-tap-highlight-color: transparent;}
.mf-split-btn-primary:active{transform: scale(0.98); background: var(--burgundy-dark);}
.mf-split-btn-secondary{width: 100%; padding: 15px;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif; font-size: 0.9rem; font-weight: 500;
    background: transparent; color: var(--gray-600); border: 1.5px solid var(--gray-200);
    border-radius: 14px; cursor: pointer; transition: all 0.2s;
    -webkit-tap-highlight-color: transparent;}
.mf-split-btn-secondary:active{background: var(--gray-100);}
.mf-skip-exit{display: block; text-align: center; margin-top: 16px;
    font-size: 0.78rem; color: var(--gray-400);
    text-decoration: underline; cursor: pointer;
    -webkit-tap-highlight-color: transparent;}
@media (min-width: 769px){
.mf-q.mf-active{display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; align-items: start;}
.mf-q .mg-field{min-width: 0;}
.mf-q .mg-field.mg-wide,.mf-q .mg-field.mg-qfield,.mf-q .mg-field.mg-cond,.mf-q .mf-qlabel,.mf-q .mf-qhint,.mf-q .mf-next-btn,.mf-q .mg-trust,.mf-q .mg-lead-ok,.mf-q .mg-restore{grid-column: 1 / -1;}
}
#autres-assurances{background: var(--gray-50);}
.autres-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
    max-width: 760px; margin: 42px auto 30px;}
.autres-tile{display: flex; flex-direction: column; align-items: center; gap: 5px;
    padding: 24px 16px; text-decoration: none; text-align: center;
    background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-lg);
    transition: border-color .3s, box-shadow .3s, transform .3s;}
.autres-tile:hover{border-color: rgba(123,45,59,0.28); transform: translateY(-3px); box-shadow: var(--shadow-md);}
.autres-tile:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 2px;}
.autres-ico{font-size: 1.75rem; line-height: 1;}
.autres-lbl{font-weight: 500; color: var(--charcoal); font-size: 0.98rem;}
.autres-sub{font-size: 0.78rem; color: var(--gray-500);}
.autres-cta{display: inline-block; font-weight: 500; color: var(--burgundy); text-decoration: none;
    border-bottom: 2px solid rgba(123,45,59,0.28); padding-bottom: 2px; transition: border-color .25s;}
.autres-cta:hover{border-bottom-color: var(--burgundy);}
@media (max-width: 640px){
.autres-grid{grid-template-columns: 1fr 1fr; gap: 12px;}
}
@media (max-width: 380px){
.autres-grid{grid-template-columns: 1fr;}
}
footer,footer.site-footer{padding: 40px 32px calc(124px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--gray-200);}
.foot-cols{max-width: 1200px; margin: 0 auto 26px;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px 24px;}
.foot-col h2{font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
    font-size: 0.9rem; color: var(--charcoal); font-weight: 500; margin: 0 0 11px;
    text-transform: none; letter-spacing: normal;}
.foot-col a{display: block; font-size: 0.8rem; color: var(--gray-600); text-decoration: none; padding: 3px 0; margin: 0; line-height: 1.4;}
.foot-col a:hover{color: var(--burgundy);}
.foot-inner{max-width: 1200px; margin: 0 auto;
    display: flex; flex-direction: row; justify-content: space-between; align-items: center;
    gap: 14px; flex-wrap: wrap;}
.foot-cols + .foot-inner{border-top: 1px solid var(--gray-200); padding-top: 22px;}
.foot-txt{font-size: 0.78rem; color: var(--gray-600);}
.foot-links{display: flex; gap: 20px; flex-wrap: wrap;}
.foot-links a{font-size: 0.78rem; color: var(--gray-600); text-decoration: none;}
.foot-links a:hover{color: var(--burgundy);}
@media (max-width: 860px){
.foot-cols{grid-template-columns: 1fr 1fr;}
}
@media (max-width: 640px){
.foot-inner{flex-direction: column; gap: 12px; text-align: center;}
.foot-links{justify-content: center;}
}
@media (max-width: 480px){
.foot-cols{grid-template-columns: 1fr; gap: 20px;}
}
@media (max-width: 700px){
.phone-float{bottom: calc(16px + env(safe-area-inset-bottom)); right: calc(16px + env(safe-area-inset-right)); gap: 0;}
.phone-float .phone-number{display: none;}
}
.mf-inp,.mf-select,.mf-tbtn,.mf-next-btn,.mf-back-btn,.mf-choice,.mf-postal-item,.mf-split-btn-primary,.mf-split-btn-secondary{touch-action: manipulation;}
.mf-inp,.mf-select{min-height: 50px;}
textarea.mf-inp{min-height: 76px;}
.mf-tbtn{min-height: 48px;}
.mf-back-btn{position: relative;}
.mf-back-btn::after{content: ''; position: absolute; inset: -8px; border-radius: 50%;}
.mf-inp[type="date"]{position: relative;
    padding-right: 44px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' fill='none' stroke='%239CA3AF' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 15px center;}
.mf-inp[type="date"]::-webkit-date-and-time-value{text-align: left;}
.mf-inp[type="date"]::-webkit-calendar-picker-indicator{position: absolute; inset: 0; width: auto; height: auto;
    opacity: 0; cursor: pointer;}
@supports (-moz-appearance: none){
.mf-inp[type="date"]{background-image: none; padding-right: 16px;}
}
.mf-inp:-webkit-autofill,.mf-inp:-webkit-autofill:hover,.mf-inp:-webkit-autofill:focus{-webkit-box-shadow: 0 0 0 100px var(--white) inset;
    -webkit-text-fill-color: var(--charcoal);
    caret-color: var(--charcoal);}
.mg-field{scroll-margin-top: 84px; scroll-margin-bottom: 44px;}
.mg-field.mg-qfield > label{font-size: 0.88rem; font-weight: 500; color: var(--charcoal);
    text-transform: none; letter-spacing: 0; line-height: 1.35;
    margin-bottom: 8px;}
.mf-toggles.mf-toggles-3{grid-template-columns: 1fr;}
.mg-field.mg-reveal{animation: mgReveal 0.22s cubic-bezier(0.16, 1, 0.3, 1);}
@keyframes mgReveal{ from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.mf-err-msg{font-size: 0.75rem; font-weight: 500; color: #E53E3E; margin-top: 6px;}
.mg-field.mf-err-f .mf-inp,.mg-field.mf-err-f .mf-select,.mg-field.mf-err-f .mf-tbtn{border-color: #E53E3E;}
.mg-field.mf-err-f .mf-toggles{animation: mfShake 0.3s ease;}
.mf-postal-list{-webkit-overflow-scrolling: touch; overscroll-behavior: contain;}
@media (hover: hover) and (pointer: fine){
.mf-inp:hover:not(:focus),.mf-select:hover:not(:focus){border-color: var(--gray-300);}
.mf-tbtn:hover:not(.mf-on){border-color: var(--burgundy-light); background: var(--burgundy-pale);}
.mf-back-btn:hover{background: var(--gray-200);}
.mf-next-btn:hover{background: var(--burgundy-dark); box-shadow: var(--shadow-burgundy); transform: translateY(-1px);}
.mf-next-btn:active{transform: translateY(0) scale(0.98);}
.mf-choice:hover:not(.mf-on){border-color: var(--burgundy-light); background: rgba(123,45,59,0.04);}
}
.mf-tbtn:focus-visible,.mf-next-btn:focus-visible,.mf-back-btn:focus-visible,.mf-choice:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 2px;}
.mf-select:focus{box-shadow: 0 0 0 4px rgba(123,45,59,0.08);}
@media (min-width: 769px){
.mf-toggles.mf-toggles-3{grid-template-columns: repeat(3, 1fr);}
}
@media (prefers-reduced-motion: reduce){
.mf-q.mf-in-fwd,.mf-q.mf-in-bwd,.mg-field.mg-reveal{animation: none;}
.mf-prog-bar{transition: none;}
}
.mg-almost{font-size: 0.78rem; font-weight: 600; color: var(--green);
    margin-bottom: 14px;}
@media (min-width: 769px){
.mf-q .mg-almost,.mf-q .mf-skip-exit{grid-column: 1 / -1;}
}
.mf-qlabel{font-size: 1.6rem; line-height: 1.25;}
.mf-qhint{font-size: 0.9rem;}
.mg-field.mg-qfield > label{font-size: 1.12rem; font-weight: 600; color: var(--charcoal);
    text-transform: none; letter-spacing: 0; line-height: 1.35; margin-bottom: 10px;}
.mg-field > label{font-size: 0.86rem; color: var(--gray-700); letter-spacing: 0.02em;}
.mf-inp,.mf-select,.mf-tbtn{font-size: 1.05rem;}
.mf-tbtn{font-weight: 600; padding: 15px 12px;}
.mg-field{margin-bottom: 18px;}
@media (min-width: 769px){
.mf-qlabel{font-size: 1.7rem;}
}
.mf-sins{display: flex; flex-direction: column; gap: 12px;}
.mf-sin-empty{font-size: 0.9rem; color: var(--gray-500); background: var(--gray-50);
    border: 1px dashed var(--gray-200); border-radius: 12px; padding: 12px 14px;}
.mf-sin-row{display: flex; flex-direction: column; gap: 8px;
    padding: 14px; border: 1px solid var(--gray-200); border-radius: 14px; background: var(--white);}
.mf-sin-rowhead{display: flex; align-items: center; justify-content: space-between;}
.mf-sin-num{font-size: 0.82rem; font-weight: 600; color: var(--burgundy); text-transform: uppercase; letter-spacing: 0.04em;}
.mf-sin-del{font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif; font-size: 0.8rem; font-weight: 500; color: var(--gray-500);
    background: none; border: none; cursor: pointer; padding: 4px 6px; border-radius: 8px;
    -webkit-tap-highlight-color: transparent;}
.mf-sin-del:hover{color: #E53E3E; background: var(--gray-100);}
.mf-sin-add{align-self: flex-start; display: inline-flex; align-items: center; gap: 6px;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif; font-size: 0.95rem; font-weight: 600; color: var(--burgundy);
    background: var(--burgundy-pale); border: 1.5px dashed var(--burgundy-light); border-radius: 12px;
    padding: 11px 18px; cursor: pointer; transition: background 0.15s, border-color 0.15s;
    -webkit-tap-highlight-color: transparent;}
.mf-sin-add:hover{background: var(--white); border-color: var(--burgundy);}
@media (min-width: 769px){
.mf-sin-row{display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; align-items: center;}
.mf-sin-rowhead{grid-column: 1 / -1;}
}
#assu-retour{position: fixed; z-index: 90;
    left: calc(16px + env(safe-area-inset-left));
    bottom: calc(16px + env(safe-area-inset-bottom));
    display: flex; align-items: stretch; gap: 0;
    background: var(--charcoal); color: #fff;
    border-radius: 999px; box-shadow: var(--shadow-lg);
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Inter Fallback', system-ui, sans-serif;
    opacity: 0; transform: translateY(10px);
    transition: opacity .28s ease, transform .28s ease;
    max-width: calc(100vw - 32px);}
#assu-retour.on{opacity: 1; transform: none;}
.assu-retour-go,.assu-retour-x{background: none; border: 0; color: inherit; cursor: pointer;
    font-family: inherit; font-size: 0.84rem;}
.assu-retour-go{padding: 11px 6px 11px 18px; font-weight: 500; text-align: left;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.assu-retour-go:hover{text-decoration: underline;}
.assu-retour-x{padding: 11px 16px 11px 10px; font-size: 1.1rem; line-height: 1; opacity: 0.6;}
.assu-retour-x:hover{opacity: 1;}
@media (max-width: 700px){
#assu-retour{right: calc(84px + env(safe-area-inset-right));}
.assu-retour-go{font-size: 0.8rem;}
}
@media (prefers-reduced-motion: reduce){
#assu-retour{transition: none;}
}
.is-niche main .sec-tag{display: inline-block;
    background: var(--burgundy-pale); border: 1px solid rgba(123,45,59,0.14);
    padding: 6px 14px; border-radius: 100px; letter-spacing: 0.12em;
    margin-bottom: 14px;}
.is-niche main .sec-h2{letter-spacing: -0.02em; text-wrap: balance;}
.is-niche .prose-sec{padding: 52px 32px;}
.is-niche .prose-sec .sec-inner{max-width: 920px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FDFAF7 100%);
    border: 1px solid var(--gray-200); border-radius: var(--radius-xl);
    padding: clamp(28px, 4vw, 48px) clamp(22px, 4vw, 52px);
    box-shadow: 0 18px 48px rgba(45,52,54,0.07);}
.is-niche .prose-sec .sec-h2{font-size: clamp(1.55rem, 2.6vw, 2.1rem); margin-bottom: 14px;}
.is-niche .prose-sec .sec-desc{font-size: 1.12rem; color: var(--gray-600); line-height: 1.75;
    max-width: none; margin-bottom: 22px;}
.is-niche .prose-sec p{font-size: 1.04rem; line-height: 1.8; margin-bottom: 16px; text-wrap: pretty;}
.is-niche .prose-sec h3{position: relative; padding-left: 18px; margin: 34px 0 12px;
    font-size: 1.24rem; letter-spacing: -0.005em;}
.is-niche .prose-sec h3::before{content: ''; position: absolute; left: 0; top: 0.22em; bottom: 0.22em; width: 4px; border-radius: 3px;
    background: linear-gradient(180deg, var(--burgundy) 0%, var(--burgundy-light) 100%);}
.is-niche .prose-sec ul{list-style: none; padding-left: 0; margin: 0 0 18px;}
.is-niche .prose-sec ul > li{position: relative; padding-left: 26px; margin-bottom: 11px; line-height: 1.75;}
.is-niche .prose-sec ul > li::before{content: ''; position: absolute; left: 5px; top: 0.62em;
    width: 7px; height: 7px; border-radius: 2px; transform: rotate(45deg);
    background: linear-gradient(135deg, var(--burgundy), var(--burgundy-light));}
.is-niche .prose-sec ol{padding-left: 22px; margin: 0 0 18px;}
.is-niche .prose-sec ol > li{margin-bottom: 11px; line-height: 1.75;}
.is-niche .prose-sec ol > li::marker{color: var(--burgundy); font-weight: 600;}
.is-niche .prose-sec .prose-cols{gap: 14px 44px;}
@media (min-width: 641px){
.is-niche .prose-sec .prose-cols > *:nth-child(even){border-left: 1px solid var(--gray-200); padding-left: 44px;}
}
.is-niche .prose-sec .table-wrap{box-shadow: 0 8px 26px rgba(45,52,54,0.06); border-radius: var(--radius-lg);}
.is-niche .prose-sec thead th{background: linear-gradient(135deg, var(--burgundy) 0%, var(--burgundy-dark) 100%);
    color: #fff; font-size: 0.88rem; letter-spacing: 0.03em;}
.is-niche .prose-sec tbody tr:nth-child(even) th[scope="row"],.is-niche .prose-sec tbody tr:nth-child(even) td{background: #FBF8F4;}
.is-niche .prose-sec tbody tr{transition: background .18s;}
.is-niche .prose-sec tbody tr:hover th[scope="row"],.is-niche .prose-sec tbody tr:hover td{background: var(--burgundy-pale);}
.is-niche .prose-sec caption{font-style: italic;}
.is-niche .cta-block{background:
        radial-gradient(90% 130% at 85% 0%, rgba(158,74,90,0.5) 0%, rgba(158,74,90,0) 58%),
        linear-gradient(135deg, var(--burgundy) 0%, var(--burgundy-dark) 100%);
    box-shadow: 0 26px 64px rgba(94,31,44,0.26);}
.is-niche .cta-block p{color: rgba(255,255,255,0.75);}
.is-niche .cta-block .cta-link{background: #FBF6F0; color: var(--burgundy-dark); font-weight: 700;
    box-shadow: 0 10px 26px rgba(0,0,0,0.18);}
.is-niche .cta-block .cta-link:hover{background: #fff;}
.is-niche .cta-block .cta-link.alt{background: transparent; color: #fff; box-shadow: none;}
.is-niche .cta-block .cta-link.alt:hover{background: rgba(255,255,255,0.1);}
.is-niche .reveal{opacity: 0; transform: translateY(18px);
    transition: opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1);}
.is-niche .reveal.is-in{opacity: 1; transform: none;}
@media (prefers-reduced-motion: reduce){
.is-niche .reveal{opacity: 1; transform: none; transition: none;}
}
@media (max-width: 640px){
.is-niche .prose-sec{padding: 34px 16px;}
.is-niche .prose-sec .sec-inner{border-radius: var(--radius-lg);}
}
