/* Axnomia — neo-brutalist theme. Design ref: style5b-brutal-hero. */
:root{
  --bg:#101010; --ink:#f5f3ee; --dim:#a9a49a; --acc:#3d7bff; --acc2:#ffd23f;
  --panel:#181816; --line:#2c2c28; --faint:#5f5b54; --on-acc:#0a1020;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden;}
body{background:var(--bg); color:var(--ink); font-family:"Helvetica Neue",Arial,sans-serif; line-height:1.5; -webkit-font-smoothing:antialiased; overflow-x:hidden; max-width:100%;}
img{max-width:100%; height:auto; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1280px; margin:0 auto; padding:0 32px;}
.huge{font-weight:800; letter-spacing:-3px; line-height:.9; text-transform:uppercase;}
.lbl{font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:700;}

/* grain + block cursor */
.grain{position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");}
.blockcursor{position:fixed; top:0; left:0; width:16px; height:16px; background:var(--acc); mix-blend-mode:difference; z-index:9999; pointer-events:none; transform:translate(-50%,-50%); transition:width .12s, height .12s; opacity:0;}
.blockcursor.on{opacity:1;}
.blockcursor.hot{width:34px; height:34px;}
@media (hover:none){ .blockcursor{display:none;} }

/* buttons */
.btn{display:inline-block; font-size:14px; letter-spacing:1px; text-transform:uppercase; font-weight:700; padding:16px 30px; background:var(--acc); color:var(--on-acc); border:3px solid var(--acc); transition:transform .1s, box-shadow .1s;}
.btn:hover{box-shadow:6px 6px 0 rgba(0,0,0,.5); transform:translate(-2px,-2px);}
.btn:active{box-shadow:0 0 0 rgba(0,0,0,.5); transform:translate(0,0);}
.btn.out{background:transparent; color:var(--ink); border:3px solid var(--ink);}
.btn.out:hover{background:var(--ink); color:var(--bg);}

/* header / nav */
.site-header{border-bottom:3px solid var(--ink); position:sticky; top:0; z-index:30; background:var(--bg);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1280px; margin:0 auto;}
.logo{font-size:24px; font-weight:800; letter-spacing:-1px; text-transform:uppercase;}
.logo b{color:var(--acc);}
.navlinks{display:flex; gap:26px; align-items:center; font-size:13px; letter-spacing:1px; text-transform:uppercase; font-weight:700;}
.navlinks a.n:hover{color:var(--acc);}
.nav-cta{padding:11px 20px !important;}
.has-drop{position:relative;}
.drop{position:absolute; top:100%; left:-14px; margin-top:14px; background:var(--panel); border:3px solid var(--ink); min-width:220px; padding:6px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:.12s; box-shadow:8px 8px 0 rgba(0,0,0,.5);}
.has-drop:hover .drop{opacity:1; visibility:visible; transform:translateY(0);}
.drop a{display:block; padding:11px 14px; font-size:12px; letter-spacing:.5px; color:var(--dim);}
.drop a:hover{background:var(--acc); color:var(--on-acc);}

/* mobile hamburger + menu */
.navtoggle{display:none; flex-direction:column; justify-content:center; gap:5px; width:44px; height:40px; background:none; border:2px solid var(--line); cursor:pointer; padding:0 8px;}
.navtoggle span{display:block; height:3px; width:100%; background:var(--ink); transition:transform .2s, opacity .2s;}
.navtoggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.navtoggle.open span:nth-child(2){opacity:0;}
.navtoggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.mobilemenu{display:none; border-top:3px solid var(--ink);}
.mobilemenu.open{display:block;}
.mobilemenu a{display:block; padding:16px 32px; border-bottom:1px solid var(--line); font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--ink);}
.mobilemenu a:active, .mobilemenu a:hover{background:var(--acc); color:var(--on-acc);}
.mobilemenu .mm-cta{background:var(--acc); color:var(--on-acc); border-bottom:none;}

/* hero */
.hero{border-bottom:3px solid var(--ink);}
.hero .top{display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid var(--line);}
.hero .top span{font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--dim); font-weight:700;}
.hero-split{display:grid; grid-template-columns:1.12fr .88fr;}
.hero-left{padding:46px 46px 46px 0; border-right:3px solid var(--ink);}
.hero-left h1{font-size:78px; margin:8px 0 26px;}
.hero-left h1 .box{background:var(--acc); color:var(--on-acc); padding:0 12px; display:inline-block; min-width:3.4em;}
.hero-left h1 .out2{-webkit-text-stroke:2px var(--ink); color:transparent;}
.hero-left p{font-size:18px; color:var(--dim); max-width:44ch; margin-bottom:26px;}
.hero-left .cta-row{display:flex; gap:14px; flex-wrap:wrap;}
.hero-right{padding:40px 0 40px 46px; display:flex; align-items:center;}

