:root{
  --pink-50:#fff6fb;--pink-100:#ffe6f4;--pink-200:#ffc2e8;--pink-300:#f6a4d3;
  --pink-400:#e181b8;--pink-500:#c5629b;--pink-600:#a24a7c;--pink-700:#7f3961;--pink-800:#5c2a47;
  --palm-50:#eff3f0;--palm-100:#d7e2db;--palm-200:#b5c8bd;--palm-300:#8faa9c;--palm-400:#6a8c7d;
  --palm-500:#4e7062;--palm-600:#3b5a4c;--palm-700:#2c463b;--palm-800:#1f332a;--palm-900:#16261f;
  /* Bark: the brown scale that replaces palm on the dark banner grounds and
     the footer (client direction, 09 Sep 2026). Built at the same lightness
     steps as palm from the client's own #7F6249, so every dark surface keeps
     the contrast it was signed off with - only the hue moves. */
  --bark-50:#f5f1ed;--bark-100:#e6dcd3;--bark-200:#d0bdad;--bark-300:#b79b82;--bark-400:#9c795a;
  --bark-500:#795d45;--bark-600:#5f4936;--bark-700:#49382a;--bark-800:#34281e;--bark-900:#261e16;
  --shell-50:#fdfbf8;--shell-100:#f8f3ed;--sand-200:#eee5d9;--sand-300:#dfd3c1;--sand-400:#c9b9a3;
  --stone-500:#9c8d7b;--stone-600:#7b6d5d;--stone-700:#5b4f43;--ink-800:#3a342e;--ink-900:#221e1a;--white:#fff;
  --coastal-100:#e5eeed;--coastal-300:#a9c2c1;--coastal-500:#6e8f8e;--coastal-700:#456061;
  --ochre-100:#f7edd8;--ochre-500:#b08333;--ochre-700:#7d5c22;
  --clay-100:#f6e3df;--clay-500:#a4483c;--clay-700:#77332a;
  --brand-pink:var(--pink-200);--brand-pink-ink:var(--pink-700);--brand-palm:var(--palm-800);
  --text-primary:var(--ink-900);--text-secondary:var(--stone-700);--text-tertiary:var(--stone-600);/* QA Aug26: stone-500 (3.1:1 on shell) failed WCAG AA; stone-600 passes (4.85:1) */
  --text-accent:var(--pink-700);--text-on-dark:var(--shell-50);--text-on-dark-muted:rgba(253,251,248,.68);
  --text-link:var(--palm-700);--text-link-hover:var(--pink-700);--text-disabled:var(--sand-400);
  --surface-page:var(--shell-50);--surface-card:var(--white);--surface-subtle:var(--shell-100);
  --surface-sand:var(--sand-200);--surface-dark:var(--bark-900);--surface-dark-raised:var(--bark-800);
  --surface-pink:var(--pink-50);--surface-overlay:rgba(22,38,31,.55);
  --surface-glass:rgba(253,251,248,.82);--surface-glass-dark:rgba(22,38,31,.42);
  --border-hairline:rgba(34,30,26,.08);--border-subtle:var(--sand-200);--border-default:var(--sand-300);
  --border-strong:var(--stone-500);--border-dark:rgba(253,251,248,.18);--border-focus:var(--palm-700);
  --status-success:var(--palm-500);--status-success-bg:var(--palm-50);
  --status-warning:var(--ochre-500);--status-warning-bg:var(--ochre-100);
  --status-error:var(--clay-500);--status-error-bg:var(--clay-100);
  --status-info:var(--coastal-700);--status-info-bg:var(--coastal-100);
  --scrim-bottom:linear-gradient(to top,rgba(22,38,31,.72) 0%,rgba(22,38,31,.34) 38%,rgba(22,38,31,0) 72%);
  --scrim-top:linear-gradient(to bottom,rgba(22,38,31,.46) 0%,rgba(22,38,31,0) 60%);
  --scrim-full:linear-gradient(to top,rgba(22,38,31,.58),rgba(22,38,31,.20));
  --font-display:'Playfair Display',ui-serif,Georgia,'Times New Roman',serif;
  --font-sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,sans-serif;
  --font-body:var(--font-sans);--font-logotype:var(--font-display);
  --weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
  --text-display-1:clamp(2.75rem,5.6vw,5.25rem);--text-display-2:clamp(2.25rem,4.2vw,3.75rem);
  --text-h1:clamp(2rem,3.2vw,3rem);--text-h2:clamp(1.625rem,2.4vw,2.25rem);
  --text-h3:clamp(1.25rem,1.6vw,1.5rem);--text-h4:1.125rem;
  --text-body-lg:1.125rem;--text-body:1rem;--text-body-sm:.9375rem;
  --text-caption:.8125rem;--text-eyebrow:.75rem;
  --leading-display:1.04;--leading-heading:1.16;--leading-snug:1.35;--leading-body:1.65;--leading-relaxed:1.8;
  --tracking-display:-.02em;--tracking-heading:-.01em;--tracking-body:0em;
  --tracking-wide:.04em;--tracking-eyebrow:.18em;--tracking-button:.08em;
  --measure-narrow:34ch;--measure-body:62ch;--measure-wide:78ch;
  --space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;
  --space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;
  --space-13:96px;--space-14:128px;--space-15:160px;
  --gap-inline:var(--space-4);--gap-stack:var(--space-5);--gap-card:var(--space-7);
  --gap-grid:clamp(16px,2.2vw,32px);
  --section-y:clamp(72px,9vw,160px);--section-y-tight:clamp(48px,5vw,88px);
  --radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;
  --radius-pill:999px;--radius-card:var(--radius-sm);--radius-media:var(--radius-sm);--radius-control:var(--radius-xs);
  --shadow-xs:0 1px 2px rgba(34,30,26,.05);--shadow-sm:0 2px 8px -2px rgba(34,30,26,.08);
  --shadow-md:0 10px 28px -12px rgba(34,30,26,.14);--shadow-lg:0 28px 60px -24px rgba(34,30,26,.20);
  --shadow-media:0 18px 44px -22px rgba(34,30,26,.28);
  --shadow-inset-hairline:inset 0 0 0 1px var(--border-hairline);
  --ring-focus:0 0 0 2px var(--surface-page),0 0 0 4px var(--pink-300);
  --ring-focus-dark:0 0 0 2px var(--palm-900),0 0 0 4px var(--pink-200);
  --blur-glass:blur(14px) saturate(1.1);
  --ease-standard:cubic-bezier(.22,.61,.36,1);--ease-entrance:cubic-bezier(.16,.84,.44,1);
  --ease-exit:cubic-bezier(.4,0,.7,.1);
  --dur-instant:90ms;--dur-fast:160ms;--dur-base:260ms;--dur-slow:420ms;--dur-reveal:760ms;--dur-image:1200ms;
  --transition-control:background-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard);
  --transition-media:transform var(--dur-image) var(--ease-standard),opacity var(--dur-slow) var(--ease-standard);
  --lift-hover:translateY(-2px);--press-scale:.985;--media-zoom:scale(1.035);
  --container-narrow:720px;--container-text:880px;--container-max:1320px;--container-wide:1560px;
  --gutter:clamp(20px,5vw,64px);--header-height:76px;--header-height-compact:60px;
  --z-header:200;--z-overlay:300;--hit-min:44px;
}

