:root{
  --radius:.25rem;
  --background:oklch(0.16 0.008 75);
  --foreground:oklch(0.94 0.018 83);
  --card:oklch(0.205 0.009 75);
  --card-foreground:oklch(0.94 0.018 83);
  --primary:oklch(0.68 0.14 60);
  --primary-foreground:oklch(0.15 0.009 65);
  --secondary:oklch(0.27 0.011 72);
  --secondary-foreground:oklch(0.94 0.018 83);
  --muted:oklch(0.245 0.008 72);
  --muted-foreground:oklch(0.71 0.018 76);
  --accent:oklch(0.76 0.125 68);
  --accent-foreground:oklch(0.15 0.009 65);
  --destructive:oklch(0.577 0.245 27.325);
  --destructive-foreground:oklch(0.984 0.003 247.858);
  --border:oklch(0.36 0.012 72);
  --input:oklch(0.31 0.011 72);
  --ring:oklch(0.68 0.14 60);
}
*{box-sizing:border-box;margin:0;padding:0;border-color:var(--border);}
html{scroll-behavior:smooth;scroll-padding-top:5rem;-webkit-text-size-adjust:100%;}
body{background-color:var(--background);color:var(--foreground);font-family:"Manrope",sans-serif;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;background:none;color:inherit;}
input,select,textarea{font-family:inherit;}
::selection{background:color-mix(in oklab, var(--primary) 70%, transparent);color:var(--primary-foreground);}
.font-display{font-family:"Barlow Condensed",sans-serif;}
.wrap{max-width:1440px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;}
@media(min-width:640px){.wrap{padding-left:32px;padding-right:32px;}}
@media(min-width:1024px){.wrap{padding-left:48px;padding-right:48px;}}
.text-primary{color:var(--primary);}
.text-muted{color:var(--muted-foreground);}
.uppercase{text-transform:uppercase;}
.industrial-grid{background-image:linear-gradient(to right, color-mix(in oklab, var(--foreground) 4%, transparent) 1px, transparent 1px),linear-gradient(to bottom, color-mix(in oklab, var(--foreground) 4%, transparent) 1px, transparent 1px);background-size:48px 48px;}
.text-stroke{-webkit-text-stroke:1px color-mix(in oklab, var(--foreground) 22%, transparent);color:transparent;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border:1px solid transparent;transition:background-color .15s,color .15s,border-color .15s;}
.btn svg{width:1.1em;height:1.1em;flex-shrink:0;}
.btn-primary{background:var(--primary);color:var(--primary-foreground);}
.btn-primary:hover{background:color-mix(in oklab, var(--primary) 88%, black);}
.btn-outline{background:transparent;border-color:color-mix(in oklab, var(--foreground) 35%, transparent);color:var(--foreground);}
.btn-outline:hover{background:var(--foreground);color:var(--background);}
.btn-ghost{background:transparent;color:var(--foreground);}
.btn-ghost:hover{background:var(--secondary);}
.btn-lg{height:3.5rem;padding:0 2rem;font-size:.875rem;}
.btn-md{height:2.75rem;padding:0 1.5rem;font-size:.8rem;}
.btn-sm{height:2.5rem;padding:0 1rem;font-size:.7rem;}
.btn-icon{height:2.5rem;width:2.5rem;padding:0;}

/* Header */
header{position:fixed;inset:0 0 auto 0;z-index:50;border-bottom:1px solid color-mix(in oklab, var(--border) 70%, transparent);background:color-mix(in oklab, var(--background) 90%, transparent);backdrop-filter:blur(20px);}
.header-inner{height:5rem;display:flex;align-items:center;justify-content:space-between;}
.logo{display:inline-flex;align-items:center;gap:.75rem;color:var(--primary);}
.logo svg{height:2.5rem;width:2.5rem;flex-shrink:0;}
.logo-text{display:flex;flex-direction:column;line-height:1;color:var(--foreground);}
.logo-text b{font-family:"Barlow Condensed",sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:.04em;}
.logo-text span{margin-top:.25rem;font-size:.62rem;font-weight:600;letter-spacing:.24em;color:var(--muted-foreground);}
nav.desktop-nav{display:none;align-items:center;gap:2rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;}
nav.desktop-nav a:hover{color:var(--primary);}
.header-right{display:none;align-items:center;gap:1.25rem;}
.header-phone{display:none;font-size:.875rem;font-weight:700;}
.header-phone:hover{color:var(--primary);}
.menu-toggle{display:inline-flex;}
@media(min-width:640px){.header-right{display:flex;}.menu-toggle{display:none;}}
@media(min-width:768px){.header-phone{display:inline-flex;}}
@media(min-width:1024px){nav.desktop-nav{display:flex;}}
.mobile-nav{display:none;border-top:1px solid var(--border);background:var(--background);padding:1.25rem 20px;}
.mobile-nav.open{display:block;}
.mobile-nav a{display:block;border-bottom:1px solid var(--border);padding:1rem 0;font-family:"Barlow Condensed",sans-serif;font-size:1.25rem;font-weight:700;text-transform:uppercase;}
.mobile-nav a:last-child{border-bottom:none;}
@media(min-width:640px){.mobile-nav{display:none !important;}}

