/* LEGALPROTECH — version HTML statique (aperçu design) */
:root{--navy:#0A1E3C;--signal:#2E6BE6;--light:#F5F7FA;--txt:#1A2332;--txt2:#5A6B85;--bord:#DDE4EE}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--txt);background:#fff}
h1,h2,h3,blockquote{font-family:"Source Serif 4",Georgia,serif;font-weight:500}
.hd{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 5vw;background:#fff;border-bottom:1px solid var(--bord)}
.logo{font-size:15px;color:var(--navy)}.logo b{color:var(--signal)}.logo small{font-size:9px;letter-spacing:.2em;color:var(--txt2)}
.hd nav{display:flex;gap:18px;flex-wrap:wrap}.hd a{font-size:13px;color:var(--txt2);text-decoration:none}.hd a.on{color:var(--navy);font-weight:600}.hd nav a:hover{color:var(--signal)}
.crumb{padding:8px 5vw;background:var(--light);border-bottom:1px solid var(--bord);font-size:12px;color:var(--txt2)}
.btn{display:inline-block;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .2s,box-shadow .2s}
.btn.p{background:var(--signal);color:#fff}.btn.g{border:1px solid #5A78A8;color:#fff}
.btn.sm{padding:8px 14px;font-size:12px}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(46,107,230,.35)}
.hero{padding:9vh 5vw;background:linear-gradient(160deg,#0E2647,#0A1E3C 45%,#061224);color:#fff;position:relative;overflow:hidden}
.hero h1{font-size:clamp(28px,4vw,44px);line-height:1.25;margin:0;max-width:820px}
.hero .sub{color:#B8C6DE;font-size:17px;line-height:1.65;max-width:660px}
.hero .kick{letter-spacing:.12em;font-size:12px;color:#8FAAD9;margin:0 0 10px}
.hero .cols{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:center}
.archipel::before{content:"";position:absolute;top:0;right:0;width:55%;height:100%;pointer-events:none;opacity:.5;background:no-repeat top right/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 340 240'%3E%3Cg fill='%232E6BE6'%3E%3Ccircle cx='70' cy='52' r='3.2' opacity='.9'/%3E%3Ccircle cx='86' cy='64' r='2.2' opacity='.7'/%3E%3Ccircle cx='60' cy='70' r='1.8' opacity='.55'/%3E%3Ccircle cx='168' cy='98' r='2.6' opacity='.8'/%3E%3Ccircle cx='182' cy='110' r='1.7' opacity='.55'/%3E%3Ccircle cx='236' cy='170' r='2.4' opacity='.7'/%3E%3Ccircle cx='300' cy='60' r='2.8' opacity='.8'/%3E%3Ccircle cx='312' cy='74' r='1.6' opacity='.5'/%3E%3Ccircle cx='130' cy='180' r='1.4' opacity='.4'/%3E%3Ccircle cx='40' cy='130' r='1.5' opacity='.4'/%3E%3C/g%3E%3Cg stroke='%232E6BE6' stroke-width='.6' opacity='.35'%3E%3Cline x1='70' y1='52' x2='168' y2='98'/%3E%3Cline x1='168' y1='98' x2='236' y2='170'/%3E%3Cline x1='168' y1='98' x2='300' y2='60'/%3E%3C/g%3E%3C/svg%3E")}
.hero::after,.band::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:3px 3px}
.gcard{position:relative;background:rgba(18,42,79,.65);border:1px solid rgba(46,107,230,.25);border-radius:14px;padding:24px;text-align:center}
.gcard .sub{font-size:12px;color:#B8C6DE;margin:8px 0 0}
.lpt-gauge-arc{stroke-dasharray:230;stroke-dashoffset:230}
.inview .lpt-gauge-arc{animation:draw 1.6s ease-out .2s forwards}@keyframes draw{to{stroke-dashoffset:64}}
.bar{padding:18px 5vw;background:var(--light);border-bottom:1px solid var(--bord);text-align:center}.bar p{margin:0;font-size:13.5px;color:var(--txt2)}
.sec{padding:56px 5vw;max-width:1160px;margin:auto}.sec h2{font-size:30px;color:var(--navy);margin:0 0 18px}
.sec .body{font-size:16px;line-height:1.7;max-width:800px}
.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(3,1fr)}
.card{border:1px solid var(--bord);border-radius:12px;padding:20px;transition:transform .25s,border-color .25s,box-shadow .25s}
.card:hover{transform:translateY(-3px);border-color:var(--signal);box-shadow:0 8px 24px rgba(10,30,60,.1)}
.card.accent{border:2px solid var(--signal)}
.card h3{margin:0 0 6px;font-size:19px;color:var(--navy)}.card p{margin:0;font-size:14px;line-height:1.55;color:var(--txt2)}
.card .badge{display:inline-block;font-size:10.5px;letter-spacing:.06em;color:var(--signal);margin-bottom:6px}
.card .price{margin-top:10px;font-size:19px;font-weight:600;color:var(--signal)}
blockquote{border-left:3px solid var(--signal);margin:0;padding:8px 0 8px 20px;font-size:17px;line-height:1.7;font-style:italic;max-width:760px}
blockquote cite{display:block;margin-top:8px;font-style:normal;font-size:13px;color:var(--txt2)}
.rows{border:1px solid var(--bord);border-radius:10px;overflow:hidden}.row{padding:14px 18px;border-bottom:1px solid var(--bord);font-size:15px}.row:last-child{border:0}
.lk{padding-left:18px}.lk li{margin:7px 0}.lk a{color:var(--signal)}
.band{position:relative;overflow:hidden;padding:64px 5vw;background:linear-gradient(160deg,#0E2647,#0A1E3C 55%,#061224);color:#fff;text-align:center}
.band h2{font-size:28px;margin:0 0 18px}.ctas{display:flex;gap:10px;justify-content:flex-start;margin-top:18px}.band .ctas{justify-content:center}
.archipel-soft::before{content:"";position:absolute;top:0;right:0;width:45%;height:100%;opacity:.22;background:no-repeat top right/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 340 240'%3E%3Cg fill='%232E6BE6'%3E%3Ccircle cx='70' cy='52' r='3'/%3E%3Ccircle cx='168' cy='98' r='2.4'/%3E%3Ccircle cx='236' cy='170' r='2.2'/%3E%3Ccircle cx='300' cy='60' r='2.6'/%3E%3C/g%3E%3C/svg%3E")}
.ft{background:#061224;color:#8FAAD9;text-align:center;padding:28px 5vw;font-size:11.5px;line-height:1.9}
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rv.d2{transition-delay:.15s}.rv.d3{transition-delay:.3s}
.inview .rv,.rv.inview{opacity:1;transform:none}
@media(max-width:900px){.g4,.g3{grid-template-columns:repeat(2,1fr)}.hero .cols{grid-template-columns:1fr}.hd nav{display:none}}
@media(max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.lpt-gauge-arc{animation:none;stroke-dashoffset:64}.card,.btn{transition:none}}
/* Formulaire de contact */
.cform{max-width:720px;display:grid;gap:14px}
.cform label{display:grid;gap:6px;font-size:13px;color:var(--txt2);font-weight:500}
.cform input,.cform select,.cform textarea{font:15px Inter,system-ui,sans-serif;color:var(--txt);padding:11px 12px;border:1px solid var(--bord);border-radius:8px;background:#fff;width:100%}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--signal);outline-offset:1px;border-color:var(--signal)}
.cform .fr2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cform .chk{grid-auto-flow:column;justify-content:start;align-items:center;font-weight:400}
.cform button{justify-self:start;border:0;cursor:pointer}
@media(max-width:560px){.cform .fr2{grid-template-columns:1fr}}
/* Cartes photo (publics) + portrait — traitement grain de la charte */
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:980px}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bord);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(10,30,60,.14)}
.ph{position:relative;display:block;overflow:hidden}
.ph img{display:block;width:100%;height:220px;object-fit:cover;filter:saturate(.92) contrast(1.03)}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,30,60,.28),rgba(10,30,60,0) 55%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");mix-blend-mode:multiply;pointer-events:none}
.pbody{display:grid;gap:8px;padding:20px 22px 22px}
.pbody strong{font-family:'Source Serif 4',Georgia,serif;font-size:21px;color:var(--navy)}
.pbody>span{font-size:14.5px;color:var(--txt2);line-height:1.55}
.plink{color:var(--signal);font-weight:600;font-size:14px}
.prt{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:start;max-width:980px}
.prt .ph{border-radius:14px}
.prt .ph img{height:auto;aspect-ratio:41/62}
@media(max-width:760px){.pgrid,.prt{grid-template-columns:1fr}.ph img{height:200px}}
