/*
Theme Name: PMC Properties 2026
Theme URI: https://pmcproperties.com
Author: PMC Properties
Description: Custom theme for PMC Properties. Brand: #003087 royal blue (the one blue throughout) + gold, keystone logo. Content model: a Property post type with Division and Sector taxonomies; edit boxes from the free Advanced Custom Fields plugin (Local JSON in /acf-json); contact and footer details in Appearance → Customize. Includes a one-click starter-content import.
Version: 3.1.0
Requires at least: 6.3
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pmc2026
*/

/*
 * Everything from here down to "WordPress-only" is copied verbatim from the
 * static review site's css/site.css (pmcproperties repo), so both render the
 * same. Change it there first, then paste it here.
 */
/* PMC Properties — shared styles */
:root{
  color-scheme:light; /* the site is light-only, so the logo and buttons are always #003087 */
  --paper:#f3efe4; --surface:#fbf9f2; --surface-2:#ece7da;
  --ink:#16223c; --ink-2:#33405a; --muted:#5b6170;
  --line:#e2ddce; --line-strong:#cdc4ad;
  --brand:#003087; --brand-deep:#003087; /* one brand blue everywhere */
  --brass:#a8872f;      /* gold for rules, dots, logo arch, large display type */
  --brass-2:#8a6f28;    /* gold for large italic emphasis on light grounds */
  --brass-text:#6f5a20; /* gold for small text on light grounds (AA) */
  --on-brand:#ffffff;   /* text on solid brand buttons */
  --logo:#003087;       /* wordmark + keystone */
  --good:#2f7d4f;
  --shadow:0 1px 2px rgba(0,30,70,.06),0 10px 40px rgba(0,30,70,.08);
  --shadow-lift:0 4px 12px rgba(0,30,70,.09),0 20px 50px rgba(0,30,70,.13);
  /* the blue band, photo placeholders and captions */
  --on-dark:#f3efe4; --gold-on-dark:#c9a74a;
  --plate-1:#003087; --plate-2:#003087; --plate-3:#8a6f28;
  --scrim:rgba(0,14,40,.72);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Libre Franklin",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:"Spectral",Georgia,serif;font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0;text-wrap:balance}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.ey{font-family:"Libre Franklin",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--brass-text)}
.shell{max-width:1160px;margin:0 auto;padding:0 32px}

/* keyboard focus + skip link */
a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}
.heritage a:focus-visible{outline-color:var(--gold-on-dark)}
.skip-link{position:absolute;left:16px;top:-80px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:4px;font-weight:600;font-size:14px}
.skip-link:focus{top:12px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}

/* nav */
header.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;min-height:74px}
.wm{display:flex;align-items:center}
.wm .logo-lockup{height:38px;width:auto;display:block}
.logo-lockup text{font-family:"Libre Franklin",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.logo-lockup .l-mc{font-family:"Spectral",Georgia,serif;fill:var(--logo)}
.logo-lockup .l-pr{fill:var(--ink)}
.logo-lockup .k-mark{fill:var(--logo)}
.logo-lockup .k-arch{stroke:var(--brass)}
.logo-lockup .l-rule{stroke:var(--line-strong)}
nav.menu{display:flex;gap:30px;align-items:center}
nav.menu a{font-size:13.5px;font-weight:500;color:var(--ink-2);position:relative;padding:4px 0;white-space:nowrap}
nav.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--brass-2);transition:right .25s ease}
nav.menu a:hover::after,nav.menu a[aria-current]::after{right:0}
nav.menu a[aria-current]{color:var(--ink)}
nav.menu a.pill{border:1px solid var(--line-strong);border-radius:30px;padding:8px 18px}
nav.menu a.pill::after{display:none}
nav.menu a.pill:hover{border-color:var(--brass);color:var(--brass-text)}

/* buttons */
.btn{display:inline-block;font-weight:600;font-size:14px;padding:13px 26px;border-radius:4px;transition:transform .15s ease,box-shadow .2s ease,border-color .2s,color .2s}
.btn.solid{background:var(--brand);color:var(--on-brand)}
.btn.solid:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn.ghost{border:1px solid var(--line-strong);color:var(--ink)}
.btn.ghost:hover{border-color:var(--brass);color:var(--brass-text)}

