@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@600;700;800;900&family=Inter:wght@400;500;600;700&display=swap");

:root { --orange:#ee7f23; --orange-dark:#d66d19; --blue:#2b4652; --petroleum:#1f3540; --graphite:#5a636a; --panel:#f2f3f4; --white:#fff; --line:#d9dfe2; --shell:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--petroleum); background:var(--white); font-family:"Inter",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
img { max-width:100%; }
.shell { width:min(var(--shell),calc(100% - 48px)); margin-inline:auto; }

.site-header { position:fixed; z-index:1000; top:0; left:0; width:100%; overflow:visible; border:0; border-bottom:1px solid rgba(31,53,64,.14); background:rgba(255,255,255,.84); box-shadow:0 10px 28px rgba(11,28,36,.09); backdrop-filter:blur(18px) saturate(145%); -webkit-backdrop-filter:blur(18px) saturate(145%); }
.site-header::before,.site-header::after { content:""; position:absolute; z-index:0; pointer-events:none; background-repeat:no-repeat; background-size:contain; opacity:1; }
.site-header::before { top:0; left:0; width:118px; height:92px; background-image:url("../images/menu-canto-superior-esquerdo.png"); background-position:left top; }
.site-header::after { right:0; bottom:0; width:125px; height:92px; background-image:url("../images/menu-canto-inferior-direito.png"); background-position:right bottom; }
.header-inner { position:relative; z-index:1; min-height:92px; display:flex; align-items:center; gap:26px; padding-inline:20px; }
.brand { flex:0 0 250px; }
.brand img { display:block; width:250px; height:auto; }
.desktop-nav { align-self:stretch; margin-left:auto; display:flex; align-items:center; gap:24px; }
.desktop-nav a { color:#111; text-decoration:none; font-size:13px; font-weight:700; }
.desktop-nav a:hover { color:var(--orange); }
.nav-item { position:relative; align-self:stretch; display:flex; align-items:center; }
.nav-item>a { display:flex; align-items:center; gap:5px; height:100%; }
.submenu-arrow { position:relative; top:-1px; color:var(--orange); font-size:16px; }
.nav-submenu { position:absolute; top:100%; left:-22px; width:245px; padding:10px; border:1px solid rgba(31,53,64,.14); border-top:3px solid var(--orange); background:rgba(255,255,255,.96); box-shadow:0 20px 48px rgba(11,28,36,.16); backdrop-filter:blur(18px) saturate(145%); -webkit-backdrop-filter:blur(18px) saturate(145%); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s,transform .2s,visibility .2s; }
.nav-submenu a { display:block; padding:13px 14px; color:#111; font-size:12px; text-transform:uppercase; letter-spacing:.035em; }
.nav-submenu a:hover,.nav-submenu a:focus-visible { color:#fff; background:#111; }
.nav-products:hover .nav-submenu,.nav-products:focus-within .nav-submenu { opacity:1; visibility:visible; transform:translateY(0); }
.header-cta { margin-left:6px; padding:13px 16px; color:var(--white); background:#111; text-decoration:none; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; transition:background .2s,color .2s; }
.header-cta:hover { background:var(--orange); }
.mobile-menu { display:none; margin-left:auto; }

.hero { position:relative; min-height:760px; overflow:hidden; display:flex; align-items:center; color:var(--white); background:var(--petroleum); }
.hero-media { position:absolute; inset:0 0 0 48%; background:linear-gradient(rgba(31,53,64,.15),rgba(31,53,64,.2)),url("../images/fachada-gshidrau.jpg") center 43%/cover no-repeat; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--petroleum) 0%,var(--petroleum) 45%,rgba(31,53,64,.93) 53%,rgba(31,53,64,.18) 100%); }
.industrial-grid { position:absolute; z-index:1; inset:0; opacity:.15; background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,#000,transparent 65%); }
.hero-content { position:relative; z-index:3; padding-top:80px; }
.eyebrow,.section-index { margin:0; color:var(--orange); font:700 12px "Barlow",sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:12px; color:#dce4e7; }
.eyebrow span { width:42px; height:4px; background:var(--orange); }
h1,h2,h3 { font-family:"Barlow",sans-serif; }
h1 { max-width:760px; margin:28px 0 0; font-size:clamp(60px,7vw,96px); font-weight:800; line-height:.92; letter-spacing:-.04em; text-transform:uppercase; }
h1 em { color:var(--orange); font-style:normal; }
.hero-lead { max-width:640px; margin:30px 0 34px; color:#d4dde1; font-size:17px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:52px; padding:0 22px; border:1px solid transparent; text-decoration:none; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:var(--white); background:var(--orange); }
.button-primary:hover { background:var(--orange-dark); }
.button-ghost { color:var(--white); border-color:rgba(255,255,255,.34); }
.button-light { color:var(--petroleum); background:var(--white); }
.proof-line { display:flex; gap:38px; margin:50px 0 0; padding:0; list-style:none; color:#bac8cd; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.proof-line li { position:relative; }
.proof-line li+li::before { content:""; position:absolute; left:-21px; top:5px; width:4px; height:4px; border-radius:50%; background:var(--orange); }

.trust-strip { border-bottom:1px solid var(--line); background:var(--white); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-grid article { padding:28px 24px; border-left:1px solid var(--line); }
.trust-grid article:last-child { border-right:1px solid var(--line); }
.trust-grid strong,.trust-grid span { display:block; }
.trust-grid strong { margin-bottom:6px; font:800 22px "Barlow",sans-serif; text-transform:uppercase; }
.trust-grid span { color:var(--graphite); font-size:12px; }

.section { padding:110px 0; }
.section-heading { margin-bottom:52px; }
.section-heading h2,.about-copy h2,.segment-copy h2,.technical-panel h2,.contact-cta h2 { max-width:760px; margin:18px 0 0; font-size:clamp(42px,5vw,68px); font-weight:800; line-height:.98; letter-spacing:-.03em; text-transform:uppercase; }
.split-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:72px; align-items:end; }
.split-heading>p,.segment-copy>p,.technical-panel>p,.about-copy>p { color:var(--graphite); line-height:1.7; }
.products-section { background:var(--panel); }
.product-groups { display:grid; grid-template-columns:1fr 1fr .78fr; gap:20px; }
.product-group,.custom-card { min-height:420px; padding:34px; }
.product-group { position:relative; border:1px solid var(--line); background:var(--white); }
.card-number { color:var(--orange); font:700 12px "Barlow",sans-serif; letter-spacing:.12em; }
.product-group h3,.custom-card h3 { margin:30px 0 12px; font-size:30px; line-height:1; text-transform:uppercase; }
.product-group p,.custom-card p { color:var(--graphite); font-size:14px; line-height:1.6; }
.product-group ul { margin:24px 0; padding:0; columns:2; list-style:none; color:var(--graphite); font-size:13px; }
.product-group li { margin-bottom:9px; }
.product-group>a,.text-link { position:absolute; bottom:32px; color:var(--petroleum); font-size:13px; font-weight:700; text-decoration:none; text-transform:uppercase; }
.custom-card { position:relative; overflow:hidden; color:var(--white); background:var(--orange); }
.custom-card::after { content:""; position:absolute; right:-70px; bottom:-110px; width:240px; height:240px; border:38px solid rgba(255,255,255,.12); border-radius:50%; }
.custom-card .section-index,.custom-card p { color:var(--white); }
.text-link-light { position:absolute; z-index:1; bottom:34px; color:var(--white); font-size:13px; font-weight:700; text-decoration:none; text-transform:uppercase; }

.services-section { background:var(--white); }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { position:relative; min-height:310px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; transition:background .2s,color .2s; }
.service-card>span { color:var(--orange); font:700 12px "Barlow",sans-serif; }
.service-card h3 { margin:60px 0 14px; font-size:25px; line-height:1; text-transform:uppercase; }
.service-card p { color:var(--graphite); font-size:13px; line-height:1.6; }
.service-card b { position:absolute; right:26px; bottom:24px; font-size:22px; }
.service-card:hover { color:var(--white); background:var(--petroleum); }
.service-card:hover p { color:#c7d1d5; }

.segment-section { color:var(--white); background:var(--petroleum); }
.segment-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.segment-copy>p { margin:25px 0 34px; color:#bec9ce; }
.segment-list { border-top:1px solid rgba(255,255,255,.18); }
.segment-list a { display:grid; grid-template-columns:50px 1fr auto; align-items:center; min-height:69px; border-bottom:1px solid rgba(255,255,255,.18); text-decoration:none; transition:padding .2s,color .2s; }
.segment-list a:hover { padding-left:8px; color:var(--orange); }
.segment-list span { color:var(--orange); font-size:11px; }
.segment-list strong { font:700 20px "Barlow",sans-serif; text-transform:uppercase; }
.segment-list i { font-style:normal; }

.technical-section { background:var(--panel); }
.technical-layout { display:grid; grid-template-columns:1.05fr .95fr; box-shadow:0 22px 60px rgba(31,53,64,.12); }
.technical-panel { padding:64px; color:var(--white); background:var(--blue); }
.section-index-light { color:#f6ad6f; }
.technical-panel>p { margin:25px 0 32px; color:#c7d2d6; }
.technical-topics { padding:30px 54px; background:var(--white); }
.technical-topics article { display:flex; gap:24px; padding:29px 0; border-bottom:1px solid var(--line); }
.technical-topics article:last-child { border:0; }
.technical-topics span { color:var(--orange); font:700 12px "Barlow",sans-serif; }
.technical-topics h3 { margin:0 0 8px; font-size:22px; text-transform:uppercase; }
.technical-topics p { margin:0; color:var(--graphite); font-size:13px; line-height:1.5; }

.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.about-photo { position:relative; height:590px; overflow:hidden; background:var(--panel); }
.about-photo img { width:100%; height:100%; object-fit:cover; }
.about-photo span { position:absolute; left:0; bottom:0; padding:18px 24px; color:var(--white); background:var(--orange); font:700 14px "Barlow",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.about-copy { position:relative; padding-bottom:58px; }
.about-copy>p { margin:26px 0; }
.about-copy ul { margin:0; padding:0; list-style:none; }
.about-copy li { padding:15px 0; border-bottom:1px solid var(--line); font-weight:600; }
.about-copy .text-link { left:0; }
.about-layout-detailed { align-items:start; }
.about-left-column { width:100%; min-width:0; }
.about-copy-detailed { align-self:start; margin:0; padding:0; }
.about-copy-detailed>.section-index { margin-top:0; }
.about-copy-detailed h2 { font-size:clamp(36px,4vw,56px); }
.about-copy-detailed h3 { margin:40px 0 12px; font-size:28px; line-height:1.05; text-transform:uppercase; }
.about-copy-detailed strong { color:var(--petroleum); }
.about-copy-detailed ul { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; }
.about-copy-detailed li { padding:11px 0; font-size:14px; }
.about-location { width:100%; padding-top:42px; background:var(--white); }
.about-location-heading { padding-bottom:26px; }
.about-location-heading h2 { margin:14px 0 0; font-size:clamp(34px,3.3vw,46px); line-height:1; text-transform:uppercase; }
.about-contact-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.about-contact-grid article { min-width:0; min-height:125px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.about-contact-grid article:first-child { grid-column:1 / -1; }
.about-contact-grid span { display:block; margin-bottom:24px; color:var(--orange); font:700 11px "Barlow",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.about-contact-grid p,.about-contact-grid a { margin:0; color:var(--petroleum); font-size:14px; font-weight:650; line-height:1.65; overflow-wrap:anywhere; }
.about-contact-grid a { text-decoration:none; }
.about-contact-grid a:hover { color:var(--orange); }
.about-map { width:100%; aspect-ratio:1.45 / 1; height:auto; margin-top:26px; overflow:hidden; background:var(--panel); }
.about-map iframe { display:block; width:100%; height:100%; border:0; }

.contact-cta { padding:80px 0; color:var(--white); background:var(--orange); }
.contact-cta-inner { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:end; }
.contact-cta h2 { max-width:790px; font-size:clamp(38px,4.5vw,60px); }
.contact-cta-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.contact-cta-actions>a:not(.button) { color:var(--white); font-size:13px; font-weight:700; }

.site-footer { position:relative; overflow:hidden; padding:70px 0 28px; color:#111; background:#fff; border-top:5px solid var(--orange); }
.site-footer::before,.site-footer::after { content:""; position:absolute; z-index:0; pointer-events:none; background-repeat:no-repeat; background-size:contain; opacity:1; }
.site-footer::before { top:0; left:0; width:220px; height:172px; background-image:url("../images/menu-canto-superior-esquerdo.png"); background-position:left top; }
.site-footer::after { right:0; bottom:0; width:210px; height:155px; background-image:url("../images/menu-canto-inferior-direito.png"); background-position:right bottom; }
.footer-grid,.footer-bottom { position:relative; z-index:1; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:70px; padding-bottom:50px; }
.footer-brand img { width:250px; }
.footer-brand p { margin-top:22px; }
.footer-grid nav,.footer-grid address { display:flex; flex-direction:column; gap:12px; }
.footer-grid nav a,.footer-grid address a { color:#111; text-decoration:none; font-size:13px; font-weight:600; }
.footer-grid nav a:hover,.footer-grid address a:hover,.footer-bottom a:hover { color:var(--orange); }
.footer-grid address { font-style:normal; }
.footer-grid address strong { color:#111; font-family:"Barlow",sans-serif; text-transform:uppercase; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid #dfe3e5; font-size:11px; }
.footer-bottom a { text-decoration:none; }

.whatsapp-float { position:fixed; z-index:900; right:22px; bottom:22px; display:grid; place-items:center; width:58px; height:58px; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:var(--white); background:#1faa59; box-shadow:0 14px 34px rgba(13,77,39,.3); text-decoration:none; transition:transform .2s,background .2s,box-shadow .2s; }
.whatsapp-float img { width:32px; height:32px; display:block; }
.whatsapp-float:hover { transform:translateY(-3px); background:#178f49; box-shadow:0 18px 40px rgba(13,77,39,.38); }
.whatsapp-float:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }

.internal-hero { position:relative; min-height:560px; overflow:hidden; display:flex; align-items:flex-end; padding:170px 0 84px; color:var(--white); background:var(--petroleum); }
.internal-hero::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 78% 30%,rgba(238,127,35,.13),transparent 28%); }
.internal-hero-content { position:relative; z-index:3; }
.internal-hero h1 { max-width:960px; margin:24px 0 22px; font-size:clamp(52px,7vw,86px); }
.internal-hero-content>p:last-child { max-width:720px; margin:0; color:#c6d1d5; font-size:17px; line-height:1.7; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:34px; color:#9eb0b8; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.breadcrumbs a { text-decoration:none; }
.breadcrumbs span::before { content:"/"; margin-right:8px; color:var(--orange); }
.collection-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.collection-card { position:relative; min-height:330px; padding:34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; transition:background .2s,color .2s; }
.collection-card>span,.process-grid article>span { color:var(--orange); font:700 12px "Barlow",sans-serif; }
.collection-card h2 { margin:72px 0 16px; font-size:30px; line-height:1; text-transform:uppercase; }
.collection-card p { color:var(--graphite); font-size:14px; line-height:1.65; }
.collection-card b { position:absolute; right:30px; bottom:26px; font-size:22px; }
.collection-card:hover { color:var(--white); background:var(--petroleum); }
.collection-card:hover p { color:#c7d1d5; }
.family-list { border-top:1px solid var(--line); }
.family-list a { display:grid; grid-template-columns:70px 1fr auto; align-items:center; min-height:94px; border-bottom:1px solid var(--line); text-decoration:none; transition:padding .2s,color .2s; }
.family-list a:hover { padding-left:10px; color:var(--orange); }
.family-list span { color:var(--orange); font-size:12px; }
.family-list strong { font:700 27px "Barlow",sans-serif; text-transform:uppercase; }
.family-list i { font-style:normal; font-size:22px; }
.detail-layout { display:grid; grid-template-columns:1.1fr .7fr; gap:90px; align-items:start; }
.detail-layout article h2,.empty-state h2,.contact-details h2,.legal-copy h2 { margin:18px 0 24px; font-size:clamp(38px,4.5vw,60px); line-height:1; text-transform:uppercase; }
.detail-layout article>p:last-child,.empty-state p,.legal-copy p { color:var(--graphite); line-height:1.8; }
.detail-panel { padding:38px; color:var(--white); background:var(--blue); }
.detail-panel h3 { margin:0 0 22px; font-size:25px; text-transform:uppercase; }
.detail-panel ul { margin:0; padding:0; list-style:none; }
.detail-panel li { padding:15px 0; border-bottom:1px solid rgba(255,255,255,.16); font-size:14px; }
.technical-article { max-width:980px; }
.technical-article h2 { max-width:900px; margin:18px 0 46px; font-size:clamp(40px,5.5vw,72px); line-height:.98; letter-spacing:-.03em; text-transform:uppercase; }
.technical-article-content { color:var(--graphite); font-size:17px; line-height:1.8; }
.technical-article-content p { margin:0 0 30px; }
.technical-article-content strong { color:var(--petroleum); }
.technical-article-content ul { display:grid; grid-template-columns:1fr 1fr; gap:0 42px; margin:8px 0 38px; padding:0; list-style:none; border-top:1px solid var(--line); }
.technical-article-content li { padding:15px 0; border-bottom:1px solid var(--line); color:var(--petroleum); font-weight:650; }
.technical-article-content li::before { content:"—"; margin-right:12px; color:var(--orange); }
.technical-article-content .technical-article-tags { grid-template-columns:repeat(2,1fr); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.process-grid article { min-height:280px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.process-grid h2 { margin:64px 0 12px; font-size:26px; text-transform:uppercase; }
.process-grid p { color:var(--graphite); font-size:13px; line-height:1.6; }
.service-intro-grid { display:grid; grid-template-columns:.9fr 1fr; gap:90px; align-items:start; }
.service-intro h2 { max-width:620px; margin:18px 0 0; font-size:clamp(40px,5vw,68px); line-height:.98; text-transform:uppercase; }
.service-lead { padding-top:30px; }
.service-lead p { margin:0 0 20px; color:var(--graphite); font-size:16px; line-height:1.85; }
.service-photo-grid { display:grid; grid-template-columns:1.35fr .85fr; grid-template-rows:240px 240px; gap:10px; padding:0 max(24px,calc((100% - var(--shell))/2)) 80px; background:var(--white); }
.service-photo-grid figure { position:relative; overflow:hidden; margin:0; background:#f2f4f5; }
.service-photo-grid .service-photo-main { grid-row:1 / 3; }
.service-photo-grid img { width:100%; height:100%; display:block; padding:18px; object-fit:contain; transition:transform .7s cubic-bezier(.2,.65,.3,1); }
.service-photo-grid figure:hover img { transform:scale(1.035); }
.service-photo-grid figcaption { position:absolute; left:20px; bottom:18px; padding:9px 12px; color:var(--white); background:rgba(5,42,57,.82); font:700 12px "Barlow",sans-serif; letter-spacing:.06em; text-transform:uppercase; backdrop-filter:blur(8px); }
.service-capabilities { background:#f5f5f7; }
.service-capability-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-capability-grid article { min-height:300px; padding:34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); scroll-margin-top:130px; background:var(--white); }
.service-capability-grid span { color:var(--orange); font:700 12px "Barlow",sans-serif; }
.service-capability-grid h3 { margin:58px 0 16px; font-size:30px; line-height:1; text-transform:uppercase; }
.service-capability-grid p { max-width:560px; margin:0; color:var(--graphite); font-size:14px; line-height:1.7; }
.service-process-section { background:var(--white); }
.service-final { color:var(--white); background:var(--petroleum); }
.service-final-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.service-final h2 { max-width:750px; margin:18px 0 16px; font-size:clamp(40px,5vw,68px); line-height:.98; text-transform:uppercase; }
.service-final p { max-width:670px; margin:0; color:#c6d1d5; line-height:1.7; }
.service-final .button { flex:none; }
.empty-state { max-width:780px; padding-left:32px; border-left:5px solid var(--orange); }
.empty-state>span { color:var(--orange); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.contact-layout { display:grid; grid-template-columns:1.2fr .65fr; gap:80px; align-items:start; }
.quote-form { display:flex; flex-direction:column; gap:20px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.quote-form label { display:flex; flex-direction:column; gap:9px; color:var(--petroleum); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.quote-form input,.quote-form select,.quote-form textarea { width:100%; border:1px solid #cfd6d9; border-radius:0; padding:15px; color:var(--petroleum); background:var(--white); font:400 15px "Inter",sans-serif; text-transform:none; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { outline:2px solid var(--orange); outline-offset:2px; }
.quote-form .consent { flex-direction:row; align-items:center; text-transform:none; font-weight:500; }
.quote-form .consent input { width:18px; height:18px; }
.quote-form button { align-self:flex-start; border:0; cursor:pointer; }
.form-note { margin:0; color:var(--graphite); font-size:11px; line-height:1.5; }
.contact-details { display:flex; flex-direction:column; gap:15px; padding:38px; color:var(--white); background:var(--petroleum); }
.contact-details h2 { margin-top:0; font-size:36px; }
.contact-details a { color:var(--white); font-weight:700; }
.contact-details p { color:#bfccd1; line-height:1.7; }
.legal-copy .shell { max-width:880px; }
.legal-copy p { font-size:16px; }

.gasket-showcase { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 24px; padding:96px max(24px,calc((100% - var(--shell))/2)); background:#f5f5f7; }
.gasket-product { min-width:0; }
.gasket-product-inner.shell { width:100%; min-height:100%; margin:0; padding:0; display:flex; flex-direction:column; gap:26px; align-items:stretch; }
.gasket-product-reverse .gasket-media,.gasket-product-reverse .gasket-copy { order:initial; }
.gasket-media { position:relative; display:block; width:100%; height:350px; overflow:hidden; padding:0; border:0; border-radius:26px; background:#fff; box-shadow:0 18px 46px rgba(31,53,64,.09); cursor:zoom-in; }
.gasket-media img { position:absolute; inset:0; width:100%; height:100%; padding:38px; object-fit:contain; transition:opacity .45s ease,transform .65s cubic-bezier(.2,.65,.3,1); }
.gasket-drawing { opacity:1; transform:scale(.9); }
.gasket-photo { opacity:0; transform:scale(1.04); }
.gasket-media:hover .gasket-drawing,.gasket-media:focus-visible .gasket-drawing { opacity:0; transform:scale(.84); }
.gasket-media:hover .gasket-photo,.gasket-media:focus-visible .gasket-photo { opacity:1; transform:scale(1); }
.gasket-media:focus-visible { outline:4px solid var(--orange); outline-offset:4px; }
.gasket-image-label { position:absolute; z-index:3; top:24px; left:26px; padding:8px 11px; color:var(--petroleum); background:rgba(255,255,255,.86); backdrop-filter:blur(8px); font:700 10px "Barlow",sans-serif; letter-spacing:.12em; text-transform:uppercase; transition:opacity .3s; }
.photo-label { opacity:0; }
.gasket-media:hover .drawing-label,.gasket-media:focus-visible .drawing-label { opacity:0; }
.gasket-media:hover .photo-label,.gasket-media:focus-visible .photo-label { opacity:1; }
.gasket-zoom-hint { position:absolute; z-index:3; right:24px; bottom:22px; color:var(--graphite); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.gasket-copy { display:flex; flex:1; flex-direction:column; align-items:center; text-align:center; }
.gasket-copy h2 { margin:15px 0 14px; font-size:30px; line-height:1; letter-spacing:-.025em; text-transform:uppercase; }
.gasket-copy>p:not(.section-index) { margin:0 0 25px; color:var(--graphite); font-size:14px; line-height:1.65; }
.gasket-copy .button { margin-top:auto; }
.component-media img.component-photo { padding:0; object-fit:cover; opacity:1; transform:scale(1); }
.component-media img.component-photo[src$=".png"] { padding:16px; object-fit:contain; }
.component-media:hover img.component-photo,.component-media:focus-visible img.component-photo { opacity:1; transform:scale(1.035); }
.component-photo-label { opacity:1; }
.product-modal { width:min(920px,calc(100% - 32px)); max-height:92vh; padding:22px; border:0; border-radius:26px; color:var(--petroleum); background:#fff; box-shadow:0 40px 100px rgba(0,0,0,.38); }
.product-modal::backdrop { background:rgba(13,28,35,.82); backdrop-filter:blur(8px); }
.product-modal img { display:block; width:100%; max-height:75vh; object-fit:contain; border-radius:16px; background:#f5f5f7; }
.product-modal p { margin:18px 48px 2px 8px; font:800 21px "Barlow",sans-serif; text-transform:uppercase; }
.product-modal-close { position:absolute; z-index:2; top:30px; right:30px; display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; color:#fff; background:rgba(31,53,64,.84); font-size:30px; line-height:1; cursor:pointer; }

@media (max-width:1050px) {
  .desktop-nav,.header-cta { display:none; }
  .mobile-menu { display:block; position:relative; }
  .mobile-menu summary { width:44px; height:44px; display:grid; place-content:center; gap:5px; border:1px solid #cfd4d7; list-style:none; cursor:pointer; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span { width:20px; height:2px; background:#111; }
  .mobile-menu nav { position:absolute; top:58px; right:0; width:280px; display:flex; flex-direction:column; padding:22px; border:1px solid rgba(31,53,64,.14); background:rgba(255,255,255,.9); box-shadow:0 20px 50px rgba(0,0,0,.16); backdrop-filter:blur(18px) saturate(145%); -webkit-backdrop-filter:blur(18px) saturate(145%); }
  .mobile-menu nav a { padding:11px 0; color:#111; text-decoration:none; font-weight:700; }
  .mobile-product-submenu { display:flex; flex-direction:column; margin:0 0 5px 12px; padding:2px 0 6px 14px; border-left:3px solid var(--orange); }
  .mobile-product-submenu a { padding:8px 0!important; color:#4e585e!important; font-size:12px; font-weight:600!important; }
  .mobile-menu .mobile-cta { margin-top:10px; padding:14px; color:#fff; text-align:center; background:#111; }
  .product-groups { grid-template-columns:1fr 1fr; }
  .custom-card { grid-column:1/-1; min-height:290px; }
  .service-grid,.process-grid { grid-template-columns:1fr 1fr; }
  .collection-grid { grid-template-columns:1fr 1fr; }
  .gasket-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); padding-inline:32px; }
  .gasket-media { height:380px; }
}

@media (max-width:760px) {
  .shell { width:min(100% - 32px,var(--shell)); }
  .site-header { top:0; width:100%; }
  .site-header::before { top:-20px; width:125px; height:98px; opacity:1; }
  .site-header::after { bottom:-14px; width:120px; height:89px; opacity:1; }
  .header-inner { min-height:76px; padding-inline:12px; }
  .brand,.brand img { width:200px; }
  .hero { min-height:730px; }
  .hero-media { left:22%; opacity:.4; }
  .hero::after { background:linear-gradient(90deg,rgba(31,53,64,.98),rgba(31,53,64,.77)); }
  h1 { font-size:clamp(51px,16vw,72px); }
  .hero-lead { font-size:15px; }
  .proof-line { flex-direction:column; gap:10px; margin-top:34px; }
  .proof-line li+li::before { display:none; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid article:nth-child(2) { border-right:1px solid var(--line); }
  .section { padding:78px 0; }
  .split-heading,.segment-layout,.technical-layout,.about-layout,.contact-cta-inner,.footer-grid,.detail-layout,.contact-layout,.service-intro-grid { grid-template-columns:1fr; }
  .split-heading,.segment-layout,.about-layout { gap:42px; }
  .section-heading h2,.about-copy h2,.segment-copy h2,.technical-panel h2,.contact-cta h2 { font-size:42px; }
  .product-groups,.service-grid,.process-grid,.collection-grid,.field-row { grid-template-columns:1fr; }
  .service-photo-grid { grid-template-columns:1fr 1fr; grid-template-rows:280px 190px; padding-bottom:60px; }
  .service-photo-grid .service-photo-main { grid-column:1 / 3; grid-row:auto; }
  .service-photo-grid figure { height:auto; }
  .service-capability-grid { grid-template-columns:1fr; }
  .service-final-inner { align-items:flex-start; flex-direction:column; }
  .custom-card { grid-column:auto; }
  .product-group,.custom-card { min-height:390px; }
  .technical-panel { padding:42px 30px; }
  .technical-topics { padding:18px 30px; }
  .about-photo { height:470px; }
  .about-copy-detailed ul { grid-template-columns:1fr; }
  .about-contact-grid { grid-template-columns:1fr; }
  .about-contact-grid article:first-child { grid-column:auto; }
  .about-contact-grid article { min-height:0; }
  .about-map { height:360px; }
  .technical-article-content ul,.technical-article-content .technical-article-tags { grid-template-columns:1fr; }
  .contact-cta-inner { gap:34px; }
  .footer-grid { gap:36px; }
  .footer-bottom { flex-direction:column; gap:12px; }
  .site-footer::before { width:135px; height:105px; }
  .site-footer::after { width:130px; height:96px; }
  .whatsapp-float { right:14px; bottom:14px; }
  .gasket-showcase { grid-template-columns:1fr; gap:54px; padding:68px 16px; }
  .gasket-product-inner.shell { gap:24px; }
  .gasket-media { height:390px; border-radius:22px; }
  .gasket-media img { padding:32px; }
  .gasket-copy h2 { font-size:34px; }
  .gasket-copy>p:not(.section-index) { font-size:15px; }
  .gasket-photo { opacity:0; }
}
.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-feedback{display:grid;gap:.25rem;padding:1rem 1.1rem;margin-bottom:1.25rem;border-left:4px solid}.form-feedback strong{font-weight:800}.form-feedback-success{background:#eef8f1;border-color:#238647;color:#174d2b}.form-feedback-error{background:#fff1ef;border-color:#c34434;color:#73251d}
