:root{--navy:#102c49;--blue:#226ee6;--nevis:#009fe8;--ink:#142b40;--muted:#536577;--line:#dce4eb;--light:#f3f6f9;--max:1240px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:white;font:16px/1.6 Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffb84d;outline-offset:4px}.skip{position:absolute;left:12px;top:-80px;z-index:30;background:white;padding:12px}.skip:focus{top:12px}.preview{padding:5px 6%;background:#e8f0fc;text-align:center;font-size:12px;color:var(--navy)}.top{background:var(--navy);color:white;padding:7px 6%;display:flex;justify-content:space-between;gap:15px;font-size:13px}.top a{text-decoration:none}.header{max-width:var(--max);margin:auto;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:22px}.wordmark{font-size:26px;font-weight:800;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.wordmark span{color:var(--blue)}.nav{display:flex;align-items:center;gap:24px}.nav a{text-decoration:none;font-size:14px}.nav a:hover,.nav a[aria-current=page]{color:var(--blue)}.nav .btn{color:white}.menu-toggle{display:none;background:white;border:1px solid var(--line);border-radius:4px;padding:9px 13px;min-height:44px}.wrap{max-width:var(--max);margin:auto;padding:65px 5%}.hero{display:grid;grid-template-columns:1fr 1.06fr;align-items:center;gap:32px;padding-top:44px;padding-bottom:42px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blue)}h1{font-size:clamp(34px,4.4vw,61px);line-height:1.08;letter-spacing:-2px;margin:22px 0}h2{font-size:clamp(27px,3vw,34px);line-height:1.2;letter-spacing:-1px;margin:12px 0 24px}h3{font-size:20px;line-height:1.3}p{color:var(--muted)}.lead{font-size:18px;max-width:600px}.hero img{width:100%;height:auto;display:block;object-fit:contain}.caption{font-size:13px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:13px 21px;border:1px solid transparent;border-radius:5px;background:var(--blue);color:white;font-weight:700;font-size:14px;text-decoration:none;line-height:1.4}.btn:hover{background:#1756bc}.secondary{border-color:var(--line);color:var(--navy);background:white}.secondary:hover{background:var(--light)}.strip{background:var(--navy);color:white}.strip .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:25px;padding-bottom:25px;gap:30px}.strip p{color:#c6d7e5;margin:4px 0;font-size:14px}.light{background:var(--light)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-head h2{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.category{display:block;text-decoration:none;background:white;border:1px solid var(--line);padding:25px;border-radius:7px;transition:transform .2s,box-shadow .2s}.category:hover,.product-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #102c4910}.category .num{font-size:13px;color:var(--blue)}.category img{height:150px;width:100%;object-fit:contain;background:white}.category p{font-size:14px}.arrow{color:var(--blue);font-size:14px;font-weight:700}.product-card{background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.card-image{display:block;padding:20px;background:white;text-decoration:none}.card-image img{width:100%;height:220px;object-fit:contain;display:block}.card-copy{padding:0 23px 23px;display:flex;flex-direction:column;flex:1}.card-copy h3{margin:5px 0 10px}.card-copy h3 a{text-decoration:none}.kind{font-size:12px;color:var(--muted)}.card-metrics{display:flex;flex-wrap:wrap;gap:7px;margin:5px 0 19px}.card-metrics span{background:var(--light);padding:5px 8px;border-radius:3px;font-size:12px}.card-copy .btn{margin-top:auto}.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.feature img{width:100%;height:330px;object-fit:contain;background:white}.brand-logo{width:125px!important;height:auto!important;background:transparent!important}.cta{background:var(--navy);color:white;padding:42px;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{margin:0 0 12px}.cta p{color:#c6d7e5;margin:0}.footer{background:var(--navy);color:white}.footer .wrap{padding-top:40px;padding-bottom:35px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer p{color:#c6d7e5;font-size:14px}.footer a{display:block;color:#e4edf6;font-size:14px;margin:7px 0;text-decoration:none}.footer h3{font-size:16px;margin:0 0 14px}.bottom{border-top:1px solid #ffffff24;max-width:var(--max);margin:auto;padding:15px 5%;font-size:12px;color:#c6d7e5}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:30px}.breadcrumb a{text-decoration:none}.product-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:56px}.product-layout h1{font-size:clamp(36px,4vw,48px);margin:12px 0 18px}.product-photo{width:100%;height:420px;object-fit:contain;background:white;display:block}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:28px 0}.metric{border-top:2px solid var(--nevis);padding:10px 0}.metric strong{display:block;font-size:24px;color:var(--navy)}.metric span{font-size:12px;color:var(--muted)}.quantity{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.quantity input{width:80px;padding:10px;border:1px solid var(--line);border-radius:4px}.details{display:grid;grid-template-columns:1.4fr 1fr;gap:55px}.tech-group{margin-bottom:24px}.tech-group h3{font-size:13px;color:var(--blue);letter-spacing:1px;text-transform:uppercase;margin:12px 0}.tech-table{width:100%;border-collapse:collapse;font-size:14px}.tech-table th,.tech-table td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left}.tech-table th{font-weight:400;color:var(--muted);width:57%}.tech-table tr:nth-child(odd){background:var(--light)}.tech-table td{font-weight:700}.benefits{list-style:none;padding:0}.benefits li{position:relative;padding:9px 0 9px 26px}.benefits li:before{content:'✓';position:absolute;left:0;color:var(--nevis);font-weight:bold}.equipment{padding:24px;background:var(--light);border-left:3px solid var(--nevis);font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery figure{margin:0}.gallery .gallery-frame{width:100%;height:230px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:5px}.gallery figcaption{font-size:13px;color:var(--muted);margin-top:10px}.gallery svg{display:block;width:100%;height:230px;border:1px solid var(--line);border-radius:5px}.filterbar{display:grid;grid-template-columns:1fr 240px;gap:15px;margin:25px 0 12px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-weight:700;font-size:13px}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #b9c6d0;padding:11px 13px;border-radius:4px;background:white;color:var(--ink)}.field textarea{min-height:120px;resize:vertical}.small{font-size:13px;color:var(--muted)}.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px}.quote-list{list-style:none;padding:0;margin:0}.quote-item{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr 90px;gap:15px;align-items:center}.quote-item img{width:70px;height:70px;object-fit:contain}.quote-item h3{font-size:16px;margin:0}.quote-item input{width:75px;padding:8px;border:1px solid var(--line);border-radius:4px}.remove{border:0;background:none;text-decoration:underline;color:var(--muted);font-size:12px;padding:5px 0}.quote-form{padding:28px;border:1px solid var(--line);border-radius:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.request-output{padding:24px;background:var(--light);border-left:3px solid var(--blue);margin-top:25px}.request-output pre{font:14px/1.6 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;border-radius:5px;background:var(--navy);color:white;padding:16px 24px;z-index:20;box-shadow:0 4px 20px #0002;font-size:14px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-card{padding:28px;border:1px solid var(--line);border-radius:6px;margin-bottom:18px}.contact-card h3{font-size:14px;color:var(--muted);margin:0 0 10px}.contact-card a{font-size:22px;font-weight:bold;text-decoration:none;overflow-wrap:anywhere}.empty{padding:30px;background:var(--light);border:1px solid var(--line)}[hidden]{display:none!important}.mobile-actions{display:none}img{max-width:100%}main{min-height:50vh}
@media(max-width:960px){.nav{gap:15px}.nav a{font-size:13px}.header{padding-left:4%;padding-right:4%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-layout{gap:30px}.product-photo{height:360px}.details{gap:30px}.feature{gap:25px}.quote-layout{gap:25px}.cta{padding:30px}.footer .wrap{gap:25px}}
@media(max-width:720px){.top{padding:7px 5%;font-size:12px}.top .secondary-contact{display:none}.header{padding:15px 5%;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line)}.wordmark{font-size:23px}.menu-toggle{display:block}.nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:12px 0}.nav.open{display:flex}.nav a{padding:12px 0;font-size:15px}.nav .btn{margin-top:8px}.wrap{padding:38px 5%}.hero,.product-layout,.feature,.details,.quote-layout,.contact-grid{grid-template-columns:1fr;gap:24px}.hero{padding-top:30px}.hero h1{font-size:40px;letter-spacing:-1.5px}.hero .lead{font-size:17px}.hero img{max-height:320px}.strip .wrap{grid-template-columns:1fr;gap:16px;padding-top:22px;padding-bottom:22px}.grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:12px}.category img{height:170px}.card-image img{height:245px}.feature img{height:270px}.cta{padding:28px;flex-direction:column;align-items:start}.footer .wrap{grid-template-columns:1fr;gap:28px}.product-photo{height:290px}.product-layout h1{font-size:38px}.metrics{margin:20px 0;gap:12px}.metric strong{font-size:23px}.gallery{grid-template-columns:1fr}.gallery .gallery-frame,.gallery svg{height:270px}.filterbar{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.quote-form{padding:22px}.quote-item{grid-template-columns:55px 1fr 80px;gap:10px}.quote-item img{width:55px;height:60px}.contact-card a{font-size:19px}.mobile-actions{display:flex;position:sticky;bottom:0;background:white;border-top:1px solid var(--line);padding:10px 5%;gap:10px;z-index:10}.mobile-actions .btn{flex:1;padding:11px 10px}.toast{bottom:85px}.tech-table th,.tech-table td{padding:10px 8px}.breadcrumb{overflow-wrap:anywhere}.btn{min-height:46px}h2{letter-spacing:-.6px}.actions .btn{flex-grow:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.portal-hero{padding-top:48px}.portal-hero h1{max-width:900px;font-size:clamp(38px,5vw,65px)}.portal-hero .lead{max-width:740px}.brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.brand-card{border:1px solid var(--line);border-radius:7px;text-decoration:none;background:white;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}.brand-card:hover{box-shadow:0 8px 25px #102c4914}.brand-visual{background:#fafbfc;height:210px;display:flex;align-items:center;justify-content:center;padding:20px}.brand-visual img{height:100%;width:100%;object-fit:contain}.brand-copy{padding:24px;flex:1;display:flex;flex-direction:column}.brand-copy h3{margin:0}.brand-copy .arrow{margin-top:auto;padding-top:16px}.brand-heading{display:grid;grid-template-columns:280px 1fr;gap:45px;align-items:center}.brand-heading img{width:100%;height:190px;object-fit:contain}.brand-enquiry{border-top:1px solid var(--line);margin-top:36px;padding-top:30px;max-width:750px}.document-card{border:1px solid var(--line);border-radius:6px;padding:26px;display:flex;flex-direction:column}.document-card img{width:100%;height:145px;object-fit:contain}.document-card h2{font-size:23px;margin-top:25px}.document-card .btn{margin-top:auto}.document-grid{margin:35px 0}.home-search{max-width:900px}.home-search label{font-weight:bold;display:block;margin-bottom:10px}.home-search div{display:flex;gap:12px}.home-search input{border:1px solid var(--line);padding:14px;flex:1;min-width:0;border-radius:5px}.application-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.application-links a{padding:22px;background:white;border:1px solid var(--line);border-radius:5px;text-decoration:none;font-weight:bold}.filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:960px){.brand-visual{height:175px}.brand-copy{padding:18px}.nav{gap:12px}.nav a{font-size:12px}}@media(max-width:720px){.portal-hero h1{font-size:39px}.brand-grid,.application-links,.brand-heading{grid-template-columns:1fr}.brand-grid{gap:18px;margin-top:30px}.brand-visual{height:190px}.brand-heading{gap:12px}.brand-heading img{height:140px}.filterbar{grid-template-columns:1fr}.home-search div{flex-direction:column}.nav a{font-size:15px}}

/* Logo RETAL PRO : source originale, cadrage par affichage uniquement. */
.wordmark{display:inline-flex;align-items:center;flex-shrink:0;line-height:1;letter-spacing:normal}
.retal-logo-frame{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;overflow:hidden;background:white;flex-shrink:0}
.retal-logo-frame .retal-logo{display:block;width:117%;height:117%;max-width:none;flex-shrink:0;object-fit:contain}
.footer a.wordmark{display:inline-flex;margin:0 0 14px}
.footer .retal-logo-frame{width:104px;height:104px}
@media(max-width:1100px) and (min-width:721px){.header{flex-wrap:wrap}.nav{flex-wrap:wrap;justify-content:flex-end;gap:15px;flex:1}}
@media(max-width:720px){.header .retal-logo-frame{width:64px;height:64px}.footer .retal-logo-frame{width:96px;height:96px}}

.quote-form #privacy-consent{width:18px;height:18px;min-height:18px;margin:4px 8px 0 0;padding:0;vertical-align:top;accent-color:var(--blue)}

/* Logos V22 : cadrage des marges de fichier et poids visuel équilibré. */
.brand-mark-frame{display:block;position:relative;flex:none;overflow:hidden;max-width:100%;margin:auto;line-height:0}
.brand-mark-frame .brand-mark-image{position:absolute;display:block;max-width:none;object-fit:contain;margin:0;padding:0}
.brand-heading>.brand-mark-frame{justify-self:center}
/* Navigation et ressources V18 : palette et composants existants conservés. */
.nav-group{position:relative}.nav-group summary{cursor:pointer;list-style:none;font-size:14px;min-height:44px;display:flex;align-items:center;gap:7px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'⌄';font-size:15px}.nav-group[open] summary{color:var(--blue)}.nav-group summary:focus-visible{outline:3px solid #ffb84d;outline-offset:4px}.nav-submenu{position:absolute;top:100%;left:0;min-width:290px;max-height:65vh;overflow:auto;padding:10px;background:white;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px #102c4920;z-index:25}.nav-submenu a{display:block;padding:8px 12px;border-radius:3px}.nav-submenu a:hover{background:var(--light)}.footer .wrap.footer-content{display:block}.footer-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid #ffffff24}.footer-contact p{margin:8px 0}.footer-columns{display:grid;grid-template-columns:1.3fr .7fr 1fr 1fr 1fr;gap:28px}.footer-columns a{line-height:1.5;overflow-wrap:anywhere}.footer h3{color:white}.card-image,.product-photo,.brand-visual{background:#fff}.nav-group summary{white-space:nowrap}#liste-produits{scroll-margin-top:25px}
@media(max-width:1100px) and (min-width:721px){.nav-group summary{font-size:13px}.footer-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.nav-group summary{padding:12px 0;font-size:15px;font-weight:bold;cursor:default}.nav-group summary:after{display:none}.nav-submenu{position:static;min-width:0;max-height:none;overflow:visible;padding:0 0 8px 16px;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0}.nav-submenu a{padding:9px 8px;font-size:14px}.footer-intro,.footer-columns{grid-template-columns:1fr;gap:28px}.footer-intro{margin-bottom:28px}.nav-group{width:100%}}

/* V31 : corrections demandées, structure et design de référence conservés. */
.header .retal-logo-frame{width:92px;height:92px}
.footer .retal-logo-frame{width:120px;height:120px}
.contact-address{font-style:normal;font-size:18px;line-height:1.7}
.contact-card .map-link{font-size:15px;line-height:1.4}
.sector-panel{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center;margin:22px 0;padding:20px;background:var(--pale,#f3f6f9);border:1px solid var(--line);border-radius:6px}
.sector-panel[hidden]{display:none}
.sector-panel p{margin:0 0 8px}
.sector-shortcuts{margin:24px 0}
@media(max-width:720px){.header .retal-logo-frame{width:78px;height:78px}.footer .retal-logo-frame{width:112px;height:112px}.sector-panel{grid-template-columns:1fr;gap:14px;padding:16px}.contact-address{font-size:17px}}
