/* CurbCurious. Taken from the approved prototype (design/CurbCurious-prototype.html); the
   additions for the real site are at the end. */
:root{
  --bg:#FBF9F5; --soft:#F3EFE8; --soft-2:#EAE4DA; --line:#E7E1D7;
  --ink:#2B2621; --ink-2:#6E655C; --ink-3:#A0968B;
  --btn:#3563E0; --btn-ink:#FFFFFF; --dark:#2B2621; --dark-ink:#FBF9F5;
  --blue:#3563E0; --blue-soft:#E6EDFC; --blue-ink:#2448B0;
  --ochre:#E0A24A; --ochre-soft:#FAEEDB; --ochre-ink:#8A5A14;
  --pine:#2F6B4F; --pine-soft:#E4F0E8;
  --warn:#B04E2A; --warn-soft:#F8E6DD;
  --tile-filter:none;
  --display:"Gabarito",ui-sans-serif,system-ui,sans-serif;
  --sans:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#171513; --soft:#22201C; --soft-2:#2D2A25; --line:#33302A;
    --ink:#F3EFE9; --ink-2:#B3AA9F; --ink-3:#7C7369;
    --btn:#7FA2FF; --btn-ink:#10131C; --dark:#F3EFE9; --dark-ink:#171513;
    --blue:#7FA2FF; --blue-soft:#1C2438; --blue-ink:#A9C0FF;
    --ochre:#E8B35E; --ochre-soft:#2E2416; --ochre-ink:#EDC58A;
    --pine:#8DC7A6; --pine-soft:#1A2820;
    --warn:#E89A77; --warn-soft:#33201A;
    --tile-filter:brightness(.88);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#171513; --soft:#22201C; --soft-2:#2D2A25; --line:#33302A;
  --ink:#F3EFE9; --ink-2:#B3AA9F; --ink-3:#7C7369;
  --btn:#7FA2FF; --btn-ink:#10131C; --dark:#F3EFE9; --dark-ink:#171513;
  --blue:#7FA2FF; --blue-soft:#1C2438; --blue-ink:#A9C0FF;
  --ochre:#E8B35E; --ochre-soft:#2E2416; --ochre-ink:#EDC58A;
  --pine:#8DC7A6; --pine-soft:#1A2820;
  --warn:#E89A77; --warn-soft:#33201A;
  --tile-filter:brightness(.88);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--sans);padding-inline:24px;padding-block:0 120px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@media (max-width:520px){body{padding-inline:16px}}
.wrap{max-width:1120px;margin:0 auto}
h1,h2,h3{margin:0;text-wrap:balance;font-family:var(--display)}
h3{font-family:var(--sans)}
h1{font-size:clamp(46px,7vw,92px);font-weight:700;line-height:.96;letter-spacing:-.035em}
h1.page{font-size:clamp(34px,4.4vw,54px);letter-spacing:-.03em;line-height:1.02}
h2{font-size:clamp(26px,2.8vw,36px);font-weight:700;letter-spacing:-.025em;line-height:1.1}
h3{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
p{margin:0}
a{color:inherit}
.mono{font-variant-numeric:tabular-nums}
.muted{color:var(--ink-2)}
.faint{color:var(--ink-3)}
.small{font-size:14px}
.kicker{font-size:16px;font-weight:500;color:var(--ink-2)}
.label{font-size:13px;font-weight:500;color:var(--ink-3)}
.stack{display:flex;flex-direction:column;gap:12px}
.stack-lg{display:flex;flex-direction:column;gap:32px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.between{justify-content:space-between}

button,.btn{font:600 15px var(--sans);letter-spacing:-.005em;border-radius:999px;border:none;padding:12px 22px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;min-height:46px;transition:background .15s,opacity .15s}
.btn-primary{background:var(--btn);color:var(--btn-ink)}
.btn-primary:hover{opacity:.86}
.btn-ghost{background:var(--soft);color:var(--ink)}
.btn-ghost:hover{background:var(--soft-2)}
.btn-link{background:none;border:none;padding:0;min-height:0;color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--ink-3);text-underline-offset:4px;text-decoration-thickness:1px;font-weight:500;border-radius:4px}
.btn-link:hover{color:var(--ink)}
button:disabled{opacity:.4;cursor:not-allowed}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* header */
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);margin-inline:-24px;padding:16px 24px;padding-top:calc(16px + env(safe-area-inset-top,0px))}
@media (max-width:520px){.topbar{margin-inline:-16px;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px))}}
.topbar .wrap{display:flex;align-items:center;gap:16px}
.logo{display:flex;align-items:center;gap:0;font:700 23px/1 var(--display);letter-spacing:-.035em;cursor:pointer;background:none;border:none;color:var(--ink);padding:0;min-height:0;border-radius:4px}
.logo span{font-weight:400;color:var(--ink-2)}
.logo i{width:8px;height:8px;border-radius:50%;background:var(--ochre);margin-left:4px;align-self:flex-start;margin-top:3px}
.logo sup{font:400 10px/1 var(--sans);letter-spacing:0;color:var(--ink-3);align-self:flex-start;margin:1px 0 0 2px;vertical-align:baseline}
.nav{display:flex;gap:4px;margin-left:auto}
.nav button{white-space:nowrap;background:none;color:var(--ink-2);min-height:40px;padding:8px 16px;font-weight:500}
.nav button:hover{color:var(--ink)}
.nav button.on{color:var(--ink);background:var(--soft)}
@media (max-width:520px){.nav button{padding:8px 12px;font-size:14px}}


