:root{--bg:#050607;--panel:#090b0e;--text:#fff;--muted:#aeb6bd;--line:rgba(255,255,255,.14);--blue:#31a8ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,'Helvetica Neue',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{width:min(1180px,92%);margin:auto}.site-header{height:68px;background:#020304;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20}.header-inner{width:min(1180px,94%);margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{font-size:22px;font-weight:900;letter-spacing:.04em}.nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:700;letter-spacing:.04em}.nav a{opacity:.9;padding:22px 0}.nav a.active{border-bottom:2px solid #fff}.nav .contact-btn{border:1px solid rgba(255,255,255,.7);padding:10px 18px}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{min-height:340px;display:grid;grid-template-columns:42% 58%;border-bottom:1px solid var(--line)}.hero-copy{padding:74px 7%;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(120deg,#050607,#090d12)}.hero-media{min-height:340px;position:relative;overflow:hidden}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050607 0%,transparent 28%)}.hero h1{font-size:clamp(46px,6vw,76px);line-height:1.02;margin:0 0 18px;letter-spacing:-.02em}.hero .lead{font-size:20px;font-weight:700;margin:0 0 20px}.hero .sub{color:#d6d9dc;font-size:15px}.eyebrow{font-size:11px;letter-spacing:.15em;color:#d4d8dc;margin-bottom:12px}.section{border-bottom:1px solid var(--line)}.split{display:grid;grid-template-columns:12% 43% 45%;min-height:290px}.num{font-size:88px;font-weight:900;color:rgba(255,255,255,.07);padding:28px 0 0 34px}.copy{padding:42px 28px}.copy h2,.section-title{font-size:38px;line-height:1.08;margin:0 0 12px}.copy h3{margin:0 0 14px;font-size:18px}.copy p{margin:0 0 10px;color:#e7e9eb}.media{min-height:290px}.more{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:.08em}.blue{color:var(--blue)}.closing{min-height:160px;background:url('top-city.jpg') center 52%/cover;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}.closing:after{content:'';position:absolute;inset:0;background:rgba(1,3,5,.38)}.closing-inner{position:relative;z-index:2}.closing p{font-size:20px;font-weight:700;margin:0 0 8px}.closing strong{font-size:28px;letter-spacing:.12em}.site-footer{background:#020304;border-top:1px solid var(--line);padding:30px 0 22px}.footer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.tagline{font-size:12px;color:#d8dadd;margin-top:6px}.footer-nav{display:flex;gap:26px;flex-wrap:wrap;font-size:11px;font-weight:700}.copyr{text-align:center;color:#b7bcc0;font-size:11px;margin-top:28px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{width:130px;color:#dfe4e7}.profile-name{font-size:22px;margin:0 0 6px}.strong-lines{font-size:18px;font-weight:700;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:28px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:220px}.service-card h3{font-size:16px;margin:12px 0 6px}.icon{width:42px;height:42px;border:1px solid var(--blue);border-radius:10px;display:grid;place-items:center;color:var(--blue);font-size:20px}.pricing{display:grid;grid-template-columns:1.1fr repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.price-intro,.price-card{padding:32px 24px;border-right:1px solid var(--line)}.price-card{position:relative}.price-card.recommended{outline:1px solid var(--blue);outline-offset:-1px}.badge{position:absolute;top:0;left:0;background:var(--blue);color:#001018;font-size:10px;font-weight:800;padding:5px 8px}.price{font-size:26px;font-weight:900}.option-row{display:grid;grid-template-columns:23% 77%;border-bottom:1px solid var(--line)}.option-copy{padding:30px}.option-list{padding:30px;display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center}.seo-faq{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);position:relative;align-items:stretch}.seo,.faq{padding:36px;min-width:0}.seo{border-right:1px solid var(--line)}.seo-icons{display:flex;gap:26px;flex-wrap:wrap;margin-top:22px}.seo-icon{width:100px;text-align:center;font-size:11px}.seo-icon .icon{margin:auto auto 8px}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;text-align:left;background:none;border:0;color:#fff;padding:14px 0;font-size:14px;cursor:pointer;display:flex;justify-content:space-between}.faq-a{display:none;color:#cfd3d7;padding:0 0 14px}.faq-item.open .faq-a{display:block}.cta-section{display:grid;grid-template-columns:32% 38% 30%;min-height:220px;border-bottom:1px solid var(--line);position:relative;clear:both}.cta-big{padding:38px;font-size:42px;font-weight:900;line-height:1.05}.cta-copy{padding:42px 25px}.cta-media{min-height:220px;overflow:hidden}.button{display:inline-block;border:1px solid rgba(255,255,255,.7);padding:12px 18px;margin-top:14px;font-size:12px;font-weight:700}.contact-layout{display:grid;grid-template-columns:1.2fr .9fr;gap:54px;padding:44px 5%}.form label{display:block;font-weight:700;margin:14px 0 6px}.req{color:var(--blue);font-size:11px;margin-left:6px}.form input,.form select,.form textarea{width:100%;background:#07090c;border:1px solid #3a4349;color:#fff;padding:13px 14px;font-size:16px}.form textarea{min-height:120px}.submit{width:100%;background:linear-gradient(90deg,#3d9de4,#1472bf);color:#fff;border:0;padding:15px;font-size:16px;font-weight:700;margin-top:16px}.consult-box,.faq-wide{border:1px solid #3c444a;padding:28px;background:rgba(255,255,255,.01)}.checklist{list-style:none;padding:0;margin:18px 0 0}.checklist li{margin:14px 0}.checklist li:before{content:'✓';display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--blue);color:#001018;margin-right:12px;font-size:11px}.faq-wide{margin:0 5% 42px}.faq-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.policy{padding:20px 4% 40px}.policy-item{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:34px 0;border-bottom:1px solid var(--line)}.policy-no{color:var(--blue);font-size:30px;font-weight:900}.policy-item h2{margin:0 0 14px;font-size:25px}.policy-item p,.policy-item li{color:#ebedef}.policy-item ul{padding-left:22px}.home-hero{position:relative;height:500px;display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;border-bottom:1px solid var(--line)}.home-panel{min-width:0}.home-panel img{filter:brightness(.62) saturate(.85)}.home-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.28),rgba(0,0,0,.12))}.home-overlay h1{font-size:clamp(46px,7vw,74px);line-height:1.22;margin:0;font-weight:900}.home-overlay strong{display:block;font-size:28px;letter-spacing:.11em;margin-top:18px}.scroll-mark{position:absolute;right:18px;bottom:22px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.12em}.home-row{display:grid;grid-template-columns:15% 40% 45%;height:235px;border-bottom:1px solid var(--line)}.home-row .num{font-size:84px}.home-text{padding:38px 28px}.home-text h2{font-size:42px;margin:0 0 12px}.home-art{overflow:hidden}.home-art img{filter:brightness(.62)}.business-hero .hero-copy,.company-hero .hero-copy{padding-left:5%}.business-row{display:grid;grid-template-columns:14% 34% 52%;min-height:310px;border-bottom:1px solid var(--line)}.business-copy{padding:42px 28px}.business-copy h2{font-size:38px;margin:0 0 5px}.business-media{min-height:310px}.web-hero{min-height:270px;display:grid;grid-template-columns:42% 58%;border-bottom:1px solid var(--line)}.web-hero-copy{padding:48px 5%;display:flex;flex-direction:column;justify-content:center}.web-hero-copy h1{font-size:42px;line-height:1.25;margin:0}.web-hero-copy p{margin:10px 0}.section-band{display:grid;grid-template-columns:10% 42% 48%;border-bottom:1px solid var(--line);min-height:200px}.section-band .num{font-size:64px;padding-top:20px}.section-band .copy{padding:24px}.strengths{display:grid;grid-template-columns:10% 90%;border-bottom:1px solid var(--line)}.strength-head{padding:28px}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr)}.strength-card{padding:30px;border-left:1px solid var(--line)}.strength-card h3{font-size:24px;margin:4px 0}.small{font-size:13px;color:#d8dde0}.web-service{display:grid;grid-template-columns:10% 90%;border-bottom:1px solid var(--line)}.web-service-content{padding:28px}.web-service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:22px}.web-service-item{padding:14px;border-right:1px solid var(--line)}.web-service-item h3{font-size:13px}.web-service-item p{font-size:11px;color:#d8dde0}.web-price{display:grid;grid-template-columns:10% 90%;border-bottom:1px solid var(--line)}.web-price-content{padding:28px}.web-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:20px}.web-price-card{border:1px solid var(--line);padding:22px;position:relative}.web-price-card.recommended{border-color:var(--blue)}.web-price-card ul{padding-left:18px;font-size:12px}.web-price-card p{font-size:12px}.privacy-link-note{font-size:12px;color:#bfc6cb;margin-top:14px}
@media(max-width:820px){.nav{display:none;position:absolute;top:68px;left:0;right:0;background:#020304;padding:20px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-btn{display:block}.hero,.web-hero{grid-template-columns:1fr}.hero-media,.web-hero .hero-media{min-height:250px;order:-1}.split,.section-band{grid-template-columns:80px 1fr}.split .media,.section-band .media{grid-column:1/-1;min-height:240px}.num{font-size:58px;padding-left:18px}.copy{padding:30px 18px}.home-hero{height:560px;grid-template-columns:repeat(2,1fr)}.home-panel:nth-child(n+3){display:none}.home-row,.business-row{grid-template-columns:80px 1fr;height:auto}.home-art,.business-media{grid-column:1/-1;height:230px}.service-grid,.web-service-grid{grid-template-columns:repeat(2,1fr)}.pricing{grid-template-columns:1fr}.price-intro,.price-card{border-right:0;border-bottom:1px solid var(--line)}.option-row{grid-template-columns:1fr}.seo-faq{grid-template-columns:1fr}.seo{border-right:0;border-bottom:1px solid var(--line)}.cta-section{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}.faq-cols{grid-template-columns:1fr}.policy-item{grid-template-columns:50px 1fr}.strengths,.web-service,.web-price{grid-template-columns:70px 1fr}.strength-grid{grid-template-columns:1fr}.web-price-grid{grid-template-columns:1fr}.footer-row{flex-direction:column}.home-overlay h1{font-size:44px}.hero h1{font-size:52px}}

/* v5: FAQ / CONTACT CTA boundary bug fix only */
.seo-faq{
  overflow:hidden;
  isolation:isolate;
}
.seo-faq .seo,
.seo-faq .faq{
  position:relative;
  overflow:hidden;
  min-height:0;
  z-index:1;
  background:var(--bg);
}
.cta-section{
  overflow:hidden;
  isolation:isolate;
  z-index:2;
  background:var(--bg);
}
.cta-media{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.cta-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* BUSINESS mobile-only: use cleaned background asset; desktop master remains unchanged. */
@media(max-width:820px){.business-page .closing{background-image:url('business-skyline-mobile.jpg') !important}}


/* Production accessibility additions (no visual master redesign) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.menu-btn{cursor:pointer}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