/* animated rank panel */
.rankbox{width:100%; border:3px solid var(--ink); background:var(--panel);}
.rankhead{background:var(--acc); color:var(--on-acc); font-weight:800; font-size:12.5px; letter-spacing:1.5px; text-transform:uppercase; padding:12px 16px; border-bottom:3px solid var(--ink); display:flex; justify-content:space-between; align-items:center;}
.blink{display:inline-block; animation:blink 1s steps(1) infinite;}
@keyframes blink{50%{opacity:0;}}
.rankquery{padding:12px 16px; border-bottom:2px solid var(--line); font-size:13px; font-weight:700; color:var(--dim); letter-spacing:.3px;}
.rankquery b{color:var(--ink);}
.rungs{position:relative; padding:16px;}
.rung{height:52px; border:2px solid var(--line); margin-bottom:12px; display:flex; align-items:center; padding:0 16px; color:var(--faint); font-weight:800; font-size:13px; letter-spacing:1px;}
.rung:last-child{margin-bottom:0;}
.rung .barghost{flex:1; height:10px; background:var(--line); margin-left:14px;}
.you{position:absolute; left:16px; right:16px; top:272px; height:52px; background:var(--acc); border:3px solid var(--ink); display:flex; align-items:center; justify-content:space-between; padding:0 16px; color:var(--on-acc); font-weight:800; font-size:15px; letter-spacing:.4px; box-shadow:7px 7px 0 rgba(0,0,0,.4); animation:climb 5.5s cubic-bezier(.5,0,.2,1) infinite;}
.you .rk{font-size:22px; line-height:1;}
@keyframes climb{
  0%,13%   { transform: translateY(0); }
  17%,34%  { transform: translateY(-64px); }
  38%,55%  { transform: translateY(-128px); }
  59%,76%  { transform: translateY(-192px); }
  80%,100% { transform: translateY(-256px); }
}
.rankfoot{border-top:3px solid var(--ink); padding:13px 16px; font-weight:800; font-size:11.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--dim); display:flex; justify-content:space-between; align-items:center;}
.rankfoot .up{color:var(--acc2);}

/* marquee */
.mq{background:var(--acc); color:var(--on-acc); border-bottom:3px solid var(--ink); overflow:hidden; padding:14px 0;}
.mq-track{display:flex; white-space:nowrap; width:max-content; animation:marquee 26s linear infinite;}
.mq .t{display:flex; gap:26px; font-size:22px; font-weight:800; letter-spacing:-.5px; text-transform:uppercase; padding-left:26px;}
.mq .t span{opacity:.5;}
.mq:hover .mq-track{animation-play-state:paused;}
@keyframes marquee{ to{ transform:translateX(-50%);} }

/* section shell */
.svc{border-bottom:3px solid var(--ink);}
.svc .head, .work .head{padding:44px 0 30px; display:flex; justify-content:space-between; align-items:baseline;}
.svc .head h2, .work .head h2{font-size:15px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--dim);}

