/*
Theme Name: Vocast Media
Theme URI: https://vocastmedia.com
Author: Vocast Media Group
Description: Custom monochrome theme for Vocast Media Group — black and white, Techvocast-linked, interactive mega menu.
Version: 1.0.1
Text Domain: vocast-media
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;900&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@500&display=swap');

:root{
  --black:#0a0a0a;
  --white:#ffffff;
  --bg-alt:#f6f6f4;
  --line:#e2e2df;
  --grey:#6b6b68;
  --grey-light:#b6b6b2;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--white);
  color:var(--black);
  font-family:'Inter',sans-serif;
  overflow-x:hidden;
  max-width:100vw;
}
img,svg{max-width:100%;height:auto;}
.wrap{width:100%;}
table{max-width:100%;}
h1,h2,h3,.display{
  font-family:'Archivo',sans-serif;
  font-weight:900;
  letter-spacing:-0.02em;
  line-height:0.98;
  text-transform:uppercase;
}
.mono{
  font-family:'IBM Plex Mono',monospace;
  font-weight:500;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-size:12px;
}
a{color:inherit;text-decoration:none;}
.screen-reader-text{
  position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.wrap{max-width:var(--wrap-width,1240px);margin:0 auto;padding:0 40px;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ---------- custom cursor ---------- */
.cursor-dot,.cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:400;
  border-radius:50%;transform:translate(-50%,-50%);
}
.cursor-dot{width:6px;height:6px;background:var(--black);transition:opacity .2s ease;}
.cursor-ring{
  width:34px;height:34px;border:1px solid var(--black);
  transition:width .25s ease, height .25s ease, opacity .2s ease, background .25s ease, border-color .25s ease;
}
.cursor-ring.active{width:56px;height:56px;background:rgba(10,10,10,.06);}
@media (pointer:coarse){ .cursor-dot,.cursor-ring{display:none;} }

/* ---------- header ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 40px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo-mark{
  width:30px;height:30px;background:var(--black);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-family:'Archivo',sans-serif;font-weight:900;font-size:17px;
  transition:transform .4s ease;
}
.logo:hover .logo-mark{transform:rotate(-8deg);}
.site-logo{display:block;height:var(--logo-height,28px);width:auto;max-width:220px;}
.site-logo--header{filter:brightness(0);}
.custom-logo-link{display:block;}
.custom-logo{height:var(--logo-height,28px);max-height:var(--logo-height,28px);width:auto;max-width:220px;display:block;}
header .custom-logo{filter:brightness(0);}

/* Header logo alignment — controlled from Customizer > Vocast Theme Options > Header Settings */
body.header-logo-left header{justify-content:space-between;}
body.header-logo-right header{flex-direction:row-reverse;}
body.header-logo-center header{justify-content:flex-end;}
body.header-logo-center header .logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}

.menu-btn{
  display:flex;align-items:center;gap:12px;
  background:none;border:none;cursor:pointer;
  font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  padding:0;color:var(--black);
}
.menu-btn .bars{width:26px;height:14px;position:relative;}
.menu-btn .bars span{
  position:absolute;left:0;width:100%;height:2px;background:var(--black);
  transition:transform .35s ease, top .35s ease, opacity .35s ease;
}
.menu-btn .bars span:nth-child(1){top:0;}
.menu-btn .bars span:nth-child(2){top:6px;}
.menu-btn .bars span:nth-child(3){top:12px;}
body.menu-open .menu-btn .bars span:nth-child(1){top:6px;transform:rotate(45deg);}
body.menu-open .menu-btn .bars span:nth-child(2){opacity:0;}
body.menu-open .menu-btn .bars span:nth-child(3){top:6px;transform:rotate(-45deg);}

