/* OKHBOT V2.6.25 - Shared marketing typography and vertical rhythm.
   Root-domain deployment / (not /okhbot/).
   Source: approved homepage proportions; changes geometry only, not feature logic.
*/
.ok22-public-site {
  --ok25-content-width:1280px;
  --ok25-content-gutter:72px;
  --ok25-h1-size:clamp(40px,4.55vw,66px);
  --ok25-h2-size:clamp(33px,4vw,56px);
  --ok25-subheading-size:clamp(24px,2.4vw,35px);
  --ok25-lead-size:clamp(15px,1.2vw,18px);
  --ok25-copy-size:15px;
  --ok25-hero-height:610px;
  --ok25-hero-space-top:62px;
  --ok25-hero-space-bottom:70px;
  --ok25-section-space:88px;
  --ok25-heading-gap:30px;
  --ok25-grid-gap:20px;
  --ok25-line-title:1.26;
  --ok25-line-section:1.3;
  --ok25-line-copy:1.9;
  --ok22-content:var(--ok25-content-width);
  --ok22-gutter:var(--ok25-content-gutter);
}
/* Exactly the same typographic base for the four public hero titles. */
.ok22-public-site .ok265-home .ok264-hero-copy h1,
.ok22-public-site .ok20-design-hero .ok20-hero-copy h1,
.ok22-public-site .ok21-hero .ok21-hero-copy h1,
.ok22-public-site .ok22-public-frame .ok17-designers-page .inner-title,
.ok22-public-site .ok17-simple-page .inner-title {
  font-size:var(--ok25-h1-size);
  line-height:var(--ok25-line-title);
  font-weight:800;
  letter-spacing:-.025em;
}
/* Stable scale for every section headline, regardless of page. */
.ok22-public-site .ok265-home .ok264-services-heading h2,
.ok22-public-site .ok265-home .ok264-steps-heading h2,
.ok22-public-site .ok20-page .ok20-section-title,
.ok22-public-site .ok20-page .ok20-section-lead h2,
.ok22-public-site .ok20-page .ok20-faq-head h2,
.ok22-public-site .ok21-steps .ok21-centered h2,
.ok22-public-site .ok21-showroom .ok21-showroom-heading h2,
.ok22-public-site .ok21-template-section .ok21-section-heading h2,
.ok22-public-site .ok21-pricing .ok21-centered h2,
.ok22-public-site .ok21-faq h2,
.ok22-public-site .ok17-simple-page h2 {
  font-size:var(--ok25-h2-size);
  line-height:var(--ok25-line-section);
  letter-spacing:-.018em;
}
.ok22-public-site .ok20-page .ok20-section-title,
.ok22-public-site .ok21-steps .ok21-centered,
.ok22-public-site .ok21-pricing .ok21-centered,
.ok22-public-site .ok20-pricing .ok20-section-lead.centered {
  margin-bottom:var(--ok25-heading-gap);
}
/* Same description scale and reading rhythm. */
.ok22-public-site .ok265-home .ok264-hero-copy > p,
.ok22-public-site .ok20-design-hero .ok20-hero-note,
.ok22-public-site .ok21-hero .ok21-hero-copy > p,
.ok22-public-site .ok17-designers-page .lead,
.ok22-public-site .ok20-section-lead > p,
.ok22-public-site .ok21-centered > p,
.ok22-public-site .ok21-section-heading p,
.ok22-public-site .ok21-showroom-heading p,
.ok22-public-site .ok264-services-heading > p,
.ok22-public-site .ok264-steps-heading > p {
  font-size:var(--ok25-lead-size);
  line-height:var(--ok25-line-copy);
}
/* Equal hero height and spacing; art inside keeps its native aspect ratio. */
.ok22-public-site .ok265-home .ok264-hero,
.ok22-public-site .ok20-design-hero,
.ok22-public-site .ok21-hero {
  min-height:var(--ok25-hero-height);
}
.ok22-public-site .ok265-home .ok264-hero-grid {
  min-height:var(--ok25-hero-height);
  padding-block:var(--ok25-hero-space-top) var(--ok25-hero-space-bottom);
}
.ok22-public-site .ok22-public-frame .ok20-design-hero,
.ok22-public-site .ok22-public-frame .ok21-hero {
  padding-block:var(--ok25-hero-space-top) var(--ok25-hero-space-bottom);
}
.ok22-public-site .ok22-public-frame .ok20-design-hero .ok20-hero-grid,
.ok22-public-site .ok22-public-frame .ok21-hero .ok21-hero-grid {
  min-height:calc(var(--ok25-hero-height) - var(--ok25-hero-space-top) - var(--ok25-hero-space-bottom));
}
.ok22-public-site .ok22-public-frame .ok17-designers-page {
  padding-block:var(--ok25-hero-space-top) var(--ok25-section-space);
  min-height:var(--ok25-hero-height);
}
/* Section-to-section rhythm, on the same canvas. Content-driven section height,
   so FAQs / galleries never clip and pinned animation sections retain scroll travel. */
