/* MrHenry public site — clean monochrome, editorial */
:root{
  --ink:#000; --ink-2:#333; --muted:#6b6b6b; --line:#e2e2e2; --soft:#f5f5f5; --bg:#fff;
  --ok:#1f6b45; --err:#a32020;
  --wrap:1200px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  color:var(--ink); font-size:16px; line-height:1.55;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-weight:500;letter-spacing:-.02em;line-height:1.1;margin:0}
h1{font-size:clamp(38px,6vw,76px)}
h2{font-size:clamp(28px,3.4vw,44px)}
h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:16px;display:block}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--ink-2);max-width:640px;font-weight:300}
.muted{color:var(--muted)} .small{font-size:14px}

/* header */
.sh{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.sh-in{display:flex;align-items:center;height:72px;gap:24px}
.logo{font-weight:700;letter-spacing:.32em;font-size:18px;text-decoration:none;color:var(--ink);white-space:nowrap}
.logo-light{color:#fff}
.mainnav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:14px}
.mainnav a{text-decoration:none;color:var(--ink);padding:6px 0;border-bottom:1px solid transparent}
.mainnav a:hover,.mainnav a.on{border-bottom-color:var(--ink)}
.mainnav .nav-sep{width:1px;height:20px;background:var(--line)}
.mainnav .nav-login{color:var(--muted)}
.mainnav .btn{border-bottom:0}
.mainnav a.btn-dark{color:#fff}.mainnav a.btn-dark:hover{color:#fff}
.burger{display:none;margin-left:auto;background:none;border:0;width:32px;height:32px;cursor:pointer;position:relative}
.burger span{position:absolute;left:4px;right:4px;height:2px;background:#000;transition:.2s}
.burger span:first-child{top:11px}.burger span:last-child{top:19px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;border-radius:0;transition:background .15s,color .15s}
.btn:hover{background:var(--ink);color:#fff}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#333;border-color:#333}
.btn-light{border-color:#fff;color:#fff;background:transparent}
.btn-light:hover{background:#fff;color:#000}
.btn-sm{padding:9px 16px;font-size:14px}
.btn-block{width:100%}
.link-arrow{text-decoration:none;font-weight:500;border-bottom:1px solid var(--ink);padding-bottom:2px}
.link-arrow::after{content:" \2192"}

/* hero */
.hero{background:#000;color:#fff;padding:120px 0 110px;position:relative;overflow:hidden}
.hero .eyebrow{color:#bdbdbd}
.hero h1{max-width:900px}
.hero .lead{color:#d6d6d6;margin-top:24px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px}
.hero-search{display:flex;max-width:620px;margin-top:40px;background:#fff}
.hero-search select,.hero-search input{flex:1;border:0;padding:18px 20px;font:inherit;font-size:16px;min-width:0;background:#fff;color:#000}
.hero-search button{border:0}
.hero-search .btn-dark{border:1px solid #fff}
.hero-lines{position:absolute;inset:0;pointer-events:none;opacity:.12;background:repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 120px)}

.page-hero{padding:90px 0 60px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(36px,5vw,64px)}
.page-hero .lead{margin-top:20px}

/* sections */
section.s{padding:96px 0}
section.s-soft{background:var(--soft)}
section.s-dark{background:#000;color:#fff}
section.s-dark .lead,section.s-dark .muted{color:#cfcfcf}
.s-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;flex-wrap:wrap}
.grid{display:grid;gap:32px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.feature{border-top:1px solid var(--ink);padding-top:22px}
.feature .num{font-size:13px;color:var(--muted);letter-spacing:.1em;margin-bottom:28px;display:block}
.feature p{color:var(--ink-2);margin-top:12px}
section.s-dark .feature{border-top-color:#fff}
section.s-dark .feature p{color:#cfcfcf}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.stat{font-size:clamp(40px,5vw,64px);font-weight:300;letter-spacing:-.03em}
.list-clean{list-style:none;padding:0;margin:0}
.list-clean li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:16px}
.list-clean li::before{content:"";flex:0 0 8px;height:8px;margin-top:9px;background:var(--ink)}

/* listing cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
.card-l{text-decoration:none;color:inherit;display:block}
.card-img{aspect-ratio:4/3;background:var(--soft);position:relative;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card-l:hover .card-img img{transform:scale(1.03)}
.ph-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9a9a9a;letter-spacing:.2em;text-transform:uppercase;font-size:12px;background:repeating-linear-gradient(135deg,#f3f3f3 0 12px,#eee 12px 24px)}
.tag{position:absolute;left:12px;top:12px;background:#fff;color:#000;font-size:12px;font-weight:600;padding:5px 9px;letter-spacing:.02em}
.card-b{padding-top:14px}
.price{font-size:22px;font-weight:600;letter-spacing:-.01em}.price span{font-size:14px;font-weight:400;color:var(--muted)}
.facts{font-size:14px;margin-top:2px}
.addr{font-size:15px;margin-top:6px}
.city{font-size:14px;color:var(--muted)}
.empty{padding:60px 0;text-align:center;color:var(--muted);border:1px dashed var(--line)}

/* listing detail */
.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:520px;margin-top:32px}
.gallery a{display:block;overflow:hidden;background:var(--soft)}
.gallery a:first-child{grid-row:1/3}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery.one{grid-template-columns:1fr}
.detail{display:grid;grid-template-columns:1fr 360px;gap:64px;margin-top:48px}
.keyfacts{display:flex;gap:40px;flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0}
.keyfacts div span{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.keyfacts div b{font-size:20px;font-weight:500}
.sticky{position:sticky;top:96px;border:1px solid var(--line);padding:28px}

/* forms */
form.fm{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.fm .wide{grid-column:1/-1}
.fm label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;letter-spacing:.02em}
.fm input,.fm select,.fm textarea{font:inherit;font-size:16px;padding:13px 14px;border:1px solid #cfcfcf;border-radius:0;background:#fff;color:#000;width:100%}
.fm input:focus,.fm select:focus,.fm textarea:focus{outline:none;border-color:#000}
.fm textarea{min-height:130px;resize:vertical}
.fm .chk{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
.fm .chk input{width:auto;margin-top:4px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.note{padding:14px 18px;margin:0 0 24px;border-left:3px solid var(--ink);background:var(--soft)}
.note-ok{border-left-color:var(--ok)} .note-err{border-left-color:var(--err);color:var(--err)}
.fine{font-size:13px;color:var(--muted)}

/* portal */
.portal-top{background:#000;color:#fff;padding:48px 0 40px}
.portal-top .eyebrow{color:#bdbdbd}
.portal-top h1{font-size:clamp(30px,4vw,48px)}
.pgrid{display:grid;grid-template-columns:2fr 1fr;gap:40px;margin:48px auto 96px}
.panel{border:1px solid var(--line);padding:28px;margin-bottom:28px}
.panel h3{margin-bottom:16px}
.bal{font-size:clamp(40px,5vw,56px);font-weight:300;letter-spacing:-.03em}
.bal.due{color:#000}.bal.credit{color:var(--ok)}
table.tb{width:100%;border-collapse:collapse;font-size:14px}
table.tb th{text-align:left;font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid #000;padding:10px 8px}
table.tb td{border-bottom:1px solid var(--line);padding:11px 8px;vertical-align:top}
table.tb .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
table.tb tr.tot td{font-weight:600;border-bottom:1px solid #000}
table.tb tr.sec td{font-weight:600;background:var(--soft)}
.pill{display:inline-block;font-size:12px;padding:3px 8px;border:1px solid #000;letter-spacing:.02em}
.pill.done{border-color:var(--ok);color:var(--ok)}
.auth{max-width:440px;margin:80px auto 120px}
.auth h1{font-size:40px;margin-bottom:12px}
.tabs-p{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}
.tabs-p a{text-decoration:none;padding:10px 0;color:var(--muted);border-bottom:2px solid transparent}
.tabs-p a.on{color:#000;border-bottom-color:#000}
.table-scroll{overflow-x:auto}

/* footer */
.sf{background:#000;color:#fff;padding:72px 0 32px;margin-top:0}
.sf-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.sf h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9a9a9a;margin:0 0 16px;font-weight:600}
.sf a,.sf span{display:block;color:#fff;text-decoration:none;font-size:14px;margin-bottom:10px}
.sf a:hover{text-decoration:underline}
.sf-tag{color:#bdbdbd;font-size:14px;margin-top:18px;max-width:300px}
.sf-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #333;margin-top:56px;padding-top:24px;font-size:13px;color:#9a9a9a}
.sf-legal span{color:#9a9a9a;margin:0}

@media (max-width:980px){
  .cards,.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split,.detail,.pgrid{grid-template-columns:1fr;gap:40px}
  .sf-grid{grid-template-columns:1fr 1fr}
  .gallery{height:380px}
  .sticky{position:static}
}
@media (max-width:860px){
  .burger{display:block}
  .mainnav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 24px;border-bottom:1px solid var(--line)}
  .menu-open .mainnav{display:flex}
  .mainnav a{padding:14px 0;border-bottom:1px solid var(--line)}
  .mainnav .nav-sep{display:none}
  .mainnav .btn{margin-top:14px}
}
@media (max-width:640px){
  .cards,.g2,.g3,.g4,form.fm{grid-template-columns:1fr}
  section.s{padding:64px 0}
  .hero{padding:80px 0 70px}
  .hero-search{flex-direction:column}
  .gallery{grid-template-columns:1fr;grid-template-rows:auto;height:auto}
  .gallery a{aspect-ratio:4/3}.gallery a:not(:first-child){display:none}
  .sf-grid{grid-template-columns:1fr}
}
@media print{.sh,.sf,.no-print{display:none!important}.portal-top{background:#fff;color:#000;padding:0 0 12px}}
