/*
Theme Name: Mr. Savannah Native
Description: Editorial block child theme for the native rebuild. Live go-live variant (root-relative permalinks).
Version: 1.4.0
Template: twentytwentyfive
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mrsavannah-native
Tags: block-patterns, full-site-editing, wide-blocks
*/
/* Brand tokens are also editable in theme.json. No remote font imports. */
:root { --ms-paper:#f6f2ec; --ms-ink:#22211f; --ms-muted:#6d685f; --ms-bronze:#9c7b4f; --ms-line:#d9d1c5; --ms-navy:#14284B; --ms-serif:"Cormorant Garamond",Georgia,serif; --ms-sans:"Montserrat",Arial,sans-serif; --ms-gutter:clamp(20px,4vw,56px); }
html { scroll-padding-top:2rem; }
body { margin:0; -webkit-font-smoothing:antialiased; }
*, *::before, *::after { box-sizing:border-box; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > * { margin-block-start:0; }
a { text-underline-offset:.2em; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:2px solid var(--ms-navy); outline-offset:5px; }
img { max-width:100%; height:auto; }
/* Native source headings have inline Georgia. Deliberately replace just the
   typeface, not their copy, levels, alignments, colors or authored sizing. */
.ms-page-content :is(h1,h2,h3,h4,h5,h6) { font-family:var(--ms-serif) !important; }
.ms-header { padding:26px var(--ms-gutter); border-bottom:1px solid var(--ms-line); background:var(--ms-paper); }
.ms-header-inner { gap:24px; }
.ms-brand { flex:0 0 auto; gap:0; row-gap:0; }
/* Beat core :where(.is-layout-flow) > * + * and theme.json blockGap (1.5rem). */
.ms-header .ms-brand.wp-block-group,
.ms-header .ms-brand {
  gap:0 !important;
  row-gap:0 !important;
  --wp--style--block-gap:0px;
}
.ms-header .ms-brand.wp-block-group.is-layout-flow > * + *,
.ms-header .ms-brand.is-layout-flow > * + *,
.ms-header .ms-brand > * + *,
.ms-header .ms-brand > * {
  margin-block-start:0 !important;
  margin-block-end:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.ms-header .ms-wordmark,
.ms-header .ms-wordmark.wp-block-paragraph,
.ms-header .wp-block-site-title.ms-wordmark,
.ms-header h1.wp-block-site-title {
  margin:0 !important;
  font-family:var(--ms-serif);
  font-size:27px;
  font-weight:600;
  line-height:1 !important;
  letter-spacing:.1em;
}
.ms-wordmark { margin:0; font-family:var(--ms-serif); font-size:27px; font-weight:600; line-height:1; letter-spacing:.1em; }
.ms-wordmark a { color:inherit; text-decoration:none; }
.ms-header .ms-tagline,
.ms-header .ms-tagline.wp-block-paragraph {
  margin:5px 0 0 !important;
  margin-block-start:5px !important;
  margin-block-end:0 !important;
  font-family:var(--ms-sans);
  font-size:8px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:.14em;
}
.ms-tagline { margin:5px 0 0; font-family:var(--ms-sans); font-size:8px; line-height:1.3; font-weight:500; letter-spacing:.14em; }
.ms-main-nav { margin:0; font-family:var(--ms-sans); }
.ms-main-nav .wp-block-navigation__container { gap:clamp(16px,2.2vw,34px); }
.ms-main-nav .wp-block-navigation-item__content { text-decoration:none; padding-block:8px; }
.ms-main-nav .wp-block-navigation-item__content:hover { text-decoration:underline; text-decoration-color:var(--ms-bronze); }
.ms-main-nav .ms-nav-cta .wp-block-navigation-item__content { padding:12px 18px; border:1px solid var(--ms-bronze); min-height:44px; }
.ms-main-nav .ms-nav-cta .wp-block-navigation-item__content:hover { background:var(--ms-ink); color:var(--ms-paper); text-decoration:none; }
.ms-main-nav .wp-block-navigation__responsive-container.is-menu-open { background:var(--ms-paper); color:var(--ms-ink); padding:32px; }
.ms-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap:24px; align-items:flex-start; }
.ms-page-main, .ms-page-content { margin:0; width:100%; max-width:none; }
/* Layout-v2 uses a full-width outer Group and explicit wide/full sections. */
.ms-page-content > .alignwide { max-width:1280px; margin-inline:auto; }
.ms-page-content > .alignfull { width:100%; max-width:none; margin-inline:0; }
.ms-page-content > :is(p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote,figure:not(.alignwide):not(.alignfull),.wp-block-buttons) { max-width:760px; margin-inline:auto; padding-inline:var(--ms-gutter); }
.ms-page-content > :is(p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote,figure,.wp-block-buttons):first-child { margin-top:3rem; }
.ms-page-content > :last-child { margin-bottom:4rem; }
/* Review notes have NO unique class in source. Intentionally not hidden here:
   their containing Group includes the whole page. Remove note paragraphs in
   staging content; never hide a whole first Group or match generic colors. */
.ms-eyebrow { color:var(--ms-muted); font-family:var(--ms-sans); font-size:10px; line-height:1.7; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.ms-footer { margin-top:0; padding:64px var(--ms-gutter) 28px; background:var(--ms-paper); border-top:1px solid var(--ms-line); }
.ms-footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 80px; gap:36px; align-items:start; }
.ms-footer-top > * { margin:0; min-width:0; }
.ms-footer p { font-size:12px; color:var(--ms-muted); }
.ms-footer .ms-wordmark { color:var(--ms-ink); font-size:27px; }
.ms-footer-top p + p { margin-top:18px; }
.ms-footer .ms-eyebrow { font-size:9px; margin:0 0 14px; }
.ms-footer a { color:var(--ms-ink); text-decoration:none; overflow-wrap:anywhere; }
.ms-footer a:hover { color:var(--ms-navy); text-decoration:underline; }
.ms-kw-logo { filter:none; }
.ms-kw-logo img { display:block; object-fit:contain; background:#fff; }
.ms-footer-lower { margin-top:36px; }
.ms-footer-nav { border-top:1px solid var(--ms-line); padding-top:24px; font-size:11px; }
.ms-footer-nav .wp-block-navigation__container { gap:16px 30px; }
.ms-footer-bottom { border-top:1px solid var(--ms-line); padding-top:24px; margin-top:28px; gap:16px 24px; }
.ms-footer-bottom p { margin:0; font-size:10px; line-height:1.8; }
.ms-text-link { font-size:11px; font-family:var(--ms-sans); }
.ms-text-link a { color:var(--ms-ink); text-decoration:underline; text-decoration-color:var(--ms-bronze); text-underline-offset:8px; }
.ms-story-heading { padding:60px var(--ms-gutter) 48px; }
.ms-story-heading .wp-block-post-title { max-width:1000px; margin-top:20px; font-size:clamp(2.75rem,5.3vw,4.75rem); }
.ms-story-heading > .ms-text-link { margin-bottom:28px; }
.ms-story-date { gap:10px 20px; color:var(--ms-muted); font-size:10px; line-height:1.7; letter-spacing:.1em; }
.ms-story-date > * { margin:0; }
.ms-story-date a { text-decoration:none; }
.ms-story-hero { width:100%; max-width:none; margin:0; }
.ms-story-hero img { display:block; width:100%; height:clamp(280px,42vw,570px); object-fit:cover; }
.ms-story-hero figcaption { padding:12px var(--ms-gutter); font-size:11px; }
.ms-story-layout { padding:64px var(--ms-gutter) 80px; display:grid; grid-template-columns:170px minmax(0,1fr); gap:clamp(32px,5vw,80px); }
.ms-story-layout > * { margin:0; min-width:0; }
.ms-story-meta { position:sticky; top:32px; align-self:start; font-size:11px; }
.ms-story-meta > .ms-eyebrow { color:var(--ms-muted); font-size:9px; }
.ms-story-meta .wp-block-post-author-name { font-size:11px; }
.ms-story-body { font-size:16px; line-height:1.95; overflow-wrap:break-word; }
.ms-story-body > p:first-of-type { font-family:var(--ms-serif); font-size:clamp(24px,2.3vw,29px); line-height:1.45; }
.ms-story-body h2 { margin-top:42px; font-size:clamp(2rem,3vw,2.5rem); }
.ms-story-body h3 { margin-top:30px; font-size:2rem; }
.ms-story-body figure { margin-block:28px; }
.ms-story-body figcaption { font-size:11px; line-height:1.8; color:var(--ms-muted); }
.ms-story-body iframe { max-width:100%; }
.ms-story-body blockquote { margin-inline:0; border-left:1px solid var(--ms-bronze); padding-left:28px; font-family:var(--ms-serif); font-size:30px; line-height:1.4; }
.ms-story-end { margin-top:40px; padding-top:28px; border-top:1px solid var(--ms-line); }
.ms-blog-main { padding:0 var(--ms-gutter) 0; }
.ms-blog-intro { padding:75px 0 55px; border-bottom:1px solid var(--ms-line); }
.ms-blog-intro .ms-eyebrow { color:var(--ms-bronze); }
.ms-blog-intro h1 { margin-top:17px; font-size:clamp(3.25rem,6vw,4.875rem); line-height:1.02; }
.ms-blog-intro-columns { align-items:end; gap:60px; margin:0; }
.ms-blog-intro-columns p { font-size:12px; max-width:330px; color:var(--ms-muted); margin:0; justify-self:end; }
.ms-blog-lead-wrap { padding-top:0; padding-bottom:0; }
.ms-blog-lead-query { margin:0; }
.ms-blog-lead { gap:0; align-items:stretch; min-height:470px; padding-top:48px; padding-bottom:70px; margin:0; }
.ms-blog-lead-photo { min-height:470px; background:#e4ddd2; }
.ms-blog-lead-image, .ms-blog-lead-image img { display:block; width:100%; height:100%; object-fit:cover; margin:0; }
.ms-blog-lead-image { min-height:470px; }
.ms-blog-lead-copy { background:#eae4d9; padding:45px; display:flex; flex-direction:column; justify-content:center; }
.ms-blog-lead-copy > * { margin:0; }
.ms-blog-lead-copy .ms-eyebrow { color:var(--ms-bronze); margin-bottom:19px; }
.ms-blog-lead-copy .wp-block-post-title { font-size:clamp(2rem,3.6vw,3.125rem); line-height:1.06; margin:14px 0 20px; }
.ms-blog-lead-copy .wp-block-post-title a { text-decoration:none; }
.ms-blog-lead-copy .wp-block-post-excerpt { font-size:11px; line-height:1.9; color:var(--ms-muted); margin-bottom:8px; }
.ms-blog-meta { gap:0; color:var(--ms-muted); font-size:8px; letter-spacing:.12em; text-transform:uppercase; line-height:1.8; margin:0; }
.ms-blog-meta .wp-block-post-terms:not(:empty)::after { content:" / "; white-space:pre; }
.ms-blog-meta .wp-block-post-terms a, .ms-blog-meta .wp-block-post-date { color:inherit; text-decoration:none; }
.ms-blog-list { padding-top:0; }
.ms-blog-query { padding-top:0; padding-bottom:40px; }
.ms-blog-query .wp-block-post-template { gap:48px 28px; }
.ms-blog-card > * + * { margin-top:0; }
.ms-blog-card .ms-blog-card-photo, .ms-blog-card .wp-block-post-featured-image { margin:0 0 0; background:#e4ddd2; }
.ms-blog-card .wp-block-post-featured-image img { display:block; aspect-ratio:1.48; width:100%; object-fit:cover; }
.ms-blog-card .ms-blog-meta { margin-top:20px; }
.ms-blog-card .wp-block-post-title { font-size:clamp(1.75rem,2.4vw,2.0625rem); line-height:1.1; margin:13px 0 15px; }
.ms-blog-card .wp-block-post-title a { text-decoration:none; }
.ms-blog-card .wp-block-post-excerpt { font-size:11px; line-height:1.9; color:var(--ms-muted); }
.ms-blog-card .wp-block-post-excerpt__more-link, .ms-blog-lead-copy .wp-block-post-excerpt__more-link { color:var(--ms-ink); font-size:9px; font-family:var(--ms-sans); text-decoration:underline; text-decoration-color:var(--ms-bronze); text-underline-offset:8px; display:inline-block; margin-top:14px; }
.ms-blog-query .wp-block-query-pagination { border-top:1px solid var(--ms-line); padding-top:32px; margin-top:48px; font-size:12px; gap:24px; justify-content:center; }
.ms-blog-query .page-numbers { padding:6px; }
.ms-contact-band { background:#e7e0d5; padding:58px var(--ms-gutter); margin:0; }
.ms-contact-band-inner { width:100%; max-width:1328px; margin-inline:auto; }
.ms-contact-band-columns { align-items:center; gap:40px; margin:0; }
.ms-contact-band .ms-eyebrow { color:var(--ms-muted); }
.ms-contact-band h2 { margin-top:10px; font-size:clamp(2.5rem,4.5vw,3.625rem); }
.ms-contact-band .wp-block-button__link { min-height:52px; }
.ms-contact-band .ms-text-link { margin-top:10px; font-size:9px; }
@media (max-width:1000px) {
 .ms-header { padding-block:22px; }
 .ms-header-inner { gap:18px; }
 .ms-tagline { font-size:7px; }
 .ms-main-nav .wp-block-navigation__container { gap:16px; }
 .ms-footer-top { grid-template-columns:1.2fr 1fr; }
 .ms-story-layout { grid-template-columns:140px minmax(0,1fr); gap:36px; }
 .ms-blog-intro-columns { gap:36px; }
 .ms-blog-lead { min-height:0; }
 .ms-blog-lead-photo, .ms-blog-lead-image { min-height:360px; }
 .ms-blog-lead-copy { padding:30px; }
 .ms-blog-query .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
 .ms-header-inner { flex-wrap:nowrap; }
 .ms-wordmark { font-size:24px; }
 .ms-tagline { font-size:6.5px; letter-spacing:.1em; }
 /* Use WordPress's accessible native modal, opening before links can collide. */
 .ms-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none !important; }
 .ms-main-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display:flex; }
 .ms-main-nav .wp-block-navigation__responsive-container-open { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
 .ms-footer { padding-top:44px; }
 .ms-footer-top { grid-template-columns:1fr; gap:28px; }
 .ms-footer-bottom { display:block; }
 .ms-footer-bottom > * + * { margin-top:12px; }
 .ms-story-heading { padding-top:40px; padding-bottom:32px; }
 .ms-story-layout { display:block; padding-top:36px; padding-bottom:48px; }
 .ms-story-meta { position:static; border-bottom:1px solid var(--ms-line); padding-bottom:24px; margin-bottom:32px; }
 .ms-blog-intro { padding:48px 0 35px; }
 .ms-blog-intro-columns { display:block; }
 .ms-blog-intro-columns .wp-block-column + .wp-block-column { margin-top:24px; }
 .ms-blog-intro h1 { font-size:3.25rem; }
 .ms-blog-intro-columns p { max-width:300px; font-size:12px; }
 .ms-blog-lead { display:block; padding:30px 0 40px; }
 .ms-blog-lead-photo, .ms-blog-lead-image { min-height:0; height:270px; }
 .ms-blog-lead-copy { padding:30px 24px; }
 .ms-blog-query .wp-block-post-template { grid-template-columns:1fr; gap:38px; }
 .ms-blog-query .wp-block-query-pagination { flex-wrap:wrap; }
 .ms-contact-band { padding:43px var(--ms-gutter); }
 .ms-contact-band-columns { display:block; }
 .ms-contact-band h2 { margin-bottom:27px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Layout v2: content structure, scoped to the new core-block pages. */
.ms-native-page { width:100%; max-width:none; margin:0; background:var(--ms-paper); color:var(--ms-ink); font-size:13px; line-height:1.9; }
.ms-native-page > * { margin-block:0; }
.ms-native-page > .alignwide { width:calc(100% - var(--ms-gutter)*2); max-width:1328px; margin-inline:auto; }
.ms-native-page > .alignfull { width:100%; max-width:none; margin-inline:0; }
.ms-native-page .wp-block-column { min-width:0; }
.ms-native-page .wp-block-columns { gap:clamp(28px,4.5vw,70px); margin-bottom:0; }
.ms-native-page .wp-block-column > :first-child { margin-top:0; }
.ms-native-page :is(h1,h2,h3) { font-family:var(--ms-serif) !important; font-weight:400; line-height:1.06; letter-spacing:-.025em; color:var(--ms-navy); }
.ms-native-page :is(h4,h5,h6) { color:var(--ms-navy); }
.ms-native-page :is(h1,h2,h3,h4,h5,h6) a:not(.wp-block-button__link) { color:inherit; }
.wp-block-post-title,
.wp-block-post-title a,
.ms-blog-lead-copy .wp-block-post-title,
.ms-blog-lead-copy .wp-block-post-title a,
.ms-blog-card .wp-block-post-title,
.ms-blog-card .wp-block-post-title a,
.ms-story-heading .wp-block-post-title,
.ms-story-heading .wp-block-post-title a,
.ms-blog-card-js .wp-block-post-title,
.ms-blog-card-js .wp-block-post-title a,
.ms-blog-lead-js .wp-block-post-title,
.ms-blog-lead-js .wp-block-post-title a {
  color:var(--ms-navy);
}
.ms-page-intro h1,
.ms-blog-intro h1,
.ms-contact-band h2,
.ms-section-heading h2,
.ms-intro-columns h2,
.ms-perspective-copy h2,
.ms-about-columns h2,
.ms-property-title h1,
.ms-property-description h2,
.ms-story-body h2,
.ms-story-body h3,
.ms-prose h2,
.ms-place-row {
  color:var(--ms-navy);
}
/* Dark hero / cover: keep large text light for contrast. */
.ms-home-hero :is(h1,h2,h3,h4),
.ms-home-hero :is(h1,h2,h3,h4) a,
.wp-block-cover.ms-home-hero :is(h1,h2,h3,h4),
.wp-block-cover.ms-home-hero .wp-block-heading {
  color:var(--ms-paper) !important;
}
.ms-calculator :is(h1,h2,h3),
.ms-calculator .wp-block-heading {
  color:var(--ms-paper);
}
.ms-native-page h1 { font-size:clamp(48px,6vw,86px); }
.ms-native-page h2 { font-size:clamp(40px,4.3vw,64px); }
.ms-native-page h3 { font-size:clamp(28px,2.6vw,36px); }
.ms-native-page em { font-weight:400; }
.ms-native-page p { color:var(--ms-muted); }
.ms-native-page a:not(.wp-block-button__link) { color:inherit; text-decoration:none; }
.ms-native-page a:not(.wp-block-button__link):hover { text-decoration:underline; text-decoration-color:var(--ms-bronze); }
.ms-native-page figure { margin:0; }
.ms-native-page figure img { display:block; width:100%; }
.ms-native-page .ms-section { padding-block:clamp(56px,7.5vw,112px); }
.ms-native-page .ms-eyebrow { font-size:9px; letter-spacing:.17em; font-weight:600; line-height:1.8; text-transform:uppercase; color:var(--ms-bronze); }
.ms-native-page .ms-fine { font-size:10px; line-height:1.9; }
.ms-native-page .wp-block-button__link { border-radius:0; font-size:11px; letter-spacing:.02em; padding:16px 23px; min-height:50px; line-height:1.6; }
.ms-native-page .ms-page-intro { padding-bottom:48px; }
.ms-page-intro h1 { max-width:1020px; margin-block:20px; }
.ms-page-intro > p:not(.ms-eyebrow) { max-width:760px; }
.ms-native-page .ms-home-hero { position:relative; isolation:isolate; overflow:hidden; padding:50px var(--ms-gutter); height:min(780px,calc(100svh - 96px)); min-height:620px; color:var(--ms-paper); background:#30332e; }
.ms-home-hero > .wp-block-cover__image-background { z-index:0; object-position:center 49%; }
.ms-home-hero > .wp-block-cover__background { z-index:2; background:linear-gradient(90deg,rgba(17,24,20,.65),rgba(17,24,20,.22)),linear-gradient(0deg,rgba(17,24,20,.5),transparent 45%) !important; opacity:1; }
.ms-home-hero > .wp-block-cover__inner-container { position:static; width:100%; max-width:1328px; }
.ms-home-hero .ms-hero-copy { position:relative; z-index:3; }
.ms-home-hero :is(p,h1) { color:var(--ms-paper); }
.ms-home-hero .ms-eyebrow { font-size:9px; max-width:640px; color:#f6f2ec; text-shadow:0 1px 2px rgba(17,24,20,.7), 0 0 18px rgba(17,24,20,.45); }
.ms-home-hero .ms-hero-copy::before {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:min(70%,720px);
  height:min(55%,360px);
  pointer-events:none;
  z-index:0;
  background:radial-gradient(ellipse at 0% 0%, rgba(17,24,20,.42) 0%, rgba(17,24,20,.12) 55%, transparent 75%);
}
.ms-home-hero .ms-hero-copy > * { position:relative; z-index:1; }
.ms-home-hero h1 { font-size:clamp(58px,6.45vw,94px); line-height:.99; margin-block:24px; max-width:1000px; }
.ms-home-hero .ms-hero-sub { font-size:12px; line-height:1.9; margin-bottom:32px; }
.ms-home-hero .ms-hero-bottom { border-top:1px solid #fff5; padding-top:18px; margin-top:48px; gap:24px; }
.ms-home-hero .ms-hero-bottom p { font-size:8px; letter-spacing:.12em; margin:0; }
.ms-home-hero .ms-hero-explore { text-align:right; }
.ms-native-page .ms-hero-frame { position:absolute; inset:0; z-index:1; width:100%; height:100%; margin:0; opacity:0; pointer-events:none; }
.ms-hero-frame img { width:100%; height:100%; object-fit:cover; }
/* Finite gentle crossfade: no endlessly moving content or inaccessible pause control. */
.ms-hero-frame-two { animation:ms-frame-two 18s ease-in-out 1 both; }
.ms-hero-frame-three { animation:ms-frame-three 18s ease-in-out 1 both; }
@keyframes ms-frame-two { 0%,28%{opacity:0} 34%,61%{opacity:1} 67%,100%{opacity:0} }
@keyframes ms-frame-three { 0%,61%{opacity:0} 67%,94%{opacity:1} 100%{opacity:0} }
.ms-home-hero:hover .ms-hero-frame,.ms-home-hero:focus-within .ms-hero-frame { animation-play-state:paused; }
.ms-home-intro { border-bottom:1px solid var(--ms-line); }
.ms-intro-columns { align-items:center; }
.ms-intro-columns h2 { margin-block:18px 0; font-size:clamp(40px,4vw,56px); }
.ms-intro-columns .wp-block-column:last-child p { max-width:440px; }
.ms-section-heading { align-items:flex-end; margin-bottom:40px !important; }
.ms-section-heading h2 { margin:12px 0 0; }
.ms-section-heading .wp-block-column:last-child { text-align:right; }
.ms-property-card { position:relative; }
.ms-native-page .ms-card-grid { gap:28px; align-items:flex-start; }
.ms-card-grid + .ms-card-grid { margin-top:52px; }
.ms-property-card .ms-card-photo img { aspect-ratio:1.28; object-fit:cover; }
.ms-property-card .ms-card-arrow { position:absolute; top:12px; right:12px; display:grid; place-items:center; background:var(--ms-paper); color:var(--ms-ink); width:33px; height:33px; margin:0; font-size:18px; }
.ms-native-page .ms-card-meta { gap:12px; margin-top:20px; }
.ms-card-meta p { margin:0; line-height:1.6; }
.ms-card-meta .ms-eyebrow { font-size:8px; color:var(--ms-muted); letter-spacing:.1em; }
.ms-card-meta .ms-card-price { text-align:right; white-space:nowrap; font-size:12px; color:var(--ms-ink); }
.ms-property-card h3 { font-size:clamp(27px,2.5vw,34px); margin:12px 0; }
.ms-property-card .ms-card-spec { font-size:10px; line-height:1.8; }
.ms-card-spec i { display:inline-block; width:2px; height:2px; background:var(--ms-bronze); vertical-align:middle; margin-inline:6px; }
.ms-property-card .ms-fine { font-size:9px; margin-top:12px; }
.ms-featured > .ms-fine { border-top:1px solid var(--ms-line); margin-top:32px; padding-top:18px; max-width:900px; }
.ms-native-page .ms-perspective { background:#eae5db; }
.ms-native-page .ms-perspective-columns { gap:0; align-items:stretch; }
.ms-perspective-photo { position:relative; }
.ms-perspective-photo .ms-perspective-image { height:100%; }
.ms-perspective-photo img { height:100%; min-height:620px; object-fit:cover; }
.ms-perspective-photo .ms-eyebrow { position:absolute; bottom:25px; left:30px; right:20px; color:#fff; font-size:8px; text-shadow:0 1px 6px #000; }
.ms-perspective-copy { padding:76px clamp(28px,4.5vw,76px); align-self:center; }
.ms-perspective-copy h2 { font-size:clamp(40px,4vw,58px); margin-block:18px 22px; }
.ms-perspective-copy > p:not(.ms-eyebrow) { font-size:12px; }
.ms-perspective-copy .ms-place-row { padding:16px 0; border-top:1px solid #c8beb0; margin:0; font-family:var(--ms-serif); font-size:24px !important; line-height:1.5; color:var(--ms-navy); }
.ms-perspective-copy .ms-text-link { margin-top:24px; }
.ms-native-page .ms-calculator { background:var(--ms-ink); color:var(--ms-paper); }
.ms-calculator-inner { width:calc(100% - var(--ms-gutter)*2); max-width:1328px; margin-inline:auto; }
.ms-calculator h2 { margin:0; }
.ms-calculator p { color:#d3ccc0; }
.ms-about-columns { align-items:center; }
.ms-native-page .ms-portrait img { width:100%; height:auto; aspect-ratio:.9; object-fit:cover; }
.ms-about-columns h2 { margin-block:18px 24px; }
.ms-about-columns .wp-block-column:last-child > p { font-size:13px; }
.ms-advisory { margin-top:32px; padding-top:26px; border-top:1px solid var(--ms-line); }
.ms-advisory h3 { margin-block:14px 24px; }
.ms-native-page .ms-property-hero { padding:0; position:relative; overflow:hidden; min-height:540px; }
.ms-property-hero > .wp-block-cover__inner-container { width:calc(100% - var(--ms-gutter)*2); max-width:1328px; }
.ms-property-hero .ms-property-hero-inner { position:absolute; top:30px; left:var(--ms-gutter); }
.ms-back-link { margin:0; }
.ms-back-link a { display:inline-block; background:var(--ms-paper); color:var(--ms-ink) !important; padding:10px 18px; font-size:11px; }
.ms-native-page .ms-property-info { padding-top:64px; padding-bottom:0; }
.ms-property-title h1 { font-size:clamp(46px,4.8vw,70px); margin-block:16px 0; }
.ms-property-title .ms-property-price { font-family:var(--ms-serif); color:var(--ms-navy); font-size:40px; line-height:1.15; margin-block:0 12px; }
.ms-price-column { text-align:right; align-self:center; }
.ms-price-column .ms-eyebrow { font-size:8px; color:var(--ms-muted); }
.ms-native-page .ms-property-stats { gap:40px; border-block:1px solid var(--ms-line); padding-block:28px; margin-top:40px; }
.ms-stat { font-size:9px; letter-spacing:.1em; margin:0; }
.ms-stat b { font-family:var(--ms-serif); font-size:30px; font-weight:400; letter-spacing:0; color:var(--ms-navy); margin-right:12px; }
.ms-native-page .ms-property-details { padding-top:48px; gap:clamp(36px,7vw,100px); }
.ms-property-description h2 { font-size:clamp(36px,3.5vw,50px); margin-top:0; margin-bottom:24px; }
.ms-property-description p { font-size:13px; }
.ms-property-description .ms-fine { font-size:11px; }
.ms-property-inquiry { padding-left:36px; border-left:1px solid var(--ms-line); }
.ms-property-inquiry h3 { margin-block:16px 24px; }
.ms-property-inquiry p { font-size:12px; }
.ms-property-inquiry > .ms-eyebrow { font-size:8px; }
.ms-native-page .ms-gallery { padding-top:56px; }
.ms-native-page .ms-gallery-row { gap:24px; }
.ms-gallery-image img { width:100%; aspect-ratio:1.4; object-fit:cover; }
.ms-gallery .ms-gallery-last { margin-top:24px; }
.ms-gallery-last img { width:100%; max-height:760px; object-fit:cover; }
.ms-native-page .ms-prose { max-width:900px; padding-top:0; }
.ms-prose h2 { margin-block:40px 18px; font-size:36px; }
.ms-prose p { font-size:13px; line-height:2; }
.ms-prose a { text-decoration:underline !important; text-decoration-color:var(--ms-bronze) !important; }
.ms-native-page .ms-blog-list { padding-top:0; }
.ms-blog-list .ms-blog-query { padding-top:0; }
.ms-blog-list .wp-block-post-template { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; margin:0; padding:0; }
.ms-contact-section { border-top:1px solid var(--ms-line); }
@media(max-width:1000px) {
 .ms-native-page .ms-card-meta { flex-wrap:wrap !important; gap:6px; }
 .ms-card-meta > .wp-block-column { flex-basis:100% !important; }
 .ms-card-meta .ms-card-price { text-align:left; }
 .ms-perspective-copy { padding:48px 28px; }
 .ms-native-page .ms-property-details { gap:36px; }
 .ms-property-inquiry { padding-left:26px; }
}
@media(max-width:781px) {
 .ms-native-page .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap:wrap !important; }
 .ms-native-page .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis:100% !important; }
 .ms-native-page .ms-home-hero { height:auto; min-height:620px; padding-block:55px; }
 .ms-home-hero h1 { font-size:clamp(47px,8vw,64px); }
 .ms-home-hero .ms-eyebrow { font-size:8px; }
 .ms-home-hero .ms-hero-bottom { margin-top:40px; gap:12px; }
 .ms-home-hero .ms-hero-explore { text-align:left; }
 .ms-native-page .ms-card-meta { flex-wrap:nowrap !important; }
 .ms-native-page .ms-card-meta > .wp-block-column { flex-basis:50% !important; }
 .ms-card-meta .ms-card-price { text-align:right; }
 .ms-native-page .ms-card-grid { gap:40px; }
 .ms-card-grid + .ms-card-grid { margin-top:40px; }
 .ms-empty-card { display:none; }
 .ms-section-heading .wp-block-column:last-child { text-align:left; }
 .ms-native-page .ms-perspective-columns { gap:0; }
 .ms-perspective-photo img { height:340px; min-height:0; }
 .ms-perspective-copy { padding:48px var(--ms-gutter); }
 .ms-intro-columns .wp-block-column:last-child p { max-width:none; }
 .ms-native-page .ms-property-hero { min-height:340px !important; }
 .ms-property-hero .ms-property-hero-inner { top:20px; }
 .ms-native-page .ms-property-stats { flex-wrap:nowrap !important; gap:14px; }
 .ms-native-page .ms-property-stats > .wp-block-column { flex-basis:0 !important; flex-grow:1; }
 .ms-stat { font-size:8px; letter-spacing:0; }
 .ms-stat b { display:block; font-size:27px; margin-bottom:7px; }
 .ms-price-column { text-align:left; }
 .ms-property-inquiry { border-left:0; border-top:1px solid var(--ms-line); padding:30px 0 0; }
 .ms-native-page .ms-gallery-row { gap:18px; }
 .ms-gallery .ms-gallery-last { margin-top:18px; }
 .ms-blog-list .wp-block-post-template { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .ms-native-page .ms-hero-frame { animation:none; opacity:0; } }
/* The Code editor remains editable: don't position decorative frames over block tools. */
.editor-styles-wrapper .ms-hero-frame { display:none; animation:none; }

/* 1.3.2 — blog subject filters (match live chips) + WPForms contact polish */
.ms-blog-toolbar{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--ms-line);gap:20px;padding:20px 0;margin:0 0 40px}
.ms-blog-toolbar-row{display:flex;align-items:center;gap:20px}
.ms-blog-toolbar label{font-family:var(--ms-sans);font-size:8px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--ms-muted);margin:0}
.ms-blog-toolbar select{appearance:none;-webkit-appearance:none;background:var(--ms-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2322211f' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--ms-ink);border:1px solid var(--ms-line);border-radius:0;font-family:var(--ms-sans);font-size:10px;min-width:190px;max-width:240px;padding:11px 30px 11px 12px;line-height:1.4}
.ms-blog-filter-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;border:0;background:transparent}
.ms-blog-filter-chips button{font-family:var(--ms-sans);font-size:9px;letter-spacing:.04em;padding:9px 13px;border:1px solid var(--ms-line);background:transparent;color:var(--ms-ink);min-height:36px;cursor:pointer;border-radius:0;line-height:1.3}
.ms-blog-filter-chips button:hover{border-color:var(--ms-ink)}
.ms-blog-filter-chips button[aria-pressed=true]{background:var(--ms-ink);border-color:var(--ms-ink);color:var(--ms-paper)}
.ms-blog-status{font-family:var(--ms-sans);font-size:10px;text-align:center;margin-top:15px;min-height:20px;color:var(--ms-muted)}
.ms-blog-more-wrap{display:flex;justify-content:center;margin-top:28px}
.ms-blog-more{font-family:var(--ms-sans);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:14px 28px;min-height:44px;border:1px solid var(--ms-ink);background:transparent;color:var(--ms-ink);cursor:pointer;border-radius:0}
.ms-blog-more:hover{background:var(--ms-ink);color:var(--ms-paper)}
.ms-blog-more[hidden]{display:none!important}
.ms-blog-js-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px;list-style:none;margin:0;padding:0}
.ms-blog-list.is-js-filtered .wp-block-query-pagination{display:none}
.ms-blog-list.is-js-filtered .wp-block-post-template{display:none}
.ms-blog-card-js .ms-blog-no-photo{display:grid;place-items:center;aspect-ratio:1.48;background:#e4ddd2;color:var(--ms-muted);font-size:11px;text-decoration:none}
.ms-blog-meta-cat,.ms-blog-meta-sep,.ms-blog-meta time{font:inherit;color:inherit}
.ms-blog-empty{padding:24px 0;margin:0;color:var(--ms-muted);font-family:var(--ms-sans);font-size:12px;line-height:1.9}
.ms-blog-lead-js{gap:0;align-items:stretch;min-height:470px;padding-top:48px;padding-bottom:70px;margin:0}
@media(max-width:1000px){
 .ms-blog-toolbar{align-items:flex-start;flex-direction:column}
 .ms-blog-js-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ms-blog-lead-js{min-height:0}
}
@media(max-width:760px){
 .ms-blog-toolbar{padding:20px 0;margin-bottom:30px;gap:18px}
 .ms-blog-toolbar-row{width:100%;justify-content:space-between;gap:10px}
 .ms-blog-toolbar select{font-size:10px;min-width:0;max-width:210px;padding-left:8px;width:60%}
 .ms-blog-toolbar label{font-size:7px;white-space:normal}
 .ms-blog-filter-chips{gap:7px}
 .ms-blog-filter-chips button{font-size:8px;padding:8px 10px;min-height:36px}
 .ms-blog-js-grid{grid-template-columns:1fr;gap:38px}
 .ms-blog-status{font-size:9px}
 .ms-blog-lead-js{display:block;padding:30px 0 40px}
}

/* Contact — WPForms Lite matches charcoal / paper buttons used elsewhere */
.ms-contact-layout{padding-top:0}
.ms-contact-columns{align-items:start;gap:clamp(36px,6vw,80px)}
.ms-contact-details .ms-eyebrow{margin-top:28px}
.ms-contact-details .ms-eyebrow:first-child{margin-top:0}
.ms-contact-details p{font-size:12px;color:var(--ms-muted)}
.ms-contact-details a{color:var(--ms-ink);text-decoration:none}
.ms-contact-details a:hover{text-decoration:underline;text-decoration-color:var(--ms-bronze)}
.ms-contact-form .wpforms-container{margin:0}
.ms-contact-form .wpforms-field{padding:0 0 18px!important}
.ms-contact-form .wpforms-field-label{font-family:var(--ms-sans)!important;font-size:9px!important;letter-spacing:.12em;text-transform:uppercase;font-weight:600!important;color:var(--ms-muted)!important;margin:0 0 8px}
.ms-contact-form .wpforms-required-label{color:var(--ms-bronze)!important}
.ms-contact-form input[type=text],
.ms-contact-form input[type=email],
.ms-contact-form input[type=tel],
.ms-contact-form input[type=url],
.ms-contact-form input[type=number],
.ms-contact-form select,
.ms-contact-form textarea{
  width:100%;
  max-width:100%;
  border:1px solid var(--ms-line)!important;
  border-radius:0!important;
  background:var(--ms-paper)!important;
  color:var(--ms-ink)!important;
  font-family:var(--ms-sans)!important;
  font-size:13px!important;
  line-height:1.6!important;
  padding:14px 16px!important;
  box-shadow:none!important;
  min-height:48px;
}
.ms-contact-form textarea{min-height:140px;resize:vertical}
.ms-contact-form input:focus,
.ms-contact-form select:focus,
.ms-contact-form textarea:focus{
  outline:2px solid var(--ms-navy);
  outline-offset:3px;
  border-color:var(--ms-ink)!important;
}
.ms-contact-form .wpforms-submit,
.ms-contact-form button[type=submit],
.ms-contact-form .wpforms-submit-container button{
  background:var(--ms-ink)!important;
  color:var(--ms-paper)!important;
  border:1px solid var(--ms-ink)!important;
  border-radius:0!important;
  font-family:var(--ms-sans)!important;
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:.035em!important;
  text-transform:none!important;
  padding:16px 28px!important;
  min-height:52px!important;
  line-height:1.6!important;
  box-shadow:none!important;
  cursor:pointer;
}
.ms-contact-form .wpforms-submit:hover,
.ms-contact-form button[type=submit]:hover,
.ms-contact-form .wpforms-submit-container button:hover{
  background:var(--ms-navy)!important;
  border-color:var(--ms-navy)!important;
  color:var(--ms-paper)!important;
}
.ms-contact-form .wpforms-confirmation-container-full,
.ms-contact-form .wpforms-confirmation-container{
  border:0!important;
  background:#eae4d9!important;
  color:var(--ms-ink)!important;
  padding:20px 22px!important;
  font-size:13px;
}
.ms-contact-form .wpforms-error,
.ms-contact-form label.wpforms-error{color:#8a3b2b!important;font-size:11px!important}
.ms-contact-form input.wpforms-error,
.ms-contact-form textarea.wpforms-error{border-color:#8a3b2b!important}

/* 1.3.7 Schedule a Showing button on single posts */
.ms-showing-cta { margin:48px 0 24px; }
.ms-showing-cta .wp-block-button__link { border-radius:0; font-family:Montserrat,sans-serif; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; padding:16px 28px; min-height:50px; line-height:1.6; text-decoration:none; }
.ms-showing-cta .wp-block-button__link:hover { background-color:var(--wp--preset--color--navy) !important; color:#fff !important; text-decoration:none; }
