/* Service page layouts. Existing theme tokens, typography and controls retained.
   DESIGN_VARIANCE 3, MOTION_INTENSITY 2, VISUAL_DENSITY 4. */
.service-crumb { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; color:var(--muted); font-size:14px; }
.service-crumb a:hover { color:var(--accent-dark); }
.about-intro { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; padding-top:38px; padding-bottom:72px; }
.about-intro h1,.contact-intro h1 { margin:0 0 24px; font-size:clamp(40px,4.5vw,64px); line-height:1.06; letter-spacing:-.05em; }
.lead { color:var(--muted); font-size:21px; line-height:1.55; max-width:640px; margin:0 0 24px; }
.about-photo { margin:0; border-radius:27px; padding:9px; background:rgba(255,255,255,.55); border:1px solid var(--line); box-shadow:var(--shadow); }
.about-photo img { display:block; width:100%; height:370px; border-radius:19px; object-fit:cover; object-position:50% 50%; }
.reading-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:90px; }
.reading-layout aside { align-self:start; position:sticky; top:114px; }
.aside-title { font-weight:750; font-size:15px; margin:0 0 14px; }
.reading-layout aside a { display:block; color:var(--muted); font-size:14px; margin:0 0 14px; }
.reading-layout aside a:hover { color:var(--accent-dark); }
.copy-section { margin-bottom:44px; scroll-margin-top:115px; }
.copy-section h2[id],.trial-block h2[id] { scroll-margin-top:115px; }
.copy-section h2,.trial-block h2,.contact-grid h2 { font-size:28px; line-height:1.2; letter-spacing:-.03em; margin:0 0 18px; }
.copy-section p { font-size:17px; line-height:1.7; color:var(--muted); margin:0 0 16px; max-width:70ch; }
.copy-section p a { color:var(--accent-dark); text-decoration:underline; text-underline-offset:3px; }
.trial-block { padding:30px; border:1px solid #c4d9c8; border-radius:24px; background:var(--accent-soft); }
.trial-block p { color:var(--muted); margin:0 0 24px; }
.contact-intro { padding-top:36px; padding-bottom:16px; }
.contact-intro .lead { max-width:760px; }
.contact-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:24px; margin-bottom:60px; }
.contact-primary,.chat-note { padding:32px; border:1px solid var(--line); border-radius:24px; }
.contact-primary { background:rgba(255,255,255,.75); }
.chat-note { background:var(--accent-soft); }
.chat-note p { max-width:38ch; color:var(--muted); font-size:17px; line-height:1.65; }
.contact-label { color:var(--muted); font-size:14px; margin:24px 0 4px; }
.contact-value { display:inline-block; font-size:clamp(24px,2.5vw,35px); font-weight:750; line-height:1.4; letter-spacing:-.035em; }
.contact-value:hover { color:var(--accent-dark); text-decoration:underline; }
.contact-details { display:grid; grid-template-columns:1fr 1fr; gap:28px 64px; }
.contact-details #requisites { grid-column:1/-1; max-width:850px; width:100%; }
.resource-links { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.requisites { margin:0; }
.requisites > div { display:grid; grid-template-columns:170px minmax(0,1fr); gap:22px; padding:11px 0; }
.requisites dt { color:var(--muted); }
.requisites dd { margin:0; overflow-wrap:anywhere; }
.header-inner { gap:22px; }
.main-nav { gap:19px; }
.main-nav a { font-size:13px; }
@media(max-width:1100px) and (min-width:901px) { .header-actions .phone {display:none;} }
@media(max-width:900px) { .about-intro {gap:28px;} .about-photo img {height:330px;} .reading-layout {grid-template-columns:1fr; gap:28px;} .reading-layout aside {position:static; border-bottom:1px solid var(--line); padding-bottom:12px;} .reading-layout aside nav {display:flex; flex-wrap:wrap; gap:0 24px;} .contact-details {gap:24px 32px;} }
@media(max-width:620px) {
 .service-crumb {margin-top:18px;font-size:13px;}
 .about-intro {grid-template-columns:1fr;padding-top:28px;padding-bottom:36px;gap:22px;}
 .about-intro h1,.contact-intro h1 {font-size:40px;max-width:100%;}
 .lead {font-size:18px;margin-bottom:20px;}
 .about-photo img {height:auto;aspect-ratio:3/2;}
 .copy-section {margin-bottom:32px;}
 .copy-section h2,.trial-block h2,.contact-grid h2 {font-size:25px;}
 .copy-section p {font-size:16px;}
 .contact-grid,.contact-details {grid-template-columns:1fr;gap:20px;}
 .contact-grid {margin-bottom:36px;}
 .contact-primary,.chat-note,.trial-block {padding:23px;}
 .contact-intro {padding-top:28px;}
 .contact-value {font-size:25px;overflow-wrap:anywhere;}
 .requisites > div {grid-template-columns:1fr;gap:3px;padding:10px 0;}
 .header-inner {gap:10px;}
 .main-nav a {font-size:16px;}
}

/* Keep these pages usable if the navigation enhancement cannot load. */
@media (max-width:900px) {
  .site-header:has(.menu-button:not(.js-navigation)) { position:relative; height:auto; }
  .header-inner:has(.menu-button:not(.js-navigation)) { display:flex; flex-wrap:wrap; height:auto; padding:16px; }
  .main-nav:not(.js-navigation) { position:static; width:100%; max-width:100%; transform:none; display:flex; flex-direction:row; flex-wrap:wrap; white-space:normal; gap:10px 18px; padding:0; border:0; box-shadow:none; background:transparent; }
  .main-nav:not(.js-navigation) a { white-space:normal; }
}