main{padding-top:48px}
@media (max-width:520px){main{padding-top:28px}}

/* hero */
.hero{display:grid;gap:56px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:end}
@media (max-width:860px){.hero{grid-template-columns:1fr;gap:36px}}
.hero h1{margin-top:0}
h1 em{font-style:normal;color:var(--blue)}
.lede{font-size:19px;line-height:1.5;color:var(--ink-2);max-width:29em;margin-top:26px}
.searchwrap{position:relative;margin-top:34px;max-width:540px}
.searchbar{display:flex;align-items:center;gap:6px;background:var(--soft);border-radius:999px;padding:6px 6px 6px 24px;max-width:540px;transition:background .15s,box-shadow .15s}
.searchbar:focus-within{background:var(--bg);box-shadow:0 0 0 1.5px var(--blue)}
.searchbar input[type=text]{border:none;background:transparent;padding:8px 0;min-height:44px;flex:1;min-width:0;font:400 17px var(--sans);color:var(--ink);box-shadow:none}
.searchbar input[type=text]:focus{outline:none;box-shadow:none}
.searchbar input::placeholder{color:var(--ink-3)}
@media (max-width:520px){.searchbar{flex-wrap:wrap;border-radius:22px;padding:6px}.searchbar input[type=text]{flex-basis:100%;padding:8px 14px;font-size:16px}.searchbar .btn{flex-basis:100%}}
.suggest{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:var(--bg);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.suggest li{padding:11px 18px;border-radius:12px;cursor:pointer;font-size:16px;color:var(--ink);line-height:1.35}
.suggest li[aria-selected=true],.suggest li:hover{background:var(--soft)}
.tip{font-size:14px;color:var(--ink-3);margin-top:14px;padding-left:24px}
.tip strong{color:var(--ink-2);font-weight:600}
.hero-art{position:relative}
.tile{border-radius:24px;overflow:hidden;max-width:100%;container-type:inline-size;filter:var(--tile-filter)}
.plaque{background:var(--t);color:var(--ti);height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:7cqw 7cqw 6cqw;gap:8px}
.p-top{display:flex;justify-content:space-between;gap:12px;font-size:max(13px,4.2cqw);font-weight:500;line-height:1.3}
.p-top span:last-child{opacity:.65;text-align:right}
.p-num{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:.82;font-variant-numeric:tabular-nums}
.p-cap{display:flex;align-items:center;gap:10px;font-size:max(14px,3.4cqw);font-weight:500;background:rgba(255,255,255,.6);border-radius:999px;padding:10px 16px;align-self:flex-start}
.p-dot{width:9px;height:9px;border-radius:50%;background:var(--ochre);flex:none}
.hero-tile{width:100%;aspect-ratio:1/1}
@media (max-width:860px){.hero-tile{aspect-ratio:5/4}}

/* sections */
.section{margin-top:120px}
@media (max-width:520px){.section{margin-top:80px}}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.grid{display:grid;gap:48px 24px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.hcard{background:none;border:none;padding:0;text-align:left;color:var(--ink);font:inherit;display:flex;flex-direction:column;justify-content:flex-start;align-self:start;gap:16px;cursor:pointer;border-radius:24px;min-height:0}
.hcard .tile{width:100%;aspect-ratio:4/5;border-radius:22px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hcard:hover .tile{transform:scale(.985)}
.addr{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.meta{font-size:14.5px;color:var(--ink-2)}
.pulse{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;color:var(--ink)}
.pulse::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ochre)}
.pulse.none{color:var(--ink-3);font-weight:400}
.pulse.none::before{background:var(--soft-2)}
.open-to{font-size:14.5px;color:var(--pine)}
.how{display:grid;gap:32px 40px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.how p{color:var(--ink-2);font-size:17px;max-width:24em}
.how strong{color:var(--ink);font-weight:600}

/* badges */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;border-radius:999px;padding:5px 12px;background:var(--soft);color:var(--ink-2);white-space:nowrap}
.badge.ok{background:var(--pine-soft);color:var(--pine)}
.badge.agent{background:var(--ochre-soft);color:var(--ochre-ink)}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
.badges{display:flex;flex-wrap:wrap;gap:6px}

/* property */
.two{display:grid;gap:64px;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);align-items:start}
@media (max-width:900px){.two{grid-template-columns:1fr;gap:40px}}
.tile.wide{width:100%;aspect-ratio:16/10}
.aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.panel{background:var(--soft);border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:16px}
.quiet{background:var(--soft);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:12px}
.bignum{font-family:var(--display);font-size:64px;font-weight:600;letter-spacing:-.05em;line-height:.9}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px 32px;margin:0}
.facts div{display:flex;flex-direction:column;gap:2px}
.facts dt{color:var(--ink-3);font-size:14px}
.facts dd{margin:0;font-size:17px;font-weight:500;font-variant-numeric:tabular-nums}
.owner-quote{font-size:26px;line-height:1.3;font-weight:500;letter-spacing:-.02em;max-width:28em}
.terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.terms div{background:var(--soft);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.terms span{font-size:13px;color:var(--ink-3)}
.terms strong{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.not-offer{font-size:13px;font-weight:500;color:var(--ochre-ink)}
.signal{display:flex;flex-direction:column;gap:4px}
.signal .num{font-family:var(--display);font-size:48px;font-weight:600;letter-spacing:-.045em;line-height:1}

/* forms */
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{font:400 16px var(--sans);color:var(--ink);background:var(--soft);border:1.5px solid transparent;border-radius:14px;padding:12px 16px;min-height:50px;width:100%;transition:border-color .15s,background .15s}
textarea{min-height:120px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);background:var(--bg)}
input[type=file]{font:15px var(--sans);color:var(--ink-2)}
fieldset{border:none;margin:0;padding:0;min-width:0}
legend{font-size:24px;font-weight:600;letter-spacing:-.025em;margin-bottom:8px;padding:0}
.fs > legend{float:left;width:100%}
.fs > legend + *{clear:both}
.fs{display:flex;flex-direction:column;gap:16px;padding-block:36px;border-top:1px solid var(--line)}
.field{display:flex;flex-direction:column;gap:8px}
.field > span:first-child{font-weight:500;font-size:14.5px}
.hint{font-size:14px;color:var(--ink-3)}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{position:relative;display:inline-flex}
.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice span{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:11px 18px;font-size:15px;font-weight:500;color:var(--ink);background:var(--soft);transition:background .15s,color .15s}
.choice:hover span{background:var(--soft-2)}
.choice input:checked + span{background:var(--blue);color:var(--btn-ink)}
.choice input:focus-visible + span{outline:2px solid var(--ink);outline-offset:3px}
.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:15.5px}
.check input{margin-top:3px;width:19px;height:19px;accent-color:var(--blue);flex:none}
.cols{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.calc{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--pine-soft);color:var(--pine);border-radius:18px;padding:18px 22px}
.calc strong{font-family:var(--display);font-size:32px;font-weight:600;letter-spacing:-.04em}
.preview{background:var(--soft);border-radius:16px;padding:16px 18px;font-size:16px;min-height:56px}
.infobox{background:var(--ochre-soft);color:var(--ochre-ink);border-radius:16px;padding:14px 18px;font-size:14.5px}
.warnbox{background:var(--warn-soft);color:var(--warn);border-radius:16px;padding:14px 18px;font-size:14.5px}
.okbox{background:var(--pine-soft);color:var(--pine);border-radius:16px;padding:14px 18px;font-size:15px;font-weight:500}
.formwrap{max-width:720px}
.narrow{max-width:520px}

