/* ============================================================
   PRESCOTT & BLASKO — Feuille de style partagée
   Palette : Los Angeles — navy profond, or chaud, crème/sable
============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Palette "Los Angeles — golden hour" : navy du logo + or ambré + terracotta + ivoire/sable chaud */
  --navy:#5f1d29; --navy2:#74232f; --navy3:#8f3540; --ink:#3a121b;
  --gold:#c8993f; --gold2:#e3bd6f; --gold-soft:rgba(200,153,63,.16);
  --terra:#bd5b34; --terra2:#a4471f;
  --paper:#fdf8ef; --cream:#f5ebd9; --sand:#ecdcbf;
  --line:#e8dcc6; --line2:#dccaa9;
  --tx:#3d2026; --tb:#5d5346; --tm:#9a8c74;
  --hdr:#fbf4e8; --hdr-bd:#e8dcc6;
  --serif:'Fraunces',Georgia,serif;
  --cor:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --tr:.4s cubic-bezier(.22,.61,.36,1);
  --trf:.25s ease;
  --W:1240px;
  --sh:0 30px 70px rgba(12,29,48,.16);
  --sh-sm:0 12px 34px rgba(12,29,48,.1);
}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:var(--sans);color:var(--tb);background:var(--paper);overflow-x:hidden;line-height:1.65}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{display:block;max-width:100%}
button{cursor:pointer;border:none;background:none;font-family:inherit}
em{font-style:italic}
::selection{background:var(--gold);color:#fff}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--cream)}
::-webkit-scrollbar-thumb{background:var(--sand);border-radius:6px;border:2px solid var(--cream)}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}

.wrap{max-width:var(--W);margin:0 auto;padding:0 48px}
@media(max-width:768px){.wrap{padding:0 22px}}

/* ---- typographie ---- */
.eyebrow{display:block;font-size:.68rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.eyebrow.dk{color:var(--gold2)}
.h-serif{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.16;color:var(--tx);letter-spacing:-.01em}
.h-serif.wh{color:#fff}
.h-serif em{font-family:var(--serif);font-weight:500;font-style:italic;color:var(--gold)}
.h-serif.wh em{color:var(--gold2)}
.lead{font-size:.95rem;line-height:1.9;color:var(--tb)}
.lead.wh{color:rgba(255,255,255,.74)}
.lead p+p{margin-top:15px}
.lead strong{color:var(--tx)}
.lead.wh strong{color:#fff}

/* ---- boutons ---- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:.71rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:16px 34px;overflow:hidden;transition:transform var(--trf),box-shadow var(--tr),color var(--tr),letter-spacing var(--tr);white-space:nowrap}
.btn span{position:relative;z-index:1}
.btn:hover{letter-spacing:.17em}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 8px 26px rgba(192,160,98,.3)}
.btn-gold::after{content:'';position:absolute;inset:0;background:var(--navy);transform:translateY(101%);transition:transform var(--tr)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(12,29,48,.28)}
.btn-gold:hover::after{transform:translateY(0)}
.btn-ghost{border:1px solid rgba(255,255,255,.45);color:#fff}
.btn-ghost::after{content:'';position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform var(--tr)}
.btn-ghost:hover{color:var(--navy)}
.btn-ghost:hover::after{transform:scaleX(1)}
.btn-dark{border:1px solid var(--tx);color:var(--tx)}
.btn-dark::after{content:'';position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform var(--tr)}
.btn-dark:hover{color:#fff;border-color:var(--navy)}
.btn-dark:hover::after{transform:scaleX(1)}

/* ---- reveal ---- */
.rv{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)}
.rvL{opacity:0;transform:translateX(-40px);transition:opacity .95s cubic-bezier(.22,.61,.36,1),transform .95s cubic-bezier(.22,.61,.36,1)}
.rvR{opacity:0;transform:translateX(40px);transition:opacity .95s cubic-bezier(.22,.61,.36,1),transform .95s cubic-bezier(.22,.61,.36,1)}
.rvClip{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.76,0,.24,1)}
.rvClip.on{clip-path:inset(0 0 0 0)}
.on{opacity:1!important;transform:none!important}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){.rv,.rvL,.rvR,.rvClip{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}}

/* ============================================================
   LOADER & PROGRESS
============================================================ */
#loader{position:fixed;inset:0;z-index:99999;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .7s ease,visibility .7s ease}
#loader.done{opacity:0;visibility:hidden}
.ld-mono{font-family:var(--serif);font-size:2.6rem;font-weight:700;color:var(--gold);letter-spacing:.04em;opacity:0;transform:translateY(14px);animation:ldUp .8s ease .15s forwards}
.ld-name{font-family:var(--serif);font-size:1.15rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-top:16px;opacity:0;animation:ldUp .8s ease .4s forwards}
.ld-sub{font-size:.6rem;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);margin-top:9px;opacity:0;animation:ldUp .8s ease .6s forwards}
.ld-bar{width:0;height:1px;background:var(--gold);margin-top:26px;animation:ldBar 1.3s ease .5s forwards}
@keyframes ldUp{to{opacity:1;transform:none}}
@keyframes ldBar{to{width:160px}}
#progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:1100;background:var(--gold)}

