/* Planet monogram: WMM inside a compact orbital mark. */
.brand-logo{display:block;width:190px;height:74px;object-fit:contain;object-position:left center}
.site-header .brand-logo{width:132px;height:80px}
.auth-panel .brand-logo{width:175px;height:116px}
.dashboard-nav .brand-logo{width:128px;height:78px}
.footer-inner .brand-logo{width:140px;height:86px}
.footer-inner .brand-logo{filter:brightness(0) invert(1)}
.footer-inner p{font-size:15px}
.brand-mark{width:32px;height:32px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#315e4d 0 18%,#173d30 55%,#0e241d 100%);border:1px solid #2b634d;border-radius:50%;overflow:visible;transform:none;box-shadow:0 0 0 2px rgba(217,255,67,.18)}
.brand-mark b{position:relative;z-index:2;color:#f6fff5;font-size:7px;letter-spacing:-.5px;font-weight:800;line-height:1;transform:none}
.brand-mark i{position:absolute;display:block;background:none!important;border:1.5px solid var(--lime);border-radius:50%;transform:rotate(-26deg);width:43px;height:14px;left:-6px;top:8px;opacity:.95}
.brand-mark i:last-child{width:14px;height:43px;left:8px;top:-6px;border-color:var(--orange);transform:rotate(26deg);opacity:.9}
.brand-light .brand-mark{background:radial-gradient(circle at 35% 30%,#315e4d 0 18%,#173d30 55%,#0e241d 100%);border-color:#2b634d;box-shadow:0 0 0 2px rgba(217,255,67,.18)}
.brand-light .brand-mark b{color:#f6fff5}
@media(max-width:720px){.site-header .brand-logo{width:126px;height:72px}.dashboard-nav .brand-logo{width:116px;height:68px}}

/* Monochrome typography and softer account controls. */
body{color:#111;background:#fff}
body a,body h1,body h2,body h3,body strong,body .brand,body .phone{color:#111}
.section-kicker,.eyebrow,.auth-kicker,.hero-proof span,.section-heading>p,.hero-copy>p,.product-title span,.product-meta,.sort,.catalog-cta p,.benefit-grid p,.process-intro>p,.steps p,.contact p,.footer-inner p,.auth-panel>p,.auth-panel>small,.dashboard-main header small,.dash-user small,.dash-stats small,.task small,.team small{color:#555}
.hero h1 em,.section-heading h2 em,.process h2 em{color:#111}
.button-accent{color:#111}
.account-button{border-radius:999px;padding-left:23px;padding-right:23px}
.auth-panel{border-radius:26px 0 0 26px}
.auth-panel input:not([type=checkbox]){border-radius:12px}
.auth-panel .button{border-radius:999px}
.dashboard-nav{color:#fff}

/* The process section follows the requested black-and-white treatment. */
.process{background:#fff;color:#111}
.process .section-kicker,.steps article>span{color:#111}
.process h2 em{color:#111}
.process-intro>p,.steps p{color:#555}
.steps article{border-bottom-color:#d8d8d8}
.process .button-light{background:#111;color:#fff}

/* Crisp black rules separate the main page objects. */
main>section{border-bottom:1px solid #111}
.hero{border-bottom-color:#111}
.catalog,.benefits{border-bottom-color:#111}
.process{border-top:1px solid #111;border-bottom-color:#111}
.contact{border-bottom:1px solid #111}
.contact{background:#fff;color:#111}
.contact .section-kicker,.contact h2,.contact p,.contact label>span{color:#111}
.contact p{color:#555}
.contact input{color:#111;border-bottom-color:#111}
.contact .button-accent{border-radius:999px}
.contact .button-accent{background:#111;color:#fff}
.hero .button-accent{background:#111;color:#fff;border-radius:999px}
.hero h1,.hero h1 em{font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:800;color:#111}
.hero h1{font-size:54px}
.hero .eyebrow>span{background:#111}
@media(max-width:720px){.hero h1{font-size:40px}}
.site-header .phone{font-size:15px;transform:translateX(-14px)}
.social-links{display:flex;align-items:center;gap:8px;margin-left:2px}
.social-link{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;box-shadow:0 4px 10px rgba(17,20,21,.14);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}
.social-link svg{width:19px;height:19px;display:block;fill:currentColor}
.social-telegram{background:#229ed9}
.social-max{background:linear-gradient(145deg,#4d46ff 0%,#9c50f5 52%,#ff638d 100%);border-radius:11px}
.social-max svg{width:21px;height:21px}
.social-vk{background:#0077ff}
.social-link:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(17,20,21,.24)}
@media(max-width:720px){.header-actions{display:none}}
.site-header .main-nav{font-size:15px}
.badge-launch .check{background:#111;color:#fff}
.badge-launch{padding:16px 20px;gap:12px;border-radius:18px!important}
.badge-launch{bottom:8px}
.badge-launch .check{width:31px;height:31px;font-size:16px}
.badge-launch strong{font-size:13px}
.badge-launch small{font-size:9px}
.stats-strip{border-top-color:#111}
.product-card,.dash-columns>section,.dash-stats article{border-color:#111}

/* Portfolio gallery — dark, screenshot-led cards based on the supplied reference. */
.catalog{background:#111417;color:#fff}
.catalog .section-kicker,.catalog .section-heading h2,.catalog .section-heading h2 em{color:#fff}
.catalog .section-heading h2,.catalog .section-heading h2 em{font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:800}
.catalog .section-heading h2{font-size:36px}
.catalog .section-heading>p{color:#aaa}
.catalog-toolbar{border-top:1px solid #35393d;padding-top:24px}
.catalog .filter{background:#1c2023;border-color:#41464a;color:#fff}
.catalog .filter span{color:#aaa}
.catalog .filter.active{background:#fff;border-color:#fff;color:#111}
.catalog .sort,.catalog .sort select{color:#ddd}
.catalog .sort select option{color:#111}
.catalog .product-grid{gap:28px}
.catalog .product-card{background:#1c1f22;border:1px solid #34383b;border-radius:16px;box-shadow:none;overflow:hidden}
.catalog .product-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.28);border-color:#666}
.catalog .preview{height:255px;padding:0;background:#eee}
.catalog .site-frame{display:none}
.catalog [data-project="jewelry"] .preview{background:url('project-jewelry.png') center/cover no-repeat}
.catalog [data-project="masterjack"] .preview{background:url('project-masterjack.png') center/cover no-repeat}
.catalog [data-project="flowerssuper"] .preview{background:url('project-flowerssuper.jpg') center/cover no-repeat}
.catalog [data-project="massage365"] .preview{background:url('project-massage365.jpg') left center/cover no-repeat}
.catalog [data-project="mores"] .preview{background:url('project-mores.png') center/cover no-repeat}
.catalog [data-project="trainterminal"] .preview{background:url('project-trainterminal.png') center/cover no-repeat}
.catalog [data-project="tutors365"] .preview{background:url('project-tutors365.png') center/cover no-repeat}
.catalog [data-project="kraftblock"] .preview{background:url('project-kraftblock.png') center/cover no-repeat}
.catalog [data-project="domline"] .preview{background:url('project-domline.png') center/cover no-repeat}
#productGrid > .product-card{display:block}
#productGrid > .product-card[hidden]{display:none}
.catalog #showAll[hidden]{display:none}
.catalog .site-frame{box-shadow:none}
.catalog .favorite{top:14px;right:14px;background:#fff;color:#111}
.catalog .preview-tag{top:14px;left:14px}
.catalog .product-info{min-height:108px;padding:20px 18px 22px;background:#1c1f22}
.catalog .product-title{display:block}
.catalog .product-title h3{color:#fff;font-size:17px;line-height:1.35;margin:0 0 7px}
.catalog .project-link{display:inline-block;color:#75b8ff;text-decoration:underline;text-underline-offset:3px;font-size:13px}
.catalog .catalog-cta .button{background:#fff;color:#111;border-color:#fff;border-radius:999px}
.catalog .catalog-cta p{color:#aaa}
.catalog .catalog-cta p a{color:#fff}
.catalog .catalog-cta{margin-top:78px}
.catalog .catalog-cta p a{margin-left:14px}
.catalog .catalog-cta p{margin-top:30px}
.steps article{position:relative;border-radius:10px;padding-left:14px;padding-right:14px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.steps article:hover{transform:translateY(-6px);background:#f7f7f7;box-shadow:0 14px 28px rgba(0,0,0,.12);z-index:1}
.benefit-grid article{position:relative;border-radius:10px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.benefit-grid article:hover{transform:translateY(-6px);background:#f7f7f7;box-shadow:0 14px 28px rgba(0,0,0,.12);z-index:1}
.benefit-grid article:first-child{padding-left:0}
.contact h2{font-size:32px}
.process h2,.process h2 em{font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:800}
.process h2{font-size:38px}
.benefits .section-heading h2,.benefits .section-heading h2 em{font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:800}
.benefits .section-heading h2{font-size:36px}
.benefit-grid article>span{font-size:34px;color:#111}
.benefit-grid article:nth-child(2)>span.bolt-icon{display:inline-block;width:24px;font-family:'Segoe UI Symbol','Arial Unicode MS',sans-serif;font-size:32px;font-weight:700;line-height:1;letter-spacing:-5px;transform:none;color:#111!important}
@media(max-width:720px){.catalog .preview{height:235px}.catalog .product-info{min-height:96px}.catalog .product-title h3{font-size:16px}}


/* Social icons supplied by WebMasMedia. */
.social-link { border-radius: 50%; }
.social-link svg { opacity: 0; }

/* Larger rendering keeps the supplied marks legible in the header. */
.social-link {
  width: 42px;
  height: 42px;
  filter: contrast(1.12) brightness(1.06);
}
@media (max-width: 720px) {
  .social-link { width: 34px; height: 34px; }
}


/* Individual 42px social icons supplied for the site. */
.social-link {
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  filter: none;
}
.social-link[href*="t.me"] { background-image: url("telegram_42x42.png"); }
.social-link.social-max { background-image: url("max_42x42.png"); }
.social-link[href*="vk.com"],
.social-link[href*="vk.ru"] { background-image: url("vk_42x42.png"); }

/* Reset the previous sprite offsets for individual icon files. */
.social-link[href*="t.me"],
.social-link.social-max,
.social-link[href*="vk.com"],
.social-link[href*="vk.ru"] { background-position: center; }


/* High-contrast footer text. */
.footer-inner p { color: #fff !important; font-weight: 700; margin-left: 48px; }


/* Supplied WebMasMedia office photo for the first-screen visual. */
.hero-showcase {
  min-height: 475px;
  background: #111 url("webmasmedia-hero-best-lossless-20261003.webp") center center / cover no-repeat;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 11px -15px rgba(0, 0, 0, .82), 0 9px 7px -9px rgba(0, 0, 0, .42);
}
.hero-showcase > * { display: none !important; }
@media (max-width: 720px) {
  .hero-showcase { min-height: 300px; border-radius: 18px; }
}


/* Clickable area over the project-discussion button in the hero image. */
.hero-showcase > .hero-project-cta {
  display: block !important;
  position: absolute;
  z-index: 10;
  right: 2.5%;
  bottom: 4%;
  width: 35%;
  height: 14%;
  border-radius: 999px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.hero-showcase > .hero-project-cta:focus-visible {
  outline: 3px solid #16a6ff;
  outline-offset: 3px;
}

/* Subtle animated ambience for the hero section. */
.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #fbfcfb;
}
.hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -30%;
  pointer-events: none;
  background: radial-gradient(circle at 22% 30%, rgba(180, 225, 205, .36), transparent 27%), radial-gradient(circle at 78% 22%, rgba(198, 220, 248, .34), transparent 30%), radial-gradient(circle at 58% 80%, rgba(255, 223, 182, .26), transparent 27%);
  filter: blur(10px);
  animation: heroAmbientFlow 18s ease-in-out infinite alternate;
}
.hero > .container { position: relative; z-index: 1; }
@keyframes heroAmbientFlow {
  from { transform: translate3d(-3%, -2%, 0) scale(1); }
  to { transform: translate3d(4%, 3%, 0) scale(1.08); }
}
@media (prefers-reduced-motion: reduce) {
  .hero::before { animation: none; }
}
/* Stronger visible animated background. */
.hero { background: linear-gradient(125deg, #e7f7ff 0%, #fff9ed 48%, #e9fff4 100%); }
.hero::before {
  inset: -15%;
  opacity: 1;
  filter: blur(18px);
  background: radial-gradient(circle at 12% 25%, rgba(63, 174, 255, .48), transparent 26%), radial-gradient(circle at 83% 18%, rgba(100, 218, 180, .42), transparent 30%), radial-gradient(circle at 55% 82%, rgba(255, 183, 100, .38), transparent 28%);
  animation: heroAmbientFlowStrong 11s ease-in-out infinite alternate;
}
.hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,.38), transparent 42%, rgba(255,255,255,.22));
  animation: heroAmbientPulse 6s ease-in-out infinite alternate;
}
@keyframes heroAmbientFlowStrong {
  from { transform: translate3d(-7%, -5%, 0) scale(1); }
  to { transform: translate3d(9%, 6%, 0) scale(1.12); }
}
@keyframes heroAmbientPulse { from { opacity: .25; } to { opacity: .8; } }
@media (prefers-reduced-motion: reduce) { .hero::before, .hero::after { animation: none; } }

/* Animated dotted background for the first screen. */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #111415;
  color: #f7f9fb;
}
.hero::before {
  content: "";
  position: absolute;
  inset: -35px;
  z-index: 0;
  pointer-events: none;
  opacity: .8;
  filter: none;
  background-image: radial-gradient(circle, rgba(255,255,255,.52) 1px, transparent 1.35px);
  background-size: 19px 19px;
  animation: heroDotField 14s linear infinite;
}
.hero::after {
  content: "";
  position: absolute;
  inset: -25%;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle at 20% 35%, rgba(67,174,255,.2), transparent 31%), radial-gradient(circle at 78% 62%, rgba(123,255,201,.14), transparent 28%);
  filter: blur(22px);
  animation: heroLightDrift 12s ease-in-out infinite alternate;
}
.hero > .container { position: relative; z-index: 1; }
.hero .eyebrow, .hero h1, .hero h1 em, .hero .hero-copy > p, .hero .hero-proof, .hero .hero-proof span, .hero .stats-strip, .hero .stats-strip strong, .hero .stats-strip span { color: #f7f9fb; }
.hero .hero-copy > p, .hero .hero-proof span, .hero .stats-strip span { color: rgba(247,249,251,.72); }
.hero .stats-strip { border-color: rgba(255,255,255,.2); }
@keyframes heroDotField { from { background-position: 0 0; } to { background-position: 57px 38px; } }
@keyframes heroLightDrift { from { transform: translate3d(-4%, -3%, 0) scale(1); opacity: .5; } to { transform: translate3d(5%, 4%, 0) scale(1.1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .hero::before, .hero::after { animation: none; } }


/* Animated hexagonal background from the supplied reference video. */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #eaf4f6 url("hero-hex-background-poster.jpg") center / cover no-repeat;
  color: #111;
}
.hero-background-video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}
.hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  opacity: 1;
  filter: none;
  transform: none;
  background: linear-gradient(90deg, rgba(248, 251, 252, .82) 0%, rgba(248, 251, 252, .60) 42%, rgba(248, 251, 252, .18) 100%);
  animation: none;
}
.hero::after { content: none; animation: none; }
.hero > .container { position: relative; z-index: 2; }
.hero .eyebrow, .hero h1, .hero h1 em, .hero .hero-copy > p, .hero .hero-proof, .hero .hero-proof span, .hero .stats-strip, .hero .stats-strip strong, .hero .stats-strip span { color: #111; }
.hero .hero-copy > p, .hero .hero-proof span, .hero .stats-strip span { color: #505862; }
.hero .stats-strip { border-color: rgba(17,17,17,.22); }
@media (max-width:720px) {
  .hero-background-video { object-position: 54% center; }
  .hero::before { background: linear-gradient(180deg, rgba(248, 251, 252, .86), rgba(248, 251, 252, .48)); }
}


/* Animated Matrix-style footer background. */
footer {
      position: relative;
        isolation: isolate;
          overflow: hidden;
            background: #020604;
              color: #f3fff7;
}
footer::before {
      content: "01アカサタナハマヤラワ0123456789\A 7キクケコシスセソチツテトニヌネノヒフヘホミムメモ0123\A カナ0123456789アカサタナハマヤラワ56789\A 0101キクケコシスセソチツテトニヌネノヒフヘホミムメモ\A 8アカサタナハマヤラワ0123456789キクケコシスセソ";
        position: absolute;
          z-index: -1;
            inset: -90% -12% auto;
              height: 310%;
                padding: 0 4%;
                  color: #26f47b;
                    font: 700 16px/.92 ui-monospace, SFMono-Regular, Menlo, monospace;
                      letter-spacing: .5em;
                        word-spacing: .3em;
                          white-space: pre-wrap;
                            overflow: hidden;
                              opacity: .42;
                                text-shadow: 0 0 7px rgba(38,244,123,.78), 0 0 20px rgba(38,244,123,.35);
                                  transform: skewX(-3deg);
                                    animation: matrixFooterFall 18s linear infinite;
}
footer::after {
      content: "";
        position: absolute;
          z-index: -1;
            inset: 0;
              background: linear-gradient(90deg, rgba(2,6,4,.87), rgba(2,6,4,.52) 52%, rgba(2,6,4,.84)), linear-gradient(180deg, rgba(2,6,4,.1), rgba(2,6,4,.6));
                pointer-events: none;
}
footer .footer-inner { position: relative; z-index: 1; }
footer .footer-inner p,
footer .footer-inner a { color: #f3fff7; }
footer .footer-inner p { opacity: .78; }
@keyframes matrixFooterFall {
      from { transform: translate3d(0,-4%,0) skewX(-3deg); }
        to { transform: translate3d(-2%,30%,0) skewX(-3deg); }
}
@media (max-width:720px) {
      footer::before { font-size: 12px; letter-spacing: .32em; opacity: .28; animation-duration: 24s; }
}
@media (prefers-reduced-motion: reduce) {
      footer::before { animation: none; }
}

}
}
}
}
}
}

/* Make the Matrix animation visible above the footer background. */
footer::before,
footer::after { z-index: 0; }
footer .footer-inner { z-index: 1; }

@media (min-width:721px){.benefits .container{transform:translateX(24px)}}
@media (min-width:721px){.benefit-grid article:first-child{margin-left:0;padding-left:35px}}
@media (max-width:720px){.hero-showcase{min-height:0;height:auto;aspect-ratio:1426 / 1100;background-size:100% 100%;background-position:center}}
@media (max-width:720px){.hero-showcase{margin-top:22px}}
@media (max-width:720px){.filters{padding-bottom:18px}}
@media (max-width:720px){.footer-inner p{margin-left:0;text-align:center;width:100%}}

/* Contacts and self-employed payment details. */
.legal-contact{padding:82px 0;background:#f7f8f7;border-top:1px solid #dfe3e1}
.legal-contact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.legal-contact h2{margin:15px 0 18px;font:800 42px/1.08 Manrope,Arial,sans-serif;color:#111}
.legal-contact h2 em{font-style:normal;color:#111}
.legal-contact-copy>p{max-width:490px;margin:0;color:#555;font-size:15px;line-height:1.7}
.legal-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:27px}
.legal-links a{font-weight:800;color:#111;border-bottom:1px solid #111;padding-bottom:3px}
.legal-card{padding:34px 36px;background:#fff;border:1px solid #dfe3e1;border-radius:18px;box-shadow:0 16px 34px rgba(0,0,0,.07)}
.legal-status{display:inline-block;padding:7px 12px;border-radius:999px;background:#111;color:#fff;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}
.legal-details{display:grid;gap:20px;margin:27px 0 26px}
.legal-details div{display:grid;gap:5px}
.legal-details dt{font-size:11px;color:#6b7370}
.legal-details dd{margin:0;color:#111;font-size:17px;font-weight:800}
.receipt-note{display:flex;align-items:flex-start;gap:12px;padding-top:20px;border-top:1px solid #e2e5e3}
.receipt-note>span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#111;color:#fff;font-weight:800;font-size:13px}
.receipt-note p{margin:1px 0 0;color:#444;font-size:13px;line-height:1.55}
@media(max-width:720px){.legal-contact{padding:58px 0}.legal-contact-inner{grid-template-columns:1fr;gap:32px}.legal-contact h2{font-size:32px}.legal-card{padding:27px 23px}.legal-details dd{font-size:16px}.legal-links{flex-direction:column;align-items:flex-start;gap:14px}}

/* Personal-data consent in the inquiry form. */
.privacy-consent{grid-column:1 / -1;display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.privacy-consent input{width:17px;height:17px;flex:0 0 17px;margin:2px 0 0;accent-color:#111}
.contact .privacy-consent span{color:#555;font-size:11px;line-height:1.5}
.privacy-link{text-decoration:underline;text-underline-offset:3px}
.contact .privacy-link{grid-column:1 / -1;font-size:12px;width:fit-content;padding:8px 0;min-height:36px}
.sort select:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.footer-inner>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-inner>div a{white-space:nowrap}
@media(max-width:720px){.footer-inner>div{align-items:center}}

/* Office location immediately above the footer. */
.office-map{padding:54px 0 72px;background:#f7f8f7;border-top:1px solid #e1e4e2}
.office-map-heading{margin-bottom:32px}
.office-map-heading .section-kicker,.office-map-heading h2{color:#111}
.office-map-heading h2{margin:15px 0 0;font:800 32px/1.12 Manrope,Arial,sans-serif;letter-spacing:0}
.office-map-frame{overflow:hidden;border:1px solid #dce0de;border-radius:22px;box-shadow:0 18px 42px rgba(0,0,0,.1);background:#e9ecea}
.office-map-frame iframe{display:block;width:100%;height:470px;border:0}
@media(max-width:720px){.office-map{padding-top:60px}.office-map-heading{margin-bottom:25px}.office-map-heading h2{font-size:30px}.office-map-frame{border-radius:17px}.office-map-frame iframe{height:340px}}

/* The WebMasMedia team. Portraits are illustrative fictional people. */
.team-section{padding:100px 0;border-top:0;border-bottom:1px solid #111;background:#fff;color:#111}
.team-heading{margin-bottom:42px}.team-heading .section-kicker,.team-heading h2{color:#111}.team-heading h2{font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:800}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.team-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #dfe3e1;border-radius:14px;background:#fff;box-shadow:0 14px 30px rgba(17,20,19,.08);transition:transform .25s ease,box-shadow .25s ease}
.team-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(17,20,19,.14)}
.team-card img{display:block;width:100%;height:350px;object-fit:cover;object-position:center 22%;background:#1a1d1c}
.team-card:nth-child(2) img{object-position:center 18%}
.team-card:nth-child(3) img{object-position:center 8%}
.team-card>div{display:flex;flex:1;flex-direction:column;padding:23px 24px 25px}.team-card span{display:block;margin-bottom:10px;color:#555;text-transform:uppercase;letter-spacing:1.35px;font-size:10px;font-weight:800}.team-card h3{margin:0;font:800 21px/1.2 Manrope,Arial,sans-serif;color:#111}.team-card p{margin:12px 0 0;color:#555;font-size:13px;line-height:1.65}
.team-card .social-links{margin:18px 0 0;gap:9px}.team-card>div>.social-links{margin-top:auto;padding-top:18px}
@media(max-width:720px){.team-section{padding:70px 0}.team-heading{margin-bottom:30px}.team-grid{grid-template-columns:1fr;gap:18px}.team-card img{height:385px}.team-card>div{padding:21px}.team-card h3{font-size:20px}}

/* First-visit personal-data notice. */
.privacy-notice{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(10,13,12,.72);backdrop-filter:blur(7px)}
.privacy-notice[hidden]{display:none}
.privacy-notice-card{width:min(100%,560px);padding:36px 38px;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.privacy-notice-card h2{margin:14px 0 13px;color:#111;font:800 32px/1.1 Manrope,Arial,sans-serif}
.privacy-notice-card p{margin:0;color:#444;font-size:14px;line-height:1.6}
.privacy-notice-card ul{display:grid;gap:10px;margin:21px 0 27px;padding:0;list-style:none}
.privacy-notice-card li{position:relative;padding-left:20px;color:#333;font-size:13px;line-height:1.5}
.privacy-notice-card li::before{content:'✓';position:absolute;left:0;color:#111;font-weight:800}
.privacy-notice-card .button{min-width:145px}
body.privacy-notice-open{overflow:hidden}
@media(max-width:720px){.privacy-notice{align-items:end;padding:14px}.privacy-notice-card{padding:28px 23px;border-radius:18px}.privacy-notice-card h2{font-size:27px}}

/* Main section headings use Comfortaa Regular. */
.hero h1,
.hero h1 em,
.section-heading h2,
.section-heading h2 em,
.catalog .section-heading h2,
.catalog .section-heading h2 em,
.benefits .section-heading h2,
.benefits .section-heading h2 em,
.team-heading h2,
.process h2,
.process h2 em,
.contact h2,
.office-map-heading h2,
.legal-contact h2,
.legal-contact h2 em{
  font-family:'Comfortaa',Manrope,Arial,sans-serif;
  font-style:normal;
  font-weight:400;
}

/* Keep every main section title at one compact size. */
.section-heading h2,
.catalog .section-heading h2,
.benefits .section-heading h2,
.team-heading h2,
.process h2,
.contact h2,
.office-map-heading h2,
.legal-contact h2{
  font-size:32px;
  line-height:1.15;
}

@media(max-width:720px){
  .section-heading h2,
  .catalog .section-heading h2,
  .benefits .section-heading h2,
  .team-heading h2,
  .process h2,
  .contact h2,
  .office-map-heading h2,
  .legal-contact h2{
    font-size:28px;
  }
}

/* Short lead-in rule for every section kicker. */
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.section-kicker::before{
  content:"";
  display:block;
  width:22px;
  height:2px;
  flex:0 0 22px;
  background:currentColor;
}

/* Match the contact section height to the other main sections. */
.contact{padding:100px 0}
.contact-inner>div:first-child{align-self:start}
@media(max-width:720px){.contact{padding:70px 0}}

/* High-resolution monochrome particle video for the portfolio section. */
.catalog{position:relative;isolation:isolate;overflow:hidden;background:#080909}
.catalog>.catalog-background-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:.94;filter:grayscale(1) contrast(1.28) brightness(.84);pointer-events:none}
.catalog::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(3,4,4,.38);pointer-events:none}
.catalog>.container{position:relative;z-index:2}

/* Raised rectangular navigation, including the office map anchor. */
.site-header .main-nav{gap:9px;padding:0;background:transparent;border:0;box-shadow:none;font-size:13px}
.site-header .main-nav a,.site-header .main-nav button{padding:11px 14px;background:#fff;border:1px solid #dfe4e1;border-radius:7px;box-shadow:0 4px 0 #e6eae7,0 8px 16px rgba(17,20,19,.08);line-height:1;white-space:nowrap;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.site-header .main-nav button{color:#111;font-weight:inherit;cursor:pointer}
.site-header .main-nav a:hover,.site-header .main-nav a:focus-visible,.site-header .main-nav button:hover,.site-header .main-nav button:focus-visible{color:#111;background:#f0f3f1;transform:translateY(-1px);box-shadow:0 5px 0 #d9dfdb,0 11px 19px rgba(17,20,19,.12);outline:none}

/* Plain white background for the first screen. */
.hero{background:#fff}
.hero>.hero-background-video{display:none}
.hero::before,.hero::after{content:none;animation:none}
.hero-grid{transform:translateY(-28px)}
@media(max-width:1000px){.hero-grid{transform:none}}
.site-header .main-nav a:active,.site-header .main-nav button:active{transform:translateY(3px);box-shadow:0 1px 0 #d9dfdb,0 3px 7px rgba(17,20,19,.1)}

/* Mobile navigation remains available through the tablet breakpoint. */
.menu-toggle{width:44px;height:44px;cursor:pointer}
.catalog .favorite{width:44px;height:44px;display:grid;place-items:center}
main > section[id]{scroll-margin-top:96px}

/* Hide the header phone on tablet-sized screens, including iPad landscape. */
@media(max-width:1180px){.site-header .phone{display:none}}

/* Keep the complete hero image visible on iPad and other tablets. */
@media(min-width:721px) and (max-width:1180px){
  .hero-grid{grid-template-columns:1fr;transform:none;padding-top:22px;padding-bottom:48px}
  .hero-copy{text-align:center}
  .hero .eyebrow,.hero .hero-actions,.hero .hero-proof{justify-content:center}
  .hero h1,.hero .hero-copy>p{margin-left:auto;margin-right:auto}
  .hero-showcase{width:min(100%,650px);height:auto;min-height:0;aspect-ratio:1426 / 1100;margin:38px auto 0;background-size:100% 100%;background-position:center}
}

/* Center hero statistics in iPad portrait orientation. */
@media(min-width:721px) and (max-width:900px){
  .hero .stats-strip>div{align-items:center;justify-content:center;text-align:center;min-width:0}
  .hero .stats-strip .stat-scale{width:100%;flex-direction:column;align-items:center;justify-content:center;gap:4px}
  .hero .stats-strip .stat-scale strong,.hero .stats-strip .stat-scale span{display:block;width:100%;text-align:center}
}
@media (max-width:1000px){
  .menu-toggle{display:block;flex-shrink:0}
  .site-header.menu-open{height:auto;max-height:100dvh;overflow-y:auto}
  .site-header.menu-open .header-inner{flex-wrap:wrap;padding:12px 0}
  .site-header.menu-open .main-nav{display:flex;order:3;width:100%;flex-direction:column;gap:9px;padding:7px 0;margin-top:6px}
  .site-header.menu-open .main-nav a{display:flex;align-items:center;min-height:44px}
}
@media (max-width:720px){
  .header-inner{gap:16px}
  main > section[id]{scroll-margin-top:80px}
  .catalog .catalog-toolbar{display:block}
  .catalog .filters{width:100%;max-width:100%}
  .catalog .favorite{top:10px;right:10px}
}
