:root { --ink:#302923; --wine:#302923; --ivory:#f8f4ec; --copper:#d7b67a; --rule:#d6c9b5; --muted:#655c51 }
body { background:var(--ivory);color:var(--ink) }
header { background:#302923;color:var(--ivory);border-color:#7d705f }
.mark { border-color:#a47b47;color:var(--copper) }
.btn { background:var(--wine);color:var(--ivory);border-radius:2px }
header .btn,.hero .btn {background:var(--copper);color:#302923}
.btn:hover,header .btn:hover,.hero .btn:hover {background:#e9d6ae;color:#302923}
.hero,.intro {background:var(--ivory);color:var(--ink)}
.hero {padding-block:clamp(32px,4vw,68px);grid-template-columns:1.25fr .75fr;gap:6vw}
.hero h1 {font-size:clamp(57px,6.4vw,108px);margin:20px 0}
.hero h1 i {color:#685431}
.hero p {color:#534a40}.intro p {color:#ece4d7}
.intro .label,.contact .label {color:var(--copper)}
.art {max-width:430px;width:100%;justify-self:end}
.art img {width:100%;height:clamp(315px,34vw,520px);object-fit:cover;object-position:50% 34%;border-radius:47% 47% 0 0;border:1px solid #a47b47}
.caption {border-color:#a47b47;color:#514638}
.feature {display:flex;align-items:center;gap:24px;padding:18px 6vw;background:#e8dfcf;border-bottom:1px solid var(--rule)}
.feature[hidden] {display:none}
.feature a {text-decoration:none}
#featuredHome {font:clamp(18px,2vw,28px) Georgia}
.feature a:last-child {margin-left:auto;text-decoration:underline;white-space:nowrap}
.services {background:#efe9dd}
.label,.num,.link {color:#755632}
.card,.empty,.property {border-color:var(--rule)}
.contact {background:var(--wine);color:var(--ivory)}
footer {background:#fcfaf5}
.intro {padding-block:48px;background:#302923;color:#f8f4ec}
.catalog {padding-top:24px}
.filters,.empty {background:#ebe4d7}
.filters select,.filters input {background:#fffcf9;border-color:#a69784;color:var(--ink)}
.property {background:#fffbf6}
.property .photoPending {background:linear-gradient(125deg,#302923,#504638);color:#f8f4ec}
a:focus-visible,button:focus-visible {outline:3px solid #946833;outline-offset:4px}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:30px}.art{justify-self:center;max-width:370px}.art img{height:325px;object-position:50% 28%}.feature{gap:6px;align-items:start;flex-direction:column}.feature a:last-child{margin:0}.hero h1{font-size:clamp(52px,10vw,76px)}}
.enroll {max-width:720px;margin:auto;min-height:40vh}
.enroll form{margin:16px 0}.enroll .check{display:flex;gap:12px;margin:20px 0;align-items:start}.enroll input[type=checkbox]{width:auto}.enroll input:not([type=checkbox]){max-width:360px;margin:8px 0 16px}.enroll button{cursor:pointer;border:0}

.hero .btn{background:#302923;color:#f8f4ec;border:1px solid #302923}.hero .secondary{background:transparent;color:#302923}.hero .secondary:hover{background:#e8dfcf;color:#302923}
.offer {display:grid;grid-template-columns:1fr 1.1fr;gap:6vw;padding-block:64px}.offer h2{max-width:460px}.offer p:first-child{margin-top:0}.offerEmail{display:inline-block;margin:12px}.offer h2 i{color:var(--wine)}
.feature{flex-wrap:wrap}.feature .previewLocation,.feature .previewFacts{font:400 14px/1.5 Arial,sans-serif;margin:0}.feature{column-gap:18px}.hero .bioLinks{font-size:14px;margin-top:18px}.rolltools{justify-content:flex-end!important}.reviewgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.reviewgrid blockquote{margin:0 0 24px;border-left:3px solid #a47b47;padding:0 18px}.reviewgrid p{font:26px/1.3 Georgia}.reviewgrid cite{font-size:14px}
#reviews{background:#efe8dc}#sold{padding-block:52px}.rolltools{display:flex;align-items:center;justify-content:space-between}.rolltools button{padding:8px 13px;background:#fff8f1;border:1px solid #a47b47;color:var(--wine);cursor:pointer;font-size:18px}.soldroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:16px 0;margin-bottom:12px}.soldroll article{flex:0 0 min(290px,83%);scroll-snap-align:start;background:#fffaf4;border:1px solid #d6c9b5;border-top:4px solid var(--wine);padding:20px}.soldroll h3{font-size:25px}.soldroll strong{font:24px Georgia}.social a{white-space:nowrap}@media(max-width:760px){.offer,.reviewgrid{grid-template-columns:1fr;gap:12px}.offer{padding-block:32px}.feature{align-items:start}.hero .actions{gap:10px}}
.marketSearch{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;background:#efe9dd}.marketSearch input{display:block;background:#fffdf8;width:100%;padding:12px;font:inherit;border:1px solid #a69784;margin:6px 0 12px}.marketSearch button{cursor:pointer;border:0}.marketSearch small{display:block;margin-top:9px;color:#534a40}.marketSearch h2{margin-bottom:12px}header nav{flex-wrap:wrap}@media(max-width:760px){.marketSearch{grid-template-columns:1fr;gap:10px}nav a.listedNav{display:inline-block;font-size:14px}}

/* Shared editorial layout */
:root {
  --gutter: max(6vw, calc((100vw - 1280px) / 2));
  --paper: #faf7f0;
  --type: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
}
body { background:var(--paper); font-family:"Helvetica Neue",Arial,sans-serif; }
header,main > section,footer,.feature { padding-inline:var(--gutter); }
header { background:var(--paper);color:var(--ink);border-bottom:1px solid #cdbfa9;padding-block:20px; }
.brand {gap:13px}
.mark {font:26px/1 var(--type);letter-spacing:-.18em;padding:0 5px 0 0;width:46px;height:46px;display:grid;place-content:center;color:var(--ink);border:1px solid #ab9169}
.name {font:28px/1.05 var(--type);letter-spacing:-.045em}.name .small {margin-top:5px;letter-spacing:.19em}
nav {font-size:14px}.btn,header .btn {border-radius:0;background:var(--ink);color:var(--ivory);font-weight:500}
.hero {background:var(--paper);padding-block:clamp(42px,5vw,82px);grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);gap:6vw}
.hero h1 {font:normal clamp(74px,8vw,125px)/1 var(--type);letter-spacing:-.067em;margin:20px 0}
.hero h1 i {color:#756044}.hero p:not(.bioLinks){max-width:460px;line-height:1.7}
.hero .actions{gap:12px}.hero .bioLinks{font-size:13px;color:#655c51}.bioLinks a{text-decoration-color:#b9a78b}
.art {padding:9px 9px 0;border:1px solid #c1ac88;max-width:425px}
.art img{border:0;border-radius:0;height:clamp(350px,33vw,480px);object-position:50% 34%}
.art .caption {border:0;margin:0;padding:10px 2px;letter-spacing:.15em;font-weight:500}
h2,h3,.intro h1 {font-family:var(--type)}h2{letter-spacing:-.05em}.label,.small{letter-spacing:.16em}
.feature {background:#eae2d3;padding-block:16px;gap:9px 18px;border-block:1px solid #cfc1aa}
.feature .small {padding-right:18px;border-right:1px solid #afa089;color:#655135}
.feature a {font-size:13px}.feature .previewLocation,.feature .previewFacts{font-size:14px}
.marketSearch,.offer,#sold,#reviews,.contact,.intro {padding-block:clamp(44px,5.2vw,80px)}
.marketSearch,.intro,.contact {background:#302b25;color:#faf7ef}
.marketSearch {gap:6vw}.marketSearch p,.intro p,.contact p {color:#e5ddce}
.marketSearch .label,.intro .label,.contact .label{color:#d6bd91}
.marketSearch form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.marketSearch label,.marketSearch small{grid-column:1/-1}
.marketSearch input{margin:0;border:1px solid #ae9e87;background:#faf7f0;color:#302923;min-width:0;border-radius:0}
.marketSearch button{background:#e6d7bc;color:#302923}.marketSearch small{color:#dfd4c2}
.offer{background:var(--paper)}.offer h2{max-width:8em}.offerEmail{font-size:14px}
#reviews {background:#efe9de;border-block:1px solid #d7cbb8}
.reviewgrid {margin-top:26px;gap:5vw}.reviewgrid blockquote{border:0;border-top:1px solid #ad9773;padding:14px 0 0}
.reviewgrid p{font:clamp(24px,2.4vw,35px)/1.28 var(--type);letter-spacing:-.025em;margin:10px 0 18px}.reviewgrid cite{color:#62584b;font-style:normal}
.soldroll article,.property{border-radius:0;border:1px solid #cfc2ac;background:#fffcf6}
.soldroll article{padding:25px 24px;display:flex;flex-direction:column}
.soldroll article h3{margin-bottom:0}.soldroll article p{font-size:14px;color:#655c51}
.soldroll strong{border-top:1px solid #e0d6c5;padding-top:14px;margin-top:auto;font-family:var(--type)}
.filters{background:#eee8dd;border:1px solid #d8ccba;border-radius:0}.catalog{padding-block:30px 60px}
.property .photoPending{color:#ede1ca;border-bottom:3px solid #ae9468;letter-spacing:.025em}
footer{font-size:12px;color:#534a40}footer .kwlogo{width:150px;height:auto}
@media(max-width:760px){
 header{gap:14px;padding-block:14px}header nav{gap:14px}.name{font-size:24px}.mark{width:40px;height:40px;font-size:23px}
 .hero{grid-template-columns:1fr;gap:26px}.hero h1{font-size:clamp(65px,14vw,90px)}.art{width:min(100%,380px)}.art img{height:330px}
 .marketSearch,.offer{grid-template-columns:1fr;gap:16px}.feature{gap:5px}.feature .small{border:0}.feature a:last-child{margin-top:5px}
 .reviewgrid{gap:15px}.soldroll article{padding:20px}footer{gap:14px}
}
@media(max-width:480px){.marketSearch form{grid-template-columns:1fr}.marketSearch button{justify-self:start}.hero .actions{align-items:stretch}.hero .btn{font-size:13px;padding:11px 13px}}

.hero h1.marketHook{font-size:clamp(54px,5.8vw,92px);max-width:11em;text-wrap:balance}.marketHook i{display:block}

.socialFeeds{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:24px}.socialFeeds iframe{display:block;border:1px solid #d6c9b5;width:100%;height:410px;margin-bottom:8px}.socialFeeds a{font-size:14px}

body { zoom:.8 }
.socialFeeds .tiktokCover { display:block;position:relative;height:410px;overflow:hidden;background:#302923;color:#fffaf2;text-decoration:none }
.tiktokCover img { display:block;width:100%;height:100%;object-fit:cover;object-position:50% 32% }
.tiktokCover span { display:grid;gap:6px;position:absolute;inset:auto 0 0;padding:58px 22px 22px;background:linear-gradient(transparent,rgba(25,20,17,.94)) }
.tiktokCover small { font-size:11px;letter-spacing:.14em }
.tiktokCover strong { font:32px/1.12 var(--type) }
.tiktokCover em { font-size:14px;font-style:normal;text-decoration:underline;text-underline-offset:4px }

@media (min-width:761px) {
 .hero {grid-template-columns:minmax(0,720px) minmax(0,425px);justify-content:center;column-gap:clamp(28px,3vw,54px)}
 .hero .art {justify-self:start;margin:0}
 .hero p:not(.bioLinks) {max-width:62ch}
}

.contactForm {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:720px;margin:24px 0}
.contactForm label {display:grid;gap:6px;font-size:15px}
.contactForm input,.contactForm textarea {box-sizing:border-box;width:100%;padding:12px;font:inherit;background:#fffaf2;color:#302923;border:1px solid #c1ac88}
.contactForm textarea {resize:vertical}
.contactForm .contactMessage {grid-column:1/-1}
.contactForm .btn {justify-self:start;background:#e8d9bf;color:#302923;cursor:pointer}
@media(max-width:600px){.contactForm {grid-template-columns:1fr}}