/* ============================================================
   RP STRIP / TOP BAR
============================================================ */
.rp-strip{background:var(--navy);color:rgba(255,255,255,.82);font-size:.69rem;font-weight:500;letter-spacing:.07em;text-align:center;padding:8px 16px;border-bottom:1px solid rgba(192,160,98,.25)}
.rp-strip b{color:var(--gold2);font-weight:700}
.topbar{background:var(--ink);color:rgba(255,255,255,.7);font-size:.73rem;padding:10px 48px;display:flex;align-items:center;justify-content:space-between}
.topbar a{transition:color var(--trf)}
.topbar a:hover{color:var(--gold)}
.topbar-r{font-weight:600;color:#fff}

/* ============================================================
   HEADER + NAVIGATION (méga-menus)
============================================================ */
.site-hdr{position:sticky;top:0;z-index:1000;background:rgba(251,244,232,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--hdr-bd)}
.hdr-inner{max-width:var(--W);margin:0 auto;display:flex;flex-direction:column;align-items:center;padding:18px 48px 0;transition:padding var(--tr)}
.site-hdr.shrink .hdr-inner{padding-top:11px}
.logo-wrap{display:flex;align-items:center;gap:15px;margin-bottom:14px;transition:opacity var(--tr)}
.logo-wrap:hover{opacity:.85}
.logo-img{height:74px;width:auto;display:block;transition:height var(--tr)}
.logo-img.hide{display:none}
.site-hdr.shrink .logo-img{height:60px}
.logo-mono{width:48px;height:48px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--gold);flex-shrink:0;transition:transform var(--tr)}
.logo-wrap:hover .logo-mono{transform:rotate(-4deg)}
.logo-fallback{display:none;align-items:center;gap:14px}
.logo-fallback.show{display:flex}
.logo-name{font-family:var(--serif);font-size:1.25rem;color:var(--tx);letter-spacing:.05em}
.logo-sub{font-size:.57rem;letter-spacing:.26em;text-transform:uppercase;color:var(--terra2);margin-top:4px}

.main-nav{width:100%;border-top:1px solid var(--hdr-bd);display:flex;justify-content:center;align-items:center}
.ni{position:relative}
.ni>a{display:flex;align-items:center;gap:7px;padding:16px 22px;font-size:.69rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tx);white-space:nowrap;position:relative;transition:color var(--trf)}
.ni>a .cr{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--tr),border-color var(--tr);opacity:.55}
.ni>a::after{content:'';position:absolute;bottom:9px;left:50%;width:0;height:2px;background:var(--gold);transition:width var(--tr),left var(--tr)}
.ni>a:hover,.ni.active>a{color:var(--terra2)}
.ni>a:hover::after,.ni.active>a::after{width:calc(100% - 44px);left:22px}
.ni:hover>a .cr{transform:rotate(225deg) translateY(2px);border-color:var(--terra2);opacity:1}
.ni.active>a .cr{border-color:var(--terra2);opacity:1}

/* bouton contact dans la nav */
.ni.cta>a{color:#fff;background:var(--navy);border:1px solid var(--navy);margin-left:14px;padding:12px 24px;border-radius:2px;transition:background var(--tr),color var(--tr)}
.ni.cta>a::after{display:none}
.ni.cta>a:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}

/* dropdown simple */
.ndrop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:248px;background:#fff;border-top:2px solid var(--gold);box-shadow:var(--sh);opacity:0;visibility:hidden;transition:var(--tr);z-index:200;padding:8px 0}
.ni:hover .ndrop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ndrop a{display:block;padding:12px 24px;font-size:.78rem;color:var(--tx);position:relative;transition:var(--trf);opacity:0;transform:translateY(8px)}
.ni:hover .ndrop a{opacity:1;transform:none}
.ni:hover .ndrop a:nth-child(1){transition-delay:.04s}
.ni:hover .ndrop a:nth-child(2){transition-delay:.08s}
.ni:hover .ndrop a:nth-child(3){transition-delay:.12s}
.ni:hover .ndrop a:nth-child(4){transition-delay:.16s}
.ni:hover .ndrop a:nth-child(5){transition-delay:.2s}
.ndrop a::before{content:'';position:absolute;left:24px;top:50%;width:0;height:1px;background:var(--gold);transition:width var(--tr);transform:translateY(-50%)}
.ndrop a:hover{color:var(--gold);padding-left:42px}
.ndrop a:hover::before{width:12px}

