@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b252e;--electric:#058db5;--signal:#75bb4b;--ease:cubic-bezier(.22,.75,.22,1)}
body{background:linear-gradient(180deg,#f8f8f5 0,#f3f5f1 100%)}
.site-header{height:84px;background:rgba(248,249,246,.92)}.logo{width:184px;height:64px;padding:0;border:0;background:transparent;overflow:visible}.logo img,.footer-logo img{width:100%;height:100%;object-fit:contain;background:transparent}.footer-logo{width:210px;height:92px;padding:0;background:transparent;display:block}
.hero{min-height:min(760px,calc(100svh - 84px));grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}.hero-copy{padding-top:clamp(58px,7vh,105px);padding-bottom:38px}.hero h1{font-size:clamp(44px,4.35vw,72px);line-height:.98;letter-spacing:-.055em;margin:28px 0}.hero-copy .lead{font-size:clamp(15px,1.25vw,18px);line-height:1.72}.hero-meta{padding-top:52px}.hero-photo{min-height:560px}
.section{padding-block:clamp(70px,7.2vw,116px)}.sect-head h2,.content-grid h2{font-size:clamp(36px,4.2vw,66px)}.inner-hero{min-height:360px;padding-top:clamp(68px,7vw,108px);padding-bottom:64px}.inner-hero h1{font-size:clamp(43px,5.5vw,82px);max-width:980px}
.service-card{overflow:hidden;isolation:isolate}.service-card:before{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--signal),var(--electric));transform:scaleX(0);transform-origin:left;transition:transform .38s var(--ease)}.service-card:hover:before,.service-card:focus-visible:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px #15343a12;z-index:2}.btn{position:relative;overflow:hidden}.btn:active{transform:translateY(0) scale(.98)}
.route-curtain{position:fixed;inset:0;z-index:998;background:var(--navy);transform:translateY(100%);transition:transform .48s var(--ease);pointer-events:none}.route-curtain.active{transform:translateY(0)}.route-curtain:after{content:"PASH AUTO / PRECISION IN MOTION";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:white;font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.18em;white-space:nowrap}.scroll-meter{position:fixed;right:0;top:84px;bottom:0;width:3px;background:#cbd5cc66;z-index:120}.scroll-meter span{display:block;width:100%;height:0;background:linear-gradient(var(--signal),var(--electric))}
.system-strip{background:var(--navy);color:#fff;padding:14px var(--pad);display:flex;justify-content:space-between;gap:20px;overflow:hidden;font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.14em}.system-strip span:last-child{color:var(--lime)}.faq-shell{display:grid;grid-template-columns:minmax(230px,.55fr) 1.45fr;gap:clamp(35px,8vw,130px);align-items:start}.faq-intro{position:sticky;top:125px}.faq-intro h2{font-size:clamp(34px,4vw,62px);margin:24px 0 18px}.faq-intro p{color:var(--muted)}
.enquiry-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.enquiry-choice{min-height:310px;padding:clamp(28px,4vw,55px);background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:.3s var(--ease)}.enquiry-choice:hover{background:var(--navy);color:#fff;transform:translateY(-5px)}.enquiry-choice h2{font-size:clamp(34px,4vw,58px);margin:60px 0 16px}.enquiry-choice p{color:var(--muted)}.enquiry-choice:hover p{color:#c8d6d7}.enquiry-choice .underline{margin-top:auto;align-self:flex-start}
@media(max-width:970px){.site-header{height:76px}.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(42px,7.5vw,66px)}.hero-photo{min-height:500px}.scroll-meter{top:76px}.logo{height:58px}.faq-shell{grid-template-columns:1fr}.faq-intro{position:static}}
@media(max-width:660px){:root{--pad:20px}.site-header{height:70px}.logo{width:154px;height:54px}.hero-copy{padding-top:58px}.hero h1{font-size:clamp(37px,10.3vw,52px);margin:22px 0}.hero-photo{min-height:390px}.hero-meta{padding-top:36px}.section{padding-block:62px}.inner-hero h1{font-size:clamp(39px,11vw,58px)}.enquiry-choices{grid-template-columns:1fr}.enquiry-choice{min-height:260px}.scroll-meter{display:none}.system-strip{font-size:9px}.system-strip span:nth-child(2){display:none}}


/* PASH FONT SYSTEM — SORA + DM SANS, image-first restrained typography */
:root{--font-display:'Sora',Arial,sans-serif;--font-body:'DM Sans',Arial,sans-serif}
html{font-size:16px}
body,button,input,select,textarea,.nav,.btn{font-family:var(--font-body);letter-spacing:normal}
h1,h2,h3,.heading,.hero h1,.hero-photo .imprint strong,.sect-head h2,.content-grid h2,.split .content h2,.inner-hero h1,.service-card h3,.step h3,.loc-card h2,.enquiry-choice h2,.faq-intro h2,.cta-band h2,.footer h3,.pash-case-head h2,.pash-case-unit h3,.pash-identity-band h2 {
 font-family:var(--font-display);
 font-weight:700;
 letter-spacing:-.052em;
 line-height:1.14;
}
.hero h1{font-size:clamp(39px,4.2vw,70px);line-height:1.085;letter-spacing:-.052em}
.hero h1 .chapter-serif{font:600 .62em/1.2 var(--font-display);font-style:normal;letter-spacing:-.045em;color:#338652;margin-top:.22em}
.hero h1 .hero-kicker{font:700 10px/1.5 var(--font-body);letter-spacing:.115em;color:#297596}
.inner-hero h1{font-size:clamp(39px,4.7vw,72px);letter-spacing:-.048em;line-height:1.12}
.sect-head h2,.content-grid h2,.split .content h2{font-size:clamp(30px,3.65vw,58px)}
.step h3,.service-card h3{font-size:clamp(22px,1.7vw,29px);line-height:1.24}
.faq-intro h2,.enquiry-choice h2{font-size:clamp(28px,3.2vw,48px)}
.cta-band h2,.pash-identity-band h2{font-size:clamp(32px,3.9vw,62px)}
.pash-case-head h2{font-size:clamp(35px,4.7vw,72px)}
.pash-case-head h2 i,.pash-identity-band h2 i{font:inherit;color:#337f55}
.eyebrow,.mono,.code,.hero-meta,.page-number{font-family:var(--font-body);font-weight:700;letter-spacing:.105em}
.hero-copy .lead,.inner-hero p,.sect-head p,.content-grid p{font-family:var(--font-body);font-weight:400;line-height:1.72}
.service-card{min-height:210px}
.step{min-height:235px}
.step h3{margin-top:52px}
@media(max-width:970px){
 .hero h1{font-size:clamp(38px,6vw,57px)}
 .inner-hero h1{font-size:clamp(36px,6.2vw,56px)}
}
@media(max-width:660px){
 .hero h1{font-size:clamp(34px,9vw,44px);line-height:1.11;letter-spacing:-.055em}
 .hero h1 .chapter-serif{font-size:.69em}
 .inner-hero h1{font-size:clamp(33px,8vw,42px);line-height:1.12}
 .sect-head h2,.content-grid h2,.split .content h2{font-size:clamp(29px,7.1vw,39px)}
 .cta-band h2,.pash-identity-band h2{font-size:clamp(29px,7.5vw,40px)}
 .pash-case-head h2{font-size:clamp(33px,7.7vw,42px)}
 .service-card{min-height:178px}
 .service-card h3{font-size:23px}
 .step{min-height:185px}
 .step h3{font-size:24px;margin-top:35px}
 .hero-copy .lead,.inner-hero p{font-size:15px;line-height:1.7}
 .eyebrow,.mono,.code,.page-number{letter-spacing:.065em}
}