/* services grid */
.grid{display:grid; grid-template-columns:repeat(3,1fr); border-top:3px solid var(--ink);}
.cell{border-right:3px solid var(--ink); border-bottom:3px solid var(--ink); padding:30px 26px 34px; min-height:236px; display:flex; flex-direction:column; transition:background .05s;}
.cell:nth-child(3n){border-right:none;}
.cell:nth-child(4),.cell:nth-child(5),.cell:nth-child(6){border-bottom:none;}
.cell:hover{background:var(--acc); color:var(--on-acc);}
.cell:hover .num,.cell:hover p,.cell:hover .fam{color:var(--on-acc);}
.cell .num{font-size:14px; font-weight:800; color:var(--acc);}
.cell h3{font-size:26px; font-weight:800; letter-spacing:-1px; text-transform:uppercase; line-height:1; margin:16px 0 10px;}
.cell .fam{font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:800; color:var(--dim);}
.cell p{font-size:14.5px; color:var(--dim); margin-top:auto; padding-top:12px;}
.cell .flag{align-self:flex-start; font-size:11px; letter-spacing:1px; text-transform:uppercase; font-weight:800; background:var(--acc2); color:#101010; padding:3px 8px; margin:6px 0 2px;}
.cell .arw{margin-top:14px; font-size:20px; font-weight:800; opacity:0; transform:translateX(-6px); transition:.12s;}
.cell:hover .arw{opacity:1; transform:translateX(0);}

/* care band (full-width strip under the six) */
.careband{border-bottom:3px solid var(--ink); background:var(--panel); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:30px 32px; max-width:1280px; margin:0 auto;}
.careband .l{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.careband .n7{font-size:40px; font-weight:800; letter-spacing:-2px; color:var(--acc);}
.careband h3{font-size:24px; font-weight:800; letter-spacing:-1px; text-transform:uppercase;}
.careband p{font-size:14.5px; color:var(--dim); max-width:52ch; margin-top:4px;}

/* AEO block */
.aeo{border-bottom:3px solid var(--ink); display:grid; grid-template-columns:1.15fr 1fr;}
.aeo .l{padding:64px 44px 64px 32px; border-right:3px solid var(--ink);}
.aeo .l .lbl{color:var(--acc);}
.aeo .l h2{font-size:60px; margin:16px 0 22px;}
.aeo .l p{font-size:17px; color:var(--dim); max-width:42ch; margin-bottom:14px;}
.aeo .r{padding:64px 32px 64px 44px; display:flex; align-items:center;}
.qcard{border:3px solid var(--ink); background:var(--panel); width:100%;}
.qcard .q{padding:20px 24px; border-bottom:3px solid var(--ink); font-size:18px; font-weight:800; letter-spacing:-.5px; background:var(--acc2); color:#101010;}
.qcard .a{padding:24px; font-size:16px; line-height:1.7; color:var(--ink); min-height:120px;}
.qcard .a b{background:var(--acc); color:var(--on-acc); padding:0 5px;}
.qcard .a .tw-cursor{display:inline-block; width:9px; height:19px; background:var(--acc2); margin-left:2px; vertical-align:-3px; animation:blink 1s steps(1) infinite;}
.qcard .cite{padding:0 24px 22px; font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:700; color:var(--acc);}

/* work */
.wgrid{display:grid; grid-template-columns:repeat(3,1fr); border-top:3px solid var(--ink); border-bottom:3px solid var(--ink);}
.wc{border-right:3px solid var(--ink);}
.wc:nth-child(3n){border-right:none;}
.wc:nth-child(1) .ph{background:var(--acc);} .wc:nth-child(2) .ph{background:var(--acc2);} .wc:nth-child(3) .ph{background:#ff5da2;}
.wc:nth-child(4) .ph{background:#00c982;} .wc:nth-child(5) .ph{background:#ff8a3d;} .wc:nth-child(6) .ph{background:#b06bff;}
.wc .ph{height:200px; display:flex; align-items:center; justify-content:center; border-bottom:3px solid var(--ink);}
.wc .ph span{font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:800; color:rgba(16,16,16,.55);}
.wc .cap{padding:18px 22px; display:flex; justify-content:space-between; align-items:baseline;}
.wc .cap h4{font-size:19px; font-weight:800; letter-spacing:-.5px; text-transform:uppercase;}
.wc .cap span{font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--dim); font-weight:700;}
.ph-note{padding:22px 0; text-align:center; font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:700; color:var(--dim);}

/* quote */
.quote{border-bottom:3px solid var(--ink); padding:76px 0; text-align:center;}
.quote .stars{color:var(--acc2); font-size:22px; letter-spacing:6px; margin-bottom:20px;}
.quote blockquote{font-size:46px; font-weight:800; letter-spacing:-1.5px; line-height:1.05; text-transform:uppercase; max-width:18ch; margin:0 auto 20px;}
.quote blockquote span{color:var(--acc);}
.quote cite{font-style:normal; font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--dim);}

/* CTA */
.cta{background:var(--acc); color:var(--on-acc);}
.cta .in{padding-block:80px; display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:end;}
.cta h2{font-size:82px;}
.cta .side{text-align:right; font-size:16px; font-weight:700; line-height:2;}
.cta .side a{text-decoration:underline;}
.cta .side .big{font-size:30px; font-weight:800; letter-spacing:-1px; display:block; margin-bottom:6px;}

/* footer */
.site-footer{background:#0d0d0d; border-top:3px solid var(--ink); padding-top:56px;}
.footer-cols{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:36px; padding-bottom:44px;}
.footer-cols h4{font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--acc); margin-bottom:14px;}
.footer-cols a{display:block; font-size:14px; color:var(--dim); margin-bottom:9px;}
.footer-cols a:hover{color:var(--ink);}
.footer-cols .logo{font-size:22px; margin-bottom:12px;}
.footer-cols .fmuted{font-size:14px; color:var(--dim); max-width:34ch;}
.footer-cols span.fmuted{display:block; margin-top:2px;}
.footer-bar{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:20px 32px; border-top:3px solid var(--line); font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:700; color:var(--faint);}

/* generic page body (service/about/contact use their own templates later) */
.page-body{padding:60px 32px; max-width:820px;}
.page-body h1{font-size:52px; letter-spacing:-2px; text-transform:uppercase; margin-bottom:24px;}
.page-body .entry p{margin-bottom:18px; color:var(--dim); font-size:17px;}

/* ===== interior pages ===== */
.crumbs{padding:22px 0 0; font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:700; color:var(--faint);}
.crumbs a{color:var(--dim);}
.crumbs a:hover{color:var(--acc);}
.crumbs .here{color:var(--ink);}
.svc-fam{color:var(--acc); display:block; margin-bottom:14px;}

/* service hero */
.svc-hero{border-bottom:3px solid var(--ink); padding-bottom:56px;}
.svc-hero-grid{display:grid; grid-template-columns:1.4fr .85fr; gap:44px; align-items:start; padding-top:34px;}
.svc-hero h1{font-size:60px; margin-bottom:22px;}
.svc-lead{font-size:19px; color:var(--ink); max-width:52ch; margin-bottom:16px;}
.svc-lead2{font-size:16px; color:var(--dim); max-width:52ch; margin-bottom:26px;}
.svc-hero .cta-row{display:flex; gap:14px; flex-wrap:wrap;}
.svc-hero-card{border:3px solid var(--ink); background:var(--panel);}
.svc-hero-card .shead{background:var(--acc); color:var(--on-acc); font-weight:800; font-size:13px; letter-spacing:1px; text-transform:uppercase; padding:14px 18px; border-bottom:3px solid var(--ink);}
.svc-hero-card .sbody{padding:8px 18px 18px;}
.srow2{display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:2px solid var(--line); font-size:13px;}
.srow2 span{color:var(--faint); text-transform:uppercase; letter-spacing:1px; font-weight:700; font-size:11px;}
.srow2 b{color:var(--ink);}
.sflag{margin-top:14px; display:inline-block; background:var(--acc2); color:#101010; font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:5px 10px;}

/* includes (reuses .grid/.cell) */
.svc-inc{border-bottom:3px solid var(--ink);}
.svc-inc .head{padding:44px 0 30px; display:flex; justify-content:space-between; align-items:baseline;}
.svc-inc .head h2{font-size:15px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--dim);}

/* why */
.svc-why{border-bottom:3px solid var(--ink); background:var(--panel);}
.why-grid{display:grid; grid-template-columns:1fr 1.2fr; gap:44px; padding-block:64px; align-items:center;}
.why-l h2{font-size:44px; margin-top:14px;}
.why-list{list-style:none;}
.why-list li{display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-top:2px solid var(--line); font-size:17px; color:var(--ink);}
.why-list li:first-child{border-top:none;}
.why-list .ck{color:var(--acc); font-weight:800; font-size:20px; flex-shrink:0;}

/* FAQ accordion */
.svc-faq{border-bottom:3px solid var(--ink);}
.svc-faq .head{padding:44px 0 24px; display:flex; justify-content:space-between; align-items:baseline;}
.svc-faq .head h2{font-size:15px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--dim);}
.faqs{border-top:3px solid var(--ink);}
.faq{border-bottom:3px solid var(--ink);}
.faq-q{width:100%; background:none; border:none; color:var(--ink); text-align:left; cursor:pointer; padding:26px 4px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:inherit; font-size:21px; font-weight:800; letter-spacing:-.4px;}
.faq-q:hover{color:var(--acc);}
.faq-ico{font-size:28px; font-weight:400; color:var(--acc); flex-shrink:0; transition:transform .2s;}
.faq.open .faq-ico{transform:rotate(45deg);}
.faq-a{overflow:hidden; transition:max-height .28s ease;} /* open by default (no-JS/crawlable); JS collapses on init */
.faq-a p{padding:0 4px 26px; font-size:16.5px; color:var(--dim); max-width:74ch; line-height:1.7;}

/* related */
.svc-related{border-bottom:3px solid var(--ink);}
.svc-related .head{padding:44px 0 30px;}
.svc-related .head h2{font-size:15px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--dim);}
.rel-grid{display:grid; grid-template-columns:repeat(3,1fr); border-top:3px solid var(--ink); border-bottom:3px solid var(--ink);}
.rel{border-right:3px solid var(--ink); padding:30px 26px; display:flex; flex-direction:column; min-height:150px; transition:background .05s;}
.rel:last-child{border-right:none;}
.rel:hover{background:var(--acc); color:var(--on-acc);}
.rel:hover .rel-fam{color:var(--on-acc);}
.rel-fam{font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:800; color:var(--dim);}
.rel h3{font-size:24px; font-weight:800; letter-spacing:-.6px; text-transform:uppercase; margin:10px 0 auto;}
.rel .arw{font-size:22px; font-weight:800;}

/* about */
.about-hero{border-bottom:3px solid var(--ink); padding:40px 0 56px;}
.about-hero h1{font-size:64px; margin-bottom:20px;}
.about-body{border-bottom:3px solid var(--ink);}
.about-grid{display:grid; grid-template-columns:1.4fr .9fr; gap:48px; padding-block:64px; align-items:start;}
.about-copy p{font-size:18px; color:var(--dim); margin-bottom:20px; max-width:60ch;}
.about-copy p:first-child{color:var(--ink); font-size:20px;}
.about-stats{display:grid; grid-template-columns:1fr 1fr; gap:0; border:3px solid var(--ink);}
.astat{padding:24px; border-right:3px solid var(--ink); border-bottom:3px solid var(--ink);}
.astat:nth-child(2n){border-right:none;} .astat:nth-child(3),.astat:nth-child(4){border-bottom:none;}
.astat b{display:block; font-size:38px; font-weight:800; letter-spacing:-2px; color:var(--acc);}
.astat span{font-size:12.5px; color:var(--dim); text-transform:uppercase; letter-spacing:.5px; font-weight:700;}
.about-values{border-bottom:3px solid var(--ink);}
.about-values .head{padding:44px 0 30px;}
.about-values .head h2{font-size:15px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--dim);}