/* méga-menu (domaines) */
.nmega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);width:560px;background:#fff;border-top:2px solid var(--gold);box-shadow:var(--sh);opacity:0;visibility:hidden;transition:var(--tr);z-index:200;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:14px}
.ni:hover .nmega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nmega a{display:block;padding:14px 16px;border-radius:2px;transition:background var(--trf);opacity:0;transform:translateY(8px)}
.ni:hover .nmega a{opacity:1;transform:none}
.ni:hover .nmega a:nth-child(1){transition-delay:.04s}.ni:hover .nmega a:nth-child(2){transition-delay:.08s}
.ni:hover .nmega a:nth-child(3){transition-delay:.12s}.ni:hover .nmega a:nth-child(4){transition-delay:.16s}
.ni:hover .nmega a:nth-child(5){transition-delay:.2s}.ni:hover .nmega a:nth-child(6){transition-delay:.24s}
.nmega a:hover{background:var(--cream)}
.nmega .mt{display:block;font-family:var(--serif);font-size:.95rem;color:var(--tx);margin-bottom:3px}
.nmega a:hover .mt{color:var(--gold)}
.nmega .md{display:block;font-size:.7rem;color:var(--tm);line-height:1.4}

.burger{display:none;position:absolute;right:22px;top:24px;flex-direction:column;gap:5px;padding:6px;z-index:30}
.burger span{width:24px;height:2px;background:var(--tx);transition:var(--tr)}
.burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============================================================
   HERO
============================================================ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;animation:kenburns 22s ease-in-out infinite alternate}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,12,18,.6) 0%,rgba(58,18,27,.42) 45%,rgba(40,12,18,.86) 100%)}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.1)}}
.hero-cnt{position:relative;z-index:2;text-align:center;color:#fff;padding:70px 24px;max-width:940px}
.hero-kick{display:inline-block;font-size:.66rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold2);padding-bottom:14px;margin-bottom:24px;border-bottom:1px solid rgba(216,189,134,.4);opacity:0;animation:hUp 1s ease .2s forwards}
.hero-ttl{font-family:var(--serif);font-weight:700;font-size:clamp(2.5rem,6.4vw,5.2rem);line-height:1.07;margin-bottom:28px;letter-spacing:-.015em;opacity:0;animation:hUp 1s ease .4s forwards}
.hero-ttl em{font-family:var(--serif);font-weight:500;font-style:italic;color:var(--gold2)}
.hero-sub{font-size:clamp(.82rem,1.4vw,.98rem);line-height:1.8;color:rgba(255,255,255,.82);max-width:600px;margin:0 auto 40px;opacity:0;animation:hUp 1s ease .6s forwards}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;opacity:0;animation:hUp 1s ease .78s forwards}
.hero-stats{display:flex;justify-content:center;margin-top:66px;padding-top:40px;border-top:1px solid rgba(255,255,255,.18);opacity:0;animation:hUp 1s ease .95s forwards}
.hstat{flex:1;max-width:230px;padding:0 32px;border-right:1px solid rgba(255,255,255,.16)}
.hstat:last-child{border-right:none}
.hstat-v{font-family:var(--serif);font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:700;color:#fff;line-height:1}
.hstat-v .u{color:var(--gold2)}
.hstat-l{font-size:.72rem;color:rgba(255,255,255,.62);margin-top:10px;line-height:1.45;letter-spacing:.04em}
@keyframes hUp{to{opacity:1;transform:none}}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;width:24px;height:38px;border:1.5px solid rgba(255,255,255,.35);border-radius:12px;opacity:0;animation:hUp 1s ease 1.2s forwards}
.scroll-cue::after{content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);width:3px;height:7px;background:var(--gold);border-radius:2px;animation:cue 1.7s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,12px)}}

/* ============================================================
   PAGE HERO (sous-pages)
============================================================ */
.phero{position:relative;min-height:46vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--navy)}
.phero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.32;animation:kenburns 24s ease-in-out infinite alternate}
.phero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(58,18,27,.72),rgba(40,12,18,.93))}
.phero-in{position:relative;z-index:2;color:#fff;padding:80px 24px}
.phero-eye{font-size:.66rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2);margin-bottom:18px;opacity:0;animation:hUp .9s ease .2s forwards}
.phero h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.1;opacity:0;animation:hUp .9s ease .35s forwards}
.phero h1 em{font-family:var(--serif);font-style:italic;color:var(--gold2)}
.crumb{margin-top:18px;font-size:.72rem;letter-spacing:.08em;color:rgba(255,255,255,.55);opacity:0;animation:hUp .9s ease .5s forwards}
.crumb a{color:var(--gold2);transition:color var(--trf)}
.crumb a:hover{color:#fff}
.crumb span{margin:0 8px;opacity:.5}

/* ============================================================
   MARQUEE
============================================================ */
.mbar{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;position:relative}
.mbar::before,.mbar::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}
.mbar::before{left:0;background:linear-gradient(90deg,var(--cream),transparent)}
.mbar::after{right:0;background:linear-gradient(270deg,var(--cream),transparent)}
.mbar-label{text-align:center;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--tm);padding:20px 0 8px}
.mbar-track{display:flex;width:max-content;animation:mq 42s linear infinite;padding-bottom:20px}
.mbar:hover .mbar-track{animation-play-state:paused}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mbar-item{padding:0 46px;font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#a39a86;white-space:nowrap;height:32px;display:flex;align-items:center;font-family:var(--serif);transition:color var(--trf)}
.mbar-item:hover{color:var(--tx)}

/* ============================================================
   TWO-COLUMN
============================================================ */
.tc{display:grid;grid-template-columns:1fr 1fr}
.tc.rev{direction:rtl}
.tc.rev>*{direction:ltr}
.tc-text{padding:100px 76px;display:flex;flex-direction:column;justify-content:center}
.tc-text.navy{background:var(--navy)}
.tc-text.paper{background:var(--paper)}
.tc-text.cream{background:var(--cream)}
.tc-photo{position:relative;overflow:hidden;min-height:480px}
.tc-photo .fill{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.12);transition:transform 1.4s cubic-bezier(.22,.61,.36,1)}
.tc-photo.on .fill,.tc-photo .fill.on{transform:scale(1)}
.tc:hover .tc-photo .fill{transform:scale(1.06)}
.tc-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 58%,rgba(58,18,27,.24));pointer-events:none}