.ok22-public-site .ok265-home .ok265-about,
.ok22-public-site .ok265-home .ok265-services,
.ok22-public-site .ok20-design-types,
.ok22-public-site .ok20-portfolio,
.ok22-public-site .ok20-pricing,
.ok22-public-site .ok20-faq,
.ok22-public-site .ok21-steps,
.ok22-public-site .ok21-showroom,
.ok22-public-site .ok21-template-section,
.ok22-public-site .ok21-pricing,
.ok22-public-site .ok21-faq {
  padding-block:var(--ok25-section-space);
}
/* Intro from homepage: it is purposely quieter and narrower than a hero. */
.ok22-public-site .ok265-home .ok272-about .ok272-about-description {
  font-size:clamp(17px,1.48vw,21px);
  line-height:1.95;
}
/* Grids and section heading gaps shared across product pages. */
.ok22-public-site .ok20-portfolio-grid,
.ok22-public-site .ok20-plan-grid,
.ok22-public-site .ok21-template-grid,
.ok22-public-site .ok21-plan-grid,
.ok22-public-site .ok264-service-grid {
  gap:var(--ok25-grid-gap);
}
/* Sticky scroll sections have custom timeline height by design: do not override. */
@media (max-width:900px) {
  .ok22-public-site {
    --ok25-content-gutter:48px;
    --ok25-h1-size:clamp(38px,5.25vw,54px);
    --ok25-h2-size:clamp(32px,4.8vw,45px);
    --ok25-hero-height:0px;
    --ok25-hero-space-top:54px;
    --ok25-hero-space-bottom:62px;
    --ok25-section-space:70px;
  }
  .ok22-public-site .ok265-home .ok264-hero,
  .ok22-public-site .ok22-public-frame .ok20-design-hero,
  .ok22-public-site .ok22-public-frame .ok21-hero,
  .ok22-public-site .ok265-home .ok264-hero-grid,
  .ok22-public-site .ok22-public-frame .ok20-design-hero .ok20-hero-grid,
  .ok22-public-site .ok22-public-frame .ok21-hero .ok21-hero-grid {
    min-height:0;
  }
}
@media (max-width:600px) {
  .ok22-public-site {
    --ok25-content-gutter:32px;
    --ok25-h1-size:clamp(34px,9.1vw,42px);
    --ok25-h2-size:clamp(29px,7.7vw,36px);
    --ok25-subheading-size:25px;
    --ok25-lead-size:14px;
    --ok25-hero-space-top:40px;
    --ok25-hero-space-bottom:46px;
    --ok25-section-space:52px;
    --ok25-heading-gap:24px;
    --ok25-grid-gap:14px;
  }
  /* On narrow phones use the same title scale but allow longer sentences to wrap. */
  .ok22-public-site .ok265-home .ok264-hero-copy h1,
  .ok22-public-site .ok20-design-hero .ok20-hero-copy h1,
  .ok22-public-site .ok21-hero .ok21-hero-copy h1,
  .ok22-public-site .ok22-public-frame .ok17-designers-page .inner-title,
  .ok22-public-site .ok17-simple-page .inner-title {
    letter-spacing:-.018em;
    line-height:1.29;
    overflow-wrap:normal;
  }
  .ok22-public-site .ok20-hero-copy h1>span,
  .ok22-public-site .ok21-hero-copy h1>span {
    max-width:100%;
  }
}
@media (prefers-reduced-motion:reduce){
  /* These are geometry rules; each page keeps its existing reduced-motion handling. */
}