/* ---------- mega menu ---------- */
.mega{
  position:fixed;inset:0;background:var(--white);color:var(--black);
  z-index:150;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:120px 40px 40px;
  transform:translateY(-100%);
  transition:transform .6s cubic-bezier(.65,0,.24,1);
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
body.menu-open .mega{transform:translateY(0);}
.mega-v{
  position:absolute;right:-8vw;top:-10vw;
  font-family:'Archivo',sans-serif;font-weight:900;
  font-size:60vw;line-height:1;color:transparent;
  -webkit-text-stroke:1px var(--line);
  pointer-events:none;
  transition:transform 1.2s ease;
  transform:rotate(0deg);
}
body.menu-open .mega-v{transform:rotate(8deg);}
.mega-grid{display:flex;gap:100px;flex-wrap:wrap;position:relative;z-index:2;}
.mega-col .mono{color:var(--grey);margin-bottom:22px;display:block;}
.mega-links{list-style:none;}
.mega-links li{margin-bottom:10px;overflow:hidden;}
.mega-links a{
  font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(28px,4vw,44px);
  text-transform:uppercase;display:inline-block;
  transition:transform .3s ease, opacity .3s ease;
}
.mega-links a:hover{transform:translateX(14px);opacity:.6;}
.mega-links a.current{text-decoration:underline;text-underline-offset:8px;}
.mega-links .status{
  font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;
  vertical-align:super;margin-left:10px;color:var(--grey);text-transform:uppercase;
}
.mega-foot{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:2;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding-top:26px;}
.mega-foot .mono{color:var(--grey);}
.mega-foot .social a{margin-right:22px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid transparent;color:var(--black);}
.mega-foot .social a:hover{border-color:var(--black);}

/* ---------- page hero (interior pages) ---------- */
.page-hero{padding:180px 0 80px;position:relative;overflow:hidden;}
.page-hero .mono{color:var(--grey);}
.page-hero h1{font-size:clamp(38px,7vw,84px);margin-top:16px;max-width:900px;}
.page-hero p{margin-top:22px;max-width:520px;color:var(--grey);font-size:17px;line-height:1.55;}
.page-hero-v{
  position:absolute;top:50%;right:-10vw;transform:translateY(-50%);
  font-size:40vw;font-family:'Archivo',sans-serif;font-weight:900;line-height:1;
  color:transparent;-webkit-text-stroke:1px var(--line);z-index:0;pointer-events:none;
}

/* ---------- home hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:140px 40px 80px;overflow:hidden;}
.hero-v{position:absolute;top:50%;right:-6vw;transform:translateY(-50%);font-size:56vw;font-family:'Archivo',sans-serif;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px var(--line);z-index:0;pointer-events:none;user-select:none;}
.hero-eyebrow{position:relative;z-index:1;margin-bottom:26px;color:var(--grey);}
.hero h1{position:relative;z-index:1;font-size:clamp(44px,8vw,108px);max-width:1080px;}
.hero-sub{position:relative;z-index:1;max-width:520px;margin-top:30px;font-size:18px;color:var(--grey);line-height:1.5;}
.hero-actions{position:relative;z-index:1;margin-top:46px;display:flex;gap:16px;flex-wrap:wrap;}

.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--black);border-radius:var(--btn-radius,0px);transition:background .3s ease,color .3s ease;cursor:pointer;}
.btn-solid{background:var(--black);color:var(--white);}
.btn-solid:hover{background:var(--white);color:var(--black);}
.btn-outline:hover{background:var(--black);color:var(--white);}

/* ---------- stats ---------- */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stats .wrap{display:grid;grid-template-columns:repeat(3,1fr);}
.stat{padding:44px 0;border-left:1px solid var(--line);text-align:center;}
.stat:first-child{border-left:none;}
.stat .num{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(28px,4vw,52px);}
.stat .label{margin-top:8px;color:var(--grey);}

/* ---------- section shell ---------- */
section{padding:120px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;flex-wrap:wrap;gap:20px;}
.section-head .mono{color:var(--grey);}
.section-head h2{font-size:clamp(30px,4vw,48px);margin-top:14px;max-width:640px;}
.section-head p{max-width:380px;color:var(--grey);font-size:15px;line-height:1.6;}

/* ---------- flagship brand feature ---------- */
.flagship{border:1px solid var(--black);padding:60px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;transition:background .35s ease, color .35s ease;cursor:pointer;}
.flagship:hover{background:var(--black);color:var(--white);}
.flagship:hover .flagship-status{color:var(--white);border-color:var(--white);}
.flagship:hover .flagship-arrow{transform:translateX(6px);}
.flagship-eyebrow{color:var(--grey);display:block;margin-bottom:18px;}
.flagship:hover .flagship-eyebrow{color:var(--grey-light);}
.flagship h3{font-size:clamp(34px,5vw,64px);display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.flagship-status{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;padding:6px 12px;border:1px solid var(--black);text-transform:uppercase;transition:color .35s ease, border-color .35s ease;}
.flagship-desc{margin-top:16px;max-width:480px;color:var(--grey);font-size:15px;line-height:1.6;}
.flagship:hover .flagship-desc{color:#c9c9c6;}
.flagship-arrow{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:transform .3s ease;white-space:nowrap;}

/* ---------- services list ---------- */
.service-row{border-top:1px solid var(--line);display:grid;grid-template-columns:70px 1fr 1.4fr;align-items:start;padding:36px 0;gap:24px;}
.service-row:last-child{border-bottom:1px solid var(--line);}
.service-index{font-family:'IBM Plex Mono',monospace;color:var(--grey-light);font-size:13px;padding-top:4px;}
.service-name{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(20px,2.6vw,30px);text-transform:uppercase;}
.service-desc{color:var(--grey);font-size:14.5px;line-height:1.6;}
.service-desc ul{margin-top:14px;padding-left:18px;}
.service-desc li{margin-bottom:6px;}
.service-desc .service-tag{display:inline-block;margin-top:16px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--black);border-bottom:1px solid var(--black);}

/* ---------- mission (dark section) ---------- */
.mission{background:var(--black);color:var(--white);}
.mission .mono{color:var(--grey-light);}
.mission h2{font-size:clamp(30px,5vw,56px);max-width:760px;margin-top:14px;}
.mission-body{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:56px;}
.mission-body p{font-size:16px;line-height:1.7;color:#c9c9c6;}
.mission-body p strong{color:var(--white);font-weight:600;}

/* ---------- about page extras ---------- */
.story{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.story p{font-size:16px;line-height:1.7;color:var(--grey);margin-bottom:20px;}
.story p strong{color:var(--black);}
.timeline{border-top:1px solid var(--line);}
.timeline-row{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line);}
.timeline-row .mono{color:var(--grey-light);padding-top:2px;}
.timeline-row p{color:var(--grey);font-size:14.5px;line-height:1.6;}
.timeline-row strong{display:block;font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;font-size:16px;color:var(--black);margin-bottom:6px;}

/* ---------- contact page ---------- */
.contact-layout{display:grid;grid-template-columns:1.1fr 0.9fr;gap:80px;}
.field{margin-bottom:26px;}
.field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-bottom:10px;}
.field input,.field textarea{
  width:100%;border:none;border-bottom:1px solid var(--line);background:transparent;
  padding:12px 0;font-family:'Inter',sans-serif;font-size:16px;color:var(--black);
  transition:border-color .3s ease;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--black);}
.field textarea{resize:vertical;min-height:110px;}
.form-note{margin-top:18px;font-size:13px;color:var(--grey);min-height:20px;}
.form-note.success{color:var(--black);font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;}

.contact-info{border-top:1px solid var(--line);padding-top:26px;}
.contact-info .mono{color:var(--grey);display:block;margin-bottom:10px;margin-top:24px;}
.contact-info .mono:first-child{margin-top:0;}
.contact-info a.value{font-size:17px;display:inline-block;border-bottom:1px solid var(--black);}
.contact-info .addr{color:var(--grey);font-size:14.5px;line-height:1.5;}
.contact-info .social-list a{display:inline-block;margin-right:18px;font-size:14px;border-bottom:1px solid transparent;}
.contact-info .social-list a:hover{border-color:var(--black);}

/* ---------- legal pages ---------- */
.legal{max-width:760px;}
.legal .updated{color:var(--grey);margin-bottom:50px;display:block;}
.legal h2{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;font-size:22px;margin-top:44px;margin-bottom:14px;letter-spacing:-0.01em;}
.legal h2:first-of-type{margin-top:0;}
.legal p{font-size:15.5px;line-height:1.75;color:var(--grey);margin-bottom:16px;}
.legal p strong{color:var(--black);}
.legal ul{padding-left:20px;margin-bottom:16px;}
.legal li{font-size:15.5px;line-height:1.75;color:var(--grey);margin-bottom:8px;}
.legal a{color:var(--black);border-bottom:1px solid var(--black);}

/* ---------- footer (solid, dark) ---------- */
footer{background:var(--footer-bg, var(--black));color:var(--footer-text, var(--white));padding:64px 0 40px;}
footer .site-logo--footer{filter:none;height:32px;max-width:190px;}
footer .custom-logo{filter:none;height:32px;max-height:32px;max-width:190px;}
.footer-widgets{border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:40px;margin-bottom:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;}
.footer-widgets .mono{color:var(--grey-light);}
.footer-widgets a{color:#c9c9c6;}
.footer-widgets a:hover{color:var(--white);}

/* Footer top row: logo left, nav middle, social right */
.foot-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;}
.foot-grid .logo{flex-shrink:0;margin-right:auto;}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 26px;}
.foot-links a{font-size:13px;color:var(--grey-light);}
.foot-links a:hover{color:var(--white);}
.foot-social{list-style:none;display:flex;gap:10px;flex-shrink:0;}
.foot-social a{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;
  color:var(--white);transition:background .25s ease, border-color .25s ease, transform .25s ease;
}
.foot-social a:hover{background:var(--white);color:var(--black);border-color:var(--white);transform:translateY(-2px);}

