html{scroll-padding-bottom:90px}button,input,select,textarea{touch-action:manipulation}.filters>label,.form-row>label{min-width:0}.callback{width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 30px);border:0;border-radius:16px;padding:35px;color:var(--ink);background:var(--paper);overflow:auto}.callback::backdrop{background:#142d27b3}.callback h2{font-size:34px;margin:10px 0}.callback>p{font-size:14px}.callback form{display:grid;gap:18px}.callback label{font-size:13px;gap:7px}.callback input,.callback textarea{width:100%;font-size:16px;min-height:48px}.callback .consent{display:grid;grid-template-columns:22px 1fr;gap:12px;line-height:1.5;font-size:12px;align-items:start}.callback .consent input{width:20px;min-height:20px;height:20px;margin:2px 0;accent-color:#223e35}.callback .consent a,.callback-fallback a{text-decoration:underline}.callback-close{position:absolute;right:12px;top:10px;width:44px;height:44px;font-size:28px;border:0;background:transparent;color:var(--ink)}.callback-viewed,.callback-fallback,.callback-status{font-size:12px;margin:0;line-height:1.65}.callback .button:disabled{opacity:.6}.mobile-actions{display:none}.callback-launch{margin-top:22px}.card-bottom{flex-wrap:wrap;gap:12px}.card-bottom a{display:inline-flex;align-items:center;min-height:44px}.heart{width:44px;height:44px}.logo{letter-spacing:-1px!important}.mobile-nav{display:none}
@media(max-width:900px){.brand-note{display:none}header{height:auto;min-height:78px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:10px 18px}header .contact{margin-left:auto;white-space:nowrap;max-width:none}header>a:not(.logo):not(.contact){order:3;flex-basis:100%;display:flex;align-items:center;min-height:44px;font-size:14px}header nav{display:none}.mobile-nav{display:flex;gap:8px;padding:0 5% 14px;overflow-x:auto}.mobile-nav a{font-size:13px;white-space:nowrap;min-height:42px;padding:11px 16px;border:1px solid var(--line);border-radius:30px}.filters{gap:16px}.filters label{font-size:13px}.filters select,.filters input{min-height:48px;font-size:16px;width:100%}}
@media(max-width:600px){body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}header .logo{font-size:23px}header .contact{font-size:12px;min-height:44px;display:flex;align-items:center}header{padding-left:5%;padding-right:5%}.hero{height:auto;min-height:0;margin:0 10px;max-height:none}.hero-copy{padding:34px 7% 92px}.hero-copy h1{font-size:clamp(39px,11.5vw,55px);line-height:1.12;letter-spacing:-2px;margin-bottom:22px}.hero-copy .eyebrow{font-size:10px;line-height:1.65;letter-spacing:1.5px;max-width:270px}.hero-copy p{font-size:15px}.hero .button{margin-top:12px;min-height:52px}.hero-foot{font-size:10px;bottom:24px}.section{padding:44px 6%}.section-head>p{font-size:14px}h2{font-size:32px;line-height:1.2}.filters{padding:18px;border-radius:12px}.filters label{padding:0}.filters .button{min-height:50px}.catalog-bar{align-items:center;gap:16px;margin:14px 0;font-size:13px}.catalog-bar button{min-height:44px;font-size:14px}.cards{gap:30px}.card-image{height:250px;border-radius:12px}.card h3{font-size:21px;line-height:1.35}.card .location,.card .meta{font-size:13px;line-height:1.65}.rating{font-size:14px;line-height:1.65}.source-note{font-size:12px;line-height:1.6}.card-bottom strong{font-size:20px}.card-bottom a{font-size:14px}.card-bottom{padding-top:12px;margin-top:12px}.demo-note{font-size:12px;line-height:1.7}.all-complexes{gap:4px 12px}.all-complexes a,.related a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.request{padding:44px 6%}.form-row{grid-template-columns:1fr!important}.request label,.owner label{font-size:13px}.request input,.request select,.request textarea,.owner input,.owner select,.owner textarea{min-height:48px;font-size:16px;width:100%}.request .button,.owner .button{min-height:52px;gap:16px;line-height:1.5}.form-note{font-size:12px}.agency-copy>p:not(.eyebrow),.service p,.steps p{font-size:14px}.agency-copy{padding:40px 6%}.service h3{font-size:18px}.agency-image{min-height:300px}.complex-page h1{font-size:35px;overflow-wrap:anywhere}.complex-page .lead{font-size:24px}.complex-page .lead span{display:block;margin-top:8px}.complex-page p{font-size:15px}.complex-page .source-note{font-size:12px}.complex-page .button{min-height:52px;white-space:normal;line-height:1.4;gap:12px}.facts{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:16px 12px;font-size:14px;line-height:1.55}.facts dt,.facts dd{overflow-wrap:anywhere}.complex-photo{height:270px;margin-top:25px;border-radius:12px}.mobile-call{display:none!important}.mobile-actions{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 5% calc(12px + env(safe-area-inset-bottom,0px));background:#f7f7f2f5;box-shadow:0 -4px 24px #173f3b12;border-top:1px solid var(--line)}.mobile-actions button,.mobile-actions a{min-height:48px;display:flex;align-items:center;justify-content:center;font-size:13px;border:0;border-radius:8px;text-align:center;background:#e2e9ce;color:var(--ink)}.mobile-actions a{background:#223e35;color:white;font-weight:700}.callback{padding:28px 20px 22px;border-radius:14px}.callback h2{font-size:29px}.callback .eyebrow{padding-right:25px}.callback .button{min-height:50px}.document-box{padding:18px}.document-box input[type=file]{max-width:100%;font-size:13px;overflow:hidden}.document-box input::file-selector-button{padding:10px 8px;margin-right:7px;border:1px solid var(--line);background:white}footer{gap:15px}footer>span{font-size:12px}.prototype{font-size:10px;line-height:1.5}.integration p{font-size:14px}}
@media(max-width:350px){header .logo{font-size:21px}header .contact{font-size:11px}.card-image{height:220px}.mobile-actions{gap:6px;padding-inline:12px}.mobile-actions button,.mobile-actions a{font-size:12px}}

/* final mobile refinements */
.mobile-nav{scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.callback-availability{font-size:13px;padding:12px;border-radius:8px;background:#e8eddf;line-height:1.6}.callback [hidden]{display:none!important}[data-social-links]{display:flex;flex-wrap:wrap;gap:10px;font-size:13px}

[hidden] { display: none !important; }