body{background:var(--surface-page);color:var(--text-primary);
  font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-medium);
  line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);color:var(--text-primary)}
::selection{background:var(--pink-200);color:var(--ink-900)}

.ic-display-1{font-family:var(--font-display);font-size:var(--text-display-1);font-weight:var(--weight-regular);
  line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
.ic-display-2{font-family:var(--font-display);font-size:var(--text-display-2);font-weight:var(--weight-regular);
  line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
.ic-h1{font-size:var(--text-h1)}.ic-h2{font-size:var(--text-h2)}.ic-h3{font-size:var(--text-h3)}
.ic-h4{font-size:var(--text-h4);font-family:var(--font-display)}
.ic-eyebrow{font-family:var(--font-sans);font-size:var(--text-eyebrow);font-weight:var(--weight-semibold);
  text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--text-tertiary)}
.ic-eyebrow--pink{color:var(--pink-700)}
.ic-eyebrow--on-dark{color:var(--text-on-dark-muted)}
.ic-lede{font-size:var(--text-body-lg);line-height:var(--leading-relaxed);color:var(--text-secondary);
  max-width:var(--measure-body)}
.ic-caption{font-size:var(--text-caption);color:var(--text-tertiary)}
.ic-measure-narrow{max-width:var(--measure-narrow)}
.ic-measure-body{max-width:var(--measure-body)}
.ic-on-dark,.ic-on-dark h1,.ic-on-dark h2,.ic-on-dark h3,.ic-on-dark h4{color:var(--text-on-dark)}
.ic-on-dark p{color:var(--text-on-dark-muted)}

.ic-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);
  font-family:var(--font-sans);font-weight:var(--weight-medium);letter-spacing:var(--tracking-button);
  text-transform:uppercase;line-height:1;border-radius:var(--radius-control);text-decoration:none;
  cursor:pointer;border:1px solid transparent;
  transition:var(--transition-control),transform var(--dur-fast) var(--ease-standard)}