/* work hero */
.work-hero{border-bottom:3px solid var(--ink); padding:40px 0 52px;}
.work-hero h1{font-size:56px; margin-bottom:20px;}

/* contact */
.contact{border-bottom:3px solid var(--ink);}
.contact .head{padding:44px 0 0; display:flex; justify-content:space-between; align-items:baseline;}
.contact .head h2{font-size:15px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--dim);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; padding-block:40px 72px; align-items:start;}
.contact-l h1{font-size:66px; margin-bottom:22px;}
.contact-intro{font-size:18px; color:var(--dim); max-width:44ch; margin-bottom:30px;}
.contact-facts{display:grid; grid-template-columns:1fr 1fr; gap:0; border:3px solid var(--ink);}
.cfact{padding:20px; border-right:3px solid var(--ink); border-bottom:3px solid var(--ink); display:block;}
.cfact:nth-child(2n){border-right:none;} .cfact:nth-child(3),.cfact:nth-child(4){border-bottom:none;}
.cfact span{display:block; font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--faint); font-weight:700; margin-bottom:6px;}
.cfact b{font-size:16px; color:var(--ink); letter-spacing:-.3px;}
a.cfact:hover b{color:var(--acc);}
.form-box{border:3px solid var(--ink); background:var(--panel); padding:32px;}
.form-box h3{font-size:22px; font-weight:800; letter-spacing:-.5px; text-transform:uppercase; margin-bottom:20px;}
.form-note{padding:14px 16px; margin-bottom:20px; font-size:14px; font-weight:700; border:2px solid;}
.form-note.ok{border-color:#00c982; color:#00c982;}
.form-note.err{border-color:#ff5da2; color:#ff5da2;}
.fld{margin-bottom:18px;}
.fld label{display:block; font-size:12px; text-transform:uppercase; letter-spacing:1px; font-weight:700; color:var(--dim); margin-bottom:8px;}
.fld label em{color:var(--faint); text-transform:none; letter-spacing:0; font-style:normal;}
.fld input,.fld textarea{width:100%; background:var(--bg); border:2px solid var(--line); color:var(--ink); padding:13px 15px; font-family:inherit; font-size:16px;}
.fld input:focus,.fld textarea:focus{outline:none; border-color:var(--acc);}
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.form-box .btn{border:none; cursor:pointer; margin-top:4px;}

/* scroll reveal — visible by default; only hidden when JS is present (progressive enhancement) */
.reveal{opacity:1; transform:none;}
.has-js .reveal{opacity:0; transform:translateY(22px);}
.has-js .reveal.in{opacity:1; transform:translateY(0); transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1);}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; scroll-behavior:auto !important;}
  .reveal{opacity:1; transform:none;}
  .you{top:16px;}
  .blockcursor{display:none;}
}

