/*
Theme Name: PropertyPool S2D Portfolio
Theme URI: https://propertypool.local/
Author: PropertyPool
Description: A Space2 Developers-inspired multi-property portfolio theme for PropertyPool v1.9.0, with S2D corporate presentation, property feature pages, property-specific live vacancy listings, resident portals, finance, inspections, analytics, TradesPool, and management integration.
Version: 1.1.13
PropertyPool Requires: 1.9.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: propertypool-s2d-portfolio
 * PropertyPool Plugin: 1.9.0
 */

:root{
  --pp-container:1360px;
  --pp-radius:2px;
  --pp-primary:#14b8a6;
  --pp-teal:#14b8a6;
  --pp-aqua:#67e8d9;
  --pp-bg:#f3f1ec;
  --pp-surface:#fff;
  --pp-surface-2:#e7e3dc;
  --pp-text:#252525;
  --pp-muted:#6b6b68;
  --pp-heading:#111;
  --pp-border:#cfcac1;
  --pp-header:rgba(243,241,236,.94);
  --pp-ink:#111;
  --pp-paper:#f3f1ec;
  --pp-shadow:0 16px 45px rgba(0,0,0,.08);
  --pp-resident-action-columns:2;
  --pp-dark-bg:#0b0b0b;
  --pp-dark-surface:#171717;
  color-scheme:light;
}
html[data-pp-theme="dark"]{
  --pp-bg:var(--pp-dark-bg);
  --pp-surface:var(--pp-dark-surface);
  --pp-surface-2:#222;
  --pp-text:#e8e6e1;
  --pp-muted:#aaa7a0;
  --pp-heading:#fff;
  --pp-border:#3b3a37;
  --pp-header:rgba(11,11,11,.94);
  --pp-ink:#fff;
  --pp-paper:#0b0b0b;
  --pp-shadow:0 18px 52px rgba(0,0,0,.4);
  color-scheme:dark;
}
@media(prefers-color-scheme:dark){
  html[data-pp-theme="system"]{
    --pp-bg:var(--pp-dark-bg);
    --pp-surface:var(--pp-dark-surface);
    --pp-surface-2:#222;
    --pp-text:#e8e6e1;
    --pp-muted:#aaa7a0;
    --pp-heading:#fff;
    --pp-border:#3b3a37;
    --pp-header:rgba(11,11,11,.94);
    --pp-ink:#fff;
    --pp-paper:#0b0b0b;
    --pp-shadow:0 18px 52px rgba(0,0,0,.4);
    color-scheme:dark;
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--pp-bg);
  color:var(--pp-text);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
button,input,select,textarea{font:inherit}
.pp-container{width:min(calc(100% - 48px),var(--pp-container));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--pp-surface);color:var(--pp-heading);border:1px solid var(--pp-border);padding:10px 14px;z-index:9999}
.skip-link:focus{left:8px}
:focus-visible{outline:2px solid var(--pp-primary);outline-offset:4px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;white-space:nowrap}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:var(--pp-header);
  border-bottom:1px solid var(--pp-border);
  backdrop-filter:blur(16px);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:86px}