.ic-button:active{transform:scale(var(--press-scale))}
.ic-button--sm{padding:9px 18px;font-size:var(--text-caption);min-height:36px}
.ic-button--md{padding:13px 26px;font-size:var(--text-body-sm);min-height:46px}
.ic-button--lg{padding:17px 34px;font-size:var(--text-body);min-height:56px}
.ic-button--full{display:flex;width:100%}
.ic-button--primary{background:var(--palm-800);color:var(--shell-50);border-color:var(--palm-800)}
.ic-button--primary:hover{background:var(--palm-700);border-color:var(--palm-700);color:var(--shell-50)}
.ic-button--secondary{background:transparent;color:var(--palm-800);border-color:var(--palm-800)}
.ic-button--secondary:hover{background:var(--palm-800);color:var(--shell-50)}
.ic-button--pink{background:var(--pink-200);color:var(--ink-900);border-color:var(--pink-200)}
.ic-button--pink:hover{background:var(--pink-300);border-color:var(--pink-300);color:var(--ink-900)}
.ic-button--ghost{background:transparent;color:var(--palm-800);border-color:transparent}
.ic-button--ghost:hover{background:var(--shell-100)}
.ic-button--onDark{background:var(--shell-50);color:var(--palm-900);border-color:var(--shell-50)}
.ic-button--onDark:hover{background:var(--pink-200);border-color:var(--pink-200);color:var(--ink-900)}
.ic-button--onDarkOutline{background:transparent;color:var(--shell-50);border-color:rgba(253,251,248,.42)}
.ic-button--onDarkOutline:hover{background:rgba(253,251,248,.12);border-color:var(--shell-50);color:var(--shell-50)}
.ic-button[disabled],.ic-button--disabled{opacity:.42;cursor:not-allowed}

.ic-figure{position:relative;overflow:hidden;border-radius:var(--radius-media);background:var(--sand-200)}
.ic-figure img{width:100%;height:100%;object-fit:cover;display:block;transition:var(--transition-media)}
.ic-figure--zoom:hover img{transform:var(--media-zoom)}
.ic-figure--scrim::after{content:"";position:absolute;inset:0;background:var(--scrim-bottom);pointer-events:none}
.ic-figure--scrim-top::after{content:"";position:absolute;inset:0;background:var(--scrim-top);pointer-events:none}
.ic-figure--scrim-full::after{content:"";position:absolute;inset:0;background:var(--scrim-full);pointer-events:none}
.ic-ratio-1-1 img{aspect-ratio:1/1}.ic-ratio-4-3 img{aspect-ratio:4/3}
.ic-ratio-3-2 img{aspect-ratio:3/2}.ic-ratio-16-9 img{aspect-ratio:16/9}
.ic-ratio-3-4 img{aspect-ratio:3/4}.ic-ratio-2-3 img{aspect-ratio:2/3}

