:root {
  --paper:#f2f2ee;
  --ink:#242522;
  --soft:#969890;
  --dark-soft:#b9bbb4;
  --edge:clamp(24px,5.4vw,104px);
  --sans:"Inter",Arial,sans-serif;
  --mono:"IBM Plex Mono",monospace;
}

*,*::before,*::after { box-sizing:border-box; }
html { background:var(--paper); }
body { margin:0; overflow-x:clip; background:var(--paper); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
::selection { background:var(--ink); color:var(--paper); }

.skip-link { position:absolute; z-index:20; top:12px; left:12px; padding:10px 14px; background:var(--ink); color:var(--paper); transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }

.topbar { position:absolute; z-index:10; inset:0 0 auto; display:flex; justify-content:space-between; align-items:center; height:84px; padding:0 var(--edge); }
.wordmark { font-size:15px; font-weight:800; letter-spacing:.22em; }
.topbar nav { display:flex; gap:clamp(28px,3vw,56px); font-size:14px; font-weight:600; }
.topbar nav a { transition:opacity .2s ease; }
.topbar nav a:hover { opacity:.5; }

.eyebrow { margin:0; font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }

.hero { position:relative; isolation:isolate; min-height:100svh; display:grid; place-items:center; overflow:hidden; padding:108px var(--edge) 52px; }
.hero__body { position:relative; z-index:1; width:100%; text-align:center; }
.hero h1 { width:min(100%,1260px); margin:28px auto 0; font-size:clamp(66px,7.7vw,132px); line-height:.88; letter-spacing:-.073em; font-weight:800; }
.hero h1 span { display:block; }
.hero__copy { max-width:720px; margin:42px auto 0; color:#62645e; font-size:clamp(16px,1.16vw,20px); line-height:1.62; }
.text-link { display:inline-flex; align-items:center; gap:14px; margin-top:29px; font-size:15px; font-weight:700; }
.text-link span { transition:transform .2s ease; }
.text-link:hover span { transform:translateY(4px); }

.process { min-height:100svh; padding:clamp(100px,12vh,134px) var(--edge) clamp(78px,9vh,102px); background:var(--ink); color:var(--paper); }
.process__intro { display:block; }
.process__intro .eyebrow { margin-bottom:clamp(36px,5vh,54px); color:var(--dark-soft); }
.process h2 { max-width:1500px; margin:0; font-size:clamp(58px,6.1vw,110px); line-height:.92; letter-spacing:-.066em; font-weight:800; }
.process__lead { margin:22px 0 0; color:var(--dark-soft); font-size:clamp(17px,1.3vw,23px); }

.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(38px,6vw,110px); margin:clamp(72px,10vh,118px) 0 0; padding:0; list-style:none; }
.steps li { min-width:0; }
.step-number { display:block; color:var(--dark-soft); font-family:var(--mono); font-size:10px; }
.step-meta { display:flex; align-items:center; gap:15px; min-height:12px; }
.motion-mark { position:relative; display:inline-flex; width:36px; height:12px; color:var(--paper); opacity:.72; }
.motion-mark--observe::before { content:""; position:absolute; top:4px; left:1px; width:4px; height:4px; border-radius:50%; background:currentColor; opacity:.25; box-shadow:15px 0 currentColor,30px 0 currentColor; }
.motion-mark--observe::after { content:""; position:absolute; top:3px; left:0; width:6px; height:6px; border-radius:50%; background:currentColor; }
.motion-mark--design { display:grid; grid-template-columns:repeat(2,5px); grid-template-rows:repeat(2,5px); gap:2px; width:12px; }
.motion-mark--design i { width:5px; height:5px; background:currentColor; }
.motion-mark--automate { align-items:center; gap:6px; width:auto; }
.motion-mark--automate i { width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.25; }
.steps h3 { margin:25px 0 16px; font-size:clamp(33px,3vw,54px); line-height:1; letter-spacing:-.055em; font-weight:700; transition:transform .25s ease; }
.steps p { max-width:460px; margin:0; color:var(--dark-soft); font-size:clamp(15px,1.05vw,18px); line-height:1.65; }
.steps li:hover h3 { transform:translateX(8px); }

.contact { min-height:100svh; display:flex; flex-direction:column; padding:100px var(--edge) 32px; }
.contact__body { flex:1; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:clamp(56px,9vw,170px); align-items:center; }
.contact h2 { max-width:900px; margin:28px 0 0; font-size:clamp(68px,7.2vw,124px); line-height:.9; letter-spacing:-.071em; font-weight:800; }
.contact__action { align-self:center; }
.contact__action p { max-width:520px; margin:0; color:#62645e; font-size:clamp(17px,1.2vw,21px); line-height:1.65; }
.contact__action a { display:inline-flex; align-items:center; gap:16px; margin-top:35px; font-size:clamp(25px,2.2vw,39px); line-height:1; letter-spacing:-.04em; font-weight:700; }
.contact__action a span { transition:transform .2s ease; }
.contact__action a:hover span { transform:translate(5px,-5px); }
.contact footer { display:flex; justify-content:space-between; gap:24px; color:#6f716b; font-family:var(--mono); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }

.diagnostic-trigger { display:block; margin:38px 0 0; padding:0; border:0; background:none; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.diagnostic-trigger > span { display:flex; align-items:center; gap:14px; font-size:clamp(16px,1.12vw,20px); font-weight:700; }
.diagnostic-trigger b { font-size:1.15em; transition:transform .2s ease; }
.diagnostic-trigger small { display:block; margin-top:8px; color:#6f716b; font-family:var(--mono); font-size:10px; letter-spacing:.07em; text-transform:uppercase; }
.diagnostic-trigger:hover b { transform:translateX(5px); }

.blog-index { min-height:100svh; padding:clamp(160px,18vh,210px) var(--edge) 34px; }
.blog-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:clamp(56px,9vw,170px); align-items:end; }
.blog-hero h1 { margin:28px 0 0; font-size:clamp(76px,8.1vw,144px); line-height:.86; letter-spacing:-.073em; font-weight:800; }
.blog-hero > p { max-width:510px; margin:0 0 8px; color:#50514c; font-size:clamp(17px,1.25vw,22px); line-height:1.6; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(42px,6vw,108px); margin-top:clamp(105px,14vh,155px); }
.blog-card a { min-height:370px; display:flex; flex-direction:column; }
.blog-card__meta { display:flex; justify-content:space-between; gap:18px; color:#6f716b; font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.blog-card h2 { max-width:470px; margin:34px 0 0; font-size:clamp(31px,2.6vw,47px); line-height:1.01; letter-spacing:-.052em; transition:transform .3s cubic-bezier(.22,1,.36,1); }
.blog-card p { max-width:450px; margin:22px 0 0; color:#62645e; font-size:16px; line-height:1.65; }
.blog-card__link { display:flex; align-items:center; gap:13px; margin-top:auto; padding-top:38px; font-size:14px; font-weight:700; }
.blog-card__link b { transition:transform .22s ease; }
.blog-card a:hover h2 { transform:translateY(-5px); }
.blog-card a:hover .blog-card__link b { transform:translateX(5px); }
.blog-empty h2 { max-width:600px; margin:25px 0 0; font-size:clamp(42px,5vw,82px); line-height:.95; letter-spacing:-.06em; }
.pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin-top:90px; font-size:14px; font-weight:700; }
.pagination span { color:#6f716b; font-family:var(--mono); font-size:10px; }
.pagination a:last-child { justify-self:end; }
.site-footer { display:flex; justify-content:space-between; gap:24px; margin-top:clamp(100px,14vh,160px); color:#6f716b; font-family:var(--mono); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }

.article { min-height:100svh; padding:clamp(150px,17vh,190px) var(--edge) 34px; }
.article__header { display:grid; grid-template-columns:minmax(190px,.35fr) minmax(0,1.65fr); gap:clamp(50px,8vw,140px); }
.article__back { align-self:start; font-size:14px; font-weight:700; transition:transform .22s ease; }
.article__back:hover { transform:translateX(-5px); }
.article__heading { max-width:1200px; }
.article__heading h1 { margin:28px 0 0; font-size:clamp(66px,7vw,126px); line-height:1; letter-spacing:-.069em; }
.article__excerpt { max-width:820px; margin:42px 0 0; color:#50514c; font-size:clamp(19px,1.5vw,26px); line-height:1.55; }
.article__body { width:min(100%,960px); margin:clamp(100px,14vh,150px) auto 0; }
.article__body > p,.article-block--paragraph { width:min(100%,760px); margin:0 auto 1.65em; color:#383a36; font-size:clamp(18px,1.3vw,22px); line-height:1.78; }
.article-block--paragraph p,.article-block--paragraph div { margin:0 0 .9em; }
.article-block--paragraph p:last-child,.article-block--paragraph div:last-child { margin-bottom:0; }
.article-block--paragraph ul,.article-block--paragraph ol { margin:1em 0; padding-left:1.3em; }
.article-block--paragraph a { text-decoration:underline; text-underline-offset:.16em; }
.article-block--paragraph code { padding:.12em .32em; background:#e3e3de; font:500 .86em/1.5 var(--mono); }
.article-block--heading { width:min(100%,840px); margin:2.2em auto .72em; color:var(--ink); letter-spacing:-.052em; }
h2.article-block--heading { font-size:clamp(38px,4vw,64px); line-height:.98; }
h3.article-block--heading { font-size:clamp(29px,2.7vw,44px); line-height:1.04; }
h4.article-block--heading { font-size:clamp(23px,2vw,32px); line-height:1.1; }
.article-block--image { width:100%; margin:clamp(70px,10vh,110px) auto; }
.article-block--image img { width:100%; max-height:720px; display:block; object-fit:cover; background:#e3e3de; }
.article-block--image figcaption { margin-top:13px; color:#6f716b; font:500 10px/1.55 var(--mono); letter-spacing:.05em; text-transform:uppercase; }
.article-download { width:min(100%,840px); min-height:128px; display:grid; grid-template-columns:68px minmax(0,1fr) auto; align-items:center; gap:22px; margin:58px auto; padding:20px 24px; background:#e5e5df; transition:background .22s ease,transform .22s ease; }
.article-download:hover { background:#dcdcd5; transform:translateY(-3px); }
.article-download__mark { display:grid; place-items:center; width:58px; height:58px; background:var(--paper); font:600 10px/1 var(--mono); }
.article-download__copy { min-width:0; display:flex; flex-direction:column; gap:7px; }
.article-download__copy strong { font-size:clamp(19px,1.6vw,25px); letter-spacing:-.025em; }
.article-download__copy > span { color:#5f615b; font-size:14px; line-height:1.5; }
.article-download__copy small { color:#777971; font:500 9px/1.4 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.article-download__arrow { font-size:26px; transition:transform .22s ease; }
.article-download:hover .article-download__arrow { transform:translateY(5px); }
.article-code { width:100%; margin:clamp(70px,10vh,110px) auto; }
.article-code > figcaption { display:flex; justify-content:space-between; gap:20px; margin-bottom:12px; color:#6f716b; font:500 10px/1.4 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.article-code__body { position:relative; overflow:auto; background:var(--ink); color:var(--paper); }
.article-code__body button { position:absolute; z-index:1; top:14px; right:14px; padding:8px 10px; border:0; background:#3a3b37; color:var(--paper); font:600 10px/1 var(--mono); cursor:pointer; }
.article-code pre { margin:0; padding:clamp(25px,4vw,44px); overflow:auto; }
.article-code code { font:500 13px/1.72 var(--mono); tab-size:2; white-space:pre; }
.article-quote { width:min(100%,840px); margin:clamp(75px,11vh,120px) auto; padding-left:clamp(24px,4vw,54px); border-left:5px solid var(--ink); }
.article-quote p { margin:0; color:var(--ink); font-size:clamp(28px,3vw,48px); line-height:1.17; letter-spacing:-.04em; }
.article-quote cite { display:block; margin-top:22px; color:#6f716b; font:500 10px/1.4 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.article-playground { width:100%; margin:clamp(85px,12vh,130px) auto; padding:clamp(28px,4vw,52px); background:var(--ink); color:var(--paper); }
.article-playground__header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:start; }
.article-playground__header .eyebrow { color:var(--dark-soft); }
.article-playground__header h3 { max-width:680px; margin:19px 0 0; font-size:clamp(35px,4.2vw,66px); line-height:.96; letter-spacing:-.055em; }
.article-playground__header > div > p:last-child { max-width:680px; margin:21px 0 0; color:var(--dark-soft); font-size:16px; line-height:1.6; }
.article-playground__header > span { color:#8f918a; font:500 9px/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.article-playground__layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(210px,.75fr); gap:clamp(40px,7vw,95px); margin-top:clamp(48px,7vh,74px); }
.article-playground__inputs { display:grid; gap:25px; }
.playground-input { display:grid; gap:11px; }
.playground-input > span { color:var(--dark-soft); font-size:13px; font-weight:600; }
.playground-input > div { display:grid; grid-template-columns:minmax(0,1fr) 74px; gap:18px; align-items:center; }
.playground-input input { width:100%; accent-color:var(--paper); }
.playground-input output { color:var(--paper); font:600 13px/1 var(--mono); text-align:right; }
.article-playground__result { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:180px; padding:28px; background:#30312e; }
.article-playground__result span { color:var(--dark-soft); font:500 9px/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.article-playground__result strong { margin-top:14px; font-size:clamp(42px,5vw,74px); line-height:.9; letter-spacing:-.06em; }
.article-playground__result small { margin-top:10px; color:var(--dark-soft); font-size:14px; }
.article-playground__footer { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:45px; }
.article-playground__footer button,.article-playground__footer a { padding:0; border:0; background:none; color:var(--dark-soft); font:600 11px/1.4 var(--mono); cursor:pointer; }
.article-playground__footer a { color:var(--paper); }
.email-urgency-model { width:100%; margin:clamp(85px,12vh,135px) auto; padding:clamp(28px,4vw,54px); background:var(--ink); color:var(--paper); }
.email-urgency-model__header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:50px; align-items:start; }
.email-urgency-model__header .eyebrow { color:#aeb0a9; }
.email-urgency-model__header h3 { max-width:720px; margin:20px 0 0; font-size:clamp(38px,4.7vw,76px); line-height:.94; letter-spacing:-.058em; }
.email-urgency-model__header > div > p:last-child { max-width:700px; margin:23px 0 0; color:#bfc0ba; font-size:16px; line-height:1.62; }
.email-urgency-model__header > span { max-width:250px; color:#a8aaa3; font:500 9px/1.55 var(--mono); letter-spacing:.07em; text-align:right; text-transform:uppercase; }
.email-urgency-model__header > span.is-error { color:#f2a59c; }
.email-urgency-model__examples { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:clamp(38px,6vh,58px); }
.email-urgency-model__examples > span { margin-right:8px; color:#93958e; font:500 9px/1.4 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.email-urgency-model__examples button { padding:10px 13px; border:0; background:#30312d; color:#bfc0ba; font:600 11px/1 var(--sans); cursor:pointer; transition:background .2s ease,color .2s ease,transform .2s ease; }
.email-urgency-model__examples button:hover { background:#3b3c38; color:var(--paper); transform:translateY(-2px); }
.email-urgency-model__layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr); gap:clamp(34px,6vw,78px); align-items:start; margin-top:34px; }
.email-urgency-model__form { display:grid; gap:18px; }
.email-urgency-model__form label { display:grid; gap:9px; }
.email-urgency-model__form label > span { color:#bfc0ba; font-size:12px; font-weight:600; }
.email-urgency-model__form input,.email-urgency-model__form textarea { width:100%; border:0; border-radius:0; outline:1px solid #4a4b46; background:#2d2e2a; color:var(--paper); font:500 15px/1.55 var(--sans); }
.email-urgency-model__form input { min-height:50px; padding:0 15px; }
.email-urgency-model__form textarea { min-height:220px; resize:vertical; padding:14px 15px; }
.email-urgency-model__form input::placeholder,.email-urgency-model__form textarea::placeholder { color:#858780; }
.email-urgency-model__form input:focus,.email-urgency-model__form textarea:focus { outline-color:var(--paper); }
.email-urgency-model__form > div { display:flex; align-items:center; gap:22px; margin-top:3px; }
.email-urgency-model__form > div button { border:0; border-radius:0; cursor:pointer; }
.email-urgency-model__form [type="submit"] { min-height:48px; padding:0 17px; background:var(--paper); color:var(--ink); font:700 13px/1 var(--sans); }
.email-urgency-model__form [type="submit"] b { display:inline-block; margin-left:13px; transition:transform .2s ease; }
.email-urgency-model__form [type="submit"]:hover b { transform:translateX(4px); }
.email-urgency-model__form [type="submit"]:disabled { opacity:1; cursor:wait; }
.email-urgency-model__form [type="submit"][aria-busy="true"] b { animation:model-submit-wait .8s ease-in-out infinite alternate; }
.email-urgency-model__form [data-urgency-clear] { padding:8px 0; background:none; color:#a8aaa3; font:600 11px/1 var(--mono); }
.email-urgency-model__result { min-height:410px; padding:clamp(24px,3vw,38px); background:#30312d; }
.email-urgency-model__result > span { color:#a4a69e; font:500 9px/1.5 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.email-urgency-model__result > strong { display:block; min-height:2em; margin-top:18px; font-size:clamp(34px,3.5vw,55px); line-height:.94; letter-spacing:-.055em; }
.email-urgency-model__result > p { min-height:3.2em; margin:16px 0 0; color:#bfc0ba; font-size:14px; line-height:1.6; }
.urgency-probabilities { display:grid; gap:14px; margin-top:42px; }
.urgency-probabilities > div { display:grid; grid-template-columns:112px minmax(45px,1fr) 48px; gap:11px; align-items:center; }
.urgency-probabilities span { color:#c9cac5; font-size:11px; font-weight:600; }
.urgency-probabilities i { height:3px; overflow:hidden; background:#4e4f4a; }
.urgency-probabilities i b { display:block; width:0; height:100%; background:var(--paper); transition:width .55s cubic-bezier(.22,1,.36,1); }
.urgency-probabilities output { color:#c9cac5; font:600 10px/1 var(--mono); text-align:right; }
.email-urgency-model__footer { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-top:40px; }
.email-urgency-model__footer p { max-width:650px; margin:0; color:#9fa19a; font:500 10px/1.65 var(--mono); text-transform:uppercase; }
.email-urgency-model__footer a { color:var(--paper); font:600 11px/1.4 var(--mono); white-space:nowrap; }
.property-model { width:100%; margin:clamp(85px,12vh,135px) auto; padding:clamp(28px,4vw,54px); background:var(--ink); color:var(--paper); }
.property-model__header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:50px; align-items:start; }
.property-model__header .eyebrow { color:#999b94; }
.property-model__header h3 { max-width:780px; margin:20px 0 0; font-size:clamp(38px,4.7vw,76px); line-height:.94; letter-spacing:-.058em; }
.property-model__header > div > p:last-child { max-width:720px; margin:23px 0 0; color:#b5b6b0; font-size:16px; line-height:1.62; }
.property-model__header > span { max-width:230px; color:#92948d; font:500 9px/1.55 var(--mono); letter-spacing:.07em; text-align:right; text-transform:uppercase; }
.property-model__header > span.is-error { color:#f2a59c; }
.property-model__cities { display:flex; flex-wrap:wrap; gap:8px; margin-top:clamp(38px,6vh,62px); }
.property-model__cities button { padding:10px 15px; border:0; background:#32332f; color:#aeb0a9; font:600 11px/1 var(--mono); cursor:pointer; transition:background .2s ease,color .2s ease,transform .2s ease; }
.property-model__cities button:hover { color:var(--paper); transform:translateY(-2px); }
.property-model__cities button.is-active { background:var(--paper); color:var(--ink); }
.property-model__layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:clamp(42px,7vw,100px); align-items:start; margin-top:38px; }
.property-model__form { min-width:0; }
.property-model__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-top:28px; }
.property-control { display:grid; gap:9px; }
.property-control > span { color:#aeb0a9; font-size:12px; font-weight:600; }
.property-control--area > span { display:flex; justify-content:space-between; gap:20px; color:var(--paper); font-size:14px; }
.property-control--area output { color:#aeb0a9; font:600 12px/1 var(--mono); }
.property-control input[type="range"] { width:100%; accent-color:var(--paper); cursor:pointer; }
.property-control select,.property-control input[type="number"] { width:100%; min-height:46px; padding:0 12px; border:0; border-radius:0; outline:1px solid #454640; background:#2d2e2a; color:var(--paper); font:600 13px/1.2 var(--sans); }
.property-control select:focus,.property-control input[type="number"]:focus { outline:1px solid var(--paper); }
.property-model__amenities { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.property-model__amenities label { cursor:pointer; }
.property-model__amenities input { position:absolute; opacity:0; pointer-events:none; }
.property-model__amenities span { display:block; padding:10px 13px; background:#30312d; color:#9fa19a; font-size:12px; font-weight:600; transition:background .2s ease,color .2s ease; }
.property-model__amenities input:checked + span { background:#e9e9e4; color:var(--ink); }
.property-model__amenities input:focus-visible + span { outline:2px solid var(--paper); outline-offset:2px; }
.property-model__submit { min-height:48px; margin-top:24px; padding:0 17px; border:0; border-radius:0; background:var(--paper); color:var(--ink); font:700 13px/1 var(--sans); cursor:pointer; }
.property-model__submit b { display:inline-block; margin-left:13px; transition:transform .2s ease; }
.property-model__submit:hover b { transform:translateX(4px); }
.property-model__submit:disabled { cursor:wait; }
.property-model__submit[aria-busy="true"] b { animation:model-submit-wait .8s ease-in-out infinite alternate; }
.property-model__result { min-height:315px; display:flex; flex-direction:column; justify-content:center; padding:clamp(24px,3vw,38px); background:#30312d; }
.property-model__result > span,.property-model__result small { color:#969890; font:500 9px/1.5 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.property-model__result > strong { display:block; margin-top:17px; font-size:clamp(38px,4vw,64px); line-height:.91; letter-spacing:-.055em; overflow-wrap:anywhere; }
.property-model__result > p { margin:13px 0 0; color:#b3b5ae; font-size:14px; }
.property-model__result > div { margin-top:48px; }
.property-model__result b { display:block; margin-top:10px; color:var(--paper); font-size:15px; line-height:1.45; }
.property-model__footer { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-top:42px; }
.property-model__footer p { max-width:610px; margin:0; color:#92948d; font:500 10px/1.65 var(--mono); text-transform:uppercase; }
.property-model__footer div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:20px; }
.property-model__footer a { color:var(--paper); font:600 11px/1.4 var(--mono); white-space:nowrap; }
.article__contact { margin-top:clamp(120px,16vh,180px); padding:clamp(80px,10vh,120px) 0; background:var(--ink); color:var(--paper); box-shadow:0 0 0 100vmax var(--ink); clip-path:inset(0 -100vmax); }
.article__contact h2 { max-width:1050px; margin:28px 0 0; font-size:clamp(59px,6.5vw,112px); line-height:.91; letter-spacing:-.067em; }
.article__contact > p:not(.eyebrow) { max-width:640px; margin:36px 0 0; color:var(--dark-soft); font-size:clamp(17px,1.3vw,22px); line-height:1.65; }
.article__contact a { display:inline-flex; align-items:center; gap:16px; margin-top:38px; font-size:clamp(26px,2.3vw,40px); font-weight:700; letter-spacing:-.04em; }
.article__contact a span { transition:transform .22s ease; }
.article__contact a:hover span { transform:translate(5px,-5px); }

body.diagnostic-open { overflow:hidden; }
.diagnostic { width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; background:var(--paper); color:var(--ink); }
.diagnostic:not([open]) { display:none; }
.diagnostic[open] { display:block; }
.diagnostic::backdrop { background:rgba(36,37,34,.34); }
.diagnostic__shell { min-height:100svh; display:grid; grid-template-rows:84px minmax(0,1fr) 92px; padding:0 var(--edge); }
.diagnostic__header { position:sticky; z-index:2; top:0; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; background:var(--paper); }
.diagnostic__progress { margin:0; font-family:var(--mono); font-size:11px; letter-spacing:.1em; }
.diagnostic__close { justify-self:end; padding:10px 0; border:0; background:none; color:inherit; font:600 14px/1 var(--sans); cursor:pointer; }
.diagnostic__close span { display:inline-block; margin-left:9px; font-size:20px; font-weight:400; transition:transform .25s ease; }
.diagnostic__close:hover span { transform:rotate(90deg); }
.diagnostic__main { display:flex; align-items:center; width:100%; padding:46px 0 54px; }
.diagnostic__question { width:100%; }
.diagnostic__question h2 { max-width:1160px; margin:25px 0 0; font-size:clamp(47px,5.2vw,92px); line-height:.94; letter-spacing:-.065em; font-weight:800; }
.diagnostic__help { max-width:720px; margin:22px 0 0; color:#62645e; font-size:clamp(16px,1.1vw,20px); line-height:1.6; }
.diagnostic__options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:clamp(42px,6vh,68px); }
.diagnostic-option { min-height:96px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; gap:20px; padding:20px 22px; border:0; background:#e7e7e2; color:var(--ink); font:600 clamp(15px,1vw,18px)/1.3 var(--sans); text-align:left; cursor:pointer; transition:background-color .22s ease,color .22s ease,transform .22s ease; }
.diagnostic-option:hover { transform:translateY(-3px); background:#ddddD7; }
.diagnostic-option.is-selected { background:var(--ink); color:var(--paper); }
.diagnostic-option__number { font-family:var(--mono); font-size:9px; font-weight:500; opacity:.62; }
.diagnostic__footer { position:sticky; z-index:2; bottom:0; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; background:var(--paper); }
.diagnostic__footer[hidden] { display:none; }
.diagnostic__footer button { border:0; background:none; color:inherit; font:700 14px/1 var(--sans); cursor:pointer; }
.diagnostic__back { justify-self:start; padding:16px 18px 16px 0; }
.diagnostic__next { justify-self:end; min-width:168px; padding:17px 20px!important; background:var(--ink)!important; color:var(--paper)!important; }
.diagnostic__next span { display:inline-block; margin-left:12px; transition:transform .2s ease; }
.diagnostic__next:hover span { transform:translateX(4px); }
.diagnostic__next:disabled { cursor:not-allowed; opacity:.28; }
.diagnostic__footer p { margin:0; color:#6f716b; font-family:var(--mono); font-size:10px; text-align:center; }

.diagnostic__results { width:100%; padding:12px 0 28px; }
.diagnostic__results[hidden] { display:none; }
.results-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:clamp(50px,8vw,150px); align-items:end; }
.results-intro h2 { max-width:1050px; margin:25px 0 0; font-size:clamp(52px,5.6vw,102px); line-height:.92; letter-spacing:-.068em; font-weight:800; }
.results-score { align-self:end; }
.results-score span { display:block; font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.results-score strong { display:block; margin-top:12px; font-size:clamp(27px,2.3vw,42px); letter-spacing:-.04em; }
.results-score p { max-width:460px; margin:14px 0 0; color:#62645e; font-size:16px; line-height:1.6; }
.recommendation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(36px,6vw,110px); margin-top:clamp(58px,8vh,90px); }
.recommendation span { font-family:var(--mono); font-size:10px; color:#6f716b; }
.recommendation h3 { margin:20px 0 13px; font-size:clamp(26px,2vw,38px); line-height:1.05; letter-spacing:-.045em; }
.recommendation p { margin:0; color:#62645e; font-size:16px; line-height:1.62; }
.results-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(36px,6vw,110px); margin-top:70px; }
.results-details h3 { margin:0 0 18px; font-size:18px; }
.results-details ol,.results-details ul { margin:0; padding-left:20px; color:#62645e; font-size:15px; line-height:1.65; }
.results-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:58px; }
.results-actions button,.results-actions a { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:0 19px; border:0; background:#e2e2dd; color:var(--ink); font:700 14px/1 var(--sans); cursor:pointer; }
.results-actions .results-primary { background:var(--ink); color:var(--paper); }
.results-note { margin:22px 0 0; color:#6f716b; font-family:var(--mono); font-size:10px; line-height:1.6; text-transform:uppercase; }

.has-js [data-enter] { opacity:0; transform:translateY(22px); transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1); transition-delay:var(--delay,0ms); }
.has-js [data-enter].is-visible { opacity:1; transform:none; }

.has-js .topbar .wordmark,.has-js .topbar nav a { opacity:0; transform:translateY(-8px); transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1); }
.has-js .topbar nav a:first-child { transition-delay:80ms; }
.has-js .topbar nav a:last-child { transition-delay:150ms; }
.has-js .topbar.is-visible .wordmark,.has-js .topbar.is-visible nav a { opacity:1; transform:none; }

.has-js .hero__body[data-enter] { opacity:1; transform:none; transition:none; }
.has-js .hero__body .eyebrow,.has-js .hero__body h1 span,.has-js .hero__copy,.has-js .hero__body .text-link { opacity:0; transform:translateY(24px); transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1); }
.has-js .hero__body h1 span:nth-child(1) { transition-delay:70ms; }
.has-js .hero__body h1 span:nth-child(2) { transition-delay:140ms; }
.has-js .hero__body h1 span:nth-child(3) { transition-delay:210ms; }
.has-js .hero__copy { transition-delay:320ms; }
.has-js .hero__body .text-link { transition-delay:410ms; }
.has-js .hero__body.is-visible .eyebrow,.has-js .hero__body.is-visible h1 span,.has-js .hero__body.is-visible .hero__copy,.has-js .hero__body.is-visible .text-link { opacity:1; transform:none; }

.process.is-active .motion-mark--observe::after { animation:observe-scan 3s cubic-bezier(.65,0,.35,1) infinite; }
.process.is-active .motion-mark--design i { animation:design-build 3.6s cubic-bezier(.22,1,.36,1) infinite; }
.process.is-active .motion-mark--design i:nth-child(2) { animation-delay:100ms; }
.process.is-active .motion-mark--design i:nth-child(3) { animation-delay:200ms; }
.process.is-active .motion-mark--design i:nth-child(4) { animation-delay:300ms; }
.process.is-active .motion-mark--automate i { animation:automation-flow 2.4s ease-in-out infinite; }
.process.is-active .motion-mark--automate i:nth-child(2) { animation-delay:240ms; }
.process.is-active .motion-mark--automate i:nth-child(3) { animation-delay:480ms; }
.contact__action.is-visible a span { animation:contact-nudge .65s 350ms cubic-bezier(.22,1,.36,1) both; }

@keyframes observe-scan {
  0%,16% { transform:translateX(0); }
  50%,66% { transform:translateX(30px); }
  100% { transform:translateX(0); }
}
@keyframes design-build {
  0%,16% { opacity:.2; transform:translateY(4px) scale(.65); }
  35%,82% { opacity:1; transform:none; }
  100% { opacity:.2; transform:translateY(-3px) scale(.65); }
}
@keyframes automation-flow {
  0%,20%,100% { opacity:.25; transform:scale(.75); }
  42%,58% { opacity:1; transform:scale(1.2); }
}
@keyframes contact-nudge {
  0% { opacity:0; transform:translate(-8px,8px); }
  100% { opacity:1; transform:none; }
}

@keyframes model-submit-wait {
  from { transform:translateX(0); }
  to { transform:translateX(5px); }
}

@media (max-width:820px) {
  :root { --edge:20px; }
  .topbar { height:70px; }
  .topbar nav a:first-child { display:none; }
  .hero { min-height:100svh; padding:96px 20px 46px; }
  .hero h1 { margin-top:24px; font-size:clamp(54px,15.2vw,76px); line-height:.91; letter-spacing:-.064em; }
  .hero__copy { margin-top:34px; font-size:16px; }
  .process { min-height:0; padding:96px 20px 100px; }
  .process__intro .eyebrow { margin-bottom:30px; }
  .process h2 { font-size:clamp(50px,13.7vw,70px); line-height:.94; }
  .process__lead { margin-top:17px; }
  .steps { grid-template-columns:1fr; gap:52px; margin-top:70px; }
  .steps li { display:grid; grid-template-columns:38px 1fr; align-items:start; }
  .step-meta { grid-column:1; grid-row:1 / span 2; display:flex; flex-direction:column; align-items:flex-start; gap:13px; padding-top:7px; }
  .motion-mark { display:inline-flex; opacity:.58; transform:scale(.78); transform-origin:left center; }
  .motion-mark--design { display:grid; }
  .motion-mark--observe,.motion-mark--automate { width:27px; }
  .motion-mark--observe::before { box-shadow:10.5px 0 currentColor,21px 0 currentColor; }
  .motion-mark--automate { justify-content:space-between; gap:0; }
  .process.is-active .motion-mark--observe::after { animation-name:observe-scan-mobile; }
  .steps h3 { grid-column:2; margin:0 0 11px; font-size:38px; }
  .steps p { grid-column:2; font-size:15px; }
  .step-number { padding-top:0; }
  .contact { min-height:100svh; padding:76px 20px 22px; }
  .contact__body { grid-template-columns:1fr; gap:46px; align-content:start; }
  .contact h2 { font-size:clamp(53px,15vw,73px); line-height:.92; }
  .contact__action { align-self:start; }
  .contact__action p { color:#50514c; font-size:16px; line-height:1.55; }
  .contact__action a { margin-top:27px; font-size:clamp(28px,8vw,38px); }
  .contact footer { display:grid; grid-template-columns:1fr auto; justify-content:stretch; row-gap:8px; column-gap:18px; margin-top:54px; font-size:9px; line-height:1.5; }
  .contact footer span:first-child { grid-column:1 / -1; }
  .contact footer span:nth-child(2) { grid-column:1; }
  .contact footer span:last-child { grid-column:2; text-align:right; }
  .blog-index { padding:118px 20px 22px; }
  .blog-hero { grid-template-columns:1fr; gap:32px; }
  .blog-hero h1 { margin-top:22px; font-size:clamp(52px,14.5vw,68px); line-height:.89; }
  .blog-hero > p { max-width:340px; margin:0; font-size:16px; }
  .blog-grid { grid-template-columns:1fr; gap:64px; margin-top:82px; }
  .blog-card a { min-height:0; }
  .blog-card h2 { margin-top:25px; font-size:38px; }
  .blog-card p { margin-top:18px; font-size:15px; }
  .blog-card__link { margin-top:27px; padding-top:0; }
  .pagination { margin-top:72px; }
  .site-footer { display:grid; grid-template-columns:1fr auto; row-gap:8px; column-gap:18px; margin-top:94px; font-size:9px; line-height:1.5; }
  .site-footer > :first-child { grid-column:1 / -1; }
  .site-footer > :nth-child(2) { grid-column:1; }
  .site-footer > :last-child { grid-column:2; text-align:right; }
  .article { padding:112px 20px 22px; }
  .article__header { grid-template-columns:1fr; gap:54px; }
  .article__heading h1 { margin-top:23px; font-size:clamp(52px,14.5vw,70px); line-height:1; }
  .article__excerpt { margin-top:29px; font-size:18px; }
  .article__body { margin-top:82px; }
  .article__body > p,.article-block--paragraph { font-size:17px; line-height:1.75; }
  .article-block--heading { margin-top:2em; }
  h2.article-block--heading { font-size:38px; }
  h3.article-block--heading { font-size:30px; }
  .article-block--image,.article-code { margin:62px auto; }
  .article-download { grid-template-columns:50px minmax(0,1fr) auto; gap:14px; margin:45px auto; padding:17px 15px; }
  .article-download__mark { width:46px; height:46px; }
  .article-download__copy strong { font-size:18px; }
  .article-download__copy > span { font-size:13px; }
  .article-code code { font-size:12px; }
  .article-quote { margin:65px auto; border-left-width:4px; }
  .article-quote p { font-size:28px; }
  .article-playground { margin:72px auto; padding:25px 20px; }
  .article-playground__header { grid-template-columns:1fr; gap:17px; }
  .article-playground__header > span { order:-1; }
  .article-playground__header h3 { font-size:38px; }
  .article-playground__header > div > p:last-child { font-size:15px; }
  .article-playground__layout { grid-template-columns:1fr; gap:36px; margin-top:45px; }
  .article-playground__result { min-height:150px; }
  .article-playground__footer { align-items:flex-start; flex-direction:column; margin-top:35px; }
  .email-urgency-model { margin:72px auto; padding:27px 20px; }
  .email-urgency-model__header { grid-template-columns:1fr; gap:17px; }
  .email-urgency-model__header > span { order:-1; max-width:none; text-align:left; }
  .email-urgency-model__header h3 { font-size:42px; }
  .email-urgency-model__header > div > p:last-child { font-size:15px; }
  .email-urgency-model__examples { align-items:flex-start; margin-top:38px; }
  .email-urgency-model__examples > span { width:100%; margin:0 0 4px; }
  .email-urgency-model__examples button { flex:1 1 auto; }
  .email-urgency-model__layout { grid-template-columns:1fr; gap:34px; }
  .email-urgency-model__form textarea { min-height:205px; }
  .email-urgency-model__result { min-height:330px; }
  .email-urgency-model__result > strong { min-height:0; font-size:40px; }
  .urgency-probabilities > div { grid-template-columns:104px minmax(35px,1fr) 45px; gap:8px; }
  .email-urgency-model__footer { align-items:flex-start; flex-direction:column; }
  .property-model { margin:72px auto; padding:27px 20px; }
  .property-model__header { grid-template-columns:1fr; gap:17px; }
  .property-model__header > span { order:-1; max-width:none; text-align:left; }
  .property-model__header h3 { font-size:42px; }
  .property-model__header > div > p:last-child { font-size:15px; }
  .property-model__cities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .property-model__cities button { width:100%; min-width:0; padding-inline:8px; }
  .property-model__layout { grid-template-columns:1fr; gap:34px; }
  .property-model__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .property-model__result { min-height:230px; }
  .property-model__footer { align-items:flex-start; flex-direction:column; }
  .property-model__footer div { justify-content:flex-start; }
  .article__contact { margin-top:98px; padding:74px 0; }
  .article__contact h2 { font-size:51px; }
  .article__contact > p:not(.eyebrow) { margin-top:28px; font-size:16px; }
  .article__contact a { margin-top:31px; font-size:29px; }
  .diagnostic-trigger { margin-top:30px; }
  .diagnostic-trigger > span { font-size:17px; }
  .diagnostic__shell { grid-template-rows:70px minmax(0,1fr) 78px; padding:0 20px; }
  .diagnostic__header { grid-template-columns:1fr auto; }
  .diagnostic__progress { display:none; }
  .diagnostic__main { align-items:flex-start; padding:50px 0 45px; }
  .diagnostic__question h2 { font-size:clamp(43px,12.5vw,62px); }
  .diagnostic__help { margin-top:18px; font-size:16px; }
  .diagnostic__options { grid-template-columns:1fr; gap:9px; margin-top:38px; }
  .diagnostic-option { min-height:78px; padding:17px 18px; }
  .diagnostic__footer { grid-template-columns:1fr 1fr; }
  .diagnostic__footer p { display:none; }
  .diagnostic__next { min-width:150px; }
  .results-intro,.recommendation-grid,.results-details { grid-template-columns:1fr; }
  .results-intro { gap:36px; }
  .results-intro h2 { font-size:clamp(47px,13vw,65px); }
  .recommendation-grid { gap:42px; }
  .results-details { gap:38px; margin-top:55px; }
  .diagnostic__results { padding-top:0; }
}

@media (max-width:390px) {
  .hero h1 { font-size:52px; }
  .process h2 { font-size:48px; }
  .contact h2 { font-size:51px; }
}

@keyframes observe-scan-mobile {
  0%,16% { transform:translateX(0); }
  50%,66% { transform:translateX(21px); }
  100% { transform:translateX(0); }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .has-js [data-enter] { opacity:1; transform:none; }
}