/* Footer bottom bar: copyright centered, legal links centered beneath it */
.foot-bottom{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:10px;margin-top:36px;padding-top:26px;
  border-top:1px solid rgba(255,255,255,.14);
}
.foot-copy{font-size:12.5px;color:var(--grey-light);}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;}
.foot-legal a{font-size:12.5px;color:var(--grey-light);}
.foot-legal a:hover{color:var(--white);}

/* ---------- WP nav menu current-page state ---------- */
.mega-links .current-menu-item > a,
.mega-links a.current{text-decoration:underline;text-underline-offset:8px;}

/* ---------- Customizer alignment options ---------- */
body.hero-align-center .hero{align-items:center;text-align:center;}
body.hero-align-center .hero-sub{margin-left:auto;margin-right:auto;}
body.hero-align-center .hero-actions{justify-content:center;}
body.section-align-center .section-head{flex-direction:column;text-align:center;align-items:center;}
body.section-align-center .section-head p{margin:0 auto;}
body.section-align-center .page-hero{text-align:center;}
body.section-align-center .page-hero p{margin-left:auto;margin-right:auto;}

/* ---------- header customizer variants ---------- */
body.header-not-sticky header{position:absolute;}
body.header-transparent-home.is-front-page header{background:transparent;border-bottom-color:transparent;backdrop-filter:none;}
body.header-transparent-home.is-front-page:not(.menu-open) header .site-logo--header,
body.header-transparent-home.is-front-page:not(.menu-open) header .custom-logo{filter:none;}

