:root{--ink:#101316;--char:#171b1f;--steel:#a8afb5;--paper:#f4f3ef;--white:#fff;--accent:#d9662b;--line:rgba(16,19,22,.14);--shadow:0 24px 60px rgba(12,17,22,.14);--shell:1240px;--content:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper)}body,.ast-separate-container{background:var(--paper)!important}.fein-shell{width:min(var(--shell),calc(100% - 48px));margin:auto}.fein-section{padding:112px 0;opacity:0;transform:translateY(18px);transition:.65s ease}.fein-section.is-in,.fein-cta.is-in{opacity:1;transform:none}.fein-kicker{font-size:12px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#61686f;margin-bottom:22px}.fein-kicker:before{content:"";display:inline-block;width:18px;height:2px;background:var(--accent);vertical-align:middle;margin-right:10px}.fein-header{position:sticky;top:0;z-index:1000;background:rgba(244,243,239,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(16,19,22,.08)}.fein-nav{height:82px;display:flex;align-items:center;gap:34px}.fein-brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);min-width:180px}.fein-brand span{font:800 30px/1 Manrope,sans-serif;letter-spacing:-.06em}.fein-brand small{font-size:9px;letter-spacing:.14em;font-weight:700}.fein-brand .custom-logo{max-height:48px;width:auto}.fein-menu{margin-left:auto}.fein-menu ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}.fein-menu a{text-decoration:none;color:var(--ink);font-size:13px;font-weight:700}.fein-header-actions{display:flex;align-items:center;gap:16px}.fein-phone{text-decoration:none;color:var(--ink);font-weight:700;font-size:13px}.fein-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:2px;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;transition:.25s}.fein-btn-dark{background:var(--ink);color:#fff}.fein-btn-dark:hover{background:#272d31;color:#fff;transform:translateY(-2px)}.fein-btn-line{border:1px solid var(--ink);color:var(--ink);background:transparent}.fein-btn-light{background:#fff;color:var(--ink)}.fein-btn-wa{background:#21c45a;color:#fff}.fein-menu-toggle{display:none;border:0;background:none;width:46px;height:46px;padding:10px}.fein-menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}.fein-hero{padding:70px 0 80px;overflow:hidden}.fein-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}.fein-hero h1,.fein-section h2,.fein-cta h2,.fein-page-hero h1{font-family:Manrope,sans-serif;letter-spacing:-.055em}.fein-hero h1{font-size:clamp(58px,7vw,108px);line-height:.88;margin:0 0 28px;max-width:660px}.fein-hero h1 em{font-style:normal;color:var(--accent)}.fein-hero p{font-size:18px;line-height:1.65;color:#4d555c;max-width:610px}.fein-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.fein-tags{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.fein-tags span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;padding-right:14px;border-right:1px solid var(--line)}.fein-hero-art{position:relative;min-height:650px}.fein-hero-art>img{position:absolute;inset:0 4% 0 8%;width:88%;height:100%;object-fit:cover;clip-path:polygon(14% 0,100% 0,90% 100%,0 100%);filter:saturate(.92) contrast(1.03);box-shadow:var(--shadow)}.fein-metal-plate{position:absolute;inset:24px 0 -20px 2%;background:#262b30;clip-path:polygon(18% 0,100% 4%,86% 100%,0 96%)}.fein-mini-detail{position:absolute;right:0;bottom:44px;width:220px;height:170px;background:#fff;padding:8px;box-shadow:0 24px 50px rgba(0,0,0,.28)}.fein-mini-detail img{width:100%;height:100%;object-fit:cover}.fein-index{position:absolute;right:0;top:20px;font:700 70px/1 Manrope;color:rgba(16,19,22,.16)}.fein-intro{background:#fff}.fein-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}.fein-photo-stack{position:relative;min-height:560px}.fein-photo-main{width:82%;height:520px;object-fit:cover;border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow)}.fein-photo-small{position:absolute;right:0;bottom:-10px;width:44%;height:250px;object-fit:cover;border:8px solid #fff;box-shadow:0 22px 50px rgba(0,0,0,.17)}.fein-intro h2,.fein-services h2,.fein-work h2,.fein-process h2,.fein-materials h2{font-size:clamp(42px,5vw,72px);line-height:.97;margin:0 0 26px}.fein-intro p,.fein-materials p{font-size:17px;line-height:1.8;color:#596168}.fein-text-link{color:var(--ink);font-weight:800;text-decoration:none}.fein-services{background:var(--char);color:#fff}.fein-services .fein-kicker,.fein-services .fein-section-head p{color:#aeb6bd}.fein-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.fein-section-head p{max-width:260px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;line-height:1.6}.fein-service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.fein-service-card{position:relative;height:360px;overflow:hidden;background:#222}.fein-service-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:saturate(.8) contrast(1.08)}.fein-service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(8,10,12,.88) 100%)}.fein-service-card:hover img{transform:scale(1.035)}.fein-service-overlay{position:absolute;inset:auto 18px 18px;z-index:2}.fein-service-overlay span{color:var(--accent);font:700 20px Manrope}.fein-service-overlay h3{font:700 16px/1.2 Manrope;margin:8px 0 12px}.fein-service-overlay b{font-size:20px}.fein-work{background:#fff}.fein-masonry{display:grid;grid-template-columns:1.25fr .8fr .8fr;grid-auto-rows:220px;gap:12px}.fein-masonry figure{margin:0;position:relative;overflow:hidden;background:#ddd}.fein-masonry img{width:100%;height:100%;object-fit:cover;transition:.45s}.fein-masonry figure:hover img{transform:scale(1.025)}.fein-masonry figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-size:12px;font-weight:800;background:rgba(0,0,0,.55);padding:8px 10px;backdrop-filter:blur(8px)}.fein-masonry .g1{grid-row:span 2}.fein-masonry .g4{grid-column:span 2}.fein-process{background:#eceae4}.fein-process-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border-top:1px solid #b9bdc0}.fein-process-row>div{padding:32px 26px 10px;border-right:1px solid #c7c9ca}.fein-process-row span{font:600 48px Manrope;color:#adb1b3}.fein-process-row h3{font:800 18px Manrope;margin:18px 0 8px}.fein-process-row p{font-size:13px;color:#636a70}.fein-materials{background:#f7f6f2}.fein-material-grid{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:18px;align-items:stretch}.fein-material-card{position:relative;min-height:480px;overflow:hidden;box-shadow:0 18px 45px rgba(17,22,26,.12)}.fein-material-card img{width:100%;height:100%;object-fit:cover}.fein-material-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(10,12,14,.78) 100%)}.fein-material-card>div{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;color:#fff}.fein-material-card h3{font:800 28px Manrope;margin:0 0 8px}.fein-material-card span{font-size:11px;text-transform:uppercase;letter-spacing:.11em}.fein-cta{position:relative;min-height:520px;opacity:0;transform:translateY(18px);transition:.65s}.fein-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fein-cta-overlay{position:relative;min-height:520px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(8,12,16,.92),rgba(8,12,16,.55) 55%,rgba(8,12,16,.08));color:#fff}.fein-cta .fein-shell{width:min(1080px,calc(100% - 48px))}.fein-cta h2{font-size:clamp(50px,6vw,86px);line-height:.95;margin:0 0 20px}.fein-cta p{font-size:17px;max-width:560px;color:#d7dde1}.fein-footer{background:#0c0f12;color:#c9d0d5;padding:64px 0 20px}.fein-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.fein-wordmark{font:800 36px Manrope;color:#fff;letter-spacing:-.05em}.fein-wordmark small{display:block;font:700 9px Inter;letter-spacing:.16em}.fein-footer h4{color:#fff;font:800 12px Inter;text-transform:uppercase;letter-spacing:.13em}.fein-footer a{display:block;color:#c9d0d5;text-decoration:none;margin:8px 0;font-size:13px}.fein-footer-bottom{width:min(var(--shell),calc(100% - 48px));margin:45px auto 0;padding-top:18px;border-top:1px solid #272d31;display:flex;justify-content:space-between;font-size:11px}.fein-footer-bottom a{display:inline}.fein-wa-float{position:fixed;right:18px;bottom:20px;z-index:1100;display:flex;align-items:center;gap:8px;background:#21c45a;color:#fff;text-decoration:none;padding:10px 14px;border-radius:999px;box-shadow:0 16px 36px rgba(33,196,90,.28);font-size:12px}.fein-wa-float span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);font-weight:900}.fein-page-hero{padding:90px 0 56px;background:#eae8e2;border-bottom:1px solid #d4d1c9}.fein-page-hero h1{font-size:clamp(52px,7vw,90px);line-height:.95;margin:0}.fein-prose{width:min(900px,calc(100% - 48px));font-size:17px;line-height:1.8}.fein-prose h2{font:800 42px/1 Manrope}.fein-contact-form{background:#fff;padding:32px;border:1px solid #dedbd2;box-shadow:0 18px 45px rgba(16,19,22,.08)}.fein-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fein-contact-form label{display:block;font-size:13px;font-weight:700;margin-bottom:18px}.fein-contact-form input,.fein-contact-form select,.fein-contact-form textarea{width:100%;margin-top:8px;border:1px solid #c9c9c3;background:#f8f7f4;padding:14px;font:inherit}.fein-consent{font-weight:500!important}.fein-consent input{width:auto;margin-right:8px}.fein-hp{position:absolute;left:-9999px}.fein-form-note{font-size:12px;color:#915f21;background:#fff4db;padding:10px}.g-recaptcha{margin:18px 0}
@media(max-width:1100px){.fein-service-grid{grid-template-columns:repeat(3,1fr)}.fein-service-card{height:300px}.fein-hero-grid{grid-template-columns:1fr}.fein-hero-art{min-height:560px}.fein-material-grid{grid-template-columns:1fr 1fr}.fein-material-grid>div:first-child{grid-column:1/-1}.fein-intro-grid{gap:50px}.fein-menu{display:none}.fein-menu-toggle{display:block}.fein-header-cta,.fein-phone{display:none}.fein-menu-open .fein-menu{display:block;position:absolute;top:82px;left:0;right:0;background:#f4f3ef;padding:20px 24px;border-bottom:1px solid #ccc}.fein-menu-open .fein-menu ul{display:grid;gap:14px}.fein-masonry{grid-template-columns:1fr 1fr}.fein-masonry .g4{grid-column:span 1}.fein-process-row{grid-template-columns:1fr 1fr}.fein-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.fein-shell{width:min(100% - 28px,var(--shell))}.fein-section{padding:76px 0}.fein-hero{padding:46px 0}.fein-hero h1{font-size:58px}.fein-hero-art{min-height:430px}.fein-mini-detail{width:150px;height:120px}.fein-intro-grid{grid-template-columns:1fr}.fein-photo-stack{min-height:440px}.fein-photo-main{height:400px}.fein-photo-small{width:48%;height:190px}.fein-service-grid{grid-template-columns:1fr 1fr}.fein-service-card{height:260px}.fein-section-head{display:block}.fein-masonry{grid-template-columns:1fr;grid-auto-rows:240px}.fein-masonry .g1{grid-row:span 1}.fein-process-row{grid-template-columns:1fr}.fein-process-row>div{border-bottom:1px solid #c7c9ca}.fein-material-grid{grid-template-columns:1fr}.fein-material-grid>div:first-child{grid-column:auto}.fein-material-card{min-height:390px}.fein-footer-grid{grid-template-columns:1fr}.fein-footer-bottom{display:block}.fein-form-grid{grid-template-columns:1fr}.fein-wa-float b{display:none}}

/* FE.IN. v0.2 — gallery, sectors and richer internal pages */
.fein-page-lead{font-size:20px;line-height:1.65;max-width:820px;color:#4f575d;margin:0 0 52px}.fein-prose:has(.fein-gallery-app),.fein-prose:has(.fein-capabilities){width:min(var(--shell),calc(100% - 48px));max-width:none}.fein-gallery-app{margin-top:10px}.fein-gallery-intro{display:grid;grid-template-columns:1.05fr .8fr;gap:70px;align-items:end;margin-bottom:38px}.fein-gallery-intro h2,.fein-capabilities h2{font:800 clamp(40px,5vw,68px)/.98 Manrope,sans-serif;letter-spacing:-.05em;margin:0}.fein-gallery-intro p{font-size:16px;line-height:1.75;color:#5c646a;margin:0}.fein-gallery-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 34px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fein-gallery-filter{appearance:none;border:1px solid #cfd1cf;background:transparent;color:var(--ink);padding:10px 14px;border-radius:999px;font:700 11px Inter,sans-serif;letter-spacing:.045em;cursor:pointer;transition:.2s}.fein-gallery-filter:hover,.fein-gallery-filter.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.fein-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:235px;gap:12px}.fein-gallery-item{margin:0;min-width:0;overflow:hidden;background:#d9d9d5;border:1px solid rgba(16,19,22,.12);box-shadow:0 16px 36px rgba(10,15,20,.08);transition:.3s}.fein-gallery-item.is-featured{grid-column:span 2;grid-row:span 2}.fein-gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;position:relative;cursor:zoom-in}.fein-gallery-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}.fein-gallery-open:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 47%,rgba(8,11,14,.78) 100%);opacity:.88;transition:.3s}.fein-gallery-caption{position:absolute;z-index:2;left:18px;right:18px;bottom:15px;text-align:left;color:#fff}.fein-gallery-caption b{display:block;font:800 15px/1.2 Manrope,sans-serif}.fein-gallery-caption i{display:block;font-style:normal;font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-top:5px;color:#d8dee2}.fein-gallery-item:hover{transform:translateY(-2px);box-shadow:0 24px 50px rgba(10,15,20,.14)}.fein-gallery-item:hover img{transform:scale(1.028);filter:contrast(1.03)}.fein-gallery-empty{padding:28px;border:1px dashed #c6c7c4;text-align:center}.fein-lightbox[hidden]{display:none!important}.fein-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(5,7,9,.94);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:30px}.fein-lightbox-stage{height:min(82vh,850px);display:flex;align-items:center;justify-content:center;position:relative}.fein-lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 28px 80px rgba(0,0,0,.45)}.fein-lightbox-title{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:rgba(12,15,18,.72);backdrop-filter:blur(10px);color:#fff;padding:10px 15px;font:700 12px Inter;white-space:nowrap}.fein-lightbox-close,.fein-lightbox-prev,.fein-lightbox-next{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;width:50px;height:50px;border-radius:50%;font-size:23px;cursor:pointer}.fein-lightbox-close{position:absolute;right:26px;top:24px;z-index:2}.fein-lightbox-open{overflow:hidden}.fein-home-sectors{background:#fff}.fein-sector-home-grid,.fein-sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fein-sector-home-grid article,.fein-sector-grid article{position:relative;padding:34px 30px 36px;background:#f2f1ed;border-top:2px solid var(--accent);min-height:260px;overflow:hidden}.fein-sector-home-grid span,.fein-sector-grid span{font:700 50px/1 Manrope;color:#b4b7b6}.fein-sector-home-grid h3,.fein-sector-grid h3{font:800 25px/1.05 Manrope;margin:34px 0 14px}.fein-sector-home-grid p,.fein-sector-grid p{font-size:14px;line-height:1.7;color:#5a6268}.fein-capabilities{display:grid;gap:84px}.fein-cap-lead{max-width:940px}.fein-cap-lead>p{font-size:19px;line-height:1.7;color:#565e64;max-width:790px}.fein-cap-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.fein-cap-photo{position:relative}.fein-cap-photo:before{content:"";position:absolute;inset:18px -18px -18px 18px;background:#262b30;z-index:0}.fein-cap-photo img{position:relative;z-index:1;width:100%;height:590px;object-fit:cover;border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow)}.fein-cap-copy p{font-size:16px;line-height:1.8;color:#555e64}.fein-cap-copy ul{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--line)}.fein-cap-copy li{padding:13px 0;border-bottom:1px solid var(--line);font-weight:700}.fein-cap-materials{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fein-cap-materials>div{background:var(--char);color:#fff;padding:44px;min-height:300px}.fein-cap-materials span{display:inline-block;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.15em}.fein-cap-materials h3{font:800 31px/1.05 Manrope;margin:60px 0 14px}.fein-cap-materials p{font-size:14px;line-height:1.75;color:#b9c0c5}.fein-cap-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px;background:#e8e6df;border-left:3px solid var(--accent)}.fein-cap-cta h2{font-size:42px!important;margin:0 0 10px!important}.fein-cap-cta p{margin:0;color:#555d63}.fein-prose h3{font:800 28px/1.1 Manrope;margin-top:36px}.fein-prose>p{max-width:840px}.fein-contact-form{margin-top:34px}
@media(max-width:1000px){.fein-gallery-grid{grid-template-columns:repeat(3,1fr)}.fein-gallery-item.is-featured{grid-column:span 2}.fein-sector-home-grid,.fein-sector-grid{grid-template-columns:1fr 1fr}.fein-cap-split{gap:40px}.fein-cap-photo img{height:500px}}
@media(max-width:700px){.fein-prose:has(.fein-gallery-app),.fein-prose:has(.fein-capabilities){width:min(100% - 28px,var(--shell))}.fein-gallery-intro{grid-template-columns:1fr;gap:22px}.fein-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.fein-gallery-item.is-featured{grid-column:span 2;grid-row:span 1}.fein-gallery-caption i{display:none}.fein-gallery-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:14px}.fein-gallery-filter{white-space:nowrap}.fein-lightbox{grid-template-columns:45px minmax(0,1fr) 45px;padding:16px}.fein-lightbox-close,.fein-lightbox-prev,.fein-lightbox-next{width:40px;height:40px}.fein-lightbox-title{font-size:10px}.fein-sector-home-grid,.fein-sector-grid{grid-template-columns:1fr}.fein-capabilities{gap:60px}.fein-cap-split{grid-template-columns:1fr}.fein-cap-photo img{height:390px}.fein-cap-materials{grid-template-columns:1fr}.fein-cap-materials>div{padding:32px;min-height:250px}.fein-cap-cta{display:block}.fein-cap-cta .fein-btn{margin-top:24px}}

/* =========================================================
   FE.IN. v0.3 PREMIUM REFINEMENT
   ========================================================= */
:root{
  --ink:#182233;
  --ink-deep:#0f151c;
  --char:#151a20;
  --steel:#9ca6ad;
  --paper:#f5f2eb;
  --paper-2:#ebe7de;
  --white:#ffffff;
  --accent:#c89a4b;
  --accent-soft:#e5d2a9;
  --teal:#4f8f8d;
  --teal-dark:#2d6c6b;
  --line:rgba(24,34,51,.14);
  --shadow:0 28px 70px rgba(20,28,38,.14);
}
body{background:var(--paper);color:var(--ink)}

/* Global breathing room */
h1,h2,h3,h4,h5,h6{color:var(--ink)}
h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:20px!important}
p+h1,p+h2,p+h3,p+h4{margin-top:34px!important}
.fein-prose h2,.fein-prose h3,.fein-prose h4{margin-bottom:20px!important}
.fein-prose p{margin-top:0;margin-bottom:24px}
.fein-section{padding:118px 0}
.fein-page-content{padding-top:86px;padding-bottom:118px}

/* Header / brand */
.fein-header{background:rgba(248,246,240,.96);border-bottom:1px solid rgba(24,34,51,.09);box-shadow:0 8px 28px rgba(16,23,31,.05)}
.fein-topbar{background:var(--ink-deep);color:#e9edf0;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.fein-topbar-inner{min-height:34px;display:flex;align-items:center;gap:26px}
.fein-topbar-local{color:#9da8b0}
.fein-topbar-links{margin-left:auto;display:flex;gap:18px}
.fein-topbar-links a{color:#d7dde1;text-decoration:none;font-weight:700}.fein-topbar-links a:hover{color:var(--accent-soft)}
.fein-nav{height:88px;gap:26px}
.fein-brand{min-width:250px;max-width:290px;display:flex;align-items:center;justify-content:flex-start;overflow:visible}
.fein-brand .custom-logo-link{display:flex!important;align-items:center!important;max-width:100%!important}
.fein-brand img.custom-logo{display:block!important;width:auto!important;height:auto!important;max-width:260px!important;max-height:68px!important;object-fit:contain!important}
.fein-brand>span{font-size:34px}.fein-brand small{margin-top:4px}
.fein-menu ul{gap:24px}.fein-menu a{position:relative;font-size:13px}.fein-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--accent);transition:.22s}.fein-menu a:hover:after,.fein-menu .current-menu-item>a:after{right:0}
.fein-header-actions{gap:9px}.fein-action-icon{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border:1px solid rgba(24,34,51,.12);border-radius:12px;text-decoration:none;color:var(--ink);background:#fff;transition:.2s}.fein-action-icon span{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:var(--paper-2);font-size:11px;font-weight:900}.fein-action-icon b{font-size:11px;white-space:nowrap}.fein-action-icon:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(20,28,38,.08)}.fein-wa span{background:#d9f3e2;color:#188845}.fein-call span{color:var(--teal-dark)}
.fein-btn-accent{background:var(--accent);color:#15191d;border:1px solid var(--accent)}.fein-btn-accent:hover{background:#d5aa61;color:#111;transform:translateY(-2px)}
.fein-btn-dark{background:var(--ink-deep)}

/* Hero + accent reduction */
.fein-kicker{color:#65717a}.fein-kicker:before{background:var(--accent)}
.fein-hero h1 em{color:var(--accent)}
.fein-sector-home-grid article,.fein-sector-grid article{border-top-color:var(--teal)}
.fein-service-overlay span{color:var(--accent-soft)}

/* dark services readability */
.fein-services{background:linear-gradient(135deg,#151b21 0%,#10161c 100%);color:#f6f2e8}
.fein-services h2,.fein-services h3{color:#f6f2e8!important}
.fein-services .fein-kicker{color:#d8c08d!important}
.fein-services .fein-section-head p{color:#c5ced4!important}
.fein-services .fein-section-head{align-items:center}
.fein-services .fein-section-head h2{max-width:760px}
.fein-services .fein-section-head p{max-width:310px}
.fein-service-card{border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px rgba(0,0,0,.22)}

/* page hero */
.fein-page-hero{padding:78px 0 62px;background:linear-gradient(135deg,#ede9df 0%,#f7f4ee 100%);border-bottom:1px solid #d8d3c9;position:relative;overflow:hidden}
.fein-page-hero:after{content:"FE.IN.";position:absolute;right:4%;bottom:-24px;font:800 clamp(92px,13vw,190px)/.8 Manrope,sans-serif;letter-spacing:-.07em;color:rgba(24,34,51,.035);pointer-events:none}
.fein-page-hero h1{color:var(--ink)}
.fein-page-hero .fein-kicker{margin-bottom:24px}
.fein-prose{width:min(var(--shell),calc(100% - 48px));max-width:none}

/* Company */
.fein-company{display:grid;gap:112px}
.fein-company-lead{display:grid;grid-template-columns:.88fr 1.12fr;gap:92px;align-items:center}
.fein-company-copy h2,.fein-company-story-copy h2{font:800 clamp(46px,5vw,72px)/.98 Manrope,sans-serif;letter-spacing:-.055em;margin:0}
.fein-company-copy p,.fein-company-story-copy p{font-size:17px;line-height:1.82;color:#515d66}
.fein-company-collage{position:relative;min-height:600px}
.fein-company-photo-main{margin:0;position:absolute;inset:0 11% 4% 0}.fein-company-photo-main:before{content:"";position:absolute;inset:18px -18px -18px 18px;background:var(--teal-dark);z-index:0;opacity:.32}.fein-company-photo-main img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow)}
.fein-company-photo-small{margin:0;position:absolute;right:0;bottom:0;width:42%;height:250px;padding:8px;background:#fff;box-shadow:0 28px 65px rgba(13,19,26,.22)}.fein-company-photo-small img{width:100%;height:100%;object-fit:cover}
.fein-metal-tag{position:absolute;right:0;top:24px;background:var(--ink-deep);color:#fff;padding:12px 16px;font:700 9px Inter;letter-spacing:.15em}
.fein-company-process{padding:52px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fein-company-process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px}.fein-company-process-grid article{padding:28px 24px;border-right:1px solid var(--line)}.fein-company-process-grid article:first-child{padding-left:0}.fein-company-process-grid article:last-child{border-right:0}.fein-company-process-grid span{font:700 44px Manrope;color:#b7b6ae}.fein-company-process-grid h3{font:800 21px Manrope;margin:22px 0 12px}.fein-company-process-grid p{font-size:13px;line-height:1.65;color:#647079}
.fein-company-story{display:grid;grid-template-columns:1.08fr .92fr;gap:84px;align-items:center}.fein-company-story-visual{height:560px;position:relative}.fein-company-story-visual:after{content:"";position:absolute;left:-14px;bottom:-14px;width:42%;height:36%;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent)}.fein-company-story-visual img{width:100%;height:100%;object-fit:cover;box-shadow:var(--shadow)}
.fein-company-material-band{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink-deep);color:#eef2f4}.fein-company-material-band>div{padding:38px 32px;border-right:1px solid rgba(255,255,255,.1)}.fein-company-material-band>div:last-child{border-right:0}.fein-company-material-band span{font:700 12px Inter;color:var(--accent-soft);letter-spacing:.14em}.fein-company-material-band strong{display:block;font:800 24px Manrope;margin:26px 0 14px;color:#fff}.fein-company-material-band p{font-size:13px;line-height:1.7;color:#b7c1c8;margin:0}

/* Gallery / workings */
.fein-gallery-app{margin-top:0}.fein-gallery-intro{display:grid;grid-template-columns:1.05fr .8fr;gap:80px;align-items:end;margin-bottom:44px}.fein-gallery-intro h2{font:800 clamp(48px,5.5vw,78px)/.94 Manrope,sans-serif;letter-spacing:-.06em;color:var(--ink);margin:0}.fein-gallery-intro p{font-size:17px;line-height:1.75;color:#59646c;margin:0}
.fein-gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 38px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fein-gallery-filter{border-color:#c9c8c0;background:#fbfaf7}.fein-gallery-filter:hover,.fein-gallery-filter.is-active{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}
.fein-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:250px;gap:14px}.fein-gallery-item{border-radius:6px;border:1px solid rgba(24,34,51,.12);box-shadow:0 18px 42px rgba(12,20,28,.10)}.fein-gallery-item.is-featured{grid-column:span 2;grid-row:span 2}.fein-gallery-caption{left:20px;bottom:18px}.fein-gallery-caption b{font-size:16px}.fein-gallery-caption i{color:#ded7c9}.fein-gallery-item:hover{box-shadow:0 28px 60px rgba(12,20,28,.18)}
.fein-gallery-cta{margin-top:52px;padding:34px 36px;background:var(--ink-deep);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;border-left:4px solid var(--accent)}.fein-gallery-cta h3{font:800 30px Manrope;margin:0;color:#fff}.fein-gallery-cta .fein-kicker{color:#c9d2d7;margin-bottom:14px}

/* Capabilities */
.fein-capabilities{gap:96px}.fein-cap-lead{max-width:980px}.fein-cap-lead h2{color:var(--ink)}.fein-cap-lead>p{font-size:19px;line-height:1.75;color:#56616a}
.fein-sector-grid article{background:#f0ede6;min-height:290px;border-top:3px solid var(--teal)}.fein-sector-grid span{color:#b4b4ab}.fein-sector-grid h3{margin-top:40px}.fein-cap-photo:before{background:var(--teal-dark);opacity:.34}.fein-cap-materials>div{background:var(--ink-deep)}.fein-cap-materials span{color:var(--accent-soft)}.fein-cap-cta{background:#ece7dc;border-left-color:var(--teal)}

/* Contact local app */
.fein-contact-page{display:grid;gap:90px}.fein-contact-appbar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fein-app-action{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;min-height:100px;padding:18px 20px;background:#fff;border:1px solid rgba(24,34,51,.11);border-radius:18px;text-decoration:none;color:var(--ink);box-shadow:0 14px 34px rgba(16,24,32,.07);transition:.22s}.fein-app-action:hover{transform:translateY(-3px);box-shadow:0 22px 46px rgba(16,24,32,.12)}.fein-app-icon{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--paper-2);font-weight:900;color:var(--teal-dark)}.fein-app-action:nth-child(2) .fein-app-icon{background:#dcf3e3;color:#188845}.fein-app-action b{font:800 15px Manrope}.fein-app-action small{font-size:11px;color:#68737b;overflow-wrap:anywhere}
.fein-contact-local{display:grid;grid-template-columns:1.35fr .65fr;min-height:520px;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(24,34,51,.1)}.fein-contact-map iframe{width:100%;height:100%;min-height:520px;border:0;display:block}.fein-contact-local-card{padding:54px 46px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,#f4f1e9,#e7e3d9)}.fein-contact-local-card h2{font:800 46px/1 Manrope;margin:0;color:var(--ink)}.fein-contact-local-card p{font-size:15px;line-height:1.75;color:#55616a}.fein-contact-local-card .fein-btn{align-self:flex-start;margin-top:18px}
.fein-contact-form-wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.fein-contact-copy h2{font:800 52px/.98 Manrope;margin:0;letter-spacing:-.05em}.fein-contact-copy>p{font-size:16px;line-height:1.8;color:#56616a}.fein-contact-mini{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--line)}.fein-contact-mini span{font:700 24px Manrope;color:var(--accent)}.fein-contact-mini p{margin:0;font-size:13px;line-height:1.55;color:#5d6870}
.fein-contact-form{margin:0;background:#fff;border-radius:12px;border:1px solid rgba(24,34,51,.12);box-shadow:0 22px 55px rgba(17,25,34,.09);padding:34px}.fein-contact-form input,.fein-contact-form select,.fein-contact-form textarea{border-radius:8px;border-color:#d8d5cc;background:#f8f6f1}.fein-contact-form input:focus,.fein-contact-form select:focus,.fein-contact-form textarea:focus{outline:2px solid rgba(79,143,141,.22);border-color:var(--teal)}

/* Footer */
.fein-footer{background:#0c1218}.fein-footer-bottom a:hover,.fein-footer a:hover{color:var(--accent-soft)}

/* Floating WhatsApp slightly more app-like */
.fein-wa-float{border-radius:16px;padding:9px 14px;background:#1fbd60;box-shadow:0 18px 40px rgba(31,189,96,.24)}

@media(max-width:1180px){
  .fein-action-icon b{display:none}.fein-action-icon{padding:6px}.fein-brand{min-width:220px}.fein-brand img.custom-logo{max-width:220px!important}.fein-menu ul{gap:18px}
  .fein-company-lead{gap:50px}.fein-company-story{gap:50px}
}
@media(max-width:980px){
  .fein-topbar-local{display:none}.fein-menu{display:none}.fein-menu-toggle{display:block}.fein-header-cta{display:none}.fein-nav{height:76px}.fein-brand img.custom-logo{max-height:56px!important}.fein-menu-open .fein-menu{display:block;position:absolute;left:16px;right:16px;top:116px;background:#fff;padding:18px;border-radius:18px;box-shadow:0 26px 60px rgba(10,16,22,.18)}.fein-menu-open .fein-menu ul{display:grid;gap:0}.fein-menu-open .fein-menu a{display:block;padding:14px 12px;border-bottom:1px solid #eee9df}.fein-menu-open .fein-menu a:after{display:none}
  .fein-company-lead,.fein-company-story,.fein-contact-form-wrap{grid-template-columns:1fr}.fein-company-collage{min-height:520px}.fein-company-story-visual{height:480px}.fein-company-process-grid{grid-template-columns:1fr 1fr}.fein-company-process-grid article{border-bottom:1px solid var(--line)}.fein-company-material-band{grid-template-columns:1fr}.fein-company-material-band>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .fein-gallery-grid{grid-template-columns:repeat(3,1fr)}.fein-contact-appbar{grid-template-columns:1fr 1fr}.fein-contact-local{grid-template-columns:1fr}.fein-contact-map iframe{min-height:420px}.fein-contact-local-card{padding:42px}.fein-contact-form-wrap{gap:42px}
}
@media(max-width:700px){
  .fein-shell,.fein-prose{width:min(100% - 28px,var(--shell))}.fein-section{padding:78px 0}.fein-page-content{padding:60px 0 82px}.fein-topbar-inner{min-height:30px;font-size:8px}.fein-topbar-links{gap:12px}.fein-nav{height:70px}.fein-brand{min-width:0;max-width:190px}.fein-brand img.custom-logo{max-width:185px!important;max-height:50px!important}.fein-header-actions{margin-left:auto}.fein-call{display:none}.fein-action-icon{min-height:40px}.fein-action-icon span{width:28px;height:28px}.fein-menu-toggle{width:42px;height:42px}.fein-menu-open .fein-menu{top:106px}
  .fein-page-hero{padding:58px 0 44px}.fein-page-hero h1{font-size:clamp(46px,16vw,70px)}
  .fein-company{gap:72px}.fein-company-lead{gap:38px}.fein-company-copy h2,.fein-company-story-copy h2{font-size:42px}.fein-company-collage{min-height:400px}.fein-company-photo-main{inset:0 7% 6% 0}.fein-company-photo-small{height:170px;width:46%}.fein-metal-tag{font-size:7px;padding:10px}.fein-company-process-grid{grid-template-columns:1fr}.fein-company-process-grid article{padding:24px 0;border-right:0}.fein-company-story-visual{height:360px}.fein-company-material-band>div{padding:30px 24px}
  .fein-gallery-intro{grid-template-columns:1fr;gap:22px}.fein-gallery-intro h2{font-size:48px}.fein-gallery-filters{overflow-x:auto;flex-wrap:nowrap}.fein-gallery-filter{white-space:nowrap}.fein-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.fein-gallery-item.is-featured{grid-column:span 2;grid-row:span 1}.fein-gallery-cta{display:block;padding:28px 24px}.fein-gallery-cta .fein-btn{margin-top:22px}
  .fein-contact-appbar{grid-template-columns:1fr 1fr}.fein-app-action{grid-template-columns:42px 1fr;padding:14px;min-height:86px}.fein-app-icon{width:42px;height:42px;border-radius:12px}.fein-app-action small{font-size:9px}.fein-contact-map iframe{min-height:360px}.fein-contact-local-card{padding:32px 24px}.fein-contact-local-card h2{font-size:40px}.fein-contact-copy h2{font-size:44px}.fein-contact-form{padding:24px}.fein-form-grid{grid-template-columns:1fr}
}

/* =========================================================
   FE.IN. v0.4 — HEADER, RHYTHM, BRAND BREAK, GALLERY FIX
   ========================================================= */
:root{
  --paper:#f4f2ec;
  --paper-white:#fbfaf7;
  --paper-sepia:#e9e3d8;
  --paper-grey:#e5e7e6;
  --ink:#182233;
  --ink-deep:#111820;
  --teal:#4f8f8d;
  --teal-dark:#326c6b;
  --accent:#c79b4a;
  --accent-soft:#d9bd83;
}

/* Header: logo stronger, menu truly centred, one-line labels */
.fein-header{background:rgba(250,249,245,.96)}
.fein-nav{
  height:92px;
  display:grid;
  grid-template-columns:minmax(225px,270px) minmax(480px,1fr) auto;
  align-items:center;
  gap:26px;
}
.fein-brand{min-width:0;align-items:flex-start;justify-content:center}
.fein-brand .custom-logo-link{display:block;line-height:0}
.fein-brand img.custom-logo{max-width:238px!important;max-height:70px!important;width:auto!important;height:auto!important;object-fit:contain}
.fein-menu{margin:0;justify-self:center;min-width:0}
.fein-menu ul{justify-content:center;align-items:center;gap:32px;white-space:nowrap}
.fein-menu a{font-size:13px;white-space:nowrap;position:relative;padding:10px 0}
.fein-menu a:after{content:"";position:absolute;left:50%;right:50%;bottom:2px;height:2px;background:var(--accent);transition:.22s}
.fein-menu a:hover:after,.fein-menu .current-menu-item>a:after{left:0;right:0}
.fein-header-actions{justify-self:end;gap:10px;white-space:nowrap}
.fein-action-icon{min-height:48px}
.fein-header-cta{min-width:136px}

/* Brand break inspired by editorial / La Cambusa separator */
.fein-brand-break{background:#fff;border-top:1px solid rgba(24,34,51,.08);border-bottom:1px solid rgba(24,34,51,.08);padding:28px 0}
.fein-brand-break-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:34px}
.fein-brand-break-line{height:1px;background:linear-gradient(90deg,transparent,rgba(24,34,51,.24))}
.fein-brand-break-logo{text-align:center;min-width:230px}
.fein-brand-break-logo .custom-logo-link{display:inline-block;line-height:0}
.fein-brand-break-logo img.custom-logo{display:block;max-width:230px!important;max-height:76px!important;width:auto!important;height:auto!important;margin:auto}
.fein-brand-break-logo strong{display:block;font:800 40px/.9 Manrope;color:var(--ink);letter-spacing:-.06em}
.fein-brand-break-logo small{display:block;margin-top:8px;font-size:8px;font-weight:800;letter-spacing:.22em}
.fein-brand-break-meta{height:1px;background:linear-gradient(90deg,rgba(24,34,51,.24),transparent);position:relative}
.fein-brand-break-meta span{position:absolute;top:11px;font-size:8px;font-weight:800;letter-spacing:.14em;color:#7a7f80;white-space:nowrap}
.fein-brand-break-meta span:nth-child(1){left:0}.fein-brand-break-meta span:nth-child(2){left:50%;transform:translateX(-50%)}.fein-brand-break-meta span:nth-child(3){right:0}

/* Deliberate visual rhythm: white / sepia / grey / charcoal */
.fein-hero{background:var(--paper)}
.fein-intro{background:var(--paper-grey)}
.fein-services{background:var(--ink-deep)}
.fein-work{background:var(--paper-white)}
.fein-process{background:var(--paper-sepia)}
.fein-materials{background:#dfe3e2}
.fein-home-sectors{background:#fff}
.fein-home-sectors .fein-sector-home-grid article:nth-child(1){background:#f1eee7}
.fein-home-sectors .fein-sector-home-grid article:nth-child(2){background:#e4e8e7}
.fein-home-sectors .fein-sector-home-grid article:nth-child(3){background:#ece5d9}
.fein-page-hero{background:var(--paper-sepia)}
.fein-page-content{background:var(--paper-white)}
.fein-page-azienda .fein-page-content{background:#f6f5f1}
.fein-gallery-page-section{background:#f7f6f2!important}

/* Gallery: explicit, robust, full-width presentation */
.fein-gallery-shell{width:min(1320px,calc(100% - 48px));margin:auto}
.fein-page-hero-intro{font-size:18px;line-height:1.65;color:#59636c;max-width:780px;margin:24px 0 0}
.fein-gallery-app{display:block!important;width:100%!important;visibility:visible!important;opacity:1!important}
.fein-gallery-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:250px!important;gap:14px!important;width:100%!important}
.fein-gallery-item{display:block;min-height:250px}
.fein-gallery-item[hidden]{display:none!important}
.fein-gallery-open{display:block!important;width:100%!important;height:100%!important;min-height:250px!important}
.fein-gallery-open img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.fein-gallery-empty-state{padding:42px;background:#fff;border:1px solid rgba(24,34,51,.12);text-align:center}

@media(max-width:1260px){
  .fein-nav{grid-template-columns:220px 1fr auto;gap:18px}.fein-menu ul{gap:20px}.fein-action-icon b{display:none}.fein-brand img.custom-logo{max-width:210px!important}.fein-header-cta{min-width:120px}
}
@media(max-width:1060px){
  .fein-nav{display:flex;height:80px}.fein-brand{min-width:220px}.fein-menu{display:none}.fein-menu-toggle{display:block}.fein-header-actions{margin-left:auto}.fein-brand img.custom-logo{max-width:220px!important;max-height:62px!important}.fein-menu-open .fein-menu{display:block;position:absolute;left:16px;right:16px;top:110px;background:#fff;padding:18px;border-radius:18px;box-shadow:0 26px 60px rgba(10,16,22,.18)}.fein-menu-open .fein-menu ul{display:grid;white-space:normal}.fein-menu-open .fein-menu a{display:block;padding:14px 12px}.fein-menu-open .fein-menu a:after{display:none}
  .fein-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .fein-nav{height:72px}.fein-brand{min-width:0;max-width:185px}.fein-brand img.custom-logo{max-width:180px!important;max-height:54px!important}.fein-wa{display:none}.fein-brand-break{padding:22px 0}.fein-brand-break-inner{grid-template-columns:1fr auto 1fr;gap:14px}.fein-brand-break-logo{min-width:150px}.fein-brand-break-logo img.custom-logo{max-width:155px!important;max-height:58px!important}.fein-brand-break-meta span{display:none}.fein-gallery-shell{width:min(100% - 28px,1320px)}.fein-gallery-grid{grid-template-columns:1fr 1fr!important;grid-auto-rows:190px!important}.fein-gallery-item{min-height:190px}.fein-gallery-open{min-height:190px!important}
}
\n\n/* =========================================================\n   FE.IN. v0.4.3 — HEADER FIX DEFINITIVO\n   Evita il nested <a> del custom logo e rende il menu stabile.\n   ========================================================= */\n.fein-header{overflow:visible}\n.fein-nav-v043{\n  min-height:108px;\n  height:auto;\n  display:flex!important;\n  align-items:center;\n  gap:34px;\n  position:relative;\n}\n.fein-brand-card{\n  flex:0 0 226px;\n  width:226px;\n  min-height:104px;\n  margin-top:-18px;\n  margin-bottom:-8px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  padding:12px 18px;\n  background:#fbf8f1;\n  border:1px solid rgba(24,34,51,.08);\n  border-radius:28px;\n  box-shadow:0 18px 42px rgba(24,34,51,.11);\n  z-index:2;\n}\n.fein-brand-card .custom-logo-link{display:flex!important;align-items:center;justify-content:center;line-height:0;width:100%}\n.fein-brand-card img.custom-logo{\n  display:block!important;\n  width:auto!important;\n  height:auto!important;\n  max-width:188px!important;\n  max-height:70px!important;\n  object-fit:contain!important;\n  margin:0 auto!important;\n}\n.fein-brand-fallback{display:flex;flex-direction:column;color:var(--ink);text-decoration:none;align-items:center}\n.fein-brand-fallback strong{font:800 34px/.9 Manrope;letter-spacing:-.06em}\n.fein-brand-fallback small{font-size:8px;font-weight:800;letter-spacing:.16em;margin-top:6px}\n.fein-nav-v043 .fein-menu{\n  flex:1 1 auto;\n  min-width:0;\n  margin:0!important;\n  justify-self:auto!important;\n}\n.fein-nav-v043 .fein-menu ul{\n  display:flex;\n  align-items:center;\n  justify-content:flex-start!important;\n  gap:28px;\n  white-space:nowrap;\n}\n.fein-nav-v043 .fein-menu a{font-size:13px;white-space:nowrap}\n.fein-nav-v043 .fein-header-actions{\n  flex:0 0 auto;\n  margin-left:auto;\n  display:flex;\n  align-items:center;\n  gap:12px;\n}\n.fein-nav-v043 .fein-wa{min-height:48px;padding:6px 12px}\n.fein-nav-v043 .fein-header-cta{min-width:134px}\n\n@media(max-width:1220px){\n  .fein-nav-v043{gap:22px}\n  .fein-brand-card{flex-basis:205px;width:205px}\n  .fein-brand-card img.custom-logo{max-width:172px!important;max-height:64px!important}\n  .fein-nav-v043 .fein-menu ul{gap:20px}\n  .fein-nav-v043 .fein-menu a{font-size:12px}\n  .fein-nav-v043 .fein-wa b{display:none}\n}\n@media(max-width:1030px){\n  .fein-nav-v043{min-height:82px;gap:18px}\n  .fein-brand-card{flex:0 0 190px;width:190px;min-height:86px;margin-top:-10px;margin-bottom:-4px;border-radius:22px;padding:10px 14px}\n  .fein-brand-card img.custom-logo{max-width:160px!important;max-height:58px!important}\n  .fein-nav-v043 .fein-menu{display:none}\n  .fein-nav-v043 .fein-menu-toggle{display:block}\n  .fein-nav-v043 .fein-header-cta{display:none}\n  .fein-menu-open .fein-menu{display:block;position:absolute;left:16px;right:16px;top:96px;background:#fff;padding:18px;border-radius:18px;box-shadow:0 26px 60px rgba(10,16,22,.18)}\n  .fein-menu-open .fein-menu ul{display:grid;gap:0;white-space:normal}\n  .fein-menu-open .fein-menu a{display:block;padding:14px 12px}\n}\n@media(max-width:700px){\n  .fein-nav-v043{min-height:74px}\n  .fein-brand-card{flex-basis:164px;width:164px;min-height:74px;border-radius:18px;padding:8px 12px;margin-top:-7px}\n  .fein-brand-card img.custom-logo{max-width:140px!important;max-height:50px!important}\n  .fein-nav-v043 .fein-wa{display:none}\n}\n

/* =========================================================
   FE.IN. v0.4.4 — BLACK / WHITE / GREY + RED ACCENT
   Header full-height, no overlap; gallery always visible.
   ========================================================= */
:root{
  --ink:#111418;
  --char:#16191d;
  --steel:#aab0b5;
  --paper:#ffffff;
  --white:#ffffff;
  --accent:#b51f2a;
  --accent-dark:#8f141d;
  --line:rgba(17,20,24,.14);
  --shadow:0 24px 60px rgba(12,17,22,.13);
}
html,body{background:#fff!important;color:var(--ink)}
body,.ast-separate-container,.site-content,.content-area{background:#fff!important}

/* Header: one full white banner; logo contained, never over hero */
.fein-header{
  background:#fff!important;
  border-bottom:1px solid #e1e3e5!important;
  box-shadow:0 8px 26px rgba(15,18,22,.06);
  backdrop-filter:none!important;
  overflow:visible!important;
}
.fein-nav-v043{
  min-height:116px!important;
  height:auto!important;
  padding:12px 0!important;
  gap:32px!important;
  background:#fff!important;
}
.fein-brand-card{
  flex:0 0 210px!important;
  width:210px!important;
  min-height:90px!important;
  margin:0!important;
  padding:9px 15px!important;
  background:#fff!important;
  border:1px solid #e4e6e8!important;
  border-radius:24px!important;
  box-shadow:0 14px 34px rgba(17,20,24,.09)!important;
  overflow:hidden!important;
}
.fein-brand-card img.custom-logo{
  max-width:174px!important;
  max-height:66px!important;
}
.fein-nav-v043 .fein-menu ul{gap:26px!important}
.fein-nav-v043 .fein-menu a{color:#15191d!important;font-size:13px!important}
.fein-nav-v043 .fein-menu a:hover,
.fein-nav-v043 .fein-menu .current-menu-item>a{color:var(--accent)!important}
.fein-nav-v043 .fein-menu .current-menu-item>a:after{background:var(--accent)!important}
.fein-btn-accent,.fein-header-cta{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
.fein-btn-accent:hover,.fein-header-cta:hover{background:var(--accent-dark)!important;color:#fff!important}
.fein-topbar{background:#111418!important}
.fein-topbar a,.fein-topbar span{color:#fff!important}
.fein-topbar-local{color:#bfc5ca!important}
.fein-wa{background:#fff!important;border:1px solid #dfe3e6!important}

/* No beige / sepia. Visual rhythm = white / cool grey / black */
.fein-hero{background:#fff!important;padding-top:74px!important}
.fein-brand-break{background:#f2f3f4!important;border-color:#d9dde0!important}
.fein-intro{background:#f2f3f4!important}
.fein-services{background:#111418!important}
.fein-work{background:#fff!important}
.fein-process{background:#eceff1!important}
.fein-materials{background:#f5f6f7!important}
.fein-home-sectors{background:#fff!important}
.fein-home-sectors .fein-sector-home-grid article:nth-child(1),
.fein-home-sectors .fein-sector-home-grid article:nth-child(2),
.fein-home-sectors .fein-sector-home-grid article:nth-child(3){background:#f1f3f4!important}
.fein-page-hero{background:#f0f2f3!important;border-bottom-color:#d9dde0!important}
.fein-page-content{background:#fff!important}
.fein-page-azienda .fein-page-content{background:#fff!important}
.fein-gallery-page-section{background:#fff!important}
.fein-capabilities,.fein-company{background:#fff!important}
.fein-cap-lead,.fein-company-lead{background:#fff!important}

/* Red used only as a premium accent */
.fein-kicker:before{background:var(--accent)!important}
.fein-hero h1 em{color:var(--accent)!important}
.fein-service-overlay span{color:#d74a53!important}
.fein-process-row span{color:#aeb4b8!important}
.fein-text-link:hover{color:var(--accent)!important}
.fein-gallery-filter.is-active{background:#111418!important;color:#fff!important;border-color:#111418!important}
.fein-gallery-filter:hover{border-color:var(--accent)!important;color:var(--accent)!important}
.fein-gallery-caption b{color:#fff!important}
.fein-gallery-caption i{color:#d6dadd!important}

/* Lavorazioni: never dependent on IntersectionObserver */
.fein-page-lavorazioni .fein-gallery-page-section,
.fein-page-lavorazioni .fein-gallery-app,
.fein-page-lavorazioni .fein-gallery-intro,
.fein-page-lavorazioni .fein-gallery-filters,
.fein-page-lavorazioni .fein-gallery-grid,
.fein-page-lavorazioni .fein-gallery-item{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.fein-page-lavorazioni .fein-gallery-page-section{display:block!important;padding:88px 0 112px!important}
.fein-page-lavorazioni .fein-gallery-grid{display:grid!important}
.fein-gallery-item:not([hidden]){display:block!important}
.fein-gallery-open{appearance:none;-webkit-appearance:none;border:0;padding:0;background:#111418;cursor:pointer}
.fein-gallery-open img{opacity:1!important;visibility:visible!important}

/* Full, clean internal page banner */
.fein-page-hero{
  width:100%!important;
  min-height:360px;
  display:flex;
  align-items:center;
  padding:76px 0!important;
  position:relative;
  overflow:hidden;
}
.fein-page-hero:after{
  content:"FE.IN.";
  position:absolute;
  right:4vw;
  bottom:-28px;
  font:800 clamp(90px,14vw,230px)/.8 Manrope,sans-serif;
  letter-spacing:-.08em;
  color:rgba(17,20,24,.035);
  pointer-events:none;
}
.fein-page-hero>.fein-shell{position:relative;z-index:2}

/* Stronger section separation */
.fein-section{border-top:1px solid rgba(17,20,24,.055)}
.fein-services,.fein-cta,.fein-footer{border-top:0}

@media(max-width:1220px){
  .fein-nav-v043{min-height:104px!important;gap:20px!important}
  .fein-brand-card{flex-basis:188px!important;width:188px!important;min-height:82px!important}
  .fein-brand-card img.custom-logo{max-width:158px!important;max-height:58px!important}
  .fein-nav-v043 .fein-menu ul{gap:18px!important}
}
@media(max-width:1030px){
  .fein-nav-v043{min-height:88px!important;padding:8px 0!important}
  .fein-brand-card{flex:0 0 176px!important;width:176px!important;min-height:72px!important;border-radius:18px!important}
  .fein-brand-card img.custom-logo{max-width:146px!important;max-height:52px!important}
  .fein-menu-open .fein-menu{top:92px!important}
}
@media(max-width:700px){
  .fein-nav-v043{min-height:78px!important}
  .fein-brand-card{flex-basis:150px!important;width:150px!important;min-height:64px!important}
  .fein-brand-card img.custom-logo{max-width:126px!important;max-height:46px!important}
  .fein-page-hero{min-height:300px;padding:58px 0!important}
  .fein-page-hero:after{font-size:100px;bottom:-8px}
  .fein-page-lavorazioni .fein-gallery-page-section{padding:64px 0 84px!important}
}

/* =========================================================
   FE.IN. v0.4.5 — CSS DETAIL PASS
   White-first palette, 3px photo frames, soft 3D depth,
   dark-section title contrast, red logo treatment.
   ========================================================= */

:root{
  --paper:#ffffff;
  --paper-soft:#f2f3f4;
  --ink:#111418;
  --char:#16191d;
  --accent:#b51f2a;
  --accent-dark:#8f141d;
  --photo-border:#d8dde1;
  --photo-shadow:0 18px 38px rgba(17,20,24,.16),0 4px 10px rgba(17,20,24,.08);
}

/* 1. Main site background = white */
html,body,
body,.ast-separate-container,.site-content,.content-area,
.fein-hero,.fein-intro,.fein-work,.fein-materials,.fein-home-sectors,
.fein-page-hero,.fein-page-content,.fein-page-azienda .fein-page-content,
.fein-gallery-page-section,.fein-capabilities,.fein-company,.fein-cap-lead,.fein-company-lead,
.fein-contact-page,.fein-contact-form-wrap{
  background:#fff!important;
}

/* Only small/light separators use #f2f3f4 */
.fein-brand-break{background:var(--paper-soft)!important;border-color:#dde1e4!important}
.fein-process{background:#fff!important}
.fein-process-row{background:var(--paper-soft)!important;padding:0 18px 18px;border-radius:10px}
.fein-home-sectors .fein-sector-home-grid article{background:#fff!important}
.fein-home-sectors .fein-sector-home-grid article:nth-child(2){background:var(--paper-soft)!important}
.fein-page-hero{position:relative;overflow:hidden;border-bottom:1px solid #e3e6e8!important}
.fein-page-hero:before{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:18%;
  height:100%;
  background:var(--paper-soft);
  z-index:0;
}
.fein-page-hero>.fein-shell{position:relative;z-index:2}
.fein-gallery-filters{background:var(--paper-soft);padding:14px 16px;border-radius:10px}
.fein-company-process{background:var(--paper-soft);padding-left:24px;padding-right:24px}
.fein-cap-cta{background:var(--paper-soft)!important;border-left-color:var(--accent)!important}
.fein-contact-local-card{background:var(--paper-soft)!important}
.fein-contact-form input,.fein-contact-form select,.fein-contact-form textarea{background:#fff!important}

/* 2. 3px frame + soft 3D depth on real content photography */
.fein-hero-art>img,
.fein-mini-detail,
.fein-photo-main,
.fein-photo-small,
.fein-service-card,
.fein-masonry figure,
.fein-material-card,
.fein-company-photo-main img,
.fein-company-photo-small,
.fein-company-story-visual img,
.fein-cap-photo img,
.fein-gallery-item,
.fein-lightbox-stage img{
  border:3px solid var(--photo-border)!important;
  box-shadow:var(--photo-shadow)!important;
}

/* White border on photography placed over black/dark surfaces */
.fein-services .fein-service-card,
.fein-cap-materials img,
.fein-cta img{
  border-color:#fff!important;
}

/* Keep image surfaces crisp and modern */
.fein-service-card,.fein-masonry figure,.fein-material-card,.fein-gallery-item,
.fein-company-photo-main img,.fein-company-story-visual img,.fein-cap-photo img{
  border-radius:4px!important;
}
.fein-photo-main,.fein-hero-art>img{border-radius:3px!important}
.fein-photo-small,.fein-company-photo-small,.fein-mini-detail{border-radius:6px!important}

/* Slight depth enhancement without exaggerated motion */
.fein-service-card,.fein-masonry figure,.fein-gallery-item,.fein-material-card{
  transition:transform .25s ease,box-shadow .25s ease!important;
}
.fein-service-card:hover,.fein-masonry figure:hover,.fein-gallery-item:hover,.fein-material-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 24px 48px rgba(17,20,24,.20),0 6px 14px rgba(17,20,24,.09)!important;
}

/* 3. Dark sections = white headings */
.fein-services h1,.fein-services h2,.fein-services h3,
.fein-cta h1,.fein-cta h2,.fein-cta h3,
.fein-cap-materials h1,.fein-cap-materials h2,.fein-cap-materials h3,
.fein-company-material-band h1,.fein-company-material-band h2,.fein-company-material-band h3,
.fein-footer h1,.fein-footer h2,.fein-footer h3,.fein-footer h4,
.fein-services .fein-section-head h2,
.fein-material-card h3{
  color:#fff!important;
}
.fein-services .fein-kicker,.fein-services .fein-section-head p,
.fein-cta p,.fein-cap-materials p,.fein-company-material-band p{color:#c8ced3!important}
.fein-services .fein-kicker:before,.fein-cta .fein-kicker:before{background:var(--accent)!important}

/* 4. Red logo / wordmark treatment */
.fein-brand-card img.custom-logo,
.fein-brand-break-logo img.custom-logo{
  filter:brightness(0) saturate(100%) invert(16%) sepia(66%) saturate(4025%) hue-rotate(344deg) brightness(88%) contrast(93%)!important;
}
.fein-brand-fallback strong,
.fein-wordmark{color:var(--accent)!important}
.fein-brand-fallback small,.fein-wordmark small{color:#111418!important}
.fein-footer .fein-wordmark small{color:#fff!important}

/* Red accents stay controlled, never become a background wash */
.fein-kicker:before,
.fein-menu a:after,
.fein-company-story-visual:after{background:var(--accent)!important;border-color:var(--accent)!important}
.fein-hero h1 em,.fein-service-overlay span,.fein-contact-mini span{color:var(--accent)!important}

@media(max-width:700px){
  .fein-page-hero:before{width:12%}
  .fein-process-row{padding-left:12px;padding-right:12px}
  .fein-gallery-filters{padding:10px 12px}
}

/* =========================================================
   FE.IN. v0.4.6 — LAVORAZIONI SECTION CONTRAST PASS
   ========================================================= */

/* Hero: clean white surface with a soft separation shadow */
.fein-page-lavorazioni .fein-page-hero{
  background:#ffffff!important;
  border-bottom:0!important;
  box-shadow:0 16px 30px rgba(17,20,24,.10), 0 3px 8px rgba(17,20,24,.05)!important;
  position:relative!important;
  z-index:3!important;
}

/* The section immediately below the Lavorazioni hero gets the light grey rhythm */
.fein-page-lavorazioni .fein-gallery-page-section{
  background:#f2f2f2!important;
  position:relative!important;
  z-index:1!important;
}

/* Slightly softer typography on the grey surface */
.fein-page-lavorazioni .fein-gallery-page-section h1,
.fein-page-lavorazioni .fein-gallery-page-section h2,
.fein-page-lavorazioni .fein-gallery-page-section h3{
  color:#20252a!important;
}
.fein-page-lavorazioni .fein-gallery-page-section p,
.fein-page-lavorazioni .fein-gallery-page-section .fein-section-head p{
  color:#626a71!important;
}
.fein-page-lavorazioni .fein-gallery-page-section .fein-kicker{
  color:#5f6870!important;
}

/* Keep gallery controls crisp on the grey background */
.fein-page-lavorazioni .fein-gallery-filters{
  background:#ffffff!important;
  border:1px solid #dfe3e6!important;
  box-shadow:0 8px 20px rgba(17,20,24,.05)!important;
}

@media(max-width:700px){
  .fein-page-lavorazioni .fein-page-hero{
    box-shadow:0 12px 24px rgba(17,20,24,.09), 0 2px 6px rgba(17,20,24,.04)!important;
  }
}


/* =========================================================
   FE.IN. v0.4.7 — PREVENTIVO / PRIVACY / MAPS
========================================================= */
#preventivo {
  scroll-margin-top: 150px;
}
.fein-consent a {
  color: #b91f2a;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
}
.fein-consent a:hover {
  color: #111820;
}
.fein-contact-map {
  position: relative;
}
.fein-contact-map::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px rgba(17,24,32,.08);
}
@media (max-width: 782px) {
  #preventivo { scroll-margin-top: 100px; }
}

/* =========================================================
   FE.IN. v0.4.8 — GLOBAL INTERNAL HERO SEPARATION
   ========================================================= */

/* All internal page heroes: white surface + soft 3D separation */
.fein-page .fein-page-hero,
.fein-page-lavorazioni .fein-page-hero{
  background:#ffffff!important;
  border-bottom:0!important;
  box-shadow:0 16px 30px rgba(17,20,24,.10),0 3px 8px rgba(17,20,24,.05)!important;
  position:relative!important;
  z-index:3!important;
}

/* First content block under every internal hero */
.fein-page > .fein-page-content,
.fein-page-lavorazioni .fein-gallery-page-section{
  background:#f2f2f2!important;
  position:relative!important;
  z-index:1!important;
}

/* Softer text balance over the light-grey section */
.fein-page > .fein-page-content h1,
.fein-page > .fein-page-content h2,
.fein-page > .fein-page-content h3,
.fein-page-lavorazioni .fein-gallery-page-section h1,
.fein-page-lavorazioni .fein-gallery-page-section h2,
.fein-page-lavorazioni .fein-gallery-page-section h3{
  color:#20252a!important;
}
.fein-page > .fein-page-content p,
.fein-page > .fein-page-content li,
.fein-page-lavorazioni .fein-gallery-page-section p{
  color:#626a71!important;
}

@media(max-width:700px){
  .fein-page .fein-page-hero,
  .fein-page-lavorazioni .fein-page-hero{
    box-shadow:0 12px 24px rgba(17,20,24,.09),0 2px 6px rgba(17,20,24,.04)!important;
  }
}

/* =========================================================
   FE.IN. v0.4.9 — CAPACITA & SETTORI / MATERIALI
   Contrasto premium su fondi scuri
========================================================= */
.fein-cap-materials > div {
  background: #11161b !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 14px 36px rgba(10,14,18,.14) !important;
}
.fein-cap-materials > div:nth-child(2) {
  background: #171d22 !important;
}
.fein-cap-materials span {
  color: #c99a3d !important;
}
.fein-cap-materials > div:nth-child(2) span {
  color: #65c7c5 !important;
}
.fein-cap-materials h3,
.fein-cap-materials h2,
.fein-cap-materials h1 {
  color: #ffffff !important;
  opacity: 1 !important;
}
.fein-cap-materials p {
  color: #c7ced3 !important;
  opacity: 1 !important;
}

/* =========================================================
   FE.IN. v0.5.0 — GLOBAL DARK SECTION CONTRAST SYSTEM
   Regola globale: nessun testo scuro su fondi neri/antracite.
========================================================= */

/* Dark surfaces used throughout the theme */
.fein-topbar,
.fein-services,
.fein-cap-materials > div,
.fein-cta-overlay,
.fein-footer,
.fein-dark,
.fein-section-dark,
.has-black-background-color,
.has-contrast-background-color {
  color:#ffffff !important;
}

/* Headings are always white on dark surfaces */
.fein-services h1,
.fein-services h2,
.fein-services h3,
.fein-services h4,
.fein-services h5,
.fein-services h6,
.fein-cap-materials h1,
.fein-cap-materials h2,
.fein-cap-materials h3,
.fein-cap-materials h4,
.fein-cap-materials h5,
.fein-cap-materials h6,
.fein-cta-overlay h1,
.fein-cta-overlay h2,
.fein-cta-overlay h3,
.fein-cta-overlay h4,
.fein-footer h1,
.fein-footer h2,
.fein-footer h3,
.fein-footer h4,
.fein-footer h5,
.fein-footer h6,
.fein-dark h1,
.fein-dark h2,
.fein-dark h3,
.fein-dark h4,
.fein-dark h5,
.fein-dark h6,
.fein-section-dark h1,
.fein-section-dark h2,
.fein-section-dark h3,
.fein-section-dark h4,
.fein-section-dark h5,
.fein-section-dark h6,
.has-black-background-color h1,
.has-black-background-color h2,
.has-black-background-color h3,
.has-black-background-color h4,
.has-black-background-color h5,
.has-black-background-color h6,
.has-contrast-background-color h1,
.has-contrast-background-color h2,
.has-contrast-background-color h3,
.has-contrast-background-color h4,
.has-contrast-background-color h5,
.has-contrast-background-color h6 {
  color:#ffffff !important;
  opacity:1 !important;
}

/* Body copy becomes a soft light grey */
.fein-services p,
.fein-services li,
.fein-cap-materials p,
.fein-cap-materials li,
.fein-cta-overlay p,
.fein-cta-overlay li,
.fein-footer p,
.fein-footer li,
.fein-dark p,
.fein-dark li,
.fein-section-dark p,
.fein-section-dark li,
.has-black-background-color p,
.has-black-background-color li,
.has-contrast-background-color p,
.has-contrast-background-color li {
  color:#cbd1d5 !important;
  opacity:1 !important;
}

/* Links and strong copy must remain visible */
.fein-services a:not(.fein-btn),
.fein-cap-materials a:not(.fein-btn),
.fein-cta-overlay a:not(.fein-btn),
.fein-footer a,
.fein-dark a:not(.fein-btn),
.fein-section-dark a:not(.fein-btn),
.has-black-background-color a:not(.fein-btn),
.has-contrast-background-color a:not(.fein-btn),
.fein-services strong,
.fein-cap-materials strong,
.fein-cta-overlay strong,
.fein-footer strong,
.fein-dark strong,
.fein-section-dark strong {
  color:#ffffff !important;
}

/* Microcopy / kicker on dark backgrounds */
.fein-services .fein-kicker,
.fein-cta-overlay .fein-kicker,
.fein-dark .fein-kicker,
.fein-section-dark .fein-kicker {
  color:#f1f3f4 !important;
}
.fein-services .fein-kicker::before,
.fein-cta-overlay .fein-kicker::before,
.fein-dark .fein-kicker::before,
.fein-section-dark .fein-kicker::before {
  background:#c8202f !important;
}

/* Service cards */
.fein-service-overlay h3,
.fein-service-overlay b {
  color:#ffffff !important;
}
.fein-service-overlay span {
  color:#d2a24a !important;
}

/* Material cards keep their intentional dual accent */
.fein-cap-materials > div:first-child > span {
  color:#d2a24a !important;
}
.fein-cap-materials > div:nth-child(2) > span {
  color:#67c8c8 !important;
}
.fein-cap-materials > div h3 {
  color:#ffffff !important;
}
.fein-cap-materials > div p {
  color:#cbd1d5 !important;
}

/* Footer contrast */
.fein-footer,
.fein-footer p,
.fein-footer span {
  color:#cbd1d5 !important;
}
.fein-footer .fein-wordmark,
.fein-footer h4 {
  color:#ffffff !important;
}
.fein-footer a:hover {
  color:#ffffff !important;
}

/* =========================================================
   FE.IN. v0.6.0 — SERVICE PAGES + PREMIUM SPACING SYSTEM
   White-first layout, controlled grey sections, global dark contrast.
========================================================= */

/* Main internal pages stay white. Grey is used only as a secondary rhythm. */
.fein-page > .fein-page-content,
.fein-page-lavorazioni .fein-gallery-page-section{
  background:#fff!important;
}

/* More breathing room inside editorial blocks across the site */
.fein-company-lead,
.fein-company-story,
.fein-cap-lead,
.fein-cap-split,
.fein-contact-local,
.fein-contact-form-wrap,
.fein-gallery-intro,
.fein-service-intro-grid{
  background:#fff!important;
  padding:52px 56px!important;
  border:1px solid #e6e8ea;
  box-shadow:0 16px 34px rgba(17,20,24,.055);
}
.fein-company-lead,
.fein-company-story,
.fein-cap-split,
.fein-contact-local,
.fein-contact-form-wrap{gap:72px!important}

/* A restrained grey section per page instead of an all-grey site */
.fein-company-process,
.fein-service-gallery-section,
.fein-page-lavorazioni .fein-gallery-intro,
.fein-contact-appbar{
  background:#f2f2f2!important;
}
.fein-company-process{padding:52px!important}
.fein-contact-appbar{padding:26px!important;border:1px solid #e1e4e6}

/* Photos: 3px frame + soft depth everywhere content photography appears */
.fein-page img,
.fein-home img,
.fein-service-page img{
  border-color:#fff;
}
.fein-company-photo-main img,
.fein-company-photo-small img,
.fein-company-story-visual img,
.fein-cap-photo img,
.fein-service-hero-photo img,
.fein-service-gallery .fein-gallery-open img{
  border:3px solid #fff!important;
  box-shadow:0 18px 38px rgba(17,20,24,.14),0 4px 10px rgba(17,20,24,.08)!important;
}

/* Global dark-surface safety: headings white, copy light. */
.fein-services h3,
.fein-company-material-band h3,
.fein-company-material-band strong,
.fein-company-material-band b,
.fein-company-material-band p,
.fein-cap-materials h3,
.fein-cap-materials p,
.fein-material-card h3,
.fein-material-card span,
.fein-cta-overlay h3,
.fein-footer h3,
.fein-footer h4,
.fein-dark h3,
.fein-section-dark h3{
  opacity:1!important;
}
.fein-services h3,
.fein-company-material-band h3,
.fein-company-material-band strong,
.fein-company-material-band b,
.fein-cap-materials h3,
.fein-material-card h3,
.fein-cta-overlay h3,
.fein-footer h3,
.fein-footer h4,
.fein-dark h3,
.fein-section-dark h3{
  color:#fff!important;
}
.fein-company-material-band p,
.fein-cap-materials p,
.fein-material-card span{
  color:#cbd1d5!important;
}

/* Material icons replace old 01/02/03 numerals */
.fein-material-icon{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  color:#d2a24a!important;
  margin:0 0 18px;
  letter-spacing:0!important;
}
.fein-company-material-band>div:nth-child(2) .fein-material-icon{color:#67c8c8!important}
.fein-company-material-band>div:nth-child(3) .fein-material-icon{color:#c8202f!important}
.fein-material-icon svg{width:46px;height:46px;display:block}
.fein-company-material-band strong{margin:10px 0 14px!important}

/* Home service cards now link to their dedicated pages */
.fein-service-card-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none;position:relative;z-index:1}
.fein-service-card:after{pointer-events:none}
.fein-service-card-link:focus-visible{outline:3px solid #fff;outline-offset:-5px}

/* Dedicated service pages */
.fein-service-page{background:#fff}
.fein-service-hero{background:#fff!important;box-shadow:0 14px 34px rgba(17,20,24,.08)!important}
.fein-service-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.fein-service-hero h1{font-size:clamp(54px,6.5vw,94px)!important;max-width:760px}
.fein-service-hero .fein-page-hero-intro{font-size:18px;line-height:1.75;color:#5c646a;max-width:720px;margin:24px 0 0}
.fein-service-hero-photo{margin:0;height:420px;overflow:hidden;background:#f2f2f2}
.fein-service-hero-photo img{width:100%;height:100%;object-fit:cover}
.fein-service-intro-section{padding:88px 0;background:#fff}
.fein-service-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.fein-service-intro-grid h2{font:800 clamp(38px,4.6vw,66px)/1 Manrope,sans-serif;letter-spacing:-.05em;margin:0}
.fein-service-intro-grid p{font-size:18px;line-height:1.85;color:#5b646b;margin:0}
.fein-service-gallery-section{padding:96px 0 112px;background:#f2f2f2!important}
.fein-service-gallery .fein-gallery-grid{margin-top:10px}
.fein-service-gallery .fein-gallery-item{background:#fff}
.fein-service-cta{padding:78px 0;background:#11161b;color:#fff}
.fein-service-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}
.fein-service-cta h2{font:800 clamp(38px,5vw,68px)/1 Manrope;margin:0 0 16px;color:#fff}
.fein-service-cta p{color:#cbd1d5;max-width:650px;margin:0;font-size:16px;line-height:1.75}
.fein-service-cta .fein-kicker{color:#fff}

/* New gallery assets: keep cards clean and legible */
.fein-gallery-caption b{color:#fff!important}
.fein-gallery-caption i{color:#d9dee2!important}

@media(max-width:900px){
  .fein-company-lead,.fein-company-story,.fein-cap-lead,.fein-cap-split,.fein-contact-local,.fein-contact-form-wrap,.fein-gallery-intro,.fein-service-intro-grid{padding:38px 34px!important;gap:44px!important}
  .fein-service-hero-grid,.fein-service-intro-grid{grid-template-columns:1fr}
  .fein-service-hero-photo{height:360px}
  .fein-service-cta-inner{display:grid}
}
@media(max-width:600px){
  .fein-company-lead,.fein-company-story,.fein-cap-lead,.fein-cap-split,.fein-contact-local,.fein-contact-form-wrap,.fein-gallery-intro,.fein-service-intro-grid{padding:30px 24px!important}
  .fein-company-process{padding:36px 24px!important}
  .fein-service-hero-photo{height:280px}
  .fein-service-gallery-section{padding:70px 0 82px}
}

/* =========================================================
   FE.IN. v0.6.1 — PRIVACY / COOKIE CONSENT
========================================================= */
.fein-cookie-settings-link{appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.fein-cookie-panel{position:fixed;inset:0;z-index:999999;display:flex;align-items:flex-end;justify-content:center;padding:24px;background:rgba(9,12,15,.45);backdrop-filter:blur(5px)}
.fein-cookie-card{position:relative;width:min(980px,100%);background:#fff;color:#161b20;border:1px solid #dfe2e4;border-top:4px solid #c3202b;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:32px 34px}
.fein-cookie-kicker{font-size:11px;font-weight:800;letter-spacing:.18em;color:#c3202b;margin-bottom:12px}
.fein-cookie-card h2{margin:0 48px 12px 0!important;color:#161b20!important;font:800 clamp(28px,4vw,44px)/1 Manrope,sans-serif;letter-spacing:-.04em}
.fein-cookie-card>p{margin:0 0 18px;color:#555f67;line-height:1.65;max-width:830px}
.fein-cookie-x{position:absolute;right:20px;top:18px;width:42px;height:42px;border:1px solid #d9dcde;border-radius:50%;background:#fff;color:#161b20;font-size:26px;line-height:1;cursor:pointer}
.fein-cookie-prefs{display:none;border-top:1px solid #e3e5e6;border-bottom:1px solid #e3e5e6;margin:18px 0}
.fein-cookie-prefs.is-open{display:block}
.fein-cookie-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;color:#161b20}
.fein-cookie-row+ .fein-cookie-row{border-top:1px solid #e8eaeb}
.fein-cookie-row b{display:block;margin-bottom:4px}.fein-cookie-row small{display:block;color:#667079;max-width:680px;line-height:1.45}.fein-cookie-row input{width:22px;height:22px;accent-color:#c3202b;flex:0 0 auto}
.fein-cookie-lock{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#687078;background:#f2f3f4;padding:8px 10px;border-radius:999px}
.fein-cookie-links{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0}.fein-cookie-links a{color:#303941;font-size:13px;font-weight:700;text-underline-offset:3px}
.fein-cookie-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}.fein-cookie-btn{min-height:46px;padding:0 20px;border:1px solid #cfd4d7;background:#fff;color:#161b20;font-weight:800;cursor:pointer}.fein-cookie-accept{background:#c3202b;border-color:#c3202b;color:#fff}.fein-cookie-reject{background:#10161b;border-color:#10161b;color:#fff}.fein-cookie-settings-btn{background:#f2f3f4}
.fein-map-consent{min-height:430px;display:grid;place-items:center;background:#f2f3f4;border:1px solid #dfe2e4}.fein-map-consent iframe{width:100%;height:100%;min-height:430px;border:0}.fein-map-placeholder{text-align:center;padding:40px;max-width:560px}.fein-map-placeholder b{display:block;font:800 28px/1.1 Manrope;margin-bottom:12px;color:#161b20}.fein-map-placeholder p{color:#606a72;margin:0 0 22px}.fein-thirdparty-note{font-size:12px!important;color:#697179!important;margin:10px 0 18px}.fein-thirdparty-note button{border:0;background:transparent;color:#c3202b;text-decoration:underline;text-underline-offset:3px;font:inherit;font-weight:800;cursor:pointer}.fein-recaptcha-slot{min-height:78px}.fein-legal{max-width:920px}.fein-legal h2{margin-top:48px!important;margin-bottom:20px!important}.fein-legal h3{margin-top:30px!important;margin-bottom:14px!important;color:#20262b!important}.fein-legal p,.fein-legal li{line-height:1.8}.fein-legal code{background:#f2f3f4;padding:2px 6px;border-radius:3px}.fein-legal .fein-cookie-settings-link{color:#c3202b;font-weight:800}
@media(max-width:720px){.fein-cookie-panel{padding:12px}.fein-cookie-card{padding:26px 20px 20px}.fein-cookie-actions{display:grid;grid-template-columns:1fr}.fein-cookie-btn{width:100%}.fein-cookie-row{align-items:flex-start}.fein-map-consent,.fein-map-consent iframe{min-height:340px}}

/* =========================================================
   FE.IN. v0.6.2 — FINAL VISUAL CONSISTENCY PASS
   Global spacing, dark contrast, sector icons, gallery taxonomy.
========================================================= */

/* More generous breathing room inside white editorial cards */
.fein-company-lead,
.fein-company-story,
.fein-cap-lead,
.fein-cap-split,
.fein-contact-local,
.fein-contact-form-wrap,
.fein-gallery-intro,
.fein-service-intro-grid{
  background:#fff!important;
  padding:64px 68px!important;
  gap:80px!important;
}
.fein-company-collage,
.fein-cap-photo,
.fein-service-hero-photo{
  margin:8px!important;
}

/* All dark surfaces: absolute contrast safety across the whole site */
.fein-services,
.fein-company-material-band,
.fein-cap-materials,
.fein-gallery-cta,
.fein-service-cta,
.fein-cta-overlay,
.fein-footer,
.fein-dark,
.fein-section-dark,
.has-black-background-color,
.has-contrast-background-color{
  color:#fff!important;
}
.fein-services h1,.fein-services h2,.fein-services h3,.fein-services h4,.fein-services h5,.fein-services h6,
.fein-company-material-band h1,.fein-company-material-band h2,.fein-company-material-band h3,.fein-company-material-band h4,.fein-company-material-band h5,.fein-company-material-band h6,
.fein-cap-materials h1,.fein-cap-materials h2,.fein-cap-materials h3,.fein-cap-materials h4,.fein-cap-materials h5,.fein-cap-materials h6,
.fein-gallery-cta h1,.fein-gallery-cta h2,.fein-gallery-cta h3,.fein-gallery-cta h4,.fein-gallery-cta h5,.fein-gallery-cta h6,
.fein-service-cta h1,.fein-service-cta h2,.fein-service-cta h3,.fein-service-cta h4,.fein-service-cta h5,.fein-service-cta h6,
.fein-cta-overlay h1,.fein-cta-overlay h2,.fein-cta-overlay h3,.fein-cta-overlay h4,.fein-cta-overlay h5,.fein-cta-overlay h6,
.fein-footer h1,.fein-footer h2,.fein-footer h3,.fein-footer h4,.fein-footer h5,.fein-footer h6,
.fein-dark h1,.fein-dark h2,.fein-dark h3,.fein-dark h4,.fein-dark h5,.fein-dark h6,
.fein-section-dark h1,.fein-section-dark h2,.fein-section-dark h3,.fein-section-dark h4,.fein-section-dark h5,.fein-section-dark h6,
.has-black-background-color h1,.has-black-background-color h2,.has-black-background-color h3,.has-black-background-color h4,.has-black-background-color h5,.has-black-background-color h6,
.has-contrast-background-color h1,.has-contrast-background-color h2,.has-contrast-background-color h3,.has-contrast-background-color h4,.has-contrast-background-color h5,.has-contrast-background-color h6{
  color:#fff!important;
  opacity:1!important;
}
.fein-services p,.fein-services li,
.fein-company-material-band p,.fein-company-material-band li,
.fein-cap-materials p,.fein-cap-materials li,
.fein-gallery-cta p,.fein-gallery-cta li,
.fein-service-cta p,.fein-service-cta li,
.fein-cta-overlay p,.fein-cta-overlay li,
.fein-footer p,.fein-footer li,
.fein-dark p,.fein-dark li,
.fein-section-dark p,.fein-section-dark li,
.has-black-background-color p,.has-black-background-color li,
.has-contrast-background-color p,.has-contrast-background-color li{
  color:#e5e8ea!important;
  opacity:1!important;
}
.fein-gallery-cta .fein-kicker,
.fein-service-cta .fein-kicker,
.fein-dark .fein-kicker,
.fein-section-dark .fein-kicker{color:#d9a748!important}

/* Sector cards: graphical icons replace decorative numbering */
.fein-sector-icon{
  display:flex!important;
  width:56px!important;
  height:56px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 28px!important;
  color:#c3202b!important;
  opacity:1!important;
}
.fein-sector-icon svg{width:52px;height:52px;display:block}
.fein-sector-icon.is-building{color:#4f7f82!important}
.fein-sector-icon.is-industry{color:#1e2328!important}
.fein-sector-grid article>span.fein-sector-icon,
.fein-sector-home-grid article>span.fein-sector-icon{
  font-size:0!important;
  letter-spacing:0!important;
}

/* Gallery category buttons stay readable even with many categories */
.fein-gallery-filters{gap:10px!important;row-gap:10px!important;flex-wrap:wrap!important}

@media(max-width:900px){
  .fein-company-lead,.fein-company-story,.fein-cap-lead,.fein-cap-split,.fein-contact-local,.fein-contact-form-wrap,.fein-gallery-intro,.fein-service-intro-grid{
    padding:46px 40px!important;gap:48px!important;
  }
}
@media(max-width:600px){
  .fein-company-lead,.fein-company-story,.fein-cap-lead,.fein-cap-split,.fein-contact-local,.fein-contact-form-wrap,.fein-gallery-intro,.fein-service-intro-grid{
    padding:30px 24px!important;
  }
  .fein-sector-icon{width:48px!important;height:48px!important;margin-bottom:20px!important}
  .fein-sector-icon svg{width:44px;height:44px}
}


/* =========================================================
   FE.IN. v0.7.0 — FINAL PREMIUM UPGRADE
   Final spacing, dark contrast and process icon pass.
========================================================= */

/* White remains the dominant page background. */
html, body, .site, .site-content, .ast-container, .fein-page, .fein-home,
.fein-company, .fein-capabilities, .fein-contact-page { background:#fff!important; }

/* Editorial cards: more air around copy and photography. */
.fein-company-lead,
.fein-company-story,
.fein-cap-lead,
.fein-cap-split,
.fein-contact-local,
.fein-contact-form-wrap,
.fein-gallery-intro,
.fein-service-intro-grid{
  background:#fff!important;
  padding:72px 76px!important;
  gap:88px!important;
}
.fein-company-copy,
.fein-company-story-copy,
.fein-cap-copy,
.fein-contact-copy,
.fein-service-intro-grid>div{min-width:0}
.fein-company-collage,
.fein-company-story-visual,
.fein-cap-photo,
.fein-service-hero-photo{
  margin:18px!important;
}

/* Global media frame: 3px + soft 3D depth. */
.fein-company-photo-main img,
.fein-company-photo-small img,
.fein-company-story-visual img,
.fein-cap-photo img,
.fein-service-hero-photo img,
.fein-gallery-open img,
.fein-masonry img,
.fein-material-card img,
.fein-photo-main,
.fein-photo-small{
  border:3px solid #fff!important;
  box-shadow:0 20px 42px rgba(12,18,24,.16),0 5px 12px rgba(12,18,24,.08)!important;
}

/* Absolute contrast on every dark surface. */
.fein-services,
.fein-company-material-band,
.fein-cap-materials,
.fein-gallery-cta,
.fein-service-cta,
.fein-cta-overlay,
.fein-footer,
.fein-dark,
.fein-section-dark{
  background-color:#11171d;
  color:#fff!important;
}
.fein-services :is(h1,h2,h3,h4,h5,h6),
.fein-company-material-band :is(h1,h2,h3,h4,h5,h6),
.fein-cap-materials :is(h1,h2,h3,h4,h5,h6),
.fein-gallery-cta :is(h1,h2,h3,h4,h5,h6),
.fein-service-cta :is(h1,h2,h3,h4,h5,h6),
.fein-cta-overlay :is(h1,h2,h3,h4,h5,h6),
.fein-footer :is(h1,h2,h3,h4,h5,h6),
.fein-dark :is(h1,h2,h3,h4,h5,h6),
.fein-section-dark :is(h1,h2,h3,h4,h5,h6){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}
.fein-services :is(p,li),
.fein-company-material-band :is(p,li),
.fein-cap-materials :is(p,li),
.fein-gallery-cta :is(p,li),
.fein-service-cta :is(p,li),
.fein-cta-overlay :is(p,li),
.fein-footer :is(p,li),
.fein-dark :is(p,li),
.fein-section-dark :is(p,li){
  color:#eef1f3!important;
  -webkit-text-fill-color:#eef1f3!important;
  opacity:1!important;
}
.fein-cap-materials>div h3,
.fein-gallery-cta h3{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.fein-cap-materials>div p,
.fein-gallery-cta p{
  color:#eef1f3!important;
  -webkit-text-fill-color:#eef1f3!important;
}
.fein-cap-materials>div:first-child>span{color:#d9a748!important;-webkit-text-fill-color:#d9a748!important}
.fein-cap-materials>div:nth-child(2)>span{color:#59ccd0!important;-webkit-text-fill-color:#59ccd0!important}
.fein-gallery-cta .fein-kicker{color:#f0f2f4!important;-webkit-text-fill-color:#f0f2f4!important}

/* Process icons replace all large decorative numerals. */
.fein-process-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  height:58px!important;
  margin:0 0 26px!important;
  font-size:0!important;
  line-height:1!important;
  color:#c3202b!important;
  opacity:1!important;
}
.fein-process-icon svg{width:54px!important;height:54px!important;display:block!important}
.fein-process-icon.is-design{color:#d2a24a!important}
.fein-process-icon.is-build{color:#4faeb2!important}
.fein-process-icon.is-install{color:#1d2329!important}
.fein-process-row>div,
.fein-company-process-grid article{padding-top:34px!important}
.fein-process-row .fein-process-icon,
.fein-company-process-grid .fein-process-icon{font:inherit!important}

/* Sector icons are the only visual marker, never fallback numerals. */
.fein-sector-grid article>span:not(.fein-sector-icon),
.fein-sector-home-grid article>span:not(.fein-sector-icon){display:none!important}

/* Controlled secondary grey rhythm only. */
.fein-company-process,
.fein-process,
.fein-service-gallery-section,
.fein-contact-appbar{background:#f2f2f2!important}

@media(max-width:900px){
  .fein-company-lead,.fein-company-story,.fein-cap-lead,.fein-cap-split,
  .fein-contact-local,.fein-contact-form-wrap,.fein-gallery-intro,.fein-service-intro-grid{
    padding:46px 40px!important;gap:50px!important;
  }
  .fein-company-collage,.fein-company-story-visual,.fein-cap-photo,.fein-service-hero-photo{margin:10px!important}
}
@media(max-width:600px){
  .fein-company-lead,.fein-company-story,.fein-cap-lead,.fein-cap-split,
  .fein-contact-local,.fein-contact-form-wrap,.fein-gallery-intro,.fein-service-intro-grid{
    padding:32px 24px!important;
  }
  .fein-process-icon{width:48px!important;height:48px!important;margin-bottom:20px!important}
  .fein-process-icon svg{width:44px!important;height:44px!important}
}

/* =========================================================
   FE.IN. v0.7.2 — FORM FEEDBACK
   ========================================================= */
.fein-form-success,
.fein-form-error{
  display:grid;
  gap:6px;
  margin:0 0 20px;
  padding:18px 20px;
  border-radius:10px;
  border:1px solid transparent;
  box-shadow:0 12px 30px rgba(17,24,32,.06);
}
.fein-form-success{
  background:#edf8f2;
  border-color:#b8dfc8;
  color:#173c28;
}
.fein-form-error{
  background:#fff0f1;
  border-color:#efc1c6;
  color:#7c1822;
}
.fein-form-success strong,
.fein-form-error strong{
  font:800 17px/1.25 Manrope,Inter,sans-serif;
}
.fein-form-success span,
.fein-form-error span{
  font-size:13px;
  line-height:1.55;
}

/* v0.7.4 — contenuti editoriali Gutenberg / Yoast */
.fein-editorial-section{background:#fff;padding:clamp(48px,6vw,88px) 0;border-top:1px solid rgba(14,19,24,.08);border-bottom:1px solid rgba(14,19,24,.08)}
.fein-editorial-page{margin:0 0 clamp(48px,6vw,82px);padding:clamp(38px,5vw,68px);background:#f2f3f4;border-radius:18px;border:1px solid rgba(14,19,24,.08)}
.fein-editorial-copy{max-width:920px;margin:0 auto}
.fein-editorial-copy h2{font-size:clamp(30px,4vw,52px);line-height:1.02;letter-spacing:-.035em;margin:0 0 28px;color:#101419}
.fein-editorial-copy h3{font-size:clamp(22px,2.6vw,30px);line-height:1.15;margin:38px 0 18px;color:#101419}
.fein-editorial-copy p{font-size:clamp(17px,1.5vw,19px);line-height:1.75;color:#59636e;margin:0 0 20px}
.fein-editorial-copy strong{color:#101419}
.fein-editorial-copy ul{margin:24px 0 0;padding-left:22px;columns:2;column-gap:52px}
.fein-editorial-copy li{break-inside:avoid;margin:0 0 12px;color:#303942;line-height:1.55}
@media(max-width:782px){.fein-editorial-page{padding:28px 22px;border-radius:14px}.fein-editorial-copy ul{columns:1}.fein-editorial-section{padding:44px 0}}

/* FE.IN. v0.7.7 — conferma form chiara e ancorata */
#grazie{scroll-margin-top:120px}.fein-form-success-final{display:flex;align-items:flex-start;gap:18px;background:#eaf8ee!important;border:1px solid #8bcf9c!important;border-left:5px solid #238c42!important;color:#123c20!important;padding:24px 26px!important;border-radius:6px;box-shadow:0 14px 34px rgba(35,140,66,.12)}.fein-form-success-final .fein-success-icon{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#238c42;color:#fff;font-size:22px;font-weight:900}.fein-form-success-final strong{display:block;font:800 20px/1.2 Manrope,Inter,sans-serif;color:#123c20!important;margin:1px 0 7px}.fein-form-success-final span{display:block;color:#2f5c3a!important;line-height:1.55}.fein-form-error{background:#fff0f0;border:1px solid #e7abab;border-left:5px solid #c3202b;color:#651820;padding:20px 22px;border-radius:6px}.fein-form-error strong,.fein-form-error span{display:block}.fein-form-error strong{margin-bottom:6px}.fein-contact-form-wrap:has(#grazie){align-items:start}