main{min-height:100vh;padding-bottom:4rem;}
@media(min-width:768px){main{padding-bottom:0;}}

/* Hero */
#top{position:relative;min-height:640px;overflow:hidden;padding-top:5rem;}
@media(min-width:1024px){#top{min-height:880px;}}
#top img.hero-bg{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:64% center;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,var(--background) 0%,color-mix(in oklab, var(--background) 92%, transparent) 35%,color-mix(in oklab, var(--background) 35%, transparent) 72%,color-mix(in oklab, var(--background) 55%, transparent) 100%);}
.hero-grid-overlay{position:absolute;inset:0;opacity:.3;}
.hero-inner{position:relative;min-height:560px;display:flex;align-items:center;padding-top:3rem;padding-bottom:3rem;}
@media(min-width:1024px){.hero-inner{min-height:760px;}}
.hero-content{max-width:56rem;}
.hero-eyebrow{margin-bottom:1.25rem;display:flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);}
.hero-eyebrow .line{height:1px;width:2.5rem;background:var(--primary);}
h1.hero-title{font-family:"Barlow Condensed",sans-serif;font-size:3rem;font-weight:800;text-transform:uppercase;line-height:.86;}
@media(min-width:640px){h1.hero-title{font-size:4.5rem;}}
@media(min-width:1024px){h1.hero-title{font-size:6.5rem;}}
h1.hero-title span{color:var(--primary);}
.hero-sub{margin-top:1.75rem;max-width:36rem;font-size:1rem;line-height:1.75;color:color-mix(in oklab, var(--foreground) 80%, transparent);}
@media(min-width:640px){.hero-sub{font-size:1.125rem;}}
.hero-a11y-badge{margin-top:1.5rem;display:inline-flex;width:fit-content;align-items:center;gap:.75rem;border:1px solid color-mix(in oklab, var(--primary) 30%, transparent);background:color-mix(in oklab, var(--primary) 10%, transparent);color:var(--primary);padding:.75rem 1rem;}
.hero-a11y-badge svg{width:1.25rem;height:1.25rem;flex-shrink:0;}
.hero-a11y-badge span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;}
.hero-cta{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem;}
@media(min-width:640px){.hero-cta{flex-direction:row;}}
.btn-hero-outline{border-color:color-mix(in oklab, var(--foreground) 35%, transparent);background:color-mix(in oklab, var(--background) 30%, transparent);backdrop-filter:blur(4px);}
.btn-hero-outline:hover{background:var(--foreground);color:var(--background);}
.hero-strip{position:relative;display:grid;grid-template-columns:1fr;border-top:1px solid color-mix(in oklab, var(--border) 80%, transparent);border-bottom:1px solid color-mix(in oklab, var(--border) 80%, transparent);background:color-mix(in oklab, var(--background) 92%, transparent);}
@media(min-width:640px){.hero-strip{grid-template-columns:repeat(3,1fr);}}
.hero-strip-item{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border);padding:1.25rem 1.5rem;}
@media(min-width:1024px){.hero-strip-item{padding:1.25rem 2.5rem;}}
.hero-strip-item:last-child{border-bottom:none;}
@media(min-width:640px){.hero-strip-item{border-bottom:none;border-right:1px solid var(--border);}.hero-strip-item:last-child{border-right:none;}}
.hero-strip-item svg{color:var(--primary);width:1.25rem;height:1.25rem;flex-shrink:0;}
.hero-strip-item .cap-label{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--muted-foreground);}
.hero-strip-item .cap-value{margin-top:.25rem;display:block;font-size:.875rem;font-weight:600;}