/* ---------- back to top ---------- */
.back-to-top{
  position:fixed;right:24px;bottom:24px;z-index:190;
  width:44px;height:44px;border-radius:50%;
  background:var(--black);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  border:none;cursor:pointer;opacity:0;pointer-events:none;
  transform:translateY(10px);
  transition:opacity .3s ease, transform .3s ease, background .3s ease;
}
.back-to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}
.back-to-top:hover{background:var(--grey);}
.back-to-top svg{width:16px;height:16px;}

/* ---------- Techvocast profile page ---------- */
.tv-hero{position:relative;min-height:56vh;display:flex;align-items:flex-end;padding:180px 0 60px;overflow:hidden;background:var(--black);color:var(--white);}
.tv-hero.has-image{background-size:cover;background-position:center;}
.tv-hero.has-image::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,.85) 100%);}
.tv-hero .wrap{position:relative;z-index:1;}
.tv-hero .mono{color:var(--grey-light);}
.tv-hero h1{font-size:clamp(36px,7vw,80px);margin-top:16px;max-width:900px;color:var(--white);}
.tv-hero p{margin-top:20px;max-width:560px;color:#d8d8d5;font-size:16.5px;line-height:1.55;}
.tv-hero .status{display:inline-block;margin-bottom:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;padding:6px 12px;border:1px solid rgba(255,255,255,.35);text-transform:uppercase;}

.tv-values{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.tv-value{border-top:1px solid var(--line);padding-top:22px;}
.tv-value .mono{color:var(--grey-light);display:block;margin-bottom:14px;}
.tv-value strong{display:block;font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;font-size:17px;margin-bottom:8px;}
.tv-value p{color:var(--grey);font-size:14.5px;line-height:1.6;}

.tv-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.tv-stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);}
.tv-stats .stat{padding:40px 0;border-left:1px solid var(--line);text-align:center;}
.tv-stats .stat:first-child{border-left:none;}

