@font-face{font-family:YekanBakh;src:url('/fonts/400-YekanBakh-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:YekanBakh;src:url('/fonts/600-YekanBakh-Bold.woff') format('woff');font-weight:600 700;font-display:swap}
@font-face{font-family:YekanBakh;src:url('/fonts/800-YekanBakh-Black.woff') format('woff');font-weight:800 900;font-display:swap}
:root{font-family:YekanBakh,Tahoma,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;direction:rtl;color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:0}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}img{display:block;max-width:100%}.container{width:min(1080px,calc(100% - 80px));margin-inline:auto}.site-header{height:86px;background:var(--bg);position:absolute;inset:0 0 auto;z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;height:100%;gap:36px}.wordmark{display:block;flex-shrink:0;line-height:0}.wordmark img{width:190px;height:auto}.nav-links{display:flex;gap:30px;align-items:center;font-size:13px;color:var(--text-2)}.nav-links a:hover,.text-link:hover{color:var(--cyan)}.nav-contact{display:flex;gap:8px;align-items:center;border:1px solid var(--line);padding:9px 17px;border-radius:5px}.menu-toggle{display:none;color:var(--cyan);border:0;background:transparent}.skip-link{position:fixed;top:-100px;right:20px;z-index:50;background:var(--cyan);padding:12px;color:var(--bg)}.skip-link:focus{top:10px}
.hero{overflow:hidden;background:var(--bg);padding-top:86px}.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;direction:rtl;align-items:center;min-height:calc(100dvh - 86px);gap:14px}.hero-copy{direction:rtl;text-align:right;padding-block:36px 55px;position:relative;z-index:1}.eyebrow{font-size:13px;color:var(--cyan);margin:0 0 18px;font-weight:600}.hero h1{font-size:46px;line-height:1.42;font-weight:900;letter-spacing:-1.1px;margin:0 0 20px}.hero h1 em{font-style:normal;color:var(--cyan)}.hero-description{font-size:16px;line-height:1.95;max-width:425px;margin:0 0 24px;color:var(--text-2)}.button{display:flex;align-items:center;justify-content:center;gap:16px;background:var(--cyan);color:var(--accent-dark);border:1px solid var(--cyan);border-radius:6px;padding:13px 22px;font-size:14px;font-weight:800;width:fit-content;min-height:48px;transition:background .2s,transform .2s}.button:hover{background:var(--accent-soft);transform:translateY(-2px)}.hero .button{width:100%;max-width:390px}.text-link{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:17px;width:fit-content;color:#d6e5eb}.hero-note{display:flex;align-items:center;gap:7px;font-size:11px;color:#9cb5c0;margin:24px 0 0}.hero-visual{align-self:end;height:clamp(400px,75dvh,780px);display:flex;align-items:flex-end;justify-content:center;direction:rtl}.hero-visual img{height:100%;width:113%;max-width:113%;object-fit:contain;object-position:center bottom;transform:scale(1.3);transform-origin:center bottom}
.section{padding:72px 0}h2{font-weight:900;font-size:29px;line-height:1.6;margin:0}h3{font-size:16px;margin:0 0 8px}.benefits{background:var(--alternate);text-align:center}.section-kicker{font-size:12px;color:var(--muted);margin:0 0 8px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:45px 0 37px}.benefit{padding:0 6px}.benefit svg{color:var(--cyan);margin-bottom:15px}.benefit p{font-size:13px;line-height:1.8;color:var(--muted);max-width:210px;margin:0 auto}.center-button{margin:0 auto;min-width:270px}.audience{background:var(--bg);text-align:center;padding-block:66px 73px}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:43px}.audience-card{border:1px solid var(--line-strong);border-radius:12px;position:relative;padding:29px 22px 22px;text-align:right;min-height:135px;box-shadow:inset 0 0 0 5px var(--bg),inset 0 0 0 6px #153748}.card-number{position:absolute;top:-23px;right:22px;background:var(--bg);padding:0 10px;color:var(--cyan);font-size:39px;line-height:1;font-weight:900}.audience-card p{font-size:14px;line-height:1.85;margin:0;color:#d8e5eb}
.about{background:var(--alternate);overflow:hidden}.about-grid{display:grid;grid-template-columns:1fr 1fr;direction:ltr;gap:50px;align-items:center;min-height:100dvh}.about-copy{direction:rtl;text-align:right;padding-block:55px;max-width:460px}.about-copy h2{margin-bottom:20px}.about-copy p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.95;margin:0 0 13px}.about-copy strong{font-weight:700;color:#edf5f8}.about-copy .eyebrow{margin-bottom:8px}.about-copy .text-link{color:var(--cyan);margin-top:24px}.about-visual{height:clamp(430px,78dvh,850px);align-self:end}.about-visual img{height:100%;width:100%;object-fit:contain;object-position:bottom;transform:scale(1.2);transform-origin:center bottom}
.contact{background:var(--bg);padding-block:78px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.contact-copy h2{font-size:33px;margin-bottom:16px}.contact-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--muted);max-width:370px}.contact-caption{display:flex;gap:12px;font-size:11px;color:#9db6c2;margin-top:29px}.contact-caption span{color:var(--cyan)}.contact-form{display:grid;gap:15px}.contact-form label{display:grid;gap:7px;font-size:12px;color:#c2d3db}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,textarea{width:100%;border:1px solid #315464;border-radius:5px;background:var(--surface-2);color:var(--text);padding:11px 13px;font-size:13px;min-width:0}input::placeholder,textarea::placeholder{color:#92aab5}textarea{resize:vertical;line-height:1.7}.contact-form .button{width:100%}.form-note{font-size:10px;color:#9bb3bf;margin:0;text-align:center}.request-result{padding:16px;border:1px solid var(--line);border-radius:6px;font-size:13px;line-height:1.8}.request-result p{margin:0 0 10px}.copy-button{display:flex;align-items:center;gap:7px;color:var(--cyan);background:transparent;border:1px solid var(--line);padding:8px 15px;border-radius:4px;margin-top:12px}.footer{background:var(--bg-deep);padding:25px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-name{font-weight:900;font-size:21px}.footer p{font-size:11px;color:#a5bbc7}.back-top{font-size:11px;display:flex;gap:6px;align-items:center;color:var(--muted)}

@media(max-width:1000px){.container{width:calc(100% - 48px)}.nav-links{gap:20px}.hero h1{font-size:37px}.hero-description{font-size:14px}.benefit-grid{gap:18px}.about-grid{gap:25px}.contact-grid{gap:35px}.about-visual{height:450px}}
@media(max-width:700px){:root{scroll-padding-top:0}.container{width:calc(100% - 40px)}.site-header{height:76px}.wordmark img{width:165px;max-width:46vw}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;right:20px;left:20px;background:#082d3d;border:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;border-radius:7px}.nav-links.is-open{display:flex}.nav-contact{justify-content:center}.hero{padding-top:76px}.hero-grid{grid-template-columns:1fr;min-height:calc(100dvh - 76px);gap:0;direction:rtl}.hero-copy{padding:30px 0 12px;text-align:center}.eyebrow{font-size:12px}.hero h1{font-size:clamp(31px,7.8vw,44px);line-height:1.45;margin-bottom:16px}.hero-description{max-width:430px;margin:0 auto 22px;font-size:14px}.hero .button{margin:auto;max-width:360px;font-size:13px}.hero .text-link,.hero-note{margin-inline:auto;justify-content:center}.hero-note{margin-top:20px;font-size:10px}.hero-visual{height:390px;width:min(460px,100%);justify-self:center;margin-top:5px}.hero-visual img{width:110%;max-width:110%;height:100%}.section{padding:49px 0}h2{font-size:24px}.section-kicker{font-size:10px}.benefit-grid{grid-template-columns:1fr 1fr;gap:32px 20px;margin:32px 0}.benefit h3{font-size:15px}.benefit p{font-size:12px}.benefit svg{width:45px;height:45px;margin-bottom:10px}.audience-grid{grid-template-columns:1fr;gap:33px;margin-top:42px}.audience-card{min-height:100px;padding:24px 22px 20px}.audience-card p{font-size:14px}.about-grid{grid-template-columns:1fr;gap:0;direction:rtl;min-height:0}.about-copy{padding:45px 0 6px;max-width:none}.about-copy h2{font-size:25px}.about-visual{height:390px;max-width:410px;width:100%;justify-self:center;margin-top:12px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-copy h2{font-size:29px}.contact-copy>p:not(.eyebrow){max-width:none}.contact-caption{margin-top:19px}.footer-inner{flex-wrap:wrap;justify-content:center;text-align:center;gap:10px 25px}.footer p{width:100%;order:3;margin:0}.footer-name{font-size:19px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Full-height sections grow naturally when content exceeds the viewport. */
.home-sections > section,
.page-sections > section {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
}
.home-sections > .about { align-items: stretch; }
.home-sections .container, .page-sections .container { min-width: 0; }
.home-sections.mj-snap-busy { overscroll-behavior-y: contain; }

/* Reveal explains the reading order; no perpetual decorative loops. */
.home-sections.js [data-mj-snap] :is(.hero-copy,.hero-visual,.about-copy,.about-visual,.contact-copy,.contact-form,.section-kicker,h2,.benefit,.audience-card) {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1);
}
.home-sections.js [data-mj-snap].is-visible :is(.hero-copy,.hero-visual,.about-copy,.about-visual,.contact-copy,.contact-form,.section-kicker,h2,.benefit,.audience-card) {
  opacity: 1;
  transform: none;
}
.home-sections .benefit:nth-child(2), .home-sections .audience-card:nth-child(2) { transition-delay: .09s; }
.home-sections .benefit:nth-child(3), .home-sections .audience-card:nth-child(3) { transition-delay: .18s; }
.home-sections .benefit:nth-child(4) { transition-delay: .27s; }
@media (hover:hover) and (pointer:fine) {
  .audience-card { transition: border-color .25s, box-shadow .25s; }
  .audience-card:hover { border-color: var(--accent-soft); box-shadow: inset 0 0 0 5px var(--bg), inset 0 0 0 6px var(--line), 0 8px 24px #0002; }
  .benefit svg { transition: transform .25s ease; }
  .benefit:hover svg { transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
  .home-sections.js [data-mj-snap] :is(.hero-copy,.hero-visual,.about-copy,.about-visual,.contact-copy,.contact-form,.section-kicker,h2,.benefit,.audience-card) { opacity: 1; transform: none; transition: none; }
}

/* Showcase entrance rhythm, on the homepage's own content. */
.home-sections.js .hero:not(.is-visible) .hero-copy > * { opacity: 0; transform: translateY(24px); }
.home-sections.js .hero.is-visible .hero-copy > * { animation: mjReveal .8s cubic-bezier(.2,.8,.2,1) both; }
.home-sections.js .hero.is-visible .hero-copy > :nth-child(2) { animation-delay: .1s; }
.home-sections.js .hero.is-visible .hero-copy > :nth-child(3) { animation-delay: .18s; }
.home-sections.js .hero.is-visible .hero-copy > :nth-child(n+4) { animation-delay: .25s; }
.home-sections.js .hero:not(.live) .hero-copy > * { animation-play-state: paused; }

@media (prefers-reduced-motion: reduce) {
 .home-sections.js .hero .hero-copy > * { opacity: 1 !important; transform: none !important; animation: none !important; }
}

/* Quiet semantic motion: flow, automated processing, reporting, configuration. */
.benefit .benefit-icon { display: block; width: 76px; height: 76px; margin: 0 auto 20px; overflow: visible; }
.home-sections .benefit .benefit-icon:hover { transform: none; }
.benefit-icon .icon-wire { stroke-dasharray: 6 8; animation: mjWire 1.6s linear infinite; }
.benefit-icon .icon-processor { animation: mjBlink 2s ease-in-out infinite; }
.benefit-icon .icon-step { animation: mjBlink 2s ease-in-out infinite; }
.benefit-icon .icon-setting { fill: var(--alternate); }
.benefit-icon .icon-bar { transform-box: fill-box; transform-origin: center bottom; }
.home-sections.js .is-visible .icon-bar { animation: mjHomeBar 4.8s cubic-bezier(.2,.8,.2,1) infinite; }
.home-sections.js .is-visible .icon-bar:nth-of-type(2) { animation-delay: .1s; }
.home-sections.js .is-visible .icon-bar:nth-of-type(3) { animation-delay: .2s; }
.home-sections.js .is-visible .icon-setting { animation: mjHomeTune 5s ease-in-out infinite; }
.icon-setting:nth-of-type(1) { --setting-start: 12px; }
.icon-setting:nth-of-type(2) { --setting-start: -12px; }
.icon-setting:nth-of-type(3) { --setting-start: 8px; }
.home-sections [data-mj-snap]:not(.live) .benefit-icon * { animation-play-state: paused !important; }
@keyframes mjHomeBar { 0%,100% { transform: scaleY(.3); } 30%,75% { transform: scaleY(1); } }
@keyframes mjHomeTune { 0%,100% { transform: translateX(var(--setting-start)); } 35%,75% { transform: none; } }
@media (max-width: 700px) {
 .benefit .benefit-icon { width: 52px; height: 52px; margin-bottom: 16px; }
 .hero h1 { font-size: clamp(31px, 8vw, 44px); }
}
@media (prefers-reduced-motion: reduce) {
 .home-sections .benefit-icon * { animation: none !important; transform: none !important; }
}

/* A small moving signal makes the hero's automation theme visible at rest. */
.hero-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.work-signal { width: 120px; height: 28px; flex: 0 0 auto; color: var(--cyan); }
.work-signal path, .work-signal circle { stroke: currentColor; stroke-width: 1.5; }
.work-signal circle { fill: var(--bg); }
.work-signal .signal-wire { opacity: .55; }
.work-signal .signal-packet { fill: currentColor; stroke: none; animation: mjHomeSignal 2.8s ease-in-out infinite; }
.home-sections [data-mj-snap]:not(.live) .signal-packet { animation-play-state: paused; }
@keyframes mjHomeSignal { 0% { transform: translateX(0); opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { transform: translateX(-96px); opacity: 0; } }
@media (max-width: 700px) { .hero-eyebrow { justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .work-signal .signal-packet { animation: none !important; } }

/* Gradient light trail: 4.5s per card, 13.5s for the three-card sequence. */
@property --audience-neon-angle { syntax: '<angle>'; inherits: true; initial-value: 0deg; }
.audience-neon {
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  opacity: 0; filter: drop-shadow(0 0 3px var(--cyan)) drop-shadow(0 0 7px var(--cyan));
  animation: mjAudienceNeon 13.5s linear infinite;
  animation-delay: var(--neon-delay, 0s);
}
.audience-neon::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 2px;
  background: conic-gradient(from calc(var(--audience-neon-angle) + var(--neon-start-angle, 65deg) + 6deg), transparent 0deg 280deg, rgba(70,204,227,.12) 300deg, var(--cyan) 338deg, #e7fbff 354deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.audience-card .card-number, .audience-card p { position: relative; z-index: 1; }
.audience-card .card-number { position: absolute; }
.home-sections .audience:not(.live) .audience-neon { animation-play-state: paused; }
@keyframes mjAudienceNeon {
  0% { opacity: 1; --audience-neon-angle: 0deg; }
  33.332% { opacity: 1; --audience-neon-angle: 360deg; }
  33.333%, 100% { opacity: 0; --audience-neon-angle: 360deg; }
}
@media (prefers-reduced-motion: reduce) { .audience-neon { display: none; } }

/* Put the logo on the left while keeping Persian navigation right-to-left. */
.nav-logo-left { flex-direction: row-reverse; }

/* Fade the grid alone, keeping text and portraits fully opaque. */
:root[data-mj-theme="home"] .home-sections.mj-root { background-image: none; }
:root[data-mj-theme="home"] body :is(.site-header, .footer),
:root[data-mj-theme="home"] body .home-sections > section { background-image: none; isolation: isolate; }
.home-sections > section, .footer { position: relative; }
:is(.site-header, .footer, .home-sections > section)::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: var(--site-grid-image);
  background-size: var(--site-grid-size) var(--site-grid-size);
  background-position: top center;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}

/* One concise entry point per service; project details belong on their own pages. */
.services { background: var(--alternate); }
.services-heading { text-align: center; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 44px; }
.service-card { display: flex; flex-direction: column; align-items: flex-start; padding: 32px 26px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.service-icon { width: 48px; height: 48px; color: var(--cyan); margin-bottom: 26px; }
.service-card h3 { font-size: 21px; line-height: 1.6; margin-bottom: 12px; }
.service-card p { color: var(--muted); font-size: 14px; line-height: 1.95; margin: 0 0 28px; }
.service-card .text-link { color: var(--cyan); margin-top: auto; padding-top: 12px; line-height: 1.9; min-height: 44px; }
.service-card .text-link svg { flex-shrink: 0; }
.service-choice { border: 0; padding: 0; margin: 0 0 5px; min-width: 0; }
.service-choice legend { padding: 0; margin-bottom: 10px; font-size: 12px; color: var(--text-2); }
.service-choice legend span { color: var(--muted); }
.service-options { display: flex; flex-wrap: wrap; gap: 8px; }
.contact-form .service-option { display: block; position: relative; cursor: pointer; }
.service-option input { position: absolute; width: 1px; height: 1px; opacity: 0; padding: 0; }
.service-option span { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 6px; min-height: 44px; padding: 8px 12px; font-size: 12px; }
.service-option input:checked + span { border-color: var(--cyan); background: var(--surface-2); color: var(--cyan); }
.service-option input:focus-visible + span { outline: 2px solid var(--cyan); outline-offset: 3px; }
.service-option input:focus-visible { outline: none; }
.hero-grid, .about-grid, .contact-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
:is(.hero-grid,.about-grid,.contact-grid,.benefit-grid,.audience-grid,.form-row) > * { min-width: 0; }
.hero-note { line-height: 1.9; }

/* At 1440px retain the approved composition; scale the complete composition on
   larger CSS viewports. No body zoom, transformed layout or device detection. */
@media (min-width: 1441px) {
  :root { --home-unit: clamp(1px, .06944444vw, 2.222222px); }
  .container { width: min(calc(1080 * var(--home-unit)), calc(100% - 80px)); }
  .site-header { height: calc(86 * var(--home-unit)); }
  .nav { gap: calc(36 * var(--home-unit)); }
  .wordmark img { width: calc(190 * var(--home-unit)); }
  .nav-links { font-size: calc(13 * var(--home-unit)); gap: calc(30 * var(--home-unit)); }
  .nav-contact { padding: calc(9 * var(--home-unit)) calc(17 * var(--home-unit)); }
  .hero { padding-top: calc(86 * var(--home-unit)); }
  .hero-grid { min-height: calc(100dvh - 86 * var(--home-unit)); gap: calc(14 * var(--home-unit)); }
  .hero-copy { padding-block: calc(36 * var(--home-unit)) calc(55 * var(--home-unit)); }
  .eyebrow { font-size: calc(13 * var(--home-unit)); margin-bottom: calc(18 * var(--home-unit)); }
  .hero-eyebrow { gap: calc(12 * var(--home-unit)); }
  .work-signal { width: calc(120 * var(--home-unit)); height: calc(28 * var(--home-unit)); }
  .hero h1 { font-size: calc(46 * var(--home-unit)); margin-bottom: calc(20 * var(--home-unit)); }
  .hero-description { font-size: calc(16 * var(--home-unit)); max-width: calc(425 * var(--home-unit)); margin-bottom: calc(24 * var(--home-unit)); }
  .hero-visual { height: clamp(400px, 75dvh, calc(780 * var(--home-unit))); }
  .button { font-size: calc(14 * var(--home-unit)); padding: calc(13 * var(--home-unit)) calc(22 * var(--home-unit)); min-height: calc(48 * var(--home-unit)); gap: calc(16 * var(--home-unit)); }
  .hero .button { max-width: calc(390 * var(--home-unit)); }
  .text-link { font-size: calc(13 * var(--home-unit)); gap: calc(8 * var(--home-unit)); margin-top: calc(17 * var(--home-unit)); }
  :is(.button,.text-link,.nav-contact,.back-top) > svg { width: 1.3em; height: 1.3em; }
  .hero-note { font-size: calc(11 * var(--home-unit)); margin-top: calc(24 * var(--home-unit)); }
  .section { padding-block: calc(72 * var(--home-unit)); }
  h2 { font-size: calc(29 * var(--home-unit)); }
  h3 { font-size: calc(16 * var(--home-unit)); margin-bottom: calc(8 * var(--home-unit)); }
  .section-kicker { font-size: calc(12 * var(--home-unit)); margin-bottom: calc(8 * var(--home-unit)); }
  .benefit-grid { gap: calc(36 * var(--home-unit)); margin-block: calc(45 * var(--home-unit)) calc(37 * var(--home-unit)); }
  .benefit .benefit-icon { width: calc(76 * var(--home-unit)); height: calc(76 * var(--home-unit)); margin-bottom: calc(20 * var(--home-unit)); }
  .benefit p { font-size: calc(13 * var(--home-unit)); max-width: calc(210 * var(--home-unit)); }
  .service-grid { gap: calc(24 * var(--home-unit)); margin-top: calc(44 * var(--home-unit)); }
  .service-card { padding: calc(32 * var(--home-unit)) calc(26 * var(--home-unit)); }
  .service-icon { width: calc(48 * var(--home-unit)); height: calc(48 * var(--home-unit)); margin-bottom: calc(26 * var(--home-unit)); }
  .service-card h3 { font-size: calc(21 * var(--home-unit)); margin-bottom: calc(12 * var(--home-unit)); }
  .service-card p { font-size: calc(14 * var(--home-unit)); margin-bottom: calc(28 * var(--home-unit)); }
  .audience-grid { gap: calc(22 * var(--home-unit)); margin-top: calc(43 * var(--home-unit)); }
  .audience-card { padding: calc(29 * var(--home-unit)) calc(22 * var(--home-unit)) calc(22 * var(--home-unit)); min-height: calc(135 * var(--home-unit)); }
  .card-number { font-size: calc(39 * var(--home-unit)); top: calc(-23 * var(--home-unit)); right: calc(22 * var(--home-unit)); padding-inline: calc(10 * var(--home-unit)); }
  .audience-card p { font-size: calc(14 * var(--home-unit)); }
  .about-grid { gap: calc(50 * var(--home-unit)); }
  .about-copy { max-width: calc(460 * var(--home-unit)); padding-block: calc(55 * var(--home-unit)); }
  .about-copy h2 { margin-bottom: calc(20 * var(--home-unit)); }
  .about-copy p:not(.eyebrow) { font-size: calc(14 * var(--home-unit)); margin-bottom: calc(13 * var(--home-unit)); }
  .about-visual { height: clamp(430px, 78dvh, calc(850 * var(--home-unit))); }
  .contact-grid { gap: calc(75 * var(--home-unit)); }
  .contact-copy h2 { font-size: calc(33 * var(--home-unit)); margin-bottom: calc(16 * var(--home-unit)); }
  .contact-copy > p:not(.eyebrow) { font-size: calc(14 * var(--home-unit)); max-width: calc(370 * var(--home-unit)); }
  .contact-form { gap: calc(15 * var(--home-unit)); }
  .contact-form label, .service-choice legend, .service-option span { font-size: calc(12 * var(--home-unit)); }
  .form-row { gap: calc(12 * var(--home-unit)); }
  input, textarea { font-size: calc(13 * var(--home-unit)); padding: calc(11 * var(--home-unit)) calc(13 * var(--home-unit)); }
  .service-option input { padding: 0; }
  .service-option span { padding: calc(8 * var(--home-unit)) calc(12 * var(--home-unit)); }
  .form-note { font-size: calc(10 * var(--home-unit)); }
  .request-result, .copy-button { font-size: calc(13 * var(--home-unit)); }
  .footer { padding-block: calc(25 * var(--home-unit)); }
  .footer-name { font-size: calc(21 * var(--home-unit)); }
  .footer p, .back-top { font-size: calc(11 * var(--home-unit)); }
}
@media (max-width: 1000px) {
  .service-grid { gap: 16px; }
  .service-card { padding: 26px 20px; }
  .service-card h3 { font-size: 18px; }
}
@media (max-width: 700px) {
  .hero-grid, .about-grid, .contact-grid, .service-grid { grid-template-columns: minmax(0, 1fr); }
  .service-grid { gap: 18px; margin-top: 30px; }
  .service-card { padding: 26px 24px; }
  .service-icon { width: 42px; height: 42px; margin-bottom: 18px; }
  .service-card h3 { font-size: 20px; }
  .service-card p { margin-bottom: 14px; }
}

/* The same header contract applies to every public page. */
.nav-links > a { flex-shrink: 0; white-space: nowrap; }
@media (min-width: 701px) and (max-width: 1000px) {
  .menu-toggle { display: block; }
  .nav-links { display: none; position: absolute; top: 80px; right: 24px; left: 24px; background: var(--bg); border: 1px solid var(--line); padding: 20px; flex-direction: column; align-items: stretch; border-radius: 7px; }
  .nav-links.is-open { display: flex; }
  .nav-contact { justify-content: center; }
}
