/* Shared site chrome — fonts, header, footer */
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/archivo.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/jetbrains-mono.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/jetbrains-mono.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/newsreader-italic.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/newsreader.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/newsreader.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{display:block;width:100%;margin:0;background:#FAF8F5}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.site-page{width:100%;min-height:100vh;overflow-x:hidden;background:#FAF8F5;color:#2D2838;font-family:'Archivo',sans-serif}
.site-header{position:sticky;top:0;z-index:100;background:#FFFFFF;border-bottom:1px solid rgba(26,22,34,0.08);box-shadow:0 4px 20px rgba(26,22,34,0.06);isolation:isolate;width:100%}
.site-header__inner{max-width:1200px;margin:0 auto;padding:0 32px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:20px;width:100%}
.site-header__logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.site-header__logo img{width:250px;height:auto;display:block}
.site-header__nav{display:flex;align-items:center;gap:26px;font:500 13px 'Archivo',sans-serif;flex-wrap:wrap}
.site-header__link{color:#5C5650;text-decoration:none;transition:color 0.15s ease;white-space:nowrap}
.site-header__link:hover{color:#C76FB8}
.site-header__link.is-active{color:#6D2963;font-weight:600}
.site-header__actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.site-header__phone{font:600 14px 'Archivo',sans-serif;color:#1A1622;text-decoration:none;white-space:nowrap}
.site-header__phone:hover{color:#6D2963}
.site-header__portal{font:600 11px 'Archivo',sans-serif;letter-spacing:0.06em;text-transform:uppercase;color:#FAF8F5;background:#6D2963;padding:10px 16px;border-radius:2px;text-decoration:none;white-space:nowrap;transition:background 0.15s ease}
.site-header__portal:hover{background:#85327A}
.site-hero-band{border-bottom:1px solid rgba(26,22,34,0.08);background:#FAF8F5;width:100%}
.site-hero-band__inner{max-width:1200px;margin:0 auto;padding:clamp(36px,6vw,64px) clamp(16px,4vw,32px) clamp(32px,5vw,56px);box-sizing:border-box;width:100%}
.site-page-hero{border-bottom:1px solid rgba(26,22,34,0.08);background:#FAF8F5;width:100%}
.site-page-hero__inner{max-width:1200px;margin:0 auto;padding:clamp(36px,6vw,64px) clamp(16px,4vw,32px) clamp(32px,5vw,56px);box-sizing:border-box;width:100%}
.site-page-hero__grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%}
.site-page-hero__copy{padding:clamp(36px,6vw,64px) clamp(16px,4vw,32px) clamp(32px,5vw,56px) 32px;box-sizing:border-box}
.site-page-hero__media{position:relative;min-height:440px;overflow:hidden;border-left:1px solid rgba(26,22,34,0.08)}
.site-page-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.site-footer{background:#FFFFFF;border-top:1px solid rgba(26,22,34,0.10);width:100%}
.site-footer__inner{max-width:1200px;margin:0 auto;padding:54px 32px;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;gap:40px;flex-wrap:wrap;width:100%}
.site-footer__brand{max-width:300px}
.site-footer__brand img{height:34px;width:auto;margin-bottom:14px;display:block}
.site-footer__tagline{font:400 13px/1.6 'Archivo',sans-serif;color:#6E6660}
.site-footer__nav{display:flex;flex-direction:column;gap:8px;font:500 13px 'Archivo',sans-serif}
.site-footer__nav a{color:#2D2838;text-decoration:none}
.site-footer__nav a:hover{color:#C76FB8}
.site-footer__contact{font:400 13px/1.7 'Archivo',sans-serif;color:#6E6660}
.site-footer__contact a{color:#C76FB8;text-decoration:none}
.site-footer__copy{font:500 11px 'JetBrains Mono',monospace;letter-spacing:0.1em;color:#8A827A}
input,select,textarea{font-family:'Archivo',sans-serif}
input:focus,select:focus,textarea:focus{outline:none;border-color:#C76FB8 !important}
input::placeholder,textarea::placeholder{color:#6E6660}

/* ===== Responsive ===== */
.site-header__toggle{display:none;background:none;border:1px solid rgba(26,22,34,0.12);border-radius:2px;width:42px;height:42px;padding:10px 9px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;flex-shrink:0}
.site-header__toggle span{display:block;height:2px;width:100%;background:#1A1622;transition:transform .2s ease,opacity .2s ease}
.site-header.is-open .site-header__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.is-open .site-header__toggle span:nth-child(2){opacity:0}
.site-header.is-open .site-header__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-page img{max-width:100%;height:auto}
.site-page iframe{max-width:100%}

@media (max-width: 1100px) {
  .site-header__nav{gap:16px}
  .site-header__phone{display:none}
  .site-page [style*="grid-template-columns:repeat(auto-fit,minmax(200px,1fr))"],
  .site-page [style*="grid-template-columns:repeat(auto-fit,minmax(260px,1fr))"]{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media (max-width: 900px) {
  .site-header__inner{padding:0 16px;min-height:64px;gap:12px;flex-wrap:wrap}
  .site-header__toggle{display:flex}
  .site-header__nav{
    display:none;width:100%;order:3;flex-direction:column;align-items:stretch;gap:0;
    padding:8px 0 14px;border-top:1px solid rgba(26,22,34,0.08);
  }
  .site-header.is-open .site-header__nav{display:flex}
  .site-header__link{padding:12px 4px;border-bottom:1px solid rgba(26,22,34,0.06);white-space:normal}
  .site-header__actions{margin-left:auto}
  .site-header__portal{padding:9px 12px;font-size:10px}

  .site-page-hero__grid,
  .site-page [style*="grid-template-columns"]{
    grid-template-columns:1fr !important;
  }
  .site-page-hero__media{
    min-height:240px !important;border-left:none !important;
    border-top:1px solid rgba(26,22,34,0.08);
  }
  .site-page-hero__copy,
  .site-page-hero__inner,
  .site-hero-band__inner{padding:36px 16px 32px !important}
  .site-service-hero{min-height:300px !important}
  .site-service-hero > div[style*="max-width:1200px"]{padding:44px 16px 40px !important}
  .site-footer__inner{padding:36px 16px;gap:24px}
  .site-footer__brand{max-width:100%}

  .site-page [style*="padding-left:32px"],
  .site-page [style*="padding-right:32px"],
  .site-page [style*="padding-left:48px"],
  .site-page [style*="padding-right:48px"],
  .site-page [style*="padding-left:56px"],
  .site-page [style*="padding-right:56px"]{
    padding-left:16px !important;padding-right:16px !important;
  }
  .site-page [style*="padding:64px"],
  .site-page [style*="padding:72px"],
  .site-page [style*="padding:56px"],
  .site-page [style*="padding:54px"],
  .site-page [style*="padding:48px"]{
    padding-left:16px !important;padding-right:16px !important;
  }

  .site-page [style*="border-right:1px solid"]{
    border-right:none !important;
    border-bottom:1px solid rgba(26,22,34,0.08);
  }

  .site-page h1{font-size:clamp(30px,8.5vw,42px) !important;line-height:1.08 !important}
  .site-page h2{font-size:clamp(24px,6.2vw,34px) !important;line-height:1.15 !important}

  form [style*="grid-template-columns"]{grid-template-columns:1fr !important}
  .site-page a[style*="padding:13px"],
  .site-page a[style*="padding:16px"],
  .site-page button[type="submit"]{
    display:inline-flex;justify-content:center;text-align:center;
  }
}

@media (max-width: 640px) {
  .site-header__logo img{width:min(250px,70vw);height:auto}
  .site-header__portal{display:none}
  .site-page [style*="gap:28px"],
  .site-page [style*="gap:32px"],
  .site-page [style*="gap:40px"],
  .site-page [style*="gap:48px"]{gap:16px !important}
  .site-service-hero{min-height:260px !important}
  .site-page-hero__media{min-height:200px !important}
  .site-footer__inner{flex-direction:column;align-items:flex-start}
  .site-page [style*="height:300px"]{height:220px !important}
  .site-page [style*="min-height:360px"],
  .site-page [style*="min-height:440px"],
  .site-page [style*="min-height:420px"]{min-height:220px !important}
  .site-page [style*="font:400 62px"],
  .site-page [style*="font:400 52px"],
  .site-page [style*="font:400 46px"]{font-size:32px !important;line-height:1.1 !important}
  .site-page form button[type="submit"]{width:100%}
}