.header-controls{display:flex;align-items:center;gap:18px}
.site-logo,.custom-logo-link{display:flex;align-items:center}
.site-logo img,.custom-logo{display:block;width:auto;height:48px;max-width:250px}
.primary-menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.primary-menu a{
  display:block;
  color:var(--pp-heading);
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
  padding:8px 0;
  position:relative;
}
.primary-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--pp-primary);transition:right .2s ease}
.primary-menu a:hover:after,.primary-menu a[aria-current="page"]:after{right:0}
.pp-theme-toggle,.pp-menu-toggle{
  border:1px solid var(--pp-border);
  background:transparent;
  color:var(--pp-heading);
  min-height:39px;
  padding:8px 12px;
  cursor:pointer;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pp-menu-toggle{display:none}

/* Editorial default homepage */
.ppu-hero{
  min-height:calc(100vh - 86px);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  background:#111 var(--ppu-hero-image) center/cover no-repeat;
}
.ppu-hero:before{content:"";position:absolute;inset:0;background-image:var(--ppu-hero-image);background-position:center;background-size:cover;filter:grayscale(1) contrast(1.08);z-index:-2}
.ppu-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 44%,rgba(0,0,0,.12) 78%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%);z-index:-1}
.ppu-hero-inner{min-height:calc(100vh - 86px);display:grid;grid-template-columns:140px minmax(0,780px) 1fr;grid-template-rows:1fr auto;align-items:center;padding-block:54px 38px}
.ppu-index{align-self:start;margin:12px 0 0;font-size:.67rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);writing-mode:vertical-rl;transform:rotate(180deg)}
.ppu-hero-copy{grid-column:2;align-self:center}
.pp-kicker,.pp-eyebrow,.ppu-number,.ppu-section-label p,.ppu-section-heading p,.ppu-contact-grid>div p{
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.pp-kicker{display:block;color:#fff;margin-bottom:22px}
.ppu-hero h1{
  max-width:930px;
  margin:0;
  color:#fff;
  font-size:clamp(3rem,7.4vw,7.4rem);
  font-weight:300;
  letter-spacing:-.045em;
  line-height:.91;
  text-transform:lowercase;
}
.ppu-hero-copy>p{max-width:660px;margin:30px 0 0;color:rgba(255,255,255,.82);font-size:1.05rem;font-weight:400}
.pp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.pp-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 22px;
  background:var(--pp-primary);
  color:#061f1c;
  border:1px solid var(--pp-primary);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.pp-button:hover{background:#fff;border-color:#fff;color:#111}
.pp-button.secondary{background:transparent;border-color:rgba(255,255,255,.65);color:#fff}
.pp-button.secondary:hover{background:#fff;color:#111}
.ppu-scroll-cue{grid-column:2;grid-row:2;color:#fff;font-size:.67rem;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;gap:12px;align-items:center;width:max-content}
.ppu-scroll-cue span{font-size:1rem}

.ppu-editorial-section{padding:118px 0;background:var(--pp-bg);border-bottom:1px solid var(--pp-border)}
.ppu-split{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(0,2.2fr);gap:64px}
.ppu-section-label{display:flex;gap:16px;align-items:flex-start;color:var(--pp-muted)}
.ppu-section-label span,.ppu-number{font-variant-numeric:tabular-nums;color:var(--pp-primary)}
.ppu-section-label p{margin:0;writing-mode:vertical-rl;transform:rotate(180deg)}
.ppu-statement{max-width:1040px}
.ppu-statement h2,.ppu-section-heading h2,.ppu-contact-grid h2{
  margin:0;
  color:var(--pp-heading);
  font-size:clamp(2.5rem,5.4vw,5.7rem);
  font-weight:300;
  letter-spacing:-.045em;
  line-height:.98;
  text-transform:lowercase;
}
.ppu-statement>p{max-width:690px;margin:36px 0 24px;color:var(--pp-muted);font-size:1.06rem}
.ppu-text-link{display:inline-flex;gap:8px;align-items:center;padding-bottom:4px;border-bottom:1px solid currentColor;color:var(--pp-heading);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ppu-text-link:hover{color:var(--pp-primary)}
.ppu-text-link.muted{color:var(--pp-muted);border-bottom-color:transparent}

.ppu-projects-section{padding:118px 0 132px;background:var(--pp-surface)}
.ppu-section-heading{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,2fr);gap:60px;align-items:start;margin-bottom:72px}
.ppu-section-heading>div{display:flex;gap:16px;align-items:baseline}
.ppu-section-heading p{margin:0;color:var(--pp-muted)}
.ppu-project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px 24px}
.ppu-project{position:relative;display:flex;flex-direction:column;min-width:0;color:var(--pp-text)}
.ppu-project:nth-child(1){grid-column:1/7}
.ppu-project:nth-child(2){grid-column:7/13;margin-top:110px}
.ppu-project:nth-child(3){grid-column:2/8;margin-top:48px}
.ppu-project-number{margin-bottom:12px;font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:var(--pp-muted)}
.ppu-project-art{position:relative;aspect-ratio:4/3;overflow:hidden;background:#d8d5ce;border:1px solid var(--pp-border)}
.ppu-project-art:before,.ppu-project-art:after,.ppu-project-art span:before,.ppu-project-art span:after{content:"";position:absolute}
.ppu-project-live .ppu-project-art{background:linear-gradient(140deg,#e8e5df 0 42%,#bbb7af 42% 43%,#d6d2ca 43%)}
.ppu-project-live .ppu-project-art:before{left:13%;right:10%;bottom:0;height:76%;background:repeating-linear-gradient(90deg,#252525 0 2px,transparent 2px 14%),repeating-linear-gradient(0deg,#2f2f2f 0 2px,transparent 2px 19%);clip-path:polygon(8% 12%,86% 0,100% 100%,0 100%)}
.ppu-project-live .ppu-project-art:after{left:23%;right:19%;bottom:0;height:68%;background:repeating-linear-gradient(90deg,transparent 0 9%,rgba(255,255,255,.82) 9% 15%);clip-path:polygon(3% 10%,91% 0,100% 100%,0 100%)}
.ppu-project-resident .ppu-project-art{background:linear-gradient(180deg,#d5d5d2 0 46%,#9f9f9b 46%)}
.ppu-project-resident .ppu-project-art:before{left:8%;right:8%;bottom:8%;height:70%;background:#242424;clip-path:polygon(6% 10%,80% 0,100% 18%,95% 100%,0 100%)}
.ppu-project-resident .ppu-project-art:after{left:16%;right:15%;bottom:13%;height:55%;background:repeating-linear-gradient(90deg,#f0ede7 0 9%,#252525 9% 13%),repeating-linear-gradient(0deg,transparent 0 17%,#111 17% 19%);clip-path:polygon(4% 9%,77% 0,100% 17%,95% 100%,0 100%)}
.ppu-project-manage .ppu-project-art{background:linear-gradient(135deg,#1d1d1d,#62615e)}
.ppu-project-manage .ppu-project-art:before{inset:10%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 1px,transparent 1px 12.5%),repeating-linear-gradient(0deg,rgba(255,255,255,.65) 0 1px,transparent 1px 16.66%);transform:perspective(500px) rotateX(3deg) rotateY(-9deg)}
.ppu-project-copy{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title link" "body link";column-gap:28px;padding-top:20px;border-top:1px solid var(--pp-border);margin-top:14px}
.ppu-project-copy h3{grid-area:title;margin:0;color:var(--pp-heading);font-size:1.55rem;font-weight:400;text-transform:lowercase}
.ppu-project-copy p{grid-area:body;max-width:520px;margin:7px 0 0;color:var(--pp-muted);font-size:.94rem}
.ppu-project-copy>.ppu-text-link{grid-area:link;align-self:end;white-space:nowrap}
a.ppu-project:hover .ppu-project-art{filter:contrast(1.08)}
a.ppu-project:hover h3{color:var(--pp-primary)}

.ppu-contact-band{padding:112px 0;background:var(--pp-heading);color:var(--pp-bg)}
.ppu-contact-grid{display:grid;grid-template-columns:minmax(160px,.6fr) minmax(0,1.6fr) minmax(180px,.55fr);gap:52px;align-items:start}
.ppu-contact-grid>div:first-child{display:flex;gap:16px;align-items:baseline}
.ppu-contact-grid>div:first-child p{margin:0;color:rgba(255,255,255,.6)}
.ppu-contact-grid h2{color:#fff;font-size:clamp(2.7rem,5vw,5.2rem)}
.ppu-contact-actions{display:grid;gap:22px;justify-items:start;padding-top:8px}
.ppu-contact-actions .ppu-text-link{color:#fff}

/* Gutenberg home content */
.pp-home-editor-content{padding:0}
.pp-home-editor-content>*:not(.alignfull):not(.alignwide){width:min(calc(100% - 48px),760px);margin-left:auto;margin-right:auto}
.pp-home-editor-content>.alignwide{width:min(calc(100% - 48px),var(--pp-container));max-width:none}
.pp-home-editor-content>.alignfull{width:100%;max-width:none;margin-left:0;margin-right:0}
.pp-home-editor-content>.wp-block-cover:first-child{min-height:70vh}
.pp-home-editor-content h1,.pp-home-editor-content h2{font-weight:300;letter-spacing:-.04em;line-height:1}

/* Generic pages and portal shells */
.entry-content{padding:74px 0 110px;min-height:60vh}
.entry-content>article>h1,.pp-portal-heading h1{
  margin:.1em 0 .8em;
  color:var(--pp-heading);
  font-size:clamp(2.5rem,5vw,5.4rem);
  font-weight:300;
  letter-spacing:-.045em;
  line-height:.96;
  text-transform:lowercase;
}
.pp-role-label,.pp-account-eyebrow{
  display:inline-flex;
  margin-bottom:14px;
  color:var(--pp-primary);
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.pp-page-intro{max-width:760px;margin:-18px 0 42px;color:var(--pp-muted);font-size:1.06rem}
.pp-shortcode-wrap,.pp-access-box,.pp-account-section{
  background:var(--pp-surface);
  border:1px solid var(--pp-border);
  padding:28px;
  box-shadow:none;
}
.pp-access-box{max-width:900px;border-left:4px solid var(--pp-primary)}
.pp-access-box h2{font-weight:400;font-size:2rem;margin-top:0}
.pp-info{max-width:none}
.pp-portal-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--pp-border)}
.pp-portal-heading h1{margin-bottom:0}
.pp-small-link{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}
.pp-small-link:hover{color:var(--pp-primary)}

/* Cards/workspaces */
.pp-section{padding:62px 0}
.pp-section.compact{padding:28px 0}
.pp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--pp-border);border:1px solid var(--pp-border)}
.pp-card{
  min-height:190px;
  display:flex;
  flex-direction:column;
  padding:28px;
  background:var(--pp-surface);
  color:var(--pp-text);
  border:0;
  border-radius:0;
  box-shadow:none;
  transition:background .18s ease,color .18s ease;
}
.pp-card:hover{background:var(--pp-heading);color:var(--pp-bg);transform:none;box-shadow:none}
.pp-card h3{margin:0 0 12px;color:var(--pp-heading);font-size:1.35rem;font-weight:400;text-transform:lowercase}
.pp-card p{margin:0;color:var(--pp-muted)}
.pp-card:hover h3,.pp-card:hover p{color:inherit}
.pp-card-icon{display:none}
.pp-workspace-group{margin:54px 0}
.pp-workspace-group>h2{margin:0;padding:0 0 12px;border-bottom:1px solid var(--pp-border);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pp-workspace-group .pp-action-grid{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.pp-workspace-group .pp-card{min-height:160px}

/* PropertyPool plugin normalization */
.propertypool{color:var(--pp-text)}
.propertypool.pp-front,.propertypool .pp-card,.propertypool .pp-directory-item,.propertypool .pp-form,.propertypool .pp-directory,.propertypool table{
  background:var(--pp-surface)!important;
  color:var(--pp-text)!important;
  border-color:var(--pp-border)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.propertypool h2,.propertypool h3,.propertypool h4,.propertypool strong{color:var(--pp-heading)}
.propertypool input,.propertypool select,.propertypool textarea{
  background:var(--pp-bg)!important;
  color:var(--pp-text)!important;
  border:1px solid var(--pp-border)!important;
  border-radius:0!important;
  padding:11px 12px!important;
}
.propertypool button,.propertypool input[type="submit"],.propertypool .button,.propertypool .pp-button{
  border-radius:0!important;
  box-shadow:none!important;
  font-size:.7rem!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
.propertypool table{width:100%;border-collapse:collapse}
.propertypool th{background:var(--pp-surface-2)!important;color:var(--pp-heading)!important;text-align:left}
.propertypool th,.propertypool td{padding:12px;border:1px solid var(--pp-border)!important}

/* Information-first resident dashboard */
.propertypool.pp-resident-portal{
  display:grid!important;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr)!important;
  gap:18px 22px!important;
  align-items:start!important;
}
.propertypool.pp-resident-portal>h2,.propertypool.pp-resident-portal>.pp-muted,.propertypool.pp-resident-portal>.pp-resident-selected-bar,.propertypool.pp-resident-portal>.pp-resident-compact-nav,.propertypool.pp-resident-portal>.pp-resident-panel-focused{grid-column:1/-1!important}
.propertypool.pp-resident-portal>h2{margin-bottom:0}
.propertypool.pp-resident-portal>.pp-muted{margin-top:-12px}
.propertypool.pp-resident-portal>.pp-resident-panel-overview{grid-column:1!important;grid-row:3!important;min-width:0}
.propertypool.pp-resident-portal>.pp-resident-cards{
  grid-column:2!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:repeat(var(--pp-resident-action-columns),minmax(0,1fr))!important;
  gap:1px!important;
  align-content:start!important;
  margin:0!important;
  background:var(--pp-border)!important;
  border:1px solid var(--pp-border)!important;
}
.propertypool.pp-resident-portal>.pp-resident-cards:before{
  content:"quick actions"!important;
  grid-column:1/-1!important;
  padding:12px 14px!important;
  background:var(--pp-heading)!important;
  color:var(--pp-bg)!important;
  font-size:.68rem!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.propertypool.pp-resident-portal>.pp-resident-cards .pp-card{
  min-height:104px!important;
  margin:0!important;
  padding:14px!important;
  border:0!important;
  background:var(--pp-surface)!important;
}
.propertypool.pp-resident-portal>.pp-resident-cards .pp-card:first-of-type,.propertypool.pp-resident-portal>.pp-resident-cards .pp-card.is-active{display:none!important}
.propertypool.pp-resident-portal>.pp-resident-cards .pp-card:hover{background:var(--pp-heading)!important;color:var(--pp-bg)!important}
.propertypool.pp-resident-portal>.pp-resident-cards .pp-card strong{font-size:.9rem!important;font-weight:600!important;line-height:1.25!important}
.propertypool.pp-resident-portal>.pp-resident-cards .pp-card span{font-size:.76rem!important;line-height:1.35!important;color:var(--pp-muted)!important}
.propertypool.pp-resident-portal>.pp-resident-cards .pp-card:hover strong,.propertypool.pp-resident-portal>.pp-resident-cards .pp-card:hover span{color:inherit!important}
.propertypool.pp-resident-portal .pp-resident-panel-overview .pp-directory{margin:0!important;padding:24px!important;border:1px solid var(--pp-border)!important}
.propertypool.pp-resident-portal .pp-resident-panel-overview .pp-directory>h3{margin-top:0;padding-bottom:12px;border-bottom:1px solid var(--pp-border)}
.propertypool.pp-resident-portal .pp-resident-panel-overview .pp-directory>h4{margin-top:25px;padding-top:18px;border-top:1px solid var(--pp-border)}
.propertypool .pp-resident-maintenance>.pp-form{margin-bottom:24px}
.propertypool .pp-resident-maintenance>.pp-directory{margin-top:24px}

/* Account portal */
.pp-account-heading{margin-bottom:20px}
.pp-account-heading h2{margin:.2rem 0;font-weight:400}
.pp-account-heading p{margin:0;color:var(--pp-muted)}
.pp-account-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.72fr);gap:22px;align-items:start}
.pp-account-main,.pp-account-sidebar{display:grid;gap:18px}
.pp-account-section{padding:24px}
.pp-account-section h3{margin-top:0;font-weight:400;font-size:1.55rem}
.pp-account-section h4{margin:24px 0 10px}
.pp-account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pp-account-form-grid label,.pp-account-section>form>label{display:grid;gap:6px;font-weight:700}
.pp-account-span{grid-column:1/-1}
.pp-account-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
.pp-account-checks label{font-weight:600}
.pp-account-summary{margin:0}
.pp-account-summary>div{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--pp-border)}
.pp-account-summary>div:last-child{border-bottom:0}
.pp-account-summary dt{font-weight:800;color:var(--pp-heading)}
.pp-account-summary dd{margin:0}
.pp-account-notice{padding:12px 15px;margin-bottom:16px;border:1px solid var(--pp-border);background:var(--pp-surface)}
.pp-account-success{border-left:4px solid #22c55e}
.pp-account-error{border-left:4px solid #ef4444}
.pp-account-warning{border-left:4px solid #f59e0b}

/* Management records/search */
.pp-management-records,.pp-management-add-edit{max-width:100%;overflow:hidden}
.pp-management-records .pp-records-table,.pp-management-records .widefat,.pp-global-search+table{width:100%;border-collapse:collapse}
.pp-management-records .pp-records-table th,.pp-management-records .pp-records-table td{padding:12px;vertical-align:top}
.pp-module-tabs{display:flex;gap:1px;flex-wrap:wrap;background:var(--pp-border);border:1px solid var(--pp-border)}
.pp-module-tabs a{background:var(--pp-surface);padding:9px 13px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.pp-module-tabs a:hover{background:var(--pp-heading);color:var(--pp-bg)}
.pp-global-search{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:18px 0}
.pp-global-search input[type=search]{min-width:min(420px,100%);padding:10px 12px}


/* Footer */
.site-footer{margin:0;padding:46px 0 34px;background:var(--pp-bg);color:var(--pp-text);border-top:1px solid var(--pp-border)}
.footer-inner{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.site-footer p{margin:0;color:var(--pp-muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.site-footer a{font-weight:700;color:var(--pp-heading)}

/* Responsive */
@media(max-width:1100px){
  .pp-menu-toggle{display:inline-flex}
  .primary-navigation{position:relative}
  .primary-menu{display:none;position:absolute;top:54px;right:0;width:min(380px,calc(100vw - 48px));padding:18px;background:var(--pp-surface);border:1px solid var(--pp-border);box-shadow:var(--pp-shadow);flex-direction:column;align-items:stretch;gap:0}
  .primary-menu.is-open{display:flex}
  .primary-menu a{padding:11px 4px;border-bottom:1px solid var(--pp-border)}
  .ppu-hero-inner{grid-template-columns:80px minmax(0,1fr)}
  .ppu-hero-copy,.ppu-scroll-cue{grid-column:2}
  .ppu-project:nth-child(1){grid-column:1/7}.ppu-project:nth-child(2){grid-column:7/13;margin-top:70px}.ppu-project:nth-child(3){grid-column:2/9}
  .ppu-contact-grid{grid-template-columns:160px 1fr}.ppu-contact-actions{grid-column:2}
}
@media(max-width:900px){
  .pp-container{width:min(calc(100% - 36px),var(--pp-container))}
  .ppu-editorial-section,.ppu-projects-section{padding:84px 0}
  .ppu-split,.ppu-section-heading{grid-template-columns:1fr;gap:28px}
  .ppu-section-label p{writing-mode:horizontal-tb;transform:none}
  .ppu-project-grid{display:grid;grid-template-columns:1fr;gap:54px}
  .ppu-project:nth-child(n){grid-column:auto;margin-top:0}
  .ppu-project-copy{grid-template-columns:1fr;grid-template-areas:"title" "body" "link";gap:12px}
  .ppu-project-copy>.ppu-text-link{justify-self:start}
  .pp-grid,.pp-workspace-group .pp-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .propertypool.pp-resident-portal{grid-template-columns:1fr!important}
  .propertypool.pp-resident-portal>.pp-resident-panel-overview,.propertypool.pp-resident-portal>.pp-resident-cards{grid-column:1!important;grid-row:auto!important}
  .propertypool.pp-resident-portal>.pp-resident-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pp-account-layout{grid-template-columns:1fr}.pp-account-sidebar{grid-row:1}.pp-account-main{grid-row:2}
}
@media(max-width:680px){
  .header-inner{min-height:72px}.site-logo img,.custom-logo{height:39px;max-width:190px}.header-controls{gap:8px}
  .pp-theme-toggle,.pp-menu-toggle{padding:8px 9px}
  .ppu-hero{min-height:calc(100vh - 72px)}
  .ppu-hero-inner{min-height:calc(100vh - 72px);grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding-block:28px 26px}
  .ppu-index{grid-column:1;writing-mode:horizontal-tb;transform:none;margin:0}
  .ppu-hero-copy{grid-column:1;align-self:center}.ppu-scroll-cue{grid-column:1}
  .ppu-hero h1{font-size:clamp(3rem,15vw,5.4rem)}
  .ppu-editorial-section,.ppu-projects-section{padding:68px 0}
  .ppu-contact-band{padding:70px 0}.ppu-contact-grid{grid-template-columns:1fr;gap:26px}.ppu-contact-actions{grid-column:1}
  .entry-content{padding:52px 0 80px}.pp-portal-heading{display:block}.pp-small-link{display:inline-block;margin-top:14px}
  .pp-grid,.pp-workspace-group .pp-action-grid{grid-template-columns:1fr}
  .propertypool.pp-resident-portal>.pp-resident-cards{grid-template-columns:1fr!important}
  .pp-account-form-grid,.pp-account-checks{grid-template-columns:1fr}.pp-account-span{grid-column:auto}.pp-account-summary>div{grid-template-columns:1fr;gap:2px}
  .pp-management-records{overflow-x:auto}.pp-management-records .pp-records-table{min-width:760px}.pp-global-search{align-items:stretch;flex-direction:column}.pp-global-search input[type=search]{min-width:0;width:100%}
  .footer-inner{grid-template-columns:1fr}
}
@media(max-width:420px){.pp-container{width:min(calc(100% - 24px),var(--pp-container))}.pp-shortcode-wrap,.pp-account-section,.pp-access-box{padding:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
html[data-pp-theme="dark"] .site-logo img:not(.custom-logo){filter:invert(1) grayscale(1) brightness(1.6)}
@media(prefers-color-scheme:dark){html[data-pp-theme="system"] .site-logo img:not(.custom-logo){filter:invert(1) grayscale(1) brightness(1.6)}}


/* v1.3.7 front-end Manager Analytics */
.pp-analytics-page{padding-top:38px;padding-bottom:54px}
.pp-analytics-intro{margin-bottom:18px}
.pp-analytics-content{overflow:hidden}
.pp-analytics-content .pp-analytics-workspace{background:transparent!important;border:0!important;padding:0!important}
.pp-analytics-workspace .pp-cards{margin:22px 0 34px}
.pp-analytics-workspace .pp-report-tables{display:grid;gap:24px}
.pp-analytics-workspace .pp-report-table{width:100%;border-collapse:collapse}
.pp-analytics-workspace .pp-dashboard-drilldown{overflow-x:auto}
.pp-menu-reports a{font-weight:850}

/* v1.4.0 front-end Financial Reporting */
.pp-financial-page{padding-top:38px;padding-bottom:54px}
.pp-financial-intro{margin-bottom:18px}
.pp-financial-content{overflow:hidden}
.pp-financial-content .pp-financial-workspace{background:transparent!important;border:0!important;padding:0!important}
.pp-menu-financials a{font-weight:850}

/* v1.6.2 phone-first Inspection Workspace */
@media(max-width:720px){
  .pp-inspection-page{width:min(calc(100% - 16px),var(--pp-container));padding-top:24px;padding-bottom:58px}
  .pp-inspection-page .pp-role-label{margin-left:4px}
  .pp-inspection-shortcode-wrap{margin:10px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
  .pp-inspection-page .propertypool.pp-front{padding:0!important;background:transparent!important;border:0!important}
}


/* v1.6.5 advanced analytics workspace */
.pp-analytics-page{width:min(1500px,calc(100% - 28px));max-width:none}
.pp-analytics-page .pp-shortcode-wrap.pp-analytics-content{padding:clamp(12px,2vw,26px)}
@media(max-width:720px){.pp-analytics-page{width:min(100% - 16px,1500px)}.pp-analytics-page .pp-shortcode-wrap.pp-analytics-content{padding:8px;border-radius:14px}}

/* Floor Plan Visualization workspace — v1.6.7 */
.pp-dollhouse-page{width:min(1540px,calc(100% - 36px))}.pp-dollhouse-page .pp-shortcode-wrap{padding:0;background:transparent;border:0;box-shadow:none}.pp-dollhouse-page article>h1{margin-bottom:6px}.pp-dollhouse-page .pp-page-intro{max-width:880px;color:var(--pp-muted)}
@media(max-width:680px){.pp-dollhouse-page{width:min(100% - 20px,1540px)}}


/* v1.6.8 authentication and account navigation */
.pp-menu-login>a{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1rem;border:1px solid var(--pp-primary);border-radius:999px;font-weight:700;color:var(--pp-primary)}
.pp-menu-login>a:hover{background:var(--pp-primary);color:#fff}
.pp-menu-logout>a{font-weight:700}
.pp-login-page{min-height:calc(100vh - 180px);display:grid;align-items:center;padding:clamp(3rem,8vw,7rem) 0}
.pp-login-shell{display:flex;justify-content:center}
.pp-login-card{width:min(100%,470px);background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:max(var(--pp-radius),20px);box-shadow:var(--pp-shadow);padding:clamp(1.5rem,4vw,3rem)}
.pp-login-brand{margin-bottom:1.5rem}.pp-login-brand img{max-height:70px;width:auto}
.pp-login-card h1{margin:.2rem 0 .5rem;font-size:clamp(2rem,5vw,3.25rem)}
.pp-login-card form{margin-top:1.6rem}.pp-login-card label{display:block;font-weight:700;margin-bottom:.4rem}
.pp-login-card input[type=text],.pp-login-card input[type=password]{width:100%;min-height:48px;border:1px solid var(--pp-border);border-radius:10px;background:var(--pp-bg);color:var(--pp-text);padding:.75rem 1rem}
.pp-login-card input:focus{outline:2px solid var(--pp-primary);outline-offset:2px}
.pp-login-card .login-remember label{display:flex;align-items:center;gap:.5rem;font-weight:500}
.pp-login-card .login-submit .button{width:100%;min-height:48px;border:0;border-radius:10px;background:var(--pp-primary);color:#fff;font-weight:800;cursor:pointer}
.pp-login-links{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-size:.95rem}
.pp-login-links a{color:var(--pp-primary);font-weight:700}
@media(max-width:720px){.pp-menu-login>a{padding:.5rem .8rem}.pp-login-page{padding:2rem 0}.pp-login-links{display:grid}}


/* Scott Block Lofts identity layer */
:root{
  --pp-container:1320px;
  --pp-radius:0px;
  --pp-primary:#9d5b3f;
  --pp-teal:#9d5b3f;
  --pp-aqua:#c69b57;
  --pp-bg:#f6efe6;
  --pp-surface:#fffaf2;
  --pp-surface-2:#efe0cf;
  --pp-text:#332821;
  --pp-muted:#78695e;
  --pp-heading:#17120f;
  --pp-border:#ddcab4;
  --pp-header:rgba(246,239,230,.92);
  --pp-ink:#17120f;
  --pp-paper:#f6efe6;
  --pp-shadow:0 22px 64px rgba(52,35,22,.13);
  --pp-dark-bg:#17120f;
  --pp-dark-surface:#251d18;
}
html[data-pp-theme="dark"]{
  --pp-bg:#17120f;--pp-surface:#251d18;--pp-surface-2:#33271f;--pp-text:#f2e7da;--pp-muted:#c5b4a3;--pp-heading:#fff7ed;--pp-border:#4d3d31;--pp-header:rgba(23,18,15,.91);--pp-paper:#17120f;--pp-shadow:0 24px 72px rgba(0,0,0,.42);
}
@media(prefers-color-scheme:dark){html[data-pp-theme="system"]{--pp-bg:#17120f;--pp-surface:#251d18;--pp-surface-2:#33271f;--pp-text:#f2e7da;--pp-muted:#c5b4a3;--pp-heading:#fff7ed;--pp-border:#4d3d31;--pp-header:rgba(23,18,15,.91);--pp-paper:#17120f;--pp-shadow:0 24px 72px rgba(0,0,0,.42)}}
body{font-family:"Avenir Next",Montserrat,"Helvetica Neue",Arial,sans-serif;background:var(--pp-bg);word-break:normal;overflow-wrap:break-word;hyphens:none;}
h1,h2,h3,.primary-menu a,.pp-button{word-break:normal;overflow-wrap:normal;hyphens:none;}
.site-header{position:sticky;border-bottom:0;background:transparent;padding:18px 0 0;}
.header-inner{min-height:66px;background:var(--pp-header);border:1px solid rgba(157,91,63,.20);box-shadow:0 20px 60px rgba(45,31,22,.08);padding:0 22px;backdrop-filter:blur(18px);}
.site-logo img,.custom-logo{height:44px;max-width:275px}.primary-menu{gap:25px}.primary-menu a{font-size:.68rem;letter-spacing:.2em;color:var(--pp-heading)}.primary-menu a:after{height:2px;background:var(--pp-primary)}.pp-theme-toggle,.pp-menu-toggle{border-color:var(--pp-border);background:var(--pp-surface);color:var(--pp-heading)}
.pp-scott-home{margin-top:-84px}.pps-hero{position:relative;min-height:760px;padding:120px 0 0;overflow:hidden;background:linear-gradient(90deg,rgba(23,18,15,.84),rgba(23,18,15,.42)),var(--pps-hero-image) center/cover no-repeat;color:#fff}.pps-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(23,18,15,.78) 0 42%,rgba(157,91,63,.30) 42% 68%,rgba(198,155,87,.18));pointer-events:none}.pps-topline{position:relative;z-index:2;display:flex;justify-content:space-between;gap:18px;color:rgba(255,255,255,.76);font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.22);padding:22px 0}.pps-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.78fr);gap:64px;align-items:center;padding:78px 0 118px}.pps-hero-copy h1{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,7vw,7.9rem);line-height:.92;letter-spacing:-.055em;font-weight:400;max-width:840px;text-transform:none}.pps-hero-copy p:not(.pp-kicker){max-width:690px;margin:30px 0 0;color:rgba(255,255,255,.82);font-size:1.08rem}.pp-kicker{color:#c69b57}.pps-building-card{position:relative;background:rgba(255,250,242,.08);border:1px solid rgba(255,255,255,.24);padding:18px;box-shadow:0 28px 90px rgba(0,0,0,.24);backdrop-filter:blur(10px)}.pps-building-image{aspect-ratio:4/5;background:var(--pps-hero-image) center/cover no-repeat;filter:saturate(.95) contrast(1.05)}.pps-card-panel{position:absolute;left:-34px;right:34px;bottom:42px;background:rgba(255,250,242,.92);color:#17120f;padding:28px 30px;border:1px solid rgba(198,155,87,.5);box-shadow:0 24px 60px rgba(0,0,0,.18)}.pps-card-panel span{display:block;color:#9d5b3f;font-size:.68rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.pps-card-panel strong{display:block;margin:9px 0;font-family:Georgia,serif;font-size:2rem;font-weight:400}.pps-card-panel em{display:block;color:#6f6256;font-style:normal}.pps-wave{position:absolute;left:0;right:0;bottom:-1px;height:78px;background:var(--pp-bg);clip-path:ellipse(68% 100% at 48% 100%)}
.pp-button{background:#9d5b3f;color:#fff;border-color:#9d5b3f;border-radius:0;font-size:.68rem;letter-spacing:.18em;white-space:normal}.pp-button:hover{background:#c69b57;border-color:#c69b57;color:#17120f}.pp-button.secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55);color:#fff}.pp-button.secondary:hover{background:#fff;color:#17120f}.pps-intro{padding:102px 0 88px;background:var(--pp-bg)}.pps-intro-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:72px;align-items:start}.pps-label{border-left:4px solid #c69b57;padding-left:22px;display:grid;gap:12px}.pps-label span{font-size:.7rem;font-weight:900;letter-spacing:.2em;color:#9d5b3f}.pps-label b{font-family:Georgia,serif;font-size:1.6rem;font-weight:400;color:var(--pp-heading)}.pps-intro h2,.pps-section-title h2,.pps-operations h2{margin:0;color:var(--pp-heading);font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;line-height:1.02;font-size:clamp(2.4rem,5.2vw,5.8rem);overflow-wrap:normal}.pps-intro p{max-width:760px;color:var(--pp-muted);font-size:1.08rem}.pps-pathways{padding:104px 0;background:var(--pp-surface);border-top:1px solid var(--pp-border);border-bottom:1px solid var(--pp-border)}.pps-section-title{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:54px}.pps-section-title p{font-size:.68rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#9d5b3f}.pps-pathway-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--pp-border);border-left:1px solid var(--pp-border)}.pps-pathway{min-width:0;display:block;min-height:310px;padding:34px 28px 30px;background:linear-gradient(180deg,var(--pp-surface),rgba(239,224,207,.45));border-right:1px solid var(--pp-border);border-bottom:1px solid var(--pp-border);color:var(--pp-text)}.pps-pathway:hover{background:var(--pp-bg);color:inherit}.pps-pathway span{display:inline-block;margin-bottom:72px;color:#c69b57;font-family:Georgia,serif;font-size:2.2rem}.pps-pathway h3{margin:0 0 12px;color:var(--pp-heading);font-family:Georgia,serif;font-size:1.55rem;font-weight:400}.pps-pathway p{margin:0;color:var(--pp-muted);font-size:.95rem}.pps-link{display:inline-flex;margin-top:18px;border-bottom:1px solid currentColor;font-weight:900;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#9d5b3f}.pps-operations{padding:100px 0;background:#17120f;color:#f8eee4}.pps-ops-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.7fr);gap:72px;align-items:center}.pps-operations h2{color:#fff}.pps-ops-stack{display:grid;gap:14px}.pps-ops-stack div{border:1px solid rgba(198,155,87,.35);background:rgba(255,255,255,.05);padding:22px}.pps-ops-stack span{display:block;color:#c69b57;font-size:.68rem;font-weight:900;letter-spacing:.18em}.pps-ops-stack strong{display:block;margin-top:6px;color:#fff;font-size:1.05rem}
.pp-card,.pp-access-box,.pp-login-card,.pp-account-card,.pp-workspace-group,.pp-stat-card,.propertypool-card{border-radius:0!important;border-color:var(--pp-border)!important;box-shadow:var(--pp-shadow)!important;background:var(--pp-surface)!important}.pp-card h3,.pp-workspace-group h2,.pp-login-card h1,.pp-portal-heading h1{font-family:Georgia,"Times New Roman",serif;text-transform:none;letter-spacing:-.025em}.pp-card:hover{border-color:#c69b57!important;transform:translateY(-2px)}.pp-login-page{background:radial-gradient(circle at 15% 10%,rgba(198,155,87,.22),transparent 32%),var(--pp-bg)}.pp-login-card{max-width:520px}.pp-login-card .pp-kicker{color:#9d5b3f}.pp-login-card input[type="submit"]{background:#9d5b3f;border-color:#9d5b3f;color:#fff;border-radius:0}.site-footer{background:#17120f;color:#f7efe6;border-top:0}.footer-inner a{color:#c69b57}
@media(max-width:1100px){.pps-hero-grid{grid-template-columns:1fr;gap:40px}.pps-building-card{max-width:620px}.pps-pathway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pps-ops-grid,.pps-intro-grid{grid-template-columns:1fr}.pps-topline{flex-wrap:wrap}.pp-scott-home{margin-top:-84px}}
@media(max-width:760px){.site-header{padding-top:8px}.header-inner{padding:0 14px}.pp-scott-home{margin-top:-74px}.pps-hero{padding-top:100px;min-height:auto}.pps-hero-grid{padding:48px 0 82px}.pps-hero-copy h1{font-size:clamp(2.5rem,13vw,4.2rem);line-height:.98}.pps-card-panel{position:static;margin-top:14px}.pps-section-title{display:block}.pps-pathway-grid{grid-template-columns:1fr}.pps-pathway{min-height:auto}.pps-pathway span{margin-bottom:34px}.pps-building-card{padding:12px}.pps-topline{font-size:.58rem}.pp-actions{width:100%}.pp-actions .pp-button{width:100%;white-space:normal}.primary-menu a{white-space:normal}.pps-intro,.pps-pathways,.pps-operations{padding:70px 0}.pp-container{width:min(calc(100% - 32px),var(--pp-container))}}
@media(max-width:480px){.pps-hero-copy h1,.pps-intro h2,.pps-section-title h2,.pps-operations h2{word-break:normal;overflow-wrap:normal;hyphens:none}.pps-hero-copy p:not(.pp-kicker),.pps-intro p{font-size:1rem}.site-logo img,.custom-logo{max-width:215px;height:auto}.pps-card-panel strong{font-size:1.6rem}}

/* Scott Block v1.1.1 — approved mockup visual system */
:root{--sb-navy:#071827;--sb-navy-2:#0b2234;--sb-green:#15372f;--sb-green-2:#20483e;--sb-gold:#c4934b;--sb-gold-2:#d8a85f;--sb-cream:#f7f3ed;--sb-ink:#182028;--sb-line:rgba(255,255,255,.14)}
body{overflow-wrap:normal;word-break:normal;hyphens:none;background:var(--sb-cream);color:var(--sb-ink)}
.pp-container{width:min(calc(100% - 56px),1420px)}
.pps2-utility{background:#04121d;color:#e9edf0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.82rem}
.pps2-utility-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}.pps2-utility-inner>div{display:flex;align-items:center;gap:28px}.pps2-utility a{color:#e9edf0}.pps2-apply-top{background:var(--sb-gold);color:white!important;padding:10px 20px;margin-left:10px;font-weight:700}
.pps2-header.site-header{position:relative;top:auto;background:linear-gradient(90deg,#071827,#0b2234);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:none}.pps2-header .header-inner{min-height:90px}.pps2-header .site-logo img,.pps2-header .custom-logo{height:64px;max-width:330px}.pps2-header .primary-menu{gap:36px}.pps2-header .primary-menu a{color:#fff;font-size:.92rem;letter-spacing:0;text-transform:none;font-weight:500}.pps2-header .primary-menu a:after{background:var(--sb-gold);height:1px}.pps2-header .pp-theme-toggle{color:#fff;border-color:rgba(255,255,255,.2)}
.pps2-hero{position:relative;min-height:455px;background:var(--sb-navy);color:#fff;overflow:hidden}.pps2-hero:before{content:"";position:absolute;inset:0;background-image:var(--pps2-hero);background-size:cover;background-position:60% center}.pps2-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,17,29,.97) 0%,rgba(6,27,43,.87) 25%,rgba(7,24,39,.28) 55%,rgba(7,24,39,.05) 100%)}.pps2-hero-inner{position:relative;min-height:455px;display:grid;grid-template-columns:minmax(0,520px) 1fr;align-items:center;padding:54px 0 62px}.pps2-copy{z-index:2}.pps2-copy h1{margin:0;color:white;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,4.6vw,4.9rem);line-height:1.03;font-weight:400;letter-spacing:-.035em}.pps2-copy h1 span,.pps2-copy h1 strong{display:block}.pps2-copy h1 strong{color:var(--sb-gold);font-weight:400}.pps2-rule{display:block;width:40px;height:2px;background:var(--sb-gold);margin:24px 0}.pps2-copy>p{font-size:1.02rem;line-height:1.7;max-width:470px;color:rgba(255,255,255,.94)}.pps2-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.pps2-actions.compact{margin-top:25px}.pps2-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 25px;border:1px solid var(--sb-gold);font-weight:700;font-size:.92rem;transition:.2s}.pps2-btn.primary{background:var(--sb-gold);color:#fff}.pps2-btn.secondary{background:rgba(6,19,29,.72);color:#fff}.pps2-btn.dark{background:var(--sb-navy);border-color:var(--sb-navy);color:#fff}.pps2-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.pps2-hero-facts{position:absolute;right:0;bottom:26px;display:flex;background:rgba(5,28,34,.86);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08)}.pps2-hero-facts>div{display:flex;align-items:center;gap:15px;padding:20px 26px;min-width:190px;border-right:1px solid rgba(255,255,255,.18)}.pps2-hero-facts>div:last-child{border-right:0}.pps2-icon{font-size:2.1rem;color:#fff}.pps2-hero-facts p{margin:0}.pps2-hero-facts b,.pps2-hero-facts small{display:block}.pps2-hero-facts b{font-size:.85rem}.pps2-hero-facts small{color:rgba(255,255,255,.82);margin-top:5px}
.pps2-feature-wrap{background:var(--sb-navy);padding:0 0 0}.pps2-feature-strip{position:relative;z-index:5;margin-top:-1px;background:var(--sb-cream);display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 12px 36px rgba(0,0,0,.14)}.pps2-feature-strip>div{display:flex;align-items:center;gap:19px;padding:31px 36px;border-right:1px solid #d9d2c8}.pps2-feature-strip>div:last-child{border-right:0}.pps2-feature-icon{font-size:2.5rem;color:var(--sb-gold)}.pps2-feature-strip p{margin:0}.pps2-feature-strip b,.pps2-feature-strip small{display:block}.pps2-feature-strip b{font-size:.91rem}.pps2-feature-strip small{margin-top:7px;line-height:1.45;color:#343b40}
.pps2-welcome{background:linear-gradient(105deg,#15372f,#20483e);color:#fff;padding:42px 0}.pps2-welcome-grid{display:grid;grid-template-columns:1.1fr 2.2fr .5fr;gap:38px;align-items:center}.pps2-welcome-copy h2,.pps2-about h2,.pps2-gallery h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.pps2-welcome-copy h2{font-size:2.8rem;margin:0}.pps2-welcome-copy>p{color:rgba(255,255,255,.9);margin:12px 0 0}.pps2-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pps2-stat{background:var(--sb-cream);color:var(--sb-ink);padding:20px 20px 17px;min-width:0}.pps2-stat>span{display:flex;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;background:var(--sb-green);color:#fff;font-size:1.25rem}.pps2-stat:nth-child(even)>span{background:var(--sb-gold)}.pps2-stat strong{display:block;font-family:Georgia,serif;font-size:2rem;font-weight:400;margin-top:12px}.pps2-stat p{margin:2px 0 12px;font-size:.85rem}.pps2-stat small{color:#a66f2f;font-weight:700}.pps2-seal{text-align:center;color:rgba(255,255,255,.48)}.pps2-seal span{display:block;letter-spacing:.18em;font-size:.72rem}.pps2-seal b{display:block;font-family:Georgia,serif;font-size:4rem;font-weight:400;line-height:1}.pps2-seal small{font-size:.68rem;letter-spacing:.12em;line-height:1.8;color:rgba(255,255,255,.45)}
.pps2-about{padding:90px 0;background:#f7f3ed}.pps2-about-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:90px}.pps2-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--sb-gold);font-size:.73rem;font-weight:800}.pps2-about h2,.pps2-gallery h2{font-size:clamp(2.4rem,4vw,4.3rem);line-height:1.05;margin:15px 0;color:var(--sb-navy)}.pps2-about-grid>div:last-child{padding-top:35px;font-size:1.05rem;line-height:1.8}.pps2-about a{color:#9b692d;font-weight:700}
.pps2-gallery{padding:80px 0 100px;background:#fff}.pps2-gallery-grid{display:grid;grid-template-columns:1.5fr .8fr;min-height:420px;margin-top:35px;background:var(--sb-navy)}.pps2-gallery-photo{background:url('assets/images/scott-block-hero-clean.jpg') center/cover no-repeat}.pps2-gallery-copy{padding:55px;color:#fff}.pps2-gallery-copy h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:0 0 20px}.pps2-gallery-copy p{color:rgba(255,255,255,.84);line-height:1.75;margin-bottom:28px}.pps2-tour{background:linear-gradient(90deg,#bc8b45,#d2a35d);color:#fff}.pps2-tour-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.pps2-tour-inner>div{display:flex;align-items:center;gap:18px}.pps2-tour-inner>div>span{font-size:2rem}.pps2-tour p{margin:0}.pps2-tour b,.pps2-tour small{display:block}.pps2-tour b{font-size:1.1rem}.pps2-tour small{margin-top:3px}
.pp-login-page{background:linear-gradient(120deg,var(--sb-green) 0 42%,#f7f3ed 42%)}.pp-login-card{border-radius:0!important;border-top:4px solid var(--sb-gold)!important;box-shadow:0 30px 80px rgba(0,0,0,.2)!important}.pp-login-card h1{font-family:Georgia,serif!important}.pp-login-card input[type=submit]{background:var(--sb-gold)!important;border-color:var(--sb-gold)!important}
/* PropertyPool operational components inherit Scott Block surfaces */
.pp-portal-card,.pp-management-card,.pp-account-card,.pp-analytics-panel,.pp-financial-panel{border-radius:0!important;border-color:#d9d1c7!important;box-shadow:0 8px 24px rgba(7,24,39,.07)!important}.pp-portal-heading h1,.pp-management-heading h1,.entry-content>article>h1{font-family:Georgia,serif;text-transform:none!important;color:var(--sb-navy)!important}.pp-role-label,.pp-account-eyebrow,.pp-eyebrow{color:var(--sb-gold)!important}
@media(max-width:1180px){.pps2-header .primary-menu{gap:20px}.pps2-header .primary-menu a{font-size:.83rem}.pps2-hero-facts{right:18px}.pps2-hero-facts>div{min-width:160px;padding:16px}.pps2-welcome-grid{grid-template-columns:1fr}.pps2-seal{display:none}}
@media(max-width:900px){.pp-container{width:min(calc(100% - 32px),1420px)}.pps2-utility-inner>div:first-child span{display:none}.pps2-header .header-inner{min-height:76px}.pps2-header .site-logo img,.pps2-header .custom-logo{height:52px;max-width:260px}.pps2-header .pp-menu-toggle{display:block;color:#fff;border-color:rgba(255,255,255,.3)}.pps2-header .primary-menu{position:absolute;left:16px;right:16px;top:76px;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--sb-navy);padding:12px;box-shadow:0 20px 45px rgba(0,0,0,.35)}.pps2-header .primary-menu.is-open{display:flex}.pps2-header .primary-menu a{padding:12px}.pps2-hero-inner{grid-template-columns:1fr;min-height:620px;align-items:start;padding-top:70px}.pps2-hero:before{background-position:var(--pps2-hero-position,67% center)}.pps2-hero-shade{background:linear-gradient(90deg,rgba(3,17,29,.96) 0%,rgba(6,27,43,.82) 52%,rgba(7,24,39,.2) 100%)}.pps2-hero-facts{left:0;right:0;bottom:24px;overflow:auto}.pps2-hero-facts>div{flex:1;min-width:160px}.pps2-feature-strip{grid-template-columns:1fr 1fr}.pps2-feature-strip>div:nth-child(2){border-right:0}.pps2-feature-strip>div:nth-child(-n+2){border-bottom:1px solid #d9d2c8}.pps2-stat-grid{grid-template-columns:1fr 1fr}.pps2-about-grid,.pps2-gallery-grid{grid-template-columns:1fr}.pps2-gallery-photo{min-height:360px}}
@media(max-width:620px){.pps2-utility-inner{min-height:42px}.pps2-utility-inner>div:first-child{display:none}.pps2-utility-inner{justify-content:flex-end}.pps2-utility-inner>div:last-child a:not(.pps2-apply-top){font-size:.78rem}.pps2-apply-top{padding:9px 13px}.pps2-copy h1{font-size:clamp(2.4rem,12vw,3.5rem)}.pps2-copy>p{font-size:.95rem}.pps2-actions{flex-direction:column}.pps2-btn{width:100%}.pps2-hero-facts{display:grid;grid-template-columns:1fr 1fr}.pps2-hero-facts>div:nth-child(3){display:none}.pps2-feature-strip{grid-template-columns:1fr}.pps2-feature-strip>div{border-right:0;border-bottom:1px solid #d9d2c8;padding:24px}.pps2-stat-grid{grid-template-columns:1fr}.pps2-welcome-copy h2{font-size:2.25rem}.pps2-about,.pps2-gallery{padding:60px 0}.pps2-about-grid{gap:25px}.pps2-gallery-copy{padding:34px 26px}.pps2-tour-inner{padding:18px 0;align-items:flex-start;flex-direction:column}.pps2-tour .pps2-btn{width:auto}.pps2-hero{min-height:650px}}

/* v1.1.1 — authenticated navigation/header clearance fix
   PropertyPool management roles expose a much longer menu than the public site.
   Keep labels intact and collapse that menu before it can crowd the logo or page content. */
.pps2-header.site-header{
  width:100%;
  clear:both;
  isolation:isolate;
}
.pps2-header .header-inner,
.pps2-header .header-controls,
.pps2-header .primary-navigation{
  min-width:0;
}
.pps2-header .primary-menu a{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
body.logged-in .pps2-header .header-controls{margin-left:auto;min-width:0}
body.logged-in .pps2-header .primary-menu{min-width:0}
body.logged-in .pps2-hero,
body.logged-in main,
body.logged-in .entry-content{clear:both}

/* On wide desktop screens the authenticated menu remains visible, but uses a
   more economical rhythm than the marketing navigation. */
@media (min-width:1501px){
  body.logged-in .pps2-header .header-inner{gap:24px}
  body.logged-in .pps2-header .site-logo img,
  body.logged-in .pps2-header .custom-logo{height:58px;max-width:295px}
  body.logged-in .pps2-header .primary-menu{gap:18px}
  body.logged-in .pps2-header .primary-menu a{font-size:.78rem}
}

/* Laptop / standard desktop: use the existing accessible menu toggle for the
   long PropertyPool management menu rather than squeezing 8–10 links inline. */
@media (min-width:901px) and (max-width:1500px){
  body.logged-in .pps2-header .header-inner{min-height:82px;gap:20px}
  body.logged-in .pps2-header .site-logo img,
  body.logged-in .pps2-header .custom-logo{height:54px;max-width:275px}
  body.logged-in .pps2-header .header-controls{gap:10px}
  body.logged-in .pps2-header .primary-navigation{position:relative}
  body.logged-in .pps2-header .pp-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    border-color:rgba(255,255,255,.30);
    min-height:42px;
    padding:9px 14px;
  }
  body.logged-in .pps2-header .primary-menu{
    display:none;
    position:absolute;
    top:calc(100% + 12px);
    right:0;
    left:auto;
    z-index:120;
    width:min(430px,calc(100vw - 48px));
    max-height:calc(100vh - 150px);
    overflow-y:auto;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px;
    background:linear-gradient(180deg,#071827,#0b2234);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 24px 60px rgba(0,0,0,.34);
  }
  body.logged-in .pps2-header .primary-menu.is-open{display:flex}
  body.logged-in .pps2-header .primary-menu li{width:100%}
  body.logged-in .pps2-header .primary-menu a{
    width:100%;
    padding:12px 10px;
    font-size:.88rem;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  body.logged-in .pps2-header .primary-menu li:last-child a{border-bottom:0}
  body.logged-in .pps2-header .primary-menu a:after{display:none}
}

/* Give operational pages a deliberate visual hand-off from the masthead. */
body.logged-in:not(.home) .entry-content{padding-top:max(64px,5vw)}


/* v1.1.2 — homepage vertical rhythm and de-cluttering
   Keep the masthead in normal document flow, remove legacy negative offsets,
   and use a clean building-only hero image so no mockup UI is duplicated. */
.pp-scott-home{
  margin-top:0!important;
}

.pps2-utility{
  position:relative;
  z-index:90;
}

.pps2-header.site-header{
  position:relative;
  top:auto;
  z-index:85;
  padding:0;
  margin:0;
  background:linear-gradient(90deg,var(--sb-navy),var(--sb-navy-2));
  border-bottom:1px solid rgba(255,255,255,.09);
  box-shadow:none;
  backdrop-filter:none;
}

.pps2-header .header-inner{
  min-height:90px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}

.pps2-header .site-logo img,
.pps2-header .custom-logo{
  height:58px;
  max-width:300px;
}

.pps2-header .pp-theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  width:42px;
  min-height:42px;
  padding:0;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
}

/* The hero is a self-contained section below the header rather than sitting underneath it. */
.pps2-hero{
  min-height:560px;
  overflow:hidden;
}
.pps2-hero:before{
  background-position:var(--pps2-hero-position,58% center);
}
.pps2-hero-inner{
  min-height:560px;
  grid-template-columns:minmax(0,540px) 1fr;
  align-items:start;
  padding:70px 0 142px;
}
.pps2-copy{
  align-self:start;
  max-width:540px;
}
.pps2-copy h1{
  font-size:clamp(3rem,4.7vw,5rem);
  line-height:1.02;
}
.pps2-copy>p{
  max-width:500px;
  margin-bottom:0;
}
.pps2-actions{
  margin-top:26px;
}

/* Give the fact bar its own clear lane at the bottom of the hero. */
.pps2-hero-facts{
  right:0;
  bottom:28px;
  max-width:min(100%,680px);
  background:rgba(5,28,34,.91);
  box-shadow:0 16px 42px rgba(0,0,0,.18);
}
.pps2-hero-facts>div{
  min-width:0;
  width:220px;
  padding:18px 22px;
}

/* Feature strip starts after the hero; no negative overlap or floating layer. */
.pps2-feature-wrap{
  position:relative;
  z-index:1;
  padding:0;
  background:var(--sb-cream);
}
.pps2-feature-strip{
  margin-top:0;
  box-shadow:none;
  border-bottom:1px solid #ddd5cb;
}
.pps2-feature-strip>div{
  min-height:126px;
  padding:26px 30px;
}

/* Authenticated navigation should remain visually part of the navy masthead. */
body.logged-in .pps2-header .header-inner{
  background:transparent;
  border:0;
  box-shadow:none;
}
body.logged-in .pps2-header .site-logo img,
body.logged-in .pps2-header .custom-logo{
  height:54px;
  max-width:280px;
}

@media (max-width:1180px){
  .pps2-hero-inner{
    padding-top:58px;
  }
  .pps2-hero-facts{
    max-width:620px;
  }
}

@media (max-width:900px){
  .pps2-header .header-inner{
    min-height:76px;
    padding:0;
  }
  .pps2-header .site-logo img,
  .pps2-header .custom-logo,
  body.logged-in .pps2-header .site-logo img,
  body.logged-in .pps2-header .custom-logo{
    height:50px;
    max-width:250px;
  }
  .pps2-hero{
    min-height:680px;
  }
  .pps2-hero-inner{
    min-height:680px;
    grid-template-columns:1fr;
    padding:52px 0 190px;
  }
  .pps2-copy{
    max-width:560px;
  }
  .pps2-hero-facts{
    left:0;
    right:0;
    bottom:24px;
    max-width:none;
  }
  .pps2-hero-facts>div{
    width:auto;
    flex:1;
  }
}

@media (max-width:620px){
  .pps2-header .header-inner{
    min-height:70px;
  }
  .pps2-header .site-logo img,
  .pps2-header .custom-logo,
  body.logged-in .pps2-header .site-logo img,
  body.logged-in .pps2-header .custom-logo{
    height:44px;
    max-width:220px;
  }
  .pps2-hero{
    min-height:auto;
  }
  .pps2-hero-inner{
    min-height:0;
    padding:44px 0 0;
  }
  .pps2-copy h1{
    font-size:clamp(2.45rem,12vw,3.55rem);
  }
  .pps2-hero-facts{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin:42px 0 0;
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .pps2-hero-facts>div{
    width:100%;
    min-height:78px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .pps2-hero-facts>div:last-child{
    display:flex;
    border-bottom:0;
  }
  .pps2-feature-strip>div{
    min-height:0;
  }
}

/* Log out remains available in the utility bar, so do not duplicate it in the
   primary authenticated navigation. This keeps the management masthead calm. */
body.logged-in .pps2-header .pp-menu-logout{display:none}


/* v1.1.3 — management workspace card hover contrast
   Keep the Scott Block portfolio/operations/workspace cards light and readable
   on hover. The base PropertyPool theme intentionally inverts generic .pp-card
   text; these larger workspace cards use a subtler gold-border hover instead. */
.propertypool .pp-workspace-group .pp-card:hover,
.propertypool .pp-workspace-group .pp-card:focus-visible{
  background:var(--pp-surface)!important;
  color:var(--pp-text)!important;
  border-color:var(--sb-gold,#c4934b)!important;
  box-shadow:0 12px 30px rgba(7,24,39,.10)!important;
  transform:translateY(-2px);
}
.propertypool .pp-workspace-group .pp-card:hover h3,
.propertypool .pp-workspace-group .pp-card:focus-visible h3{
  color:var(--pp-heading)!important;
}
.propertypool .pp-workspace-group .pp-card:hover p,
.propertypool .pp-workspace-group .pp-card:focus-visible p{
  color:var(--pp-muted)!important;
}

/* v1.1.4 — management workspace cards now behave like dashboard KPI cards.
   Keep each action as a distinct light card, preserve typography on hover,
   and use the Scott Block gold border/elevation instead of colour inversion. */
.pp-management-workspace .pp-workspace-group .pp-action-grid{
  gap:16px;
  background:transparent;
  border:0;
}
.pp-management-workspace .pp-workspace-group a.pp-card{
  min-height:154px;
  background:var(--pp-surface)!important;
  color:var(--pp-text)!important;
  border:1px solid var(--pp-border)!important;
  box-shadow:0 6px 20px rgba(7,24,39,.055)!important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.pp-management-workspace .pp-workspace-group a.pp-card h3{
  color:var(--pp-heading)!important;
}
.pp-management-workspace .pp-workspace-group a.pp-card p{
  color:var(--pp-muted)!important;
}
.pp-management-workspace .pp-workspace-group a.pp-card:hover,
.pp-management-workspace .pp-workspace-group a.pp-card:focus-visible{
  background:var(--pp-surface)!important;
  color:var(--pp-text)!important;
  border-color:var(--sb-gold,#c4934b)!important;
  box-shadow:0 14px 32px rgba(7,24,39,.12)!important;
  transform:translateY(-2px)!important;
}
.pp-management-workspace .pp-workspace-group a.pp-card:hover h3,
.pp-management-workspace .pp-workspace-group a.pp-card:focus-visible h3{
  color:var(--pp-heading)!important;
}
.pp-management-workspace .pp-workspace-group a.pp-card:hover p,
.pp-management-workspace .pp-workspace-group a.pp-card:focus-visible p{
  color:var(--pp-muted)!important;
}
.pp-management-workspace .pp-workspace-group a.pp-card:focus-visible{
  outline:2px solid var(--sb-gold,#c4934b);
  outline-offset:3px;
}
html[data-pp-theme="dark"] .pp-management-workspace .pp-workspace-group a.pp-card,
html[data-pp-theme="dark"] .pp-management-workspace .pp-workspace-group a.pp-card:hover,
html[data-pp-theme="dark"] .pp-management-workspace .pp-workspace-group a.pp-card:focus-visible{
  background:var(--pp-surface)!important;
}
@media(prefers-color-scheme:dark){
  html[data-pp-theme="system"] .pp-management-workspace .pp-workspace-group a.pp-card,
  html[data-pp-theme="system"] .pp-management-workspace .pp-workspace-group a.pp-card:hover,
  html[data-pp-theme="system"] .pp-management-workspace .pp-workspace-group a.pp-card:focus-visible{
    background:var(--pp-surface)!important;
  }
}



/* ========================================================================
   Scott Block Heritage variation v1.0.0
   Authentic 272 Main Street photography + circular Scott Block sign.
   ======================================================================== */
:root{
  --pph-ink:#171411;
  --pph-ink-2:#2a211b;
  --pph-brick:#7b3d27;
  --pph-brick-deep:#4d2419;
  --pph-gold:#b98745;
  --pph-cream:#f4ede2;
  --pph-paper:#fffaf2;
  --pph-line:#d8c5ad;
  --pph-green:#203a32;
}
body{background:var(--pph-cream)}
.pph-utility{background:#171411;color:#f8f2e9;border-bottom:1px solid rgba(255,255,255,.12)}
.pph-utility .pps2-utility-inner{min-height:34px}
.pph-utility a{color:#f8f2e9}
.pph-utility .pps2-apply-top{background:var(--pph-gold);color:#171411;font-weight:800}
.pph-header{position:sticky;top:0;z-index:80;background:rgba(250,246,239,.97);border-bottom:1px solid var(--pph-line);backdrop-filter:blur(16px)}
.pph-header .header-inner{min-height:96px}
.pph-header .site-logo img,.pph-header .custom-logo{height:74px;max-width:110px;object-fit:contain}
.pph-header .primary-menu{gap:24px}
.pph-header .primary-menu a{color:var(--pph-ink);letter-spacing:.08em;font-size:.72rem}
.pph-header .primary-menu a:after{background:var(--pph-brick)}
.pph-header .pp-theme-toggle,.pph-header .pp-menu-toggle{border-color:var(--pph-line);color:var(--pph-ink)}

.pph-home{background:var(--pph-cream)}
.pph-hero{padding:42px 0 28px;background:linear-gradient(135deg,#1a1613 0 52%,#2d211a 52%);color:#fff;overflow:hidden}
.pph-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:48px;align-items:stretch}
.pph-hero-copy{padding:72px 0 54px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.pph-eyebrow{margin:0 0 20px;color:#d8b27b;font-size:.72rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.pph-hero h1{margin:0;max-width:760px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.3rem,6vw,6.8rem);font-weight:400;letter-spacing:-.045em;line-height:.88;overflow-wrap:normal;word-break:normal;hyphens:none}
.pph-hero h1 strong{display:block;color:#d19a54;font-weight:400}
.pph-rule{display:block;width:54px;height:2px;background:var(--pph-gold);margin:30px 0 24px}
.pph-hero-copy>p:not(.pph-eyebrow){max-width:620px;margin:0;color:rgba(255,255,255,.84);font-size:1.05rem;line-height:1.75}
.pph-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.pph-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 20px;border:1px solid var(--pph-gold);font-size:.78rem;font-weight:800;letter-spacing:.04em;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.pph-btn:hover{transform:translateY(-2px)}
.pph-btn.primary{background:var(--pph-gold);color:#171411}
.pph-btn.primary:hover{background:#d2a365;border-color:#d2a365}
.pph-btn.secondary{background:transparent;color:#fff}
.pph-btn.secondary:hover{background:#fff;color:#171411;border-color:#fff}
.pph-btn.dark{background:#171411;color:#fff;border-color:#171411}
.pph-btn.dark:hover{background:#34251c;border-color:#34251c}
.pph-photo-panel{position:relative;min-height:660px;background:#0f0e0c;border-left:1px solid rgba(255,255,255,.14);overflow:hidden}
.pph-photo-panel:before{content:"";position:absolute;inset:16px;border:1px solid rgba(185,135,69,.62);z-index:2;pointer-events:none}
.pph-building-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--pph-photo-position,center center);filter:saturate(.92) contrast(1.03)}
.pph-photo-caption{position:absolute;left:30px;bottom:30px;z-index:3;background:rgba(20,16,13,.88);border:1px solid rgba(255,255,255,.2);padding:14px 18px;color:#fff;backdrop-filter:blur(10px)}
.pph-photo-caption b{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;font-weight:400}
.pph-photo-caption small{display:block;color:#d8b27b;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.pph-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.18);background:#211913;margin-top:-8px}
.pph-facts>div{display:flex;gap:14px;align-items:center;padding:22px 24px;border-right:1px solid rgba(255,255,255,.14)}
.pph-facts>div:last-child{border-right:0}
.pph-fact-num{font-family:Georgia,'Times New Roman',serif;color:var(--pph-gold);font-size:1.9rem}
.pph-facts b,.pph-facts small{display:block}.pph-facts b{font-size:.85rem}.pph-facts small{color:rgba(255,255,255,.65);margin-top:2px}

.pph-feature-band{background:var(--pph-paper);padding:0 0 42px;border-bottom:1px solid var(--pph-line)}
.pph-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--pph-line);border-top:0;background:#fff}
.pph-feature{padding:30px 28px;border-right:1px solid var(--pph-line);min-width:0}
.pph-feature:last-child{border-right:0}
.pph-feature span{display:block;color:var(--pph-brick);font-family:Georgia,'Times New Roman',serif;font-size:2rem;line-height:1;margin-bottom:16px}
.pph-feature b{display:block;color:var(--pph-ink);font-family:Georgia,'Times New Roman',serif;font-size:1.18rem;font-weight:400}
.pph-feature small{display:block;color:#786b60;margin-top:8px;line-height:1.55}

.pph-welcome{padding:86px 0;background:var(--pph-cream)}
.pph-welcome-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.55fr) 210px;gap:42px;align-items:center}
.pph-welcome-copy h2,.pph-story h2,.pph-commercial h2{margin:0;color:var(--pph-ink);font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.3rem,4vw,4rem);font-weight:400;line-height:1}
.pph-welcome-copy>p{color:#70645a;margin:16px 0 0}.pph-welcome-copy .pph-rule{margin:20px 0}
.pph-welcome .pph-btn.secondary{color:var(--pph-ink);border-color:#a68b68}.pph-welcome .pph-btn.secondary:hover{background:#171411;color:#fff;border-color:#171411}
.pph-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pph-stat{display:block;background:#fff;border:1px solid var(--pph-line);padding:24px;min-height:178px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.pph-stat:hover{transform:translateY(-4px);border-color:var(--pph-gold);box-shadow:0 16px 32px rgba(42,28,18,.08)}
.pph-stat>span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--pph-brick);color:#fff}
.pph-stat strong{display:block;margin-top:12px;color:var(--pph-ink);font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:400}
.pph-stat p{margin:0;color:var(--pph-ink);font-weight:700}.pph-stat small{display:block;color:var(--pph-brick);margin-top:8px}
.pph-sign-card{display:flex;align-items:center;justify-content:center;min-height:280px;background:#171411;border:1px solid #33261d;padding:24px}
.pph-sign-card img{width:min(100%,180px);height:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.22))}

.pph-story{padding:96px 0;background:#fff;border-block:1px solid var(--pph-line)}
.pph-story-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:68px;align-items:center}
.pph-story-image{position:relative;min-height:520px;background:#211913;overflow:hidden}
.pph-story-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 32%}
.pph-story-image:after{content:"272";position:absolute;right:18px;bottom:4px;color:rgba(255,255,255,.22);font-family:Georgia,'Times New Roman',serif;font-size:7rem;line-height:1}
.pph-story-copy .pph-eyebrow{color:var(--pph-brick)}
.pph-story-copy p{color:#6e6258;font-size:1.02rem;line-height:1.8}.pph-story-copy a{color:var(--pph-brick);font-weight:800;border-bottom:1px solid currentColor}

.pph-commercial{padding:84px 0;background:var(--pph-green);color:#fff}
.pph-commercial-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:start}
.pph-commercial h2{color:#fff}.pph-commercial p{color:rgba(255,255,255,.78);font-size:1.02rem;line-height:1.8}
.pph-commercial-points{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pph-commercial-points div{border:1px solid rgba(255,255,255,.22);padding:22px}.pph-commercial-points b{display:block;color:#e2bd87;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;font-weight:400}.pph-commercial-points small{display:block;color:rgba(255,255,255,.68);margin-top:5px}
.pph-tour{background:var(--pph-gold);color:#171411;padding:25px 0}.pph-tour-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.pph-tour-inner p{margin:0}.pph-tour-inner b{font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;font-weight:400}.pph-tour-inner small{display:block;margin-top:2px}

/* Keep PropertyPool management cards legible and consistent in this variation. */
.pp-workspace-group .pp-action-grid{gap:16px!important}.pp-workspace-group .pp-card{background:#fff!important;color:#29231f!important;border:1px solid #d9c7b1!important;box-shadow:none!important}.pp-workspace-group .pp-card h3{color:#211c18!important}.pp-workspace-group .pp-card p{color:#776a60!important}.pp-workspace-group .pp-card:hover,.pp-workspace-group .pp-card:focus-visible{background:#fffaf2!important;color:#29231f!important;border-color:var(--pph-gold)!important;transform:translateY(-3px);box-shadow:0 14px 30px rgba(53,35,22,.09)!important}.pp-workspace-group .pp-card:hover h3,.pp-workspace-group .pp-card:focus-visible h3{color:#211c18!important}.pp-workspace-group .pp-card:hover p,.pp-workspace-group .pp-card:focus-visible p{color:#6e6258!important}

html[data-pp-theme="dark"] .pph-welcome,html[data-pp-theme="dark"] .pph-feature-band{background:#171411}html[data-pp-theme="dark"] .pph-feature-grid,html[data-pp-theme="dark"] .pph-stat{background:#211b17;border-color:#554536}html[data-pp-theme="dark"] .pph-feature b,html[data-pp-theme="dark"] .pph-welcome-copy h2,html[data-pp-theme="dark"] .pph-stat strong,html[data-pp-theme="dark"] .pph-stat p{color:#fff}html[data-pp-theme="dark"] .pph-feature small,html[data-pp-theme="dark"] .pph-welcome-copy>p{color:#c8bbad}
@media(prefers-color-scheme:dark){html[data-pp-theme="system"] .pph-welcome,html[data-pp-theme="system"] .pph-feature-band{background:#171411}html[data-pp-theme="system"] .pph-feature-grid,html[data-pp-theme="system"] .pph-stat{background:#211b17;border-color:#554536}html[data-pp-theme="system"] .pph-feature b,html[data-pp-theme="system"] .pph-welcome-copy h2,html[data-pp-theme="system"] .pph-stat strong,html[data-pp-theme="system"] .pph-stat p{color:#fff}html[data-pp-theme="system"] .pph-feature small,html[data-pp-theme="system"] .pph-welcome-copy>p{color:#c8bbad}}

@media(max-width:1500px){body.logged-in .pph-header .primary-navigation .pp-menu-toggle{display:inline-flex}body.logged-in .pph-header .primary-menu{display:none;position:absolute;right:24px;top:calc(100% + 8px);width:min(360px,calc(100vw - 48px));max-height:72vh;overflow:auto;background:#fff;border:1px solid var(--pph-line);padding:12px;box-shadow:0 22px 50px rgba(30,20,14,.16);z-index:100}body.logged-in .pph-header .primary-menu.is-open{display:grid}body.logged-in .pph-header .primary-menu a{padding:11px 10px}}
@media(max-width:1100px){.pph-hero-grid{grid-template-columns:1fr;gap:28px}.pph-hero-copy{padding:42px 0 8px}.pph-photo-panel{min-height:640px}.pph-facts{margin-top:0}.pph-welcome-grid{grid-template-columns:1fr 1.5fr}.pph-sign-card{grid-column:1/-1;min-height:220px}.pph-sign-card img{max-width:150px}.pph-story-grid,.pph-commercial-grid{grid-template-columns:1fr}.pph-story-image{min-height:500px}}
@media(max-width:900px){.pph-feature-grid{grid-template-columns:repeat(2,1fr)}.pph-feature:nth-child(2){border-right:0}.pph-feature:nth-child(-n+2){border-bottom:1px solid var(--pph-line)}.pph-welcome-grid{grid-template-columns:1fr}.pph-stat-grid{grid-template-columns:repeat(2,1fr)}.pph-facts{grid-template-columns:1fr}.pph-facts>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.pph-facts>div:last-child{border-bottom:0}.pph-commercial-points{grid-template-columns:1fr}.pph-tour-inner{align-items:flex-start;flex-direction:column}.pph-header .header-inner{min-height:82px}.pph-header .site-logo img,.pph-header .custom-logo{height:62px}}
@media(max-width:700px){.pph-hero{padding-top:24px}.pph-photo-panel{min-height:520px}.pph-hero h1{font-size:clamp(2.7rem,15vw,4.6rem)}.pph-feature-grid{grid-template-columns:1fr}.pph-feature{border-right:0!important;border-bottom:1px solid var(--pph-line)}.pph-feature:last-child{border-bottom:0}.pph-stat-grid{grid-template-columns:1fr}.pph-story-image{min-height:440px}.pph-actions{display:grid}.pph-btn{width:100%}.pph-commercial,.pph-story,.pph-welcome{padding-block:64px}.pph-header .site-logo img,.pph-header .custom-logo{height:58px}.pph-photo-caption{left:18px;right:18px;bottom:18px}}
html[data-pp-theme="dark"] .pph-header{background:rgba(28,23,19,.97);border-bottom-color:#4a3b30}
html[data-pp-theme="dark"] .pph-header .primary-menu a,html[data-pp-theme="dark"] .pph-header .pp-theme-toggle,html[data-pp-theme="dark"] .pph-header .pp-menu-toggle{color:#f6efe6}
html[data-pp-theme="dark"] .pph-header .pp-theme-toggle,html[data-pp-theme="dark"] .pph-header .pp-menu-toggle{border-color:#5d4b3c}
@media(prefers-color-scheme:dark){html[data-pp-theme="system"] .pph-header{background:rgba(28,23,19,.97);border-bottom-color:#4a3b30}html[data-pp-theme="system"] .pph-header .primary-menu a,html[data-pp-theme="system"] .pph-header .pp-theme-toggle,html[data-pp-theme="system"] .pph-header .pp-menu-toggle{color:#f6efe6}html[data-pp-theme="system"] .pph-header .pp-theme-toggle,html[data-pp-theme="system"] .pph-header .pp-menu-toggle{border-color:#5d4b3c}}


/* PropertyPool v1.7.2 Finance persona and workspace */
.pp-finance-page{padding-top:38px;padding-bottom:54px}
.pp-finance-page .pp-shortcode-wrap{overflow:hidden}
.pp-finance-page .propertypool,.pp-finance-page .pp-finance-workspace,.pp-finance-page .pp-financial-workspace{max-width:100%}
.pp-persona-finance .pp-menu-finance_workspace a,.pp-persona-finance .pp-menu-reports a{font-weight:850}
.pp-persona-finance .entry-content{min-width:0}
.pp-persona-finance .propertypool table{max-width:100%}
@media(max-width:720px){.pp-finance-page{width:min(100% - 16px,1500px);padding-top:22px}.pp-finance-page .pp-shortcode-wrap{padding:8px}}


/* PropertyPool front-end operational profile (Manager / Staff / Trade). */
.pp-user-profile-shell{padding-top:clamp(28px,4vw,56px);padding-bottom:clamp(48px,7vw,88px)}
.pp-profile-layout{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.6fr);gap:clamp(18px,3vw,34px);align-items:start}
.pp-profile-card{background:var(--pp-surface,#fff);color:var(--pp-text,#1f2937);border:1px solid var(--pp-border,rgba(15,23,42,.14));border-radius:var(--pp-radius,16px);padding:clamp(20px,3vw,32px);box-shadow:0 14px 36px rgba(15,23,42,.06)}
.pp-profile-card h2,.pp-profile-card h3{margin-top:0;color:inherit}.pp-profile-card p{color:var(--pp-muted,#667085)}
.pp-profile-summary{margin:24px 0 0}.pp-profile-summary div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--pp-border,rgba(15,23,42,.12))}.pp-profile-summary dt{font-weight:700}.pp-profile-summary dd{margin:0;overflow-wrap:anywhere}
.pp-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pp-profile-fields label{display:grid;gap:7px;font-weight:700}.pp-profile-fields input{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--pp-border,#cbd5e1);border-radius:10px;background:var(--pp-surface,#fff);color:var(--pp-text,#1f2937);padding:11px 12px;font:inherit}.pp-profile-fields input:focus{outline:2px solid var(--pp-primary,#2563eb);outline-offset:2px}.pp-profile-wide{grid-column:1/-1}.pp-profile-form-card hr{border:0;border-top:1px solid var(--pp-border,rgba(15,23,42,.12));margin:28px 0}.pp-profile-help{margin-top:-6px}
.pp-profile-notice{margin:0 0 22px;padding:14px 17px;border-radius:10px;border:1px solid}.pp-profile-notice ul{margin:.5em 0 0 1.2em}.pp-profile-success{background:#ecfdf3;border-color:#86efac;color:#166534}.pp-profile-error{background:#fff1f2;border-color:#fda4af;color:#9f1239}
@media(max-width:780px){.pp-profile-layout{grid-template-columns:1fr}.pp-profile-fields{grid-template-columns:1fr}.pp-profile-wide{grid-column:auto}}

/* Inspection table heading polish
 * Keep column labels legible without splitting words such as “Resident”.
 * Wider desktop tables scroll inside their own wrapper instead of crushing
 * headings into narrow columns. Mobile tables retain PropertyPool's card view.
 */
.propertypool .pp-inspections-workspace .pp-table-scroll,
.propertypool .pp-resident-inspections .pp-table-scroll,
.propertypool .pp-inspection-report .pp-table-scroll,
.propertypool .pp-inspection-comparison .pp-table-scroll,
.propertypool .pp-charge-review .pp-table-scroll {
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}

.propertypool .pp-turnover-table th,
.propertypool .pp-inspection-table th,
.propertypool .pp-inspection-findings-table th,
.propertypool .pp-inspection-comparison-table th,
.propertypool .pp-charge-review-table th {
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  line-height: 1.25;
  min-width: 7.5rem;
}

.propertypool .pp-turnover-table th:first-child,
.propertypool .pp-inspection-table th:first-child {
  min-width: 10.5rem;
}

.propertypool .pp-turnover-table th:nth-child(4),
.propertypool .pp-inspection-table th:nth-child(5) {
  min-width: 9.5rem;
}

@media (min-width: 721px) {
  .propertypool .pp-inspections-workspace .pp-table-scroll,
  .propertypool .pp-resident-inspections .pp-table-scroll,
  .propertypool .pp-inspection-report .pp-table-scroll,
  .propertypool .pp-inspection-comparison .pp-table-scroll,
  .propertypool .pp-charge-review .pp-table-scroll {
    overflow-x: auto !important;
  }

  .propertypool .pp-turnover-table {
    min-width: 980px !important;
  }

  .propertypool .pp-inspection-table {
    min-width: 1080px !important;
  }

  .propertypool .pp-inspection-findings-table {
    min-width: 900px !important;
  }

  .propertypool .pp-inspection-comparison-table {
    min-width: 760px !important;
  }

  .propertypool .pp-charge-review-table {
    min-width: 700px !important;
  }
}

@media (max-width: 720px) {
  .propertypool .pp-responsive-table td::before {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}


/* v1.1.11 Finance workspace single-render toolbar */
.pp-finance-page-actions{display:flex;justify-content:flex-end;align-items:center;margin:0 0 1rem}


/* v1.7.2 portal cleanup: diagnostic View As UI is intentionally disabled. */
.pp-masquerade-banner,
#wpadminbar #wp-admin-bar-propertypool-view-as,
#wpadminbar [id^="wp-admin-bar-propertypool-view-as-"] {
  display: none !important;
}

/* v1.2.2 — Scott Block Heritage mobile navigation viewport fix.
   Anchor the flyout to the full header container instead of the narrow nav
   control so iPhone/Safari cannot position the drawer partly off-screen. */
@media (max-width: 900px) {
  .pph-header .header-inner {
    position: relative;
  }

  .pph-header .primary-navigation {
    position: static !important;
  }

  .pph-header .primary-menu,
  body.logged-in .pph-header .primary-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    max-height: min(72vh, 580px) !important;
    transform: none !important;
    z-index: 120 !important;
  }

  .pph-header .primary-menu li,
  body.logged-in .pph-header .primary-menu li {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .pph-header .primary-menu a,
  body.logged-in .pph-header .primary-menu a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 10px !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

@media (max-width: 480px) {
  .pph-header .header-inner {
    width: calc(100% - 20px);
    gap: 10px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .pph-header .header-controls {
    gap: 8px;
    margin-left: auto;
    min-width: 0;
  }

  .pph-header .pp-menu-toggle {
    padding: 9px 12px;
    min-width: 0;
  }

  .pph-header .pp-theme-toggle {
    padding: 9px 10px;
    min-width: 42px;
  }

  .pph-header .primary-menu,
  body.logged-in .pph-header .primary-menu {
    padding: 8px 12px !important;
  }
}


/* PropertyPool v1.9.0 compatibility --------------------------------------- */
/* Keep new paginated record lists and asynchronous relationship controls
   usable inside every PropertyPool visual variant without overriding the
   plugin's own component design system. */
.propertypool .pp-record-pagination,
.propertypool .pp-search-pagination { max-width:100%; }
.propertypool .pp-pagination-links ul { max-width:100%; }
.propertypool .pp-records-table-wrap,
.propertypool .pp-table-scroll { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.propertypool .pp-relation-picker,
.propertypool .pp-relation-async,
.propertypool .pp-relation-fallback { min-width:0; max-width:100%; }
.propertypool .pp-relation-results { z-index:1000; }
.propertypool .pp-relation-search,
.propertypool .pp-relation-fallback select { max-width:100%; box-sizing:border-box; }
@media (max-width:700px) {
  .propertypool .pp-record-pagination { align-items:flex-start; }
  .propertypool .pp-pagination-links ul { flex-wrap:wrap; }
}


/* ================================================================
   S2D PORTFOLIO — S2D.COM-INSPIRED PUBLIC PRESENTATION v1.1
   ================================================================ */
:root{
  --s2d-black:#0a0a0a;
  --s2d-ink:#111;
  --s2d-paper:#fff;
  --s2d-off:#f3f3f1;
  --s2d-mid:#8d8d88;
  --s2d-line:#d9d9d4;
  --s2d-white:#fff;
}
body{background:var(--s2d-paper);color:var(--s2d-ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;}
.pp-container{width:min(calc(100% - 72px),1280px)}
.s2d-site-main{overflow:hidden}
.s2d-utility{background:#000;color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.s2d-utility-inner{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.s2d-utility-inner>div{display:flex;gap:18px}.s2d-utility a{color:#fff}
body:not(.logged-in) .s2d-utility{display:none}
.s2d-header{background:#fff;border-bottom:1px solid #ededeb;position:relative;z-index:60}
.s2d-header .header-inner{min-height:88px}
.s2d-brand-link{display:inline-flex;align-items:center;gap:10px;color:#000!important;text-decoration:none!important}
.s2d-brand-mark{font-size:30px;font-weight:900;letter-spacing:-.08em;line-height:1}
.s2d-brand-copy{display:flex;flex-direction:column;line-height:.9;border-left:1px solid #000;padding-left:11px}
.s2d-brand-copy strong{font-size:12px;letter-spacing:.23em}.s2d-brand-copy small{font-size:7px;letter-spacing:.34em;margin-top:5px}
.s2d-public-menu{gap:31px}.s2d-public-menu a{font-size:10px!important;font-weight:600!important;letter-spacing:.18em!important;text-transform:uppercase;color:#111!important;padding:10px 0!important}
.s2d-public-menu a:hover{color:#777!important}.s2d-header .pp-theme-toggle{border:0;padding:8px;color:#111}

/* Homepage */
.s2d-home-hero{position:relative;min-height:76vh;background:#151515 var(--s2d-hero) center 38%/cover no-repeat;color:#fff;isolation:isolate;filter:none}
.s2d-home-hero:before{content:"";position:absolute;inset:0;background:var(--s2d-hero) center 38%/cover no-repeat;filter:grayscale(1) contrast(1.06);z-index:-2}
.s2d-home-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.20) 70%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 50%);z-index:-1}
.s2d-home-hero-inner{min-height:76vh;display:flex;align-items:flex-end;padding-bottom:72px}
.s2d-home-copy{max-width:920px}.s2d-kicker,.s2d-section-number{display:block;font-size:10px;letter-spacing:.28em;font-weight:700;text-transform:uppercase}
.s2d-kicker{color:#fff;margin-bottom:22px}.s2d-home-copy h1{color:#fff;font-size:clamp(50px,7vw,108px);line-height:.91;letter-spacing:-.055em;font-weight:400;text-transform:lowercase;margin:0;max-width:1000px}
.s2d-hero-link{display:inline-flex;align-items:center;gap:14px;color:#fff;margin-top:34px;font-size:10px;font-weight:700;letter-spacing:.20em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:6px}
.s2d-belief-band{padding:88px 0 98px;background:#fff}.s2d-belief-band p{margin:0;max-width:1080px;font-size:clamp(34px,5.4vw,78px);line-height:1.02;letter-spacing:-.045em;font-weight:300;text-transform:lowercase}.s2d-belief-band strong{font-weight:700}
.s2d-about{background:#f4f4f1;padding:100px 0}.s2d-about-grid{display:grid;grid-template-columns:.42fr 1.58fr;gap:7vw;align-items:start}.s2d-about-label{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:lowercase}.s2d-about-copy p{max-width:880px;margin:0 0 34px;font-size:clamp(24px,3vw,43px);line-height:1.16;letter-spacing:-.03em;font-weight:300;text-transform:lowercase}.s2d-about-copy strong{font-weight:700}
.s2d-text-link{display:inline-flex;color:#111;border-bottom:1px solid #111;padding-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.s2d-text-link:hover{color:#777;border-color:#777}
.s2d-featured{padding:110px 0 128px;background:#fff}.s2d-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:58px}.s2d-section-head h2,.s2d-work-band h2,.s2d-contact-band h2,.s2d-property-intro h2,.s2d-availability h2{margin:13px 0 0;font-size:clamp(42px,5.4vw,78px);font-weight:300;letter-spacing:-.05em;line-height:.97;text-transform:lowercase}
.s2d-project-list{display:grid;gap:0}.s2d-project-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:54px;align-items:center;padding:58px 0;border-top:1px solid var(--s2d-line)}.s2d-project-row:nth-child(even){grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)}.s2d-project-row:nth-child(even) .s2d-project-image{order:2}.s2d-project-row:nth-child(even) .s2d-project-copy{order:1}
.s2d-project-image{display:block;min-height:480px;background-size:cover;background-position:center;position:relative;filter:grayscale(.2)}.s2d-project-image:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.03);transition:.2s}.s2d-project-image:hover:after{background:rgba(0,0,0,.12)}.s2d-project-image>span{position:absolute;left:18px;top:18px;z-index:2;background:#fff;color:#000;padding:10px 12px;font-size:10px;font-weight:700;letter-spacing:.18em}
.s2d-project-copy{padding:14px 0}.s2d-project-copy small{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#666}.s2d-project-copy h3{font-size:clamp(36px,4.5vw,64px);line-height:1;letter-spacing:-.045em;font-weight:400;margin:12px 0 20px;text-transform:lowercase}.s2d-project-copy p{margin:0 0 18px;color:#555;font-size:15px}.s2d-vacancy-count{display:block;margin:18px 0 26px;padding-top:12px;border-top:1px solid #ddd;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.s2d-work-band{background:#090909;color:#fff;padding:106px 0}.s2d-work-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}.s2d-work-band .s2d-section-number{color:#aaa}.s2d-work-band h2{color:#fff}.s2d-work-band p{max-width:650px;color:#aaa}.s2d-work-card{border-top:1px solid #444;border-bottom:1px solid #444;padding:34px 0;display:flex;flex-direction:column;gap:14px}.s2d-work-card span{color:#aaa;font-size:9px;letter-spacing:.22em}.s2d-work-card strong{font-size:31px;font-weight:400}.s2d-work-card p{margin:0}.s2d-work-card a{color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid #fff;width:max-content;padding-bottom:4px}
.s2d-contact-band{background:#fff;color:#111;padding:105px 0}.s2d-contact-band .s2d-section-number{color:#666}.s2d-contact-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:7vw;align-items:end}.s2d-contact-grid h2{margin-top:16px}.s2d-contact-grid>div{display:flex;flex-direction:column;gap:9px;font-size:14px}.s2d-contact-grid a{font-weight:700}

/* Portfolio directory */
.s2d-page-hero{padding:100px 0 82px;background:#fff;border-bottom:1px solid var(--s2d-line)}.s2d-page-hero h1{font-size:clamp(54px,7vw,104px);line-height:.91;letter-spacing:-.055em;font-weight:400;margin:20px 0 26px;text-transform:lowercase}.s2d-page-hero p{max-width:760px;font-size:17px;color:#555}.s2d-filter-links{display:flex;gap:24px;margin-top:35px;flex-wrap:wrap}.s2d-filter-links a{padding:0 0 5px;border:0;border-bottom:1px solid transparent;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.s2d-filter-links a.is-active,.s2d-filter-links a:hover{background:none;color:#111;border-bottom-color:#111}
.s2d-portfolio-list{padding:0 0 110px;background:#fff}.s2d-portfolio-row{display:grid;grid-template-columns:minmax(320px,48%) 64px 1fr;gap:34px;border-top:1px solid var(--s2d-line);padding:58px 0;align-items:center}.s2d-portfolio-row:first-child{border-top:0}.s2d-portfolio-image{min-height:390px;background-size:cover;background-position:center;filter:grayscale(.15)}.s2d-portfolio-number{font-size:11px;letter-spacing:.18em;color:#777;align-self:start;padding-top:7px}.s2d-portfolio-copy>span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#777}.s2d-portfolio-copy h2{font-size:clamp(36px,4vw,58px);font-weight:400;letter-spacing:-.045em;line-height:1;margin:9px 0 17px;text-transform:lowercase}.s2d-portfolio-copy p{color:#555;max-width:650px}.s2d-property-meta{display:flex;gap:22px;flex-wrap:wrap;margin:23px 0;font-size:10px;text-transform:uppercase;letter-spacing:.10em}.s2d-property-meta span{border-top:1px solid #ddd;padding-top:8px}

/* Property feature pages */
.s2d-property-hero{position:relative;background:#111;color:#fff}.s2d-property-photo{height:min(72vw,780px);min-height:520px;background-size:cover;background-position:center;opacity:.82;filter:grayscale(.15)}.s2d-property-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 35%,rgba(0,0,0,.72))}.s2d-property-hero-copy{position:absolute;left:50%;transform:translateX(-50%);bottom:56px;width:min(1280px,calc(100% - 72px));z-index:2}.s2d-property-hero-copy h1{font-size:clamp(52px,7.2vw,108px);line-height:.91;letter-spacing:-.055em;font-weight:400;text-transform:lowercase;margin:15px 0}.s2d-property-hero-copy p{font-size:16px}.s2d-property-status{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}.s2d-property-status span{border:1px solid rgba(255,255,255,.5);padding:8px 12px;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.s2d-property-intro{padding:105px 0;background:#fff}.s2d-property-intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.s2d-property-intro-grid>div:last-child{font-size:18px;color:#555}.s2d-connected{font-size:11px!important;border-top:1px solid #ddd;padding-top:14px;margin-top:25px}.s2d-availability{padding:102px 0 120px;background:#f3f3f1}.s2d-vacancy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.s2d-vacancy-card{background:#fff;border:1px solid #ddd;padding:27px;transition:.2s}.s2d-vacancy-card:hover{transform:translateY(-2px);border-color:#111;box-shadow:none}.s2d-vacancy-top{border-bottom:1px solid #ddd;padding-bottom:16px}.s2d-vacancy-top span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#777}.s2d-vacancy-top strong{font-size:24px;font-weight:400;margin-top:7px}.s2d-vacancy-card p{color:#666}.s2d-vacancy-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.s2d-vacancy-card dl div{border-top:1px solid #e5e5e2;padding-top:8px}.s2d-vacancy-card dt{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#777}.s2d-vacancy-card dd{margin:2px 0 0;font-weight:600}.s2d-empty-state{padding:40px;border:1px solid #ccc;background:#fff;max-width:850px}.s2d-property-next{background:#090909;color:#fff;padding:48px 0}.s2d-property-next>div{display:flex;justify-content:space-between;gap:20px}.s2d-property-next a{color:#fff;font-weight:700}

/* Footer */
.s2d-footer{background:#090909;color:#fff;padding:68px 0 25px}.s2d-footer-grid{display:grid;grid-template-columns:1.3fr .7fr .9fr;gap:7vw}.s2d-footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.s2d-footer-grid p,.s2d-footer-grid span{color:#999}.s2d-footer-grid a{color:#fff}.s2d-footer-brand{font-size:32px;font-weight:900;letter-spacing:-.06em}.s2d-footer-brand span{font-size:9px;letter-spacing:.23em;margin-left:8px;color:#fff}.s2d-footer-bottom{border-top:1px solid #2e2e2e;margin-top:48px;padding-top:18px;display:flex;justify-content:space-between;font-size:10px;color:#777}

@media(max-width:1000px){.pp-container{width:min(calc(100% - 44px),1280px)}.s2d-about-grid,.s2d-work-grid,.s2d-contact-grid,.s2d-property-intro-grid{grid-template-columns:1fr}.s2d-project-row,.s2d-project-row:nth-child(even){grid-template-columns:1fr;gap:28px}.s2d-project-row:nth-child(even) .s2d-project-image,.s2d-project-row:nth-child(even) .s2d-project-copy{order:initial}.s2d-vacancy-grid{grid-template-columns:1fr 1fr}.s2d-portfolio-row{grid-template-columns:42% 48px 1fr}.s2d-footer-grid{grid-template-columns:1fr 1fr}.s2d-header .primary-navigation .pp-role-menu{max-height:calc(100vh - 150px);overflow:auto}}
@media(max-width:760px){.pp-container{width:min(calc(100% - 32px),1280px)}.s2d-header .header-inner{min-height:74px}.s2d-brand-mark{font-size:26px}.s2d-brand-copy{display:none}.s2d-home-hero,.s2d-home-hero-inner{min-height:68vh}.s2d-home-hero-inner{padding-bottom:44px}.s2d-home-copy h1{font-size:clamp(45px,14vw,66px);overflow-wrap:normal;word-break:normal}.s2d-belief-band{padding:62px 0 68px}.s2d-about,.s2d-featured,.s2d-property-intro,.s2d-availability,.s2d-work-band,.s2d-contact-band{padding:68px 0}.s2d-about-grid{gap:30px}.s2d-section-head{align-items:flex-start;flex-direction:column}.s2d-project-image{min-height:330px}.s2d-vacancy-grid{grid-template-columns:1fr}.s2d-portfolio-row{grid-template-columns:1fr;padding:36px 0}.s2d-portfolio-image{min-height:300px}.s2d-portfolio-number{display:none}.s2d-property-photo{height:620px}.s2d-property-hero-copy{bottom:34px;width:calc(100% - 32px)}.s2d-property-next>div,.s2d-footer-bottom{flex-direction:column}.s2d-footer-grid{grid-template-columns:1fr}.s2d-public-menu{gap:0!important}.s2d-public-menu a{font-size:13px!important;letter-spacing:.08em!important}.s2d-header .primary-navigation .pp-role-menu{left:auto!important;right:0!important;width:min(360px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}}


/* ================================================================
   S2D PUBLIC HEADER / NAVIGATION FIX v1.1.1
   Keep the public header visually aligned with s2d.com: white, black,
   minimal, horizontal on desktop and a contained drawer on mobile.
   ================================================================ */
body:not(.logged-in) .s2d-header{
  background:#fff;
  border-bottom:1px solid #ededeb;
  padding:0;
  box-shadow:none;
}
body:not(.logged-in) .s2d-header .header-inner{
  min-height:88px;
  background:#fff;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
  padding:0;
}
body:not(.logged-in) .s2d-header .header-controls{
  margin-left:auto;
  min-width:0;
}
body:not(.logged-in) .s2d-header .primary-navigation{
  position:relative;
  min-width:0;
}
body:not(.logged-in) .s2d-header .s2d-public-menu{
  display:flex;
  align-items:center;
  flex-direction:row;
  gap:31px;
  list-style:none;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  width:auto;
  position:static;
}
body:not(.logged-in) .s2d-header .s2d-public-menu li{
  margin:0;
  padding:0;
  list-style:none;
}
body:not(.logged-in) .s2d-header .s2d-public-menu a{
  color:#111!important;
  background:transparent!important;
  border:0!important;
  padding:10px 0!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
  white-space:nowrap;
}
body:not(.logged-in) .s2d-header .s2d-public-menu a:hover,
body:not(.logged-in) .s2d-header .s2d-public-menu a:focus-visible{
  color:#777!important;
}
body:not(.logged-in) .s2d-header .pp-theme-toggle{
  background:transparent;
  color:#111;
  border:0;
  box-shadow:none;
  min-width:38px;
  padding:8px;
}
body:not(.logged-in) .s2d-header .pp-menu-toggle{
  background:#111;
  color:#fff;
  border:1px solid #111;
  box-shadow:none;
}

@media(max-width:1100px){
  body:not(.logged-in) .s2d-header .header-inner{
    position:relative;
    min-height:80px;
  }
  body:not(.logged-in) .s2d-header .pp-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  body:not(.logged-in) .s2d-header .s2d-public-menu{
    display:none;
    position:absolute;
    top:calc(100% + 14px);
    right:0;
    left:auto;
    width:min(360px,calc(100vw - 44px));
    max-width:calc(100vw - 44px);
    max-height:calc(100vh - 130px);
    overflow-y:auto;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px 18px;
    background:#fff;
    border:1px solid #deded9;
    box-shadow:0 18px 48px rgba(0,0,0,.12);
    z-index:200;
  }
  body:not(.logged-in) .s2d-header .s2d-public-menu.is-open{
    display:flex;
  }
  body:not(.logged-in) .s2d-header .s2d-public-menu a{
    display:block;
    width:100%;
    padding:15px 2px!important;
    border-bottom:1px solid #e5e5e1!important;
    color:#111!important;
    font-size:12px!important;
    letter-spacing:.14em!important;
  }
  body:not(.logged-in) .s2d-header .s2d-public-menu li:last-child a{
    border-bottom:0!important;
  }
}

@media(max-width:760px){
  body:not(.logged-in) .s2d-header .header-inner{
    min-height:74px;
    padding:0;
  }
  body:not(.logged-in) .s2d-header .header-controls{
    gap:8px;
  }
  body:not(.logged-in) .s2d-header .s2d-public-menu{
    position:fixed;
    top:74px;
    left:16px;
    right:16px;
    width:auto;
    max-width:none;
    max-height:calc(100dvh - 90px);
  }
}

/* ================================================================
   S2D PORTFOLIO v1.1.2 — featured projects, expanded story and
   integrated authenticated PropertyPool visual system.
   ================================================================ */

/* Expanded about / story */
.s2d-about-expanded .s2d-about-copy{display:grid;gap:48px}
.s2d-about-expanded .s2d-about-copy>p{margin-bottom:0}
.s2d-story-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:6vw;padding-top:42px;border-top:1px solid #d6d6d1}
.s2d-story-kicker{display:block;margin-bottom:18px;font-size:9px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#666}
.s2d-story-text{font-size:17px!important;line-height:1.6!important;letter-spacing:0!important;text-transform:none!important;color:#454542;margin:0 0 18px!important;max-width:700px!important}
.s2d-story-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #bbbcb8;border-left:1px solid #bbbcb8}
.s2d-story-facts div{min-height:132px;padding:20px;border-right:1px solid #bbbcb8;border-bottom:1px solid #bbbcb8;display:flex;flex-direction:column;justify-content:space-between}
.s2d-story-facts strong{font-size:25px;font-weight:400;letter-spacing:-.035em;text-transform:lowercase}
.s2d-story-facts span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#777}
.s2d-team-strip{padding-top:38px;border-top:1px solid #d6d6d1}
.s2d-team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid #bdbdb8;border-left:1px solid #bdbdb8}
.s2d-team-grid>div{min-height:108px;padding:18px;border-right:1px solid #bdbdb8;border-bottom:1px solid #bdbdb8;display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.s2d-team-grid strong{font-size:14px;font-weight:600}
.s2d-team-grid span{font-size:9px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#777}

/* Featured projects: closer to S2D.com's simple photographic portfolio rhythm. */
.s2d-featured-v112{background:#fff}
.s2d-featured-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:70px 28px;align-items:start}
.s2d-featured-project{min-width:0}
.s2d-featured-project.is-primary{grid-row:span 2}
.s2d-featured-photo{display:block;position:relative;aspect-ratio:4/3;background-size:cover;background-position:center;overflow:hidden;filter:saturate(.9) contrast(1.02)}
.s2d-featured-project.is-primary .s2d-featured-photo{aspect-ratio:4/5;min-height:720px}
.s2d-featured-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.12),transparent 45%);transition:background .25s ease}
.s2d-featured-photo:hover:after{background:linear-gradient(0deg,rgba(0,0,0,.22),rgba(0,0,0,.03) 55%)}
.s2d-featured-index,.s2d-coming-soon{position:absolute;z-index:2;top:16px;background:#fff;color:#111;padding:8px 10px;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.s2d-featured-index{left:16px}.s2d-coming-soon{right:16px;background:#111;color:#fff}
.s2d-featured-meta{display:grid;grid-template-columns:1fr auto;gap:24px;padding:18px 0 0;border-top:1px solid #111;margin-top:12px}
.s2d-featured-meta h3{margin:0 0 8px;font-size:clamp(26px,3vw,46px);font-weight:400;line-height:1;letter-spacing:-.04em;text-transform:lowercase}
.s2d-featured-meta p{margin:0;color:#6e6e69;font-size:13px}
.s2d-featured-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px;text-align:right}
.s2d-featured-actions>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#777}

/* Authenticated PropertyPool surfaces use the same S2D monochrome language. */
body.logged-in{
  --pp-primary:#111111;
  --pp-teal:#111111;
  --pp-aqua:#9c9c98;
  --pp-bg:#f4f4f1;
  --pp-surface:#ffffff;
  --pp-surface-2:#ecece8;
  --pp-text:#2c2c2a;
  --pp-muted:#70706c;
  --pp-heading:#0b0b0b;
  --pp-border:#d2d2cd;
  --pp-header:#ffffff;
  --pp-shadow:0 10px 30px rgba(0,0,0,.06);
}
body.logged-in .s2d-header{background:#fff;border-bottom:1px solid #e1e1dd;box-shadow:none;backdrop-filter:none;padding:0}
body.logged-in .s2d-header .header-inner{min-height:82px;background:#fff;padding:0}
body.logged-in .s2d-header .s2d-brand-link{color:#000!important}
body.logged-in .s2d-header .primary-menu a{color:#111!important;font-size:10px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase}
body.logged-in .s2d-header .primary-menu a:after{background:#111;height:1px}
body.logged-in .s2d-header .pp-theme-toggle{background:transparent;color:#111;border:1px solid #d2d2cd;box-shadow:none}
body.logged-in .s2d-utility{background:#050505;color:#fff}
body.logged-in .s2d-utility a{color:#fff}
body.logged-in .propertypool .pp-button,
body.logged-in .propertypool a.pp-button,
body.logged-in .pp-button{background:#111!important;border-color:#111!important;color:#fff!important;border-radius:0!important;box-shadow:none!important}
body.logged-in .propertypool .pp-button.secondary,
body.logged-in .propertypool a.pp-button.secondary,
body.logged-in .pp-button.secondary{background:#fff!important;color:#111!important;border-color:#111!important}
body.logged-in .propertypool .pp-card,
body.logged-in .propertypool-card,
body.logged-in .pp-workspace-group,
body.logged-in .pp-stat-card,
body.logged-in .pp-account-card,
body.logged-in .pp-login-card{border-radius:0!important;border-color:#d2d2cd!important;box-shadow:none!important;background:#fff!important}
body.logged-in .propertypool .pp-card:hover,
body.logged-in .pp-management-workspace .pp-workspace-group a.pp-card:hover{background:#f8f8f5!important;border-color:#111!important;box-shadow:none!important;color:#111!important}
body.logged-in .propertypool .pp-card:hover h3,
body.logged-in .propertypool .pp-card:hover p,
body.logged-in .pp-management-workspace .pp-workspace-group a.pp-card:hover h3,
body.logged-in .pp-management-workspace .pp-workspace-group a.pp-card:hover p{color:inherit!important}
body.logged-in .pp-role-label,
body.logged-in .pp-eyebrow,
body.logged-in .pp-account-eyebrow{color:#666!important;letter-spacing:.14em;text-transform:uppercase}
body.logged-in .pp-workspace-group>h2{border-bottom-color:#111;color:#111}
body.logged-in .propertypool table th{background:#f0f0ed;color:#111}
body.logged-in .propertypool input:focus,
body.logged-in .propertypool select:focus,
body.logged-in .propertypool textarea:focus{outline-color:#111;border-color:#111}

/* Long authenticated role menus collapse earlier, but remain visually S2D. */
@media(max-width:1500px){
  body.logged-in .s2d-header .header-controls{gap:10px}
  body.logged-in .s2d-header .primary-navigation{position:relative}
  body.logged-in .s2d-header .pp-menu-toggle{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;border:1px solid #111;padding:10px 14px}
  body.logged-in .s2d-header .primary-menu{display:none;position:absolute;top:calc(100% + 12px);right:0;left:auto;width:min(390px,calc(100vw - 44px));max-height:calc(100vh - 140px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:12px 18px;background:#fff;border:1px solid #d8d8d3;box-shadow:0 20px 50px rgba(0,0,0,.12);z-index:220}
  body.logged-in .s2d-header .primary-menu.is-open{display:flex}
  body.logged-in .s2d-header .primary-menu li{width:100%}
  body.logged-in .s2d-header .primary-menu a{display:block;width:100%;padding:14px 2px!important;border-bottom:1px solid #e4e4df!important;white-space:normal}
  body.logged-in .s2d-header .primary-menu li:last-child a{border-bottom:0!important}
  body.logged-in .s2d-header .primary-menu a:after{display:none}
}

@media(max-width:1000px){
  .s2d-story-grid{grid-template-columns:1fr;gap:36px}
  .s2d-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s2d-featured-grid{grid-template-columns:1fr;gap:58px}
  .s2d-featured-project.is-primary{grid-row:auto}
  .s2d-featured-project.is-primary .s2d-featured-photo{aspect-ratio:4/3;min-height:0}
}
@media(max-width:760px){
  .s2d-story-facts,.s2d-team-grid{grid-template-columns:1fr}
  .s2d-featured-meta{grid-template-columns:1fr}
  .s2d-featured-actions{align-items:flex-start;text-align:left}
  body.logged-in .s2d-header .primary-menu{position:fixed;top:102px;left:16px;right:16px;width:auto;max-width:none;max-height:calc(100dvh - 120px)}
}

/* v1.1.3 — optional content entered through the WordPress Home page editor. */
.s2d-editor-content{padding:clamp(48px,7vw,104px) 0;background:#fff;color:#111;border-top:1px solid rgba(17,17,17,.1);border-bottom:1px solid rgba(17,17,17,.1)}
.s2d-editor-content .pp-container>*:first-child{margin-top:0}.s2d-editor-content .pp-container>*:last-child{margin-bottom:0}


/* v1.1.4 — client-editable public content */
.s2d-about-summary{padding-block:clamp(56px,8vw,110px)}
.s2d-about-summary .s2d-about-copy{max-width:860px}
.s2d-about-summary .s2d-about-copy>p{font-size:clamp(1.4rem,2.7vw,2.7rem);line-height:1.18;letter-spacing:-.025em;margin:0 0 30px}
.s2d-editorial-hero{padding-block:clamp(70px,10vw,145px);border-bottom:1px solid #ddd;background:#fff}
.s2d-editorial-hero h1{font-size:clamp(3rem,8vw,8rem);font-weight:500;letter-spacing:-.055em;line-height:.9;margin:.25em 0 0;text-transform:lowercase}
.s2d-editorial-body{padding-block:clamp(48px,7vw,100px);background:#fff}
.s2d-editorial-body-inner{max-width:1000px}
.s2d-editorial-body-inner>*{max-width:850px}
.s2d-editorial-body-inner>.alignwide,.s2d-editorial-body-inner>.alignfull,.s2d-editorial-body-inner>.wp-block-gallery,.s2d-editorial-body-inner>.wp-block-columns{max-width:none}
.s2d-editorial-body-inner h2{font-size:clamp(2rem,4.5vw,4.8rem);font-weight:500;letter-spacing:-.04em;line-height:1;margin:1.1em 0 .45em}
.s2d-editorial-body-inner h3{font-size:clamp(1.35rem,2.2vw,2rem)}
.s2d-editorial-body-inner p,.s2d-page-editor-intro p,.s2d-property-editor-content p{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.7}
.s2d-editorial-body-inner img{height:auto;max-width:100%}
.s2d-about-team{padding-block:clamp(48px,7vw,100px);background:#f4f2ed;border-top:1px solid #ddd}
.s2d-about-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.s2d-about-person{min-width:0}
.s2d-about-person img,.s2d-about-person-placeholder{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#dedbd4;filter:grayscale(100%)}
.s2d-about-person h3{font-size:1.3rem;margin:16px 0 4px;font-weight:600;text-transform:none}
.s2d-about-person p{margin:0;color:#666}
.s2d-editor-help{margin-top:34px;font-size:.84rem;color:#777;max-width:780px}
.s2d-page-editor-intro{max-width:760px;margin-top:22px}
.s2d-property-editor-content>*:first-child{margin-top:0}
.s2d-property-editor-content img{max-width:100%;height:auto}
@media(max-width:760px){.s2d-about-team-grid{grid-template-columns:1fr 1fr}.s2d-editorial-hero h1{font-size:clamp(2.7rem,16vw,5.2rem)}}
@media(max-width:480px){.s2d-about-team-grid{grid-template-columns:1fr}}


/* v1.1.5 — PropertyPool-driven vacancy prominence */
.s2d-availability-badge{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff;padding:11px 14px;font-size:10px;font-weight:800;line-height:1;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 24px rgba(0,0,0,.16)}
.s2d-availability-badge.is-available{background:#111;color:#fff}
.s2d-availability-badge.is-available:before{content:"";width:8px;height:8px;border-radius:50%;background:#c28b3c;box-shadow:0 0 0 3px rgba(194,139,60,.18)}
.s2d-availability-badge.is-leased{background:rgba(255,255,255,.94);color:#111;border-color:rgba(0,0,0,.12)}
.s2d-availability-badge.is-coming,.s2d-availability-badge.is-request{background:#c28b3c;color:#111;border-color:#c28b3c}
.s2d-featured-availability{right:16px;top:16px}
.s2d-portfolio-image{position:relative;overflow:hidden}
.s2d-portfolio-availability{left:18px;bottom:18px}
.s2d-property-availability-badge{top:32px;right:max(32px,calc((100vw - 1280px)/2));font-size:11px;padding:13px 16px}
.s2d-featured-photo .s2d-featured-index{top:16px;left:16px}
@media(max-width:760px){.s2d-featured-availability{top:auto;right:14px;bottom:14px}.s2d-portfolio-availability{left:14px;bottom:14px}.s2d-property-availability-badge{top:20px;right:16px;font-size:9px;padding:10px 12px}.s2d-availability-badge{max-width:calc(100% - 28px);white-space:normal;line-height:1.25}}

/* v1.1.8 — flexible About team roster */
.s2d-about-person .s2d-about-person-role{margin:0;color:#666}
.s2d-about-person .s2d-about-person-bio{margin:10px 0 0;color:#333;line-height:1.55;font-size:.95rem}


/* v1.1.10 — tighter About-page editorial spacing */
.s2d-about-page .s2d-editorial-hero{
  padding-block:clamp(46px,6vw,82px);
}
.s2d-about-page .s2d-editorial-body{
  padding-top:clamp(34px,4vw,58px);
}
.s2d-about-page .s2d-editorial-body-inner>*:first-child{
  margin-top:0;
}
.s2d-about-page .s2d-editorial-body-inner>h2:first-child,
.s2d-about-page .s2d-editorial-body-inner>.wp-block-heading:first-child{
  margin-top:0;
}
@media(max-width:760px){
  .s2d-about-page .s2d-editorial-hero{padding-block:40px 46px}
  .s2d-about-page .s2d-editorial-body{padding-top:34px}
}
\n\n/* v1.1.12 — public S2D login navigation */
@media (min-width: 901px) {
  body:not(.logged-in) .s2d-header .s2d-public-menu .s2d-public-login {
    margin-left: 4px;
    padding-left: 22px;
    border-left: 1px solid #d8d8d3;
  }
  body:not(.logged-in) .s2d-header .s2d-public-menu .s2d-public-login a {
    font-weight: 700 !important;
  }
}
@media (max-width: 900px) {
  body:not(.logged-in) .s2d-header .s2d-public-menu .s2d-public-login {
    margin: 0;
    padding: 0;
    border-left: 0;
  }
}


/* v1.1.13 — PropertyPool records workspace action-column alignment.
   Work-order actions are intentionally stacked in a stable action rail so
   the S2D button typography cannot collide inside the records table. */
body.logged-in .propertypool .pp-records-table th:last-child,
body.logged-in .propertypool .pp-records-table td:last-child {
  min-width: 172px;
  width: 172px;
}
body.logged-in .propertypool .pp-records-table td:last-child {
  white-space: normal;
}
body.logged-in .propertypool .pp-records-table td:last-child > a.button,
body.logged-in .propertypool .pp-records-table td:last-child > .button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
  min-height: 38px;
  margin: 0 0 8px !important;
  padding: 9px 12px !important;
  box-sizing: border-box;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  text-align: center;
  overflow: visible;
}
body.logged-in .propertypool .pp-records-table td:last-child > a.button:last-child,
body.logged-in .propertypool .pp-records-table td:last-child > .button:last-child {
  margin-bottom: 0 !important;
}
body.logged-in .propertypool .pp-records-table td:last-child > a.button-primary {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}
@media (max-width: 900px) {
  body.logged-in .propertypool .pp-records-table th:last-child,
  body.logged-in .propertypool .pp-records-table td:last-child {
    min-width: 158px;
    width: 158px;
  }
}
