/* Content pages: buy, sell, search, meet, start, subscribe, links, guides, journal.
   Builds on site.css. Rebuilt pages load only this; guide pages also keep their own component styles. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.page{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.75 var(--sans);-webkit-font-smoothing:antialiased}
.page img{max-width:100%;display:block}
:where(.page) a{color:inherit}
:where(.page) p{margin:0}
.page h1,.page h2,.page h3{margin:0;font-family:var(--serif);font-weight:500;color:var(--navy);letter-spacing:-.005em}
.page h2{font-size:clamp(36px,4.4vw,56px);line-height:1.05}
.page h3{font-size:clamp(24px,2.2vw,30px);line-height:1.15}
.p-wrap{width:100%;max-width:calc(var(--max) + var(--gutter)*2);margin:0 auto;padding-inline:var(--gutter)}
.p-narrow{max-width:calc(820px + var(--gutter)*2)}
.fine-print{font-size:13px;line-height:1.65;color:var(--muted)}

/* Page title */
.p-hero{padding:clamp(56px,8vw,112px) 0 clamp(48px,6vw,80px)}
.p-hero h1{max-width:980px;font-size:clamp(52px,7.6vw,104px);line-height:.98;letter-spacing:-.015em}
.p-hero .p-lead{max-width:640px;margin-top:28px!important;font:400 clamp(20px,2vw,25px)/1.5 var(--serif);color:#3a4152}
.p-hero .p-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.p-hero--photo{position:relative;isolation:isolate;min-height:min(80svh,720px);display:flex;align-items:flex-end;padding-top:150px;color:#fff;overflow:hidden;background:var(--navy-deep)}
.p-hero--photo .p-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.p-hero--photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,21,51,.72) 0%,rgba(10,21,51,.35) 55%,rgba(10,21,51,.1) 100%),linear-gradient(180deg,rgba(10,21,51,.45) 0%,rgba(10,21,51,.1) 35%,rgba(10,21,51,.7) 100%)}
.p-hero--photo .label{color:var(--brass-light)}
.p-hero--photo h1{color:#fff}
.p-hero--photo .p-lead{color:rgba(255,255,255,.9)}
.p-credit{position:absolute;right:var(--gutter);bottom:22px;font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.6)}
.p-credit a{color:inherit}

/* Sections */
.p-section{padding:var(--section) 0}
.p-section--white{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.p-section--stone{background:var(--stone)}
.p-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px 48px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.p-head p{max-width:460px;color:var(--muted)}
.p-head .label{grid-column:1/-1;margin:0}

/* Numbered process */
.p-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);counter-reset:step}
.p-steps>div{padding:34px 32px 38px 0;border-bottom:1px solid var(--line)}
.p-steps>div:nth-child(3n+2),.p-steps>div:nth-child(3n){padding-left:32px;border-left:1px solid var(--line)}
.p-steps .num{display:block;margin-bottom:18px;font:500 15px/1 var(--serif);font-style:italic;color:var(--brass)}
.p-steps p{margin-top:12px!important;color:var(--muted);font-size:16px}
.p-steps a{display:inline-block;margin-top:16px}

/* Reasons / features */
.p-features{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(40px,6vw,96px)}
.p-features>div{padding:28px 0;border-top:1px solid var(--line)}
.p-features p{margin-top:10px!important;color:var(--muted);font-size:16px}

