/*
Theme Name: Pifer Management
Description: Pifer's navy and orange property management design with editable homepage settings. Standalone classic theme; no page builder required.
Version: 1.8.0
Requires at least: 6.4
Requires PHP: 7.4
Author: Pifer Management
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pifer-management
*/

:root { --navy:#041b3b; --ink:#061632; --orange:#ff5a0a; --paper:#fff; --mist:#f3f5f8; --line:#d9dee6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

.site-header { position:relative; z-index:20; background:#fff; border-bottom:1px solid #eef0f3; }
.header-inner { width:min(100% - 48px,1320px); min-height:128px; margin:auto; display:grid; grid-template-columns:350px 1fr auto; align-items:center; gap:28px; }
.brand { display:flex; align-items:center; gap:18px; width:max-content; }
.pifer-full-logo { display:block; width:320px; height:auto; object-fit:contain; }
.footer-brand { display:block; width:96px; }
.footer-brand img { width:96px; height:auto; }
.brand-mark { width:72px; height:82px; display:grid; place-items:center; align-content:center; background:var(--navy); color:#fff; font-family:Georgia,serif; font-size:54px; line-height:1; }
.brand-mark i { width:39px; height:3px; display:block; margin-top:6px; background:var(--orange); }
.brand-copy { border-left:1px solid var(--navy); padding-left:18px; text-align:center; text-transform:uppercase; line-height:1.12; }
.brand-copy strong { display:block; font-family:Georgia,serif; font-size:39px; letter-spacing:.12em; font-weight:500; }
.brand-copy span { display:block; margin-top:7px; font-size:10px; letter-spacing:.18em; font-weight:800; }
.brand-copy small { display:block; margin-top:5px; font-size:9px; letter-spacing:.2em; }
.desktop-nav { display:flex; justify-content:flex-end; align-items:center; gap:clamp(18px,2vw,34px); text-transform:uppercase; font-size:12px; font-weight:800; white-space:nowrap; }
.desktop-nav a { display:flex; align-items:center; gap:4px; position:relative; padding:12px 0; }
.desktop-nav .active::after { content:''; position:absolute; inset:auto 0 3px; height:2px; background:var(--orange); }
.portal-button,.primary-button,.secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:0 22px; text-transform:uppercase; font-size:12px; font-weight:800; transition:transform .2s ease,background .2s ease; }
.portal-button { color:#fff; background:var(--navy); }
.portal-button:hover,.primary-button:hover,.secondary-button:hover { transform:translateY(-2px); }
.mobile-menu { display:none; }

.hero { position:relative; min-height:610px; overflow:hidden; color:#fff; }
.hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,17,40,.97) 0%,rgba(2,24,52,.86) 35%,rgba(2,24,52,.26) 67%,rgba(2,24,52,.04) 100%); }
.hero-inner { position:relative; z-index:1; width:min(100% - 48px,1240px); min-height:610px; margin:auto; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.eyebrow,.section-kicker { margin:0 0 16px; color:var(--orange); font-size:13px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.hero h1 { max-width:760px; margin:0; font-family:Georgia,serif; font-size:clamp(52px,6vw,86px); line-height:.98; letter-spacing:-.04em; font-weight:500; }
.hero h1 span { display:block; white-space:nowrap; }
.orange-rule { width:450px; max-width:72vw; height:4px; margin:24px 0 18px; background:var(--orange); }
.hero-copy { max-width:540px; margin:0; font-size:18px; line-height:1.55; }
.hero-actions { display:flex; gap:18px; margin-top:28px; }
.primary-button { color:#fff; background:var(--orange); }
.secondary-button { color:#fff; border:1px solid rgba(255,255,255,.75); background:rgba(2,20,46,.44); }

.strengths-inner { width:min(100% - 48px,1240px); margin:auto; display:grid; grid-template-columns:repeat(4,1fr); padding:28px 0; }
.strength { display:grid; grid-template-columns:52px 1fr; gap:16px; align-items:center; min-height:76px; padding:0 27px; border-right:1px solid var(--line); }
.strength:first-child { padding-left:0; }
.strength:last-child { border-right:0; padding-right:0; }
.strength>svg { width:44px; height:44px; stroke:var(--orange); stroke-width:1.5; }
.strength h2 { margin:0 0 8px; font-size:13px; text-transform:uppercase; }
.strength p { margin:0; font-size:13px; line-height:1.45; }

.services { padding:76px 0 84px; color:#fff; background:linear-gradient(135deg,#061d3e 0%,#02152f 80%); }
.services-inner { width:min(100% - 48px,1240px); margin:auto; display:grid; grid-template-columns:310px 1fr; gap:56px; align-items:end; }
.services-intro h2,.owner-section h2,.cta-band h2 { margin:0; font-family:Georgia,serif; font-size:clamp(32px,3vw,48px); line-height:1.08; font-weight:500; letter-spacing:-.02em; }
.services-intro>p:not(.section-kicker) { margin:22px 0; color:#d5dfec; font-size:15px; line-height:1.7; }
.services-intro>a { display:inline-flex; align-items:center; gap:12px; padding-bottom:5px; border-bottom:1px solid #fff; text-transform:uppercase; font-size:12px; font-weight:900; }
.services-intro>a svg { color:var(--orange); }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.service-card { position:relative; min-width:0; border:1px solid rgba(255,255,255,.23); background:#071a36; }
.service-card>img,.maintenance-visual { width:100%; height:178px; object-fit:cover; }
.maintenance-visual { display:grid; place-items:center; background:linear-gradient(145deg,#163d69,#071a36); }
.maintenance-visual svg { width:64px; height:64px; color:rgba(255,255,255,.2); }
.service-icon { width:42px; height:42px; margin:-21px auto 0; position:relative; z-index:2; display:grid; place-items:center; border-radius:50%; background:var(--orange); }
.service-body { min-height:112px; padding:18px 12px 22px; text-align:center; }
.service-body h3 { margin:0 0 10px; font-size:14px; text-transform:uppercase; }
.service-body p { margin:0; color:#d5dfec; font-size:12px; line-height:1.5; }

.owner-section { padding:96px 0; background:var(--mist); }
.owner-inner { width:min(100% - 48px,1120px); margin:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.dark-kicker { color:var(--orange); }
.owner-copy>p { margin:2px 0 28px; font-size:19px; line-height:1.65; }
.owner-points { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.owner-points span { display:flex; flex-direction:column; gap:12px; font-size:13px; font-weight:800; line-height:1.35; }
.owner-points svg { color:var(--orange); }

.cta-band { padding:92px 24px; text-align:center; }
.cta-band h2 { margin-bottom:28px; }
.cta-band>div { display:flex; justify-content:center; align-items:center; gap:28px; }
.text-link { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:900; text-transform:uppercase; border-bottom:1px solid var(--navy); padding-bottom:5px; }

footer { padding:70px 0 22px; color:#fff; background:#021329; }
.footer-inner { width:min(100% - 48px,1240px); margin:auto; display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:54px; }
footer .brand-copy { border-color:rgba(255,255,255,.45); }
footer .brand-mark { border:1px solid rgba(255,255,255,.2); }
.footer-inner>div:not(.brand) { display:flex; flex-direction:column; gap:10px; }
.footer-inner strong { color:var(--orange); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.footer-inner a,.footer-inner p { margin:0; color:#c7d2e1; font-size:13px; line-height:1.5; }
.copyright { width:min(100% - 48px,1240px); margin:48px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); color:#8fa0b5; font-size:11px; }

@media (max-width:1120px) {
  .header-inner { grid-template-columns:auto 1fr auto; }
  .brand-copy { display:none; }
  .desktop-nav { gap:18px; font-size:11px; }
  .strengths-inner { grid-template-columns:1fr 1fr; }
  .strength { border-bottom:1px solid var(--line); }
  .strength:nth-child(2) { border-right:0; }
  .services-inner { grid-template-columns:1fr; }
}
@media (max-width:800px) {
  .header-inner { width:min(100% - 32px,1240px); min-height:88px; grid-template-columns:auto 1fr auto; }
  .brand-mark { width:54px; height:60px; font-size:39px; }
  .brand-mark i { width:28px; }
  .desktop-nav,.portal-button { display:none; }
  .mobile-menu { display:block; justify-self:end; }
  .mobile-menu summary { list-style:none; padding:12px 14px; color:#fff; background:var(--navy); text-transform:uppercase; font-size:11px; font-weight:800; cursor:pointer; }
  .mobile-menu nav { position:absolute; top:76px; right:16px; width:min(290px,calc(100vw - 32px)); display:flex; flex-direction:column; padding:12px; background:#fff; box-shadow:0 18px 50px rgba(2,19,41,.18); }
  .mobile-menu nav a { padding:13px; border-bottom:1px solid var(--line); font-size:13px; }
  .hero,.hero-inner { min-height:620px; }
  .hero>img { object-position:62% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(1,17,40,.96),rgba(2,24,52,.63)); }
  .hero h1 { font-size:clamp(20px,7vw,56px); }
  .hero-actions { flex-direction:column; width:100%; max-width:310px; }
  .strengths-inner { grid-template-columns:1fr; }
  .strength { padding:18px 0; border-right:0; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .owner-inner { grid-template-columns:1fr; gap:34px; }
  .footer-inner { grid-template-columns:1fr 1fr; }
}
@media (max-width:520px) {
  .pifer-full-logo { width:min(230px,60vw); }
  .hero-inner,.strengths-inner,.services-inner,.owner-inner,.footer-inner { width:min(100% - 32px,1240px); }
  .eyebrow { font-size:11px; }
  .hero-copy { font-size:16px; }
  .service-grid,.owner-points,.footer-inner { grid-template-columns:1fr; }
  .cta-band>div { flex-direction:column; }
}

/* WordPress integration and accessible layout refinements. */
body{font-size:1rem;line-height:1.6}h1,h2,h3{line-height:1.15}svg{display:inline-block;vertical-align:middle;flex-shrink:0}.header-inner{grid-template-columns:auto minmax(0,1fr) auto;gap:20px;width:min(100% - 48px,1520px)}.desktop-nav{font-size:.875rem;gap:18px}.portal-button,.primary-button,.secondary-button{font-size:.875rem}.brand-copy strong{line-height:1.1}.hero h1{max-width:750px}.strength h2{font-size:.875rem}.strength p,.service-body p,.services-intro>p:not(.section-kicker){font-size:1rem}.strengths-inner{gap:0}.strength{grid-template-columns:40px 1fr;padding:0 18px}.service-body h3{font-size:.875rem}.services-inner{grid-template-columns:300px 1fr;gap:30px;width:min(100% - 48px,1400px)}.services-intro h2{font-size:2rem}.footer-inner a,.footer-inner p,.owner-points span,.text-link,.services-intro>a{font-size:.875rem}.footer-inner .brand-copy strong{color:white;font-size:39px}.footer-inner .brand-copy span{font-size:10px}.custom-logo-link{display:block;max-width:320px}.custom-logo{width:auto;height:auto;max-height:105px}.footer-inner .custom-logo-link{background:white;padding:12px}.content-page{max-width:1000px;margin:auto;padding:64px 24px;min-height:45vh}.content-page article{margin-bottom:40px}.content-page a,.contact-details a{text-decoration:underline}.content-page h1{font-size:2.5rem}.content-page h2{font-size:2rem}.content-page p{margin:1em 0}.contact-details{flex-direction:column;gap:12px!important}.contact-details p{margin:0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:999;background:white;color:#041b3b;padding:16px}a:focus-visible,summary:focus-visible{outline:3px solid #c94700;outline-offset:5px}.pifer-nav-list{display:flex;gap:18px;list-style:none;margin:0;padding:0}.pifer-nav-list li{position:relative}.pifer-nav-list .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:50;min-width:220px;background:white;color:#041b3b;list-style:none;margin:0;padding:12px;box-shadow:0 8px 24px #0002}.pifer-nav-list li:hover>.sub-menu,.pifer-nav-list li:focus-within>.sub-menu{display:block}.owner-section:nth-of-type(even){background:#fff}.copyright{font-size:.75rem}.service-card>img{object-position:center}.hero>img{width:100%}
@media(max-width:1350px){.desktop-nav,.portal-button{display:none}.mobile-menu{display:block;justify-self:end}.header-inner{grid-template-columns:1fr auto}.brand-copy{display:block}.mobile-menu summary{cursor:pointer;padding:12px 18px;background:#041b3b;color:white;font-weight:bold}.mobile-menu nav{position:absolute;right:24px;top:100%;background:white;padding:16px;box-shadow:0 8px 24px #0002;display:flex;flex-direction:column;min-width:270px}.mobile-menu nav a{padding:8px 12px;font-size:1rem}.mobile-menu .pifer-nav-list{display:block}.mobile-menu .sub-menu{display:block;position:static;box-shadow:none;padding-left:12px}.services-inner{grid-template-columns:1fr}.strengths-inner{grid-template-columns:1fr 1fr}.strength{padding:18px!important;border-bottom:1px solid #ddd}.service-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.service-grid{grid-template-columns:repeat(2,1fr)}.header-inner{min-height:100px}.brand-copy strong{font-size:30px}.brand-copy{padding-left:12px}.brand{gap:12px}.strengths-inner{grid-template-columns:1fr}.custom-logo-link{max-width:240px}.custom-logo{max-height:85px}.hero h1{font-size:clamp(2.7rem,9vw,4rem)}.footer-inner{grid-template-columns:1fr 1fr}.owner-points{grid-template-columns:1fr}.strength{border-right:0}.mobile-menu nav{right:16px;min-width:0;width:min(320px,calc(100vw - 32px))}}
@media(max-width:520px){.service-grid,.footer-inner{grid-template-columns:1fr}.brand-copy strong{font-size:26px}.brand-copy span{font-size:8px}.brand-copy small{font-size:8px}.brand-mark{width:44px;height:54px}.brand{gap:8px}.header-inner{gap:10px}.mobile-menu summary{padding:10px}.custom-logo-link{max-width:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.pifer-header-portals{display:flex;gap:10px}.pifer-header-portals .portal-button{padding:12px;font-size:.8rem}@media(max-width:1350px){.pifer-header-portals{display:none}}

.pifer-page-actions{background:#041b3b;color:white;text-align:center;padding:48px 24px}.pifer-page-actions h2{font:500 2.4rem/1.2 Georgia,serif;margin:0 0 24px}.pifer-action-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.pifer-action-buttons a{white-space:normal;height:auto;min-height:48px;max-width:100%}.pifer-page-actions p{margin:24px 0 0}.pifer-mobile-call{display:none}@media(max-width:800px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}html{scroll-padding-bottom:90px}.pifer-mobile-call{display:flex;align-items:center;justify-content:center;position:fixed;bottom:0;left:0;right:0;z-index:90;min-height:64px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#041b3b;border-top:3px solid #ff5a0a;color:#fff;font-size:1rem;font-weight:700;text-align:center}}

.pifer-app-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px;font-size:.9375rem}.pifer-app-links a{text-decoration:underline;padding:6px 0}

.pifer-portal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;padding:20px 24px;font-size:1rem}.pifer-portal-links a{text-decoration:underline}

.pifer-license{max-width:1100px;margin:24px auto;padding:0 24px;text-align:center;color:#fff;font-size:1rem;line-height:1.6}.pifer-license p{margin:6px 0}.pifer-license a{text-decoration:underline}

.pifer-full-logo{display:block;width:320px;height:auto;object-fit:contain}.footer-inner .brand{background:white;padding:16px;max-width:100%}.footer-inner .pifer-full-logo{width:280px}.pm-hero{background:#041b3b;color:white;display:grid;grid-template-columns:1.1fr 1fr;min-height:480px}.pm-hero-copy{padding:70px max(24px,calc((100vw - 1240px)/2));padding-right:48px}.pm-hero h1{font:500 clamp(2.4rem,4vw,4.2rem)/1.08 Georgia,serif;letter-spacing:-.025em;margin:12px 0 24px}.pm-hero p{font-size:1.1rem;line-height:1.65}.pm-hero img{width:100%;height:100%;object-fit:cover;max-height:600px}.pm-content{max-width:1180px;margin:auto;padding:70px 24px}.pm-content h2{font:500 clamp(2rem,3vw,2.8rem)/1.15 Georgia,serif;margin:0 0 24px}.pm-content h3{font-size:1.25rem;margin:0 0 14px}.pm-content p{margin:0 0 20px;font-size:1rem;line-height:1.75}.pm-content ul,.pm-content ol{padding-left:22px;line-height:1.8}.pm-section{padding:36px 0 52px;border-bottom:1px solid #d9dee6;scroll-margin-top:24px}.pm-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.pm-card{padding:28px;background:#f3f5f8;border-top:3px solid #ff5a0a}.pm-two{display:grid;grid-template-columns:1fr 1fr;gap:48px}.pm-jump{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 0 24px;padding:0;list-style:none}.pm-jump a{color:#041b3b;text-decoration:underline;font-size:1rem}.pm-contact{background:#041b3b;color:white;text-align:center;padding:64px 24px}.pm-contact h2{font:500 2.5rem/1.15 Georgia,serif}.pm-contact p{max-width:650px;margin:20px auto 28px}.pm-content a:focus-visible{outline:3px solid #ff5a0a;outline-offset:4px}
@media(max-width:900px){.pm-hero{grid-template-columns:1fr}.pm-hero-copy{padding:48px 24px}.pm-hero img{height:280px}.pm-columns,.pm-two{grid-template-columns:1fr}.pm-content{padding:36px 24px}.pifer-full-logo{width:260px}}
@media(max-width:520px){.pifer-full-logo{width:min(230px,60vw)}.footer-inner .pifer-full-logo{width:100%}.pm-hero h1{font-size:2.4rem}}
.pifer-bio{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2.6fr);gap:40px;padding:36px 0;border-top:1px solid #d9dee6}.pifer-bio h3{font-family:Georgia,serif;font-size:1.7rem}.pifer-role{font-weight:700;color:#6b310d}.pifer-bio p:last-child{margin-bottom:0}@media(max-width:700px){.pifer-bio{grid-template-columns:1fr;gap:16px}}
.pifer-contact-hero h1{font:500 clamp(2.4rem,5vw,4.2rem)/1.12 Georgia,serif;margin:12px auto 24px;max-width:900px}.pifer-contact-details a{overflow-wrap:anywhere;text-decoration:underline}.pifer-contact-details h3{margin-bottom:8px}.pifer-contact-details p:last-child{margin-bottom:0}

@media(max-width:800px){.hero h1{font-size:clamp(20px,7vw,56px)}}
