
/* GRAPNER SA / SIGNATURE BLEU ACIER — MAQUETTE V5
   Typographie industrielle, photographie éditoriale, micro-interactions. */
:root{--bg:#101a26;--panel:#162330;--panel2:#1b2b38;--blue:#a9d0eb;--button:#a5cbe3;--ink:#f5f7f9;--muted:#b6c6d4;--line:rgba(203,226,242,.17);--v5-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:90px}
body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
::selection{background:#b4d9ed;color:#0d2535}
.header{background:rgba(12,22,33,.9)!important;box-shadow:0 8px 36px rgba(1,8,16,.14);border-bottom:1px solid rgba(183,216,239,.14)}
.wordmark{letter-spacing:.04em}
.desktop-nav a{font-weight:500}
.button.blue{background:#a7cce4;color:#122737}
.button.blue:hover{background:#d0e8f6;color:#102434;box-shadow:0 10px 28px #061a2a8a}
.hero{min-height:770px;background:#0a1723}
.hero-image{inset:0 0 0 28%}
.hero-image>img{object-position:50% 48%;filter:saturate(.69) contrast(1.09) brightness(.88);opacity:1;animation:v5-hero-cinema 21s ease-in-out infinite alternate!important}
.photo-shade{background:linear-gradient(90deg,#0c1927 0%,#0c1927ef 12%,#0c1927d9 30%,#0c192759 65%,#0c192722 100%),linear-gradient(0deg,#0c1927 0%,transparent 24%,transparent 67%,#0c19275e 100%)}
.hero-grid{opacity:.42}
.hero h1{letter-spacing:-.065em}
.hero h1 em{background:linear-gradient(90deg,#d5e7f3,#8ab7d5,#d9edf8);background-size:210% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-content{z-index:3}
.hero-location{color:#b4d0e5}
.hero-bottom p{color:#d1dce6}
.hero-meta{background:linear-gradient(90deg,#0c192733,transparent)}
.hero-coordinate{color:#b8cada}
.capabilities{background:#142333;border-color:#284052}
.capability-row a{font-weight:500}
.section.expertise{background:radial-gradient(ellipse 64% 45% at 100% 0,rgba(87,138,179,.085),transparent),#0d1824}
.section-heading h2,.materials-v5-intro h2{letter-spacing:-.057em}
.section-heading .section-description{color:#a9bfce}
#prestations .service-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
#prestations .service-grid .cinema-card{min-width:0;min-height:365px;grid-column:span 4;background:#142435}
#prestations .service-grid .cinema-card:first-child{grid-column:span 6;min-height:430px}
#prestations .service-grid .cinema-card:nth-child(2),#prestations .service-grid .cinema-card:nth-child(3){grid-column:span 3;min-height:430px}
#prestations .cinema-card .service-film img{filter:saturate(.74) contrast(1.1);opacity:1}
#prestations .cinema-card .service-shade{background:linear-gradient(0deg,#091726 0%,#0d2330df 20%,#11253645 62%,#0716258a 100%),linear-gradient(90deg,#10243753,transparent)}
#prestations .cinema-card .service-copy strong{letter-spacing:-.048em;font-weight:530;color:#f9fbff}
#prestations .cinema-card .service-copy>span{color:#d2dfec}
#prestations .cinema-card .service-top .tiny{background:#081727a8;border-color:#d5e7f449}
#prestations .cinema-card:focus-visible{outline-color:#c4e6fa}
#prestations .cinema-card:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(185,225,254,.06) 50%,transparent 70%);opacity:0;transform:translateX(-15%);transition:opacity .65s ease,transform 1.3s var(--v5-ease);pointer-events:none}
#prestations .cinema-card:hover:before{opacity:1;transform:translateX(15%)}
#prestations .cinema-card .service-bottom-line{background:linear-gradient(90deg,#84b3d1,#edfaff)}
#prestations .cinema-card:nth-child(1) .service-copy strong{font-size:36px}
#prestations .cinema-card:nth-child(1) .service-discover{letter-spacing:.065em}
#prestations .cinema-card:nth-child(1) .service-copy>span{max-width:390px}
.services-controlbar{padding-top:7px}
.services-motion{background:rgba(154,195,225,.07);color:#d2e5f2}
#prestations .cinema-card .service-film img{object-position:center center}
#prestations .cinema-card[data-service=laser] .service-film img{object-position:52% 43%}
#prestations .cinema-card[data-service=usinage] .service-film img{object-position:44% 50%}
#prestations .cinema-card[data-service=plasma] .service-film img{object-position:60% 52%}
#prestations .cinema-card[data-service=acier] .service-film img{object-position:53% 47%}
#prestations .cinema-card[data-service=soudure] .service-film img{object-position:48% 50%}
#prestations .cinema-card[data-service=equipements] .service-film img{object-position:53% 56%}
.company{background:#0e1926}
.project{background:#172836}
.materials{background:linear-gradient(143deg,#132537 0%,#162533 53%,#0e1d2b 100%);padding:115px 0 112px;border-color:rgba(173,212,239,.13)}
.materials .section-index{display:flex;align-items:center;gap:18px}
.materials .section-index .tiny:last-child{margin-left:auto}
.materials-v5-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:70px;margin:52px 0 45px}
.materials-v5-intro h2{font-size:clamp(55px,6.4vw,102px);line-height:.99;font-weight:500;letter-spacing:-.066em;color:#f4f8fb}
.materials-v5-intro h2 em{font-style:normal;color:#aecde4}
.materials-v5-intro>p{max-width:400px;font-size:15px;line-height:1.85;color:#aec3d4;padding-bottom:7px}
.mv5-eyebrow{font:10px/1.5 var(--mono);color:#b1d0e5;letter-spacing:.11em;display:flex;align-items:center;gap:10px;margin-bottom:25px}
.mv5-eyebrow i{width:7px;height:7px;border-radius:50%;background:#b2d8f2;box-shadow:0 0 12px #9bcff477;animation:v5-pulse 3.5s infinite}
.materials-v5-grid{display:grid;grid-template-columns:minmax(300px,.77fr) minmax(0,1.23fr);gap:22px}
.materials-v5-nav{display:flex;flex-direction:column;min-height:605px;border:1px solid #b6cee53b;background:#0c1b28bd;border-radius:4px;overflow:hidden}
.mv5-nav-head{display:flex;justify-content:space-between;padding:27px 25px 22px;font:10px var(--mono);letter-spacing:.1em;color:#acc4d8}
.materials-v5-nav .material-tabs{display:flex;flex-direction:column;gap:0;margin:0;border:0}
.materials-v5-nav .material-tabs button{position:relative;display:flex;align-items:center;gap:19px;min-height:82px;width:100%;padding:14px 25px!important;border:0;border-top:1px solid #b7d2e92b;box-shadow:none;background:transparent;color:#aebed0;transition:background .4s,border-color .4s,color .3s;padding-left .4s var(--v5-ease)}
.materials-v5-nav .material-tabs button:last-child{border-bottom:1px solid #b7d2e92b}
.materials-v5-nav .material-tabs button[aria-selected=true]{background:linear-gradient(90deg,#85b8dc26,#7b9fbd08);color:#f8fcff}
.materials-v5-nav .material-tabs button[aria-selected=true]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#b2daf4}
.materials-v5-nav .material-tabs button:hover{background:#90bad421}
.mv5-number{font:10px var(--mono);color:#7697ad!important;min-width:23px}
.material-tabs button[aria-selected=true] .mv5-number{color:#b8d7ec!important}
.mv5-name{font-size:17px;letter-spacing:-.025em;line-height:1.18;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:6px}
.mv5-name small{font-size:10px;font-weight:400;color:#92a8b8;letter-spacing:.02em}
.mv5-arrow{font-size:19px!important;color:#7d9bb1;transform:translate(-3px,3px);transition:transform .45s var(--v5-ease),color .3s}
.material-tabs button[aria-selected=true] .mv5-arrow,.material-tabs button:hover .mv5-arrow{transform:translate(1px,-1px);color:#c6e4f7}
.mv5-nav-foot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:23px 25px;font:9px/1.6 var(--mono);letter-spacing:.045em;color:#7f9aaa}
.mv5-nav-foot a{display:flex;align-items:center;gap:18px;color:#d2e8f7;font:12px/1.5 Arial,Helvetica,sans-serif}
.mv5-nav-foot a span{font-size:18px;transition:transform .35s}
.mv5-nav-foot a:hover span{transform:translate(3px,-3px)}
.materials .material-display{position:relative;min-height:605px;isolation:isolate;border:1px solid #c2def250;border-radius:4px;overflow:hidden;background:#132330;box-shadow:0 20px 55px #04111d33}
.mv5-photo-stage{position:absolute;inset:0;overflow:hidden;z-index:0}
.mv5-photo-stage img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 50%;max-width:none;filter:contrast(1.12) saturate(.78);animation:v5-material-photo 17s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
.mv5-photo-stage img#material-photo-next{opacity:0;transform:scale(1.09);animation:none;transition:opacity .85s ease,transform 2s var(--v5-ease)}
.mv5-photo-stage img#material-photo-next.is-visible{opacity:1;transform:scale(1.02)}
.mv5-photo-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#0b1b2a99 0,transparent 33%,#0b1a2d10 50%,#081723dc 73%,#081723fb 100%),linear-gradient(90deg,#0f213255,transparent)}
.mv5-grid-lines{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,transparent calc(100% - 1px),#e2eef618 1px);background-size:25% 100%;opacity:.55}
.materials .material-display-top{z-index:3;position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;gap:15px;padding:25px 28px;color:#e8f3fa;font:9px/1.4 var(--mono);letter-spacing:.1em}
.materials .mv5-photo-tag{display:flex;align-items:center;gap:8px;opacity:.74;font-size:9px}
.mv5-photo-tag i{width:5px;height:5px;background:#c8e2f0;border-radius:50%}
.materials .material-details{position:absolute;z-index:3;left:0;right:0;bottom:60px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:20px 30px 18px;background:transparent;border:0}
.materials .material-details>div{max-width:540px}
.materials .material-details .tiny{font:9px var(--mono);color:#b5d6e9;letter-spacing:.14em}
.materials .material-details h3{font-size:clamp(34px,4vw,54px);line-height:1.01;letter-spacing:-.055em;color:#f5f9fc;margin:15px 0 12px;font-weight:500}
.materials .material-details p{max-width:450px;font-size:13px;line-height:1.7;color:#cad9e6}
.materials .circle-button{flex-shrink:0;border-color:#b7d9ed7a;color:#c9e8f8;background:#b6d9e21f;width:54px;height:54px}
.materials .circle-button:hover{transform:rotate(45deg);background:#b9d9ed;color:#0e2435}
.mv5-bottom{position:absolute;inset:auto 0 0;z-index:4;display:flex;align-items:center;gap:18px;height:60px;padding:0 24px;border-top:1px solid #d4e8f02c;background:#071625ac;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.mv5-counter{font:10px var(--mono);letter-spacing:.12em;white-space:nowrap;color:#b9d9ec}
.mv5-progress{height:1px;flex:1;background:#d3e9f32f;overflow:hidden}
.mv5-progress span{display:block;width:20%;height:100%;background:#b2d6ed;transition:width .85s var(--v5-ease)}
.mv5-arrows{display:flex;align-items:center;gap:7px}
.mv5-arrows button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #b5d4e845;border-radius:2px;font-size:18px;color:#d7ebf7;background:#dceafa0a;transition:background .4s,transform .4s var(--v5-ease)}
.mv5-arrows button:hover{background:#cbe5fa24;transform:translateY(-2px)}
.mv5-material-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #c0d8eb28;margin-top:33px;padding-top:18px;color:#7f9aaf;font:9px var(--mono);letter-spacing:.09em}
.materials .reveal.waiting{transition-duration:.85s}
.company .value-grid>div{transition:border-color .45s ease,transform .58s var(--v5-ease)}
.company .value-grid>div:hover{transform:translateY(-5px);border-color:#a7ccdf7a}
.faq-section{background:#111e2b}
.faq-section details[open]{border-color:#aacde56e}
.project .button.blue:hover{box-shadow:0 12px 28px #04121f66}
.footer{background:#0d1925}
@keyframes v5-hero-cinema{from{transform:scale(1.004) translateX(0)}to{transform:scale(1.055) translateX(-.5%)}}
@keyframes v5-material-photo{from{transform:scale(1.035) translateX(-.5%)}to{transform:scale(1.10) translateX(1%)}}
@keyframes v5-pulse{0%,100%{box-shadow:0 0 0 0 #a3d4ee60}55%{box-shadow:0 0 0 8px #a3d4ee00}}
@media (max-width:1200px){.materials-v5-grid{grid-template-columns:minmax(280px,.83fr) minmax(0,1.17fr)}.materials .material-display{min-height:570px}.materials-v5-nav{min-height:570px}.materials-v5-nav .material-tabs button{min-height:77px}}
@media (max-width:1000px){#prestations .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#prestations .service-grid .cinema-card,#prestations .service-grid .cinema-card:first-child,#prestations .service-grid .cinema-card:nth-child(2),#prestations .service-grid .cinema-card:nth-child(3){grid-column:span 1;min-height:350px}#prestations .cinema-card:nth-child(1) .service-copy strong{font-size:29px}.materials-v5-grid{grid-template-columns:1fr;gap:18px}.materials-v5-nav{min-height:0}.materials-v5-nav .material-tabs{display:grid;grid-template-columns:1fr 1fr}.materials-v5-nav .material-tabs button{min-height:75px}.materials .material-display{min-height:560px}}
@media (max-width:760px){
.header{backdrop-filter:blur(16px)}
.hero{min-height:0;background:#0b1825}
.hero-image{inset:0}
.hero-image>img{object-position:52% center;opacity:.79}
.photo-shade{background:linear-gradient(0deg,#0c1927 0%,#0c1927d9 24%,#0c19276a 65%,#0c192782),linear-gradient(90deg,#0c19278c,transparent 85%)}
.hero-grid{opacity:.2}
#prestations .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#prestations .service-grid .cinema-card,#prestations .service-grid .cinema-card:first-child,#prestations .service-grid .cinema-card:nth-child(2),#prestations .service-grid .cinema-card:nth-child(3){min-height:335px;grid-column:span 1}
#prestations .cinema-card:nth-child(1) .service-copy strong{font-size:22px}
.materials{padding:66px 0 72px}
.materials .section-index .tiny:last-child{font-size:7px}
.materials-v5-intro{display:block;margin:34px 0 30px}
.materials-v5-intro h2{font-size:clamp(42px,12vw,72px);line-height:1.01}
.materials-v5-intro p{margin-top:22px;font-size:13px;line-height:1.8;padding:0}
.mv5-eyebrow{font-size:8px;margin-bottom:17px}
.materials-v5-grid{gap:12px}
.mv5-nav-head{padding:20px 17px 13px;font-size:8px}
.materials-v5-nav .material-tabs button{min-height:77px;padding:12px 14px!important;gap:10px}
.mv5-number{font-size:9px;min-width:15px}
.mv5-name{font-size:12px;gap:6px}
.mv5-name small{font-size:9px;line-height:1.12}
.mv5-arrow{font-size:16px!important}
.mv5-nav-foot{padding:17px;font-size:8px;gap:8px}
.mv5-nav-foot a{font-size:11px}
.materials .material-display{min-height:470px}
.materials .material-display-top{padding:17px;font-size:8px}
.materials .mv5-photo-tag{font-size:7px}
.materials .material-details{padding:15px 18px;bottom:58px;gap:10px}
.materials .material-details h3{font-size:33px;margin:12px 0 10px}
.materials .material-details p{font-size:11px;line-height:1.58;max-width:265px}
.materials .material-details .tiny{font-size:8px}
.materials .circle-button{width:41px;height:41px}
.mv5-bottom{height:58px;padding:0 16px;gap:12px}
.mv5-counter{font-size:9px}
.mv5-arrows button{width:34px;height:34px}
.mv5-material-footer{font-size:8px;gap:10px 22px}
}
@media (max-width:385px){.mv5-name{font-size:11px}.materials-v5-nav .material-tabs button{padding:10px!important;gap:7px}#prestations .service-grid .cinema-card{min-height:340px}.materials .material-details h3{font-size:30px}}
@media (prefers-reduced-motion:reduce){.hero-image>img,.mv5-photo-stage img,.mv5-eyebrow i{animation:none!important}.mv5-photo-stage img#material-photo-next{transition:none!important}.mv5-progress span{transition:none}}
@media print{.materials{background:#fff!important}.mv5-photo-stage,.mv5-photo-shade,.mv5-grid-lines{display:none!important}.materials .material-details{position:relative}.materials .material-details h3,.materials .material-details p{color:#111}}
