/* MT Builders — clear glass on black, steel + monster green (house glass theme) */
:root{
  --bg:#000000; --bg2:#060708;
  --glass:rgba(255,255,255,.07); --glass-hi:rgba(255,255,255,.11);
  --glass-soft:rgba(255,255,255,.045);
  --line:rgba(255,255,255,.12); --line-soft:rgba(255,255,255,.08);
  --ink:#f4f7fa; --dim:#b8c2cc; --faint:#828e99;
  --green:#76bc21; --green-hi:#a4e04a;
  --steel-hi:#eef3f8; --steel-lo:#8795a5;
  --radius:20px;
  --blur:blur(18px) saturate(1.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;padding-bottom:84px;
  background-image:
    radial-gradient(900px 500px at 85% -5%,rgba(118,188,33,.10),transparent 60%),
    radial-gradient(800px 500px at -10% 30%,rgba(90,130,180,.08),transparent 60%)}
img{max-width:100%}
a{color:inherit}
.steel-text{background:linear-gradient(180deg,var(--steel-hi) 20%,var(--steel-lo) 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.glass{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft)}

/* header — floating glass pill */
.site-head{position:sticky;top:12px;z-index:40;display:flex;align-items:center;gap:16px;
  max-width:1120px;margin:12px auto 0;padding:9px 14px 9px 12px;
  background:rgba(16,18,20,.55);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:999px;
  box-shadow:0 12px 34px rgba(0,0,0,.45)}
@media (max-width:1180px){.site-head{margin-left:14px;margin-right:14px}}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand-mark{width:40px;height:40px;border-radius:12px}
.brand-text{font-weight:800;letter-spacing:.06em;font-size:19px;white-space:nowrap}
.brand-text em{font-style:normal;color:var(--green)}
.head-nav{display:flex;gap:22px;margin-left:auto}
.head-nav a{color:var(--dim);text-decoration:none;font-size:15px;font-weight:600}
.head-nav a:hover{color:var(--ink)}
@media (max-width:820px){.head-nav{display:none}}

/* buttons */
.btn{display:inline-block;text-decoration:none;font-weight:700;font-size:16px;
  padding:14px 26px;border-radius:999px;border:1px solid transparent;cursor:pointer}
.btn-green{background:linear-gradient(180deg,var(--green-hi),var(--green));color:#0c1404;
  box-shadow:0 6px 24px rgba(118,188,33,.35)}
.btn-green:hover{filter:brightness(1.06)}
.btn-ghost{border-color:var(--line);color:var(--ink);
  background:var(--glass-soft);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.btn-small{padding:10px 18px;font-size:14px;margin-left:auto}
@media (min-width:821px){.btn-small{margin-left:6px}}

/* hero */
.hero{position:relative;overflow:hidden;text-align:center;padding:64px 22px 78px}
.hero-grid-bg{position:absolute;inset:0;opacity:.13;pointer-events:none;
  background:
   linear-gradient(rgba(255,255,255,.22) 2px,transparent 2px),
   linear-gradient(90deg,rgba(255,255,255,.22) 2px,transparent 2px);
  background-size:110px 110px;
  -webkit-mask-image:radial-gradient(760px 440px at 50% 28%,#000 30%,transparent 75%);
          mask-image:radial-gradient(760px 440px at 50% 28%,#000 30%,transparent 75%)}
.hero-inner{position:relative;max-width:880px;margin:0 auto}
.hero-panel{background:rgba(255,255,255,.045);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:32px;padding:52px 30px 44px;
  box-shadow:0 24px 60px rgba(0,0,0,.5)}
.hero-logo{width:158px;height:158px;border-radius:34px;
  box-shadow:0 18px 50px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.10)}
.hero-kicker{margin:26px 0 12px;color:var(--green);font-weight:800;
  letter-spacing:.22em;font-size:12.5px}
.hero h1{font-size:clamp(38px,6.4vw,62px);line-height:1.05;font-weight:850;letter-spacing:-.01em}
.hero-sub{margin:22px auto 30px;max-width:640px;color:var(--dim);font-size:17.5px;line-height:1.55}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-chips{margin-top:32px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.hero-chips span{font-size:13.5px;font-weight:600;color:var(--dim);
  border:1px solid var(--line-soft);background:var(--glass-soft);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  padding:8px 14px;border-radius:999px}

/* trust strip */
.trust-strip{max-width:1120px;margin:0 auto;padding:0 22px}
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.trust-item{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px 20px;
  display:flex;gap:13px;align-items:flex-start}
.trust-item svg{width:26px;height:26px;color:var(--green);flex:none;margin-top:2px}
.trust-item strong{display:block;font-size:15.5px;margin-bottom:3px}
.trust-item span{color:var(--dim);font-size:13.5px;line-height:1.45}

/* sections */
.section{max-width:1120px;margin:0 auto;padding:74px 22px 6px}
.section-dark{max-width:none;border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);margin-top:74px;padding-bottom:74px;
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,0) 240px)}
.section-dark>*{max-width:1120px;margin-left:auto;margin-right:auto}
.section-kicker{color:var(--green);font-weight:800;letter-spacing:.22em;font-size:12.5px;margin-bottom:12px}
.section h2{font-size:clamp(30px,4.6vw,44px);font-weight:830;line-height:1.12;margin-bottom:30px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding-bottom:8px}
.card{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px 24px;
  box-shadow:0 14px 34px rgba(0,0,0,.35)}
.card-icon{width:46px;height:46px;color:var(--green);margin-bottom:16px}
.card h3{font-size:20px;margin-bottom:9px}
.card p{color:var(--dim);line-height:1.55;font-size:15.5px}
.card ul{margin:14px 0 0 18px;color:var(--dim);font-size:14.5px;line-height:1.75}

/* work tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.tile{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.35)}
.tile-art{height:158px;border-bottom:1px solid var(--line-soft)}
.art-grid{background:
  linear-gradient(rgba(255,255,255,.25) 2px,transparent 2px),
  linear-gradient(90deg,rgba(255,255,255,.25) 2px,transparent 2px),#12161c;
  background-size:44px 44px}
.art-waves{background:
  radial-gradient(circle at 20% 30%,rgba(118,188,33,.35),transparent 42%),
  radial-gradient(circle at 80% 70%,rgba(118,188,33,.22),transparent 45%),#10141a}
.art-panels{background:
  repeating-linear-gradient(90deg,#141920 0 34px,#1d242e 34px 68px)}
.art-build{background:
  linear-gradient(180deg,transparent 62%,rgba(118,188,33,.30) 62%),
  repeating-linear-gradient(0deg,#12161d 0 26px,#18202a 26px 52px)}
.tile figcaption{padding:18px 20px;display:flex;flex-direction:column;gap:5px}
.tile figcaption strong{font-size:17px}
.tile figcaption span{color:var(--dim);font-size:14.5px;line-height:1.5}

/* process */
.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding-bottom:8px}
.steps li{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px;
  box-shadow:0 14px 34px rgba(0,0,0,.35)}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:50%;background:linear-gradient(180deg,var(--green-hi),var(--green));
  color:#0c1404;font-weight:850;font-size:18px;margin-bottom:14px}
.steps h3{font-size:18.5px;margin-bottom:8px}
.steps p{color:var(--dim);font-size:15px;line-height:1.55}

/* about */
.about-wrap{display:grid;grid-template-columns:300px 1fr;gap:42px;align-items:center}
@media (max-width:820px){.about-wrap{grid-template-columns:1fr}.about-logo{max-width:220px}}
.about-logo{width:100%;border-radius:28px;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.about-wrap p{color:var(--dim);line-height:1.65;font-size:16.5px;margin-bottom:14px}
.about-points{margin:8px 0 0 18px;color:var(--ink);line-height:1.9;font-size:15.5px}

/* service area + hours */
.area-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}
@media (max-width:820px){.area-wrap{grid-template-columns:1fr}}
.area-card{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px;
  box-shadow:0 14px 34px rgba(0,0,0,.35)}
.area-card h3{font-size:19px;margin-bottom:12px}
.area-card p{color:var(--dim);line-height:1.6;font-size:15.5px}
.area-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.area-tags span{font-size:13.5px;font-weight:600;color:var(--ink);
  border:1px solid var(--line-soft);background:var(--glass-soft);
  padding:7px 13px;border-radius:999px}
.hours-list{list-style:none;color:var(--dim);font-size:15px;line-height:2}
.hours-list strong{color:var(--ink)}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.review{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px;
  box-shadow:0 14px 34px rgba(0,0,0,.35)}
.review .stars{color:var(--green);letter-spacing:3px;font-size:15px;margin-bottom:12px}
.review p{color:var(--ink);line-height:1.6;font-size:15.5px}
.review footer{margin-top:14px;color:var(--faint);font-size:13.5px}
.section-note{color:var(--faint);font-size:13px;margin-top:14px}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:820px}
.faq{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:16px;padding:6px 20px}
.faq summary{cursor:pointer;font-weight:700;font-size:16.5px;padding:14px 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--green);font-weight:800}
.faq[open ] summary::after{content:"–"}
.faq p{color:var(--dim);line-height:1.6;font-size:15.5px;padding:0 0 16px}

