/* Self-hosted locally bundled fonts; no Google Fonts requests. */
@font-face{font-family:"PAX Motorsport";src:url("fonts/MotorsportCondensed-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:block}
@font-face{font-family:"PAX Motorsport";src:url("fonts/MotorsportCondensed-Medium.woff2") format("woff2");font-style:normal;font-weight:500 600;font-display:block}
@font-face{font-family:"PAX Motorsport";src:url("fonts/MotorsportCondensed-Bold.woff2") format("woff2");font-style:normal;font-weight:700 900;font-display:block}
@font-face{font-family:"PAX UI";src:url("fonts/Cabin-Regular.woff2") format("woff2");font-style:normal;font-weight:400 500;font-display:block}
@font-face{font-family:"PAX UI";src:url("fonts/Cabin-Bold.woff2") format("woff2");font-style:normal;font-weight:600 900;font-display:block}

:root{--bg:#09090b;--panel:#111114;--panel2:#19191e;--red:#ed303c;--red2:#a70f22;--text:#f5f5f7;--muted:#a0a0aa;--line:#303035;--max:1240px;--header:76px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.55;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ff7780;outline-offset:4px}::selection{background:#ef303b;color:#fff}.shell{width:min(calc(100% - 44px),var(--max));margin:auto}.eyebrow{display:flex;align-items:center;gap:10px;color:#ff6670;text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:850}.eyebrow:before{content:"";width:27px;height:2px;background:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em;line-height:1.06}h1{font-size:clamp(56px,9vw,126px);font-weight:950;margin:25px 0 22px}h2{font-size:clamp(35px,5vw,70px);font-weight:900;margin:20px 0 18px}h3{font-size:24px;font-weight:850}p{color:var(--muted)}.red{color:var(--red)}.lead{font-size:clamp(17px,2.1vw,21px);max-width:590px}.section{padding:105px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-head>div{max-width:670px}.section-head p{max-width:590px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:5px;padding:15px 22px;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;min-height:52px;transition:background .2s,transform .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:#ff4552}.btn-outline{border-color:#55555f;color:#fff;background:#16161991}.btn-outline:hover{border-color:#fff;background:#202026}.btn svg{width:17px;height:17px}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.topbar{position:fixed;z-index:50;inset:0 0 auto;background:rgba(9,9,11,.78);backdrop-filter:blur(20px);border-bottom:1px solid #ffffff1a}.nav{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-size:20px;letter-spacing:.17em;font-weight:950;white-space:nowrap;line-height:1}.wordmark span{color:var(--red)}.wordmark small{display:block;letter-spacing:.30em;font-size:8px;color:#92929c;margin-top:8px}.desktop-links{display:flex;align-items:center;gap:clamp(15px,2.2vw,32px)}.desktop-links a{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:#b5b5bd;transition:color .2s}.desktop-links a:hover,.desktop-links a.active{color:#fff}.nav-cta{padding:12px 18px;min-height:40px}.menu-toggle{display:none;border:1px solid var(--line);background:#19191d;border-radius:4px;width:43px;height:43px;color:#fff;align-items:center;justify-content:center}.menu-toggle svg{width:22px;height:22px}.mobile-menu{display:none}.hero{min-height:800px;min-height:100svh;position:relative;display:flex;align-items:center;padding:calc(var(--header) + 75px) 0 110px;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 74% 48%,#99101e56,transparent 41%),radial-gradient(ellipse at 70% 70%,#330b0e 0%,transparent 45%),linear-gradient(125deg,#0a0a0b 4%,#131115 55%,#070709 100%)}.hero-grid{position:absolute;inset:0;z-index:-2;opacity:.25;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:82px 82px;mask-image:linear-gradient(to right,transparent,#000)}.hero-glow{position:absolute;inset:auto -6% -100px 45%;height:330px;background:#ed303c22;filter:blur(80px);border-radius:50%;z-index:-2}.hero .shell{position:relative;z-index:3}.hero-copy{max-width:740px}.hero h1 span{display:block}.hero h1 .outline-text{-webkit-text-stroke:1.5px #ffffffb0;color:transparent}.hero .lead{margin-bottom:32px}.hero-car{position:absolute;z-index:-1;pointer-events:none;width:min(88vw,1200px);right:-23%;bottom:8%;opacity:.73;transform:rotate(-4deg);filter:drop-shadow(0 30px 45px #000)}.hero-car svg{width:100%;display:block}.hero-foot{position:absolute;bottom:36px;left:0;right:0;color:#aaaab5;display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.2em}.hero-foot .dash{display:inline-block;width:45px;height:1px;background:var(--red);vertical-align:middle;margin-right:10px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:linear-gradient(115deg,#151518,#101012);margin-top:-1px}.stat{padding:27px 33px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font-weight:900;letter-spacing:.13em;text-transform:uppercase;font-size:14px}.stat small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service{border:1px solid var(--line);background:linear-gradient(160deg,#1b1b1f,#0f0f12);padding:32px;min-height:335px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}.service:hover{transform:translateY(-5px);border-color:#a92c35}.service .number{color:#d4464f;font-size:12px;letter-spacing:.2em;font-weight:850}.service-icon{height:82px;margin-top:26px;color:#f2f2f5}.service-icon svg{width:67px;height:67px;stroke:currentColor;stroke-width:1.25;fill:none}.service h3{margin-bottom:13px}.service p{font-size:14px;margin-bottom:0}.service .bottom-line{width:38px;height:2px;background:var(--red);margin-top:auto;padding-top:2px}.projects-section{background:#101013;border-block:1px solid #26262b}.project-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:17px}.project-card{position:relative;min-height:370px;border:1px solid #37373d;overflow:hidden;background:#1a1a1e;isolation:isolate}.project-card:first-child{grid-row:span 2;min-height:750px}.project-card:after{content:"";position:absolute;z-index:1;inset:35% 0 0;background:linear-gradient(0deg,#050506f5,transparent)}.project-card .art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.project-card .art svg{width:130%;height:auto;max-width:none;filter:drop-shadow(0 22px 22px #0008);transition:transform .5s}.project-card:hover .art svg{transform:scale(1.06) translateX(-1%)}.project-card:nth-child(1){background:radial-gradient(circle at 73% 40%,#881722,#1a1114 54%,#0f0f12)}.project-card:nth-child(2){background:radial-gradient(circle at 70% 20%,#343f4a,#121518 70%)}.project-card:nth-child(3){background:radial-gradient(circle at 50% 28%,#6f1219,#191112 65%)}.project-card:nth-child(4){background:radial-gradient(circle at 58% 30%,#66536d,#16121c 70%)}.project-card:nth-child(5){background:radial-gradient(circle at 55% 30%,#4c4c4f,#131315 70%)}.project-card:first-child .art svg{width:160%}.project-content{position:absolute;z-index:3;bottom:26px;left:25px;right:25px}.project-content .tag{color:#ff858d;text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:10px}.project-content h3{font-size:clamp(18px,2vw,24px);margin:7px 0 0}.notice{color:#b2b2bb;font-size:12px;display:flex;align-items:center;gap:9px;margin-top:20px}.notice svg{width:16px;height:16px;color:#e96b72;flex:0 0 auto}.compare-wrap{display:grid;grid-template-columns:.65fr 1.35fr;gap:55px;align-items:center}.compare-note{font-size:13px;color:#93939d}.compare{--split:50%;position:relative;aspect-ratio:1.62;border:1px solid #49494f;background:#27272b;overflow:hidden;touch-action:pan-y;user-select:none;cursor:ew-resize;box-shadow:0 28px 65px #0007}.compare .side{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.compare .side svg{position:absolute;width:105%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-50%)}.compare .before{background:linear-gradient(145deg,#31363e,#101216)}.compare .after{background:linear-gradient(145deg,#65151e,#170c10);clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare .before svg{filter:saturate(.15) brightness(.65)}.compare .after svg{filter:saturate(1.4)}.compare .pill{position:absolute;top:20px;padding:7px 11px;border:1px solid #ffffff3d;background:#0505069e;color:#fff;font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:10px;z-index:3}.compare .before .pill{right:18px}.compare .after .pill{left:18px}.split-line{position:absolute;inset:0 auto 0 var(--split);width:2px;background:#fff;z-index:5;transform:translateX(-50%);pointer-events:none}.split-handle{position:absolute;top:50%;left:50%;width:55px;height:55px;border-radius:50%;background:#fff;color:#171719;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:7px;font-size:20px;box-shadow:0 0 0 7px #ffffff2c}.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:10}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.about-graphic{min-height:460px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#65151c 0%,#210d10 38%,#111113 70%);border:1px solid var(--line)}.about-graphic:before,.about-graphic:after{content:"";position:absolute;border:1px solid #ffffff12;width:350px;height:350px;transform:rotate(45deg)}.about-graphic:after{width:250px;height:250px}.about-graphic .brand-big{z-index:1;font-size:clamp(40px,5vw,75px);font-weight:950;letter-spacing:-.08em;text-align:center;line-height:1}.about-graphic .brand-big b{color:var(--red)}.about-graphic .brand-big small{display:block;font-size:11px;color:#b2b2b8;letter-spacing:.26em;margin-top:15px}.about-copy p{font-size:16px}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:28px 0 32px}.about-point{padding:16px;border:1px solid var(--line);font-weight:750;font-size:13px}.about-point span{display:block;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.14em;margin-bottom:5px;text-transform:uppercase}.contact{position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 48%,#59131b 0,transparent 47%),#131316;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.contact h2{max-width:750px}.contact-card{background:#0c0c0eea;border:1px solid #45454c;padding:32px}.contact-card .label{color:#888893;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:900}.contact-card strong{font-size:18px;display:block;margin:9px 0 26px}.contact-card .btn{width:100%}.contact-card .hint{font-size:12px;margin:17px 0 0}.footer{border-top:1px solid #27272b;padding:28px 0;background:#080809}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer p{margin:0;font-size:11px}.footer a{font-size:11px;color:#aaaab1}.footer a:hover{color:#fff}.back-to-top{display:inline-flex;align-items:center;gap:7px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,110px);z-index:90;background:#25252b;border:1px solid #5f5f6a;padding:12px 20px;font-size:13px;border-radius:5px;transition:transform .3s;box-shadow:0 18px 40px #0009}.toast.show{transform:translate(-50%,0)}
@media(max-width:980px){.desktop-links{gap:14px}.nav-cta{display:none}.hero-car{right:-37%;width:120%;bottom:15%;opacity:.42}.project-grid{grid-template-columns:1fr 1fr}.project-card:first-child{grid-row:span 2;min-height:750px}.services{gap:12px}.service{padding:24px}.compare-wrap{grid-template-columns:1fr;gap:27px}.compare-copy{max-width:650px}.about{gap:28px}}
@media(max-width:720px){:root{--header:67px}.shell{width:min(calc(100% - 34px),var(--max))}.desktop-links{display:none}.menu-toggle{display:flex}.wordmark{font-size:17px}.mobile-menu{display:flex;position:fixed;left:0;right:0;top:var(--header);background:#0e0e11f7;border-bottom:1px solid #333;flex-direction:column;padding:18px 17px 28px;gap:5px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s}.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu a{display:block;padding:14px 13px;text-transform:uppercase;letter-spacing:.13em;font-size:13px;font-weight:800;border-bottom:1px solid #29292f}.mobile-menu .btn{margin-top:10px}.hero{min-height:740px;min-height:100svh;padding:calc(var(--header) + 65px) 0 105px}.hero h1{font-size:clamp(54px,13vw,93px)}.hero .lead{max-width:460px;font-size:16px}.hero-car{width:170%;right:-89%;bottom:14%;opacity:.38}.hero-foot{bottom:25px}.hero-foot span:last-child{display:none}.stats{grid-template-columns:1fr}.stat{padding:17px 22px;border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.stat strong{font-size:12px}.section{padding:75px 0}.section-head{display:block}.section-head .btn{margin-top:5px}.services{grid-template-columns:1fr}.service{min-height:255px;padding:25px}.service-icon{height:65px;margin-top:18px}.service-icon svg{width:51px;height:51px}.project-grid{grid-template-columns:1fr 1fr;gap:10px}.project-card,.project-card:first-child{min-height:280px;grid-row:auto}.project-card:first-child{grid-column:span 2;min-height:380px}.project-content{left:16px;bottom:16px;right:12px}.project-content h3{font-size:17px}.project-content .tag{font-size:9px}.project-card .art svg{width:180%}.project-card:first-child .art svg{width:125%}.compare{aspect-ratio:1.18}.compare .side svg{width:150%}.about,.contact-grid{grid-template-columns:1fr;gap:32px}.about-graphic{min-height:300px}.about-points{margin:20px 0}.contact-card{padding:23px}.footer-inner{flex-direction:column;align-items:flex-start;gap:15px}}
@media(max-width:390px){.shell{width:calc(100% - 28px)}.hero h1{font-size:50px}.btn{padding:13px 15px;font-size:10px;min-height:48px}.project-card:not(:first-child){min-height:240px}.project-card:first-child{min-height:335px}.project-card .art svg{width:215%}.compare{aspect-ratio:1}.compare .side svg{width:185%}.compare .pill{top:11px;font-size:9px;padding:6px}.about-points{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* PAX FINESSE | Motorsport typography & mobile hardening */
:root{--font-display:"PAX Motorsport", "Arial Narrow", sans-serif;--font-ui:"PAX UI", "Trebuchet MS", sans-serif}
html{width:100%;max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%}
body{font-family:var(--font-ui);font-size:17px;font-weight:600;width:100%;max-width:100%;overflow-x:clip}
button,input{font-family:var(--font-ui)}
h1,h2,h3,.wordmark,.brand-big,.stat strong,.project-content h3{font-family:var(--font-display);font-stretch:condensed;letter-spacing:.005em;text-transform:uppercase}
h1{font-size:clamp(4.1rem,10.5vw,9.1rem);line-height:.88;font-weight:900;letter-spacing:.005em}
h2{font-size:clamp(2.7rem,5.9vw,5.4rem);line-height:.94;font-weight:800}
h3{font-size:clamp(1.7rem,2.2vw,2.2rem);font-weight:800}
.wordmark{font-size:clamp(1.45rem,2.2vw,1.95rem);font-weight:900;letter-spacing:.055em}.wordmark small{font-family:var(--font-ui)}
.eyebrow,.btn,.desktop-links a,.mobile-menu a,.project-content .tag,.contact-card .label,.about-point span{font-family:var(--font-ui);font-weight:700;letter-spacing:.12em}
.btn{font-size:14px}.desktop-links a{font-size:13px}.lead{font-size:clamp(18px,2.2vw,23px)}
.shell,.nav,.hero-copy,.section-head>div,.project-content,.contact-card,.about-copy,.compare-copy{min-width:0}
img,svg,video,canvas,iframe{max-width:100%}
img{height:auto}
.project-card .art svg{max-width:none}
.hero-car svg,.compare .side svg{max-width:none}
.contact-card strong,.contact-card p,.about-point,.notice{overflow-wrap:anywhere}
.project-content h3,.about-graphic .brand-big{overflow-wrap:break-word}
.hero h1,.contact h2,.about h2{overflow-wrap:normal}
.mobile-menu{max-height:calc(100dvh - var(--header));overflow-y:auto;overscroll-behavior:contain}
.compare{min-width:0;max-width:100%;isolation:isolate}
.compare .side>div[data-car]{position:absolute;inset:0;width:100%;height:100%}
.compare .side>div[data-car] svg{width:105%}
@media(max-width:980px){.nav{gap:14px}.desktop-links{gap:11px}}
@media(max-width:720px){
 .shell{width:calc(100% - 32px)}
 .hero{min-height:700px;min-height:100svh}
 .hero h1{font-size:clamp(3.8rem,13.6vw,6.4rem);line-height:.89}
 .hero-copy{max-width:100%}
 .hero .lead{font-size:18px;line-height:1.38}
 .wordmark{font-size:1.48rem}
 .section{padding:70px 0}
 .section-head h2,.about h2,.contact h2{max-width:100%}
 .project-card .art svg{max-width:none}
 .project-content h3{font-size:clamp(1.35rem,5.2vw,1.85rem);line-height:1.03}
 .compare .side>div[data-car] svg{width:150%}
 .compare .pill{z-index:4}
 .footer-inner>*{max-width:100%}
}
@media(max-width:390px){
 .shell{width:calc(100% - 26px)}
 .hero h1{font-size:clamp(3.3rem,13vw,4.2rem)}
 .hero .btn-row{gap:8px}
 .hero .btn-row .btn{font-size:12px;padding:12px 13px}
 .hero .lead{font-size:16px}
 .project-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .project-content{left:11px;right:9px;bottom:11px}
 .project-content h3{font-size:1.32rem}
 .project-content .tag{font-size:9px;letter-spacing:.04em}
 .compare .side>div[data-car] svg{width:185%}
 .compare .pill{font-size:9px}
 .contact-card{padding:18px}
}
@media(max-width:320px){.project-grid{grid-template-columns:1fr}.project-card:first-child{grid-column:auto}.hero h1{font-size:3.05rem}.hero-foot{font-size:8px}}

/* V2.1 — No initial font jump: render once typefaces have settled. */
html.fonts-loading body { visibility: hidden; }
html.fonts-ready body { visibility: visible; }
/* Headings only: prevent selection, long-press selection, and copying. */
h1, h2, h1 *, h2 * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

/* V2.2 — actual layout repair: guaranteed hero typography clearance */
.hero { min-height: 780px; min-height: 100svh; padding: calc(var(--header) + 72px) 0 115px; align-items:center; }
.hero > .shell:not(.hero-foot) { position:relative; z-index:2; }
.hero-copy { width:min(100%, 650px); max-width: min(650px, 56vw); position:relative; z-index:3; }
.hero h1 { font-family:var(--font-display); font-size:clamp(52px, 6vw, 96px); line-height:1.02; letter-spacing:0; margin:25px 0 24px; font-weight:900; }
.hero h1 span { display:block; white-space:nowrap; }
.hero .lead { font-size:clamp(17px,1.65vw,21px); line-height:1.42; max-width:530px; margin-bottom:26px; }
.hero-car { width:min(78vw,1050px); right:-16%; bottom:16%; opacity:.60; z-index:-1; }
.hero-foot.shell { position:absolute; z-index:3; bottom:32px; left:50%; right:auto; transform:translateX(-50%); width:min(calc(100% - 44px),var(--max)); margin:0; pointer-events:none; }
.hero .btn-row { position:relative; z-index:4; }
.hero .eyebrow { position:relative; z-index:4; }
@media (max-width:980px) {
 .hero-copy {max-width:65vw}
 .hero h1 {font-size:clamp(52px,7vw,76px)}
 .hero-car {right:-36%; width:115%; opacity:.38; bottom:18%}
}
@media (max-width:720px) {
 .hero { min-height:740px; min-height:100svh; padding:calc(var(--header) + 56px) 0 108px; }
 .hero-copy { width:100%; max-width:100%; }
 .hero h1 { font-size:clamp(43px, 10.7vw, 72px); line-height:1.035; margin:22px 0 20px; }
 .hero h1 span { white-space:nowrap; }
 .hero .lead { max-width:440px; font-size:16px; line-height:1.4; margin-bottom:25px; }
 .hero-car { width:155%; right:-85%; bottom:18%; opacity:.27; }
 .hero-foot.shell {width:calc(100% - 34px); bottom:20px;}
}
@media (max-width:390px) {
 .hero h1 { font-size:clamp(36px,10.1vw,42px); }
 .hero .btn-row .btn {font-size:11px;padding:12px 13px;}
 .hero-foot.shell {width:calc(100% - 26px)}
}
@media (max-width:320px) { .hero h1{font-size:34px}.hero .btn-row{gap:7px} }

/* V2.3: Consistent typography across local and Cloudflare Pages */
body{font-family:var(--font-ui)}
html.fonts-loading body{visibility:hidden}
html.fonts-ready body{visibility:visible}