.tv-demo{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.tv-demo-card{border:1px solid var(--line);padding:32px;}
.tv-demo-card .mono{color:var(--grey);display:block;margin-bottom:16px;}
.tv-demo-card .tv-demo-value{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(20px,2.4vw,28px);text-transform:uppercase;margin-bottom:8px;}
.tv-demo-card p{color:var(--grey);font-size:14px;line-height:1.55;}

.tv-social{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.tv-social-card{border:1px solid var(--line);padding:26px;text-align:center;transition:border-color .25s ease,background .25s ease;}
.tv-social-card:hover{border-color:var(--black);background:var(--bg-alt);}
.tv-social-card .tv-social-icon{width:32px;height:32px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;}
.tv-social-card .tv-social-count{font-family:'Archivo',sans-serif;font-weight:900;font-size:22px;}
.tv-social-card .mono{color:var(--grey);margin-top:4px;display:block;}
.tv-social-card a{display:inline-block;margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--black);}

.tv-cta{background:var(--black);color:var(--white);text-align:center;padding:90px 0;}
.tv-cta h2{color:var(--white);font-size:clamp(28px,4.5vw,48px);max-width:700px;margin:14px auto 0;}
.tv-cta .mono{color:var(--grey-light);}
.tv-cta .btn-solid{background:var(--white);color:var(--black);}
.tv-cta .btn-solid:hover{background:transparent;color:var(--white);}

/* ---------- honeypot (hidden from real users) ---------- */
.vocast-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---------- form error state ---------- */
.form-note.error{color:#b3261e;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;}
.field input:invalid:not(:placeholder-shown){border-color:#b3261e;}

/* ================= RESPONSIVE ================= */

/* Large tablets / small laptops */
@media (max-width:1024px){
  .wrap{padding:0 30px;}
  section{padding:90px 0;}
  .hero{padding:130px 30px 70px;}
  .page-hero{padding:150px 0 60px;}
  .tv-hero{padding:150px 0 50px;}
  .mega-grid{gap:60px;}
  .mega{padding:110px 30px 30px;}
  .tv-stats .wrap,.tv-demo,.tv-social{grid-template-columns:repeat(2,1fr);}
  .tv-stats .stat:nth-child(2n+1){border-left:none;}
  .tv-stats .stat{border-top:1px solid var(--line);}
  .tv-stats .stat:first-child,.tv-stats .stat:nth-child(2){border-top:none;}
}

/* Tablets / mobile */
@media (max-width:800px){
  .wrap{padding:0 22px;}
  header{padding:16px 22px;}
  .site-logo,.custom-logo{height:24px;max-height:24px;}
  .menu-btn{gap:8px;}
  section{padding:70px 0;}
  .hero{min-height:auto;padding:120px 22px 60px;}
  .hero-v,.page-hero-v{display:none;}
  .page-hero{padding:130px 0 46px;}
  .flagship{grid-template-columns:1fr;padding:30px;}
  .flagship-arrow{justify-self:start;}
  .service-row{grid-template-columns:1fr;row-gap:8px;}
  .stats .wrap{grid-template-columns:1fr;}
  .stat{border-left:none;border-top:1px solid var(--line);}
  .stat:first-child{border-top:none;}
  .mission-body{grid-template-columns:1fr;gap:34px;}
  .story{grid-template-columns:1fr;gap:34px;}
  .contact-layout{grid-template-columns:1fr;gap:44px;}
  .timeline-row{grid-template-columns:1fr;gap:6px;}
  .mega-grid{gap:44px;}
  .mega{padding:100px 22px 26px;}
  .mega-foot{flex-direction:column;align-items:flex-start;gap:16px;}
  .section-head{gap:14px;}
  .section-head p{max-width:100%;}

  /* footer */
  .foot-grid{flex-direction:column;align-items:center;text-align:center;gap:22px;}
  .foot-grid .logo{margin-right:0;}
  .foot-links{justify-content:center;}

  /* techvocast */
  .tv-hero{min-height:44vh;padding:120px 0 40px;}
  .tv-values{grid-template-columns:1fr;gap:24px;}
  .tv-stats .wrap{grid-template-columns:repeat(2,1fr);}
  .tv-stats .stat{padding:28px 0;}
  .tv-demo{grid-template-columns:1fr;}
  .tv-social{grid-template-columns:repeat(2,1fr);}
  .tv-cta{padding:60px 0;}

  .back-to-top{right:16px;bottom:16px;width:40px;height:40px;}
}

/* Small phones */
@media (max-width:480px){
  .wrap{padding:0 18px;}
  header{padding:14px 18px;}
  .btn{padding:14px 20px;font-size:11px;width:100%;justify-content:center;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{width:100%;}
  .mega-links a{font-size:clamp(24px,8vw,34px);}
  .service-row{padding:26px 0;}
  .tv-stats .wrap{grid-template-columns:1fr;}
  .tv-stats .stat{border-left:none !important;border-top:1px solid var(--line);}
  .tv-stats .stat:first-child{border-top:none;}
  .tv-social{grid-template-columns:1fr;}
  .contact-info .social-list a{display:block;margin:0 0 10px;}
  .foot-links{flex-direction:column;gap:12px;}
  .foot-legal{flex-direction:column;gap:10px;}
}

@media (max-width:360px){
  #menuLabel{display:none;}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;}
}
