@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#073575;--deep:#061d3b;--blue:#0754b8;--bright:#1686e8;--green:#32b516;--ink:#14243b;--muted:#617187;--paper:#f5f8fc;--line:#e0e8f0;--shadow:0 22px 60px #061d3b20}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}
.header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:24px;padding:12px clamp(18px,5vw,74px);background:#fffffff5;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;flex:0 1 245px;min-width:180px;max-width:270px;line-height:1}.brand img{display:block;width:100%;height:auto;max-height:68px;object-fit:contain;object-position:left center}
.nav{display:flex;align-items:center;gap:clamp(12px,2vw,25px);margin-left:auto;font-size:.9rem;font-weight:800}.nav a{white-space:nowrap}.nav a:hover,a:hover{color:var(--bright)}
.call{display:flex;flex-direction:column;align-items:center;border-radius:30px;padding:8px 16px;color:white;background:var(--navy);font-weight:800;font-size:.85rem;line-height:1.4;white-space:nowrap}.call b{color:#b8f4a6}.nav-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding:68px clamp(22px,7vw,105px);min-height:570px;background:radial-gradient(circle at 85% 15%,#e4f2ff,transparent 29%),linear-gradient(125deg,#f6faff,#fff 60%,#eff9e9)}
.hero-copy{min-width:0}.eyebrow{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:var(--blue);margin:0 0 14px}h1,h2{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(3rem,5.5vw,5rem);color:var(--deep);margin:0}h1 em,.section-head h2 em{color:var(--blue);font-style:normal}.lead{font-size:1.1rem;color:var(--muted);max-width:610px;margin:24px 0}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:40px;min-height:50px;padding:0 22px;background:linear-gradient(100deg,var(--blue),var(--bright));color:white;font-weight:900;cursor:pointer}.btn:hover{color:white;transform:translateY(-1px)}.secondary{color:var(--navy);background:white;border:1px solid var(--line)}.trust{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.82rem;color:#4d6076;font-weight:800;margin-top:25px}.hero-art{position:relative;display:grid;place-items:center;min-width:0;min-height:420px}.hero-art>img{position:relative;z-index:1;width:min(100%,460px);height:420px;object-fit:cover;object-position:center;border:10px solid white;border-radius:28px;box-shadow:var(--shadow)}.float-card{position:absolute;z-index:2;bottom:12px;left:0;display:flex;gap:10px;align-items:center;padding:14px 20px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.float-card b,.float-card small{display:block}.float-card b{color:var(--navy)}.float-card small{color:var(--muted)}
.ribbon{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 25px;padding:18px;background:var(--navy);color:white;font-size:.87rem;font-weight:800}.ribbon i{font-size:.5rem;color:var(--green)}
.section{padding:82px clamp(22px,7vw,105px)}.section-head{text-align:center;max-width:720px;margin:0 auto 40px}.section-head h2,.audience h2,.about h2,.support h2,.contact h2{font-size:clamp(2.1rem,4vw,3.3rem);margin:0;color:var(--deep)}.section-head>p:last-child{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.cards article{display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fff,#fbfdff);min-width:0;min-height:275px}.service-icon{width:100%;height:116px;object-fit:contain;align-self:center;margin:0 auto 14px}.cards h3{margin:0;color:var(--navy);font-size:1.05rem;line-height:1.3;min-height:2.6em}.cards p{color:var(--muted);font-size:.9rem;margin:10px 0 0}
.audiences{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.audience{display:flex;align-items:flex-start;justify-content:center;gap:20px;padding:62px clamp(26px,5vw,72px);text-align:left;min-width:0}.audience-home{background:#eef6ff}.audience-business{background:#eff9e9}.audience-icon{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:17px;color:white;background:var(--blue);font-size:2rem;font-weight:800}.audience-business .audience-icon{background:var(--green)}.audience h2{font-size:clamp(1.7rem,2.6vw,2.4rem)}.audience p:not(.eyebrow){color:var(--muted);max-width:480px}.audience a,.support a{color:var(--blue);font-weight:900}
.about{display:grid;grid-template-columns:125px minmax(0,1fr);gap:45px;align-items:center;padding:72px clamp(24px,10vw,150px);color:white;background:var(--deep)}.monogram{display:grid;place-items:center;width:115px;height:115px;border:2px solid #ffffff35;border-radius:32px;background:#164b84;font-size:2.5rem;font-weight:900}.monogram span{color:var(--green)}.about .eyebrow{color:#9ce987}.about h2{color:white}.about p:not(.eyebrow){color:#c7d7e7}.about ul{display:flex;flex-wrap:wrap;gap:8px 28px;padding-left:18px;color:#e7f3ff;font-weight:700}
.support{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;padding:78px clamp(22px,7vw,105px);background:var(--paper)}.support>img{width:100%;height:340px;object-fit:cover;object-position:center 30%;border:8px solid white;border-radius:24px;box-shadow:var(--shadow)}.support p:not(.eyebrow){color:var(--muted)}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:6vw;align-items:start;padding:82px clamp(22px,7vw,105px)}.contact p{color:var(--muted)}.contact-copy>p{margin:14px 0}.contact a{font-weight:800}.socials{display:grid;gap:10px;margin-top:24px}.socials a{padding:12px 15px;border:1px solid var(--line);border-radius:12px;color:var(--navy)}form{display:grid;gap:13px;padding:28px;border:1px solid var(--line);border-radius:22px;background:#f7faff;box-shadow:0 18px 42px #061d3b0f;min-width:0}label{display:grid;gap:7px;color:var(--navy);font-size:.88rem;font-weight:900}input,textarea{width:100%;min-width:0;padding:13px;border:1px solid #d7e2ed;border-radius:10px;background:white;font:inherit}input:focus,textarea:focus{outline:2px solid #1686e855;border-color:var(--bright)}textarea{resize:vertical}form small{color:var(--muted)}
footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:25px clamp(22px,5vw,74px);background:#04152b;color:#d9e5f2;font-size:.84rem}footer b{font-size:1.1rem;color:white}footer>div{display:flex;gap:15px;flex-wrap:wrap}footer small{width:100%;padding-top:10px;border-top:1px solid #ffffff1c}
@media(max-width:1100px){.header{gap:16px}.brand{min-width:175px}.nav{gap:13px;font-size:.82rem}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{gap:3vw}}
@media(max-width:800px){.header{justify-content:space-between;padding:10px 17px}.nav-toggle{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:50%;background:white}.nav-toggle span{width:18px;height:2px;background:var(--navy)}.nav{display:none;position:absolute;top:100%;left:12px;right:12px;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:10px}.call{margin-left:auto}.hero{grid-template-columns:1fr;padding:50px 22px;gap:25px}.hero-art{min-height:340px}.hero-art>img{height:350px;width:min(100%,400px)}.float-card{left:max(0px,calc((100% - 400px)/2))}.section{padding:65px 22px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.audiences{grid-template-columns:1fr}.audience{padding:45px 28px}.about{grid-template-columns:1fr;gap:25px;padding:58px 24px}.monogram{width:95px;height:95px}.support,.contact{grid-template-columns:1fr;padding:62px 22px;gap:28px}form{padding:22px}footer{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.header{gap:9px}.brand{min-width:0;flex:1 1 130px;max-width:175px}.brand img{max-height:48px}.call{padding:7px 10px;font-size:.75rem}.call b{font-size:.8rem}.hero{padding-top:40px}.hero h1{font-size:clamp(2.7rem,12vw,3.7rem)}.lead{font-size:1rem}.trust{display:grid;gap:5px}.hero-art{min-height:300px}.hero-art>img{height:310px;width:min(100%,350px)}.float-card{left:0;bottom:4px;padding:11px 13px}.ribbon{gap:8px 12px;font-size:.74rem}.ribbon i{font-size:.42rem}.section{padding:58px 18px}.cards{grid-template-columns:1fr;gap:13px}.cards article{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:14px;align-items:center;min-height:0;padding:15px}.service-icon{grid-row:span 2;width:100px;height:95px;margin:0}.cards h3{min-height:0;align-self:end}.cards p{align-self:start;margin-top:5px}.audience{padding:38px 22px;gap:15px}.audience-icon{flex-basis:48px;width:48px;height:48px;font-size:1.6rem}.audience h2{font-size:1.7rem}.about h2,.support h2,.contact h2{font-size:2.25rem}.support>img{height:270px}form{padding:19px}footer>div{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* v2 deployment safety overrides: preserve TechSafe branding and enforce layout consistency */
:root { color-scheme: light; }
html, body { width: 100%; min-width: 320px; margin: 0; padding: 0; }
body { color: var(--ink, #14243b); background: #fff; overflow-x: hidden; }
img { max-width: 100%; }
.header { width: 100%; display: flex; flex-flow: row nowrap; align-items: center; justify-content: space-between; }
.header .brand { display: flex; flex: 0 1 245px; min-width: 0; max-width: 270px; }
.header .brand img { display: block; width: 100%; height: auto; max-height: 68px; object-fit: contain; object-position: left center; }
.header .nav { display: flex; flex-flow: row nowrap; align-items: center; gap: clamp(10px, 1.5vw, 22px); margin-left: auto; }
.header .nav a { display: inline-block; white-space: nowrap; }
.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(28px, 5vw, 72px); width: 100%; }
.hero-copy, .hero > div:first-child { min-width: 0; }
.hero h1 { color: #061d3b; }
.hero h1 em { color: #0754b8; font-style: normal; }
.hero .lead, .hero .trust { color: #52647a; }
.hero .actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-art { min-width: 0; width: 100%; }
.hero-art > img { display: block; width: min(100%, 460px); height: 420px; object-fit: cover; }
.cards.service-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.cards.service-cards > article { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 22px; }
.cards.service-cards .service-icon { display: block; width: 100%; height: 116px; margin: 0 auto 14px; object-fit: contain; }
.cards.service-cards h3 { min-height: 2.6em; margin: 0; line-height: 1.3; }
.cards.service-cards p { margin: 10px 0 0; }
.audiences { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.audience { min-width: 0; }
.contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: start; gap: clamp(28px, 6vw, 84px); }
.contact > *, .contact form { min-width: 0; }
.contact form { display: grid; gap: 13px; }
.contact input, .contact textarea { width: 100%; }
footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
@media (max-width: 1100px) {
  .header { gap: 14px; }
  .header .brand { flex-basis: 190px; }
  .header .nav { gap: 12px; font-size: .82rem; }
  .cards.service-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .header { justify-content: space-between; }
  .header .nav { display: none; position: absolute; top: 100%; left: 12px; right: 12px; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
  .header .nav.open { display: flex; }
  .header .nav a { padding: 10px; }
  .hero { grid-template-columns: minmax(0, 1fr); padding: 48px 22px; gap: 24px; }
  .hero-art { min-height: 320px; }
  .hero-art > img { height: 350px; width: min(100%, 400px); }
  .cards.service-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audiences { grid-template-columns: minmax(0, 1fr); }
  .support, .contact { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .header .brand { flex: 1 1 130px; max-width: 175px; }
  .header .brand img { max-height: 48px; }
  .header .call { display: none; }
  .cards.service-cards { grid-template-columns: minmax(0, 1fr); }
  .cards.service-cards > article { display: grid; grid-template-columns: 100px minmax(0, 1fr); column-gap: 14px; align-items: center; padding: 15px; }
  .cards.service-cards .service-icon { grid-row: span 2; width: 100px; height: 95px; margin: 0; }
  .cards.service-cards h3 { min-height: 0; }
  .hero h1 { font-size: clamp(2.7rem, 12vw, 3.7rem); }
  .hero .trust { display: flex; line-height: 1.8; }
}
