/*
Theme Name: Arcut Performance
Description: Lightweight custom theme for Arcut Performance Machine.
Version: 1.1.2
Text Domain: arcut-performance
*/

:root { --red:#c71920; --red-dark:#8f1117; --black:#111214; --charcoal:#202226; --silver:#c7c9cc; --light:#f4f4f2; --white:#fff; --max:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--charcoal); background:var(--white); font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.6; }
a { color:var(--red-dark); }
a:hover { color:var(--red); }
img { max-width:100%; height:auto; }
.site-header { background:var(--black); color:#fff; border-bottom:4px solid var(--red); }
.header-inner { max-width:var(--max); margin:auto; padding:1rem 1.25rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.site-brand { color:#fff; text-decoration:none; font-size:clamp(1.1rem,2vw,1.55rem); font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.site-brand span { color:var(--red); }
.site-identity { flex:0 0 auto; line-height:0; }
.custom-logo-link { display:block; }
.custom-logo { display:block; width:auto; height:auto; max-width:140px; max-height:88px; object-fit:contain; }
.primary-nav ul { display:flex; flex-wrap:wrap; gap:.25rem 1.1rem; list-style:none; margin:0; padding:0; }
.primary-nav a { color:#fff; text-decoration:none; font-size:.92rem; font-weight:700; }
.primary-nav a:hover,.primary-nav .current-menu-item>a { color:#ff5a60; }
.site-main { min-height:60vh; }
.content-wrap { max-width:var(--max); margin:auto; padding:3.5rem 1.25rem; }
.entry-header { background:linear-gradient(125deg,var(--black),#303238); color:#fff; border-bottom:5px solid var(--red); }
.entry-header-inner { max-width:var(--max); margin:auto; padding:4rem 1.25rem; }
.entry-header h1 { margin:0; font-size:clamp(2.1rem,5vw,4rem); line-height:1.05; text-transform:uppercase; letter-spacing:-.025em; }
.hero { color:#fff; background:linear-gradient(100deg,rgba(12,13,15,.96),rgba(12,13,15,.78)),linear-gradient(135deg,#333,#111); padding:clamp(4.5rem,9vw,8rem) 1.25rem; border-bottom:6px solid var(--red); }
.hero-inner { max-width:var(--max); margin:auto; }
.hero-logo { width:clamp(240px,32vw,360px); max-width:55%; margin:0 0 1.5rem; }
.hero-logo a { display:block; }
.hero-logo-image { display:block; width:100%; height:auto; }
.hero-logo-fallback { margin:0 0 1rem; color:#fff; font-size:1.4rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.home { background:#090a0b; color:#eee; }
.home .site-main { background:linear-gradient(180deg,#090a0b 0%,#151619 100%); }
.gateway { padding:clamp(2rem,4vw,4rem) 1.25rem; background:transparent; border-bottom:1px solid #3c3e42; color:#fff; }
.gateway-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,2vw,1.75rem); width:100%; max-width:var(--max); margin:0 auto; }
.gateway-panel { display:flex; min-width:0; flex-direction:column; align-items:center; padding:clamp(2rem,4vw,3.75rem) clamp(1.25rem,3vw,2.75rem); background:linear-gradient(145deg,#202226,#111214); border:1px solid #46484c; border-top:4px solid var(--red); box-shadow:0 16px 36px rgba(0,0,0,.32); text-align:center; }
.gateway-panel:first-child { background:linear-gradient(145deg,#202226,#111214); border-right:1px solid #46484c; }
.gateway-panel.fabrication { background:linear-gradient(145deg,#202226,#111214); }
.gateway-logo { display:flex; align-items:center; justify-content:center; width:100%; max-width:460px; height:250px; margin:0 auto 1.75rem; }
.gateway-logo .hero-logo,.gateway-logo .fabrication-logo { display:flex; width:100%; max-width:100%; height:100%; margin:0; align-items:center; justify-content:center; }
.gateway-logo .hero-logo a { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.gateway-logo-image,.gateway-logo .hero-logo-image { display:block; width:100%; height:100%; max-height:none; object-fit:contain; }
.fabrication-logo-image { border-radius:0; }
.fabrication-page-logo { max-width:620px; margin:1rem 0 2rem; }
.fabrication-page-logo .gateway-logo { width:100%; height:auto; margin:0; }
.fabrication-page-logo .gateway-logo-image { max-height:none; border-radius:5px; }
.gateway-logo-fallback { color:#fff; font-size:2rem; font-weight:900; text-transform:uppercase; }
.gateway-panel h1 { display:flex; min-height:2.15em; align-items:center; justify-content:center; margin:0; font-size:clamp(1.85rem,3vw,2.85rem); line-height:1.075; text-transform:uppercase; }
.gateway-panel p { max-width:500px; min-height:5.2em; margin:1.15rem auto 0; color:#d5d6d8; font-size:1.05rem; }
.gateway-panel .button { min-width:220px; margin-top:auto; padding:.9rem 1.25rem; }
.home .site-main>.section { background:transparent; color:#eee; }
.home .site-main>.section h2 { color:#fff; }
.home .site-main>.section a:not(.button) { color:#ff6b70; }
.eyebrow { color:#ff6268; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.hero h1 { max-width:900px; margin:.4rem 0 1rem; font-size:clamp(2.6rem,7vw,5.7rem); line-height:.95; letter-spacing:-.045em; text-transform:uppercase; }
.hero p { max-width:720px; font-size:1.2rem; color:#ddd; }
.button-row { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem; }
.button,.wp-block-button__link { display:inline-block; padding:.8rem 1.15rem; border:2px solid var(--red); border-radius:2px; background:var(--red); color:#fff; text-decoration:none; font-weight:800; }
.button:hover,.wp-block-button__link:hover { background:var(--red-dark); border-color:var(--red-dark); color:#fff; }
.button.alt { background:transparent; border-color:#aaa; }
.section { padding:4rem 1.25rem; }
.section-inner { max-width:var(--max); margin:auto; }
.section.muted { background:var(--light); }
.section.dark { background:var(--charcoal); color:#fff; }
.section h2 { margin-top:0; font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.1; text-transform:uppercase; }
.division-grid,.feature-grid,.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; }
.division-card,.feature-card,.contact-card { padding:clamp(1.5rem,3vw,2.5rem); background:#fff; border-top:5px solid var(--red); box-shadow:0 8px 24px rgba(0,0,0,.08); }
.division-card h2,.feature-card h3,.contact-card h2 { margin-top:0; }
.specialty-list { display:flex; flex-wrap:wrap; gap:.75rem; padding:0; list-style:none; }
.specialty-list li { padding:.65rem .9rem; background:#e5e5e3; border-left:4px solid var(--red); font-weight:700; }
.arcut-notice { margin:0 0 2.5rem; padding:1.2rem 1.4rem; background:#fff4d6; border-left:5px solid #cf8a00; }
.service-group { margin:0 0 3rem; }
.service-group>h2 { padding-bottom:.6rem; border-bottom:3px solid var(--red); }
.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.service-card { padding:1.35rem; background:var(--light); border:1px solid #ddd; }
.service-card h3 { margin:0 0 .4rem; }
.service-price { font-size:1.08rem; font-weight:900; color:var(--red-dark); }
.service-price span { color:#555; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.service-note { color:#666; font-size:.84rem; }
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.team-card { overflow:hidden; background:var(--light); border-top:5px solid var(--red); }
.team-card-body { padding:1.4rem; }
.team-card h2 { margin:0; }
.team-title { margin:.2rem 0; color:var(--red-dark); font-weight:800; }
.team-division { font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }
.team-photo { width:100%; aspect-ratio:4/3; object-fit:cover; }
.site-footer { padding:2.5rem 1.25rem; background:var(--black); color:#ccc; border-top:4px solid var(--red); }
.footer-inner { max-width:var(--max); margin:auto; display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:2rem; }
.site-footer h2,.site-footer h3 { color:#fff; margin-top:0; }
.site-footer a { color:#fff; }
.copyright { max-width:var(--max); margin:2rem auto 0; padding-top:1rem; border-top:1px solid #444; font-size:.85rem; }
@media (max-width:800px) { .header-inner { align-items:flex-start; flex-direction:column; gap:.75rem; } .custom-logo { max-width:104px; max-height:64px; } .hero-logo { width:220px; max-width:72%; } .gateway { padding:1.5rem 1rem 2.5rem; } .gateway-grid,.division-grid,.feature-grid,.contact-grid,.service-grid,.team-grid,.footer-inner { grid-template-columns:1fr; } .gateway-panel { min-height:0; padding:2.25rem 1.25rem 2.5rem; } .gateway-panel:first-child { border-right:1px solid #46484c; border-bottom:1px solid #46484c; } .gateway-logo { width:100%; max-width:400px; height:220px; margin-bottom:1.35rem; } .gateway-panel h1 { min-height:0; } .gateway-panel p { min-height:0; margin-bottom:1.5rem; } .gateway-panel .button { width:100%; max-width:320px; margin-top:auto; padding:1rem 1.25rem; } .primary-nav ul { gap:.4rem .8rem; } }

/* Fabrication gallery: native WordPress blocks and lightbox. */
.page-id-10 .content-wrap { padding-top:2.75rem; }
.fabrication-intro { max-width:720px; margin-bottom:2rem; }
.fabrication-intro h2 { margin:.25rem 0 .75rem; font-size:clamp(2rem,4vw,3rem); line-height:1.1; text-transform:uppercase; }
.fabrication-intro .eyebrow { color:var(--red-dark); margin:0; }
#fabrication { scroll-margin-top:1.5rem; }
.fabrication-gallery.wp-block-gallery.has-nested-images { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin:0 0 2.5rem; align-items:stretch; }
.fabrication-gallery.wp-block-gallery.has-nested-images > figure.wp-block-image { width:100% !important; min-width:0; margin:0; display:flex; flex-direction:column; align-self:stretch !important; background:var(--black); border:1px solid #45474b; border-top:3px solid var(--red); box-shadow:0 6px 18px rgba(0,0,0,.1); }
.fabrication-gallery.wp-block-gallery.has-nested-images > figure.wp-block-image img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; flex:none; background:var(--black); }
.fabrication-gallery.wp-block-gallery.has-nested-images > figure.wp-block-image figcaption { position:static; margin:0; padding:1rem; width:100%; max-height:none; overflow:visible; background:var(--charcoal); color:var(--light); text-align:left; font-size:.95rem; font-weight:700; flex:1; box-sizing:border-box; }
.fabrication-gallery .lightbox-trigger:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.fabrication-gallery-cta { padding:1.5rem; border-left:4px solid var(--red); background:var(--light); }
.fabrication-gallery-cta h2 { margin-top:0; }
@media (max-width:1000px) { .fabrication-gallery.wp-block-gallery.has-nested-images { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .fabrication-gallery.wp-block-gallery.has-nested-images { grid-template-columns:1fr; gap:1.25rem; } }