/* hero (home) — entrance animation starts from a visible resting state */
.hero{padding:72px 0 60px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.hero .ey{animation:rise .7s .05s ease both}
.hero h1{font-size:clamp(2.6rem,5.4vw,4.35rem);margin:18px 0 0;animation:rise .7s .12s ease both}
.hero h1 em,.pageintro h1 em{font-style:italic;font-weight:500;color:var(--brass-2)}
.hero .sub{font-size:1.18rem;color:var(--ink-2);max-width:44ch;margin:22px 0 0;animation:rise .7s .2s ease both}
.hero-cta{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap}
.hero .hero-cta{animation:rise .7s .28s ease both}
.hmeta{display:flex;gap:30px;margin-top:44px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap;animation:rise .7s .36s ease both}
.hmeta div{display:flex;flex-direction:column}
.hmeta .n{font-family:"Spectral",Georgia,serif;font-size:1.7rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.hmeta .l{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:7px;font-weight:600}

/* image plate (photo, or branded placeholder) */
.plate{position:relative;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-lift);isolation:isolate;
  background:linear-gradient(150deg,var(--plate-1) 0%,var(--plate-2) 62%,var(--plate-3) 135%);}
.plate.has-img::before{content:"";position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-image:var(--img)}
.plate::after{content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(120% 90% at 80% 10%,rgba(255,255,255,.14),transparent 55%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 2px,transparent 2px 22px);}
.plate.has-img::after{background:linear-gradient(0deg,rgba(0,14,40,.55),transparent 55%)}
.plate .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  background:linear-gradient(0deg,var(--scrim),transparent);}
.plate .cap .ttl{color:#fff;font-family:"Spectral",Georgia,serif;font-size:1.05rem;font-weight:600;line-height:1.15}
.plate .cap .loc{color:rgba(255,255,255,.86);font-size:11.5px;letter-spacing:.05em;margin-top:2px}
.plate .badge{color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.45);border-radius:20px;padding:4px 10px;white-space:nowrap;flex:none}
.plate .lens{position:absolute;top:16px;left:18px;z-index:2;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:7px}
.plate .lens::before{content:"";width:12px;height:12px;border:1.5px solid rgba(255,255,255,.6);border-radius:50%}
.plate.has-img .lens{display:none}
.hero .plate{aspect-ratio:4/5;max-width:100%;animation:rise .8s .3s ease both}

/* sections */
section{padding:76px 0}
.section-tight{padding-top:32px}
.section-flush{padding-top:0}
.sec-head{max-width:60ch;margin-bottom:44px}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-top:14px}
.sec-head p{color:var(--muted);font-size:1.05rem;margin:14px 0 0}

/* divisions + highlights */
.divs{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.div{position:relative;background:var(--surface);padding:34px 30px 30px;transition:background .2s ease}
.div:has(a):hover{background:var(--surface-2)}
.div .go::after{content:"";position:absolute;inset:0}
.div .idx{font-family:"Spectral",Georgia,serif;font-size:13px;color:var(--brass-text);font-weight:600;letter-spacing:.1em}
.div h3{font-size:1.4rem;margin:20px 0 0}
.div p{color:var(--muted);font-size:14.5px;margin:12px 0 0}
.div .go{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:13px;font-weight:600;color:var(--ink)}
.div .go .ar{transition:transform .2s ease;color:var(--brass)}
.div:hover .go .ar{transform:translateX(5px)}

/* portfolio grid + cards */
.port{background:var(--surface)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card .plate{aspect-ratio:3/2;max-width:100%}
.card{display:block;transition:transform .18s ease}
a.card:hover{transform:translateY(-4px)}
.card .meta{padding:16px 4px 0}
.card .meta .tag{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-text);font-weight:700}
.card .meta h3{font-size:1.16rem;margin:8px 0 0}
.card .meta p{color:var(--muted);font-size:13.5px;margin:6px 0 0}
.card .meta .go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:600;color:var(--ink)}
.card .meta .go .ar{color:var(--brass-2);transition:transform .2s ease}
a.card:hover .go .ar{transform:translateX(4px)}
.port .more{text-align:center;margin-top:46px}

