:root{font-family:Inter,Arial,sans-serif;color:#172536;background:#f2f5f8;font-size:16px;line-height:1.5;--line:#dae1e8;--gold:#edb64d}*{box-sizing:border-box}body{margin:0}header{padding:22px max(5vw,24px);background:#172536;color:white;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;font-size:20px;letter-spacing:3px;font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:4px;font-weight:400}.mark{display:grid;place-items:center;width:40px;height:43px;border:1px solid #738295;color:var(--gold);font-size:27px;letter-spacing:0}.header-note{font-size:12px;letter-spacing:2px;color:#bbc8d5}main{max-width:1280px;margin:auto;padding:36px 28px 20px}.intro{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:26px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;color:#657587;margin:0 0 8px}h1{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:0 0 12px;font-weight:650;letter-spacing:-1px}.intro p:last-child{margin:0;color:#607084}.badge{font-size:11px;letter-spacing:1px;border:1px solid #ced7e1;padding:8px 12px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);gap:24px}section{background:white;border:1px solid var(--line);border-radius:8px}h2{font-size:17px;margin:0;font-weight:650}h2>span{font-size:12px;color:#8a682c;margin-right:10px}.panel-heading{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:20px}.model-panel{padding:24px;display:flex;flex-direction:column}.drop{min-height:325px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1.5px dashed #9fafbd;border-radius:5px;background:#f7f9fc;cursor:pointer;text-align:center;position:relative;gap:7px;padding:24px}.drop:hover,.drop.drag{background:#edf3fa;border-color:#344b63}.drop input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.drop:focus-within{outline:3px solid #b78527;outline-offset:3px}.drop strong{font-size:19px}.drop span:not(.upload-icon){color:#607084}.drop small{font-size:13px;color:#607084;margin-top:12px}.upload-icon{font-size:36px;border:1px solid #d6dfe7;border-radius:10px;width:62px;height:62px;color:#526779;margin-bottom:12px}#status{font-size:13px;color:#617184;margin:14px 0}#status.error{color:#9b3024;background:#fff0ec;padding:10px;border-radius:4px}.filename{font-size:14px;font-weight:600;overflow-wrap:anywhere}.metrics{display:flex;gap:22px;padding:18px 0}.metrics span{display:block;font-size:12px;color:#617184}.metrics strong{font-size:17px;font-variant-numeric:tabular-nums}label{display:block;font-size:14px;font-weight:550}select,input[type=number]{font:inherit;font-size:16px;display:block;padding:11px 12px;background:#fff;border:1px solid #becbd7;border-radius:5px;width:100%;margin-top:7px;color:#172536}select:focus,input:focus,button:focus-visible{outline:2px solid #b78527;outline-offset:2px}.confirm{display:flex;gap:10px;margin:18px 0;font-size:14px;align-items:flex-start;font-weight:400}.confirm input{width:18px;height:18px;accent-color:#172536;flex:none}#unit-label{max-width:220px}.model-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#617184}.text-button{border:0;background:none;color:#395670;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:6px 0}aside{display:flex;flex-direction:column;gap:18px}.settings{padding:24px}.settings h2{margin-bottom:22px}.muted{font-size:13px;color:#617184;margin:9px 0 20px}.quote{padding:24px;background:#172536;color:#fff;flex:1}.quote-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-top>span{font-size:10px;letter-spacing:1px;color:#bdc9d6}.price{font-size:48px;line-height:1.3;letter-spacing:-1px;margin:14px 0 0;font-variant-numeric:tabular-nums;color:#f4c569}.price small{font-size:16px;letter-spacing:0;color:#c9d5df;font-weight:400}#price-caption{color:#c9d5df;font-size:13px;margin:4px 0 20px}dl{margin:0;padding-top:15px;border-top:1px solid #405062;font-size:13px}dl>div{display:flex;justify-content:space-between;gap:20px;margin-bottom:10px}dt{color:#c9d5df}dd{margin:0;text-align:right;white-space:nowrap}.quote-notice{font-size:12px;color:#c9d5df;margin-top:18px;border-left:2px solid #edb64d;padding-left:12px}.minimum{color:#f4c569;font-size:13px}.method,.calibration{border-bottom:1px solid var(--line);padding:20px 0}.method p,.calibration p{font-size:14px;color:#617184;max-width:1000px}summary{cursor:pointer;font-size:14px;font-weight:600}.cal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:20px 0}.cal-grid label{font-size:13px}footer{padding:26px 0 8px;font-size:11px;letter-spacing:1px;display:flex;gap:15px;justify-content:space-between;color:#617184}footer span{letter-spacing:0}#viewer{height:325px;background:#edf2f6;border-radius:5px;position:relative;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.viewer-controls{position:absolute;bottom:8px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#56697c;pointer-events:none}.viewer-controls button{pointer-events:auto;background:#edf2f6;padding:4px 8px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}@media(max-width:820px){.workspace{grid-template-columns:1fr}.intro{display:block}.badge{display:inline-block;margin-top:18px}.cal-grid{grid-template-columns:repeat(2,1fr)}.header-note{display:none}main{padding:25px 16px}.model-panel,.settings,.quote{padding:20px}.model-foot{flex-wrap:wrap}.metrics{flex-wrap:wrap}footer{flex-wrap:wrap}.drop{min-height:260px}}@media(prefers-reduced-motion:no-preference){button,select,.drop{transition:background .15s,border-color .15s}}

.settings>label{margin-top:18px}.contact{padding:26px;margin-top:24px}.contact>p{color:#607084}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}fieldset{border:0;padding:0;margin:0;min-width:0}input:not([type=checkbox]):not([type=file]),textarea{font:inherit;font-size:16px;display:block;padding:11px 12px;background:#fff;border:1px solid #becbd7;border-radius:5px;width:100%;margin-top:7px;color:#172536}textarea{resize:vertical}.primary{padding:14px 20px;background:#172536;border:0;border-radius:5px;color:white;font:inherit;font-weight:600;cursor:pointer}.primary:disabled{opacity:.5;cursor:not-allowed}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#send-status{font-size:14px}.error{color:#9b3024}.success{color:#186143}@media(max-width:600px){.contact-grid{grid-template-columns:1fr}.contact{padding:20px}.primary{width:100%}}

.file-tabs{display:flex;gap:5px;border-bottom:1px solid #ccd7e1;margin-bottom:20px}.file-tabs button{font:inherit;font-size:14px;padding:10px 12px;border:0;background:#eef2f6;color:#354c63;cursor:pointer;border-radius:5px 5px 0 0}.file-tabs button[aria-selected=true]{background:#172536;color:white}.file-tabs small{display:block;font-size:12px;font-weight:400}.documents-drop{padding:22px;border:1px dashed #9fafbd;border-radius:5px}.documents-drop input{display:block;max-width:100%;margin-top:15px}.document-list{list-style:none;padding:0}.document-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #dae1e8;overflow-wrap:anywhere}.document-list button{flex:none}#panel-documents{min-height:340px}#document-status{font-size:14px}#manual-note{padding:12px;background:#fff4d7;color:#674c10}@media(max-width:600px){.file-tabs{flex-wrap:wrap}.file-tabs button{flex:1}}

/* Engagements clients — bandeau responsive */
.service-promises{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#172536;border:1px solid #293c50;border-radius:8px;color:#fff;overflow:hidden;box-shadow:0 6px 18px #1725360a}
.service-promises li{display:flex;align-items:center;gap:16px;padding:22px 26px;min-width:0;position:relative}
.service-promises li+li:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:1px;background:#405062}
.promise-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid #edb64d55;background:#edb64d0d;border-radius:12px;color:#f4c569}
.promise-icon svg{width:25px;height:25px}.promise-icon .french-flag{width:30px;height:20px;border-radius:2px;box-shadow:0 0 0 1px #ffffff33}
.promise-origin{border-color:#ffffff26;background:#ffffff09}.promise-label{display:block;color:#c9d5df;font-size:13px;line-height:1.4;margin-bottom:3px}
.service-promises strong{display:block;font-size:22px;font-weight:650;line-height:1.25;letter-spacing:-.3px}
@media(max-width:1000px){.service-promises li{padding:20px 16px;gap:12px}.service-promises strong{font-size:19px}}
@media(max-width:640px){.service-promises{grid-template-columns:1fr;margin-bottom:22px}.service-promises li{padding:16px 20px}.service-promises li+li:before{top:0;bottom:auto;left:20px;right:20px;width:auto;height:1px}.service-promises strong{font-size:21px}.promise-label{font-size:13px}.promise-icon{width:42px;height:42px}}

/* Mascotte officielle Aerolism */
.brand-mascot{display:block;width:78px;height:57px;object-fit:contain;flex:none}
@media(max-width:480px){.brand{gap:10px;font-size:18px;letter-spacing:2px}.brand-mascot{width:64px;height:47px}}

/* Centrage du sous-titre sous le nom de marque */
.brand>span{text-align:center}
.brand small{text-align:center;padding-left:4px}

/* Positionnement du service */
.positioning{padding:28px;margin-bottom:28px;border-top:3px solid var(--gold)}.positioning-heading h2{font-size:clamp(21px,2.4vw,28px);line-height:1.25;letter-spacing:-.5px}.positioning>p{color:#526477;font-size:14px;max-width:1050px}.positioning .positioning-lead{font-size:16px;line-height:1.65;margin-top:18px}.positioning strong{color:#172536;font-weight:650}.application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}.application-grid>div{border-left:2px solid #edb64d;padding-left:15px}.application-grid h3{font-size:15px;margin:0 0 7px}.application-grid p{font-size:13px;line-height:1.6;color:#526477;margin:0}.positioning .positioning-note{font-size:12px;line-height:1.6;border-top:1px solid var(--line);padding-top:16px;margin-bottom:12px}.positioning .positioning-invite{font-size:13px;font-weight:600;color:#172536;margin-bottom:0}@media(max-width:720px){.positioning{padding:22px 20px}.application-grid{grid-template-columns:1fr;gap:18px}}

/* Alignement des textes du positionnement commercial */
.positioning>p{max-width:none}
.positioning>p,.application-grid p{text-align:justify;text-justify:inter-word;hyphens:auto;overflow-wrap:break-word}
.positioning-heading,.application-grid h3{text-align:left}
@media(max-width:480px){.positioning>p,.application-grid p{text-align:left}}

/* Photos d’atelier et applications */
.applications-showcase{background:transparent;border:0;margin:34px 0 30px;padding:0}.showcase-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 20px}.showcase-heading h2{font-size:clamp(22px,2.5vw,28px);letter-spacing:-.5px;line-height:1.25}.showcase-heading>div>p:last-child{font-size:14px;color:#526477;max-width:760px;margin:10px 0 0}.showcase-link{display:inline-flex;align-items:center;gap:14px;flex:none;border:1px solid #bcc9d5;border-radius:5px;color:#172536;text-decoration:none;padding:11px 15px;font-size:13px;font-weight:650;background:#fff}.showcase-link:hover{border-color:#a57a27;background:#fffaf0}.showcase-link:focus-visible{outline:2px solid #b78527;outline-offset:3px}.showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.showcase-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.showcase-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#dce3e9}.showcase-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.showcase-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0c192bb3);pointer-events:none}.photo-tag{position:absolute;bottom:12px;left:12px;right:8px;z-index:1;color:#fff;font-size:9px;letter-spacing:.8px;font-weight:650}.showcase-card figcaption{padding:19px 17px 22px}.sector-label{display:block;min-height:28px;font-size:9px;line-height:1.5;letter-spacing:1px;font-weight:700;color:#796023}.showcase-card h3{font-size:17px;line-height:1.3;margin:9px 0}.showcase-card p{font-size:13px;line-height:1.65;color:#526477;margin:0;text-align:left}.showcase-note{font-size:11px;color:#617184;margin:12px 0 0;line-height:1.5}#chiffrage{scroll-margin-top:24px}@media(max-width:1000px){.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sector-label{min-height:0}}@media(max-width:600px){.showcase-heading{display:block}.showcase-link{margin-top:16px}.showcase-grid{grid-template-columns:1fr}.showcase-image{aspect-ratio:16/10}.showcase-card figcaption{padding:20px}.showcase-card h3{font-size:20px}.photo-tag{font-size:10px}}

/* Guide comparatif des matières */
.material-guide{padding:28px;margin-bottom:28px;scroll-margin-top:24px}.material-guide h2{font-size:clamp(22px,2.5vw,28px);line-height:1.25;letter-spacing:-.5px}.guide-intro{font-size:14px;color:#526477;line-height:1.7}.material-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.material-shortcuts p{margin:0;background:#edf2f6;border-left:3px solid var(--gold);padding:14px 16px}.material-shortcuts strong{display:block;font-size:18px}.material-shortcuts span{display:block;font-size:12px;color:#526477;margin-top:4px}.material-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.material-table-wrap:focus-visible{outline:2px solid #b78527;outline-offset:3px}.material-table{width:100%;min-width:850px;border-collapse:collapse;font-size:13px;line-height:1.6;text-align:left}.material-table caption{text-align:left;font-size:12px;padding:12px 16px;color:#526477;background:#f6f8fa}.material-table thead{background:#172536;color:#fff}.material-table th,.material-table td{padding:16px 14px;vertical-align:top;border-bottom:1px solid var(--line)}.material-table thead th{font-size:12px;font-weight:600}.material-table tbody th{width:17%;font-size:16px}.material-table td{width:20.75%}.material-table tbody tr:last-child>*{border-bottom:0}.material-status{display:block;font-size:10px;font-weight:500;line-height:1.5;margin-top:6px}.material-offered th{border-left:3px solid var(--gold)}.material-offered .material-status{color:#21634b}.material-reference{background:#f0f3f6;color:#536477}.guide-note{font-size:12px;color:#617184;line-height:1.65;margin:16px 0}.guide-help{font-size:13px;background:#fff7e6;padding:13px 16px;margin-bottom:0;border-radius:5px}.table-scroll-hint{font-size:12px;color:#617184;margin:8px 0}.material-help-link{font-size:12px;margin:-8px 0 18px}.material-help-link a{color:#395670;text-underline-offset:3px}@media(max-width:600px){.material-guide{padding:22px 16px}.material-shortcuts{grid-template-columns:1fr;gap:8px}.material-shortcuts p{padding:10px 14px}}

/* Quantitative engineering material comparison */
.engineering-data{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.engineering-data h3{font-size:21px;line-height:1.3;margin:0 0 12px}.engineering-intro,.data-key{font-size:13px;color:#526477;line-height:1.7}.data-key{padding:12px 15px;background:#fff7e6;border-left:3px solid var(--gold)}.numeric-material-table{min-width:820px;table-layout:fixed;font-variant-numeric:tabular-nums}.numeric-material-table th,.numeric-material-table td{padding:14px 12px}.numeric-material-table thead th{border-top:3px solid var(--gold);font-size:14px}.numeric-material-table thead th:first-child{width:24%;border-top-color:#172536}.numeric-material-table tbody th{width:auto;font-size:13px;background:#f6f8fa}.numeric-material-table td{width:auto;font-weight:650;font-size:15px}.numeric-material-table small{display:block;font-size:11px;line-height:1.5;font-weight:400;margin-top:5px}.numeric-material-table .reference-col{background:#edf1f5;color:#526477}.numeric-material-table thead .reference-col{background:#354658;color:#edf1f5;border-top-color:#7d8d9e}.engineering-notes p,.engineering-method p{font-size:12px;color:#526477;line-height:1.7}.engineering-decision{margin-top:18px;padding:17px 19px;background:#edf2f6;border-radius:5px;font-size:14px}.engineering-decision p{font-size:13px;line-height:1.7;margin:8px 0 0}.engineering-method{margin-top:18px}.engineering-method summary{color:#395670;padding:8px 0}.numeric-material-table tbody tr:hover td{background:#fff7e6}@media(max-width:600px){.engineering-data h3{font-size:19px}.engineering-decision{padding:14px}}

/* Annealing guide */
.annealing-guide{padding:28px;margin:0 0 26px;border-top:3px solid var(--gold)}.annealing-heading h2{font-size:clamp(22px,2.4vw,29px);line-height:1.25}.annealing-heading>p:last-child{font-size:14px;color:#526477;max-width:1000px;line-height:1.75}.annealing-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:25px;align-items:start;margin:23px 0}.annealing-visual{margin:0;min-width:0}.annealing-visual img{display:block;width:100%;height:auto;border-radius:6px}.annealing-visual figcaption{font-size:11px;line-height:1.6;color:#617184;margin-top:9px}.annealing-benefits h3,.annealing-materials h3{font-size:16px;margin:0 0 9px}.annealing-benefits p,.annealing-materials p{font-size:13px;color:#526477;line-height:1.7;text-align:justify;hyphens:auto}.annealing-distinction{padding:12px 14px;background:#edf2f6;border-radius:5px}.annealing-materials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.annealing-materials article{padding:19px;background:#f6f8fa;border:1px solid var(--line);border-radius:6px}.annealing-tag{display:inline-block;font-size:12px;letter-spacing:1px;font-weight:700;color:#73521a;border-bottom:2px solid var(--gold);padding-bottom:5px;margin-bottom:12px}.annealing-materials p{margin:0}.annealing-limits{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.annealing-limits ul{padding-left:20px;font-size:13px;color:#526477;line-height:1.7}.annealing-limits li{margin:9px 0}.annealing-service{font-size:13px;line-height:1.7;background:#fff7e6;padding:14px 17px;border-radius:5px;margin:20px 0 0}@media(max-width:820px){.annealing-layout{grid-template-columns:1fr}.annealing-materials{grid-template-columns:1fr}.annealing-guide{padding:22px 16px}.annealing-benefits p,.annealing-materials p{text-align:left}}
