:root{--july-font-body:Manrope,Arial,Helvetica,sans-serif;--july-font-display:Manrope,Arial,Helvetica,sans-serif}.july-site h1,.july-site h2{font-weight:800;letter-spacing:-.035em}.july-site h3{font-weight:800}.july-sections>.hero{padding-block:0}.july-section-content{padding-block:0}.july-event-dialog{font-family:var(--july-font-body);font-size:var(--july-font-body-size)}

/* Client rule, 2026-11-01: every page footer has one top divider. */
:root body.july-site.multipage-site footer{border-top:1px solid #e9e8ed}

/* One client palette, shared by every page and the inline editor. */
:root{--stasia-blue:#5015f5;--stasia-yellow:#ffe449;--stasia-pink:#c42c68;--stasia-paper:#fff;--stasia-line:#e9e8ed;--stasia-blue-hover:#3810b7;--stasia-yellow-hover:#f5d72e}
body.july-site.multipage-site{--paper:var(--stasia-paper);background:var(--stasia-paper)}
body.july-site.multipage-site.is-inner main.july-sections{background:var(--stasia-paper)}
body.july-site.is-home #about,body.july-site.is-home #services,body.july-site.is-home #reviews,body.july-site.is-home #contacts,body.july-site.is-home footer{background:var(--stasia-paper)}
/* Never follow the blue cases band with a yellow full-width band. */
body.july-site.is-home #speaking.education-feature{background:var(--stasia-paper)}
body.july-site.multipage-site .page-contact{background:var(--stasia-paper)}
body.july-site.multipage-site footer{background:var(--stasia-paper)}
/* Theme existing widgets without changing shared Gallery/Price sources. */
.july-site .july-gallery-nav button{color:var(--stasia-blue);border-color:var(--stasia-line);background:var(--stasia-paper)}
.july-photo-viewer{color:var(--stasia-pink)}
.july-photo-controls button:focus-visible,.july-photo-stage:focus-visible{outline-color:var(--stasia-pink)}


/* Unified site footer · 2026-11-02
   All client pages and case editor shell: a quiet lavender terminal surface.
   Preserve existing brand, legal links, cookies and accessibility. */
:root body.july-site.multipage-site > footer{
  background:#f8f6ff;
  color:#514b60;
  border-top:1px solid #dcd4e8;
  padding-block:20px;
}
:root body.july-site.multipage-site > footer > .july-section-shell{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px 28px;
}
:root body.july-site.multipage-site > footer .meta{
  margin:0!important;
  color:#514b60;
  font-family:var(--july-font-body,Manrope,Arial,sans-serif);
  font-size:14px;
  font-weight:500;
  line-height:1.45;
}
:root body.july-site.multipage-site > footer .stasia-privacy-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px 20px;
  margin:0;
  color:#514b60;
  font-family:var(--july-font-body,Manrope,Arial,sans-serif);
  font-size:13px;
  line-height:1.45;
}
:root body.july-site.multipage-site > footer .stasia-privacy-links :is(a,button){
  color:inherit;
}
@media(max-width:700px){
  :root body.july-site.multipage-site > footer{
    padding-block:18px;
  }
  :root body.july-site.multipage-site > footer > .july-section-shell{
    flex-direction:column;
    align-items:stretch;
    gap:9px;
  }
  :root body.july-site.multipage-site > footer .stasia-privacy-links{
    justify-content:flex-start;
  }
}

/* Safari footer canvas continuation — 2026-11-02.
   iOS Safari can expose the root document canvas beneath the footer
   while rubber-banding or behind its translucent bottom toolbar.
   Keep the site body/content white and match only the exposed root
   canvas to the approved unified footer surface (#f8f6ff).
   A prior services-page-specific rule painted the HTML canvas white. */
:root,
:root.stasia-services-page {
  background-color:#f8f6ff;
}


/* Text rhythm parity · 2026-11-03
   A heading produced by the editor's inline Аа is genuine display typography:
   its line-height must not inherit the larger 17px reading line box.
   Keep the sanitized <span> and <br> in the source (for mobile sheet,
   desktop contenteditable, drafts, server validation and accessibility);
   change PRESENTATION ONLY, never the stored text or block structure.
   This style is shared by owner editor and published visitor pages. */
/* A heading-only block must also wrap tightly, even without a following
   body-text <br>; other inline heading runs inherit the same line height. */
body.july-site :is([data-july-v2],[data-case-text],[data-price-quick],.detail-text) >
 span:is([style*="font-size:32px"],[style*="font-size: 32px"]){
 line-height:1.13;
}
body.july-site :is([data-july-v2],[data-case-text],[data-price-quick],.detail-text) >
 span:is([style*="font-size:32px"],[style*="font-size: 32px"]):first-child{
 display:block;
}
body.july-site :is([data-july-v2],[data-case-text],[data-price-quick],.detail-text) >
 span:is([style*="font-size:32px"],[style*="font-size: 32px"]):has(+ br){
 display:block;
 line-height:1.13;
 margin:0 0 8px;
 padding:0;
}
body.july-site :is([data-july-v2],[data-case-text],[data-price-quick],.detail-text) >
 span:is([style*="font-size:32px"],[style*="font-size: 32px"]) + br{
 display:none;
}
/* A compact rhythm for paragraphs in a case story; its image galleries,
   results/KPIs, navigation, section padding and elsewhere remain unchanged. */
body.july-site.case-page .case-document .case-story .case-block-text [data-case-text]{
 line-height:1.46;
}
body.july-site.case-page .case-document .case-story
 .case-block-text + .case-block-text,
body.july-site.case-page .case-document .case-story
 .case-block-heading + .case-block-text{
 margin-top:12px;
}
body.july-site.case-page .case-document .case-story
 .case-block-text + .case-block-heading{
 margin-top:22px;
}




/* 2026-11-03 semantic paragraph rhythm.
   A server-approved empty inline marker separates authored paragraphs.
   It is more stable than BR+BR, whose native blank line ignores CSS margin.
   One marker = exactly 12px extra vertical spacing; Shift+Enter BR stays
   a normal line at the unchanged 1.46 body line-height. */
body.july-site :is([data-july-v2],[data-case-text],[data-price-quick],.detail-text,
 [data-july-rich],.trial-text-input) [data-july-paragraph="true"]{
 display:block!important;
 height:12px!important;min-height:12px!important;
 line-height:0!important;font-size:0!important;
 margin:0!important;padding:0!important;border:0!important;
}
body.july-site :is([data-july-v2],[data-case-text],[data-price-quick],.detail-text,
 [data-july-rich],.trial-text-input) >
 span:is([style*="font-size:32px"],[style*="font-size: 32px"]){
 display:block;
 line-height:1.13;
 margin-top:18px;
}
body.july-site :is([data-july-v2],[data-case-text],[data-price-quick],.detail-text,
 [data-july-rich],.trial-text-input) >
 span:is([style*="font-size:32px"],[style*="font-size: 32px"]):first-child{
 margin-top:0;
}
/* From a 32px heading to its 17px body, preserve the approved tighter 8px. */
body.july-site :is([data-july-v2],[data-case-text],[data-price-quick],.detail-text,
 [data-july-rich],.trial-text-input) >
 span:is([style*="font-size:32px"],[style*="font-size: 32px"])
 + [data-july-paragraph="true"]{
 height:8px!important;min-height:8px!important;
}
/* 12px after body + 10px before a following heading = approved 22px. */
body.july-site :is([data-july-v2],[data-case-text],[data-price-quick],.detail-text,
 [data-july-rich],.trial-text-input) >
 [data-july-paragraph="true"] + span:is([style*="font-size:32px"],[style*="font-size: 32px"]){
 margin-top:10px;
}


@font-face{font-family:JulyOswald;src:url(oswald-600.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap;}

/* Desktop typography: common roles across Anastasia's entire public site.
   Intentionally distinct: brand wordmarks, case KPI numbers, pink annotations,
   secondary metadata and white text on saturated sections.
   No changes to mobile/tablet. */
@media (min-width:1024px) {
  body.july-site {
    --july-desktop-primary:#161322;
    --july-desktop-body:#24212c;
    --july-desktop-secondary:#51495c;
    --july-desktop-blue:#5015f5;
  }
  /* Major section/page title: 44px Oswald 600. */
  body.july-site.speaking-designed .speak-main .speak-display,
  body.july-site.speaking-designed .speak-main .speak-heading,
  body.july-site.all-cases-page .all-cases-main h1,
  body.july-site.case-page .case-document h1,
  body.july-site.services-vnext-desktop .services-mobile-contact h2 {
    font:600 44px/1.13 JulyOswald,Manrope,Arial,sans-serif!important;
    letter-spacing:normal!important;
  }
  body.july-site.is-home .home-service-directions > h2 {
    color:var(--july-desktop-primary)!important;
  }
  /* Body copy on light surfaces: Manrope 17px, 400 / 1.5. */
  body.july-site.is-home #about .desktop-about-intro > p,
  body.july-site.is-home #services .desktop-services-card-copy,
  body.july-site.is-home #cases .desktop-case-brief-work,
  body.july-site.speaking-designed .speak-intro-copy,
  body.july-site.speaking-designed .speak-format-text p,
  body.july-site.speaking-designed .speak-editorial-text,
  body.july-site.services-vnext-desktop .service-reading-item p:not(.service-reading-price-row),
  body.july-site.all-cases-page .case-tile > p {
    font:400 17px/1.5 Manrope,Arial,Helvetica,sans-serif!important;
    color:var(--july-desktop-body)!important;
  }
  body.july-site .about-design .about-hero p,
  body.july-site .about-design .about-experience p,
  body.july-site .about-design .about-education p,
  body.july-site .about-design .about-achievements p,
  body.july-site .about-design .about-additional p,
  body.july-site.case-page .case-block:not(.case-block-heading) > p,
  body.july-site.case-page .case-results-note {
    color:var(--july-desktop-body)!important;
  }
  /* Service and ordinary card titles: 19px Manrope 700 / 1.3. */
  body.july-site.is-home #services .desktop-services-card-name,
  body.july-site.services-vnext-desktop .service-reading-item h2,
  body.july-site.speaking-designed .speak-format-text h3,
  body.july-site.all-cases-page .case-tile h2 {
    font:700 19px/1.3 Manrope,Arial,sans-serif!important;
    color:var(--july-desktop-body)!important;
    letter-spacing:normal!important;
  }
  body.july-site.is-home #services .desktop-services-tab-label {
    color:var(--july-desktop-body)!important;
  }
  /* Prices share the same vivid-blue 17px/700 emphasis on both pages. */
  body.july-site.services-vnext-desktop .service-reading-price {
    color:var(--july-desktop-blue)!important;
    font:700 17px/1.45 Manrope,Arial,sans-serif!important;
  }
}