/* inquiries */
.iq{background:var(--soft);border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:18px}
.iq .price{font-family:var(--display);font-size:44px;font-weight:600;letter-spacing:-.045em;line-height:1}
.iq .who{font-weight:600}
.note{font-size:20px;line-height:1.45;font-weight:400;letter-spacing:-.01em;color:var(--ink)}
.detail{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:15px}
.detail dt{color:var(--ink-3)}
.detail dd{margin:0}
@media (max-width:520px){.detail{grid-template-columns:1fr}.detail dt{margin-top:6px}}
.list{display:flex;flex-direction:column;gap:16px}
.iq .btn-ghost{background:var(--bg)}
.iq .btn-ghost:hover{background:var(--soft-2)}
.iq .badge{background:var(--bg)}
.iq .badge.ok{background:var(--pine-soft)}.iq .badge.agent{background:var(--ochre-soft)}.iq .badge.warn{background:var(--warn-soft)}

/* thread */
.msgs{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--soft);border-radius:28px}
.msg{max-width:80%;padding:12px 18px;border-radius:22px;background:var(--bg);font-size:15.5px}
.msg.me{align-self:flex-end;background:var(--blue);color:var(--btn-ink)}
.msg .by{font-size:12.5px;font-weight:600;opacity:.6;margin-bottom:3px}

