*{box-sizing:border-box}:root{--ink:#102b46;--blue:#1264ce;--surface:#edf2f7;--muted:#506477;--line:#d5dfe9}body{margin:0;color:var(--ink);background:white;font:16px/1.65 "Avenir Next",Avenir,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}img{display:block;max-width:100%}button,input,textarea{font:inherit}:focus-visible{outline:3px solid #2384ed;outline-offset:5px}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}header{background:white;border-bottom:1px solid var(--line)}.nav-row{display:flex;align-items:center;gap:35px;min-height:100px}.brand{display:flex;gap:12px;align-items:center;font-size:23px;line-height:1.2;letter-spacing:-.8px;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:0;margin-top:6px;color:var(--muted)}.brand strong{color:var(--blue)}.mark{font-size:25px;font-weight:900;color:white;background:var(--ink);padding:9px 11px;border-radius:8px}nav{display:flex;gap:26px;margin-left:auto}nav a{font-size:14px;padding:10px 0}nav a[aria-current]{color:var(--blue);border-bottom:2px solid var(--blue)}.nav-phone{font-size:13px;font-weight:600}.menu{display:none}.hero{position:relative;min-height:650px;background:var(--ink);color:white;display:flex;align-items:center}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#05172aeb,#05172aad 40%,#05172a1f)}.hero-content{position:relative;padding:80px 0 100px}.hero-content>p:first-child{font-size:14px;color:#c1d8ee}.hero h1{font-size:clamp(55px,7vw,94px);line-height:1.03;letter-spacing:-5px;margin:24px 0}.hero-copy{max-width:460px;color:#d4e2ef;font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--blue);color:white;border:1px solid transparent;border-radius:5px;padding:13px 24px;font-weight:600;font-size:14px;cursor:pointer;min-height:48px}.button:hover{background:#0c4fa8;color:white}.button:disabled{opacity:.55;cursor:wait}.outline{background:transparent;border-color:#afc4d7}.outline:hover{background:#ffffff1c}.hero-bottom{position:absolute;bottom:25px;left:48px;right:48px;display:flex;justify-content:space-between;font-size:12px;color:#c1d8ee}.proof{display:grid;grid-template-columns:repeat(3,1fr);padding:35px 0;border-bottom:1px solid var(--line)}.proof div{display:flex;flex-direction:column;padding:0 32px;border-right:1px solid var(--line)}.proof div:first-child{padding-left:0}.proof div:last-child{border:0}.proof strong{font-size:25px;letter-spacing:-.7px}.proof span{font-size:13px;color:var(--muted)}.section{padding-top:85px;padding-bottom:85px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split>img{width:100%;height:390px;object-fit:cover;border-radius:8px}h1,h2,h3{line-height:1.12;margin:0 0 24px}h1{font-size:clamp(44px,5.5vw,72px);letter-spacing:-3px}h2{font-size:clamp(32px,3.5vw,46px);letter-spacing:-1.8px}h3{font-size:22px;letter-spacing:-.5px}p{margin:0 0 22px;max-width:70ch}.eyebrow{color:var(--blue);font-size:14px;font-weight:600;margin-bottom:18px}.link{display:inline-block;color:var(--blue);font-weight:600;border-bottom:1px solid #acc8e9;padding-bottom:5px}.surface{background:var(--surface)}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:white;border-radius:8px;overflow:hidden;box-shadow:0 4px 16px #102b4608}.card>img{width:100%;height:240px;object-fit:cover}.card>div{padding:28px}.card h3{margin-bottom:14px}.card p{color:var(--muted);font-size:15px}.card .link{font-size:14px}.cta{margin-top:60px;margin-bottom:60px;padding:48px;background:var(--ink);color:white;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:32px}.cta h2{font-size:34px;margin-bottom:12px}.cta p{color:#c1d8ee;margin:0}.light{background:white;color:var(--ink);white-space:nowrap}footer{padding:60px 0 26px;background:#e6edf4}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1.2fr;gap:48px}.footer-grid h3{font-size:15px;margin-bottom:18px}.footer-grid a:not(.footer-brand){display:block;font-size:14px;margin-bottom:10px;overflow-wrap:anywhere}.footer-brand{font-size:26px;font-weight:700}.footer-brand small{font-size:11px;font-weight:500;border:1px solid #b5c5d6;padding:4px 7px;border-radius:4px;margin-left:8px}.footer-grid p{margin-top:18px;font-size:14px;color:var(--muted)}.legal{border-top:1px solid #c4d2df;padding-top:22px;margin-top:35px}.legal p{font-size:11px;max-width:110ch;color:var(--muted);margin-bottom:10px}.intro{padding-top:75px;padding-bottom:40px}.lead{font-size:20px;max-width:700px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}figure{margin:0}.gallery img{width:100%;height:230px;object-fit:contain;background:#fff;border-radius:6px}.gallery figcaption{font-size:13px;padding-top:10px;color:var(--muted)}.features{list-style:none;padding:0;margin:20px 0}.features li{padding:10px 0;border-bottom:1px solid var(--line)}.features li:before{content:"✓";color:var(--blue);margin-right:12px}.muted{font-size:14px;color:var(--muted)}iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:8px;background:var(--ink);margin:20px 0}.service{display:grid;grid-template-columns:.8fr 1fr;gap:70px;align-items:center;padding:40px 0;border-top:1px solid var(--line)}.service img{width:100%;height:300px;object-fit:cover;border-radius:8px}.service h2{font-size:34px}.service-list{padding-bottom:40px}.panel{padding:35px;background:white;border-radius:8px}.panel a,.contact-grid aside>a{display:block;overflow-wrap:anywhere;color:var(--blue)}.phone{font-size:27px;font-weight:600;margin-bottom:12px}.availability{margin-top:22px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-top:15px}.contact-grid aside img{width:100%;height:250px;object-fit:cover;border-radius:8px;margin-top:30px}.form-panel{padding:40px;background:var(--surface);border-radius:8px}.form-panel h2{font-size:30px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}input,textarea{width:100%;display:block;border:1px solid #b5c5d6;background:white;padding:12px;border-radius:4px;margin-top:7px;color:var(--ink)}textarea{resize:vertical}.privacy{font-size:12px;color:var(--muted);margin-top:20px}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.skip{position:absolute;top:-80px;left:20px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}@media(max-width:1100px){.nav-phone{display:none}.nav-row{gap:20px}.split,.contact-grid{gap:40px}.wrap{width:calc(100% - 64px)}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav-row{min-height:82px;flex-wrap:wrap;gap:0;justify-content:space-between}.brand{font-size:20px}.brand small{font-size:9px}.mark{font-size:22px}.menu{display:block;border:1px solid var(--line);border-radius:4px;background:white;padding:8px 14px;color:var(--ink)}nav{display:none;flex-basis:100%;margin:0;padding:15px 0 20px;gap:10px;flex-wrap:wrap}nav.open{display:flex}nav a{padding:8px 12px}.hero{min-height:610px}.hero>img{object-position:65% center}.shade{background:linear-gradient(90deg,#05172ade,#05172a65)}.hero-content{padding:60px 0 85px}.hero h1{font-size:60px;letter-spacing:-3px}.hero-copy{font-size:16px;max-width:330px}.hero-bottom{left:20px;right:20px}.proof{gap:15px;padding:25px 0}.proof div{padding:0 8px}.proof strong{font-size:18px}.proof span{font-size:11px}.split,.cards,.footer-grid,.contact-grid,.service{grid-template-columns:1fr}.split{gap:30px}.section{padding-top:55px;padding-bottom:55px}.split>img{height:300px}.cards{gap:22px}.card>img{height:260px}.heading{display:block}.heading h2{margin-bottom:20px}.cta{padding:30px;display:block;margin-top:35px;margin-bottom:35px}.cta .button{margin-top:25px}.footer-grid{gap:30px}footer{padding-top:40px}.intro{padding-top:45px;padding-bottom:25px}h1{font-size:44px;letter-spacing:-2px}.lead{font-size:17px}.gallery{grid-template-columns:1fr 1fr;gap:16px}.gallery img{height:160px}.service{gap:26px;padding:28px 0}.service img{height:250px}.service h2{font-size:30px}.contact-grid{gap:35px}.form-panel{padding:25px}.fields{grid-template-columns:1fr}.phone{font-size:24px}}@media(max-width:360px){.brand small{display:none}.hero h1{font-size:52px}.gallery{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Tutorial artwork uses a consistent wide crop without stretching. */
#tutorials{scroll-margin-top:24px}
.tutorial-image{display:block;position:relative}
.tutorial-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.tutorial-tag{position:absolute;top:12px;left:12px;background:#fff;color:#102b46;padding:4px 9px;border-radius:3px;font-size:11px;font-weight:600}
#tutorials .card h3{font-size:20px;line-height:1.25}

/* Repair services: three columns, two rows on desktop. */
.service-grid{align-items:stretch;padding:16px 0 40px}.service-card{border:1px solid var(--line);box-shadow:none}.service-card>div{display:flex;flex-direction:column;height:calc(100% - 220px)}.service-card>img{height:220px}.service-card h2{font-size:25px;letter-spacing:-.7px;line-height:1.18;margin-bottom:16px}.service-card .link{align-self:flex-start;margin-top:auto}.service-card p{margin-bottom:24px}
.about-gallery summary{font-size:20px;font-weight:600;cursor:pointer;padding:18px 0;border-top:1px solid var(--line)}.about-work .card{box-shadow:none;border:1px solid var(--line)}
@media(max-width:1000px) and (min-width:761px){.service-grid{grid-template-columns:repeat(2,1fr)}}

.video-hero{overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;filter:blur(2.5px) saturate(.65);transform:scale(1.035);transition:opacity .4s}.hero-video.is-playing{opacity:.62}.video-hero .shade{background:linear-gradient(90deg,rgba(5,23,42,.93),rgba(5,23,42,.75) 48%,rgba(5,23,42,.55))}.video-toggle{border:1px solid #8ca5bc;border-radius:4px;background:#05172a99;color:#e5edf5;padding:6px 10px;font-size:12px;cursor:pointer}.video-toggle[hidden]{display:none}.hero-bottom{align-items:center}.team-portrait img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--surface);border-radius:8px}.team-portrait figcaption{padding-top:12px;color:var(--muted);font-size:13px}.about-team{display:grid;grid-template-columns:1.35fr .85fr;gap:55px;align-items:center;padding-top:25px}.about-team h2{font-size:36px}.about-work{margin-top:32px}
@media(max-width:760px){.about-team{grid-template-columns:1fr;gap:30px}.hero-video{object-position:58% center}.video-hero .shade{background:linear-gradient(90deg,#05172ae8,#05172ab0)}.hero-bottom{font-size:11px}.video-toggle{font-size:11px}.team-portrait img{aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none;transition:none}.video-toggle{display:none}}
.hero-video{filter:blur(2.5px) saturate(.65) brightness(.75)}.hero-video.is-playing{opacity:1}
.retrofit-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:8px}.retrofit-visual figcaption{font-size:12px;color:var(--muted);padding-top:12px}.team-portrait img{aspect-ratio:4/3}.parts-coming{min-height:58vh;max-width:1240px}.parts-coming .lead{max-width:650px}.parts-status{display:inline-block;padding:6px 13px;background:var(--surface);border:1px solid var(--line);border-radius:4px;margin-bottom:28px;color:var(--blue);font-weight:600}.parts-coming .actions{align-items:center;gap:24px}@media(max-width:760px){.team-portrait img{aspect-ratio:auto}}
/* Keep the entire service photograph visible instead of cropping its subject. */
.service-card{display:flex;flex-direction:column}.service-card>img,.service-preview .card>img{height:auto;aspect-ratio:16/9;object-fit:contain;background:#e6edf4}.service-card>div{height:auto;flex:1}
.engineering{border-top:1px solid var(--line);scroll-margin-top:24px}.engineering-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.engineering-grid video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--ink);border-radius:6px}.engineering-grid figcaption{padding:22px 0 0;border-bottom:1px solid var(--line)}.engineering-grid h3{font-size:23px;margin-bottom:12px}.engineering-grid p{font-size:15px;color:var(--muted)}.engineering-note{max-width:100ch;margin:28px 0 0}.video-hero .hero-bottom{gap:16px}.video-hero .hero-bottom span{max-width:55%}@media(max-width:760px){.engineering-grid{grid-template-columns:1fr;gap:30px}.engineering-grid h3{font-size:25px}}
.nav-interest{white-space:nowrap;padding:10px 16px}.interest-first .form-panel{grid-column:1;grid-row:1}.interest-first aside{grid-column:2;grid-row:1}.interest-first{grid-template-columns:1.2fr .8fr}.interest-first #interest-form{scroll-margin-top:24px}.checkout-panel .link{color:#d3e8ff}.checkout-panel #checkout-message{font-size:14px;margin:16px 0}.payment-success{min-height:60vh}.payment-success .actions{align-items:center}
@media(max-width:1100px){.nav-row{flex-wrap:wrap;padding:14px 0;gap:14px}.nav-interest{font-size:12px}nav{gap:18px}}
@media(max-width:760px){.nav-row{gap:12px}.nav-interest{order:2;font-size:12px;padding:8px 12px}.menu{order:1}nav{order:3}.interest-first{grid-template-columns:1fr}.interest-first .form-panel{grid-column:1;grid-row:1}.interest-first aside{grid-column:1;grid-row:2}.interest-first{padding-top:20px}.checkout-panel .link{font-size:14px}}