.bull{margin:18px 0 32px}
.bull li{padding:12px 0 12px 30px;font-size:.9rem;line-height:1.55;border-bottom:1px solid var(--line);position:relative;transition:padding var(--trf)}
.bull li:last-child{border-bottom:none}
.bull li::before{content:'';position:absolute;left:0;top:21px;width:16px;height:1px;background:var(--gold);transition:width var(--tr)}
.bull li:hover{padding-left:40px}
.bull li:hover::before{width:26px}
.bull.wh li{border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.8)}

.boldlist{margin:20px 0 8px}
.boldlist li{padding:15px 0 15px 28px;border-bottom:1px solid var(--line);font-size:.88rem;line-height:1.6;position:relative}
.boldlist li:last-child{border-bottom:none}
.boldlist li::before{content:'';position:absolute;left:0;top:24px;width:14px;height:2px;background:var(--gold)}
.boldlist li strong{color:var(--tx);font-weight:700}

.steps{margin:28px 0 36px}
.step{padding:0 0 30px 38px;position:relative}
.step:not(:last-child)::after{content:'';position:absolute;left:11px;top:32px;bottom:0;width:1px;background:var(--line2)}
.step-n{position:absolute;left:0;top:2px;font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--gold);line-height:1}
.step-t{font-size:.92rem;font-weight:700;color:var(--tx);margin-bottom:7px}
.step-d{font-size:.86rem;line-height:1.75;color:var(--tb)}

.cklist{margin:20px 0 30px}
.cklist li{padding:11px 0 11px 26px;font-size:.89rem;line-height:1.6;border-bottom:1px solid var(--line);position:relative}
.cklist li:last-child{border-bottom:none}
.cklist li::before{content:'';position:absolute;left:0;top:20px;width:13px;height:2px;background:var(--gold)}
.cklist li strong{color:var(--tx)}

/* ============================================================
   PRACTICE GRID
============================================================ */
.sec{padding:120px 0}
.sec.cream{background:var(--cream)}
.sec-hd{text-align:center;max-width:720px;margin:0 auto 64px}
.sec-hd .lead{margin-top:18px}
.prac-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.pcard{position:relative;padding:46px 38px 40px;background:transparent;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;overflow:hidden;transition:background var(--tr)}
.pcard::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform var(--tr)}
.pcard::after{content:'';position:absolute;top:18px;right:18px;width:22px;height:22px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);opacity:0;transform:translate(-6px,6px);transition:var(--tr)}
.pcard:hover{background:#fff}
.pcard:hover::before{transform:scaleY(1)}
.pcard:hover::after{opacity:1;transform:none}
.pcard-num{font-family:var(--serif);font-size:.9rem;color:var(--gold);letter-spacing:.1em;margin-bottom:18px}
.pcard-t{font-family:var(--serif);font-size:1.4rem;color:var(--tx);margin-bottom:14px;transition:transform var(--tr)}
.pcard:hover .pcard-t{transform:translateX(4px)}
.pcard-d{font-size:.84rem;line-height:1.78;color:var(--tb);margin-bottom:22px}
.pcard-l{font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color var(--tr)}
.pcard:hover .pcard-l{border-color:var(--gold)}

/* ============================================================
   FULL-WIDTH IMAGE / QUOTE
============================================================ */
.fw{position:relative;overflow:hidden;background-size:cover;background-position:center}
.fw-quote{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(40,12,18,.68);min-height:460px}
.fw-quote .inner{text-align:center;color:#fff;max-width:800px;padding:60px 24px}
.fw-quote .mk{font-family:var(--serif);font-size:3.4rem;color:var(--gold);line-height:.4;display:block;margin-bottom:24px}
.fw-quote blockquote{font-family:var(--cor);font-style:italic;font-size:clamp(1.6rem,3.6vw,2.7rem);line-height:1.38;font-weight:500}
.fw-quote cite{display:block;margin-top:26px;font-family:var(--sans);font-style:normal;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}

/* ============================================================
   DIFFERENCE
============================================================ */
.diff-hd{text-align:center;margin-bottom:10px}
.diff-sub{text-align:center;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tm);margin-bottom:60px;padding-bottom:30px;border-bottom:1px solid var(--line2);font-weight:600}
.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}
.diff-item{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--line2);align-items:start;transition:transform var(--tr)}
.diff-item:hover{transform:translateX(6px)}
.diff-n{font-family:var(--serif);font-size:2.4rem;font-weight:700;color:var(--gold);line-height:1;transition:transform var(--tr)}
.diff-item:hover .diff-n{transform:scale(1.12)}
.diff-ct{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx);font-weight:700;margin-bottom:12px}
.diff-cb{font-size:.88rem;line-height:1.8;color:var(--tb)}