/* Section heading */
.section{padding:4rem 0;}
@media(min-width:1024px){.section{padding:6rem 0;}}
.section-heading{display:grid;gap:1.75rem;}
@media(min-width:1024px){.section-heading{grid-template-columns:1fr .55fr;align-items:end;}}
.eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--primary);}
h2.section-title{margin-top:1.25rem;max-width:56rem;font-family:"Barlow Condensed",sans-serif;font-size:2.5rem;font-weight:800;text-transform:uppercase;line-height:.92;}
@media(min-width:640px){h2.section-title{font-size:4rem;}}
.section-intro{max-width:28rem;font-size:1rem;line-height:1.75;color:var(--muted-foreground);}
@media(min-width:1024px){.section-intro{justify-self:end;}}

/* Services */
.cap-grid{display:grid;border-left:1px solid var(--border);border-top:1px solid var(--border);grid-template-columns:1fr;}
@media(min-width:768px){.cap-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1280px){.cap-grid{grid-template-columns:1fr 1fr 1fr;}}
.services-group{margin-top:4rem;}
.group-label{margin-bottom:1.25rem;display:flex;align-items:center;gap:1rem;}
.group-label .line{height:1px;width:2.5rem;background:var(--primary);flex-shrink:0;}
.group-label p{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);}
.cap-card{display:flex;flex-direction:column;min-height:280px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--card);padding:1.75rem;transition:transform .3s,box-shadow .3s,background-color .3s;}
@media(min-width:640px){.cap-card{padding:2.25rem;}}
.cap-card:hover{background:var(--secondary);transform:translateY(-4px);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);}
.cap-card-top{display:flex;align-items:flex-start;justify-content:space-between;}
.cap-num{font-family:"Barlow Condensed",sans-serif;font-size:3rem;font-weight:700;}
.cap-icon-badge{display:grid;place-items:center;height:3rem;width:3rem;flex-shrink:0;border:1px solid color-mix(in oklab, var(--primary) 30%, transparent);background:color-mix(in oklab, var(--primary) 10%, transparent);color:var(--primary);transition:background-color .3s,color .3s,border-color .3s;}
.cap-icon-badge svg{width:1.5rem;height:1.5rem;}
.cap-card:hover .cap-icon-badge{border-color:transparent;background:var(--primary);color:var(--primary-foreground);}
.cap-card h3{margin-top:2.5rem;max-width:16rem;font-family:"Barlow Condensed",sans-serif;font-size:1.5rem;font-weight:700;text-transform:uppercase;line-height:1.2;}
.cap-card p{margin-top:1rem;font-size:.875rem;line-height:1.5;color:var(--muted-foreground);}

/* About */
#about{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);}
.about-grid{display:grid;grid-template-columns:1fr;}
@media(min-width:1024px){.about-grid{grid-template-columns:.92fr 1.08fr;}}
.about-media{position:relative;min-height:360px;overflow:hidden;}
@media(min-width:1024px){.about-media{min-height:720px;}}
.about-media img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;}
.about-media-overlay{position:absolute;inset:0;background:linear-gradient(to top, color-mix(in oklab, var(--background) 80%, transparent), transparent 60%);}
.about-name-card{position:absolute;left:0;bottom:0;border-right:1px solid var(--border);border-top:1px solid var(--border);background:color-mix(in oklab, var(--background) 90%, transparent);padding:1.5rem;backdrop-filter:blur(4px);}
@media(min-width:640px){.about-name-card{padding:2rem;}}
.about-name-card p:first-child{font-family:"Barlow Condensed",sans-serif;font-size:1.75rem;font-weight:700;text-transform:uppercase;}
.about-name-card p:last-child{margin-top:.25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--primary);}
.about-text{display:flex;flex-direction:column;justify-content:center;padding:3.5rem 20px;}
@media(min-width:640px){.about-text{padding:5rem 3rem;}}
@media(min-width:1024px){.about-text{padding:5rem 4rem;}}
@media(min-width:1280px){.about-text{padding:5rem 6rem;}}
.about-text h2{margin-top:1.25rem;font-family:"Barlow Condensed",sans-serif;font-size:2.75rem;font-weight:800;text-transform:uppercase;line-height:.93;}
@media(min-width:640px){.about-text h2{font-size:3.5rem;}}
@media(min-width:1280px){.about-text h2{font-size:4.5rem;}}
.about-text h2 span{color:var(--muted-foreground);}
.about-text>p{margin-top:2rem;max-width:36rem;font-size:1rem;line-height:2;color:color-mix(in oklab, var(--foreground) 75%, transparent);}
.about-quote{margin-top:2.25rem;border-left:2px solid var(--primary);padding-left:1.5rem;font-family:"Barlow Condensed",sans-serif;font-size:1.5rem;font-weight:600;text-transform:uppercase;line-height:1.3;}
.trust-grid{margin-top:2.5rem;display:grid;gap:.75rem;grid-template-columns:1fr;}
@media(min-width:640px){.trust-grid{grid-template-columns:1fr 1fr;}}
.trust-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:600;}
.trust-item svg{width:1rem;height:1rem;color:var(--primary);flex-shrink:0;}

