/*
Theme Name: Artur Palej Hamilton Real Estate
Theme URI: https://example.com/
Author: OpenAI
Description: A clean black-and-gold starter theme for Artur Palej REALTOR®. Designed as a lightweight homepage foundation.
Version: 1.3.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: artur-palej
*/

:root {
  --ap-black: #0b0b0b;
  --ap-black-soft: #151515;
  --ap-gold: #c89b3c;
  --ap-gold-light: #e5c866;
  --ap-cream: #f5f3ed;
  --ap-paper: #f4f3ef;
  --ap-ink: #181818;
  --ap-muted: #a9a69e;
  --ap-max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ap-ink);
  background: #fff;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.ap-container { width: min(var(--ap-max), calc(100% - 48px)); margin-inline: auto; }
.ap-skip-link { position: absolute; left: -9999px; top: 0; background: white; color: black; padding: 12px; z-index: 9999; }
.ap-skip-link:focus { left: 12px; }
.ap-header {
  position: absolute; inset: 0 0 auto; z-index: 10;
  color: var(--ap-cream); border-bottom: 1px solid rgba(255,255,255,.15);
  background: linear-gradient(180deg, rgba(4,10,15,.94), rgba(4,10,15,.76));
}
.ap-header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.ap-brand { display: flex; align-items: center; gap: 13px; min-width: 190px; }
.ap-brand img { width: 72px; height: 72px; object-fit: contain; flex: 0 0 auto; }
.ap-brand-copy { display: grid; line-height: 1.2; }
.ap-brand-name { font-size: 15px; letter-spacing: .17em; font-weight: 800; }
.ap-brand-role { margin-top: 6px; color: var(--ap-gold-light); font-size: 10px; letter-spacing: .22em; }
.ap-nav { display: flex; align-items: center; gap: clamp(16px, 2.2vw, 30px); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.ap-nav a { transition: color .2s ease; }
.ap-nav a:hover, .ap-nav a:focus { color: var(--ap-gold-light); }
.ap-nav .ap-nav-cta { border: 1px solid var(--ap-gold); padding: 11px 16px; }
.ap-menu-toggle { display: none; background: transparent; border: 1px solid rgba(255,255,255,.45); color: white; padding: 9px 12px; font: inherit; }
.ap-hero {
  min-height: 730px; min-height: min(790px, 100svh);
  display: flex; align-items: center; color: var(--ap-cream);
  background:
    linear-gradient(90deg, rgba(8,8,8,.88) 0%, rgba(8,8,8,.65) 48%, rgba(8,8,8,.25) 100%),
    linear-gradient(0deg, rgba(8,8,8,.4), rgba(8,8,8,.12)),
    url("assets/hamilton-sunset.jpg");
  background-color: var(--ap-black);
  background-size: cover; background-position: center 54%;
}
.ap-hero-content { padding-top: 105px; padding-bottom: 42px; max-width: 760px; }
.ap-eyebrow { color: var(--ap-gold-light); text-transform: uppercase; letter-spacing: .23em; font-size: 11px; font-weight: 700; }
.ap-hero h1 { margin: 18px 0 20px; font-size: clamp(42px, 6.2vw, 82px); line-height: .99; letter-spacing: -.045em; font-weight: 750; }
.ap-hero h1 span { color: var(--ap-gold-light); }
.ap-hero p { max-width: 540px; color: rgba(245,243,237,.82); font-size: clamp(16px, 1.5vw, 19px); }
.ap-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ap-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 22px; border: 1px solid var(--ap-gold); text-transform: uppercase; letter-spacing: .1em; font-size: 11px; font-weight: 800; transition: transform .2s, background .2s, color .2s; }
.ap-button:hover { transform: translateY(-2px); }
.ap-button-gold { background: var(--ap-gold); color: #111; }
.ap-button-gold:hover { background: var(--ap-gold-light); }
.ap-button-outline { color: var(--ap-cream); }
.ap-button-outline:hover { background: rgba(200,155,60,.12); }
.ap-hero-links { background: rgba(0,0,0,.91); color: var(--ap-cream); border-top: 1px solid rgba(229,200,102,.5); position: relative; z-index: 2; margin-top: -1px; }
.ap-hero-links-inner { display: grid; grid-template-columns: repeat(3, 1fr); }
.ap-hero-link { min-height: 112px; display: flex; align-items: center; justify-content: center; gap: 20px; color: var(--ap-cream); text-transform: uppercase; letter-spacing: .17em; font-size: 15px; font-weight: 800; transition: color .2s, background .2s; }
.ap-hero-link + .ap-hero-link { border-left: 1px solid rgba(229,200,102,.38); }
.ap-hero-link:hover, .ap-hero-link:focus { color: var(--ap-gold-light); background: rgba(229,200,102,.05); }
.ap-hero-link svg { width: 38px; height: 38px; stroke: var(--ap-gold-light); fill: none; stroke-width: 1.6; flex: 0 0 auto; }
.ap-section { padding: clamp(68px, 9vw, 112px) 0; }
.ap-section-paper { background: var(--ap-paper); }
.ap-section-dark { background: var(--ap-black); color: var(--ap-cream); }
.ap-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.ap-section h2 { margin: 8px 0 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; letter-spacing: -.035em; }
.ap-section-intro { max-width: 470px; color: #6d6a63; margin: 14px 0 0; }
.ap-section-dark .ap-section-intro { color: #b7b3aa; }
.ap-gold-rule { width: 48px; height: 2px; background: linear-gradient(90deg, var(--ap-gold), var(--ap-gold-light)); margin-bottom: 16px; }
.ap-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ap-feature-card { background: white; border: 1px solid #e6e3dc; }
.ap-feature-image { aspect-ratio: 4 / 3; background: #d6d1c6; overflow: hidden; }
.ap-feature-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ap-feature-card:hover .ap-feature-image img { transform: scale(1.04); }
.ap-card-body { padding: 22px; }
.ap-card-kicker { color: #997225; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.ap-card-body h3 { font-size: 22px; margin: 8px 0; line-height: 1.2; }
.ap-card-body p { color: #69665f; margin: 0; font-size: 14px; }
.ap-about-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(36px, 7vw, 90px); align-items: center; }
.ap-about-image { min-height: 440px; background: #242321; position: relative; overflow: hidden; }
.ap-about-image img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; }
.ap-about-image:after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(229,200,102,.7); pointer-events: none; }
.ap-about-copy p { color: #6d6a63; }
.ap-dark-panel { background: var(--ap-black-soft); padding: clamp(28px, 5vw, 54px); border-left: 2px solid var(--ap-gold); }
.ap-dark-panel p { color: #b7b3aa; }
.ap-area-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.ap-area-list span { padding: 9px 13px; border: 1px solid #34322e; color: #e4dfd3; font-size: 12px; }
.ap-contact-band { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: clamp(32px, 5vw, 58px); background: var(--ap-black); color: var(--ap-cream); }
.ap-contact-band h2 { font-size: clamp(28px, 4vw, 44px); margin: 8px 0; }
.ap-footer { padding: 28px 0; background: #050505; color: #aaa69c; font-size: 12px; }
.ap-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ap-footer-links { display: flex; gap: 18px; flex-wrap: wrap; }
.ap-footer a:hover { color: var(--ap-gold-light); }
@media (max-width: 850px) {
  .ap-header-inner { min-height: 76px; }
  .ap-menu-toggle { display: block; }
  .ap-nav { display: none; position: absolute; top: 76px; left: 0; right: 0; padding: 22px 24px 26px; background: #0b0b0b; flex-direction: column; align-items: stretch; gap: 18px; border-bottom: 1px solid #302a1e; }
  .ap-nav.is-open { display: flex; }
  .ap-nav .ap-nav-cta { text-align: center; }
  .ap-hero { min-height: 720px; background-position: 60% center; }
  .ap-feature-grid { grid-template-columns: 1fr 1fr; }
  .ap-about-grid { grid-template-columns: 1fr; }
  .ap-about-image, .ap-about-image img { min-height: 340px; }
  .ap-section-head, .ap-contact-band { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .ap-container { width: min(var(--ap-max), calc(100% - 32px)); }
  .ap-brand img { width: 54px; height: 54px; }
  .ap-brand-name { font-size: 12px; }
  .ap-brand-role { font-size: 9px; }
  .ap-hero { min-height: 680px; background-position: 62% center; }
  .ap-hero-links-inner { grid-template-columns: 1fr; }
  .ap-hero-link { min-height: 76px; justify-content: flex-start; padding-inline: 28px; }
  .ap-hero-link + .ap-hero-link { border-left: 0; border-top: 1px solid rgba(229,200,102,.25); }
  .ap-hero h1 { font-size: clamp(40px, 13vw, 58px); }
  .ap-feature-grid { grid-template-columns: 1fr; }
  .ap-footer-inner { align-items: flex-start; flex-direction: column; }
}


/* Contact details: plain text, no external links */
.ap-contact-details{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:48px;align-items:start;padding:48px 0}
.ap-contact-details .ap-contact-intro h2{margin:12px 0 16px}
.ap-contact-info{display:grid;gap:20px}
.ap-contact-item{display:flex;flex-direction:column;gap:5px;color:#f5f1e8;line-height:1.6;overflow-wrap:anywhere}
.ap-contact-label{font-size:.72rem;letter-spacing:.14em;color:#d9b45b;font-weight:700}
@media(max-width:700px){.ap-contact-details{grid-template-columns:1fr;gap:30px;padding:32px 0}}


/* Market statistics page */
.ap-market-page .ap-container{width:min(1480px,calc(100% - 64px));}
.ap-market-hero{padding:170px 0 72px;background:linear-gradient(115deg,rgba(8,8,8,.98),rgba(18,18,18,.94));color:var(--ap-cream);border-bottom:1px solid rgba(200,155,60,.55)}
.ap-market-hero h1{margin:14px 0 18px;font-size:clamp(36px,5.5vw,66px);line-height:1.04;letter-spacing:-.04em}
.ap-market-hero h1 span{color:var(--ap-gold-light)}
.ap-market-hero p{max-width:720px;color:#c7c2b7;font-size:17px;margin:0}
.ap-market-reports{padding:72px 0 92px;background:var(--ap-paper)}
.ap-market-intro{margin-bottom:36px;max-width:900px}
.ap-market-intro p{font-size:16px;line-height:1.7;max-width:760px}
.ap-market-intro h2{font-size:clamp(28px,3.4vw,42px);margin:8px 0}
.ap-market-intro p{color:#69665f;margin:0}
.ap-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.ap-market-card{min-width:0;background:#fff;border:1px solid #e1ddd3;box-shadow:0 8px 26px rgba(0,0,0,.06);overflow:hidden}
.ap-market-card-heading{min-height:62px}
.ap-market-card-heading{display:flex;align-items:center;gap:12px;padding:18px 20px;background:#111;color:var(--ap-cream);border-bottom:2px solid var(--ap-gold)}
.ap-market-card-heading h2{margin:0;font-size:19px;line-height:1.3;font-weight:700}
.ap-market-mark{width:7px;height:24px;flex:0 0 auto;background:linear-gradient(180deg,var(--ap-gold-light),var(--ap-gold))}
.ap-market-embed{position:relative;width:100%;min-height:520px;background:#fff}
.ap-market-embed iframe{display:block;width:100%;height:520px;max-width:100%;border:0;background:#fff}
.ap-market-note{font-size:12px;color:#716d64;margin:24px 0 0}
@media(max-width:800px){.ap-market-page .ap-container{width:calc(100% - 36px)}.ap-market-grid{grid-template-columns:1fr;gap:22px}.ap-market-hero{padding:145px 0 54px}.ap-market-reports{padding:48px 0 64px}}
@media(max-width:560px){.ap-market-page .ap-container{width:calc(100% - 28px)}.ap-market-hero h1{font-size:clamp(32px,9vw,44px)}.ap-market-hero p{font-size:15px}.ap-market-embed,.ap-market-embed iframe{height:500px;min-height:500px}.ap-market-card-heading{padding:15px 16px}.ap-market-card-heading h2{font-size:18px}}

/* Logo entrance animation: subtle, polished, and accessible. */
@keyframes ap-logo-arrive {
  0% { opacity: 0; transform: scale(.72) rotate(-12deg); filter: drop-shadow(0 0 0 rgba(217, 174, 70, 0)); }
  65% { opacity: 1; transform: scale(1.06) rotate(2deg); filter: drop-shadow(0 0 9px rgba(217, 174, 70, .35)); }
  100% { opacity: 1; transform: scale(1) rotate(0); filter: drop-shadow(0 0 0 rgba(217, 174, 70, 0)); }
}
@keyframes ap-brand-copy-arrive {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: translateX(0); }
}
.ap-brand img {
  animation: ap-logo-arrive .85s cubic-bezier(.2, .75, .25, 1) both;
  transform-origin: center;
}
.ap-brand-copy {
  animation: ap-brand-copy-arrive .55s ease-out .22s both;
}
@media (prefers-reduced-motion: reduce) {
  .ap-brand img, .ap-brand-copy { animation: none !important; }
}


/* Full-screen logo intro shown briefly on homepage load. */
.ap-logo-splash{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#090a0b;opacity:1;visibility:visible;animation:ap-splash-exit .65s ease-in 2.15s forwards}
.ap-logo-splash-inner{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;animation:ap-splash-arrive .95s cubic-bezier(.2,.75,.25,1) both}
.ap-logo-splash-inner img{display:block;width:clamp(230px,38vw,360px);height:auto;max-width:82vw;object-fit:contain;filter:drop-shadow(0 0 26px rgba(217,174,70,.22))}
.ap-logo-splash-copy{display:flex;flex-direction:column;align-items:center;gap:7px;color:#fff;letter-spacing:.22em;font-size:clamp(18px,3vw,27px);font-weight:800;line-height:1.2}
.ap-logo-splash-copy small{color:#d9b45b;font-size:12px;letter-spacing:.3em;font-weight:700}
@keyframes ap-splash-arrive{0%{opacity:0;transform:scale(.7) rotate(-8deg);filter:blur(5px)}70%{opacity:1;transform:scale(1.04) rotate(1deg);filter:blur(0)}100%{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}
@keyframes ap-splash-exit{0%{opacity:1;visibility:visible}99%{visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
.ap-logo-splash.is-dismissed{opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){.ap-logo-splash,.ap-logo-splash-inner{animation:none}.ap-logo-splash{display:none!important}}

/* Regular pages: keep the header in normal flow and display full page content. */
body:not(.home) .ap-header { position: relative; inset: auto; }
.ap-page-main { min-height: 320px; padding: clamp(36px, 5vw, 64px) 0 clamp(56px, 7vw, 88px); }
.ap-page-content { max-width: 1240px; }
.ap-page-title { margin: 0 0 28px; color: var(--ap-ink); font-size: clamp(32px, 4vw, 48px); line-height: 1.1; letter-spacing: -.035em; }
.ap-page-entry-content { min-width: 0; }
.ap-page-entry-content > * { max-width: 100%; }
.ap-page-entry-content iframe { display: block; width: 100%; max-width: 100%; border: 0; }
.ap-page-entry-content .wp-block-html { width: 100%; }
.ap-page-entry-content p { margin: 0 0 1em; }
/* The admin toolbar overlays absolutely positioned elements unless offset while logged in. */
body.admin-bar.home .ap-header { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar.home .ap-header { top: 46px; }
}


/* Brokerage logo strip above the contact footer */
.ap-brokerage-strip{background:#080808;color:#f5f3ed;border-top:1px solid rgba(200,155,60,.38);border-bottom:1px solid rgba(200,155,60,.38);padding:30px 0}
.ap-brokerage-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}
.ap-brokerage-logo{min-height:76px;padding:8px 24px;display:flex;align-items:center;justify-content:center}
.ap-brokerage-logo+.ap-brokerage-logo{border-left:1px solid #c89b3c}
.ap-brokerage-logo img{width:100%;max-width:230px;max-height:66px;object-fit:contain}
.ap-brokerage-state img{max-width:250px;max-height:70px;image-rendering:auto;filter:contrast(1.08)}
.ap-brokerage-carriage img{max-height:86px}
@media(max-width:700px){.ap-brokerage-strip{padding:20px 0}.ap-brokerage-logos{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}.ap-brokerage-logo{min-height:68px;padding:10px 16px}.ap-brokerage-logo:nth-child(3){border-left:0}.ap-brokerage-logo img{max-width:190px;max-height:58px}.ap-brokerage-carriage img{max-height:70px}}


/* Final layout corrections: keep all four property-service links on one desktop row and give Carriage Trade more presence. */
.ap-hero-links-inner{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.ap-hero-link{min-width:0;padding-inline:12px;gap:12px;white-space:nowrap;}
.ap-brokerage-carriage img{max-width:300px !important;max-height:138px !important;width:100%;}
@media(max-width:700px){.ap-hero-links-inner{grid-template-columns:1fr !important}.ap-hero-link{white-space:normal;padding-inline:28px}.ap-brokerage-carriage img{max-height:96px !important;}}

/* Restore the Residential & Commercial descriptor beneath the logo text. */
.ap-brand-services{display:block;margin-top:3px;color:#d9b45b;font-size:7px;letter-spacing:.12em;line-height:1.25;white-space:nowrap}
.ap-logo-splash-copy em{display:block;margin-top:2px;color:#f1eee7;font-size:clamp(8px,1vw,10px);font-style:normal;font-weight:500;letter-spacing:.18em;line-height:1.4}
@media(max-width:700px){.ap-brand-services{font-size:6px;letter-spacing:.08em}.ap-logo-splash-copy em{font-size:8px}}

/* Service-page layouts: Buy, Lease and Sell visual system */
.ap-service-page { color: var(--ap-ink); background: var(--ap-paper, #f7f5ef); }
.ap-service-hero { position: relative; min-height: 430px; display:flex; align-items:center; background-image:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 47%,rgba(0,0,0,.12) 100%),var(--service-photo); background-size:cover; background-position:center 52%; color:#fff; }
.ap-service-hero-inner { padding-top:72px; padding-bottom:72px; }
.ap-service-hero h1 { max-width:600px; margin:0 0 18px; color:#fff; font-size:clamp(38px,5vw,64px); line-height:1.02; letter-spacing:-.04em; }
.ap-service-lead { max-width:500px; font-size:clamp(17px,2vw,20px); line-height:1.55; }
.ap-service-region { margin:18px 0 26px; color:#f1d47a; font-size:13px; font-weight:700; letter-spacing:.04em; }
.ap-service-page .ap-eyebrow { margin:0 0 12px; color:#bd8b2f; font-size:11px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.ap-button-gold { display:inline-flex; align-items:center; gap:18px; padding:14px 20px; background:#d4a63d; color:#111; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ap-button-gold:hover { background:#f0d27b; color:#111; }
.ap-service-intro { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.8fr); align-items:center; gap:48px; padding-top:68px; padding-bottom:68px; }
.ap-service-intro h2,.ap-process-section h2,.ap-education-grid h2,.ap-service-cta h2 { margin:0 0 16px; font-size:clamp(29px,3vw,42px); line-height:1.12; letter-spacing:-.035em; }
.ap-service-intro-copy p:last-child,.ap-service-cta p:last-child { max-width:680px; color:#555; line-height:1.75; }
.ap-service-intro-image { width:100%; height:290px; object-fit:cover; border:1px solid #d6b66b; }
.ap-service-options { padding:54px 0; background:#eeece5; border-top:1px solid #e1dcd0; border-bottom:1px solid #e1dcd0; }
.ap-service-option-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.ap-service-option { padding:8px 12px; }
.ap-service-icon { display:block; margin-bottom:14px; color:#bd8b2f; font-size:38px; line-height:1; }
.ap-service-option h3,.ap-process-grid h3,.ap-education-grid h3 { margin:0 0 9px; font-size:18px; }
.ap-service-option p,.ap-process-grid p,.ap-education-grid p { margin:0; color:#555; font-size:14px; line-height:1.65; }
.ap-process-section { padding-top:68px; padding-bottom:72px; }
.ap-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin-top:30px; padding:28px 24px; background:#ebe5d7; }
.ap-process-grid article { position:relative; }
.ap-process-grid article > span { display:flex; width:34px; height:34px; margin-bottom:18px; align-items:center; justify-content:center; border-radius:50%; background:#bd8b2f; color:#fff; font-weight:800; }
.ap-process-grid h3 { font-size:15px; }
.ap-service-education { padding:60px 0; background:#111; color:#fff; }
.ap-education-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; }
.ap-education-grid h2 { color:#fff; }
.ap-education-grid h3 { margin-top:0; color:#f1d27b; }
.ap-education-grid h3:not(:first-child) { margin-top:25px; }
.ap-education-grid p { margin-bottom:0; color:#d1cec7; }
.ap-service-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:60px; padding-bottom:64px; }
.ap-service-cta > div { max-width:740px; }
@media (max-width:760px) { .ap-service-hero { min-height:390px; background-position:60% center; } .ap-service-hero-inner { padding-top:52px; padding-bottom:52px; } .ap-service-intro,.ap-education-grid { grid-template-columns:1fr; gap:24px; } .ap-service-intro { padding-top:44px; padding-bottom:44px; } .ap-service-intro-image { height:230px; } .ap-service-option-grid { grid-template-columns:1fr; gap:22px; } .ap-service-options { padding:34px 0; } .ap-process-grid { grid-template-columns:1fr 1fr; gap:26px 18px; padding:22px 18px; } .ap-process-section { padding-top:44px; padding-bottom:48px; } .ap-service-education { padding:44px 0; } .ap-service-cta { align-items:flex-start; flex-direction:column; padding-top:44px; padding-bottom:48px; } }


/* Shared black-and-gold Let’s Talk contact modal */
.ap-contact-modal { position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; padding:22px; }
.ap-contact-modal.is-open { display:flex; }
.ap-contact-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.78); }
.ap-contact-modal-panel { position:relative; z-index:1; width:min(100%,520px); padding:42px; background:#101010; color:#f7f5ef; border:1px solid #bd8b2f; box-shadow:0 24px 80px rgba(0,0,0,.45); }
.ap-contact-modal-close { position:absolute; top:10px; right:15px; border:0; background:transparent; color:#f1d27b; font-size:34px; line-height:1; cursor:pointer; }
.ap-contact-modal-eyebrow { margin:0 0 10px; color:#d4a63d; font-size:10px; font-weight:800; letter-spacing:.16em; }
.ap-contact-modal-panel h2 { margin:0; color:#fff; font-size:clamp(32px,5vw,42px); line-height:1.1; }
.ap-contact-modal-region { margin:12px 0 26px; color:#f1d27b; font-size:13px; }
.ap-contact-modal-detail { padding:15px 0; border-top:1px solid #44371f; display:flex; flex-direction:column; gap:6px; overflow-wrap:anywhere; }
.ap-contact-modal-detail span { color:#d4a63d; font-size:10px; font-weight:800; letter-spacing:.14em; }
.ap-contact-modal-detail strong { color:#fff; font-size:16px; font-weight:600; line-height:1.5; }
body.ap-contact-modal-open { overflow:hidden; }
@media(max-width:520px) { .ap-contact-modal-panel { padding:34px 24px 24px; } }


/* Footer logo balance: reduce State Realty slightly and give the other brands more room. */
.ap-brokerage-logos { grid-template-columns: 1fr 1.12fr .9fr 1.12fr; }
.ap-brokerage-logo { padding: 8px 18px; }
.ap-brokerage-logo img { max-width: 250px; max-height: 78px; }
.ap-brokerage-state img { max-width: 205px; max-height: 58px; }
.ap-brokerage-carriage img { max-width: 300px !important; max-height: 145px !important; width: 100%; }
.ap-brokerage-logo:nth-child(2) img { max-width: 285px; max-height: 84px; }
.ap-brokerage-logo:nth-child(4) img { max-width: 285px; max-height: 84px; }
@media(max-width:700px) {
  .ap-brokerage-logos { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ap-brokerage-logo { padding: 10px 14px; }
  .ap-brokerage-logo img { max-width: 190px; max-height: 62px; }
  .ap-brokerage-state img { max-width: 170px; max-height: 50px; }
  .ap-brokerage-logo:nth-child(2) img { max-width: 205px; max-height: 68px; }
  .ap-brokerage-logo:nth-child(4) img { max-width: 210px; max-height: 70px; }
  .ap-brokerage-carriage img { max-height: 96px !important; }
}

/* Sell page readability and width refinement (desktop and mobile). */
.ap-sell-page .ap-container { width: min(1480px, calc(100% - 72px)); }
.ap-sell-page .ap-service-hero { min-height: 520px; }
.ap-sell-page .ap-service-hero-inner { padding-top: 112px; padding-bottom: 72px; }
.ap-sell-page .ap-service-hero h1 { max-width: 760px; font-size: clamp(44px, 5.2vw, 72px); }
.ap-sell-page .ap-service-lead { max-width: 640px; font-size: clamp(18px, 1.55vw, 22px); }
.ap-sell-page .ap-service-region { font-size: 15px; }
.ap-sell-page .ap-service-intro { grid-template-columns: minmax(0,1.1fr) minmax(320px,.8fr); gap: 64px; padding-top: 76px; padding-bottom: 76px; }
.ap-sell-page .ap-service-intro-copy p:last-child,
.ap-sell-page .ap-service-cta p:last-child { font-size: 17px; line-height: 1.75; }
.ap-sell-page .ap-service-option h3 { font-size: 21px; }
.ap-sell-page .ap-service-option p,
.ap-sell-page .ap-process-grid p,
.ap-sell-page .ap-education-grid p { font-size: 16px; line-height: 1.65; }
.ap-sell-page .ap-process-grid { gap: 30px; padding: 32px 30px; }
.ap-sell-page .ap-process-grid h3 { font-size: 17px; }
.ap-sell-page .ap-brokerage-logo img { max-height: 88px; }
.ap-sell-page .ap-brokerage-state img { max-width: 210px; max-height: 62px; }
@media (max-width: 760px) {
  .ap-sell-page .ap-container { width: calc(100% - 36px); }
  .ap-sell-page .ap-service-hero { min-height: 450px; }
  .ap-sell-page .ap-service-hero-inner { padding-top: 96px; padding-bottom: 48px; }
  .ap-sell-page .ap-service-hero h1 { font-size: clamp(38px, 9vw, 54px); }
  .ap-sell-page .ap-service-intro { grid-template-columns: 1fr; gap: 24px; padding-top: 44px; padding-bottom: 44px; }
  .ap-sell-page .ap-service-option h3 { font-size: 19px; }
  .ap-sell-page .ap-service-option p, .ap-sell-page .ap-process-grid p, .ap-sell-page .ap-education-grid p { font-size: 15px; }
}

/* Final Sell-page desktop sizing correction: enforce readable scale and a wider content grid. */
@media (min-width: 761px) {
  #main.ap-service-page.ap-sell-page .ap-container { width: min(1420px, calc(100% - 96px)) !important; max-width: 1420px !important; }
  #main.ap-service-page.ap-sell-page .ap-service-hero { min-height: 500px !important; }
  #main.ap-service-page.ap-sell-page .ap-service-hero-inner { padding-top: 105px !important; padding-bottom: 76px !important; }
  #main.ap-service-page.ap-sell-page .ap-service-hero h1 { max-width: 780px !important; font-size: clamp(46px, 4.2vw, 68px) !important; line-height: 1.04 !important; }
  #main.ap-service-page.ap-sell-page .ap-service-lead { max-width: 660px !important; font-size: clamp(18px, 1.35vw, 22px) !important; line-height: 1.5 !important; }
  #main.ap-service-page.ap-sell-page .ap-service-region { font-size: 15px !important; }
  #main.ap-service-page.ap-sell-page .ap-service-intro { grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr) !important; gap: 58px !important; padding-top: 64px !important; padding-bottom: 64px !important; }
  #main.ap-service-page.ap-sell-page .ap-service-intro h2 { font-size: clamp(30px, 2.5vw, 40px) !important; line-height: 1.12 !important; }
  #main.ap-service-page.ap-sell-page .ap-service-intro-copy p:last-child,
  #main.ap-service-page.ap-sell-page .ap-service-cta p:last-child { font-size: 18px !important; line-height: 1.7 !important; }
  #main.ap-service-page.ap-sell-page .ap-service-option h3 { font-size: 22px !important; }
  #main.ap-service-page.ap-sell-page .ap-service-option p,
  #main.ap-service-page.ap-sell-page .ap-process-grid p,
  #main.ap-service-page.ap-sell-page .ap-education-grid p { font-size: 16px !important; line-height: 1.65 !important; }
  #main.ap-service-page.ap-sell-page .ap-process-section h2,
  #main.ap-service-page.ap-sell-page .ap-service-education h2 { font-size: clamp(30px, 2.4vw, 38px) !important; }
  #main.ap-service-page.ap-sell-page .ap-process-grid { gap: 26px !important; padding: 30px !important; }
  #main.ap-service-page.ap-sell-page .ap-brokerage-logo img { max-height: 92px !important; }
  #main.ap-service-page.ap-sell-page .ap-brokerage-state img { max-width: 200px !important; max-height: 58px !important; }
}
@media (max-width: 760px) {
  #main.ap-service-page.ap-sell-page .ap-container { width: calc(100% - 32px) !important; }
  #main.ap-service-page.ap-sell-page .ap-service-hero h1 { font-size: clamp(36px, 9vw, 52px) !important; }
  #main.ap-service-page.ap-sell-page .ap-service-intro h2 { font-size: 30px !important; }
  #main.ap-service-page.ap-sell-page .ap-service-option p,
  #main.ap-service-page.ap-sell-page .ap-process-grid p,
  #main.ap-service-page.ap-sell-page .ap-education-grid p { font-size: 15px !important; line-height: 1.6 !important; }
}

/* Homepage market data and education section */
.ap-market-education { background: var(--ap-paper); }
.ap-market-panel { background: var(--ap-black); color: var(--ap-cream); padding: clamp(24px, 4vw, 42px); margin-top: 32px; border-top: 2px solid var(--ap-gold); }
.ap-market-panel-head { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-bottom:26px; }
.ap-market-panel-head h3 { margin:7px 0 6px; font-size:clamp(24px, 2.5vw, 34px); line-height:1.15; }
.ap-market-panel-head p { margin:0; color:#b7b3aa; }
.ap-market-panel .ap-card-kicker { color:var(--ap-gold-light); }
.ap-market-metrics { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
.ap-market-metric { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 16px; border:1px solid #403a2d; color:var(--ap-cream); font-weight:650; transition:background .2s ease, border-color .2s ease; }
.ap-market-metric span:last-child { color:var(--ap-gold-light); }
.ap-market-metric:hover { background:#211f1a; border-color:var(--ap-gold); }
.ap-education-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.ap-education-card { display:flex; flex-direction:column; align-items:flex-start; background:#fff; border:1px solid #e6e3dc; padding:26px; transition:transform .2s ease, border-color .2s ease; }
.ap-education-card:hover { transform:translateY(-3px); border-color:var(--ap-gold); }
.ap-education-icon { color:#b78628; font-size:32px; line-height:1; margin-bottom:18px; }
.ap-education-card h3 { font-size:22px; line-height:1.2; margin:8px 0; }
.ap-education-card p { color:#69665f; font-size:14px; margin:0 0 18px; }
.ap-education-link { color:#997225; font-weight:800; font-size:13px; margin-top:auto; }
@media (max-width:760px) {
 .ap-market-panel-head { align-items:flex-start; flex-direction:column; }
 .ap-market-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ap-education-grid { grid-template-columns:1fr; }
 .ap-education-card { padding:22px; }
}


/* Homepage market and education readability refinement */
@media (min-width: 761px) {
  .ap-market-education .ap-container { width: min(1420px, calc(100% - 96px)); max-width: 1420px; }
  .ap-market-education .ap-section-head { gap: 48px; }
  .ap-market-education .ap-section-head h2 { font-size: clamp(34px, 3vw, 46px); line-height: 1.12; }
  .ap-market-education .ap-section-intro { font-size: 18px; line-height: 1.7; }
}
.ap-market-education .ap-market-panel { padding: clamp(28px, 3.5vw, 48px); }
.ap-market-education .ap-market-panel-head h3 { font-size: clamp(27px, 2.4vw, 36px); }
.ap-market-education .ap-market-panel-head p { color: #e0ddd5; font-size: 16px; line-height: 1.65; }
.ap-market-education .ap-card-kicker { font-size: 12px; letter-spacing: .12em; }
.ap-market-education .ap-market-metric { min-height: 58px; padding: 17px 19px; font-size: 17px; line-height: 1.35; }
.ap-market-education .ap-education-card { padding: 30px; }
.ap-market-education .ap-education-card h3 { font-size: clamp(22px, 1.7vw, 27px); line-height: 1.25; }
.ap-market-education .ap-education-card p { color: #4f4b44; font-size: 16px; line-height: 1.65; }
.ap-market-education .ap-education-link { font-size: 15px; }
.ap-market-education .ap-education-icon { font-size: 36px; }
.ap-social-icons { display: inline-flex; align-items: center; gap: 13px; margin-left: 18px; }
.ap-social-icon { display: inline-flex; align-items: center; justify-content: center; width: 23px; height: 23px; color: #d4a63d; }
.ap-social-icon svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.ap-social-icon[aria-label="Instagram"] svg rect, .ap-social-icon[aria-label="Instagram"] svg circle:first-of-type { fill: none; }
.ap-footer-links { align-items: center; }
@media (max-width: 760px) {
  .ap-market-education .ap-section-head h2 { font-size: clamp(30px, 8vw, 38px); }
  .ap-market-education .ap-section-intro { font-size: 16px; line-height: 1.65; }
  .ap-market-education .ap-market-panel-head h3 { font-size: 26px; }
  .ap-market-education .ap-market-panel-head p { font-size: 15px; line-height: 1.6; }
  .ap-market-education .ap-market-metric { font-size: 15px; min-height: 54px; padding: 13px 12px; }
  .ap-market-education .ap-education-card h3 { font-size: 22px; }
  .ap-market-education .ap-education-card p { font-size: 15px; line-height: 1.6; }
  .ap-social-icons { gap: 10px; margin-left: 0; }
  .ap-footer-inner { flex-wrap: wrap; gap: 14px; }
}


/* Homepage market and education: high-contrast readability update */
.ap-market-education .ap-section-intro { color: #353535 !important; }
.ap-market-education .ap-market-panel-head p { color: #f4f1e9 !important; }
.ap-market-education .ap-education-card h3 { color: #171717 !important; }
.ap-market-education .ap-education-card p { color: #333333 !important; font-size: 17px !important; line-height: 1.7 !important; }
.ap-market-education .ap-education-link { color: #79520a !important; font-size: 15px !important; text-decoration: underline; text-underline-offset: 3px; }
.ap-market-education .ap-education-card { border-color: #d6d0c3; }
.ap-market-education .ap-market-metric { color: #ffffff !important; }
.ap-market-education .ap-market-panel-head h3 { color: #ffffff !important; }
@media (max-width: 760px) {
  .ap-market-education .ap-education-card p { font-size: 16px !important; }
}


/* Social icons are linked profiles, displayed without text labels. */
.ap-social-icons{display:flex;align-items:center;gap:12px;margin-left:6px}
.ap-social-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#e5c866;transition:color .2s,transform .2s;}
.ap-social-icon svg{display:block;width:21px;height:21px;fill:currentColor}
.ap-social-icon:hover,.ap-social-icon:focus{color:#fff;transform:translateY(-2px)}
.ap-social-icon:focus-visible{outline:2px solid #e5c866;outline-offset:3px}
@media(max-width:700px){.ap-social-icons{gap:10px;margin-left:0}}

/* Homepage market graphs open in a branded modal. */
.ap-market-metric{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer}
.ap-graph-modal{display:none;position:fixed;inset:0;z-index:100000;align-items:center;justify-content:center;padding:24px}
.ap-graph-modal.is-open{display:flex}
.ap-graph-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.84);backdrop-filter:blur(4px)}
.ap-graph-panel{position:relative;z-index:1;width:min(1040px,100%);max-height:92vh;overflow:auto;padding:clamp(24px,4vw,42px);background:#0b0b0b;color:#f5f1e8;border:1px solid #c89b3c;box-shadow:0 24px 90px rgba(0,0,0,.5)}
.ap-graph-panel h2{margin:10px 48px 22px 0;font-size:clamp(25px,4vw,38px);color:#f5f1e8}
.ap-graph-close{position:absolute;right:18px;top:14px;width:42px;height:42px;background:transparent;border:1px solid #c89b3c;color:#f5f1e8;font-size:30px;line-height:1;cursor:pointer}
.ap-graph-frame-wrap{width:100%;height:min(64vh,650px);min-height:360px;background:#fff;border:1px solid rgba(229,200,102,.5)}
.ap-graph-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.ap-graph-fallback{margin:14px 0 0;color:#d2cec4;font-size:13px}
.ap-graph-fallback a{color:#e5c866;text-decoration:underline}
body.ap-graph-modal-open{overflow:hidden}
@media(max-width:600px){.ap-graph-modal{padding:10px}.ap-graph-panel{padding:22px 14px}.ap-graph-frame-wrap{height:58vh;min-height:320px}.ap-graph-close{right:10px;top:10px}}


/* Client testimonials carousel */
.ap-testimonials { background: var(--ap-paper); }
.ap-testimonials-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.ap-testimonials-heading h2 { max-width:760px; margin:8px 0 0; font-size:clamp(30px,4vw,48px); line-height:1.08; letter-spacing:-.035em; }
.ap-testimonials-rating { display:grid; grid-template-columns:auto auto; align-items:center; column-gap:10px; min-width:190px; }
.ap-testimonials-rating strong { font-size:32px; line-height:1; }
.ap-testimonials-rating > span:last-child { grid-column:1 / -1; color:#625f58; font-size:12px; margin-top:6px; }
.ap-testimonial-stars { color:#bd8c25; letter-spacing:.13em; font-size:20px; white-space:nowrap; }
.ap-testimonial-carousel { background:#0b0b0b; color:#f5f3ed; border:1px solid #c89b3c; padding:clamp(24px,5vw,56px); min-height:260px; }
.ap-testimonial-track { position:relative; }
.ap-testimonial { display:none; max-width:900px; margin:0 auto; animation:ap-testimonial-in .35s ease both; }
.ap-testimonial.is-active { display:block; }
.ap-testimonial blockquote { margin:18px 0 22px; padding:0; font-size:clamp(18px,2.2vw,25px); line-height:1.6; color:#f5f3ed; }
.ap-testimonial-reviewer { color:#e5c866; font-size:13px; font-weight:800; letter-spacing:.06em; }
.ap-testimonial-controls { display:flex; align-items:center; justify-content:center; gap:22px; margin-top:30px; }
.ap-testimonial-arrow { display:grid; place-items:center; width:42px; height:42px; border:1px solid #c89b3c; color:#e5c866; background:transparent; font-size:23px; cursor:pointer; }
.ap-testimonial-arrow:hover,.ap-testimonial-arrow:focus-visible { background:#c89b3c; color:#111; }
.ap-testimonial-dots { display:flex; align-items:center; gap:9px; }
.ap-testimonial-dot { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:#777; cursor:pointer; }
.ap-testimonial-dot[aria-current="true"] { background:#e5c866; transform:scale(1.25); }
.ap-testimonial-source { text-align:center; margin:20px 0 0; }
.ap-testimonial-source a { color:#795414; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
@keyframes ap-testimonial-in { from { opacity:.25; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:700px) { .ap-testimonials-heading { align-items:flex-start; flex-direction:column; } .ap-testimonial-carousel { padding:24px 18px; } .ap-testimonial blockquote { font-size:18px; } }
@media(prefers-reduced-motion:reduce) { .ap-testimonial { animation:none; } }


/* Readability fixes: market indicators and gold kicker labels */
.ap-market-metric{color:#24211b !important;background:#f5f1e8 !important;border:1px solid #d8c9a6 !important;}
.ap-market-metric span:first-child{color:#24211b !important;font-weight:600 !important;}
.ap-market-metric span:last-child{color:#936714 !important;}
.ap-market-metric:hover,.ap-market-metric:focus-visible{background:#fffaf0 !important;color:#111 !important;border-color:#b98924 !important;outline:2px solid #b98924;outline-offset:2px;}
.ap-card-kicker,.ap-eyebrow{color:#80570b !important;}
.ap-market-panel .ap-card-kicker,.ap-market-panel .ap-eyebrow{color:#e5c866 !important;}
.ap-education-card .ap-card-kicker{color:#80570b !important;}


/* Final readability and market graph modal refinements */
.ap-market-metric { color: #191919 !important; background: #f4f0e8 !important; }
.ap-market-metric span:first-child { color: #191919 !important; }
.ap-market-metric span:last-child { color: #9b6b13 !important; }
.ap-market-metric:hover, .ap-market-metric:focus-visible { background: #e7d5aa !important; color: #111 !important; }
.ap-card-kicker, .ap-section-kicker, .ap-eyebrow, .ap-market-kicker, .ap-testimonials .ap-kicker { color: #8a5b08 !important; }
.ap-graph-panel { width: min(1180px, 96vw); max-height: 94vh; padding: clamp(18px, 2.5vw, 30px); }
.ap-graph-panel h2 { margin-bottom: 14px; }
.ap-graph-frame-wrap { height: min(58vh, 500px); min-height: 300px; }
.ap-graph-frame-wrap iframe { width: 100%; height: 100%; }
@media (max-width: 600px) { .ap-graph-panel { width: 100%; padding: 20px 12px; } .ap-graph-frame-wrap { height: 52vh; min-height: 280px; } }

/* My Listings page */
.ap-listings-hero{padding:170px 0 72px;background:linear-gradient(115deg,rgba(8,8,8,.98),rgba(18,18,18,.94));color:var(--ap-cream);border-bottom:1px solid rgba(200,155,60,.55)}
.ap-listings-hero h1{margin:14px 0 18px;font-size:clamp(36px,5.5vw,66px);line-height:1.04;letter-spacing:-.04em}
.ap-listings-hero h1 span{color:var(--ap-gold-light)}
.ap-listings-hero p{max-width:720px;color:#d0cbc1;font-size:17px;margin:0;line-height:1.7}
.ap-listings-section{padding:68px 0 88px;background:var(--ap-paper)}
.ap-listings-heading{margin-bottom:30px;max-width:800px}
.ap-listings-heading h2{font-size:clamp(28px,3.4vw,42px);margin:8px 0}
.ap-listings-heading p{color:#555149;line-height:1.65}
.ap-listings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ap-listing-card{background:#fff;border:1px solid #ddd7ca;box-shadow:0 8px 26px rgba(0,0,0,.07);display:flex;flex-direction:column;min-width:0}
.ap-listing-card-top{min-height:92px;background:#111;display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:3px solid var(--ap-gold)}
.ap-listing-status{font-size:11px;font-weight:800;letter-spacing:.12em;color:#f3e8cc;text-transform:uppercase}
.ap-listing-gold-line{width:42px;height:3px;background:var(--ap-gold)}
.ap-listing-card-body{padding:25px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.ap-listing-type{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#765716;font-weight:800;margin-bottom:10px}
.ap-listing-card h3{font-size:22px;line-height:1.3;color:#171717;margin:0 0 12px}
.ap-listing-card p{color:#555149;line-height:1.65;margin:0 0 24px}
.ap-listing-card .ap-button{margin-top:auto;text-decoration:none;gap:12px}
.ap-listings-note{font-size:13px;color:#625e55;line-height:1.6;margin-top:25px}
@media(max-width:900px){.ap-listings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ap-listings-hero{padding:145px 0 54px}.ap-listings-section{padding:48px 0 62px}.ap-listings-grid{grid-template-columns:1fr}.ap-listing-card-body{padding:22px}}