/* ============================================================
   INTERACTIVE GTA MAP
============================================================ */
.map-embed{position:relative;width:100%;height:300px;margin:22px 0;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:3px;background:#0a2a3a;cursor:grab;user-select:none}
.map-embed.grabbing{cursor:grabbing}
.map-canvas{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}
.map-canvas img{display:block;max-width:none;pointer-events:none;-webkit-user-drag:none}
.map-pin{position:absolute;transform:translate(-50%,-100%);pointer-events:none;z-index:5}
.map-pin-dot{width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#e8362f;border:2px solid #fff;box-shadow:0 3px 9px rgba(0,0,0,.6)}
.map-pin-pulse{position:absolute;top:9px;left:50%;width:18px;height:18px;border-radius:50%;background:rgba(232,54,47,.5);transform:translate(-50%,-50%);animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.6}100%{transform:translate(-50%,-50%) scale(4);opacity:0}}
.map-ctrl{position:absolute;top:12px;right:12px;z-index:6;display:flex;flex-direction:column;gap:6px}
.map-ctrl button{width:34px;height:34px;background:rgba(58,18,27,.92);color:#fff;border:1px solid rgba(255,255,255,.2);font-size:1.1rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background var(--trf)}
.map-ctrl button:hover{background:var(--gold)}
.map-ctrl .rst{font-size:.5rem;letter-spacing:.06em}
.map-hint{position:absolute;bottom:12px;left:12px;z-index:6;background:rgba(58,18,27,.85);color:rgba(255,255,255,.8);font-size:.64rem;letter-spacing:.05em;padding:5px 11px;border-radius:2px}
.map-miss{position:absolute;inset:0;z-index:7;display:none;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;background:#0a2230;color:rgba(255,255,255,.78)}
.map-miss b{color:var(--gold2);font-size:.85rem}
.map-miss span{font-size:.74rem;line-height:1.6;max-width:340px}
.map-info{display:flex;gap:10px;font-size:.82rem;color:rgba(255,255,255,.74);margin-bottom:8px}
.map-info b{color:var(--gold2);font-weight:600;min-width:74px}
.map-hrs{font-size:.78rem;color:rgba(255,255,255,.5);margin-bottom:28px}

/* ============================================================
   PARTNER
============================================================ */
.pgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:84px;align-items:center}
.pleft .h-serif{margin-bottom:24px}
.pleft>p{font-size:.93rem;line-height:1.9;color:var(--tb);margin-bottom:16px}
.pright{text-align:center}
.pright-eye{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tm);margin-bottom:8px}
.pright-role{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:26px}
.partner-photo{position:relative;width:100%;max-width:380px;margin:0 auto;aspect-ratio:4/5;overflow:hidden;box-shadow:var(--sh);background-size:cover;background-position:center top}
.partner-photo::after{content:'';position:absolute;inset:14px;border:1px solid rgba(255,255,255,.35);pointer-events:none}
.pbadge{position:absolute;bottom:-16px;right:-16px;width:92px;height:92px;background:var(--navy);border:2px solid var(--gold);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold2);font-size:.55rem;font-weight:700;letter-spacing:.08em;text-align:center;line-height:1.3;z-index:3;transition:transform var(--tr)}
.partner-photo:hover .pbadge{transform:rotate(8deg) scale(1.05)}
.pbadge b{font-family:var(--serif);font-size:1.15rem;color:#fff}
.pmedia{font-size:.78rem;color:var(--tm);line-height:1.6;margin-top:34px}
.pmedia strong{color:var(--tx)}

/* ============================================================
   TEAM GRID (cabinet)
============================================================ */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tmember{background:var(--paper);border:1px solid var(--line);overflow:hidden;transition:transform var(--tr),box-shadow var(--tr)}
.tmember:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.tmember-ph{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background-size:cover;background-position:center}
.tmember-ph .fill{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1s ease}
.tmember:hover .tmember-ph .fill{transform:scale(1.07)}
.tmember-bd{padding:24px}
.tmember-nm{font-family:var(--serif);font-size:1.2rem;color:var(--tx)}
.tmember-rl{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:6px 0 12px}
.tmember-tx{font-size:.83rem;line-height:1.7;color:var(--tb)}

/* ============================================================
   CTA BANNER / DISTINCTIONS / FINAL
============================================================ */
.ctabanner{background:var(--navy);padding:46px 48px}
.ctabanner .in{max-width:var(--W);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.ctabanner h3{font-family:var(--serif);font-size:1.7rem;color:#fff;margin-bottom:6px}
.ctabanner p{font-size:.86rem;color:rgba(255,255,255,.6)}

.dist-ttl{font-family:var(--serif);font-size:1.7rem;color:var(--tx);text-align:center;margin-bottom:14px}
.dist-line{width:54px;height:1px;background:var(--gold);margin:0 auto 50px}
.dist-row{display:flex;flex-wrap:wrap;justify-content:center;gap:34px}
.dist-bd{display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center;transition:transform var(--tr)}
.dist-bd:hover{transform:translateY(-5px)}
.dist-seal{width:88px;height:88px;border-radius:50%;background:#fff;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--navy);box-shadow:var(--sh-sm);transition:var(--tr)}
.dist-bd:hover .dist-seal{border-color:var(--gold);color:var(--gold);transform:rotate(-6deg)}
.dist-nm{font-size:.69rem;font-weight:600;color:var(--tx);max-width:100px;line-height:1.4}
.dist-yr{font-size:.64rem;color:var(--gold);letter-spacing:.06em}

.finalcta{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.fct-txt{padding:100px 76px;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
.fct-eye{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:18px}
.fct-txt h2{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,2.6rem);color:var(--tx);margin-bottom:22px;line-height:1.16}
.fct-txt p{font-size:.92rem;line-height:1.85;color:var(--tb);margin-bottom:32px}
.fct-btns{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.fct-photo{position:relative;overflow:hidden;background-size:cover;background-position:center}

/* ============================================================
   CONTACT
============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.cfield{margin-bottom:20px}
.cfield label{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx);font-weight:600;margin-bottom:8px}
.cfield input,.cfield textarea{width:100%;padding:14px 16px;border:1px solid var(--line2);background:#fff;font-family:var(--sans);font-size:.9rem;color:var(--tx);transition:border-color var(--tr),box-shadow var(--tr)}
.cfield input:focus,.cfield textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.cfield textarea{min-height:130px;resize:vertical}
.cinfo{background:var(--navy);padding:48px 44px;color:#fff}
.cinfo h3{font-family:var(--serif);font-size:1.5rem;margin-bottom:24px;color:#fff}
.cinfo .row{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.cinfo .row:last-child{border-bottom:none}
.cinfo .lbl{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);margin-bottom:5px}
.cinfo .val{font-size:.9rem;color:rgba(255,255,255,.85)}

/* ============================================================
   EN CONSTRUCTION
============================================================ */
.construct{text-align:center;max-width:640px;margin:0 auto;padding:30px 0}
.construct .tag{display:inline-block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line2);padding:7px 16px;border-radius:30px;margin-bottom:26px}
.construct h2{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);color:var(--tx);margin-bottom:18px}
.construct p{font-size:.95rem;line-height:1.9;color:var(--tb);margin-bottom:30px}

/* ============================================================
   FOOTER
============================================================ */
footer{background:var(--ink);position:relative;overflow:hidden}
.ft-citybg{position:absolute;inset:0;background-size:cover;background-position:center top;opacity:.12}
.ft-citybg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,19,32,.6),var(--ink))}
.ft-top{position:relative;z-index:1;max-width:var(--W);margin:0 auto;padding:76px 48px 52px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px}
.ft-logo h3{font-family:var(--serif);font-size:1.4rem;color:#fff;margin-bottom:6px}
.ft-logo .sub{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.ft-logo p{font-size:.83rem;line-height:1.8;color:rgba(255,255,255,.5);margin:18px 0 22px;max-width:290px}
.ft-soc{display:flex;gap:10px}
.soc{padding:7px 14px;border:1px solid rgba(255,255,255,.2);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);transition:var(--tr)}
.soc:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.ft-col h4{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.1)}
.ft-col li{margin-bottom:12px}
.ft-col a{font-size:.8rem;color:rgba(255,255,255,.55);transition:var(--trf);position:relative}
.ft-col a:hover{color:var(--gold);padding-left:6px}
.ft-contact li{font-size:.8rem;color:rgba(255,255,255,.55);line-height:1.65}
.ft-contact b{color:var(--gold2);font-weight:600}
.ft-rp{position:relative;z-index:1;max-width:var(--W);margin:0 auto;padding:0 48px}
.ft-rp-box{background:rgba(192,160,98,.08);border:1px solid rgba(192,160,98,.28);border-radius:3px;padding:22px 28px}
.ft-rp-box b{color:var(--gold2)}
.ft-rp-box p{font-size:.78rem;line-height:1.75;color:rgba(255,255,255,.7)}
.ft-disc{position:relative;z-index:1;max-width:var(--W);margin:0 auto;padding:28px 48px;font-size:.68rem;line-height:1.8;color:rgba(255,255,255,.32)}
.ft-bot{position:relative;z-index:1;max-width:var(--W);margin:0 auto;padding:20px 48px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.ft-copy{font-size:.72rem;color:rgba(255,255,255,.38)}
.ft-copy b{color:rgba(255,255,255,.62)}
.ft-leg{display:flex;gap:26px}
.ft-leg a{font-size:.7rem;color:rgba(255,255,255,.38);transition:var(--trf)}
.ft-leg a:hover{color:var(--gold)}

/* ============================================================
   MODAL
============================================================ */
#modal-ov{position:fixed;inset:0;z-index:7000;background:rgba(40,12,18,.86);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
#modal-ov.open{opacity:1;visibility:visible}
.mbox{background:var(--paper);max-width:700px;width:92%;max-height:88vh;overflow-y:auto;border-top:3px solid var(--gold);padding:54px 56px;position:relative;transform:translateY(28px);transition:transform .45s cubic-bezier(.22,.61,.36,1)}
#modal-ov.open .mbox{transform:none}
.mclose{position:absolute;top:18px;right:20px;width:36px;height:36px;border:1px solid var(--line);color:var(--tm);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.mclose:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:rotate(90deg)}
.m-eye{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:12px}
.m-ttl{font-family:var(--serif);font-size:2.1rem;color:var(--tx);margin-bottom:20px;line-height:1.16}
.m-hr{width:52px;height:1px;background:var(--gold);margin-bottom:24px}
.m-dsc{font-size:.93rem;line-height:1.9;color:var(--tb);margin-bottom:32px}
.m-clbl{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--tx);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mcase{padding:16px 20px;background:var(--cream);border-left:2px solid var(--gold);margin-bottom:12px}
.mcase strong{display:block;color:var(--tx);font-size:.88rem;margin-bottom:4px}
.mcase span{font-size:.84rem;line-height:1.7;color:var(--tb)}

/* ============================================================
   BACK TO TOP
============================================================ */
#btt{position:fixed;bottom:30px;right:30px;z-index:900;width:46px;height:46px;background:var(--navy);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(14px);transition:var(--tr);pointer-events:none}
#btt::before{content:'';width:9px;height:9px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:rotate(-45deg);margin-top:4px}
#btt.show{opacity:1;transform:none;pointer-events:auto}
#btt:hover{background:var(--gold)}
#btt:hover::before{border-color:#fff}

/* ============================================================
   AVOCATS — cartes "Rencontrez nos avocats"
============================================================ */
.law-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;max-width:900px;margin:0 auto}
.lawcard{text-align:left}
.lawcard-ph{display:block;position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#e7e2d6;box-shadow:var(--sh-sm)}
.lawcard-ph .fill{position:absolute;inset:0;background-size:cover;background-position:center top;filter:grayscale(1) contrast(1.02);transition:filter .6s ease,transform 1.2s cubic-bezier(.22,.61,.36,1);transform:scale(1.02)}
.lawcard:hover .lawcard-ph .fill{filter:grayscale(0);transform:scale(1.06)}
.lawcard-ph::after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.0);transition:border-color .4s}
.lawcard:hover .lawcard-ph::after{border-color:rgba(192,160,98,.5)}
.lawcard-nm{font-family:var(--serif);font-size:1.55rem;color:var(--tx);margin:22px 0 4px}
.lawcard-rl{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:16px}
.lawcard-bio{font-size:.86rem;line-height:1.8;color:var(--tb);margin-bottom:18px}
.lawcard-link{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color var(--tr),letter-spacing var(--tr)}
.lawcard-link:hover{border-color:var(--gold);letter-spacing:.2em}

