*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#172039;background:#fff;font-family:Georgia,'Times New Roman',serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #e58a4c;outline-offset:4px}header{height:54px;background:rgba(255,255,255,.93);position:relative;z-index:2;display:flex;align-items:center;justify-content:center}nav{display:flex;justify-content:center;gap:38px;font-size:16px}header .phone{position:absolute;right:5.8%;font-size:19px}header .phone span{color:#de8f55;margin-right:10px}.hero{height:calc(37.6vw - 54px);min-height:310px;position:relative;background-image:url(../images/approved.png);background-size:100vw auto;background-position:center -54px;background-repeat:no-repeat}.search{position:absolute;left:5.3%;right:4.8%;bottom:7%;min-height:48px;display:flex;align-items:center;background:rgba(249,248,243,.94);border-radius:12px;padding:5px 15px;color:#162a27;gap:12px;font-size:13px}.search label{display:flex;flex-direction:column;flex:1;border-right:1px solid #c1b9ad;padding-right:10px}.search label:first-child{flex:1.4}.search select{border:0;background:transparent;font:14px Georgia;color:#182c2a;width:100%;padding:3px 0}.search button{background:#214e43;color:white;border:0;border-radius:3px;padding:12px 18px;font:14px Georgia;cursor:pointer}.kw{white-space:nowrap;font-size:12px}.kw b{font:700 27px Arial}.bio{display:grid;grid-template-columns:38.6% 1fr;gap:3%;padding-top:16px;align-items:center}.portrait{width:100%;aspect-ratio:462/255;overflow:hidden;position:relative}.portrait img{position:absolute;width:259.1%;max-width:none;left:0;top:-182.75%}.bio article{padding:10px 5% 12px 0}h1{font-size:clamp(32px,4.9vw,64px);font-weight:400;line-height:1.1;margin:0 0 8px;letter-spacing:-1.5px}.role{font-size:clamp(22px,2.5vw,34px);margin:0 0 16px}.role:after{content:'';display:block;width:44px;height:1px;background:#e48d55;margin-top:9px}.bio p{font-size:clamp(17px,1.7vw,23px);line-height:1.3;color:#455780;margin:0}.featured,.past{padding:20px 4.3%}.section-title{display:flex;align-items:center;gap:22px;margin-bottom:15px}.section-title h2{font-weight:400;letter-spacing:4px;font-size:22px;text-transform:uppercase;margin:0}.section-title:after{content:'';height:1px;background:#e69a71;flex:1}.section-title a{order:2;font-size:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #f1f0ed;box-shadow:0 2px 7px #00000009}.property-image{height:11vw;background-image:url(../images/approved.png);background-size:100vw auto;position:relative}.property-image.one{background-position:-4.3vw -64.25vw}.property-image.two{background-position:-35.8vw -64.25vw}.property-image.three{background-position:-65.4vw -64.25vw}.card .details{padding:10px 18px;color:#455780;font-size:16px;line-height:1.35}.details p{margin:0 0 5px}.preview-note{font-size:13px;color:#68736e;margin:10px 0 0}.paths{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.path{height:200px;background-size:cover;display:flex;align-items:center;font-size:40px;color:#080c0b;text-shadow:0 1px 8px #fff}.path.buy{background-image:url(../images/buy.jpg);background-position:center 56%;justify-content:flex-end;padding-right:7%}.path.sell{background-image:url(../images/sell.jpg);background-position:center 58%;padding-left:7%}.past{padding-top:35px;padding-bottom:35px}.past p{color:#455780;font-size:18px;margin-bottom:0}footer{background:#123e34;color:#fff;padding:22px 4% 25px}.footer-top{display:grid;grid-template-columns:150px 1.2fr 1.4fr 1.1fr;gap:26px;align-items:center;font-size:15px}.footer-top>div+div{border-left:1px solid #8aaba0;padding-left:24px}.footer-logo{width:150px;height:94px;background-image:url(../images/approved.png);background-size:1197px auto;background-position:-30px -1164px}.footer-top p{margin:3px 0}.footer-kw{font-family:Arial,sans-serif;font-size:17px}.footer-kw b{font-size:36px}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:25px}.footer-bottom nav{font-size:15px;gap:25px}.footer-bottom small{font-size:13px}.inner{min-height:60vh;padding:65px 8%;max-width:1150px;margin:auto}.inner h1{font-size:48px}.inner p{font-size:21px;line-height:1.5}.inner .banner{width:100%;height:280px;object-fit:cover}.button{display:inline-block;background:#214e43;color:#fff;padding:13px 24px;margin:12px 0}.notice{font:14px Georgia;margin:0;color:#304b44}.search-message{position:absolute;bottom:-29px;background:white;left:0;padding:4px 10px;box-shadow:0 1px 6px #0002;display:none}@media(min-width:1500px){.hero{min-height:0}}@media(max-width:950px){header .phone{display:none}.search{gap:6px;left:3%;right:3%;font-size:11px}.search .kw{display:none}.bio h1{font-size:35px}.bio p{font-size:17px}.path{font-size:32px}.footer-top{grid-template-columns:150px 1fr}.hero{min-height:0}.search button{padding:10px}.search select{font-size:12px}}@media(max-width:640px){header{height:60px}nav{gap:20px;font-size:15px}.hero{height:340px;background-size:auto 1150px;background-position:top -47px center}.search{flex-wrap:wrap;bottom:16px;padding:10px}.search label{min-width:25%;font-size:12px}.search label:first-child{min-width:100%;border:0}.search select{font-size:14px}.search button{flex:1}.bio{grid-template-columns:1fr;gap:0}.portrait{width:100%}.bio article{padding:25px}.bio h1{font-size:35px}.bio p{font-size:19px}.cards{grid-template-columns:1fr}.property-image{height:34vw;background-size:310vw auto}.property-image.one{background-position:-13.3vw -199.2vw}.property-image.two{background-position:-111vw -199.2vw}.property-image.three{background-position:-202.7vw -199.2vw}.section-title{gap:12px}.section-title h2{font-size:17px;letter-spacing:2px}.section-title a{font-size:14px}.paths{grid-template-columns:1fr}.path{height:220px}.footer-top{grid-template-columns:1fr}.footer-top>div+div{border-left:0;padding-left:0}.footer-bottom nav{gap:19px}.inner{padding:40px 6%}.inner h1{font-size:38px}}
@media(min-width:641px){.hero:before{content:"";position:absolute;z-index:3;left:5%;top:-17px;width:27%;height:17vw;background-image:url(../images/approved.png);background-size:100vw auto;background-position:-5vw -37px;pointer-events:none}.search{min-height:4vw}}@media(max-width:640px){.hero{height:307px;background-size:960px auto;background-position:left -54px}.search{background:#f6f5f0;bottom:12px}}

/* Original Portland photograph, scaled proportionally. */
.hero{background-image:url(../images/portland-original.jpg);background-size:cover;background-position:center 48%;isolation:isolate}
/* Retain the approved logo until the separate original logo is supplied. */
.hero:before{content:"";position:absolute;z-index:1;left:5%;top:-17px;width:27%;height:17vw;background-image:url(../images/approved.png);background-size:100vw auto;background-position:-5vw -37px;pointer-events:none;mix-blend-mode:multiply;clip-path:polygon(0 49%,9% 44%,13% 36%,18% 35%,22% 25%,31% 15%,39% 14%,43% 2%,53% 0,59% 5%,63% 19%,71% 20%,76% 28%,82% 34%,86% 42%,100% 48%,100% 82%,78% 84%,62% 97%,49% 99%,30% 85%,0 81%)}
.search{z-index:2}
@media(max-width:640px){.hero{background-size:cover;background-position:center 46%}.hero:before{left:4%;top:8px;width:205px;height:132px;background-size:790px auto;background-position:-39.5px -24.4px}}

/* Photo framing and compact controls — September 30. */
body.home header{position:absolute;inset:0 0 auto;height:70px;background:linear-gradient(to bottom,rgba(255,255,255,.96),rgba(255,255,255,.68) 62%,rgba(255,255,255,0));z-index:5;align-items:flex-start;padding-top:20px}
.hero{height:68vw;min-height:490px;background-size:cover;background-position:center 50%}
.hero:before{top:38px;left:5%;width:27%;height:17vw;z-index:1}
.search{left:5%;right:5%;bottom:28px;min-height:0;height:46px;padding:4px 12px;gap:10px;border-radius:7px;background:rgba(255,255,255,.68);box-shadow:0 2px 10px #00000018;flex-wrap:nowrap;font-size:12px}
.search label{min-width:0;gap:0;padding-right:8px;line-height:1.1;border-color:#78887d66}
.search label:first-child{min-width:0;flex:1.45}
.search select{font-size:14px;padding:1px 0;line-height:1.1}
.search button{min-height:34px;padding:6px 16px;flex:none}
.search .kw b{font-size:24px}
.path{color:#fff;text-shadow:0 2px 5px #000,0 0 18px #0009}
.path.buy{background-image:linear-gradient(#0002,#0002),url(../images/buy.jpg)}
.path.sell{background-image:linear-gradient(#0002,#0002),url(../images/sell.jpg)}
footer{padding:16px 4% 14px}
.footer-top{gap:22px;font-size:14px}
.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;margin-top:15px;align-items:center}
.footer-bottom nav{grid-column:2;gap:22px;font-size:14px;white-space:nowrap}
.footer-bottom small{grid-column:3;justify-self:end;white-space:nowrap;font-size:13px}
@media(max-width:1100px){.footer-bottom{display:flex;flex-direction:row;justify-content:flex-end;gap:30px}.footer-bottom nav{gap:18px}.footer-top{gap:16px}.search .kw{display:none}}
@media(max-width:640px){
 body.home header{height:68px;padding-top:19px}
 .hero{height:106vw;min-height:400px;background-size:cover;background-position:50% 50%}
 .hero:before{top:60px;left:4%;width:32vw;height:20.8vw;background-size:123.5vw auto;background-position:-6.18vw -3.81vw}
 .search{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 8px;height:auto;min-height:0;padding:7px 10px;bottom:18px;left:3%;right:3%;background:rgba(255,255,255,.68)}
 .search label{min-width:0;font-size:11px;padding-right:4px;grid-row:2}
 .search label:first-child{grid-column:1/4;grid-row:1;display:block;border:0;font-size:13px;white-space:nowrap}
 .search label:first-child select{display:none}
 .search select{font-size:13px;max-width:100%;padding:2px 0}
 .search button{grid-column:4;grid-row:1;font-size:12px;min-height:30px;padding:5px 3px}
 .footer-top{grid-template-columns:110px 1fr;gap:12px;font-size:13px}
 .footer-logo{width:110px;height:69px;background-size:878px auto;background-position:-22px -854px}
 .footer-top>div+div{padding-left:0;border:0}
 .footer-top>div:nth-child(3){grid-column:1/3}
 .footer-top>div:nth-child(4){grid-column:1/3;font-size:14px}
 .footer-kw b{font-size:26px}
 .footer-bottom{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
 .footer-bottom nav{gap:18px;font-size:14px}
 .footer-bottom small{font-size:12px}
}
@media(max-width:640px){.hero{background-position:left center}}
/* Narrower hero; footer links centered independently of the copyright. */
.hero{height:48vw;min-height:420px;background-position:center 25%}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:normal}
.footer-bottom nav{grid-column:2;justify-self:center}
.footer-bottom small{grid-column:3;justify-self:end}
@media(max-width:1100px){.footer-bottom{grid-template-columns:1fr;gap:10px}.footer-bottom nav,.footer-bottom small{grid-column:1;justify-self:center}}
@media(max-width:640px){.hero{height:88vw;min-height:350px;background-position:left center}}

/* Supplied original brand assets, open section spacing, matched navigation. */
.hero{height:40vw;min-height:390px;max-height:580px;background-image:url(../images/portland-original.jpg);background-size:cover;background-position:center 40%}
.hero:before{content:none}
.hero-logo{position:absolute;top:8px;left:5%;width:27%;height:auto;z-index:1;object-fit:contain}
.bio{padding-top:40px;padding-bottom:36px;gap:4%;grid-template-columns:38.6% 1fr}
.portrait{aspect-ratio:auto;height:clamp(320px,31vw,440px)}
.portrait img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center 20%}
.bio article{padding:16px 6% 16px 0}
.bio p{line-height:1.5}
.featured{padding-top:22px;padding-bottom:44px}
.section-title{margin-bottom:24px}
.paths{margin-top:0;margin-bottom:36px}
.footer-logo{display:block;width:150px;height:110px;object-fit:contain;background:none}
header nav,.footer-bottom nav{font-size:16px;gap:38px;justify-content:center}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin-top:22px;gap:20px}
.footer-bottom nav{grid-column:2;justify-self:center}
.footer-bottom small{grid-column:3;justify-self:end}
@media(max-width:1200px){.footer-bottom{grid-template-columns:1fr;gap:14px}.footer-bottom nav,.footer-bottom small{grid-column:1;justify-self:center}}
@media(max-width:640px){
 .hero{height:88vw;min-height:350px;max-height:none;background-position:left center}
 .hero-logo{top:39px;left:4%;width:32%;height:auto}
 .bio{grid-template-columns:1fr;padding-top:28px;padding-bottom:16px;gap:0}
 .portrait{height:390px}
 .portrait img{object-position:center 18%}
 .bio article{padding:28px 25px 16px}
 .featured{padding-top:16px;padding-bottom:32px}
 .cards{gap:24px}
 .paths{margin-bottom:28px}
 header nav,.footer-bottom nav{font-size:15px;gap:20px}
 .footer-logo{width:110px;height:95px}
 .footer-bottom{margin-top:18px}
}
.portrait img{object-position:center top}
/* Center Mount Hood and soften the logo backing without editing the originals. */
.hero{background-size:132% auto;background-position:left 29%}
.hero-logo{mix-blend-mode:multiply;opacity:.9}
.footer-bottom small{font-size:11px;justify-self:end;text-align:right}
@media(max-width:640px){.hero{background-size:132% auto;background-position:left 35%}.footer-bottom small{font-size:11px;justify-self:end}}

/* Wider city view, smaller mark with a subtle pale backing, compact footer. */
.hero{background-size:cover;background-position:center 32%}
.hero-logo{width:23%;opacity:1;mix-blend-mode:multiply}
.hero-logo.logo-contrast{mix-blend-mode:normal;opacity:.28;pointer-events:none}
footer{padding-top:10px;padding-bottom:10px}
.footer-logo{height:90px}
.footer-bottom{margin-top:12px}
@media(max-width:640px){.hero{background-size:cover;background-position:left center}.hero-logo{width:28%}.footer-logo{height:78px}.footer-top{gap:8px}.footer-bottom{margin-top:12px}}
/* Full-resolution supplied photo; peak centered at 50% of the banner. */
.hero{background-size:132% auto;background-position:left 31%}
body.home header{background:linear-gradient(to bottom,rgba(255,255,255,.78),rgba(255,255,255,.42) 55%,rgba(255,255,255,0))}
@media(max-width:640px){.hero{background-size:132% auto;background-position:left 35%}}
/* Desktop framing: retain the centered peak while exposing the city below. */
@media(min-width:641px){.hero{height:48vw;min-height:420px;max-height:720px;background-position:left 37%}}
/* A quieter, more readable introduction. */
.bio h1{font-size:clamp(32px,3.6vw,50px);font-weight:400;letter-spacing:-.8px}
.bio .role{font-size:clamp(21px,2vw,28px);font-weight:400}
.bio p{font-size:18px;font-weight:400;line-height:1.65;color:#4d596b}

.hero-logo{top:11px;left:calc(5% + 2px);width:25.3%}
.hero-logo.logo-contrast{opacity:.42}
.footer-logo{transform:scale(1.4);transform-origin:center}
.inner .banner{margin-bottom:28px}
.inquiry{border-top:1px solid #d7dfd9;margin-top:36px;padding-top:28px}
.inquiry h2,.contact-details h2{font-size:30px;font-weight:400;margin:0 0 12px}
.inner .form-intro{font-size:18px;color:#4d596b;margin:0 0 24px}
.inquiry-form{max-width:800px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.inquiry-form label{display:flex;flex-direction:column;gap:8px;font-size:16px;color:#25483e}
.inquiry-form label span{font-size:14px;color:#6a736f}
.inquiry-form input,.inquiry-form textarea{width:100%;border:1px solid #b8c7c0;border-radius:3px;background:#fff;padding:12px;font:16px Georgia;color:#172039}
.inquiry-form input:focus,.inquiry-form textarea:focus{outline:2px solid #b38645;outline-offset:2px}
.inquiry-form .form-note{font-size:14px;line-height:1.5;color:#5b6862;margin:16px 0 6px}
.inquiry-form button{border:0;font:16px Georgia;cursor:pointer}
.draft-result{padding:18px 22px;background:#edf3ef;border-left:3px solid #214e43;margin-top:18px}
.draft-result p{font-size:16px;margin:0}
.contact-heading{margin-bottom:32px}.contact-heading .eyebrow{font-size:14px;letter-spacing:2px;text-transform:uppercase;color:#8b6435;margin:0 0 16px}
.contact-heading>p:last-child{font-size:20px;color:#4d596b}
.contact-card{display:grid;grid-template-columns:34% 1fr;border:1px solid #dde4df;background:#fcfdfc}
.contact-portrait{width:100%;height:100%;max-height:510px;object-fit:cover;object-position:center top}
.contact-details{padding:38px}.contact-details .contact-role{font-size:18px;color:#617068;margin:0 0 22px}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.email-contact{font-size:17px;overflow-wrap:anywhere}
.office{border-top:1px solid #d7dfd9;margin-top:28px;padding-top:24px}
.office h3{font-size:18px;font-weight:400;margin:0 0 12px}.office address{font-size:16px;font-style:normal;line-height:1.6;color:#4d596b}
.contact-paths{display:flex;gap:24px;margin-top:24px;color:#214e43;font-size:16px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:640px){.hero-logo{top:42px;left:calc(4% + 2px);width:30.8%}.form-grid{grid-template-columns:1fr;gap:16px}.contact-card{grid-template-columns:1fr}.contact-portrait{height:310px;object-position:center top}.contact-details{padding:26px 22px}.contact-paths{flex-direction:column;gap:16px}}

/* Full portrait, larger centered footer mark, and simple inquiry pages. */
.hero-logo{top:14px}
.bio .portrait{height:auto;aspect-ratio:auto;align-self:start}
.bio .portrait img{display:block;position:static;width:100%;height:auto;object-fit:contain}
.footer-top{grid-template-columns:180px 1.2fr 1.4fr 1.1fr;min-height:122px}
.footer-logo{transform:scale(1.82);justify-self:center;align-self:center}
.inquiry{border-top:0;margin-top:24px;padding-top:0}
@media(max-width:950px){.footer-top{grid-template-columns:180px 1fr}}
@media(max-width:640px){.hero-logo{top:45px}.footer-top{grid-template-columns:150px 1fr}.footer-logo{width:110px;height:78px}.bio .portrait{height:auto}.bio .portrait img{height:auto}}
/* Fine-tune only the footer logo position. */
.footer-logo{position:relative;left:-6px;top:5px}
/* Refine logo placement and tighten the bio's surrounding space. */
.footer-logo{left:-14px;top:12px}
.hero-logo{top:20px}
.bio{padding-top:24px;padding-bottom:20px}
@media(max-width:640px){.hero-logo{top:51px}.bio{padding-top:20px;padding-bottom:12px}.bio article{padding-top:24px}}
/* Subtle brand-gold divider beneath Tenley's biography. */
.bio article::after{content:"";display:block;width:clamp(100px,12vw,170px);height:1px;margin-top:28px;background:linear-gradient(to right,#b88b3d,rgba(184,139,61,.18))}
/* Match biography dividers and tighten footer separator spacing. */
.bio .role::after{width:clamp(100px,12vw,170px);height:1px;margin-top:28px;background:linear-gradient(to right,#b88b3d,rgba(184,139,61,.18))}
.footer-top>div+div{padding-left:12px}
@media(max-width:640px){.footer-top>div+div{padding-left:0}}
@media(min-width:641px){.footer-top>div:first-of-type{padding-left:8px}.footer-top>div:nth-of-type(2){margin-left:12px}}

/* Bring Tenley’s footer details closer to their right-hand separator. */
@media(min-width:951px){.footer-top>div:first-of-type{justify-self:end;padding-left:0;padding-right:0}}
/* Bring the separator before the KW branding closer to the office text. */
@media(min-width:951px){.footer-top>div:last-child{border-left:0;position:relative}.footer-top>div:last-child::before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:1px;background:#8aaba0}}
/* Restore more of the original logo's cream and gold. */
.hero-logo.logo-contrast{opacity:.7;filter:brightness(1.08) saturate(1.08)}
/* Equal 34px gaps after the contact and office text blocks. */
@media(min-width:951px){
 .footer-top>div:nth-of-type(2){position:relative;width:max-content;max-width:100%;justify-self:start}
 .footer-top>div:nth-of-type(2)::after{content:"";position:absolute;right:-34px;top:0;bottom:0;width:1px;background:#8aaba0}
 .footer-top>div:last-child::before{content:none}
}
.search select option{background:#fff;color:#172039}
/* Consistent footer columns, divider heights, and space on both sides. */
@media(min-width:951px){
 .footer-top{grid-template-columns:180px repeat(3,minmax(0,1fr));column-gap:0;align-items:center}
 .footer-top>div:first-of-type,.footer-top>div:nth-of-type(2),.footer-top>div:last-child{box-sizing:border-box;justify-self:stretch;width:auto;max-width:none;margin-left:0;padding:0 24px;min-height:98px;display:flex;flex-direction:column;justify-content:center}
 .footer-top>div:nth-of-type(2),.footer-top>div:last-child{border-left:1px solid #8aaba0}
 .footer-top>div:nth-of-type(2)::after,.footer-top>div:last-child::before{content:none}
 .footer-top>div:last-child{display:block;padding-top:18px}
}

/* Tenley’s two featured listings, using their original listing photos. */
.cards.featured-listings{grid-template-columns:repeat(2,minmax(0,1fr))}
.listing-link{display:block}.listing-link:hover{text-decoration:none}
.listing-photo{position:relative;aspect-ratio:3/2;overflow:hidden;background:#edf0ec}
.listing-photo img{display:block;width:100%;height:100%;object-fit:cover}
.listing-price{position:absolute;bottom:0;left:0;right:0;padding:25px 18px 10px;color:white;font-size:28px;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.listing-more{display:block;margin-top:12px;font-size:14px;color:#214e43;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.cards.featured-listings{grid-template-columns:1fr}}

/* Align the homepage footer blocks along the same top edge. */
@media(min-width:951px){
 .home .footer-top>div:first-of-type,.home .footer-top>div:nth-of-type(2),.home .footer-top>div:last-child{align-self:stretch;justify-content:flex-start;padding-top:0}
}
/* Compact, content-sized footer blocks with equal divider gutters. */
@media(min-width:951px){
 .footer-top{grid-template-columns:minmax(180px,1fr) max-content max-content max-content;justify-content:normal;column-gap:0;align-items:center}
 .footer-top>div:first-of-type,.footer-top>div:nth-of-type(2),.footer-top>div:last-child,
 .home .footer-top>div:first-of-type,.home .footer-top>div:nth-of-type(2),.home .footer-top>div:last-child{width:auto;max-width:none;min-height:98px;align-self:stretch;justify-self:stretch;margin:0;padding:0 18px;display:flex;flex-direction:column;justify-content:flex-start}
 .footer-top>div:first-of-type{padding-left:0}
 .footer-top>div:nth-of-type(2),.footer-top>div:last-child{border-left:1px solid #8aaba0}
 .footer-top>div:last-child,.home .footer-top>div:last-child{display:block;padding-right:0}
 .footer-top>div:nth-of-type(2)::after,.footer-top>div:last-child::before{content:none}
}

@media(min-width:951px){.footer-top>.footer-logo{justify-self:start;margin-left:15px}}
/* Center the footer mark between the page edge and Tenley's details. */
@media(min-width:951px){.footer-top>.footer-logo{justify-self:center;margin-left:0;left:-2vw}}
/* Buyer representation gallery, scoped to the Past Sales page. */
.sales-page{max-width:1320px;margin:0 auto;padding:58px 4.3% 72px}
.sales-heading{margin-bottom:34px}
.sales-heading h1{font-size:48px;font-weight:400;letter-spacing:-1px;margin:0 0 16px}
.sales-heading>p:last-child{font-size:19px;color:#4d596b;margin:0;line-height:1.5}
.sales-eyebrow{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#8b6435;margin:0 0 18px}
.sales-heading::after{content:"";display:block;width:150px;height:1px;margin-top:26px;background:linear-gradient(to right,#b88b3d,rgba(184,139,61,.18))}
.sales-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.sale-card{border:1px solid #e3e8e3;background:#fff;box-shadow:0 3px 12px #123e3407;min-width:0}
.sale-photo{aspect-ratio:4/3;background:#f4f5f1;display:flex;align-items:center;justify-content:center}
.sale-photo img{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
.sale-details{padding:20px}
.sale-role{display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#8b6435;margin-bottom:10px}
.sale-details h2{font-size:19px;font-weight:400;line-height:1.35;margin:0 0 6px;color:#172039}
.sale-details p{font-size:15px;color:#4d596b;margin:0;line-height:1.5}
@media(max-width:950px){.sales-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sales-page{padding:36px 6% 44px}.sales-heading h1{font-size:38px}.sales-grid{grid-template-columns:1fr;gap:24px}.sale-details{padding:18px}}

/* Separate buyer and seller galleries with simple jump links. */
.sales-categories{justify-content:flex-start;gap:12px;flex-wrap:wrap;margin:0 0 36px;font-size:16px}
.sales-categories a{border:1px solid #c9d5ce;padding:12px 18px;color:#214e43;background:#f7f9f6}
.sales-categories a:hover{background:#edf3ef}
.sales-categories span{margin-left:10px;font-size:13px;color:#6a736f}
.sales-category{scroll-margin-top:24px}
.sales-category+.sales-category{margin-top:64px;padding-top:36px;border-top:1px solid #d7dfd9}
.sales-category>h2{font-size:30px;font-weight:400;color:#214e43;margin:0 0 24px}
.sale-details h3{font-size:19px;font-weight:400;line-height:1.35;margin:0 0 6px;color:#172039}
@media(max-width:640px){.sales-categories{font-size:14px}.sales-categories a{padding:10px 12px}.sales-category>h2{font-size:26px}}

/* Clear section navigation and simpler address-only cards. */
.sales-categories{gap:14px;margin-bottom:36px}
.sales-categories a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;background:#214e43;border:1px solid #214e43;border-radius:3px;color:#fff}
.sales-categories a:hover{background:#123e34;border-color:#123e34;text-decoration:none}
@media(max-width:640px){.sales-categories{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sales-categories a{padding:12px 10px}}

/* Underlined category links and stronger gallery headings. */
.sales-categories{display:flex;gap:28px;flex-wrap:wrap}
.sales-categories a{display:inline-block;min-height:0;padding:4px 0;background:transparent;border:0;border-radius:0;color:#214e43;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.sales-categories a:hover{background:transparent;border:0;color:#123e34;text-decoration:underline}
.sales-category>h2{font-weight:700;text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px;margin-bottom:30px}
@media(max-width:640px){.sales-categories{gap:22px}.sales-categories a{padding:4px 0}}

/* Quiet uppercase labels distinguish the two sales galleries. */
.sales-category>h2{font-size:24px;font-weight:700;letter-spacing:2px;line-height:1.4;text-transform:uppercase;text-decoration:none}
@media(max-width:640px){.sales-category>h2{font-size:21px;letter-spacing:1.5px}}

/* A shorter panorama and a balanced, compact footer. */
@media(min-width:641px){
 .hero{height:38vw;min-height:350px;max-height:560px;background-size:110% auto;background-position:left 40%}
 .hero-logo{width:22%;top:10px}
}
footer{padding:18px 4% 14px}
.footer-top{min-height:0;grid-template-columns:160px 1fr 1fr 1fr;gap:0;align-items:stretch;font-size:13px;line-height:1.4}
.footer-top>.footer-logo{width:145px;height:100px;transform:scale(1.35);position:static;margin:0;justify-self:center;align-self:center}
.footer-top>div:first-of-type,.footer-top>div:nth-of-type(2),.footer-top>div:last-child,
.home .footer-top>div:first-of-type,.home .footer-top>div:nth-of-type(2),.home .footer-top>div:last-child{display:flex;flex-direction:column;justify-content:center;align-self:stretch;justify-self:stretch;width:auto;max-width:none;min-height:0;margin:0;padding:0 22px;border-left:1px solid #8aaba0}
.footer-top>div:nth-of-type(2)::after,.footer-top>div:last-child::before{content:none}
.footer-top p{margin:2px 0;overflow-wrap:anywhere}
.footer-kw{font-size:13px;line-height:1.4}
.footer-kw b{font-size:30px;line-height:1}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #8aaba0;margin-top:14px;padding-top:12px}
.footer-bottom nav{font-size:13px;gap:24px}
.footer-bottom small{font-size:10px;white-space:normal}
@media(max-width:950px){
 .footer-top{grid-template-columns:130px 1fr 1fr}
 .footer-top>.footer-logo{width:115px;height:90px}
 .footer-top>div:last-child,.home .footer-top>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #8aaba0;margin-top:14px;padding:12px 0 0;display:block;text-align:center}
 .footer-top>div:first-of-type,.footer-top>div:nth-of-type(2),.home .footer-top>div:first-of-type,.home .footer-top>div:nth-of-type(2){grid-column:auto;padding:0 16px}
}
@media(max-width:640px){
 .footer-top{grid-template-columns:1fr;text-align:center}
 .footer-top>.footer-logo{height:75px}
 .footer-top>div:first-of-type,.footer-top>div:nth-of-type(2),.footer-top>div:last-child,
 .home .footer-top>div:first-of-type,.home .footer-top>div:nth-of-type(2),.home .footer-top>div:last-child{border-left:0;border-top:1px solid #8aaba0;margin:12px 0 0;padding:12px 0 0;grid-column:auto}
 .footer-bottom{flex-direction:column;gap:10px}
 .footer-bottom nav{gap:20px}
 .footer-bottom small{align-self:center;text-align:center}
}

/* Match navigation and refine the final alignment details. */
.search{border-radius:0}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.footer-bottom nav{grid-column:2;justify-self:center;font-size:16px;gap:38px}
.footer-bottom small{grid-column:3;justify-self:end}
@media(min-width:951px){
 .footer-top{grid-template-columns:160px minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1fr)}
 .footer-top>.footer-logo{position:relative;left:-2vw;top:0}
}
@media(max-width:1200px){
 .footer-bottom{grid-template-columns:1fr;gap:12px}
 .footer-bottom nav,.footer-bottom small{grid-column:1;justify-self:center}
}
@media(max-width:640px){.footer-bottom nav{font-size:15px;gap:20px}}

/* Give the skyline more room around the hero mark. */
.hero-logo{filter:brightness(1.06)}
.hero-logo.logo-contrast{opacity:.8;filter:brightness(1.12) saturate(1.04)}
@media(min-width:641px){.hero-logo{width:19%;top:-2px}}
@media(max-width:640px){.hero-logo{width:27%;top:39px}}

/* Align the visible hero logo with the header contact line. */
@media(min-width:641px){.hero-logo{top:-20px}}

/* Smaller header-balanced mark with richer original color. */
.hero-logo{filter:none}
.hero-logo.logo-contrast{opacity:.8;filter:saturate(1.2)}
@media(min-width:641px){.hero-logo{width:17%;top:-18px}}
@media(max-width:640px){.hero-logo{width:25%}}

/* Original logo colors, positioned within the sky and header. */
.hero-logo{mix-blend-mode:normal;opacity:1;filter:none}
.hero-logo.logo-contrast{display:none}
@media(min-width:641px){.hero-logo{width:15.3%;top:-34px}}
@media(max-width:640px){.hero-logo{width:22.5%;top:8px}}
/* Keep the header's pale overlay behind the original logo artwork. */
.hero{isolation:auto}
.hero-logo{z-index:6}

/* More breathing room between the header, logo, and mountain peak. */
@media(min-width:641px){
 .hero{background-position:left 34%}
 .hero-logo{top:-22px}
}

/* Subtle logo reduction and a higher kitchen photo crop. */
@media(min-width:641px){.hero-logo{width:14.2%}}
@media(max-width:640px){.hero-logo{width:20.9%}}
.path.sell{background-position:center 45%}

/* Reveal more of the upper kitchen on the selling page. */
.inner .sell-banner{object-position:center 37%}

/* Soften native search menus to match the translucent search bar. */
.search select{color-scheme:light}
.search select option,.search select optgroup{background-color:#eeeee5;color:#182c2a}
.search .search-menu-trigger{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:3px 0;background:transparent;color:#182c2a;border:0;border-radius:0;text-align:left;font:14px Georgia;cursor:pointer}
.search-menu-trigger::after{content:'';width:6px;height:6px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);flex-shrink:0;margin-right:5px}
.search-menu-options{position:fixed;z-index:30;overflow-y:auto;padding:5px;background:rgba(249,248,243,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #c6cabc;box-shadow:0 6px 20px #123e3426}
.search-menu-options[hidden]{display:none}
.search-menu-options button{display:block;width:100%;border:0;background:transparent;color:#182c2a;text-align:left;font:14px Georgia;padding:10px 12px;cursor:pointer}
.search-menu-options button:hover,.search-menu-options button:focus-visible{background:#214e431c;outline:1px solid #214e43;outline-offset:-1px}
.search-menu-options button[aria-selected=true]{background:#214e4326}
.search .search-menu-trigger{min-height:0;flex:none;grid-column:auto;grid-row:auto}
.search label{min-width:0}
.search-menu-trigger{overflow:hidden}
@media(max-width:640px){.search label:first-child .search-menu-trigger{display:none}.search .search-menu-trigger{font-size:13px}}
.search .search-menu-trigger{white-space:nowrap;text-overflow:ellipsis}

/* A fuller view of the living room seating and floor. */
.inner .buy-banner{height:340px;object-position:center 78%}
@media(max-width:640px){.inner .buy-banner{height:280px;object-position:center 70%}}

/* Fuller kitchen framing includes the cabinetry and a little floor. */
.inner .sell-banner{height:380px;object-position:center 65%}
@media(max-width:640px){.inner .sell-banner{height:300px;object-position:center 65%}}

/* Mobile header: separate navigation, tap-to-call, and the hero logo. */
@media(max-width:640px){
 header,body.home header{height:100px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:15px 12px 0}
 header nav{gap:clamp(12px,4vw,20px);font-size:15px;flex-shrink:0}
 header .phone{display:block;position:static;font-size:15px;line-height:24px;padding:2px 8px}
 header .phone span{margin-right:6px}
 body.home header{background:linear-gradient(to bottom,rgba(255,255,255,.86),rgba(255,255,255,.45) 70%,transparent)}
 .hero-logo{top:90px;left:4%;width:20.9%;z-index:4}
 footer{padding:12px 5% 10px}
 .footer-top{font-size:12px;line-height:1.35}
 .footer-top>.footer-logo{height:60px;width:100px;transform:scale(1.2)}
 .footer-top>div:first-of-type,.footer-top>div:nth-of-type(2),.footer-top>div:last-child,
 .home .footer-top>div:first-of-type,.home .footer-top>div:nth-of-type(2),.home .footer-top>div:last-child{margin-top:8px;padding-top:8px}
 .footer-top p{margin:1px 0}
 .footer-kw{font-size:11px;line-height:1.25}
 .footer-kw b{font-size:25px}
 .footer-bottom{margin-top:10px;padding-top:10px;gap:8px}
 .footer-bottom nav{gap:clamp(12px,4vw,20px)}
}

/* Consistent mobile brand header; desktop remains unchanged. */
.mobile-brand{display:none}
@media(max-width:640px){
 header,body.home header{position:relative;inset:auto;height:auto;min-height:0;padding:8px 5% 12px;gap:8px;background:#faf9f4;align-items:center;z-index:7;border-bottom:1px solid #e7e6dc}
 .mobile-brand{display:block;align-self:flex-start;width:106px;height:80px}
 .mobile-brand img{display:block;width:100%;height:100%;object-fit:contain}
 header nav{width:100%;gap:clamp(12px,4vw,20px);font-size:15px;align-items:center}
 header .phone{margin:0;padding:3px 8px;font-size:15px;line-height:24px}
 .hero-logo{display:none}
}

/* Center the mobile brand in a slimmer header. */
@media(max-width:640px){
 header,body.home header{padding:4px 5% 6px;gap:4px}
 .mobile-brand{align-self:center;width:96px;height:60px}
 header .phone{padding:0 8px;line-height:22px;font-size:14px}
}
@media(max-width:640px){.mobile-brand img{transform:scale(1.25)}}

/* Compact mobile header with the homepage sky fading behind it. */
@media(max-width:640px){
 header,body.home header{display:grid;grid-template-columns:82px minmax(0,230px);justify-content:center;align-items:center;column-gap:12px;row-gap:0;padding:6px 4% 5px;height:auto}
 .mobile-brand{width:82px;height:62px;grid-column:1;grid-row:1;align-self:center;justify-self:center}
 .mobile-brand img{transform:scale(1.2)}
 header nav{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 17px;font-size:14px;line-height:24px}
 header .phone{grid-column:1/-1;grid-row:2;justify-self:center;line-height:24px;padding:0 8px;font-size:14px}
 body.home header{position:absolute;inset:0 0 auto;border-bottom:0;background:linear-gradient(to bottom,rgba(255,255,255,.9),rgba(255,255,255,.68) 65%,rgba(255,255,255,0));padding-bottom:14px}
 .home .hero{background-position:left top}
}
/* Accessible mobile menu leaves the desktop navigation intact. */
.mobile-menu-toggle{display:none}
@media(max-width:640px){
 header,body.home header{grid-template-columns:1fr 1fr;padding-left:6%;padding-right:6%;column-gap:0}
 .mobile-brand{justify-self:start}
 .mobile-menu-toggle{display:flex;grid-column:2;grid-row:1;justify-self:end;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:0;background:transparent;color:#214e43;cursor:pointer}
 .mobile-menu-toggle span{display:block;height:2px;width:24px;background:currentColor}
 header nav{display:none;grid-column:1/-1;grid-row:3;width:100%;padding:8px 0;margin-top:5px;background:rgba(250,249,244,.97);border:1px solid #dce1d6}
 header.menu-open nav{display:flex;flex-direction:column;gap:0}
 header nav a{display:block;width:100%;padding:10px 16px;text-align:center;font-size:16px;line-height:24px}
 header .phone{grid-row:2}
}

/* Keep the mobile call link within the expanded menu. */
@media(max-width:640px){
 header .phone{display:none}
 header nav{grid-row:2}
 header.menu-open .phone{display:block;grid-row:3;width:100%;text-align:center;background:rgba(250,249,244,.97);padding:10px 8px;border:1px solid #dce1d6;border-top:0}
 .mobile-menu-toggle:focus{outline:none}
 .mobile-menu-toggle:focus-visible{outline:1px solid #214e43;outline-offset:1px;border-radius:3px}
}
@media(max-width:640px){.mobile-brand{width:96px;height:68px}}

/* Crisp square corners on the mobile menu and focus outline. */
@media(max-width:640px){
 .mobile-menu-toggle,.mobile-menu-toggle:focus-visible,.mobile-menu-toggle span,header nav,header.menu-open .phone{border-radius:0}
}

/* Listing carousel preserves the two-card desktop layout. */
.listing-carousel{position:relative}
.cards.featured-listings[data-listings=carousel]{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.cards.featured-listings[data-listings=carousel]::-webkit-scrollbar{display:none}
[data-listings=carousel]>.card{flex:0 0 calc((100% - 20px)/2);min-width:0;scroll-snap-align:start}
.listing-arrow{position:absolute;top:38%;z-index:1;width:36px;height:44px;border:1px solid #d7dfd9;border-radius:0;background:#faf9f4;color:#214e43;font:30px Georgia;cursor:pointer;box-shadow:0 2px 6px #0002}
.listing-arrow.previous{left:-18px}.listing-arrow.next{right:-18px}
.listing-arrow[hidden]{display:none}.listing-arrow:disabled{opacity:.45;cursor:default}
@media(max-width:640px){
 [data-listings=carousel]>.card{flex-basis:100%}
 .listing-arrow.previous{left:-10px}.listing-arrow.next{right:-10px}
 .featured .section-title{flex-wrap:wrap}
 .featured .section-title a{font-size:14px}
}
.listing-carousel{isolation:isolate}
.listing-carousel>[data-listings]{position:relative;z-index:0}
.listing-carousel>.listing-arrow{z-index:2;pointer-events:auto}
.listing-carousel.has-overflow{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:6px;align-items:center}
.listing-carousel.has-overflow>.listing-arrow{position:static;width:30px;height:44px;box-shadow:none}
.listing-carousel.has-overflow>[data-listings]{min-width:0}

/* A smaller, centered portrait on phones. */
@media(max-width:640px){
 .bio .portrait{width:76%;max-width:300px;margin:0 auto}
}

/* Give the desktop portrait the same white framing as mobile. */
@media(min-width:641px){
 .bio .portrait{width:84%;justify-self:center;margin:12px auto}
}

/* River & Rain footer compliance marks: keep Equal Housing Opportunity and REALTOR® beside Keller Williams on desktop. */
.footer-kw-compliance{
 display:flex!important;
 flex-direction:row!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:24px;
}
.footer-kw-text{flex:0 1 auto;min-width:0}
.footer-compliance-logo{
 display:block;
 width:150px;
 max-width:42%;
 height:auto;
 object-fit:contain;
 flex:0 0 auto;
}
@media(min-width:951px){
 .footer-top{grid-template-columns:160px minmax(0,.8fr) minmax(0,1fr) minmax(300px,1.45fr)}
}
@media(max-width:950px){
 .footer-kw-compliance{
  justify-content:center!important;
  gap:26px;
 }
 .footer-compliance-logo{width:150px;max-width:180px}
}
@media(max-width:640px){
 .footer-kw-compliance{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:12px;
 }
 .footer-compliance-logo{width:145px;max-width:70%}
}
/* The supplied compliance artwork is black; invert it on the dark-green footer for proper contrast. */
.footer-compliance-logo{filter:invert(1);opacity:.96}

.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{display:inline-block;margin:12px 0 0 14px;font-size:15px;line-height:1.4;color:#4d596b}
.form-status.success{color:#245a44}
.form-status.error{color:#8a2d2d}
.inquiry-form button:disabled{opacity:.65;cursor:wait}

/* Mobile homepage polish: larger brand mark and a roomier two-column property search. */
@media(max-width:640px){
  .mobile-brand{
    width:120px;
    height:88px;
  }
  .mobile-brand img{
    transform:scale(1.2);
    transform-origin:left center;
  }

  .home .search{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    left:4%;
    right:4%;
    bottom:12px;
    padding:10px 12px 12px;
    background:rgba(255,255,255,.84);
    -webkit-backdrop-filter:blur(7px);
    backdrop-filter:blur(7px);
    border:1px solid rgba(198,202,188,.78);
    box-shadow:0 3px 14px rgba(18,62,52,.16);
  }
  .home .search label{
    grid-row:auto;
    min-width:0;
    min-height:54px;
    padding:8px 10px 7px;
    border-right:0;
    border-top:1px solid rgba(120,136,125,.34);
    font-size:12px;
    line-height:1.15;
  }
  .home .search label:first-child{
    grid-column:1/-1;
    grid-row:auto;
    min-height:0;
    padding:0 0 9px;
    border:0;
    font-size:14px;
    line-height:1.25;
    white-space:normal;
  }
  .home .search label:nth-of-type(2),
  .home .search label:nth-of-type(4){
    border-right:1px solid rgba(120,136,125,.34);
  }
  .home .search .search-menu-trigger{
    margin-top:3px;
    min-width:0;
    font-size:14px;
    line-height:1.2;
  }
  .home .search button{
    grid-column:1/-1;
    grid-row:auto;
    width:100%;
    min-height:42px;
    margin-top:9px;
    padding:8px 12px;
    font-size:13px;
    letter-spacing:.25px;
  }
}


/* Final mobile homepage refinements — clearer branding, search controls, and tap affordances. */
.search button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.search button .search-icon{
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.25;
  stroke-linecap:round;
}

@media(max-width:640px){
  /* Match the more readable mobile header treatment. */
  .mobile-brand{
    width:128px;
    height:92px;
  }
  .mobile-brand img{
    transform:scale(1.18);
    transform-origin:left center;
  }

  /* Give the property search room to breathe instead of squeezing five controls into one row. */
  .home .search{
    left:3.5%;
    right:3.5%;
    bottom:12px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:11px 12px 12px;
    border-radius:0;
  }
  .home .search label{
    min-height:50px;
    padding:7px 10px 6px;
  }
  .home .search label:first-child{
    padding:0 1px 8px;
    font-size:14px;
  }
  .home .search .search-menu-trigger{
    font-size:14px;
    min-height:24px;
  }
  .home .search button{
    min-height:48px;
    margin-top:10px;
    padding:10px 16px;
    font-size:16px;
    font-weight:700;
    letter-spacing:.45px;
    gap:10px;
  }
  .home .search button .search-icon{
    width:20px;
    height:20px;
    flex-basis:20px;
    stroke-width:2.35;
  }

  /* Make the two large image links unmistakably tappable on touch screens. */
  .home .path{
    text-decoration:underline;
    text-decoration-thickness:1.5px;
    text-underline-offset:6px;
  }

  /* Slightly larger River & Rain mark in the footer. */
  .footer-top>.footer-logo{
    width:138px;
    height:96px;
    transform:scale(1.18);
  }
}

/* Mobile hero search — compact pass. Preserve the existing hero crop for now. */
@media(max-width:640px){
  .home .search{
    left:3.5%;
    right:3.5%;
    bottom:12px;
    padding:8px 10px 9px;
    background:rgba(255,255,255,.78);
    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);
    border-color:rgba(198,202,188,.72);
    box-shadow:0 3px 12px rgba(18,62,52,.14);
  }
  .home .search label{
    min-height:44px;
    padding:5px 9px 4px;
  }
  .home .search label:first-child{
    min-height:0;
    padding:0 1px 5px;
    font-size:13.5px;
    line-height:1.18;
  }
  .home .search .search-menu-trigger{
    margin-top:1px;
    min-height:22px;
    font-size:14px;
    line-height:1.15;
  }
  .home .search button{
    min-height:44px;
    margin-top:7px;
    padding:8px 14px;
    font-size:16px;
  }
}

/* Mobile hero search — micro-tightening to reveal a little more skyline. */
@media(max-width:640px){
  .home .search{
    padding:6px 10px 7px;
  }
  .home .search label:first-child{
    padding-bottom:3px;
  }
  .home .search button{
    margin-top:5px;
  }
}


/* Mobile search stability: keep chevrons fixed and let long values scale down instead of pushing them. */
@media(max-width:640px){
  .home .search .search-menu-trigger{
    position:relative;
    display:block;
    width:100%;
    padding-right:28px;
    overflow:visible;
    white-space:nowrap;
  }
  .home .search .search-menu-trigger::after{
    position:absolute;
    right:8px;
    top:50%;
    margin:0;
    transform:translateY(-65%) rotate(45deg);
  }
  .home .search .search-menu-value{
    display:block;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:clip;
    font-size:clamp(10px,3vw,13.5px);
    line-height:1.1;
  }
  /* Shift the top River & Rain mark slightly farther left without moving the menu icon. */
  .mobile-brand{
    transform:translateX(-18px);
  }
}

/* Mobile hero polish: subtle menu backing while preserving the larger tap target and extra skyline. */
@media(max-width:640px){
  .mobile-menu-toggle,
  .mobile-menu-toggle:focus-visible{
    position:relative;
    width:44px;
    height:44px;
    padding:0;
    align-items:center;
    justify-content:center;
    gap:5px;
    background:transparent;
    border:0;
    border-radius:8px;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .mobile-menu-toggle::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:38px;
    height:32px;
    transform:translate(-50%,-50%);
    background:rgba(255,255,255,.36);
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
    border:1px solid rgba(33,78,67,.10);
    border-radius:7px;
    box-shadow:0 1px 3px rgba(18,62,52,.05);
    pointer-events:none;
  }
  header.menu-open .mobile-menu-toggle::before{
    background:rgba(255,255,255,.48);
  }
  .mobile-menu-toggle span{
    position:relative;
    z-index:1;
    width:24px;
    border-radius:1px;
  }
  .home .hero{
    height:clamp(390px,calc(88vw + 38px),500px);
    min-height:390px;
    background-position:left -4px top -6px;
  }
}

/* Mobile hero final polish: reveal a touch more skyline and soften the search glass. */
@media(max-width:640px){
  .home .hero{
    background-position:left -4px top -9px;
  }
  .home .search{
    background:rgba(255,255,255,.72);
  }
}

/* Mobile hero refinement: modest rounding, guaranteed-fit search values, and a tiny upward crop. */
@media(max-width:640px){
  .home .hero{
    background-position:left -4px top -12px;
  }
  .home .search{
    border-radius:7px;
    overflow:hidden;
  }
  .home .search .search-menu-trigger{
    padding-right:30px;
  }
  .home .search .search-menu-value{
    display:block;
    width:100%;
    max-width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:clip;
    font-size:13.5px;
    line-height:1.1;
  }
  .home .search .search-menu-trigger::after{
    right:8px;
  }
}

/* v14: one header system; retain the existing mobile logo and frosted toggle. */
@media (min-width:641px) {
  header,body.home header {
    display:flex;flex-direction:row;align-items:center;justify-content:space-between;
    height:104px;min-height:104px;padding:4px 6%;gap:clamp(16px,2.5vw,38px);
    border-bottom:1px solid #e7e6dc;background:#faf9f4;z-index:7;
  }
  body.home header {
    position:absolute;inset:0 0 auto;border-bottom:1px solid transparent;
    background:linear-gradient(to bottom,rgba(255,255,255,.78),rgba(255,255,255,.42) 55%,rgba(255,255,255,0));
  }
  header .mobile-brand {
    display:block;flex:0 0 auto;width:clamp(128px,14.2vw,205px);height:96px;
    transform:none;align-self:center;
  }
  header .mobile-brand img {display:block;width:100%;height:100%;object-fit:contain;transform:none}
  header #main-navigation {
    display:flex;align-items:center;justify-content:flex-end;flex:1;gap:clamp(16px,2.5vw,38px);
    width:auto;padding:0;margin:0;border:0;background:transparent;font-size:16px;line-height:24px;
  }
  header #main-navigation a {padding:10px 0;white-space:nowrap}
  header .phone {display:block;position:static;flex-shrink:0;font-size:17px;white-space:nowrap}
  header .phone span {margin-right:6px}
  .home .hero-logo {display:none}
}
@media (min-width:641px) and (max-width:1050px) {
  header .phone {display:none}
  header #main-navigation {gap:clamp(12px,2vw,20px);font-size:15px}
}
header #main-navigation a:hover,.navigation-drawer nav a:hover {color:#214e43;text-decoration:underline;text-underline-offset:5px}
header #main-navigation a[aria-current="page"] {color:#214e43;text-decoration:underline;text-underline-offset:5px}
@media (max-width:640px) {
  header,body.home header {height:112px;padding:6px 6% 14px;border-bottom:0}
  header #main-navigation,header .phone {display:none}
}

/* Native modal dialog supplies focus containment and makes the background inert. */
.navigation-drawer {
  position:fixed;inset:0 0 auto auto;margin:0 0 0 auto;
  width:84vw;max-width:380px;height:auto;max-height:100vh;max-height:100dvh;
  padding:20px 24px max(24px,env(safe-area-inset-bottom));
  border:0;border-radius:24px 0 0 24px;background:#faf9f4;color:#123e34;
  box-shadow:-8px 0 32px #123e3426;overflow:auto;overscroll-behavior:contain;
}
.navigation-drawer[open] {display:flex;flex-direction:column;animation:drawer-in .24s ease-out}
.navigation-drawer::backdrop {background:rgba(12,30,25,.42);animation:backdrop-in .24s ease-out}
.navigation-drawer.is-closing {animation:drawer-out .2s ease-in forwards}
.navigation-drawer.is-closing::backdrop {animation:backdrop-out .2s ease-in forwards}
.drawer-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px;flex-shrink:0}
.drawer-brand {display:block;width:148px;height:108px;flex-shrink:1}
.drawer-brand img {display:block;width:100%;height:100%;object-fit:contain}
.drawer-close {display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:#214e430a;border:1px solid #214e431a;border-radius:7px;color:#214e43;cursor:pointer}
.drawer-close svg {width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.navigation-drawer nav {display:flex;flex-direction:column;justify-content:flex-start;gap:6px;font-size:20px}
.navigation-drawer nav a {display:block;padding:14px 12px;line-height:24px;border-radius:7px}
.navigation-drawer nav a[aria-current="page"] {background:#214e430d}
.drawer-phone {margin-top:24px;padding:20px 12px 0;border-top:1px solid #214e4326;font-size:16px;line-height:24px}
.navigation-drawer a:focus-visible,.drawer-close:focus-visible {outline:3px solid #e58a4c;outline-offset:2px}
@keyframes drawer-in {from {transform:translateX(100%)} to {transform:translateX(0)}}
@keyframes drawer-out {from {transform:translateX(0)} to {transform:translateX(100%)}}
@keyframes backdrop-in {from {opacity:0} to {opacity:1}}
@keyframes backdrop-out {from {opacity:1} to {opacity:0}}
@media (prefers-reduced-motion:reduce) {
  .navigation-drawer[open],.navigation-drawer::backdrop,.navigation-drawer.is-closing,.navigation-drawer.is-closing::backdrop {animation:none}
}
/* Search values use their own typography rather than the bold submit-button rules. */
@media (max-width:640px) {
  .home .search .search-menu-trigger {padding:3px 30px 3px 0;font-weight:400;letter-spacing:0}
}

/* v15: keep the panel only as tall as its contents and avoid duplicate logos. */
@media (max-width:640px) {
  header .mobile-brand {opacity:1;transition:opacity .2s ease-in}
  body.navigation-open header .mobile-brand {opacity:0;pointer-events:none;transition:opacity .24s ease-out}
}
@media (prefers-reduced-motion:reduce) {
  header .mobile-brand,body.navigation-open header .mobile-brand {transition:none}
}
.navigation-drawer nav,.navigation-drawer .drawer-phone {flex-shrink:0}

/* v16: the hamburger and drawer close control share the same three-line icon. */
@media (max-width:640px) {
  .mobile-menu-toggle span {transition:transform .2s ease-in,opacity .2s ease-in}
  body.navigation-open .mobile-menu-toggle span {transition-duration:.24s;transition-timing-function:ease-out}
  body.navigation-open .mobile-menu-toggle span:nth-child(1) {transform:translateY(7px) rotate(45deg)}
  body.navigation-open .mobile-menu-toggle span:nth-child(2) {opacity:0}
  body.navigation-open .mobile-menu-toggle span:nth-child(3) {transform:translateY(-7px) rotate(-45deg)}
}
.drawer-menu-icon {position:relative;display:block;width:24px;height:16px}
.drawer-menu-icon span {position:absolute;left:0;display:block;width:24px;height:2px;border-radius:1px;background:currentColor;transform-origin:center}
.drawer-menu-icon span:nth-child(1) {top:0;transform:translateY(7px) rotate(45deg)}
.drawer-menu-icon span:nth-child(2) {top:7px;opacity:0}
.drawer-menu-icon span:nth-child(3) {top:14px;transform:translateY(-7px) rotate(-45deg)}
.navigation-drawer[open] .drawer-menu-icon span:nth-child(1) {animation:menu-top-in .24s ease-out}
.navigation-drawer[open] .drawer-menu-icon span:nth-child(2) {animation:menu-middle-in .24s ease-out}
.navigation-drawer[open] .drawer-menu-icon span:nth-child(3) {animation:menu-bottom-in .24s ease-out}
.navigation-drawer.is-closing .drawer-menu-icon span:nth-child(1) {animation:menu-top-out .2s ease-in forwards}
.navigation-drawer.is-closing .drawer-menu-icon span:nth-child(2) {animation:menu-middle-out .2s ease-in forwards}
.navigation-drawer.is-closing .drawer-menu-icon span:nth-child(3) {animation:menu-bottom-out .2s ease-in forwards}
@keyframes menu-top-in {from {transform:none} to {transform:translateY(7px) rotate(45deg)}}
@keyframes menu-middle-in {from {opacity:1} to {opacity:0}}
@keyframes menu-bottom-in {from {transform:none} to {transform:translateY(-7px) rotate(-45deg)}}
@keyframes menu-top-out {from {transform:translateY(7px) rotate(45deg)} to {transform:none}}
@keyframes menu-middle-out {from {opacity:0} to {opacity:1}}
@keyframes menu-bottom-out {from {transform:translateY(-7px) rotate(-45deg)} to {transform:none}}
@media (prefers-reduced-motion:reduce) {
  .mobile-menu-toggle span,body.navigation-open .mobile-menu-toggle span {transition:none}
  .navigation-drawer[open] .drawer-menu-icon span,.navigation-drawer.is-closing .drawer-menu-icon span {animation:none}
}

/* v17: native mobile pickers over the existing fitted value and chevron. */
.search-picker {position:relative;min-width:0;width:100%}
@media (max-width:640px) {
  .home .search .search-picker select:not([hidden]) {
    display:block;position:absolute;inset:0;width:100%;height:100%;margin:0;
    opacity:0;z-index:1;cursor:pointer;font-size:16px;
  }
  .home .search .search-picker .search-menu-trigger {pointer-events:none;opacity:1}
  .home .search .search-picker:focus-within {outline:3px solid #e58a4c;outline-offset:2px;border-radius:3px}
  .home .search label:first-child .search-picker {display:none}
}


/* Footer credit + refined compliance mark sizing. */
.footer-bottom .site-credit{grid-column:1;justify-self:start;font-size:10px;white-space:normal}
.footer-bottom .site-credit a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.42);padding-bottom:1px}
.footer-bottom .site-credit a:hover,.footer-bottom .site-credit a:focus-visible{border-bottom-color:currentColor}
.footer-bottom>small:not(.site-credit){grid-column:3;justify-self:end}
.footer-compliance-logo{width:110px;max-width:34%}
@media(max-width:950px){.footer-compliance-logo{width:100px;max-width:130px}}
@media(max-width:640px){.footer-compliance-logo{width:82px;max-width:45%}}
@media(max-width:1200px){
 .footer-bottom .site-credit,.footer-bottom>small:not(.site-credit){grid-column:1;justify-self:center;text-align:center}
}


/* v19: square editorial details, larger desktop brand, and contact CTA alignment. */
@media (min-width:641px) {
  header,body.home header {
    height:112px;
    min-height:112px;
  }
  header .mobile-brand {
    width:clamp(150px,16vw,230px);
    height:112px;
  }
  body.home header {
    border-bottom:0 !important;
  }
}

/* Keep the phone search glass at the exact same base opacity as desktop. */
@media (max-width:640px) {
  .home .search {
    background:rgba(255,255,255,.68);
    border-radius:0;
  }
}

/* River & Rain uses crisp square geometry rather than rounded cards/panels. */
.card,
.sale-card,
.contact-card,
.search,
.search-menu-options,
.navigation-drawer,
.drawer-close,
.navigation-drawer nav a,
.mobile-menu-toggle,
.mobile-menu-toggle::before,
.search .search-menu-trigger,
.button {
  border-radius:0 !important;
}
@media (max-width:640px) {
  .home .search .search-picker:focus-within,
  .mobile-menu-toggle:focus-visible {
    border-radius:0 !important;
  }
}

/* Contact page: buying and selling paths read as two clean, equal buttons. */
.contact-paths {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  max-width:560px;
  margin-top:26px;
  color:#214e43;
  font-size:16px;
  text-decoration:none;
}
.contact-paths a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:12px 16px;
  border:1px solid #214e43;
  border-radius:0;
  background:#fff;
  color:#214e43;
  text-align:center;
  text-decoration:none;
  line-height:1.25;
}
.contact-paths a:hover,
.contact-paths a:focus-visible {
  background:#214e43;
  color:#fff;
  text-decoration:none;
}
@media (max-width:640px) {
  .contact-paths {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .contact-paths a {
    min-height:56px;
    padding:10px 8px;
    font-size:14px;
  }
}


/* v20: mobile glass, centered agent label, larger desktop brand, cleaner footer order. */
@media (max-width:640px) {
  /* More transparent than v19 so the Portland image reads through the search panel. */
  .home .search {
    background:rgba(255,255,255,.54);
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
    border-color:rgba(198,202,188,.52);
  }

  /* Center only Tenley's name and license line beneath her portrait. */
  .home .bio article h1,
  .home .bio .role {
    text-align:center;
  }
  .home .bio .role::after {
    margin-left:auto;
    margin-right:auto;
  }
}

/* The drawer call link uses the same warm telephone mark as the former header call link. */
.drawer-phone span {
  color:#de8f55;
  margin-right:6px;
}

/* The desktop wordmark needs more visual presence; mobile sizing remains untouched. */
@media (min-width:641px) {
  header,body.home header {
    height:120px;
    min-height:120px;
  }
  header .mobile-brand {
    width:clamp(210px,18vw,280px);
    height:120px;
    overflow:visible;
  }
  header .mobile-brand img {
    transform:scale(1.28);
    transform-origin:center center;
  }
}

/* Silverspur credit is the final, lowest line of the footer on every viewport. */
.footer-bottom nav {
  grid-row:1;
}
.footer-bottom>small:not(.site-credit) {
  grid-column:3;
  grid-row:1;
  justify-self:end;
}
.footer-bottom .site-credit {
  grid-column:1/-1;
  grid-row:2;
  justify-self:center;
  width:100%;
  margin-top:2px;
  text-align:center;
}
@media (max-width:1200px) {
  .footer-bottom {
    grid-template-columns:1fr;
  }
  .footer-bottom nav {
    grid-column:1;
    grid-row:1;
    justify-self:center;
  }
  .footer-bottom>small:not(.site-credit) {
    grid-column:1;
    grid-row:2;
    justify-self:center;
    text-align:center;
  }
  .footer-bottom .site-credit {
    grid-column:1;
    grid-row:3;
    justify-self:center;
  }
}

/* v21: responsive contact headline + centered mobile search heading. */
.contact-heading{
  width:min(1100px,calc(100vw - 48px));
  position:relative;
  left:50%;
  transform:translateX(-50%);
}
.contact-heading h1{
  font-size:clamp(36px,3.7vw,48px);
  line-height:1.08;
  letter-spacing:-1.25px;
  max-width:none;
}
@media(max-width:640px){
  .contact-heading{
    width:calc(100vw - 32px);
  }
  .contact-heading h1{
    font-size:clamp(32px,9vw,38px);
    line-height:1.08;
  }
  .home .search label:first-child{
    text-align:center;
  }
}

/* v22: subtle desktop search-label emphasis + centered contact headline. */
@media (min-width:641px) {
  .home .search label:first-child {
    font-size:13.5px;
    font-weight:600;
    line-height:1.05;
  }
}
.contact-heading {
  text-align:center;
}
.contact-heading h1 {
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

/* v23: improve readability across the entire desktop Keller Williams search bar without increasing its height. */
@media (min-width:641px) {
  .home .search label {
    font-size:14px;
    font-weight:600;
    line-height:1.05;
  }
  .home .search label:first-child {
    font-size:14px;
    font-weight:600;
  }
  .home .search select,
  .home .search .search-menu-trigger,
  .home .search .search-menu-value {
    font-size:15px;
    font-weight:600;
    line-height:1.1;
  }
  .home .search button {
    font-size:15px;
    font-weight:600;
  }
  .home .search .kw {
    font-size:13px;
    font-weight:500;
  }
}