/* Split layout + panel */
.p-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);align-items:center}
.p-split p+p{margin-top:18px!important}
.p-split .p-body{color:#454c5a}
.p-list{list-style:none;margin:28px 0 0;padding:0;counter-reset:li}
.p-list li{display:flex;gap:18px;padding:14px 0;border-top:1px solid var(--line);color:#454c5a;font-size:16px}
.p-list li::before{counter-increment:li;content:counter(li,decimal-leading-zero);flex:none;font:italic 500 16px/1.7 var(--serif);color:var(--brass)}
.p-panel{padding:clamp(28px,4vw,48px);background:#fff;border:1px solid var(--line)}
.p-panel h3{margin-bottom:12px}
.p-panel>p{color:var(--muted);font-size:16px}
.p-panel .btn{margin-top:26px}
.p-panel .fine-print{margin-top:22px!important;padding-top:18px;border-top:1px solid var(--line)}

/* Closing call to action */
.p-cta{padding:var(--section) var(--gutter);background:var(--navy);color:rgba(255,255,255,.85);text-align:center}
.p-cta .label{color:var(--brass-light)}
.p-cta h2{color:#fff}
.p-cta p{max-width:580px;margin:20px auto 0!important}
.p-cta .p-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px}

/* Card grids (guides index, journal index) */
.p-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.p-card{display:flex;flex-direction:column;min-height:280px;padding:34px 32px;background:#fff;border:1px solid var(--line);text-decoration:none;transition:border-color .25s,transform .25s}
.p-card:hover{border-color:var(--navy);transform:translateY(-3px)}
.p-card .tag{margin-bottom:auto;padding-bottom:36px;font:500 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.p-card p{margin-top:12px!important;color:var(--muted);font-size:15px}
.p-card .link-quiet{align-self:flex-start;margin-top:24px}

/* Guide tabs */
.guide-tabs{display:flex!important;gap:6px;overflow-x:auto;scrollbar-width:none;padding:14px var(--gutter)!important;margin:0!important;background:#fff;border-bottom:1px solid var(--line);max-width:none!important;position:static!important}
.guide-tabs::-webkit-scrollbar{display:none}
.guide-tabs a{flex:none;padding:9px 16px!important;border:1px solid transparent!important;border-radius:0!important;background:none!important;font:500 12px/1 var(--sans)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--muted)!important;text-decoration:none!important;white-space:nowrap;box-shadow:none!important}
.guide-tabs a:hover{color:var(--navy)!important}
.guide-tabs a[aria-current="page"]{border-color:var(--navy)!important;color:var(--navy)!important}

/* Forms */
.p-form label,.p-form legend{display:block;margin:0 0 8px;font:500 11px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.p-form input:not([type=checkbox]):not([type=radio]),.p-form textarea,.p-form select{display:block;width:100%;margin:0 0 22px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:0;font:400 16px/1.4 var(--sans);color:var(--ink)}
.p-form input:focus,.p-form textarea:focus,.p-form select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.p-form fieldset{margin:0 0 22px;padding:0;border:0}
.p-form .choice{display:inline-flex!important;align-items:center;gap:10px;margin:0 20px 10px 0!important;font:400 16px/1.4 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important;cursor:pointer}
.p-form .consent{display:flex!important;align-items:flex-start;gap:12px;font:400 14px/1.6 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important}
.p-form input[type=checkbox],.p-form input[type=radio]{accent-color:var(--navy);width:18px;height:18px;margin:2px 0 0;flex:none}
.p-form .trap{position:absolute;left:-9999px}
.p-form button{margin-top:8px}
.p-form button:disabled{opacity:.45;cursor:not-allowed}
.p-form [role=status]{margin-top:16px!important;font-size:14px;color:var(--muted)}
.p-form [role=status] a,.p-form .small a{color:var(--navy)}
.p-form .small{margin-top:10px!important;font-size:13px;color:var(--muted)}

/* Journal article */
.article{max-width:calc(760px + var(--gutter)*2)!important;margin:0 auto!important;padding:clamp(48px,7vw,96px) var(--gutter) var(--section)!important}
.article .breadcrumb{display:inline-block;margin-bottom:clamp(36px,5vw,56px);font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.article .breadcrumb:hover{color:var(--navy)}
.article header.article-head{padding:0 0 40px!important;margin:0 0 40px;border-bottom:1px solid var(--line)}
.article .article-head .eyebrow{margin:0 0 18px!important;font:500 12px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}
.article h1{font-size:clamp(42px,5.6vw,68px)!important;line-height:1.04!important;letter-spacing:-.01em!important}
.article .article-meta{margin-top:22px!important;font-size:14px;color:var(--muted)}
.article .lede{margin-top:26px!important;font:400 clamp(21px,2vw,25px)/1.5 var(--serif);color:#3a4152}
.article .answer-box{margin:0 0 40px;padding:24px 28px;background:#fff;border:1px solid var(--line);border-left:2px solid var(--brass)}
.article .answer-box p{font-size:16px;color:#454c5a}
.article>h2,.article section>h2{margin:48px 0 14px!important;font-size:clamp(28px,3vw,36px)!important;line-height:1.15!important}
.article>p,.article>ul,.article>ol{color:#454c5a}
.article>p+p{margin-top:18px!important}
.article li{margin-bottom:8px}
.article .article-cta{margin-top:56px;padding:clamp(32px,4vw,48px);background:var(--navy);color:rgba(255,255,255,.85)}
.article .article-cta h2{margin:0 0 12px!important;color:#fff}
.article .article-cta .btn{margin-top:26px}
.article .blog-disclosure{margin-top:32px!important;font-size:13px;color:var(--muted)}

/* Meet Sean */
.meet-video{margin:0;background:var(--navy-deep)}
.meet-video video{display:block;width:100%;height:auto;max-height:76vh;background:#000}
.meet-photo{margin:0}
.meet-photo img{width:100%;height:auto}
.meet-photo figcaption{margin-top:12px;font-size:13px;color:var(--muted)}

/* Links page */
.bio{max-width:520px;margin:0 auto;padding:clamp(48px,8vw,96px) var(--gutter);text-align:center}
.bio img{width:132px;height:132px;margin:0 auto 26px;border-radius:50%;object-fit:cover;object-position:center 20%}
.bio h1{font-size:clamp(40px,8vw,56px);line-height:1.05}
.bio .p-lead{margin-top:14px!important;color:var(--muted);font-size:16px}
.bio-links{display:grid;gap:10px;margin-top:32px}
.bio-links .btn{width:100%}
.bio-direct{display:flex;justify-content:center;gap:28px;margin-top:26px}

/* Search page */
.p-frame{border:1px solid var(--line);background:#fff;overflow:hidden}
.p-frame iframe{display:block;width:100%;height:min(82vh,860px);border:0}

@media(max-width:900px){
 .p-head,.p-split{grid-template-columns:1fr}
 .p-steps{grid-template-columns:1fr 1fr}
 .p-steps>div,.p-steps>div:nth-child(3n+2),.p-steps>div:nth-child(3n){padding:28px 24px 30px 0;border-left:0}
 .p-steps>div:nth-child(2n){padding-left:24px;border-left:1px solid var(--line)}
 .p-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 body.page{font-size:16px}
 .p-hero--photo{min-height:min(78svh,620px);padding-top:120px}
 .p-hero .p-actions{flex-direction:column}
 .p-hero .p-actions .btn,.p-cta .p-actions .btn{width:100%}
 .p-credit{display:none}
 .p-steps,.p-features,.p-cards{grid-template-columns:1fr}
 .p-steps>div,.p-steps>div:nth-child(2n){padding:26px 0;border-left:0}
 .p-card{min-height:0;padding:28px 24px}
 .p-card .tag{padding-bottom:22px}
 .p-frame iframe{height:72vh}
}

/* Guide pages: remap their built-in template to the new look (their own <style> keeps component layout). */
body.guide-page{background:var(--paper)!important;font-family:var(--sans)!important;color:var(--ink)!important}
body.guide-page h1,body.guide-page h2,body.guide-page h3,body.guide-page .display{font-family:var(--serif)!important;font-weight:500!important;letter-spacing:-.005em!important;line-height:1.08!important;text-transform:none}
body.guide-page .ghero{background:var(--paper)!important;padding:clamp(56px,8vw,104px) 0 clamp(40px,5vw,64px)!important;border-bottom:1px solid var(--line)}
body.guide-page .ghero::before,body.guide-page .ghero::after{display:none!important}
body.guide-page .ghero .wrap{max-width:calc(var(--max) + var(--gutter)*2)!important;padding-inline:var(--gutter)!important}
body.guide-page .ghero .backlink{color:var(--muted)!important;font:500 12px/1 var(--sans)!important;letter-spacing:.18em!important;margin-bottom:clamp(32px,4vw,52px)!important}
body.guide-page .ghero .gcat{color:var(--brass)!important;font:500 12px/1.4 var(--sans)!important;letter-spacing:.22em!important}
body.guide-page .ghero h1{color:var(--navy)!important;font-size:clamp(52px,7.6vw,100px)!important;line-height:.98!important}
body.guide-page .ghero p{color:#3a4152!important;font:400 clamp(20px,2vw,25px)/1.5 var(--serif)!important;max-width:640px!important}
body.guide-page .article{padding-top:clamp(48px,6vw,80px)!important;padding-bottom:var(--section)!important}
body.guide-page .article .intro{font:400 clamp(21px,2vw,25px)/1.55 var(--serif)!important;color:#3a4152!important}
body.guide-page .gsection{border-top-color:var(--line)!important}
body.guide-page .gsection h2{color:var(--navy)!important;font-size:clamp(28px,3.2vw,38px)!important}
body.guide-page .gsection p,body.guide-page .gsection li{color:#454c5a!important;font-size:16.5px!important;line-height:1.75!important}
body.guide-page .gsection li::before{background:var(--brass)!important}
body.guide-page .related{background:var(--stone)!important;padding:var(--section) 0!important}
body.guide-page .related .rh,body.guide-page .gwrap{max-width:calc(var(--max) + var(--gutter)*2)!important;padding-inline:var(--gutter)!important}
body.guide-page .related .rh .kicker{color:var(--brass)!important;font:500 12px/1.4 var(--sans)!important;letter-spacing:.22em!important}
body.guide-page .related .rh h2{color:var(--navy)!important}
body.guide-page .gtile{aspect-ratio:auto!important;min-height:220px;background:#fff!important;border:1px solid var(--line);transition:border-color .25s,transform .25s}
body.guide-page .gtile:hover{border-color:var(--navy);transform:translateY(-3px)}
body.guide-page .gtile .ph,body.guide-page .gtile .scrim{display:none!important}
body.guide-page .gtile .meta{left:32px!important;right:32px!important;bottom:30px!important}
body.guide-page .gtile .gcat{color:var(--brass)!important;font:500 11px/1.4 var(--sans)!important;letter-spacing:.2em!important}
body.guide-page .gtile h3{color:var(--navy)!important;font-size:28px!important;line-height:1.15!important}
body.guide-page .kicker{font-family:var(--sans)!important}
body.guide-page a.luxury-cta,body.guide-page .luxury-card a{color:var(--navy)!important}
@media(max-width:760px){body.guide-page .gtile{min-height:160px}}
.p-card--feature{grid-column:1/-1;min-height:240px}
.p-card--feature h3{font-size:clamp(32px,3.4vw,44px)}
.p-card--feature p{max-width:560px;font-size:16px}
body.guide-page header.site-header{box-shadow:none!important}
body.guide-page .luxury-jumps a,body.guide-page a.luxury-cta{background:transparent!important;color:var(--navy)!important;border:1px solid var(--navy);border-radius:0!important;padding:13px 20px!important;font:500 12px/1 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;transition:background .2s,color .2s}
body.guide-page .luxury-jumps a:hover,body.guide-page a.luxury-cta:hover{background:var(--navy)!important;color:#fff!important}
body.guide-page .luxury-card{background:#fff!important;border:1px solid var(--line)!important;border-top:2px solid var(--navy)!important;border-radius:0!important;padding:30px!important}
body.guide-page .luxury-card h3{font-size:26px!important;color:var(--navy)!important}
body.guide-page .luxury-card p{color:#454c5a!important}
body.guide-page .luxury-card a{font:500 12px/1.4 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:0 0 4px!important}
body.guide-page .luxury-sources{color:var(--muted);border-top-color:var(--line)!important}
body.guide-page .luxury-sources a{color:var(--navy)}
body.guide-page .community-map-top{background:transparent!important;border:0!important;box-shadow:none!important}
body.guide-page .community-map-top,body.guide-page .community-map-top p{font-family:var(--sans)!important;color:var(--muted)}
body.guide-page .community-map-top .eyebrow{font-family:var(--sans)!important;font-weight:500!important;letter-spacing:.22em!important;color:var(--brass)!important}
body.guide-page .community-map-top h2{color:var(--navy)!important}
.meet-video{max-width:min(460px,100%);margin:0 auto}
.meet-video video{max-height:none}
/* Guides grid: stretch a last card that would leave an empty slot */
@media(min-width:901px){.p-card--feature~.p-card:last-child:nth-child(3n){grid-column:span 2}}
@media(min-width:761px) and (max-width:900px){.p-card--feature~.p-card:last-child:nth-child(2n){grid-column:1/-1}}
.p-more{margin-top:44px!important}

/* Buy page: payment calculator (moved from the homepage) */
.payment{border-top:1px solid var(--line)}
.payment-head{margin-bottom:clamp(36px,4vw,56px)}
.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.crow{padding:18px 0;border-bottom:1px solid var(--line)}
.crow:first-child{padding-top:0}
.ctop{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px;font-size:15px}
.clbl{color:var(--muted)}
.cval{color:var(--navy);font-weight:500}
.calc-inputs input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--line);outline:none;margin:6px 0}
.calc-inputs input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--navy);border:3px solid #fff;box-shadow:0 0 0 1px var(--navy);cursor:pointer}
.calc-inputs input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--navy);border:3px solid #fff;box-shadow:0 0 0 1px var(--navy);cursor:pointer}
.calc-inputs input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--brass)}
.calc-result{padding:clamp(28px,4vw,44px);background:var(--paper);border:1px solid var(--line)}
.rlbl{font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}
.calc-result .big{margin:16px 0 6px;font:500 clamp(54px,6vw,72px)/1 var(--serif);color:var(--navy)}
.calc-result .sub{margin-bottom:24px;font-size:14px;color:var(--muted)}
.brow{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.brow b{font-weight:500;color:var(--navy)}
.calc-actions{display:grid;gap:10px;margin-top:28px}

.payment .fine-print{margin-top:18px!important;font-size:13px;color:var(--muted)}
@media(max-width:760px){.calc-grid{grid-template-columns:1fr}}

/* ---- Guide hero: shared mountain backdrop (2026-11-04) ---- */
body.guide-page .ghero--photo{position:relative;isolation:isolate;overflow:hidden;min-height:min(62svh,560px);display:flex;align-items:flex-end;background:var(--navy-deep)!important;border-bottom:0}
body.guide-page .ghero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
body.guide-page .ghero--photo::after{content:""!important;display:block!important;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,21,51,.75) 0%,rgba(10,21,51,.4) 55%,rgba(10,21,51,.12) 100%),linear-gradient(180deg,rgba(10,21,51,.2) 0%,rgba(10,21,51,0) 35%,rgba(10,21,51,.8) 100%)}
body.guide-page .ghero--photo .wrap{position:relative;width:100%}
body.guide-page .ghero--photo .backlink{color:rgba(255,255,255,.8)!important}
body.guide-page .ghero--photo .gcat{color:var(--brass-light)!important}
body.guide-page .ghero--photo h1{color:#fff!important}
body.guide-page .ghero--photo p{color:rgba(255,255,255,.92)!important;text-shadow:0 1px 16px rgba(5,12,32,.5)}
body.guide-page .luxury-card{background:transparent!important;border:0!important;border-top:1px solid var(--navy)!important;padding:24px 0 8px!important}

/* Temporary note while RealScout guest search is down (2026-11-04). Remove the p.search-notice in search-homes.html when fixed. */
.search-notice{margin-top:24px!important;max-width:640px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--brass);font-size:15px;color:#3a4152}
.search-notice a{color:var(--navy)}

/* Privacy policy and other plain legal pages (2026-11-12) */
.legal-date{margin-top:18px!important;font-size:13px;letter-spacing:.06em;color:var(--muted)}
.legal h2{margin:44px 0 12px;font-size:clamp(26px,2.6vw,32px)}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:#454c5a;font-size:16.5px;line-height:1.75}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 14px;padding-left:20px}
.legal li{margin:6px 0}
.legal a{color:var(--navy)}

/* Thank-you page after GHL form submits (2026-11-12) */
.thanks{min-height:70vh;display:flex;align-items:center}
.thanks .p-lead a{color:var(--navy)}
.thanks-sign{margin-top:6px!important;font-style:italic}
.thanks .p-actions{margin-top:30px}
.thanks-ig{display:block;margin-top:44px;padding:28px 26px;background:var(--navy);text-decoration:none;text-align:center}
.thanks-ig .label{color:var(--brass-light);margin-bottom:8px}
.thanks-ig-title{display:block;font:500 clamp(22px,2.6vw,28px)/1.25 var(--serif);color:#fff}
.thanks-ig-handle{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:12px 20px;background:var(--brass-light);font:500 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--navy-deep)}
.thanks-back{margin-top:30px!important}