/* heritage band — light text on navy in both themes */
.heritage{background:var(--brand-deep);color:var(--on-dark)}
.heritage .shell{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.heritage .ey{color:var(--gold-on-dark)}
.heritage h2{color:var(--on-dark);font-size:clamp(1.9rem,3.6vw,2.8rem);margin-top:16px}
.heritage p{color:rgba(243,239,228,.8);font-size:1.05rem;margin:18px 0 0;max-width:46ch}
.figs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden}
.fig{background:color-mix(in srgb,var(--brand-deep) 92%,#fff 8%);padding:28px 26px}
.fig .n{font-family:"Spectral",Georgia,serif;font-size:2.5rem;font-weight:600;color:var(--on-dark);line-height:1;font-variant-numeric:tabular-nums}
.fig .n em{font-style:italic;color:var(--gold-on-dark);font-weight:500}
.fig .l{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(243,239,228,.72);margin-top:10px;font-weight:600}

/* inner pages */
.pageintro{padding:66px 0 8px}
.pageintro .ey{display:block}
.pageintro h1{font-size:clamp(2.2rem,4.6vw,3.5rem);margin-top:14px}
.pageintro .body{color:var(--ink-2);font-size:1.12rem;max-width:62ch;margin-top:20px}
.prose{max-width:64ch}
.prose p{margin:0 0 1.1em;color:var(--ink-2)}
.prose p:last-child{margin-bottom:0}

/* feature rows */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:44px 0;border-top:1px solid var(--line)}
.feature:first-of-type{border-top:none}
.feature .plate{aspect-ratio:4/3;max-width:100%}
.feature.flip .media{order:2}
.feature h2,.feature h3{font-size:1.6rem}
.feature .ey{display:block;margin-bottom:8px}
.feature p{color:var(--ink-2);font-size:1rem;margin:14px 0 0}
.feature-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.amenities{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 0;padding:0;list-style:none}
.amenities li{font-size:12.5px;border:1px solid var(--line-strong);border-radius:20px;padding:6px 14px;color:var(--ink-2)}

/* availability banner */
.availability{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:30px 0 0;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
.availability .status{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;white-space:nowrap}
.availability .status::before{content:"";width:10px;height:10px;border-radius:50%;flex:none}
.availability.available .status{color:var(--good)}
.availability.available .status::before{background:var(--good);box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 22%,transparent)}
.availability.enquire .status{color:var(--brass-text)}
.availability.enquire .status::before{background:var(--brass)}
.availability.leased .status{color:var(--muted)}
.availability.leased .status::before{background:var(--muted)}
.availability .msg{color:var(--muted);font-size:14px;flex:1;min-width:220px;margin:0}
.availability .actions{display:flex;gap:12px;flex-wrap:wrap}

.cta-band{background:var(--surface);border-top:1px solid var(--line);text-align:center;padding:64px 0}
.cta-band h2{font-size:clamp(1.7rem,3.2vw,2.3rem)}
.cta-band p{color:var(--muted);margin:14px auto 26px;max-width:46ch}

/* footer */
footer.site{background:var(--surface-2);border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:64px 0 40px}
.foot-grid .foot-heading{font-size:1.5rem}
.foot-grid .blurb{color:var(--muted);font-size:14.5px;margin:16px 0 0;max-width:34ch}
.fcol .fcol-title{font-family:"Libre Franklin",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-text);margin:0 0 16px;font-weight:700;line-height:1.4}
.fcol a,.fcol p{display:block;font-size:14px;color:var(--ink-2);margin:0 0 10px}
.fcol a:hover{color:var(--brass-text)}
.fcol .big{font-family:"Spectral",Georgia,serif;font-size:1.5rem;color:var(--ink);margin-bottom:6px}
.fcol .fax{color:var(--muted);font-size:12.5px}
.foot-bar{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted)}
.foot-links a{color:var(--ink-2)}
.foot-links a:hover,.foot-links a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero .plate{aspect-ratio:16/10}
  .divs{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr 1fr}
  .heritage .shell{grid-template-columns:1fr;gap:36px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .feature{grid-template-columns:1fr;gap:26px}
  .feature.flip .media{order:0}
}
@media (max-width:640px){
  html{scroll-padding-top:120px}
  .shell{padding-inline:20px}
  .nav-in{flex-wrap:wrap;min-height:0;padding-block:12px 8px}
  .wm .logo-lockup{height:32px}
  nav.menu{width:calc(100% + 12px);margin:-6px -6px -4px;padding:6px 6px 8px;gap:20px;overflow-x:auto;scrollbar-width:none}
  nav.menu::-webkit-scrollbar{display:none}
  nav.menu a{font-size:13px}
  nav.menu a.pill{margin-left:auto;padding:5px 14px}
  .grid,.figs,.foot-grid{grid-template-columns:1fr}
  section{padding:56px 0}
  .section-tight{padding-top:28px}
  .section-flush{padding-top:0}
  .hmeta{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
}
@media (max-width:380px){
  .shell{padding-inline:16px}
  nav.menu{gap:10px}
  nav.menu a{font-size:12.5px}
  nav.menu a.pill{padding:4px 10px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ==========================================================================
   WordPress-only: markup that only WordPress produces (editor content,
   core classes, archives and pagination). Not part of the static site.
   ========================================================================== */
.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;width:auto;left:16px;top:12px;z-index:100;padding:10px 16px;background:var(--ink);color:var(--paper);border-radius:4px;font-weight:600;font-size:14px}

/* text typed in the editor (page intros, property descriptions) */
.prose a,.feature p a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.prose a:hover,.feature p a:hover{color:var(--brass-text)}
.prose h2,.prose h3{margin:1.6em 0 .5em}
.prose h2{font-size:1.6rem}
.prose h3{font-size:1.25rem}
.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.3em;color:var(--ink-2)}
.prose li{margin:.3em 0}
.prose blockquote{margin:1.4em 0;padding-left:18px;border-left:2px solid var(--brass);color:var(--ink-2);font-style:italic}
.prose img,.prose figure{margin:1.4em 0;max-width:100%}
.prose img{border-radius:6px}
.prose strong{color:var(--ink)}

/* core alignment + caption classes */
.alignleft{float:left;margin:.3em 1.4em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.4em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.wp-caption-text,.gallery-caption,figcaption{font-size:13px;color:var(--muted);margin-top:6px}
.sticky,.bypostauthor{}

/* news / search lists + pagination */
.post-summary{padding:26px 0;border-top:1px solid var(--line)}
.post-summary:first-child{border-top:none;padding-top:0}
.post-summary h2{font-size:1.5rem}
.post-summary h2 a:hover{color:var(--brass-text)}
.pager .nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.pager .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--line-strong);border-radius:4px;font-size:14px;color:var(--ink-2)}
.pager .page-numbers.current{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.pager a.page-numbers:hover{border-color:var(--brass);color:var(--brass-text)}
