:root{--ink:#171917;--paper:#f5f4ef;--gold:#c1a46c;--line:#d6d8cf;--muted:#656a61;--pad:7vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--gold);color:var(--ink);padding:15px}.skip:focus{top:10px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px var(--pad);background:#0d0f0d;border-bottom:1px solid #ffffff15;font-size:9px;letter-spacing:1.6px}.topbar a{font-size:11px;letter-spacing:1px;color:#dfca9f}header{height:104px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff14}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:63px;height:63px;object-fit:cover}.brand>span{display:block;font-size:28px;letter-spacing:5px;line-height:1;font-weight:500}.brand small{display:block;letter-spacing:4px;font-size:8px;margin-bottom:6px}.brand em{display:block;font-size:7px;letter-spacing:3px;font-style:normal;color:var(--gold);margin-top:8px}nav{display:flex;align-items:center;gap:25px;font-size:11px}nav a{padding:10px 0;position:relative}nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--gold);transition:width .2s}nav>a:hover:after{width:100%}.nav-cta{border:1px solid #c1a46c75;padding:15px 19px;color:#e5d3af}.nav-cta span{margin-left:20px}.nav-cta:hover{background:var(--gold);color:var(--ink)}.menu-button{display:none}.hero{min-height:680px;height:calc(100svh - 140px);max-height:960px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,14,13,.88),rgba(9,14,13,.67) 36%,rgba(9,14,13,.17) 75%),linear-gradient(0deg,rgba(9,14,13,.6),transparent 30%)}.hero-content{position:relative;padding:50px var(--pad) 90px;width:100%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:500;color:var(--gold);margin:0 0 28px;line-height:1.7}h1{font-size:clamp(54px,6.2vw,96px);font-weight:500;line-height:1.07;letter-spacing:-3.7px;margin:0 0 28px}h1 em{font-style:normal;color:#dbc290}.hero-content>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#e1e2da;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:35px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;border:1px solid var(--gold);background:var(--gold);color:#171b15;padding:19px 24px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s}.button span{font-size:23px;font-weight:400}.button:hover{background:#dfc795}.hero-link{font-size:11px;display:flex;align-items:center;gap:25px}.hero-link span{font-size:20px}.hero-bottom{position:absolute;bottom:0;left:var(--pad);right:var(--pad);border-top:1px solid #ffffff30;display:flex;align-items:center;justify-content:space-between;padding:25px 0;font-size:9px;letter-spacing:2px}.hero-bottom small{font-size:9px;letter-spacing:.5px;color:#c5c9c1}.expertise-band{padding:28px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #ffffff15;font-size:10px;letter-spacing:2px}.expertise-band i{width:4px;height:4px;background:var(--gold);transform:rotate(45deg)}section:not(.hero){padding:105px var(--pad)}.light{background:var(--paper);color:var(--ink)}.section-label{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:2px;margin-bottom:52px;color:#666e60}.section-label small{margin-left:auto;font-size:10px;color:#8d9485}.dot{display:inline-block;width:5px;height:5px;background:#a68b55}.dark .section-label,.approach .section-label{color:#c4c9bb}h2{font-size:clamp(35px,4.2vw,65px);font-weight:400;line-height:1.14;letter-spacing:-2.1px;margin:0}p{line-height:1.8}h3{font-weight:400;letter-spacing:-.8px}.about-main{display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.about-copy p{font-size:13px;color:var(--muted);margin:0 0 22px}.about-copy .lead{font-size:18px;line-height:1.7;color:#343a31}.underlink{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font-size:11px;padding:12px 0;border-bottom:1px solid #999f90}.underlink:hover{color:#a08248}.underlink span{font-size:20px}.about-bottom{display:grid;grid-template-columns:1.1fr 1fr auto;gap:35px;margin-top:58px;padding-top:25px;border-top:1px solid var(--line);align-items:center}.about-bottom>span{font-size:9px;letter-spacing:1.5px;color:#858d7a}.about-bottom p{font-size:12px;line-height:1.7;margin:0}.about-bottom a{font-size:11px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:52px}.section-title>p{font-size:12px;line-height:1.8;color:#b1b8aa;margin:0 0 5px}.light .section-title>p{color:var(--muted)}.expertise-list{border-top:1px solid #ffffff30}.expertise-list details{border-bottom:1px solid #ffffff30}.expertise-list summary{list-style:none;display:flex;gap:35px;align-items:center;padding:28px 0;cursor:pointer}.expertise-list summary::-webkit-details-marker{display:none}.count{font-size:10px;letter-spacing:1px;color:var(--gold);min-width:22px}.expertise-list h3{font-size:36px;margin:0}.plus{position:relative;margin-left:auto;width:20px;height:20px;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;background:var(--gold);top:9px;left:0;width:20px;height:1px}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.expertise-body{padding:0 0 36px 57px;display:grid;grid-template-columns:1fr .8fr;gap:15px 80px}.expertise-body p{font-size:13px;color:#bbc2b3;max-width:470px;margin:0}.expertise-body ul{padding:0;margin:0;list-style:none;font-size:11px;color:#d4d9ca;line-height:2.4}.expertise-body li:before{content:'—';color:var(--gold);margin-right:15px}.expertise-body .underlink{width:max-content;color:#dbc290;border-color:#666e5d}.sector-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.sector{border:1px solid var(--line)}.sector-art{background:#e8eae2;position:relative;padding:15px 0 30px;overflow:hidden}.commercial .sector-art{background:#dfe2d9}.sector-art svg{display:block;width:100%;height:auto;stroke:#a0a798;stroke-width:1;fill:none}.sector-art .accent{stroke:#ab8d50;stroke-width:2}.sector-art>span{position:absolute;bottom:20px;left:30px;font-size:9px;letter-spacing:2px;color:#717968}.sector-copy{padding:35px}.sector-copy .eyebrow{font-size:8px;color:#8e7545}.sector-copy h3{font-size:35px;margin:18px 0}.sector-copy p{font-size:13px;color:var(--muted);max-width:370px;margin-bottom:20px}.approach{background:#253027}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:13%}.approach-layout>div>p{max-width:355px;font-size:13px;color:#bfc8b8;margin:28px 0 35px}.button-outline{background:transparent;color:#e5d3ae}.button-outline:hover{color:var(--ink)}.steps{padding:0;margin:0;list-style:none}.steps li{display:flex;gap:25px;padding:24px 0;border-top:1px solid #ffffff25}.steps li:last-child{border-bottom:1px solid #ffffff25}.steps>li>span{font-size:10px;color:var(--gold);padding-top:7px}.steps h3{font-size:21px;margin:0 0 12px}.steps p{font-size:12px;color:#bdc6b6;margin:0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-intro h2{font-size:clamp(34px,3.6vw,54px)}.contact-intro .lead{font-size:17px;color:#333b2e;margin-top:30px}.contact-intro>p:not(.lead){font-size:12px;color:var(--muted)}.contact-info{margin-top:40px}.contact-info a{display:block;overflow-wrap:anywhere}.phone{font-size:29px;letter-spacing:-.7px}.phone span{font-size:22px;color:#9e8248;margin-left:15px}.email{font-size:12px;margin:18px 0 28px}.contact-info address{font-style:normal;font-size:12px;line-height:1.9;color:var(--muted)}label{font-size:10px;font-weight:500;color:#525b49;display:block;margin-bottom:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}input,select,textarea{display:block;width:100%;margin-top:10px;padding:13px 0;border:0;border-bottom:1px solid #aeb7a3;background:transparent;font-size:12px;color:var(--ink);border-radius:0}input::placeholder,textarea::placeholder{color:#8c9484}input:focus,select:focus,textarea:focus{outline:2px solid #aa8d55;outline-offset:4px}textarea{resize:vertical}select option{background:var(--paper)}form .button{width:100%}.privacy{font-size:10px;color:var(--muted);line-height:1.8;margin-top:18px}#result{background:#e3e8dc;padding:22px;font-size:12px;margin-top:25px}#result p{font-size:11px}.text-link{display:inline-block;border-bottom:1px solid #999f90;padding:10px 0;font-size:11px}.faq{padding-top:0!important;display:grid;grid-template-columns:1fr 1fr;gap:10%}.faq h2{font-size:29px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;padding:22px 0;font-size:12px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:17px;color:#aa8d55}.faq p{font-size:12px;color:var(--muted);margin:0 0 25px}footer{padding:55px var(--pad) 25px}.footer-main{display:flex;align-items:center;gap:45px;justify-content:space-between;padding-bottom:45px}.footer-main p{font-size:11px;color:#a7b09d;line-height:1.9}.footer-main>div>a{display:block;font-size:11px;margin:12px 0}.footer-bottom{border-top:1px solid #ffffff20;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#909b85}.footer-bottom small{font-size:9px}.footer-bottom a{color:#c8ceb9}
@media(min-width:1600px){:root{--pad:max(7vw,calc((100vw - 1420px)/2))}}@media(max-width:1100px){:root{--pad:5vw}nav{gap:17px;font-size:10px}.brand>span{font-size:24px}.brand img{width:53px;height:53px}.nav-cta{padding:13px}.nav-cta span{margin-left:12px}.hero{min-height:660px}.about-bottom{grid-template-columns:1fr 1fr}.about-bottom a{grid-column:2}.expertise-body{gap:20px 35px}.contact-layout{gap:6%}}@media(max-width:850px){header{height:90px}.menu-button{display:flex;align-items:center;gap:15px;border:1px solid #ffffff30;background:transparent;color:var(--paper);padding:12px 16px;font-size:11px;cursor:pointer}.menu-button span{font-size:17px}nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--ink);padding:20px var(--pad) 28px;border-bottom:1px solid #ffffff25;flex-direction:column;align-items:stretch;gap:8px;font-size:13px}nav.open{display:flex}nav a{padding:14px}nav .nav-cta{display:flex;justify-content:space-between;margin-top:8px}.hero{height:auto;min-height:700px}.hero-image{object-position:65% center}.hero-overlay{background:linear-gradient(90deg,#111a14dd,#111a1480),linear-gradient(0deg,#111a14aa,transparent 35%)}.hero-content{padding-top:65px}.hero-content h1{font-size:66px}.about-main,.approach-layout,.contact-layout{grid-template-columns:1fr;gap:40px}.about-copy{max-width:620px}.about-bottom{grid-template-columns:1fr 1fr auto}.about-bottom a{grid-column:auto}.section-title{align-items:start}.section-title p{max-width:190px}.expertise-band{gap:12px;font-size:8px;letter-spacing:1px}.expertise-list h3{font-size:31px}.contact-intro h2{font-size:46px}.contact-info{display:grid;grid-template-columns:1fr 1fr;margin-top:30px;gap:0 25px}.email{grid-column:1;grid-row:2}.contact-info address{grid-column:2;grid-row:1/3}.footer-main{flex-wrap:wrap;gap:25px}.footer-main p{margin-left:auto}.footer-main>div{flex-basis:100%}.faq{grid-template-columns:1fr;gap:30px}.sector-copy{padding:26px}.sector-copy h3{font-size:31px}}@media(max-width:560px){:root{--pad:6vw}.topbar{font-size:7px;letter-spacing:.6px;padding-top:10px;padding-bottom:10px}.topbar a{font-size:9px}.hero{min-height:650px}.hero-content{padding-top:50px;padding-bottom:100px}.hero-content h1{font-size:49px;letter-spacing:-2.3px}.hero-content .eyebrow{font-size:8px}.hero-content>p:not(.eyebrow){font-size:12px}.hero-actions{align-items:start;flex-direction:column;gap:25px}.button{padding:17px 20px;font-size:11px}.hero-bottom{padding:20px 0;gap:15px;align-items:start}.hero-bottom>span{max-width:180px;font-size:7px;line-height:1.8;letter-spacing:1.2px}.hero-bottom small{font-size:7px;max-width:110px;line-height:1.8}.expertise-band{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:8px}.expertise-band i{display:none}section:not(.hero){padding:65px var(--pad)}.section-label{margin-bottom:35px;font-size:8px}h2{font-size:35px;letter-spacing:-1.5px}.about-copy .lead{font-size:16px}.about-bottom{grid-template-columns:1fr;gap:18px;margin-top:35px}.section-title{flex-direction:column;gap:20px;margin-bottom:30px}.section-title>p{max-width:none}.section-title>p br{display:none}.expertise-list summary{gap:18px;padding:25px 0}.expertise-list h3{font-size:28px}.expertise-body{padding-left:0;grid-template-columns:1fr;gap:20px}.expertise-body p{font-size:12px}.sector-grid{grid-template-columns:1fr;gap:25px}.sector-copy h3{font-size:32px}.contact-intro h2{font-size:35px}.contact-info{display:block}.phone{font-size:28px}.email{margin:20px 0}.form-row{grid-template-columns:1fr;gap:0}.footer-main{align-items:start}.footer-main p{flex-basis:100%;margin:0}.footer-bottom{flex-wrap:wrap;gap:18px}.footer-bottom small{flex-basis:100%}.footer-bottom>a{margin-left:auto}.faq{padding-top:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Direction de présentation institutionnelle */
.hero-content h1{font-size:clamp(50px,6.4vw,98px);font-weight:600;line-height:1.04;letter-spacing:-3px}.hero-content>p:not(.eyebrow){max-width:620px}.sector-photo{position:relative;height:290px;overflow:hidden;background:#253027}.sector-photo img{height:100%;width:100%;display:block;object-fit:cover;transition:transform .5s}.sector:hover .sector-photo img{transform:scale(1.035)}.sector-photo small{position:absolute;bottom:12px;right:14px;background:#171917b3;color:#efeee5;padding:5px 8px;font-size:8px}.sector-copy h3{font-weight:600}.sectors{padding-bottom:70px!important}.about{border-top:1px solid var(--line)}.project-cta{background:#171917;text-align:center;border-top:1px solid #ffffff20}.project-cta h2{font-size:clamp(38px,5vw,76px);margin-bottom:35px}.project-cta .eyebrow{margin-bottom:25px}.sector-copy .underlink{width:100%}.contact-intro .lead{font-weight:600}@media(max-width:850px){.hero-content h1{font-size:64px}.sector-photo{height:230px}}@media(max-width:560px){.hero-content h1{font-size:43px;letter-spacing:-1.8px}.hero-actions{gap:25px}.hero-link{font-size:10px}.sector-photo{height:250px}.project-cta h2{font-size:38px}.hero-content>p:not(.eyebrow){font-size:12px;max-width:280px}.hero-content>p:not(.eyebrow) br{display:none}}

.required-note{font-size:10px;color:var(--muted);margin-top:15px}

/* Introduction : construction progressive de l’emblème NATCO. */
.brand-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#080908;pointer-events:none;animation:natco-intro-exit .7s cubic-bezier(.76,0,.24,1) 2.8s both}
.brand-intro-content{position:relative;width:min(400px,78vw);aspect-ratio:1;text-align:center}
.intro-symbol,.intro-final-logo{position:absolute;inset:0;width:100%;height:100%}
.intro-symbol{animation:natco-symbol-fade .4s ease 1.75s both}
.intro-stroke{stroke-width:13;stroke-dasharray:1;stroke-dashoffset:1;animation:natco-draw 1s cubic-bezier(.45,0,.2,1) both}
.intro-white{stroke:#f7f7f5;animation-delay:.1s}.intro-gold{stroke:#bca064;animation-delay:.3s}.intro-n{stroke:#f7f7f5;animation-delay:.55s}.intro-accent{stroke:#bca064;stroke-width:15;animation-delay:.8s;animation-duration:.65s}
.intro-final-logo{animation:natco-logo-resolve .65s ease 1.65s both;object-fit:contain}
.brand-intro-line{position:absolute;display:block;left:27%;bottom:15%;width:46%;height:1px;background:linear-gradient(90deg,transparent,#c4a86c,transparent);animation:natco-line-reveal .65s ease 1.95s both}
.intro-replay{background:transparent;border:0;padding:8px 0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
@keyframes natco-draw{to{stroke-dashoffset:0}}
@keyframes natco-symbol-fade{from{opacity:1}to{opacity:0}}
@keyframes natco-logo-resolve{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes natco-line-reveal{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes natco-intro-exit{from{opacity:1;transform:translateY(0);visibility:visible}to{opacity:0;transform:translateY(-100%);visibility:hidden}}
@media(prefers-reduced-motion:reduce){.brand-intro,.intro-replay{display:none}.brand-intro *{animation:none!important}}
@media print{.brand-intro,.intro-replay{display:none}}

.form-honey{display:none!important}.attachments{border:1px solid #17191726;margin:24px 0;padding:20px}.attachments legend{font-size:12px;padding:0 8px;font-weight:600}.attachments legend span{font-weight:400}.attachments input[type=file]{background:transparent;padding:12px 0;font-size:12px;max-width:100%}.attachments input::file-selector-button{background:var(--ink);color:var(--paper);border:0;padding:10px 12px;margin-right:12px;cursor:pointer}.attachments .text-link{background:transparent;border:0;padding:8px 0;font:inherit;font-size:12px;cursor:pointer}.attachments p{font-size:11px;line-height:1.6}.attachments [role=alert]{color:#9d2626;font-weight:600}.attachments [hidden]{display:none}.privacy a{text-decoration:underline}button:disabled{opacity:.65;cursor:wait}.thanks-main{min-height:70vh;display:grid;place-items:center;padding:70px var(--pad)}.thanks-content{max-width:650px}.thanks-content h1{font-size:clamp(38px,7vw,72px);line-height:1.1;margin:24px 0}.thanks-content p{line-height:1.8}.thanks-content .button{margin:25px 0}.thanks-contact{margin-top:20px;font-size:13px}.thanks-contact a{text-decoration:underline}