/* quote */
.quote-lede{color:var(--dim);font-size:16.5px;line-height:1.6;max-width:620px;margin:-12px 0 28px}
.quote-box{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--line-soft);border-radius:26px;padding:28px;
  box-shadow:0 18px 44px rgba(0,0,0,.4);max-width:800px}
.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){.quote-form{grid-template-columns:1fr}}
.quote-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;color:var(--dim)}
.quote-form .wide{grid-column:1/-1}
.quote-form input,.quote-form select,.quote-form textarea{
  background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:12px;color:var(--ink);
  font-size:16px;padding:13px 14px;font-family:inherit;font-weight:400}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{
  outline:2px solid var(--green);outline-offset:1px}
.radio-row{display:flex;gap:10px;flex-wrap:wrap}
.radio-pill{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:14.5px;
  color:var(--ink);border:1px solid var(--line-soft);background:var(--glass-soft);
  padding:9px 15px;border-radius:999px;cursor:pointer}
.radio-pill input{accent-color:var(--green);width:16px;height:16px;margin:0;padding:0}
.quote-form button{justify-self:start}
.form-note{grid-column:1/-1;color:var(--green-hi);font-size:15.5px;min-height:22px}
.form-note.error{color:#ff8f7a}
.quote-alt{margin-top:20px;color:var(--faint);font-size:14px}

/* INTRO — laser flash, sweep, logo, lasers draw the T-bar grid */
html[data-intro="off"] #intro{display:none}
#intro{position:fixed;inset:0;z-index:200;background:#000;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  animation:introOut .7s ease 4.35s both;cursor:pointer}
@keyframes introOut{to{opacity:0;visibility:hidden}}
/* The scanning fan — full-screen cone from the right edge (like the
   video): sweeps the whole phone, then closes to a line and dies. */
.fan-wrap{position:absolute;inset:0;pointer-events:none;
  animation:fanOut .45s ease 2.62s both}
@keyframes fanOut{to{opacity:0}}
.laser-fan{width:100%;height:100%;display:block;
  filter:drop-shadow(0 0 22px rgba(118,188,33,.30))}
.fan-glowpoly{filter:blur(18px);opacity:.6}
.fan-sweep{transform-origin:200px 400px;opacity:0;
  animation:fanSweep 1.95s ease-in-out .15s both}
@keyframes fanSweep{0%{opacity:0;transform:rotate(27deg)}
  10%{opacity:1}45%{transform:rotate(-27deg)}78%{transform:rotate(-6deg)}
  100%{opacity:1;transform:rotate(0deg)}}
.fan-collapse{transform-origin:200px 400px;
  animation:fanClose .55s ease-in 2.08s both}
@keyframes fanClose{to{transform:scaleX(.014)}}
.fan-rays{opacity:.5;animation:fanShimmer 1s ease-in-out .2s 2}
.fan-arcs{opacity:.34;animation:fanShimmer 1.4s ease-in-out .3s 2}
@keyframes fanShimmer{0%,100%{opacity:.28}50%{opacity:.6}}
.fan-bloom{opacity:0;transform-origin:200px 400px;
  animation:fanBloom .9s ease-out .05s both}
@keyframes fanBloom{0%{opacity:0;transform:scale(.3)}
  30%{opacity:1}100%{opacity:.55;transform:scale(1.15)}}
.fan-core{filter:drop-shadow(0 0 10px rgba(220,255,160,.95));
  animation:fanCoreFade .35s ease 2.55s both}
@keyframes fanCoreFade{to{opacity:0}}
.intro-stage{position:relative;width:min(320px,72vw);aspect-ratio:1}
.intro-logo{position:absolute;inset:0;width:100%;height:100%;
  opacity:0;animation:introLogo .9s ease 2.65s both}
@keyframes introLogo{0%{opacity:0;transform:scale(.92)}
  100%{opacity:1;transform:scale(1)}}
.intro-grid{position:absolute;inset:0;width:100%;height:100%;
  filter:drop-shadow(0 0 7px rgba(164,224,74,.85))}
.intro-grid rect,.intro-grid line{fill:none;stroke:#a4e04a;stroke-width:3;
  stroke-dasharray:100;stroke-dashoffset:100}
.intro-grid rect{animation:drawLine .8s ease 3s both}
.intro-grid line:nth-of-type(1){animation:drawLine .55s ease 3.25s both}
.intro-grid line:nth-of-type(2){animation:drawLine .55s ease 3.35s both}
.intro-grid line:nth-of-type(3){animation:drawLine .55s ease 3.45s both}
.intro-grid line:nth-of-type(4){animation:drawLine .55s ease 3.55s both}
.intro-grid .grid-cross{stroke:#d9ffa0;stroke-width:3.5;
  animation:drawLine .6s ease 3.7s both}
@keyframes drawLine{to{stroke-dashoffset:0}}
.intro-skip{position:absolute;bottom:calc(26px + env(safe-area-inset-bottom));
  left:0;right:0;text-align:center;color:var(--faint);font-size:13px;
  letter-spacing:.14em;opacity:0;animation:introLogo .8s ease 2.9s both}

/* laser level accents — Marcos shoots his grids straight with lasers */
.laser{position:absolute;pointer-events:none;z-index:1}
.laser-h{left:26px;right:26px;top:118px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,rgba(164,224,74,.85) 18%,rgba(164,224,74,.95) 82%,transparent);
  box-shadow:0 0 14px rgba(118,188,33,.75),0 0 3px rgba(164,224,74,.9)}