/* Equipment */
#equipment{overflow:hidden;}
.equip-grid{display:grid;gap:3rem;grid-template-columns:1fr;}
@media(min-width:1024px){.equip-grid{grid-template-columns:.78fr 1.22fr;align-items:end;}}
.equip-grid h2{margin-top:1.25rem;font-family:"Barlow Condensed",sans-serif;font-size:2.75rem;font-weight:800;text-transform:uppercase;line-height:.92;}
@media(min-width:640px){.equip-grid h2{font-size:4.5rem;}}
.equip-grid h2 .stroke{-webkit-text-stroke:1px color-mix(in oklab, var(--foreground) 22%, transparent);color:transparent;}
.equip-grid>div:first-child>p{margin-top:1.5rem;max-width:26rem;font-size:1rem;line-height:1.75;color:var(--muted-foreground);}
.equip-list{margin-top:2.25rem;display:grid;grid-template-columns:1fr;gap:1px;background:var(--border);}
@media(min-width:640px){.equip-list{grid-template-columns:1fr 1fr;}}
.equip-item{display:flex;align-items:center;gap:.75rem;background:var(--background);padding:1rem;font-size:.875rem;font-weight:600;}
.equip-item .dot{height:.375rem;width:.375rem;background:var(--primary);flex-shrink:0;}
.equip-media{position:relative;min-height:320px;overflow:hidden;border:1px solid var(--border);}
@media(min-width:1024px){.equip-media{min-height:600px;}}
.equip-media img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;}
.equip-media-overlay{position:absolute;inset:0 0 0 0;display:flex;align-items:flex-end;justify-content:space-between;background:linear-gradient(to top, var(--background), color-mix(in oklab, var(--background) 45%, transparent) 55%, transparent 100%);padding:1.5rem;padding-top:7rem;}
.equip-media-overlay p:first-child{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--primary);}
.equip-media-overlay p:last-child{margin-top:.5rem;font-family:"Barlow Condensed",sans-serif;font-size:1.75rem;font-weight:700;text-transform:uppercase;}