/* ============================================================
   PROFIL AVOCAT (page biographie complète)
============================================================ */
.prof-hero{background:var(--navy);position:relative;overflow:hidden}
.prof-hero .wrap{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:center;padding-top:70px;padding-bottom:70px}
.prof-photo{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#0f2138;box-shadow:var(--sh)}
.prof-photo .fill{position:absolute;inset:0;background-size:cover;background-position:center top;filter:grayscale(1)}
.prof-meta .role{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);font-weight:600;margin-bottom:14px}
.prof-meta h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,4.4vw,3.2rem);color:#fff;line-height:1.1;margin-bottom:20px}
.prof-contact{display:flex;flex-wrap:wrap;gap:10px 26px;padding:18px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:22px}
.prof-contact a,.prof-contact span{font-size:.82rem;color:rgba(255,255,255,.8)}
.prof-contact a{color:var(--gold2);transition:color var(--trf)}
.prof-contact a:hover{color:#fff}
.prof-tagline{font-size:.92rem;line-height:1.85;color:rgba(255,255,255,.72)}
.prof-badges{background:var(--paper);border-bottom:1px solid var(--line)}
.prof-badges .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;padding-top:40px;padding-bottom:40px}
.pbadge2{display:flex;flex-direction:column;align-items:center;gap:8px;width:120px;text-align:center}
.pbadge2 .seal{width:64px;height:64px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:.82rem;color:var(--navy);background:#fff}
.pbadge2 .cap{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tm);line-height:1.4}
.prof-body{display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:start}
.prof-main h2{font-family:var(--serif);font-size:1.7rem;color:var(--tx);margin:34px 0 16px}
.prof-main h2:first-child{margin-top:0}
.prof-main p{font-size:.93rem;line-height:1.9;color:var(--tb);margin-bottom:14px}
.prof-main p strong{color:var(--tx)}
.arrowlist li{position:relative;padding:9px 0 9px 24px;font-size:.88rem;line-height:1.55;color:var(--tb);border-bottom:1px solid var(--line)}
.arrowlist li:last-child{border-bottom:none}
.arrowlist li::before{content:'';position:absolute;left:0;top:16px;width:8px;height:8px;border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold);transform:rotate(45deg)}
.arrowlist li strong{color:var(--tx)}
.prof-side{position:sticky;top:160px;background:var(--cream);border:1px solid var(--line);padding:32px 30px}
.prof-side h3{font-family:var(--serif);font-size:1.2rem;color:var(--tx);margin-bottom:8px}
.prof-side p{font-size:.84rem;line-height:1.7;color:var(--tb);margin-bottom:18px}
.prof-side .pa{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:18px 0 10px}
.prof-side ul li{font-size:.84rem;color:var(--tb);padding:6px 0;border-bottom:1px solid var(--line)}
.prof-side ul li:last-child{border-bottom:none}

