@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
    --ink: #f8f8fb;
    --muted: #a9adb9;
    --muted-strong: #c9cbd5;
    --night: #0a0b12;
    --night-soft: #10111b;
    --surface: #151724;
    --surface-strong: #1a1c2a;
    --line: rgba(255, 255, 255, .10);
    --pink: #c60068;
    --pink-bright: #f32991;
    --orange: #ff9920;
    --yellow: #ffd300;
    --cyan: #18d7dc;
    --radius: 22px;
    --shadow: 0 22px 64px rgba(0, 0, 0, .32);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--night); }
body.vw-body { margin: 0; color: var(--ink); background: var(--night); font-family: 'DM Sans', sans-serif; line-height: 1.6; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
img { max-width: 100%; display: block; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: 'Manrope', sans-serif; line-height: 1.1; letter-spacing: -.04em; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.site-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid rgba(255,255,255,.06); background: rgba(8,9,16,.78); backdrop-filter: blur(18px); }
.header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; width: 160px; }
.brand img { width: 100%; height: 46px; object-fit: contain; object-position: left center; }
.site-nav { display: flex; align-items: center; gap: 26px; color: #d4d5db; font-size: 14px; font-weight: 600; }
.site-nav a:not(.nav-cta) { position: relative; padding: 8px 0; }
.site-nav a:not(.nav-cta)::after { content:""; position:absolute; bottom:0; left:0; width:0; height:2px; background: linear-gradient(90deg,var(--orange),var(--pink)); transition: width .25s ease; }
.site-nav a:hover:not(.nav-cta), .site-nav a.active { color: #fff; }
.site-nav a:hover:not(.nav-cta)::after, .site-nav a.active::after { width: 100%; }
.nav-cta { padding: 10px 16px; border: 1px solid rgba(243,41,145,.56); border-radius: 999px; color: #fff; transition: transform .2s ease, background .2s ease; }
.nav-cta:hover { transform: translateY(-2px); background: rgba(198,0,104,.28); }

.menu-toggle { display:none; width:44px; height:44px; padding:10px; border:1px solid var(--line); border-radius:12px; background:transparent; cursor:pointer; }
.menu-toggle span:not(.sr-only) { display:block; height:2px; margin:5px 0; border-radius:999px; background:#fff; }

.hero-section { position:relative; min-height: min(780px, calc(100vh - 84px)); display:flex; align-items:center; overflow:hidden; isolation:isolate; }
.hero-grid { position:absolute; inset:0; z-index:-4; background:
  linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
  linear-gradient(120deg, #0a0c15 0%, #11121d 52%, #0b0a12 100%);
  background-size: 46px 46px,46px 46px,auto; mask-image: linear-gradient(to bottom, black 0%,rgba(0,0,0,.6) 100%); }
.hero-section::before { content:""; position:absolute; inset:0; z-index:-3; background:radial-gradient(circle at 20% 55%,rgba(255,153,32,.2),transparent 32%), radial-gradient(circle at 81% 28%,rgba(198,0,104,.22),transparent 38%); }
.hero-orb { position:absolute; z-index:-2; border-radius:50%; filter: blur(36px); opacity:.7; }
.hero-orb-pink { width:440px; height:440px; right:-130px; top:10%; background:rgba(196,0,104,.28); }
.hero-orb-cyan { width:280px; height:280px; left:-120px; bottom:-80px; background:rgba(24,215,220,.13); }
.hero-content { display:grid; grid-template-columns: 1.2fr .8fr; align-items:center; gap: 88px; padding: 90px 0 100px; }
.hero-copy { max-width:720px; }
.eyebrow { display:inline-block; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.hero-copy h1 { max-width:760px; margin:18px 0 24px; font-size: clamp(42px, 5vw, 78px); font-weight:700; }
.hero-copy h1 strong { display:block; color:var(--pink-bright); font-weight:800; }
.hero-copy p { max-width:620px; color:var(--muted-strong); font-size: clamp(18px, 2vw, 21px); font-weight:400; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:52px; padding:0 21px; border:1px solid transparent; border-radius:13px; font-size:15px; font-weight:700; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color:#fff; background:linear-gradient(110deg,var(--pink) 0%,var(--pink-bright) 100%); box-shadow:0 16px 32px rgba(198,0,104,.26); }
.button-primary:hover { box-shadow:0 20px 44px rgba(198,0,104,.42); }
.button-secondary { color:#f5f5f8; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.045); }
.button-secondary:hover { background:rgba(255,255,255,.12); }
.button-outline-white { color:#fff; border-color:rgba(255,255,255,.52); background:transparent; }
.button-full { width:100%; }
.hero-brand-card { position:relative; display:grid; place-items:center; min-height:330px; padding:42px; border:1px solid rgba(255,255,255,.12); border-radius:32px; background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.025)); box-shadow:var(--shadow); overflow:hidden; }
.hero-brand-card::after { content:""; position:absolute; inset:17px; border:1px solid rgba(255,255,255,.1); border-radius:23px; pointer-events:none; }
.hero-brand-card img { position:relative; z-index:2; width: min(100%, 340px); max-height:170px; object-fit:contain; filter: drop-shadow(0 14px 32px rgba(0,0,0,.45)); }
.brand-ring { position:absolute; width:250px; height:250px; border: 1px solid rgba(255,153,32,.5); border-radius:50%; box-shadow:0 0 0 22px rgba(243,41,145,.06), 0 0 0 50px rgba(255,153,32,.04); }
.brand-card-caption { position:absolute; z-index:3; bottom:32px; color:#d5d7de; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.scroll-cue { position:absolute; bottom:29px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:9px; color:#8f919b; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.scroll-cue span { color:var(--pink-bright); font-size:18px; }

.section { position:relative; padding:112px 0; }
.section-dark { background:#0a0b12; }
.section-heading { max-width:670px; margin-bottom:50px; }
.section-heading.center { margin-left:auto; margin-right:auto; text-align:center; }
.section-heading h2 { margin:15px 0 15px; font-size:clamp(36px,4vw,58px); font-weight:700; }
.section-heading p { max-width:630px; margin:18px 0 0; color:var(--muted); font-size:18px; }
.section-heading.center p { margin-left:auto; margin-right:auto; }
.heading-line { width:58px; height:3px; border-radius:999px; background:linear-gradient(90deg,var(--orange),var(--pink),var(--cyan)); }
.section-heading.center .heading-line { margin:0 auto; }

.about-intro { max-width:880px; margin-bottom:54px; }
.about-intro p { color:#c7c9d2; font-size:21px; line-height:1.8; }
.about-intro .about-emphasis { color:#fff; font-weight:600; }
.highlight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.highlight-card { padding:28px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); transition:transform .22s ease,border-color .22s ease,background .22s ease; }
.highlight-card:hover { transform:translateY(-5px); border-color:rgba(243,41,145,.52); background:rgba(255,255,255,.08); }
.icon-box { width:48px; height:48px; display:grid; place-items:center; margin-bottom:20px; border-radius:14px; color:var(--pink-bright); background:rgba(243,41,145,.13); }
.vw-icon { width:25px; height:25px; }
.highlight-card h3 { margin-bottom:9px; font-size:20px; }
.highlight-card p { margin:0; color:var(--muted); font-size:15px; }

.services-home { border-top:1px solid rgba(255,255,255,.05); }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.service-card { display:flex; flex-direction:column; min-height:280px; padding:30px; border:1px solid var(--line); border-radius:20px; background:#11131d; transition:transform .22s ease, box-shadow .22s ease,border-color .22s ease; }
.service-card:hover { transform:translateY(-6px); border-color:rgba(24,215,220,.5); box-shadow:0 24px 48px rgba(0,0,0,.22); }
.service-card h3 { margin:0 0 12px; font-size:22px; }
.service-card p { flex:1; margin:0; color:var(--muted); }
.service-card a, .text-link { margin-top:25px; color:#fff; font-size:14px; font-weight:700; }
.service-card a span, .text-link span { color:var(--pink-bright); margin-left:4px; }
.section-action { margin-top:30px; }
.text-link { display:inline-flex; align-items:center; gap:8px; color:var(--pink-bright); }
.text-link:hover { color:#fff; }

.clients-section { overflow:hidden; background:linear-gradient(180deg,#0b0c13,#13101b 54%,#0b0c13); }
.clients-orb { position:absolute; width:500px; height:500px; top:4%; left:50%; transform:translateX(-50%); border-radius:50%; background:radial-gradient(circle,rgba(198,0,104,.17),transparent 68%); filter:blur(12px); pointer-events:none; }
.client-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.client-card { min-height:140px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; padding:18px; border:1px solid rgba(255,255,255,.11); border-radius:16px; background:rgba(255,255,255,.035); text-align:center; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.client-card:hover { transform:translateY(-4px); border-color:rgba(255,153,32,.6); background:rgba(255,255,255,.085); }
.client-card img { max-width:120px; max-height:54px; object-fit:contain; filter: grayscale(1) brightness(1.7); }
.client-card strong { color:#d8dae2; font-size:14px; font-weight:600; }
.client-monogram { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--orange),var(--pink)); font-family:'Manrope'; font-weight:800; }
.stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:64px; padding-top:52px; border-top:1px solid var(--line); }
.stats-grid div { text-align:center; }
.stats-grid strong { display:block; font-family:'Manrope'; font-size:48px; font-weight:800; color:#fff; }
.stats-grid div:nth-child(1) strong { color:var(--yellow); } .stats-grid div:nth-child(2) strong { color:var(--pink-bright); } .stats-grid div:nth-child(3) strong { color:var(--cyan); }
.stats-grid span { color:var(--muted); }

.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.product-card { display:flex; flex-direction:column; min-height:360px; padding:30px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(150deg,#151620,#0e0f17); transition:transform .22s ease,box-shadow .22s ease; }
.product-card:hover { transform:translateY(-7px); box-shadow:var(--shadow); }
.product-icon { width:58px; height:58px; display:grid; place-items:center; margin-bottom:27px; border-radius:15px; color:#fff; }
.product-icon .vw-icon { width:29px; height:29px; }
.product-card h3 { margin-bottom:12px; font-size:25px; }
.product-card p { flex:1; margin:0; color:var(--muted); }
.product-card strong { display:block; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); font-size:14px; }
.product-card a { margin-top:18px; font-size:14px; font-weight:700; }
.accent-yellow { border-color:rgba(255,211,0,.35); } .accent-yellow .product-icon { background:linear-gradient(135deg,#ffcf00,#ff8b22); } .accent-yellow strong,.accent-yellow a { color:var(--yellow); }
.accent-pink { border-color:rgba(243,41,145,.35); } .accent-pink .product-icon { background:linear-gradient(135deg,#f32991,#9e005b); } .accent-pink strong,.accent-pink a { color:var(--pink-bright); }
.accent-cyan { border-color:rgba(24,215,220,.35); } .accent-cyan .product-icon { background:linear-gradient(135deg,#1bd8dc,#1675d8); } .accent-cyan strong,.accent-cyan a { color:var(--cyan); }

.team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.team-card { min-width:0; }
.team-photo { aspect-ratio: .78; overflow:hidden; display:grid; place-items:center; margin-bottom:19px; border-radius:18px; background:linear-gradient(145deg,#202331,#10121c); }
.team-photo img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.team-card:hover .team-photo img { transform:scale(1.05); }
.team-photo span { color:#fff; font-family:'Manrope'; font-size:54px; font-weight:800; }
.team-card h3 { margin:0 0 4px; font-size:21px; }
.team-card > span { display:block; margin-bottom:10px; color:var(--cyan); font-size:13px; font-weight:700; }
.team-card p { color:var(--muted); font-size:14px; line-height:1.65; }

.contact-section { overflow:hidden; background:linear-gradient(128deg,#1d0630 0%,#21001c 45%,#090c18 100%); }
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:68px; align-items:center; }
.contact-copy h2 { max-width:520px; margin:16px 0 20px; font-size:clamp(40px,4vw,64px); }
.contact-copy p { max-width:560px; color:#ded1dc; font-size:19px; }
.contact-note { margin:25px 0 28px; color:#f7c9e1; font-size:14px; font-weight:600; }
.contact-orb { position:absolute; border-radius:50%; filter:blur(18px); pointer-events:none; }
.contact-orb-one { width:350px; height:350px; top:-130px; left:-100px; background:rgba(243,41,145,.32); }
.contact-orb-two { width:270px; height:270px; right:-90px; bottom:-80px; background:rgba(24,215,220,.15); }
.contact-form-wrap { position:relative; z-index:2; padding:30px; border:1px solid rgba(255,255,255,.2); border-radius:24px; background:rgba(14,12,22,.62); box-shadow:var(--shadow); backdrop-filter:blur(15px); }
.contact-form { display:grid; gap:16px; }
.contact-form label { display:grid; gap:7px; color:#f5ecf3; font-size:13px; font-weight:700; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-form input,.contact-form textarea,.contact-form select { width:100%; border:1px solid rgba(255,255,255,.18); border-radius:10px; padding:12px 13px; color:#fff; outline:0; background:rgba(255,255,255,.07); transition:border-color .2s ease,background .2s ease; }
.contact-form select option { color:#16121b; }
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { border-color:var(--pink-bright); background:rgba(255,255,255,.11); }
.honeypot { display:none; }
.form-errors { padding:10px 12px; border-radius:9px; color:#ffd2e6; border:1px solid rgba(243,41,145,.5); background:rgba(198,0,104,.14); font-size:13px; }
.form-success { margin-bottom:16px; padding:12px 14px; border-radius:10px; color:#d6fff5; border:1px solid rgba(24,215,220,.44); background:rgba(24,215,220,.12); }

.page-hero { position:relative; overflow:hidden; padding:132px 0 100px; border-bottom:1px solid var(--line); background:linear-gradient(140deg,#11111c 0%,#080a12 72%); }
.page-hero::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 10%,rgba(243,41,145,.16),transparent 33%),radial-gradient(circle at 16% 75%,rgba(24,215,220,.10),transparent 30%); pointer-events:none; }
.page-hero .site-shell { position:relative; z-index:2; max-width:900px; }
.page-hero h1 { max-width:820px; margin:16px 0 18px; font-size:clamp(46px,5vw,74px); font-weight:800; }
.page-hero p { max-width:700px; color:var(--muted-strong); font-size:20px; }
.page-hero-orb { position:absolute; right:7%; top:13%; width:280px; height:280px; border-radius:50%; border:1px solid rgba(243,41,145,.25); box-shadow:0 0 0 45px rgba(243,41,145,.035),0 0 0 86px rgba(24,215,220,.025); }
.content-shell { max-width:960px; }
.prose-block,.story-card,.values-wrap { margin-bottom:72px; }
.prose-block h2,.story-card h2,.values-wrap h2,.mission-card h2 { margin:15px 0 18px; font-size:clamp(32px,3.2vw,48px); }
.prose-block p,.story-card p,.mission-card p { max-width:850px; color:var(--muted-strong); font-size:18px; line-height:1.8; }
.story-card { padding:40px; border:1px solid rgba(255,255,255,.12); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.015)); }
.mission-card { padding:46px; border-radius:26px; background:linear-gradient(125deg,rgba(198,0,104,.3),rgba(24,215,220,.16)); border:1px solid rgba(243,41,145,.3); }
.mission-card p { color:#f5e9f1; }
.mission-card .button { margin-top:14px; background:#fff; color:#7c0040; box-shadow:none; }

.service-page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.service-detail-card { display:grid; grid-template-columns:auto 1fr; gap:20px; padding:30px; border:1px solid var(--line); border-radius:20px; background:#11131d; scroll-margin-top:100px; }
.service-detail-card h2 { margin:1px 0 10px; font-size:25px; }
.service-detail-card p { color:var(--muted); }
.service-detail-card .service-intro { color:#fff; font-weight:600; }
.service-detail-card ul { padding:0; margin:20px 0 0; list-style:none; }
.service-detail-card li { position:relative; padding-left:23px; margin:9px 0; color:#d9dbe2; font-size:14px; }
.service-detail-card li::before { content:"✓"; position:absolute; left:0; color:var(--pink-bright); font-weight:800; }
.cta-strip { padding:74px 0; background:linear-gradient(110deg,#320037,#0b1424); }
.cta-strip-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.cta-strip h2 { max-width:700px; margin:12px 0 0; font-size:clamp(30px,3.5vw,47px); }

.team-page-grid { display:grid; gap:40px; }
.team-detail-card { display:grid; grid-template-columns: minmax(260px,.6fr) 1fr; gap:42px; align-items:center; padding:0 0 40px; border-bottom:1px solid var(--line); }
.team-detail-card:last-child { border-bottom:0; padding-bottom:0; }
.team-detail-photo { height:390px; display:grid; place-items:center; overflow:hidden; border-radius:24px; background:linear-gradient(145deg,#222432,#11131d); }
.team-detail-photo img { width:100%; height:100%; object-fit:cover; }
.team-detail-photo span { font-family:'Manrope'; font-size:80px; font-weight:800; }
.team-detail-content h2 { margin:12px 0 17px; font-size:clamp(32px,3.2vw,46px); }
.team-detail-content p { color:var(--muted-strong); font-size:17px; line-height:1.8; }
.skill-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:23px; }
.skill-list span { padding:7px 11px; border:1px solid rgba(243,41,145,.35); border-radius:999px; color:#f9b7d8; background:rgba(198,0,104,.15); font-size:12px; font-weight:700; }

.site-footer { position:relative; overflow:hidden; padding:74px 0 28px; border-top:1px solid var(--line); background:#07080d; }
.footer-glow { position:absolute; width:420px; height:210px; left:50%; bottom:-170px; transform:translateX(-50%); border-radius:50%; background:rgba(198,0,104,.32); filter:blur(60px); }
.footer-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.4fr .7fr 1fr; gap:56px; }
.footer-logo { width:170px; height:64px; object-fit:contain; object-position:left center; margin-bottom:17px; }
.footer-grid h2 { margin:0 0 17px; font-size:16px; letter-spacing:0; }
.footer-grid p,.footer-grid a { display:block; margin:0 0 9px; color:#9fa2ad; font-size:14px; }
.footer-grid a:hover { color:var(--pink-bright); }
.footer-bottom { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:54px; padding-top:24px; border-top:1px solid var(--line); }
.footer-bottom p { margin:0; color:#777b87; font-size:12px; }
.socials { display:flex; flex-wrap:wrap; gap:13px; }
.socials a { color:#b4b6c1; font-size:12px; font-weight:700; }
.socials a:hover { color:var(--cyan); }

@media(max-width: 960px) {
    .hero-content { grid-template-columns:1fr; gap:46px; padding-top:82px; }
    .hero-brand-card { min-height:250px; max-width:620px; }
    .hero-brand-card img { max-height:125px; }
    .highlight-grid,.service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .contact-grid { grid-template-columns:1fr; gap:38px; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .footer-grid > :first-child { grid-column:1/-1; }
}
@media(max-width: 720px) {
    .site-shell { width:min(100% - 34px,1180px); }
    .header-inner { min-height:70px; }
    .brand { width:138px; }
    .brand img { height:38px; }
    .menu-toggle { display:block; }
    .site-nav { position:absolute; top:70px; left:17px; right:17px; display:none; flex-direction:column; align-items:stretch; gap:2px; padding:14px; border:1px solid var(--line); border-radius:16px; background:#141520; box-shadow:var(--shadow); }
    .site-nav.is-open { display:flex; }
    .site-nav a:not(.nav-cta) { padding:12px; border-radius:9px; }
    .site-nav a:not(.nav-cta):hover { background:rgba(255,255,255,.05); }
    .site-nav a:not(.nav-cta)::after { display:none; }
    .nav-cta { margin-top:6px; text-align:center; }
    .hero-section { min-height:auto; }
    .hero-content { padding:76px 0 90px; }
    .hero-copy h1 { font-size:45px; }
    .hero-copy p { font-size:17px; }
    .hero-brand-card { min-height:205px; padding:30px; }
    .brand-ring { width:164px; height:164px; }
    .brand-card-caption { bottom:20px; font-size:9px; }
    .section { padding:76px 0; }
    .section-heading { margin-bottom:35px; }
    .section-heading h2 { font-size:38px; }
    .section-heading p,.about-intro p { font-size:16px; }
    .highlight-grid,.service-grid,.product-grid,.team-grid,.client-grid,.service-page-grid { grid-template-columns:1fr; }
    .highlight-card,.service-card,.product-card { min-height:0; }
    .stats-grid { grid-template-columns:1fr; gap:26px; margin-top:46px; padding-top:42px; }
    .stats-grid strong { font-size:42px; }
    .form-row { grid-template-columns:1fr; }
    .contact-form-wrap { padding:20px; }
    .contact-copy h2 { font-size:42px; }
    .page-hero { padding:94px 0 73px; }
    .page-hero h1 { font-size:44px; }
    .story-card,.mission-card { padding:28px; }
    .team-detail-card { grid-template-columns:1fr; gap:25px; }
    .team-detail-photo { height:330px; }
    .cta-strip-inner,.footer-bottom { align-items:flex-start; flex-direction:column; }
    .footer-grid { grid-template-columns:1fr; gap:32px; }
    .footer-grid > :first-child { grid-column:auto; }
}