.laser-v{top:26px;bottom:26px;left:118px;width:2px;border-radius:2px;opacity:.55;
  background:linear-gradient(180deg,transparent,rgba(164,224,74,.7) 22%,rgba(164,224,74,.7) 78%,transparent);
  box-shadow:0 0 12px rgba(118,188,33,.6)}
.laser-dot{position:absolute;top:50%;left:0;width:9px;height:9px;border-radius:50%;
  background:#c8f584;box-shadow:0 0 16px 5px rgba(164,224,74,.75);
  transform:translate(-50%,-50%);animation:laserLoop 5.5s linear .4s infinite}
@keyframes laserLoop{0%{left:-4%;opacity:0}6%{opacity:1}94%{opacity:1}100%{left:104%;opacity:0}}
@media (prefers-reduced-motion:reduce){.laser-dot{animation:none;left:82%}}
.hero-panel{position:relative;overflow:hidden}
.hero-inner>*{position:relative;z-index:2}
.section-kicker{display:flex;align-items:center;gap:14px}
.section-kicker::after{content:"";height:2px;width:74px;border-radius:2px;
  background:linear-gradient(90deg,rgba(164,224,74,.9),transparent);
  box-shadow:0 0 10px rgba(118,188,33,.65)}
.art-grid{background:
  linear-gradient(180deg,transparent calc(50% - 1px),rgba(164,224,74,.55) calc(50% - 1px),rgba(164,224,74,.55) calc(50% + 1px),transparent calc(50% + 1px)),
  linear-gradient(90deg,transparent calc(50% - 1px),rgba(164,224,74,.55) calc(50% - 1px),rgba(164,224,74,.55) calc(50% + 1px),transparent calc(50% + 1px)),
  linear-gradient(rgba(255,255,255,.25) 2px,transparent 2px),
  linear-gradient(90deg,rgba(255,255,255,.25) 2px,transparent 2px),#12161c;
  background-size:100% 100%,100% 100%,44px 44px,44px 44px}

/* footer */
.site-foot{text-align:center;padding:56px 22px 34px;border-top:1px solid var(--line-soft);
  margin-top:74px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.foot-mark{width:64px;height:64px;border-radius:16px}
.foot-name{font-weight:850;letter-spacing:.14em;margin-top:12px;font-size:19px}
.foot-line{color:var(--dim);margin-top:7px;font-size:14.5px}
.foot-demo{color:var(--faint);margin-top:16px;font-size:13px}
.foot-copy{color:var(--faint);margin-top:6px;font-size:13px}

/* app bar (mobile) — floating glass pill */
.app-bar{display:none}
@media (max-width:820px){
  .app-bar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:10px;right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));z-index:50;
    background:rgba(14,16,18,.60);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    border:1px solid var(--line-soft);border-radius:22px;padding:8px 6px;
    box-shadow:0 16px 40px rgba(0,0,0,.5)}
  .app-bar a{display:flex;flex-direction:column;align-items:center;gap:3px;
    color:var(--dim);text-decoration:none;font-size:11px;font-weight:650;padding:5px 0}
  .app-bar svg{width:22px;height:22px}
  .app-bar a:active{color:var(--green-hi)}
  .app-bar-cta{color:var(--green-hi)!important}
}
