/* HomeInterior typography system
   Owner: shared H1/H2/H3/lead/copy scale for index, design and repair service pages.
   Page CSS may control layout, spacing and component-specific captions, but must use these variables for common typography. */

:root{
  --hi-font-sans: Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

  --hi-type-copy: clamp(16px, 0.28vw + 15.1px, 18px);
  --hi-type-copy-line: 1.62;

  --hi-type-lead: clamp(18px, 1.28vw, 20px);
  --hi-type-lead-line: 1.5;

  --hi-type-meta: clamp(14px, 0.16vw + 13.4px, 16px);
  --hi-type-meta-line: 1.45;

  --hi-type-h1: clamp(32px, 3.2vw, 52px);
  --hi-type-h1-line: 1.08;

  --hi-type-h2: clamp(34px, 3vw, 44px);
  --hi-type-h2-line: 1.16;

  --hi-type-h3: clamp(22px, 1.35vw, 24px);
  --hi-type-h3-line: 1.24;

  --hi-type-track-h1: -0.02em;
  --hi-type-track-h2: -0.02em;
  --hi-type-track-h3: -0.018em;

  --hi-type-hero-kicker: 19.1px;
  --hi-type-hero-kicker-tablet: 15.6px;
  --hi-type-hero-kicker-mobile: 13.8px;
  --hi-type-hero-kicker-line: 1.65;
  --hi-type-hero-kicker-weight: 500;
  --hi-type-hero-kicker-track: .22em;
  --hi-type-hero-kicker-track-tablet: .20em;
  --hi-type-hero-kicker-track-mobile: .18em;

  --hi-type-service-hero-lead: var(--hi-type-copy);
  --hi-type-service-hero-lead-mobile: var(--hi-type-copy);
  --hi-type-service-hero-lead-line: 1.5;
  --hi-type-service-hero-lead-line-mobile: 1.5;

  --hi-section-title-size: var(--hi-type-h2);
  --hi-section-title-line: var(--hi-type-h2-line);
  --hi-section-title-gap: 22px;
  --hi-section-stack-gap: 40px;
  --hi-section-title-underline-overshoot: 28px;
  --hi-section-subtitle-size: clamp(18.5px, 0.26vw + 16.1px, 20px);
  --hi-section-subtitle-line: 1.5;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

html,
body,
input,
button,
textarea,
select{
  font-family:var(--hi-font-sans);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  font-kerning:normal;
}

body{
  font-size:var(--hi-type-copy);
  line-height:var(--hi-type-copy-line);
}

body h1.home-h1,
body #hero h1.hero-title,
body .project-intro h1.section-title,
body h1.section-title,
body main h1{
  font-family:var(--hi-font-sans) !important;
  font-weight:800 !important;
  font-size:var(--hi-type-h1) !important;
  line-height:var(--hi-type-h1-line) !important;
  letter-spacing:var(--hi-type-track-h1) !important;
  text-wrap:balance;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

body h2.section-title,
body section > .wrap > h2,
body section > h2,
body #services h2,
body #design-steps h2,
body #portfolio h2,
body #prices h2,
body #team h2,
body #partners h2,
body #contacts h2,
body #faq h2,
body #home-questions h2,
body #reviews h2,
body #reviews-proof h2,
body #realized-view h2,
body #hi-video-reviews h2,
body .project-floorplan h2.section-title,
body .project-visualization-title h2.section-title,
body .project-about h2.section-title,
body .project-video-review h2.section-title,
body .project-realized h2.section-title,
body .project-related__title,
body .hi-about-title,
body .hi-repair-h2{
  font-family:var(--hi-font-sans) !important;
  font-weight:800 !important;
  font-size:var(--hi-type-h2) !important;
  line-height:var(--hi-type-h2-line) !important;
  letter-spacing:var(--hi-type-track-h2) !important;
  text-wrap:balance;
  hyphens:none;
}

body .project-album-roomtitle,
body .price-card h3,
body .svc-card h3,
body .hi-price-card h3,
body #services h3,
body #design-steps h3,
body #portfolio h3,
body #prices h3,
body #team h3,
body #contacts h3{
  font-family:var(--hi-font-sans) !important;
  font-weight:800 !important;
  font-size:var(--hi-type-h3) !important;
  line-height:var(--hi-type-h3-line) !important;
  letter-spacing:var(--hi-type-track-h3) !important;
}

body section p,
body section li,
body .project-intro-text,
body .project-intro-copy p,
body .project-floorplan-text,
body .project-album-copy,
body .project-about p,
body .project-about li,
body .project-video-review__caption,
body .project-related__text,
body .project-related__desc,
body .price-card p,
body .svc-card p{
  font-size:var(--hi-type-copy);
  line-height:var(--hi-type-copy-line);
  letter-spacing:-0.01em;
}

body .home-lead,
body .hero-lead{
  font-size:var(--hi-type-lead) !important;
  line-height:var(--hi-type-lead-line) !important;
  letter-spacing:-0.01em;
}

body .project-meta-list,
body .project-meta-list li,
body .breadcrumbs,
body .crumbs,
body .project-service-links,
body .project-service-links a,
body .hero-subline,
body .hi-note,
body small{
  font-size:var(--hi-type-meta) !important;
  line-height:var(--hi-type-meta-line) !important;
}

body .project-related__text a{
  font-size:inherit !important;
  line-height:inherit !important;
}

body.project-hero-fullscreen-page .project-album-copy p{
  font-size:var(--hi-type-copy) !important;
}

@media (max-width:900px){
  :root{
    --hi-type-copy: 16px;
    --hi-type-copy-line: 1.58;

    --hi-type-lead: clamp(15px, 2.5vw, 18px);
    --hi-type-lead-line: 1.5;

    --hi-type-meta: 14px;
    --hi-type-meta-line: 1.42;

    --hi-type-h1: clamp(25px, 6.4vw, 34px);
    --hi-type-h1-line: 1.08;

    --hi-type-h2: clamp(25px, 6.4vw, 29px);
    --hi-type-h2-line: 1.14;
    --hi-type-track-h2: -0.018em;

    --hi-type-h3: clamp(20px, 5.2vw, 22px);
    --hi-type-h3-line: 1.2;

    --hi-section-title-size: var(--hi-type-h2);
    --hi-section-title-line: var(--hi-type-h2-line);
    --hi-section-title-gap: 16px;
    --hi-section-stack-gap: 30px;
    --hi-section-title-underline-overshoot: 22px;
    --hi-section-subtitle-size: var(--hi-type-copy);
    --hi-section-subtitle-line: 1.5;
  }

  body .home-intro > .wrap,
  body .repair-page-intro > .wrap,
  body .project-intro > .wrap,
  body #hero > .content{
    width:min(96%, 1600px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
  }

  body h1.home-h1,
  body #hero h1.hero-title,
  body .project-intro h1.section-title{
    width:100%;
    max-width:none;
  }
}

@media (max-width:560px){
  :root{
    --hi-type-h1: clamp(24px, 6.8vw, 31px);
  }
}

/* Project pages that opt in to this file keep the same H1 scale without local duplicates. */
body.project-hero-fullscreen-page .project-intro h1.section-title{
  font-size:var(--hi-type-h1) !important;
  line-height:var(--hi-type-h1-line) !important;
  letter-spacing:var(--hi-type-track-h1) !important;
  font-weight:800 !important;
  margin-bottom:16px !important;
  text-wrap:balance;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

@media (max-width:900px){
  body.project-hero-fullscreen-page .project-intro h1.section-title{
    font-size:var(--hi-type-h1) !important;
    line-height:var(--hi-type-h1-line) !important;
    letter-spacing:var(--hi-type-track-h1) !important;
    width:100%;
    max-width:none !important;
  }
}

/* === hi-service-typography-contract-v07 ===
   Owner: css/hi-typography-system.css / exact typography contract for the three service pages.
   Etalons are from index.html: H1 «Дизайн интерьера и ремонт под ключ в Самаре», H2 «О студии HomeInterior», H3 «Дизайн интерьера», copy paragraph in the first service card.
   Page CSS below must not set font-size, line-height, font-weight, letter-spacing, color or opacity for these text roles. */

/* HERO: kicker / H1 / lead */
body.project-hero-fullscreen-page#top #home-intro .home-kicker{
  margin:0 0 14px !important;
  color:var(--hi-accent,#BFA97A) !important;
  font-family:var(--hi-font-sans, Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
  font-size:var(--hi-type-hero-kicker) !important;
  font-weight:var(--hi-type-hero-kicker-weight) !important;
  line-height:var(--hi-type-hero-kicker-line) !important;
  letter-spacing:var(--hi-type-hero-kicker-track) !important;
  text-transform:uppercase !important;
  opacity:.88 !important;
}
body.project-hero-fullscreen-page#top #home-intro .home-h1{
  font-family:var(--hi-font-sans, Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
  font-size:var(--hi-type-h1) !important;
  line-height:var(--hi-type-h1-line) !important;
  font-weight:800 !important;
  letter-spacing:var(--hi-type-track-h1) !important;
  color:var(--hi-text,#E8E3D4) !important;
  opacity:1 !important;
  text-wrap:balance !important;
  hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
body.project-hero-fullscreen-page#top #home-intro .home-lead{
  font-family:var(--hi-font-sans, Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
  font-size:var(--hi-type-service-hero-lead) !important;
  line-height:var(--hi-type-service-hero-lead-line) !important;
  font-weight:400 !important;
  letter-spacing:-0.01em !important;
  color:#D8CCAD !important;
  opacity:1 !important;
}

/* H2: section titles */
body.project-hero-fullscreen-page#top #services > .wrap > .hi-about-title,
body.project-hero-fullscreen-page#top #portfolio > .wrap > .section-title,
body.project-hero-fullscreen-page#top #portfolio .portfolio-projects-title,
body.project-hero-fullscreen-page#top #hi-video-reviews .hi-videos-head > .section-title,
body.project-hero-fullscreen-page#top #realized-view > .wrap > .section-title,
body.project-hero-fullscreen-page#top #prices > .wrap > .section-title,
body.project-hero-fullscreen-page#top #design-steps > .wrap > .section-title,
body.project-hero-fullscreen-page#top #team > .wrap > .section-title,
body.project-hero-fullscreen-page#top #partners > .wrap > .section-title,
body.project-hero-fullscreen-page#top #reviews .hi-proof-intro > .section-title,
body.project-hero-fullscreen-page#top #home-questions .hi-home-questions-head > .section-title,
body.project-hero-fullscreen-page#top #contacts > .wrap > .section-title,
body.project-hero-fullscreen-page#top #services > .wrap > h2.section-title:first-of-type,
body.project-hero-fullscreen-page#top #services .design-project-core .hi-about-title,
body.project-hero-fullscreen-page#top #portfolio.design-portfolio-service > .wrap > h2.section-title,
body.project-hero-fullscreen-page#top #portfolio.design-portfolio-service .portfolio-projects-title,
body.project-hero-fullscreen-page#top #hi-video-reviews .hi-videos-head > h2.section-title,
body.project-hero-fullscreen-page#top #realized-view.index-live-view > .wrap > h2.section-title,
body.project-hero-fullscreen-page#top #prices.design-main-price-clone > .wrap > h2.section-title,
body.project-hero-fullscreen-page#top #design-steps.design-main-steps-clone > .wrap > h2.section-title,
body.project-hero-fullscreen-page#top #team.design-section-team > .wrap > h2,
body.project-hero-fullscreen-page#top #reviews-proof.design-section-proof .hi-proof-intro > h2,
body.project-hero-fullscreen-page#top #faq.design-section-faq > .wrap > h2,
body.project-hero-fullscreen-page#top #contacts.hi-contact-section > .wrap > h2.section-title,
body.page-repair-refit #systems h2.hi-repair-h2,
body.page-repair-refit #view-object h2.hi-repair-h2,
body.page-repair-refit #process h2.hi-repair-h2,
body.page-repair-refit #portfolio h2.hi-repair-h2,
body.page-repair-refit #hi-video-reviews h2.hi-repair-h2,
body.page-repair-refit #realized-view h2.hi-repair-h2,
body.page-repair-refit #proof h2.hi-repair-h2,
body.page-repair-refit #prices h2.hi-repair-h2,
body.page-repair-refit #reviews h2.hi-repair-h2,
body.page-repair-refit #design-steps h2.hi-repair-h2,
body.page-repair-refit #team h2.hi-repair-h2,
body.page-repair-refit #contacts h2.hi-repair-h2,
body.page-repair-refit .repair-mock-case-b .repair-case-title{
  font-family:var(--hi-font-sans, Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
  font-size:var(--hi-type-h2) !important;
  line-height:var(--hi-type-h2-line) !important;
  font-weight:800 !important;
  letter-spacing:var(--hi-type-track-h2, -0.02em) !important;
  color:var(--hi-text,#E8E3D4) !important;
  opacity:1 !important;
  text-wrap:balance !important;
  hyphens:none !important;
}

/* H3: card and local block titles */
body.project-hero-fullscreen-page#top #services .hi-service-card h3,
body.project-hero-fullscreen-page#top #services .hi-service-card-primary h3,
body.project-hero-fullscreen-page#top #services .hi-service-card-title,
body.project-hero-fullscreen-page#top #realized-view.index-live-view .live-view-option h3,
body.project-hero-fullscreen-page#top #prices .price-card header h3,
body.project-hero-fullscreen-page#top #design-steps .grid h3,
body.project-hero-fullscreen-page#top #team .team-editorial-feature-item h3,
body.project-hero-fullscreen-page#top #contacts .hi-contact-form-card h3,
body.project-hero-fullscreen-page#top #contacts .hi-contact-info-head h3,
body.project-hero-fullscreen-page#top #services .hi-value-card h3,
body.project-hero-fullscreen-page#top #prices.design-main-price-clone .price-card header h3,
body.project-hero-fullscreen-page#top #design-steps.design-main-steps-clone .grid h3,
body.page-repair-refit #systems .repair-control-point h3,
body.page-repair-refit #process .repair-step h3,
body.page-repair-refit #proof .repair-proof-title,
body.page-repair-refit #prices .repair-budget-card h3,
body.page-repair-refit #contacts .hi-contact-form-card h3,
body.page-repair-refit #contacts .hi-contact-info-head h3,
body.page-repair-refit .repair-case-point strong,
body.page-author-supervision main section h3{
  font-family:var(--hi-font-sans, Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
  font-size:var(--hi-type-h3) !important;
  line-height:var(--hi-type-h3-line) !important;
  font-weight:800 !important;
  letter-spacing:var(--hi-type-track-h3, -0.018em) !important;
  color:var(--hi-text,#E8E3D4) !important;
  opacity:1 !important;
  hyphens:none !important;
}

/* Hero and section subtitles */
body.project-hero-fullscreen-page#top #home-intro .home-lead,
body.project-hero-fullscreen-page#top #services .hi-about p,
body.project-hero-fullscreen-page#top #realized-view.index-live-view .live-view-intro,
body.project-hero-fullscreen-page#top #prices .hi-prices-note,
body.project-hero-fullscreen-page#top #team .team-editorial-intro,
body.project-hero-fullscreen-page#top #partners .partners-lead,
body.project-hero-fullscreen-page#top #services .design-project-core .hi-about > p,
body.project-hero-fullscreen-page#top #prices.design-main-price-clone .hi-prices-note,
body.project-hero-fullscreen-page#top #team.design-section-team .design-team-intro,
body.page-repair-refit #prices .repair-budget-lead,
body.page-repair-refit #prices .repair-section-lead,
body.page-repair-refit .repair-mock-case-b .repair-case-lead{
  font-family:var(--hi-font-sans, Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
  font-size:var(--hi-section-subtitle-size) !important;
  line-height:var(--hi-section-subtitle-line) !important;
  font-weight:400 !important;
  letter-spacing:-0.01em !important;
  color:#D8CCAD !important;
  opacity:1 !important;
}

/* Main copy */
body.project-hero-fullscreen-page#top #services .hi-service-card p,
body.project-hero-fullscreen-page#top #realized-view.index-live-view .live-view-copy,
body.project-hero-fullscreen-page#top #realized-view.index-live-view .live-view-list li,
body.project-hero-fullscreen-page#top #prices .features li,
body.project-hero-fullscreen-page#top #design-steps .grid > div > p,
body.project-hero-fullscreen-page#top #team .team-editorial-copy p,
body.project-hero-fullscreen-page#top #team .team-editorial-feature-item p,
body.project-hero-fullscreen-page#top #reviews .hi-proof-main p:not(.hi-proof-main-title),
body.project-hero-fullscreen-page#top #services .hi-value-card p,
body.project-hero-fullscreen-page#top #services .design-project-core .hi-clean-list li,
body.project-hero-fullscreen-page#top #prices.design-main-price-clone .features li,
body.project-hero-fullscreen-page#top #design-steps.design-main-steps-clone .grid > div > p,
body.project-hero-fullscreen-page#top #team.design-section-team .design-team-copy p,
body.project-hero-fullscreen-page#top #reviews-proof.design-section-proof .hi-proof-main p:not(.hi-proof-main-title),
body.project-hero-fullscreen-page#top #faq.design-section-faq .hi-faq .faq-body p,
body.project-hero-fullscreen-page#top #contacts.hi-contact-section .hi-contact-text,
body.project-hero-fullscreen-page#top #contacts.hi-contact-section .hi-contact-info-head p,
body.page-repair-refit #systems .repair-control-point p,
body.page-repair-refit #view-object .repair-list li,
body.page-repair-refit #process .repair-step p,
body.page-repair-refit #realized-view .realized-view-list li,
body.page-repair-refit #proof .repair-proof-text,
body.page-repair-refit #prices .repair-budget-card p,
body.page-repair-refit #reviews .hi-proof-main p:not(.hi-proof-main-title),
body.page-repair-refit #reviews .hi-proof-stat p,
body.page-repair-refit #reviews .hi-proof-review-card p,
body.page-repair-refit #design-steps .faq-body p,
body.page-repair-refit #team .repair-team-copy p,
body.page-repair-refit #contacts .hi-contact-text,
body.page-repair-refit #contacts .hi-contact-info-head p,
body.page-repair-refit .repair-case-point span{
  font-family:var(--hi-font-sans, Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
  font-size:var(--hi-type-copy) !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  letter-spacing:-0.01em !important;
  color:rgba(255,255,255,.78) !important;
  opacity:1 !important;
}

body.project-hero-fullscreen-page#top #services .hi-service-card p strong,
body.project-hero-fullscreen-page#top #services .hi-value-card p strong,
body.project-hero-fullscreen-page#top #services .design-project-core .hi-clean-list li strong,
body.page-repair-refit #team .repair-team-copy p strong{
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:700 !important;
  letter-spacing:inherit !important;
  color:var(--hi-text,#E8E3D4) !important;
}

@media (min-width:561px) and (max-width:900px){
  body.project-hero-fullscreen-page#top #home-intro .home-kicker{
    font-size:var(--hi-type-hero-kicker-tablet) !important;
    letter-spacing:var(--hi-type-hero-kicker-track-tablet) !important;
  }
}

@media (max-width:900px){
  body.project-hero-fullscreen-page#top #home-intro .home-lead{
    font-size:var(--hi-type-service-hero-lead-mobile) !important;
    line-height:var(--hi-type-service-hero-lead-line-mobile) !important;
    letter-spacing:-0.01em !important;
  }

  body.project-hero-fullscreen-page#top #home-intro .home-lead,
  body.project-hero-fullscreen-page#top #services .hi-about p,
  body.project-hero-fullscreen-page#top #realized-view.index-live-view .live-view-intro,
  body.project-hero-fullscreen-page#top #prices .hi-prices-note,
  body.project-hero-fullscreen-page#top #team .team-editorial-intro,
  body.project-hero-fullscreen-page#top #partners .partners-lead,
  body.project-hero-fullscreen-page#top #services .design-project-core .hi-about > p,
  body.project-hero-fullscreen-page#top #prices.design-main-price-clone .hi-prices-note,
  body.project-hero-fullscreen-page#top #team.design-section-team .design-team-intro,
  body.page-repair-refit #prices .repair-budget-lead,
  body.page-repair-refit #prices .repair-section-lead,
  body.page-repair-refit .repair-mock-case-b .repair-case-lead{
    font-size:var(--hi-section-subtitle-size) !important;
    line-height:1.5 !important;
    letter-spacing:-0.01em !important;
  }
}

@media (max-width:560px){
  body.project-hero-fullscreen-page#top #home-intro .home-kicker{
    font-size:var(--hi-type-hero-kicker-mobile) !important;
    letter-spacing:var(--hi-type-hero-kicker-track-mobile) !important;
  }
}

/* === hi-adaptive-scale-v32 ===
   Owner: css/hi-typography-system.css / shared responsive typography contract for index, design and repair.
   Etalon: the approved 430px mobile typography. Screens from 360px to 414px keep the same
   readable copy size and approach the 430px H1/H2/H3 scale smoothly, without a device-specific
   414/415px jump. Below 400px semantic intro/subtitle copy stays at the accepted 16px;
   text-wrap:pretty prevents a single orphaned word without reducing readability. */
@media (max-width:414px){
  :root{
    --hi-type-copy:16px;
    --hi-type-copy-line:1.56;

    --hi-type-lead:16px;
    --hi-type-service-hero-lead-mobile:var(--hi-type-copy);
    --hi-type-service-hero-lead-line-mobile:1.5;

    --hi-type-h1:clamp(26px, calc(9.33px + 4.63vw), 28.5px);
    --hi-type-h1-line:1.08;

    --hi-type-h2:clamp(25.5px, calc(15.5px + 2.78vw), 27px);
    --hi-type-h2-line:1.14;

    --hi-type-h3:clamp(20.5px, calc(19.17px + .37vw), 20.7px);
    --hi-type-h3-line:1.2;

    --hi-type-meta:14px;
    --hi-type-meta-line:1.42;

    --hi-type-hero-kicker-mobile:clamp(13px, calc(7.67px + 1.48vw), 13.8px);
    --hi-type-hero-kicker-track-mobile:.18em;
  }
}

@media (max-width:400px){
  :root{
    --hi-section-subtitle-size:16px;
  }

  body .home-lead,
  body .home-lead .home-lead-line,
  body .hero-lead,
  body #services .hi-about > p,
  body .live-view-intro,
  body .live-view-intro > span,
  body .hi-prices-note,
  body .team-editorial-intro,
  body .partners-lead,
  body .design-team-intro,
  body .repair-section-lead,
  body .repair-case-lead,
  body .section-lead,
  body .legal-lead{
    font-size:var(--hi-section-subtitle-size) !important;
    line-height:1.5 !important;
    text-wrap:pretty !important;
    hyphens:none !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
}

@media (min-width:415px) and (max-width:560px){
  :root{
    --hi-type-copy:16px;
    --hi-type-copy-line:1.56;
    --hi-type-lead:16px;
    --hi-type-service-hero-lead-mobile:var(--hi-type-copy);

    --hi-type-h1:clamp(28.5px, 6.8vw, 31px);
    --hi-type-h1-line:1.08;

    --hi-type-h2:clamp(27px, 6.4vw, 29px);
    --hi-type-h2-line:1.14;

    --hi-type-h3:clamp(20px, 5vw, 21px);
    --hi-type-h3-line:1.2;
  }
}
@media (min-width:561px) and (max-width:900px){
  :root{
    --hi-type-copy:clamp(16px, calc(13.32px + .478vw), 17.62px);
    --hi-type-copy-line:1.58;
    --hi-type-lead:clamp(16px, calc(12.69px + .59vw), 18px);
    --hi-type-meta:clamp(14px, calc(12.6096px + .248vw), 14.84px);
    --hi-type-service-hero-lead-mobile:var(--hi-type-copy);
    --hi-type-hero-kicker-tablet:clamp(13.8px, calc(5.03px + 1.563vw), 19.1px);

    --hi-type-h1:clamp(31px, calc(29.345px + .295vw), 32px);
    --hi-type-h1-line:1.08;

    --hi-type-h2:clamp(29px, calc(27.345px + .295vw), 30px);
    --hi-type-h2-line:1.14;

    --hi-type-h3:clamp(21px, calc(19.345px + .295vw), 22px);
    --hi-type-h3-line:1.22;
  }
}

/* === mobile-section-title-underline-off-v02 ===
   Site-wide mobile/tablet contract: decorative heading underlines are disabled at <=900px.
   Covers service pages, portfolio/project pages and shared section-title variants.
   Desktop underline styling remains unchanged. */
@media (max-width:900px){
  body h2::after,
  body .section-title::after,
  body .hi-about-title::after,
  body .hi-repair-h2::after{
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    background:none !important;
    box-shadow:none !important;
  }
}
