/* SORBIT static site — industrial dark theme */
:root{
  --bg:#0d1013;
  --bg-2:#151a1f;
  --card:#1a2027;
  --card-2:#1f262e;
  --border:#2a333d;
  --text:#f2f4f6;
  --muted:#98a2ad;
  --ember:#a01820;
  --ember-glow:#d43a1f;
  --shadow-ember:0 10px 40px -10px rgba(160,24,32,.55);
  --gradient-ember:linear-gradient(135deg,#a01820 0%,#d43a1f 100%);
  --gradient-forge:radial-gradient(ellipse at top,#3a1216 0%,var(--bg) 60%);
}
*{box-sizing:border-box;margin:0;padding:0;border-color:var(--border)}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--text);
  font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.5;
}
h1,h2,h3,h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.01em;font-weight:700;line-height:1.05}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,textarea{font:inherit;color:inherit}

.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.3em;color:var(--ember)}
.text-ember{color:var(--ember)}
.text-muted{color:var(--muted)}
.ember-gradient{background:var(--gradient-ember)}
.shadow-ember{box-shadow:var(--shadow-ember)}
.forge-bg{background-image:var(--gradient-forge)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.5rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:2px;transition:.2s;cursor:pointer}
.btn-primary{background:var(--gradient-ember);color:#fff;box-shadow:var(--shadow-ember)}
.btn-primary:hover{transform:scale(1.02)}
.btn-outline{border:1px solid var(--border);background:rgba(26,32,39,.6);backdrop-filter:blur(6px)}
.btn-outline:hover{border-color:var(--ember);color:#fff}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(13,16,19,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-logo{display:flex;align-items:center;gap:.6rem}
.nav-logo img{height:36px;width:auto}
.nav-links{display:none;gap:1.6rem}
.nav-links a{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);transition:.2s;padding:.4rem 0;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a.active{color:#fff;border-color:var(--ember)}
.nav-right{display:flex;align-items:center;gap:.75rem}
.lang-switch{display:inline-flex;border:1px solid var(--border);border-radius:2px;overflow:hidden}
.lang-switch button{padding:.35rem .6rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.lang-switch button.active{background:var(--ember);color:#fff}
.nav-cta{display:none}
.menu-btn{display:inline-flex;padding:.5rem;border:1px solid var(--border);border-radius:2px}
@media(min-width:900px){
  .nav-links{display:flex}
  .nav-cta{display:inline-flex}
  .menu-btn{display:none}
}
.mobile-menu{display:none;padding:1rem 0 1.5rem;border-top:1px solid var(--border)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:.75rem 0;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;color:var(--muted)}
.mobile-menu a:hover{color:#fff}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.4}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,rgba(13,16,19,.7) 50%,rgba(13,16,19,.3) 100%)}
.hero-inner{position:relative;padding:6rem 0 8rem;max-width:820px}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border:1px solid rgba(160,24,32,.4);background:rgba(160,24,32,.12);color:var(--ember);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;border-radius:99px;margin-bottom:1.5rem}
.hero h1{font-size:clamp(2.5rem,7vw,4.8rem)}
.hero h1 .grad{background:var(--gradient-ember);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .subtitle{margin-top:1.25rem;font-family:'Oswald',sans-serif;font-size:1.15rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}
.hero .lead{margin-top:1.25rem;max-width:640px;color:var(--muted);font-size:1.05rem}
.hero .buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem}

/* Sub-page hero (smaller) */
.page-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.page-hero .hero-bg img{opacity:.25}
.page-hero-inner{position:relative;padding:5rem 0 4rem}
.page-hero h1{margin-top:1rem;font-size:clamp(2.2rem,6vw,3.8rem);max-width:900px}

/* ---------- QUOTE ---------- */
.quote-band{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(26,32,39,.4);padding:3.5rem 0;text-align:center}
.quote-band blockquote{font-family:'Oswald',sans-serif;font-size:clamp(1.5rem,3vw,2.25rem);font-style:italic;text-transform:none;letter-spacing:0}
.quote-band blockquote span{color:var(--ember)}
.quote-band .attr{margin-top:1rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--ember)}

/* ---------- SECTIONS ---------- */
section{padding:5rem 0}
.section-head{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}
@media(min-width:800px){.section-head{flex-direction:row;justify-content:space-between;align-items:flex-end}}
.section-head h2{font-size:clamp(2rem,4vw,3rem);max-width:600px}
.section-head p{max-width:400px;color:var(--muted);font-size:.9rem}

/* Reasons grid */
.reasons{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:640px){.reasons{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.reasons{grid-template-columns:repeat(5,1fr)}}
.reason{position:relative;overflow:hidden;padding:1.5rem;border:1px solid var(--border);background:var(--card);border-radius:2px;transition:.2s}
.reason:hover{border-color:rgba(160,24,32,.6)}
.reason::before{content:"";position:absolute;right:-2rem;top:-2rem;width:6rem;height:6rem;background:rgba(160,24,32,.1);border-radius:50%;filter:blur(30px)}
.reason .ico{position:relative;width:2rem;height:2rem;color:var(--ember)}
.reason h3{position:relative;margin-top:1rem;font-size:1rem;text-transform:none;letter-spacing:0}
.reason p{position:relative;margin-top:.5rem;font-size:.88rem;color:var(--muted)}

/* Snapshot split */
.split{display:grid;gap:2.5rem;align-items:center;grid-template-columns:1fr}
@media(min-width:1024px){.split{grid-template-columns:1fr 1fr}}
.split-bg{background:rgba(26,32,39,.4)}
.split h2{font-size:clamp(2rem,4vw,3rem)}
.split .lead{margin-top:1.5rem;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:2rem}
.stat{padding:1rem;border:1px solid var(--border);background:rgba(13,16,19,.5);border-radius:2px}
.stat .ico{width:1.15rem;height:1.15rem;color:var(--ember)}
.stat .v{margin-top:.5rem;font-family:'Oswald',sans-serif;font-size:1.5rem;font-weight:700}
.stat .l{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.split-img{position:relative}
.split-img::before{content:"";position:absolute;inset:-.5rem;background:linear-gradient(45deg,rgba(160,24,32,.4),transparent);filter:blur(30px);border-radius:2px}
.split-img img{position:relative;aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:2px}

/* Heat page */
.heat-grid{display:grid;gap:3rem;grid-template-columns:1fr}
@media(min-width:1024px){.heat-grid{grid-template-columns:2fr 1fr}}
.heat-quote{margin-top:2.5rem;border-left:2px solid var(--ember);background:rgba(26,32,39,.6);padding:1.5rem;font-family:'Oswald',sans-serif;font-style:italic;font-size:clamp(1.2rem,2vw,1.5rem);text-transform:none;letter-spacing:0}
.heat-quote span{color:var(--ember)}
.proc-list{display:grid;gap:.75rem;margin-top:2rem}
@media(min-width:640px){.proc-list{grid-template-columns:repeat(2,1fr)}}
.proc{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;border:1px solid var(--border);background:var(--card);border-radius:2px;font-size:.9rem}
.proc .chk{flex-shrink:0;width:1.25rem;height:1.25rem;display:grid;place-items:center;border-radius:50%;background:var(--gradient-ember);color:#fff;font-size:.75rem}
.callout{margin-top:3rem;padding:1.5rem;border-left:2px solid var(--ember);background:rgba(26,32,39,.6)}
.spec-card{overflow:hidden;border:1px solid var(--border);background:var(--card);border-radius:2px;margin-bottom:1.5rem}
.spec-card .img{position:relative;aspect-ratio:4/3}
.spec-card .img img{width:100%;height:100%;object-fit:cover}
.spec-card .img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--card),transparent 60%)}
.spec-card .img .label{position:absolute;bottom:.75rem;left:1rem;display:flex;align-items:center;gap:.5rem;font-family:'Oswald',sans-serif;font-size:1rem;text-transform:uppercase}
.spec-card .spec-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);font-family:'Oswald',sans-serif;font-size:1rem;text-transform:uppercase}
.spec-card dl > div{display:flex;justify-content:space-between;padding:.75rem 1.25rem;font-size:.85rem;border-top:1px solid var(--border)}
.spec-card dt{color:var(--muted)}
.spec-card dd{color:var(--ember);font-weight:700}
.cta-box{margin-top:4rem;display:flex;flex-direction:column;gap:1.5rem;padding:2rem;border:1px solid rgba(160,24,32,.4);background:linear-gradient(135deg,rgba(160,24,32,.1) 0%,transparent 100%);border-radius:2px}
@media(min-width:800px){.cta-box{flex-direction:row;justify-content:space-between;align-items:center}}
.cta-box h3{font-size:1.4rem}
.cta-box p{margin-top:.4rem;color:var(--muted);font-size:.9rem}

/* Services grid */
.svcs{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:2.5rem}
@media(min-width:768px){.svcs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.svcs{grid-template-columns:repeat(3,1fr)}}
.svc-card{position:relative;overflow:hidden;text-align:left;padding:2rem;border:1px solid var(--border);background:var(--card);border-radius:2px;transition:.2s}
.svc-card:hover{border-color:rgba(160,24,32,.6)}
.svc-card.active{border-color:var(--ember);box-shadow:var(--shadow-ember)}
.svc-card::before{content:"";position:absolute;right:-2.5rem;top:-2.5rem;width:8rem;height:8rem;background:rgba(160,24,32,.05);border-radius:50%;filter:blur(40px)}
.svc-card .row{position:relative;display:flex;justify-content:space-between;align-items:flex-start}
.svc-card .ico-box{width:3rem;height:3rem;display:grid;place-items:center;background:var(--gradient-ember);border-radius:2px;color:#fff;box-shadow:var(--shadow-ember)}
.svc-card .num{font-family:'Oswald',sans-serif;font-size:2.25rem;font-weight:700;color:rgba(152,162,173,.3)}
.svc-card h3{position:relative;margin-top:1.5rem;font-size:1.2rem;text-transform:none;letter-spacing:0}
.svc-card p{position:relative;margin-top:.75rem;font-size:.88rem;color:var(--muted)}
.svc-card .more{position:relative;display:inline-flex;align-items:center;gap:.35rem;margin-top:1.25rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ember)}
.svc-detail{display:none;margin-top:2rem;overflow:hidden;border:1px solid rgba(160,24,32,.4);background:var(--card);border-radius:2px}
.svc-detail.open{display:block}
.svc-detail .grid{display:grid;grid-template-columns:1fr}
@media(min-width:800px){.svc-detail .grid{grid-template-columns:1fr 1fr}}
.svc-detail .img{position:relative;min-height:280px;aspect-ratio:4/3}
@media(min-width:800px){.svc-detail .img{aspect-ratio:auto}}
.svc-detail .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-detail .body{position:relative;padding:2rem}
.svc-detail .close{position:absolute;top:1rem;right:1rem;width:2.25rem;height:2.25rem;display:grid;place-items:center;border:1px solid var(--border);border-radius:2px;color:var(--muted)}
.svc-detail .close:hover{border-color:var(--ember);color:var(--ember)}
.svc-detail .head{display:flex;align-items:center;gap:.75rem}
.svc-detail h3{font-size:1.5rem}
.svc-detail .long{margin-top:1.5rem;color:var(--muted)}

/* About */
.about-grid{display:grid;gap:3rem;grid-template-columns:1fr}
@media(min-width:1024px){.about-grid{grid-template-columns:3fr 2fr}}
.vision{position:relative;overflow:hidden;margin-top:2.5rem;padding:2rem;border:1px solid rgba(160,24,32,.4);background:linear-gradient(135deg,rgba(160,24,32,.15) 0%,transparent 100%);border-radius:2px}
.vision p{font-family:'Oswald',sans-serif;font-size:clamp(1.4rem,2.5vw,1.8rem);text-transform:none;letter-spacing:0;line-height:1.3}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}
.fact{padding:1rem;border:1px solid var(--border);background:var(--card);border-radius:2px}
.fact .v{font-family:'Oswald',sans-serif;font-size:1.5rem;color:var(--ember)}
.fact .l{margin-top:.25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}

/* Contact */
.ct-grid{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media(min-width:1024px){.ct-grid{grid-template-columns:2fr 3fr}}
.info-block{padding:1.5rem;border:1px solid var(--border);background:var(--card);border-radius:2px;margin-bottom:1.5rem}
.info-block .head{display:flex;align-items:center;gap:.75rem}
.info-block .head .ico-box{width:2.5rem;height:2.5rem;display:grid;place-items:center;background:var(--gradient-ember);border-radius:2px;color:#fff}
.info-block .head h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ember)}
.info-block ul{list-style:none;margin-top:1rem;font-size:.9rem;color:var(--muted)}
.info-block li{padding:.15rem 0}
.info-block a:hover{color:#fff}
.form-card{padding:1.5rem;border:1px solid var(--border);background:var(--card);border-radius:2px}
@media(min-width:640px){.form-card{padding:2rem}}
.form-card h2{font-size:1.6rem}
.form-card .sub{margin-top:.5rem;font-size:.9rem;color:var(--muted)}
.form-grid{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:1.5rem}
@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr}}
.form-grid .full{grid-column:1/-1}
.field label{display:block;margin-bottom:.35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.field input,.field textarea{width:100%;padding:.7rem .75rem;font-size:.9rem;background:var(--bg);border:1px solid var(--border);border-radius:2px;outline:none;transition:.15s}
.field input:focus,.field textarea:focus{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember)}
.honeypot{position:absolute;left:-9999px;width:0;height:0;overflow:hidden}
.form-msg{margin-top:1rem;padding:.75rem 1rem;border-radius:2px;font-size:.85rem;display:none}
.form-msg.error{display:block;border:1px solid #7f1d1d;background:#3a1010;color:#fca5a5}
.form-msg.ok{display:block;border:1px solid #14532d;background:#0d2716;color:#86efac}
.submit-btn{margin-top:1.5rem;width:100%}
@media(min-width:640px){.submit-btn{width:auto}}
.submit-btn[disabled]{opacity:.7;cursor:wait}

/* Map */
.map-wrap{margin-top:3.5rem;overflow:hidden;border:1px solid var(--border);border-radius:2px}
.map-wrap iframe{width:100%;height:420px;border:0;filter:grayscale(30%)}
.map-wrap .bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--border);background:rgba(26,32,39,.4);font-size:.85rem}
.map-wrap .bar span{color:var(--muted)}
.map-wrap .bar a{color:var(--ember);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--border);background:var(--bg-2);padding:3rem 0 1.5rem}
.foot{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:768px){.foot{grid-template-columns:2fr 1fr 1fr}}
.foot img{height:36px;margin-bottom:1rem}
.foot p{color:var(--muted);font-size:.9rem;max-width:400px}
.foot h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ember);margin-bottom:.75rem}
.foot ul{list-style:none;font-size:.9rem}
.foot li{padding:.25rem 0;color:var(--muted)}
.foot li a:hover{color:#fff}
.foot-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center;font-size:.8rem;color:var(--muted)}

/* Icons (inline SVG sized) */
.icn{width:1.1em;height:1.1em;stroke-width:2;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:-.15em}
