/*
Theme Name: Chris Meger GeneratePress
Template: generatepress
Version: 0.1.0
Description: Shared site presentation and the first homepage review build.
*/
@font-face{font-family:"Chris Proxima";src:url("../../uploads/useanyfont/170319091751Proxima-Nova-Light.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Chris Proxima";src:url("../../uploads/useanyfont/170319103240Proxima-Nova-S_Bold.woff") format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Chris Proxima";src:url("../../uploads/useanyfont/170319125200Proxima-Nova-Black.woff") format("woff");font-weight:800;font-display:swap}
:root{--cm-ink:var(--contrast,#3e3e3e);--cm-muted:var(--contrast-2,#3e3e3e);--cm-blue:var(--brand-blue,#3299cc);--cm-navy:var(--accent,#022836);--cm-gold:var(--brand-gold,#ffc700);--cm-paper:var(--base-2,#fff);--cm-tint:var(--base,#eef4f6);--cm-line:#dce6eb;--cm-shell:1200px;--cm-gutter:clamp(22px,4vw,48px);--cm-section:clamp(52px,6vw,88px);--cm-font:"Chris Proxima",Arial,sans-serif}
body,.editor-styles-wrapper{font-family:var(--cm-font);color:var(--cm-ink);font-weight:400;font-size:18px;line-height:1.65}
html{scroll-behavior:smooth;scroll-padding-top:24px}
.separate-containers .site-main{margin:0}
a{color:var(--cm-navy)}
button,input,textarea,select{font-family:inherit}
button:not(.menu-toggle):not(.dropdown-menu-toggle),input[type="button"],input[type="reset"],input[type="submit"],a.button{border:2px solid var(--cm-blue)}
button:not(.menu-toggle):not(.dropdown-menu-toggle):is(:hover,:active,:focus),input[type="button"]:is(:hover,:active,:focus),input[type="reset"]:is(:hover,:active,:focus),input[type="submit"]:is(:hover,:active,:focus),a.button:is(:hover,:active,:focus){background:#fff;border-color:#3f3f3f;color:#3f3f3f}
.cm-home *,.cm-site-footer *{box-sizing:border-box}
.cm-home img,.cm-site-footer img{max-width:100%;height:auto}
.cm-home,.cm-site-footer{overflow-wrap:break-word}
.cm-home h1,.cm-home h2,.cm-home h3,.cm-site-footer h2,.cm-site-footer h3{font-family:var(--cm-font);font-weight:600;color:var(--cm-ink);margin:0 0 20px;line-height:1.14;letter-spacing:-.025em;text-transform:none}
.cm-home h1{font-size:clamp(40px,4.65vw,66px);font-weight:800;line-height:1.05;max-width:12.5ch;letter-spacing:-.04em;text-wrap:balance}
.cm-home h2{font-size:clamp(30px,3.25vw,44px);text-wrap:balance}
.cm-home h3{font-size:25px;letter-spacing:-.015em}
.cm-home p{margin:0 0 22px;max-width:68ch}
.cm-shell{width:min(100%,calc(var(--cm-shell) + 2*var(--cm-gutter)));padding-inline:var(--cm-gutter);margin-inline:auto;min-width:0}
.cm-section{padding-block:var(--cm-section)}
.cm-section-heading{max-width:780px;margin-bottom:32px}
.cm-section-heading p:last-child{margin-bottom:0}
.cm-eyebrow{font-size:14px;font-weight:600;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;color:var(--cm-navy);display:flex;align-items:center;gap:12px;margin-bottom:24px!important}
.cm-eyebrow:before{content:"";width:30px;height:3px;flex:0 0 30px;background:var(--cm-gold)}
.cm-home .wp-block-buttons{gap:14px 24px;align-items:center;margin-top:30px}
.cm-home .wp-block-button__link,.cm-site-footer .wp-block-button__link,.main-navigation .cm-menu-cta>a{background:var(--cm-blue);color:#fff;border:2px solid var(--cm-blue);border-radius:4px;font-family:var(--cm-font);font-size:17px;font-weight:600;line-height:1.2;padding:16px 23px;min-height:52px;text-decoration:none;box-shadow:none;transition:background-color .15s,color .15s,border-color .15s}
.cm-home .wp-block-button:not(.cm-link-button) .wp-block-button__link:is(:hover,:active,:focus),.cm-site-footer .wp-block-button__link:is(:hover,:active,:focus){background:#fff;border-color:#3f3f3f;color:#3f3f3f}
.cm-home .cm-link-button .wp-block-button__link{background:transparent;color:var(--cm-navy);border-color:transparent;padding-inline:0;border-radius:0;text-decoration:underline;text-underline-offset:5px}
.cm-home .cm-link-button .wp-block-button__link:hover{color:#3e3e3e;text-decoration-thickness:2px;background-color:transparent;text-decoration-color:#ffc701}
.cm-home a:focus-visible,.cm-site-footer a:focus-visible,.main-navigation a:focus-visible,.main-navigation button:focus-visible,.main-navigation [role=button]:focus-visible{outline:3px solid var(--cm-gold);outline-offset:5px}
.cm-text-link,.cm-link-row a{font-weight:600;text-underline-offset:5px}
.cm-text-link:after,.cm-link-row a:after{content:" →";display:inline-block;margin-left:6px;text-decoration:none}
.cm-hero{background:var(--cm-tint);padding-block:48px 56px}
.cm-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(36px,6vw,80px);align-items:center}
.cm-hero-copy{padding-block:12px;min-width:0}
.cm-hero-copy>p:not(.cm-eyebrow){font-size:21px;line-height:1.55;max-width:46ch}
.cm-hero-image{margin:0;min-width:0;position:relative;align-self:stretch;max-height:510px}
.cm-hero-image img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:60% 18%;border-radius:5px}
.cm-hero-image:after{content:"";position:absolute;bottom:-10px;left:28px;width:92px;height:5px;background:var(--cm-gold)}
.cm-approach{padding-block:60px}
.cm-approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:32px 0 22px}
.cm-approach-item{border-top:3px solid var(--cm-gold);padding-top:22px;min-width:0}
.cm-approach-item p{margin:0}
.cm-approach-item strong{display:block;font-size:23px;font-weight:600;line-height:1.2;margin-bottom:14px}
.cm-featured{background:var(--cm-tint)}
.cm-intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:clamp(36px,7vw,96px);align-items:center}
.cm-intro-image{margin:0;max-width:445px}
.cm-intro-image img{display:block;width:100%;aspect-ratio:4/4.25;object-fit:cover;object-position:60% 18%;border-radius:5px}
.cm-intro-copy{min-width:0}
.cm-intro-copy .cm-text-link{display:inline-block;margin-top:4px}
.cm-sold{border-top:1px solid var(--cm-line)}
.cm-home .chris-property-grid--home>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none;margin:0;padding:0}
.cm-home .chris-property-card{background:#fff;border:1px solid var(--cm-line);border-radius:5px;overflow:hidden;min-width:0;box-shadow:0 5px 18px #3e3e3e08}
.cm-home .chris-property-card:focus-within{border-color:var(--cm-navy)}
.cm-home .chris-listing-image-link{display:block;overflow:hidden}
.cm-home .chris-listing-image-link img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .25s}
.cm-home .chris-listing-image-link:hover img{transform:scale(1.025)}
.cm-home .chris-listing-card-body{padding:23px 24px 26px}
.cm-home .chris-listing-card-body h3{font-size:25px;line-height:1.15;margin-bottom:8px}
.cm-home .chris-listing-card-body h3 a{color:var(--cm-ink);text-decoration:none}
.cm-home .chris-listing-card-body h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.cm-home .chris-listing-neighbourhood{color:var(--cm-muted);font-size:16px;margin-bottom:16px}
.cm-home .chris-listing-status{display:inline-block;border-left:3px solid var(--cm-blue);padding-left:10px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin-bottom:15px}
.cm-home .chris-listing-status--sold{border-color:var(--cm-gold)}
.cm-home .chris-listing-price{font-size:15px;color:var(--cm-muted);margin:0;padding-top:15px;border-top:1px solid var(--cm-line)}
.cm-home .chris-listing-price strong{display:block;color:var(--cm-ink);font-size:26px;font-weight:600;line-height:1.3}
.chris-listing-placeholder{min-height:200px;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#e7eef1;color:var(--cm-ink);font-size:16px}
.chris-listing-placeholder svg{width:54px;height:54px}
.cm-closing{background:var(--cm-navy);color:white;text-align:center}
.cm-closing h2{color:#fff;max-width:760px;margin-inline:auto}
.cm-closing p{max-width:65ch;margin-inline:auto}
.cm-closing .wp-block-buttons{justify-content:center;margin-bottom:24px}
.cm-closing a{color:inherit}
.cm-closing .cm-phone-line{font-size:17px;margin-bottom:0}
.home #page.container{max-width:none;width:100%}
.home .site-content{padding:0}
.home .content-area{width:100%}
.home .inside-article{padding:0;background:transparent}
.home .entry-content{margin:0}
.home .entry-header,.home .featured-image,.home .post-image{display:none}
.site-header{background:#fff;border-bottom:1px solid var(--cm-line)}
.site-header .inside-header{max-width:calc(var(--cm-shell) + 2*var(--cm-gutter));margin:auto;padding:22px var(--cm-gutter);min-height:102px}
.site-logo .header-image{width:250px;max-width:100%;height:auto}
.main-navigation{font-family:var(--cm-font);background:transparent}
.main-navigation .main-nav ul li a{color:var(--cm-ink);font-size:16px;font-weight:600;text-transform:none;line-height:1.4;padding:13px 14px}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.sfHover>a,.main-navigation .main-nav ul li[class*=current-menu-]>a{color:var(--cm-navy);background:#eef4f6}
.main-navigation .main-nav ul li.cm-menu-cta>a{color:#fff;padding:13px 19px;min-height:46px;line-height:1.15;background:var(--cm-blue);margin-left:14px}
.main-navigation .main-nav ul li.cm-menu-cta>a:is(:hover,:active,:focus),.main-navigation .main-nav ul li.cm-menu-cta[class*=current-menu-]>a{background:#fff;border-color:#3f3f3f;color:#3f3f3f}
.main-navigation .main-nav ul ul{background:white;min-width:240px;border:1px solid var(--cm-line);box-shadow:0 8px 24px #3e3e3e18;border-radius:3px}
.main-navigation .main-nav ul ul li a{font-size:16px;padding:13px 19px}
.main-navigation .dropdown-menu-toggle{padding-left:10px}
.main-navigation .menu-toggle{color:var(--cm-ink);font-size:16px;font-weight:600;min-height:46px;padding:10px 12px}
.cm-site-footer{background:var(--cm-navy);color:#e3eef2;padding:56px 0 28px;font-size:16px;line-height:1.6}
.cm-footer-grid{display:grid;grid-template-columns:1.15fr .8fr .85fr 1.3fr;gap:38px}
.cm-site-footer h2{color:white;font-size:30px;font-weight:600}
.cm-site-footer h3{color:white;font-size:18px;margin-bottom:20px;letter-spacing:0}
.cm-site-footer p{margin:0 0 11px}
.cm-site-footer a{color:#e3eef2;text-decoration:none}
.cm-site-footer a:hover{text-decoration:underline;text-underline-offset:4px;color:#fff}
.cm-site-footer .cm-footer-links p{margin-bottom:11px}
.cm-site-footer .cm-footer-brokerage{margin:24px 0 0;max-width:240px}
.cm-site-footer .cm-footer-brokerage img{width:240px;height:auto;display:block}
.cm-footer-bottom{margin-top:36px;padding-top:22px;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:14px}
.cm-footer-notices{color:#c5d8e0;font-size:12px;line-height:1.55;margin-top:20px}
.cm-footer-notices summary{cursor:pointer;font-weight:600;font-size:13px}
.cm-footer-notices p{margin-top:12px;max-width:100ch}
.editor-styles-wrapper .cm-shell{width:100%}
.editor-styles-wrapper .cm-home{margin:0}
@media(min-width:960px){.main-navigation .inside-navigation{flex-wrap:nowrap}.site-header .inside-header{gap:32px}}
@media(max-width:959px){.site-header .inside-header{padding-block:17px;min-height:83px;gap:12px}.site-logo .header-image{width:225px}.main-navigation .main-nav ul li.cm-menu-cta>a{margin:10px 18px 18px;text-align:center}.main-navigation .main-nav ul li a{padding:16px 20px}.main-navigation .main-nav ul ul{min-width:0;border:0;box-shadow:none;background:var(--cm-tint)}.cm-hero-grid{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.cm-hero-image img{min-height:400px}.cm-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.cm-home .chris-property-grid--home>ul{gap:18px}.cm-home .chris-listing-card-body{padding:20px 18px}.cm-home .chris-listing-card-body h3{font-size:23px}}
@media(max-width:767px){.cm-hero{padding-block:36px 40px}.cm-hero-grid,.cm-intro-grid{grid-template-columns:minmax(0,1fr);gap:30px}.cm-hero-copy{padding:0}.cm-hero-copy>p:not(.cm-eyebrow){font-size:20px}.cm-home h1{max-width:15ch}.cm-home .wp-block-buttons{gap:10px 20px;align-items:flex-start}.cm-hero-image{max-height:360px}.cm-hero-image img{min-height:0;height:auto;aspect-ratio:1.15;object-fit:cover;object-position:60% 15%}.cm-approach{padding-block:48px}.cm-approach-grid{grid-template-columns:minmax(0,1fr);gap:28px;margin-bottom:26px}.cm-approach-item{padding-top:18px}.cm-approach-item strong{margin-bottom:8px}.cm-home .chris-property-grid--home>ul{grid-template-columns:minmax(0,1fr);gap:24px}.cm-intro-image{width:100%;max-width:440px}.cm-intro-image img{aspect-ratio:1.15;object-position:60% 15%}.cm-section-heading{margin-bottom:28px}.cm-site-footer{padding-top:44px}.cm-footer-bottom{flex-direction:column;gap:6px}}
@media(max-width:479px){.site-logo .header-image{width:200px}.site-header .inside-header{padding-inline:20px}.cm-footer-grid{grid-template-columns:minmax(0,1fr);gap:28px}.cm-home .wp-block-buttons{flex-direction:column;align-items:stretch}.cm-home .wp-block-button__link{width:100%;text-align:center}.cm-home .cm-link-button .wp-block-button__link{text-align:left}.cm-closing .cm-link-button .wp-block-button__link{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cm-home *{transition:none!important}}

/* Remaining pages inherit the approved homepage components and colour tokens. */
.cm-rebuilt #page.container{max-width:none;width:100%}
.cm-rebuilt .site-content,.cm-rebuilt .inside-article{padding:0}
.cm-rebuilt .content-area{width:100%;min-width:0}
.cm-rebuilt .inside-article{background:transparent}
.cm-rebuilt .entry-content{margin:0}
.cm-rebuilt .entry-header,.cm-rebuilt .featured-image,.cm-rebuilt .post-image{display:none}
.cm-page h1{max-width:22ch}
.cm-reading{max-width:820px}
.cm-compact{max-width:760px;margin-inline:auto}
.cm-process{max-width:880px;padding-left:30px;margin:30px 0 0}
.cm-process li{padding:0 0 25px 12px}
.cm-process li::marker{color:var(--cm-blue);font-weight:800}
.cm-process strong{display:block;font-size:25px;line-height:1.25;margin-bottom:10px;font-weight:600}
.cm-inquiry-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);grid-template-areas:"opening form" "points form";gap:44px 64px;align-items:start}
.cm-inquiry-opening{grid-area:opening;min-width:0}
.cm-inquiry-points{grid-area:points;min-width:0}
.cm-inquiry-points ul{margin-left:22px}
.cm-inquiry-points li{margin-bottom:14px}
.page-id-4469 .cm-inquiry-points .wp-block-list>li{font-weight:600}
.cm-inquiry-grid>.cm-form-panel{grid-area:form}
.cm-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.cm-next-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:36px;align-items:center}
.cm-next-grid .cm-intro-image{margin:0}
.cm-contact-grid .cm-intro-image{max-width:360px;margin:28px 0}
.cm-form-panel{padding:clamp(24px,3vw,38px);background:#fff;border:1px solid var(--cm-line);border-radius:5px;min-width:0;scroll-margin-top:24px}
.cm-home .cm-form-panel h2{font-size:clamp(26px,2.3vw,34px)}
.cm-inquiry-form{font-size:16px;color:var(--cm-ink);text-align:left}
.cm-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.cm-inquiry-form label{display:block;margin-bottom:18px;font-weight:600;line-height:1.45}
.cm-form-fields label{margin:0}
.cm-form-fields{margin-bottom:18px}
.cm-inquiry-form .wpcf7-form-control-wrap{display:block;margin-top:7px}
.cm-inquiry-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.cm-inquiry-form textarea,.cm-inquiry-form select{width:100%;max-width:100%;min-width:0;border:1px solid #b9c8cf;background:#fff;color:var(--cm-ink);border-radius:3px;padding:12px 13px;font:400 17px/1.5 var(--cm-font);box-sizing:border-box}
.cm-inquiry-form textarea{resize:vertical}
.cm-inquiry-form input:focus,.cm-inquiry-form textarea:focus,.cm-inquiry-form select:focus{outline:2px solid var(--cm-blue);outline-offset:2px;border-color:var(--cm-navy)}
.cm-home .cm-form-help,.cm-home .cm-form-privacy{font-size:14px;line-height:1.5;margin-bottom:18px}
.cm-inquiry-form input[type=submit]{background:var(--cm-blue);color:#fff;border:2px solid var(--cm-blue);border-radius:4px;font:600 17px/1.2 var(--cm-font);min-height:52px;padding:16px 23px;max-width:100%;white-space:normal;cursor:pointer}
.cm-inquiry-form input[type=submit]:is(:hover,:active,:focus){background:#fff;border-color:#3f3f3f;color:#3f3f3f}
.cm-inquiry-form input[type=submit]:focus-visible{outline:3px solid var(--cm-gold);outline-offset:5px}
.cm-other-property[hidden]{display:none!important}
.cm-inquiry-form .wpcf7-not-valid-tip{font-size:14px;font-weight:400;line-height:1.5;margin-top:6px}
.cm-page .wpcf7-response-output{margin:22px 0 0;padding:14px;font-size:16px;line-height:1.5}
.cm-property-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-block:1px solid var(--cm-line);padding-block:26px;margin:30px 0 0}
.cm-property-facts dt{font-size:14px;font-weight:600;margin-bottom:6px}
.cm-property-facts dd{font-size:21px;margin:0;overflow-wrap:anywhere}
.cm-property .cm-property-price{font-size:28px;font-weight:600;margin-bottom:0}
.cm-property .chris-property-gallery{margin:30px 0;min-width:0}
.cm-property .chris-property-gallery img{max-width:100%}
.cm-property-inquiry .wpcf7{max-width:720px}
.cm-property-download{margin-top:40px;border-top:1px solid var(--cm-line);padding-top:32px}
.cm-tour-frame{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:320px;border:0;margin-bottom:24px}
.cm-section.cm-property-media{padding-block:0}
.cm-property-media img{max-width:800px;width:100%;height:auto}
.cm-listing-pagination{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:40px}
.cm-listing-pagination .page-numbers{padding:8px 16px;border:1px solid var(--cm-line);border-radius:3px;text-decoration:none}
.cm-listing-pagination .current{background:var(--cm-navy);color:white}
.cm-market-native{min-width:0}
/* Keep RealtyPress's Bootstrap controls/results intact; style only the shared shell. */
.single-rps_listing .entry-content>.bootstrap-realtypress{max-width:1200px;margin-inline:auto;padding:36px var(--cm-gutter)}
.cm-market-invitation{border-top:1px solid var(--cm-line);margin-top:30px;padding:30px 0;font-family:var(--cm-font)}
.bootstrap-realtypress .btn-primary{background:var(--cm-blue);border-color:var(--cm-blue);color:#fff;font-family:var(--cm-font)}
.bootstrap-realtypress .btn-primary:is(:hover,:active,:focus){background:#fff;border-color:#3f3f3f;color:#3f3f3f}
@media(max-width:959px){.cm-inquiry-grid{gap:32px}.cm-contact-grid{gap:32px}.cm-property-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.cm-inquiry-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"opening" "form" "points";gap:34px}.cm-contact-grid{grid-template-columns:minmax(0,1fr)}.cm-page h1{max-width:22ch}.cm-next-grid{grid-template-columns:minmax(0,1fr);gap:24px}.cm-next-grid .cm-intro-image{max-width:160px}.cm-inquiry-form input[type=submit]{width:100%}.cm-tour-frame{aspect-ratio:4/3;min-height:280px}.cm-process strong{font-size:23px}}
@media(max-width:479px){.cm-form-fields{grid-template-columns:minmax(0,1fr)}.cm-property-facts{grid-template-columns:minmax(0,1fr)}.cm-form-panel{padding:24px 20px}}

/* Property hero and retained listing signup rows. */
.cm-property-hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,48px)}
.cm-property-hero-image{order:2;min-width:0}.cm-property-hero-text{order:1;min-width:0}
.cm-property-hero-photo{margin:0}.cm-property-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.cm-property-hero-grid:not(:has(img)){grid-template-columns:1fr}
.cm-property .cm-property-download{max-width:720px;margin:24px 0;padding:24px;border:1px solid var(--cm-line);border-radius:4px;background:var(--cm-tint)}
.cm-property-download[hidden]{display:none}
.cm-property-download input:not([type=submit]),.cm-property-newsletter input:not([type=submit]){width:100%}
.cm-property-newsletter{background:var(--cm-tint)}
.cm-property-newsletter h2{font-size:clamp(22px,2.5vw,32px)}
.cm-property-newsletter .wpcf7-form{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
.cm-property-newsletter .form-left,.cm-property-newsletter .form-center{flex:1 1 240px}.cm-property-newsletter .form-right{flex:0 1 auto}
.cm-property-newsletter .wpcf7-form p{margin:0}.cm-property-newsletter .wpcf7-response-output{flex-basis:100%}
@media(max-width:767px){.cm-property-hero-grid{grid-template-columns:1fr}.cm-property-hero-image{order:0}.cm-property-hero-text{order:1}.cm-property-newsletter .form-right{flex-basis:100%}}