@media(max-width:1024px){
  .law-grid{gap:32px}
  .prof-hero .wrap{grid-template-columns:1fr;gap:32px}
  .prof-photo{max-width:320px}
  .prof-body{grid-template-columns:1fr;gap:36px}
  .prof-side{position:static}
}
@media(max-width:640px){
  .law-grid{grid-template-columns:1fr;max-width:420px}
}

/* ============================================================
   CARTES-LIENS (domaines)
============================================================ */
a.pcard{display:block;color:inherit;text-decoration:none}

/* ============================================================
   HONORAIRES — tableaux de prix
============================================================ */
.fee-intro{max-width:760px;margin:0 auto 56px;text-align:center}
.fee-wrap{max-width:940px;margin:0 auto}
.fee-block{margin-bottom:52px}
.fee-h{display:flex;align-items:baseline;gap:14px;margin-bottom:6px;padding-bottom:14px;border-bottom:2px solid var(--gold)}
.fee-h h3{font-family:var(--serif);font-size:1.55rem;color:var(--tx)}
.fee-h .tag{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra2);font-weight:700}
.fee-table{width:100%;border-collapse:collapse}
.fee-table tr{border-bottom:1px solid var(--line);transition:background var(--trf)}
.fee-table tr:last-child{border-bottom:none}
.fee-table tr:hover{background:var(--cream)}
.fee-table td{padding:15px 12px;font-size:.9rem;line-height:1.5;color:var(--tb);vertical-align:top}
.fee-table td.price{text-align:right;white-space:nowrap;font-weight:600;color:var(--tx);font-variant-numeric:tabular-nums;min-width:170px}
.fee-table td.price .free{color:var(--terra2);font-weight:700}
.fee-note{font-size:.78rem;color:var(--tm);line-height:1.7;max-width:940px;margin:10px auto 0;text-align:center}
@media(max-width:600px){
  .fee-table td{padding:12px 6px;font-size:.83rem}
  .fee-table td.price{min-width:120px}
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media(max-width:1024px){
  .tc{grid-template-columns:1fr}.tc.rev{direction:ltr}.tc-text{padding:64px 44px}.tc-photo{min-height:380px}
  .pgrid{grid-template-columns:1fr;gap:54px}.ft-top{grid-template-columns:1fr 1fr}
  .finalcta{grid-template-columns:1fr}.prac-grid{grid-template-columns:1fr 1fr}
  .diff-grid{grid-template-columns:1fr;gap:0}.fw{background-attachment:scroll}
  .team-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:36px}
}
@media(max-width:768px){
  .topbar{padding:8px 22px;font-size:.68rem}.topbar-l{display:none}
  .hdr-inner{padding:14px 22px 0}.burger{display:flex}
  .main-nav{display:none;flex-direction:column;width:100%;align-items:stretch;border-top:1px solid var(--hdr-bd);padding:8px 0}
  .main-nav.open{display:flex}
  .ni>a{justify-content:space-between;padding:14px 8px}
  .ni>a::after{display:none}
  .ndrop,.nmega{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;width:auto;display:block;background:rgba(0,0,0,.03);border-top:none;padding:0 0 8px}
  .ndrop a,.nmega a{opacity:1;transform:none;color:var(--tb);padding:10px 24px}
  .ndrop a:hover,.nmega a:hover{background:rgba(0,0,0,.04)}
  .nmega .mt{color:var(--tx);font-size:.85rem}.nmega .md{display:none}
  .ni.cta>a{margin:0}
  .hero-stats{flex-wrap:wrap}.hstat{flex:0 0 50%;max-width:none;border-right:none;padding:14px 16px}
  .prac-grid{grid-template-columns:1fr}.ft-top{grid-template-columns:1fr;padding:54px 22px 40px}
  .ft-disc,.ft-bot,.ft-rp{padding-left:22px;padding-right:22px}.mbox{padding:36px 26px}
  .ctabanner{padding:36px 22px}.fct-txt{padding:60px 28px}.sec{padding:80px 0}
  .team-grid{grid-template-columns:1fr}.cinfo{padding:36px 26px}
}