/* Estimate */
#estimate{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--primary);color:var(--primary-foreground);}
.estimate-grid{display:grid;gap:3rem;grid-template-columns:1fr;}
@media(min-width:1024px){.estimate-grid{grid-template-columns:.72fr 1.28fr;}}
.estimate-intro p.eyebrow{color:var(--primary-foreground);}
.estimate-intro h2{margin-top:1.25rem;font-family:"Barlow Condensed",sans-serif;font-size:2.75rem;font-weight:800;text-transform:uppercase;line-height:.9;}
@media(min-width:640px){.estimate-intro h2{font-size:4.5rem;}}
.estimate-intro>p{margin-top:1.5rem;max-width:26rem;font-size:1rem;line-height:1.75;color:color-mix(in oklab, var(--primary-foreground) 75%, transparent);}
.estimate-intro a.call-link{margin-top:2.25rem;display:inline-flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--primary-foreground);padding-bottom:.5rem;font-weight:700;}
.estimate-intro a.call-link svg{width:1.25rem;height:1.25rem;}
.estimate-form{background:var(--background);color:var(--foreground);padding:1.25rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.4);}
@media(min-width:640px){.estimate-form{padding:2rem;}}
@media(min-width:1024px){.estimate-form{padding:2.5rem;}}
.step-progress{margin-bottom:2.25rem;display:flex;align-items:center;gap:.5rem;}
.step-bar{height:.25rem;flex:1;background:var(--border);transition:background-color .2s;}
.step-bar.active{background:var(--primary);}
.step-count{margin-left:.75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--muted-foreground);white-space:nowrap;}
.form-title{margin-bottom:1.75rem;}
.form-title h3{font-family:"Barlow Condensed",sans-serif;font-size:1.75rem;font-weight:700;text-transform:uppercase;}
.form-title p{margin-top:.5rem;font-size:.875rem;color:var(--muted-foreground);}
.trade-grid{display:grid;gap:.75rem;grid-template-columns:1fr;}
@media(min-width:640px){.trade-grid{grid-template-columns:1fr 1fr;}}
.trade-btn{min-height:3.5rem;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:.75rem 1rem;text-align:left;border:1px solid color-mix(in oklab, var(--foreground) 35%, transparent);background:transparent;font-size:.8rem;font-weight:600;white-space:normal;}
.trade-btn:hover{background:var(--secondary);}
.trade-btn .dot{height:.5rem;width:.5rem;flex-shrink:0;background:currentColor;}
.trade-btn.selected{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground);}
.field-grid{display:grid;gap:1rem;grid-template-columns:1fr;}
@media(min-width:640px){.field-grid{grid-template-columns:1fr 1fr;}}
.field-wide{grid-column:1/-1;}
label.field-label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;}
label.field-label>span.field-control{margin-top:.5rem;display:block;}
.form-field{width:100%;border:1px solid var(--border);border-radius:0;background:var(--background);padding:.875rem 1rem;color:var(--foreground);font-size:.875rem;font-weight:500;outline:none;}
.form-field::placeholder{color:var(--muted-foreground);}
.form-field:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);}
.form-nav{margin-top:2.25rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--border);padding-top:1.5rem;}

/* Footer */
footer{border-top:1px solid var(--border);background:var(--card);padding:3.5rem 0;}
.footer-grid{display:grid;gap:2.5rem;grid-template-columns:1fr;}
@media(min-width:768px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr;align-items:end;}}
.footer-brand p{margin-top:1.25rem;max-width:22rem;font-size:.875rem;line-height:1.5;color:var(--muted-foreground);}
.footer-col p.label{margin-bottom:1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--muted-foreground);}
.footer-col a,.footer-col .static-line{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;}
.footer-col a:hover{color:var(--primary);}
.footer-col svg{width:1rem;height:1rem;color:var(--primary);flex-shrink:0;}
.footer-bottom{margin-top:3rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border);padding-top:1.5rem;font-size:.75rem;color:var(--muted-foreground);}
@media(min-width:640px){.footer-bottom{flex-direction:row;justify-content:space-between;}}

/* Sticky mobile bar */
.mobile-bar{position:fixed;inset:auto 0 0 0;z-index:50;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);background:color-mix(in oklab, var(--background) 95%, transparent);padding:.5rem;backdrop-filter:blur(20px);}
@media(min-width:768px){.mobile-bar{display:none;}}
.mobile-bar .btn{height:3rem;border-radius:0;}

/* Toast */
#toast-root{position:fixed;top:1.25rem;left:50%;transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;gap:.5rem;width:calc(100% - 2.5rem);max-width:360px;align-items:center;}
.toast{width:100%;display:flex;align-items:center;gap:.6rem;border:1px solid var(--border);background:var(--card);color:var(--card-foreground);padding:.75rem 1rem;font-size:.8rem;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.35);opacity:0;transform:translateY(-10px);transition:opacity .2s,transform .2s;}
.toast.show{opacity:1;transform:translateY(0);}
.toast.success{border-color:var(--primary);}
.toast.success svg{color:var(--primary);}
.toast.error{border-color:var(--destructive);}
.toast.error svg{color:var(--destructive);}
.toast svg{width:1.1rem;height:1.1rem;flex-shrink:0;}

.hidden{display:none !important;}