/* responsive */
@media (max-width:960px){
  .hero-left h1{font-size:60px;}
  .aeo .l h2{font-size:46px;}
  .cta h2{font-size:60px;}
}
@media (max-width:820px){
  .navlinks{display:none;}
  .navtoggle{display:flex;}
  .hero-split{grid-template-columns:1fr;}
  .hero-left{border-right:none; border-bottom:3px solid var(--ink); padding:34px 0;}
  .hero-right{padding:34px 0;}
  .grid{grid-template-columns:1fr;}
  .cell{border-right:none !important;}
  .cell:nth-child(5),.cell:nth-child(6){border-bottom:3px solid var(--ink);}
  .aeo{grid-template-columns:1fr;}
  .aeo .l{border-right:none; border-bottom:3px solid var(--ink); padding:44px 32px;}
  .aeo .r{padding:44px 32px;}
  .wgrid{grid-template-columns:1fr;}
  .wc{border-right:none !important;}
  .cta .in{grid-template-columns:1fr; gap:24px;}
  .cta .side{text-align:left;}
  .footer-cols{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .wrap{padding:0 20px;}
  .nav{padding:16px 20px;}
  .hero-left h1{font-size:46px; letter-spacing:-2px;}
  .quote blockquote{font-size:32px;}
  .cta h2{font-size:44px;}
  .footer-cols{grid-template-columns:1fr;}
}

/* ===== mobile fixes for interior pages + grid-blowout guard ===== */
@media (max-width:820px){
  /* prevent grid/flex children from forcing tracks wider than the viewport */
  .hero-split > *, .svc-hero-grid > *, .why-grid > *, .about-grid > *, .contact-grid > *{ min-width:0; }
  .hero .top{ flex-wrap:wrap; row-gap:6px; }
  .rankbox, .qcard, .svc-hero-card{ max-width:100%; }

  .svc-hero-grid{ grid-template-columns:1fr; gap:28px; }
  .svc-hero h1{ font-size:44px; letter-spacing:-2px; }
  .why-grid{ grid-template-columns:1fr; gap:26px; padding-block:44px; }
  .why-l h2{ font-size:34px; }
  .about-grid{ grid-template-columns:1fr; gap:30px; padding-block:44px; }
  .about-hero h1{ font-size:44px; }
  .work-hero h1{ font-size:38px; }
  .contact-grid{ grid-template-columns:1fr; gap:34px; padding-block:34px; }
  .contact-l h1{ font-size:48px; letter-spacing:-2px; }
  .rel-grid{ grid-template-columns:1fr; }
  .rel{ border-right:none; border-bottom:3px solid var(--ink); }
  .rel:last-child{ border-bottom:none; }
}
@media (max-width:560px){
  .svc-hero h1, .about-hero h1{ font-size:36px; }
  .contact-l h1{ font-size:38px; }
  .work-hero h1{ font-size:32px; }
  .why-l h2{ font-size:28px; }
  .contact-facts, .about-stats{ grid-template-columns:1fr; }
  .contact-facts .cfact, .about-stats .astat{ border-right:none; }
  .about-stats .astat:nth-child(3){ border-bottom:3px solid var(--ink); }
  .faq-q{ font-size:18px; }
  .form-box{ padding:22px; }
  .aeo .l, .aeo .r{ padding-left:20px; padding-right:20px; }
  .careband{ padding:26px 20px; }
}