.steps{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--ink-3)}
.steps span{padding:6px 12px;border-radius:999px;background:var(--soft)}
.steps span.on{color:var(--btn-ink);background:var(--blue);font-weight:500}
.doornote{background:var(--bg);border-radius:18px;padding:16px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.qr{width:72px;height:72px;display:block}

footer{margin-top:120px;border-top:1px solid var(--line);padding-top:28px;font-size:13.5px;color:var(--ink-3);display:flex;flex-direction:column;gap:12px}
footer p{max-width:70em}
footer strong{color:var(--ink-2);font-weight:600}
.toast{position:fixed;left:50%;top:calc(80px + env(safe-area-inset-top,0px));transform:translateX(-50%);background:var(--dark);color:var(--dark-ink);padding:12px 22px;border-radius:999px;font-weight:500;font-size:14.5px;z-index:50;max-width:calc(100% - 32px);text-align:center;box-shadow:0 10px 30px -10px rgba(0,0,0,.35)}
.spin{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sp .7s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:3s}*{transition:none!important}}
.back{margin-bottom:28px;display:inline-flex}
hr{border:none;border-top:1px solid var(--line);margin:0}

/* two audiences */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:72px}
@media (max-width:760px){.paths{grid-template-columns:1fr}}
.path{border-radius:28px;padding:36px;display:flex;flex-direction:column;gap:14px}
.path h2{font-size:clamp(26px,2.6vw,34px);max-width:14em}
.path p{color:var(--ink-2);max-width:30em}
.path-buy{background:#E3EBF9}
.path-own{background:#F3E8D9}
.path-for{font-size:15px;font-weight:600;color:var(--ink-2)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .path-buy{background:#1C2436}:root:not([data-theme="light"]) .path-own{background:#2C241B}}
:root[data-theme="dark"] .path-buy{background:#1C2436}
:root[data-theme="dark"] .path-own{background:#2C241B}
.how2{display:grid;grid-template-columns:1fr 1fr;gap:24px 56px}
@media (max-width:760px){.how2{grid-template-columns:1fr}}
.how2 ol{margin:12px 0 0;padding-left:22px;display:grid;gap:10px;color:var(--ink-2)}
.how2 li::marker{color:var(--ink-3);font-weight:600}
.promise{margin-top:40px;font-size:15px;color:var(--ink-3)}


/* ---------- additions for the real site ---------- */
a.hcard,a.logo,a.btn,a.tile{text-decoration:none;color:inherit}
a.btn-primary{color:var(--btn-ink)}
a.btn-link{text-decoration:underline;text-decoration-color:var(--ink-3);text-underline-offset:4px;text-decoration-thickness:1px}
a.nav-link{white-space:nowrap;color:var(--ink-2);min-height:40px;padding:8px 16px;font-weight:500;font-size:15px;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center}
a.nav-link:hover{color:var(--ink)}
a.nav-link.on{color:var(--ink);background:var(--soft)}
@media (max-width:520px){a.nav-link{padding:8px 12px;font-size:14px}.nav.three .nav-search{display:none}}
.loading{display:flex;justify-content:center;padding:80px 0;color:var(--ink-3)}
.swapphoto{display:block;max-width:220px;width:100%;border-radius:14px;margin-top:8px}
.contact{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:6px 0 0}
.contact dt{opacity:.75}
.contact dd{margin:0;font-weight:600;word-break:break-all}
.note-closed{font-size:14.5px;color:var(--ink-2)}
.qr svg{width:72px;height:72px;display:block}
footer .btn-link{font-size:13.5px;font-weight:500}
