/* Shared public/preview treatment. Component font and size overrides still win. */
.v4-body {
  --v4-surface-shadow:0 3px 14px #38252d08,0 1px 3px #38252d05;
  --v4-heading-shadow:0 1px 2px #70001916;
  --v4-card-border:#f0ecee;
  font-family:var(--v4-ui-font);
  color:#3e3b3d;
  background-image:linear-gradient(#ffffffb8,#ffffffb8),var(--v4-flower-pattern);
}
.v4-body :is(.v4-panel,.v4-filter-panel,.v4-story-card,.v4-project-card,.v4-channels>a,.v4-about-shortcuts>a,.v4-quick-links>a,.v4-attachments>a,.v4-person,.v4-partner-grid>a,.v4-partner-grid>div) {
  border-color:var(--v4-card-border); border-radius:12px;
}
.v4-body :is(.v4-about-shortcuts>a,.v4-story-card):hover { box-shadow:0 5px 18px #38252d0f; }
.v4-body .v4-layout,.v4-body .v4-module-grid { gap:36px; }
.v4-body .v4-tabs { min-height:70px; border-radius:10px; border-color:var(--v4-card-border); gap:12px; }
.v4-body .v4-tabs a { min-width:150px; padding:20px 24px 25px; font-size:18px; line-height:1.4; }
.v4-body .v4-tabs a.active:after { height:5px; bottom:11px; width:72px; }

/* Keep the artwork and flower signature, with quieter surrounding decoration. */
.v4-body .v4-brand-banner { height:390px; padding-top:92px; }
.v4-body .v4-about-title-artwork { width:min(100%,740px); }
.v4-body :is(.v4-banner-yellow,.v4-banner-red) { opacity:.06; }
.v4-body .v4-story-banner:before { opacity:.28; }
.v4-body .v4-mission-flower { opacity:.12; }
.v4-body .v4-section-title {
  font-size:var(--module-title-size,18px);
  padding:14px 58px; line-height:1.5; letter-spacing:.4px;
  text-shadow:var(--v4-heading-shadow);
}
.v4-body .v4-section-title:after { width:62px; height:62px; left:-19px; top:-21px; }
.v4-body .v4-module>.v4-section-title { border-radius:12px 12px 0 0; }
.v4-body .v4-section-heading .v4-section-title { padding-right:20px; }
.v4-body .v4-section-link { padding:6px 14px; margin-right:20px; font-size:13px; }
.v4-body .v4-detail-bar { padding:14px 26px; }
.v4-body .v4-detail-bar>span { font-size:var(--module-title-size,18px); }
.v4-body .v4-prose { line-height:1.9; }
.v4-body .v4-about-intro-brand { min-height:122px; padding:30px 40px; }
.v4-body .v4-about-intro-brand>img { width:min(320px,44%); }
.v4-body .v4-about-intro-brand>:is(p,.v4-about-brand-copy) { font-size:var(--module-body-size,17px); font-weight:400; }
.v4-body .v4-about-intro-content { padding:0 40px 36px; }
.v4-body .v4-about-intro-content .v4-prose h2 { font-size:var(--module-title-size,20px); }
.v4-body .v4-about-shortcuts>a { min-height:82px; padding:18px 14px; font-size:var(--module-body-size,16px); gap:12px; }
.v4-body .v4-about-shortcuts>a>img { width:30px; height:34px; }
.v4-body .v4-about-page .v4-quick-links>a { min-height:78px; padding:22px 40px; font-size:var(--module-body-size,17px); }
.v4-body .v4-about-page .v4-quick-links>a:after { width:62px; height:62px; left:-19px; top:-21px; }
.v4-body .v4-about-blocks [data-block="about-strategy"] li { min-height:150px; padding:60px 18px 22px; border-color:#eee4c9; font-weight:500; }
.v4-body .v4-about-blocks [data-block="about-strategy"] li:before { padding:7px; font-size:16px; background:#fbf2d5; }
.v4-body .v4-about-blocks [data-block="about-strategy"] li:nth-child(3) { border-color:#efd7de; }
.v4-body .v4-about-blocks [data-block="about-strategy"] li:nth-child(3):before { background:var(--red); }
.v4-body .v4-org-chart { border-color:#e6d7dc; }
.v4-body .v4-org-node { background:#fffcfd; border-color:#eddee3; font-weight:500; }
.v4-body .v4-modular-page .v4-article-rows article { border-color:var(--v4-card-border); border-radius:10px; }
.v4-body .v4-modular-page .v4-article-rows h2 { color:#3e3b3d; font-weight:600; }
.v4-body .v4-modular-page .v4-article-rows h2 a:hover { color:var(--red); }

/* Branding stays expressive; reading text and controls use the interface font. */
.v4-body .v4-pill { font-family:var(--v4-ui-font); font-size:var(--module-body-size,15px); font-weight:500; min-height:40px; padding:9px 24px; gap:18px; }
.v4-body .v4-home-hero-copy h1 { font-size:var(--module-title-size,clamp(30px,2.8vw,46px)); letter-spacing:1px; }
.v4-body .v4-home-hero-copy>p { font-family:var(--v4-ui-font); font-size:var(--module-body-size,clamp(18px,1.65vw,26px)); font-weight:400; letter-spacing:1px; line-height:1.85; margin:20px 0 28px; }
.v4-body .v4-home-hero-copy .v4-pill { min-width:150px; font-size:var(--module-body-size,16px); }
.v4-body .v4-mission-copy h2 { font-size:var(--module-title-size,clamp(26px,2.2vw,36px)); letter-spacing:1px; }
.v4-body .v4-mission-copy h3 { font-size:var(--module-title-size,clamp(24px,2.1vw,34px)); margin:20px 0 28px; letter-spacing:1px; }
.v4-body .v4-home-mission-body { font-family:var(--v4-ui-font); font-size:var(--module-body-size,18px); line-height:1.9; }
.v4-body .v4-mission-more { font-family:var(--v4-ui-font); font-size:var(--module-body-size,15px); gap:24px; }
.v4-body .v4-mission-more b { width:26px; height:26px; font-size:24px; line-height:23px; }
.v4-body .v4-home-metrics { gap:32px 24px; }
.v4-body .v4-home-metrics h3 { font-family:var(--v4-ui-font); font-size:var(--module-title-size,16px); letter-spacing:.2px; font-weight:400; color:#625b60; }
.v4-body .v4-home-metrics strong { font-family:var(--v4-ui-font); font-size:clamp(30px,3.5vw,60px); font-weight:500; letter-spacing:-.8px; line-height:1.5; }
.v4-body .v4-home-metrics p { font-family:var(--v4-ui-font); font-size:14px; }
.v4-body .v4-home-metrics small { font:12px/1.8 var(--v4-ui-font); }
.v4-body .v4-story-heading { font-size:var(--module-title-size,clamp(25px,2.25vw,38px)); line-height:1.75; letter-spacing:1px; }
.v4-body .v4-story-card h3 { font:600 var(--module-title-size,17px)/1.65 var(--v4-ui-font); }
.v4-body .v4-story-summary { font-family:var(--v4-ui-font); color:#756e72; }
.v4-body .v4-project-card h3 { font:600 var(--module-title-size,19px)/1.6 var(--v4-ui-font); }
.v4-body .v4-project-card span { font-family:var(--v4-ui-font); }
.v4-body .v4-footer { font-family:var(--v4-ui-font); }
.v4-body .v4-footer-title { font-size:16px; font-weight:500; }
.v4-body .v4-footer-bottom>span { letter-spacing:.5px; }
.v4-body .v4-home-slogan-body { font-family:var(--v4-ui-font); letter-spacing:1px; }
.v4-body .v4-gallery { box-shadow:var(--v4-surface-shadow); border-radius:12px; }
.v4-body .v4-backtop { width:36px; height:36px; font-size:22px; box-shadow:var(--v4-surface-shadow); border-color:var(--v4-card-border); }

@media(min-width:901px) {
  .v4-body .v4-header { height:72px; }
  .v4-body .v4-brand { width:208px; }
  .v4-body .v4-nav-dropdown>div { box-shadow:0 8px 20px #65051c16; }
}
@media(max-width:900px) {
  .v4-body .v4-brand-banner { height:330px; padding-top:78px; }
  .v4-body .v4-home-hero-copy h1 { font-size:var(--module-title-size,30px); }
  .v4-body .v4-home-hero-copy>p { font-size:var(--module-body-size,18px); }
}
@media(max-width:760px) {
  .v4-body .v4-layout,.v4-body .v4-module-grid { gap:26px; }
  .v4-body .v4-tabs { min-height:64px; gap:0; padding:0 8px; }
  .v4-body .v4-tabs a { min-width:max-content; padding:18px 12px 23px; font-size:16px; }
  .v4-body .v4-tabs a.active:after { width:52px; height:4px; bottom:10px; }
  .v4-body .v4-brand-banner { height:260px; padding:64px 6% 42px; }
  .v4-body .v4-section-title { padding:13px 42px; font-size:var(--module-title-size,17px); }
  .v4-body .v4-section-title:after,.v4-body .v4-about-page .v4-quick-links>a:after { width:50px; height:50px; left:-16px; top:-17px; }
  .v4-body .v4-section-heading .v4-section-title { padding-right:42px; padding-bottom:10px; }
  .v4-body .v4-section-link { margin:0 0 16px; }
  .v4-body .v4-about-intro-brand { min-height:0; padding:28px 24px 24px; gap:18px; }
  .v4-body .v4-about-intro-brand>img { width:min(300px,100%); }
  .v4-body .v4-about-intro-brand>:is(p,.v4-about-brand-copy) { font-size:var(--module-body-size,15px); }
  .v4-body .v4-about-intro-content { padding:0 24px 28px; }
  .v4-body .v4-about-shortcuts>a { min-height:74px; padding:16px 10px; font-size:var(--module-body-size,14px); gap:10px; }
  .v4-body .v4-about-shortcuts>a>img { width:26px; height:30px; }
  .v4-body .v4-about-page .v4-quick-links>a { padding:20px 18px; min-height:74px; font-size:var(--module-body-size,15px); }
  .v4-body .v4-home-mission-body { font-size:var(--module-body-size,16px); }
  .v4-body .v4-home-metrics { gap:24px 18px; }
  .v4-body .v4-home-metrics h3 { font-size:var(--module-title-size,14px); }
  .v4-body .v4-home-metrics strong { font-size:clamp(24px,6.7vw,34px); letter-spacing:-.4px; }
  .v4-body .v4-home-metrics>div:first-child strong { font-size:clamp(32px,9vw,42px); }
  .v4-body .v4-home-metrics p { font-size:12px; }
  .v4-body .v4-story-card h3 { font-size:var(--module-title-size,16px); }
}