.ic-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px 10px;
  font-family:var(--font-sans);font-size:var(--text-eyebrow);font-weight:var(--weight-semibold);
  text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-xs);
  background:var(--surface-subtle);color:var(--text-secondary);border:1px solid var(--border-hairline)}
.ic-badge--pink{background:var(--pink-100);color:var(--pink-700);border-color:transparent}
.ic-badge--palm{background:var(--palm-50);color:var(--palm-700);border-color:transparent}
.ic-badge--glass{background:var(--surface-glass);color:var(--palm-900);backdrop-filter:var(--blur-glass)}
.ic-badge--onDark{background:rgba(253,251,248,.16);color:var(--shell-50);border-color:rgba(253,251,248,.24)}

.ic-card{background:var(--surface-card);border:1px solid var(--border-hairline);
  border-radius:var(--radius-card);overflow:hidden;transition:var(--transition-control),transform var(--dur-base) var(--ease-standard)}
.ic-card:hover{box-shadow:var(--shadow-md);transform:var(--lift-hover)}
.ic-card__body{padding:var(--gap-card)}
.ic-property-card{display:block;text-decoration:none;color:inherit}
.ic-property-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;
  font-size:var(--text-caption);color:var(--text-tertiary)}
.ic-property-card__title{font-family:var(--font-display);font-size:var(--text-h3);
  line-height:var(--leading-heading);margin:var(--space-3) 0}
.ic-service-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--gap-card);
  background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-card);
  transition:var(--transition-control),transform var(--dur-base) var(--ease-standard)}
.ic-service-card:hover{box-shadow:var(--shadow-md);transform:var(--lift-hover)}
.ic-service-card__icon{width:40px;height:40px;color:var(--palm-700)}

.ic-rule{height:1px;background:var(--border-subtle);border:0;width:100%}
.ic-rule--dark{background:var(--border-dark)}
.ic-rule--short{width:56px;height:1px;background:var(--pink-300)}

.ic-section{padding-block:var(--section-y)}
.ic-section--tight{padding-block:var(--section-y-tight)}
.ic-section--dark{background:var(--surface-dark);color:var(--text-on-dark)}
.ic-section--sand{background:var(--surface-sand)}
.ic-section--subtle{background:var(--surface-subtle)}
.ic-section--pink{background:var(--surface-pink)}

.wpforms-field-label{font-family:var(--font-sans);font-size:var(--text-caption);
  font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);
  color:var(--text-secondary)}
.wpforms-field input[type=text],.wpforms-field input[type=email],
.wpforms-field input[type=tel],.wpforms-field input[type=number],
.wpforms-field input[type=date],.wpforms-field textarea,
.wpforms-field select{width:100%;background:var(--surface-card);
  border:1px solid var(--border-default);border-radius:var(--radius-control);
  padding:12px 14px;font-family:var(--font-sans);font-size:var(--text-body-sm);
  color:var(--text-primary);transition:var(--transition-control)}
.wpforms-field input:focus,.wpforms-field textarea:focus,
.wpforms-field select:focus{border-color:var(--border-focus);outline:none;box-shadow:var(--ring-focus)}
.wpforms-submit{background:var(--palm-800)!important;color:var(--shell-50)!important;
  border:1px solid var(--palm-800)!important;border-radius:var(--radius-control)!important;
  padding:15px 30px!important;font-family:var(--font-sans)!important;font-weight:var(--weight-medium)!important;
  font-size:var(--text-body-sm)!important;text-transform:uppercase!important;
  letter-spacing:var(--tracking-button)!important;transition:var(--transition-control)!important}
.wpforms-submit:hover{background:var(--palm-700)!important;border-color:var(--palm-700)!important}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .ic-figure--zoom:hover img{transform:none}
}
