/* Taylor Real Estate — architectural editorial, scoped to this page. */
.real-estate-page {
  --re-bg:#191d1e; --re-surface:#22282a; --re-paper:#eeefeb;
  --re-ink:#f5f5f0; --re-muted:#b8c1c2; --re-line:#ffffff29;
  --re-gutter:var(--navigation-gutter,clamp(24px,4.6vw,72px)); --re-nav-height:60px;
  --font-heading:'TMO Sans',Arial,sans-serif;
  background:var(--re-bg); color:var(--re-ink);
}
.real-estate-page .re-main { width:min(100%,1600px); margin-inline:auto; padding-top:var(--header-height); font-family:var(--font-body); background:var(--re-bg); color:var(--re-ink); }
.re-main [hidden] { display:none!important; }
.re-main :where(h1,h2,h3,p) { margin:0; }
.real-estate-page .re-main :where(h1,h2,h3) { font-family:var(--font-body); font-weight:400; color:inherit; text-wrap:balance; }
.real-estate-page .re-main h2 { font-size:clamp(34px,3.4vw,52px); line-height:1.08; letter-spacing:-.05em; }
.real-estate-page .re-main h3 { font-size:clamp(25px,2.2vw,34px); line-height:1.14; letter-spacing:-.035em; }
.real-estate-page .re-main p { font-size:16px; line-height:1.65; }
.real-estate-page .re-main .eyebrow { color:var(--re-muted); font-size:11px; line-height:1.4; letter-spacing:.11em; text-transform:uppercase; margin:0 0 22px; }
.re-shell { width:calc(100% - 2 * var(--re-gutter)); margin-inline:auto; }
.re-section { padding-block:clamp(64px,6.5vw,100px); }
.real-estate-page .re-main [id] { scroll-margin-top:calc(var(--header-height) + var(--re-nav-height) + 22px); }
.real-estate-page .re-main :where(a,button,input,select,textarea):focus-visible,
.real-estate-page .re-main [role=tabpanel]:focus-visible { outline:2px solid #c4d6d9; outline-offset:5px; }
.re-main .ui-arrow { width:14px; height:14px; flex:none; }
.re-main .text-link { display:inline-flex; align-items:center; gap:24px; min-height:44px; font-size:13px; line-height:1.4; color:inherit; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
.re-main .text-link:hover { text-decoration-thickness:2px; }
.re-button { display:inline-flex; align-items:center; justify-content:space-between; min-height:50px; max-width:100%; gap:28px; padding:13px 24px; font:400 14px/1.4 var(--font-body); border:1px solid currentColor; border-radius:0; color:var(--re-ink); background:transparent; text-decoration:none; transition:background-color .2s,color .2s; }
.re-button:hover { background:var(--re-ink); color:var(--re-bg); }
.re-button:disabled { cursor:wait; opacity:.65; }
/* One architectural canvas with three concrete ways to enter the conversation. */
.re-hero { position:relative; isolation:isolate; display:flex; flex-direction:column; min-height:clamp(720px,56.25vw,900px); background:#28363e; color:white; }
.re-hero-photo,.re-hero-shade { position:absolute; inset:0; width:100%; height:100%; z-index:-2; }
.re-hero-photo { object-fit:cover; object-position:70% 50%; }
.re-hero-shade { z-index:-1; background:rgb(11 19 22 / 24%); }
.re-hero-layout { flex:1; padding-top:24px; padding-bottom:80px; }
.re-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:11px; line-height:1.5; margin-bottom:clamp(68px,6.5vw,100px); color:#e1e7e7; }
.re-breadcrumb a { display:inline-flex; align-items:center; min-height:30px; text-decoration:none; }
.re-breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.re-hero .eyebrow { color:#e0e6e7!important; }
.real-estate-page .re-hero h1 { color:#fff; font-size:clamp(82px,9.7vw,148px); letter-spacing:-.065em; line-height:1; margin:0 0 26px; text-wrap:nowrap; }
.real-estate-page .re-hero .re-hero-subtitle { font-size:clamp(23px,2.25vw,34px); line-height:1.22; letter-spacing:-.035em; max-width:650px; }
.re-hero-bottom { padding-block:28px 34px; background:#13202559; }
.re-hero-bottom>.re-shell { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; border-top:1px solid #ffffff73; padding-top:18px; }
.re-hero-objective { display:grid; grid-template-columns:24px 1fr; gap:12px; text-decoration:none; padding:10px 0; }
.re-hero-objective>.re-number { font-size:10px; color:#d2dcdf; padding-top:4px; }
.re-objective-copy { display:block; }
.re-objective-copy strong { display:block; font-size:18px; font-weight:400; letter-spacing:-.02em; margin-bottom:6px; }
.re-objective-copy>span { display:block; max-width:300px; font-size:12px; line-height:1.5; color:#e0e5e6; }
.re-objective-cta { grid-column:2; display:flex; align-items:center; gap:18px; font-size:12px; margin-top:5px; text-decoration:underline; text-underline-offset:5px; }
.re-hero-objective:hover .re-objective-cta { text-decoration-thickness:2px; }
/* A compact navigation stays below the shared header. */
.real-estate-page .re-section-nav { position:sticky; top:var(--header-height); z-index:18; padding:0; background:var(--re-bg); border-block:0; border-bottom:1px solid var(--re-line); }
.re-desktop-nav { display:flex; gap:30px; align-items:center; justify-content:space-between; min-height:var(--re-nav-height); }
.real-estate-page .re-section-nav a { display:flex; align-items:center; font-size:12px; min-height:var(--re-nav-height); padding:0; color:var(--re-muted); text-decoration:none; border-bottom:1px solid transparent; }
.real-estate-page .re-section-nav a[aria-current],.real-estate-page .re-section-nav a:hover { color:var(--re-ink); border-bottom-color:var(--re-ink); text-decoration:none; }
.re-mobile-nav { display:none; }
.re-introduction { display:grid; grid-template-columns:1.05fr 1fr; gap:90px; }
.re-introduction-copy>p { color:var(--re-muted); max-width:560px; }
.re-introduction-copy>p+p { margin-top:18px; }
.re-introduction .text-link { margin-top:22px; }
.re-section-heading { display:grid; grid-template-columns:1.05fr 1fr; gap:90px; align-items:end; margin-bottom:44px; }
.re-section-heading>p { max-width:500px; color:var(--re-muted); }
.re-fronts { padding-top:24px; }
.re-front-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.re-front { position:relative; isolation:isolate; min-width:0; min-height:560px; display:flex; flex-direction:column; justify-content:flex-end; background:var(--re-surface); overflow:hidden; }
.re-front>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .65s ease; }
.re-front::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 25%,rgb(10 17 19 / 16%) 42%,rgb(10 17 19 / 88%) 100%); }
.re-front-copy { padding:32px 28px; }
.real-estate-page .re-front-copy .eyebrow { font-size:10px; margin-bottom:14px; color:#dae1e1; }
.real-estate-page .re-front-copy h3 { font-size:clamp(26px,2.3vw,34px); max-width:310px; margin-bottom:16px; color:#fff; text-wrap:pretty; }
.real-estate-page .re-front-copy>p:not(.eyebrow) { font-size:14px; color:#e3e7e6; line-height:1.5; }
.re-front-copy .text-link { margin-top:20px; color:#fff; font-size:12px; }
.real-estate-page .re-main .re-front-note { color:var(--re-muted); font-size:11px; margin-top:17px; }
.re-industrial-details { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-top:46px; padding-top:34px; border-top:1px solid var(--re-line); }
.re-industrial-details article { display:block; }
.real-estate-page .re-industrial-details .eyebrow { margin-bottom:12px; font-size:10px; }
.real-estate-page .re-industrial-details h3 { font-size:26px; margin-bottom:13px; }
.real-estate-page .re-industrial-details p { color:var(--re-muted); font-size:14px; }
.re-industrial-details .text-link { margin-top:10px; justify-self:start; }
/* Existing material previews become light editorial sheets on charcoal. */
.re-information { background:var(--re-surface); }
.re-information-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:start; }
.re-document-tabs { display:flex; flex-direction:column; }
.re-tab-mobile { display:none; }
.re-document-tabs button { display:grid; grid-template-columns:26px 1fr 14px; gap:18px; align-items:start; border:0; border-top:1px solid var(--re-line); border-radius:0; background:none; padding:24px 16px; text-align:left; color:var(--re-muted); font:400 22px/1.2 var(--font-body); letter-spacing:-.025em; cursor:pointer; }
.re-document-tabs button:last-child { border-bottom:1px solid var(--re-line); }
.re-document-tabs button[aria-selected=true] { background:#ffffff0d; color:#fff; border-left:2px solid #d8e2e1; padding-left:14px; }
.re-document-tabs button small { display:block; font-size:13px; line-height:1.5; letter-spacing:0; margin-top:10px; color:var(--re-muted); }
.re-document-tabs .re-number { font-size:10px; letter-spacing:0; padding-top:5px; }
.re-document-tabs .ui-arrow { margin-top:6px; }
.re-document-stage { min-width:0; }
.re-document { background:var(--re-paper); color:#263033; padding:34px 38px 28px; min-height:540px; margin:0; }
.re-document+.re-document { margin-top:30px; }
.re-document[role=tabpanel] { margin-top:0; }
.re-document header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:34px; padding-bottom:20px; border-bottom:1px solid #bcc4c2; }
.re-document header img { width:120px; height:auto; filter:grayscale(1); }
.re-document header>span { font-size:9px; letter-spacing:.08em; }
.real-estate-page .re-document .re-document-label { color:#566365; font-size:10px; text-transform:uppercase; letter-spacing:.07em; margin-bottom:12px; }
.real-estate-page .re-document h3 { font-size:36px; letter-spacing:-.04em; color:#263033; margin-bottom:15px; }
.real-estate-page .re-document .re-document-purpose { font-size:14px; line-height:1.5; color:#566365; max-width:390px; }
.re-document ol { list-style:none; padding:0; margin:28px 0 0; }
.re-document li { padding:12px 0; border-top:1px solid #cad0cd; }
.re-document li strong { display:block; font-size:14px; font-weight:500; }
.re-document li span { display:block; font-size:12px; color:#586365; margin-top:4px; }
.re-document footer { margin-top:24px; padding-top:15px; border-top:1px solid #cad0cd; font-size:10px; color:#586365; }
.re-information-note { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; margin-top:32px; padding-top:24px; border-top:1px solid var(--re-line); }
.real-estate-page .re-information-note h3 { font-size:20px; }
.real-estate-page .re-information-note p { color:var(--re-muted); font-size:12px; max-width:560px; }
.re-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px; list-style:none; padding:0; margin:0; }
.re-steps li { border-top:1px solid var(--re-line); padding-top:22px; }
.re-steps .re-number { display:block; font-size:11px; color:var(--re-muted); margin-bottom:26px; }
.real-estate-page .re-steps h3 { font-size:23px; margin-bottom:14px; }
.real-estate-page .re-steps p { font-size:14px; color:var(--re-muted); }
.re-public-processes { padding-top:0; }
.re-public-processes .re-section-heading { border-top:1px solid var(--re-line); padding-top:48px; }
.re-process-types { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.re-process-types article { padding-top:24px; border-top:1px solid var(--re-line); }
.re-process-types .re-number { display:block; font-size:11px; color:var(--re-muted); margin-bottom:20px; }
.real-estate-page .re-process-types h3 { font-size:25px; margin-bottom:17px; }
.real-estate-page .re-process-types p { font-size:14px; color:var(--re-muted); }
.re-process-types .text-link { margin-top:18px; }
/* A second architectural photograph closes the narrative before the form. */
.re-contact-image { position:relative; isolation:isolate; min-height:clamp(420px,42vw,670px); display:flex; align-items:center; background:#1c2526; }
.re-contact-image-photo,.re-contact-image-shade { position:absolute; inset:0; width:100%; height:100%; z-index:-2; }
.re-contact-image-photo { object-fit:cover; }
.re-contact-image-shade { z-index:-1; background:#111a1c29; }
.re-contact-image-copy { padding-block:70px; }
.real-estate-page .re-contact-image h2 { max-width:600px; font-size:clamp(42px,4.5vw,68px); color:#fff; }
.re-contact-image .eyebrow { color:#dce5e4!important; }
.re-contact-image .re-button { margin-top:32px; color:#fff; }
.re-contact-image .re-button:hover { color:var(--re-bg); }
.re-contact { background:#e9ece8; color:#242e30; }
.re-contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:start; }
.real-estate-page .re-contact .eyebrow { color:#566467; }
.re-contact-copy>p:not(.eyebrow) { color:#566467; max-width:370px; margin-top:24px; }
.real-estate-page .re-contact-copy .re-contact-guidance { font-size:13px; }
.re-direct-contact { margin-top:22px; }
.re-contact .re-button { color:#fff; background:#263235; border-color:#263235; }
.re-contact .re-button:hover { color:#fff; background:#43575b; border-color:#43575b; }
.re-form fieldset { border:0; padding:0; margin:0 0 28px; min-width:0; }
.re-intent legend { font-size:14px; padding:0; margin-bottom:14px; }
.re-intent>div { display:flex; gap:4px 24px; flex-wrap:wrap; }
.re-intent label { display:flex; align-items:center; gap:10px; min-height:44px; font-size:13px; cursor:pointer; }
.re-intent input { width:16px; height:16px; accent-color:#334a4d; flex:none; margin:0; }
.re-form-fields { display:grid; grid-template-columns:1fr 1fr; gap:22px 20px; }
.re-field { min-width:0; }
.re-field label { display:block; font-size:12px; margin-bottom:8px; }
.re-field input,.re-field select,.re-field textarea,.re-contact-review textarea { display:block; width:100%; max-width:100%; min-height:48px; padding:12px 13px; font:400 16px/1.5 var(--font-body); color:#243033; background:#f6f7f3; border:1px solid #a7b2b0; border-radius:0; }
.re-field input::placeholder,.re-field textarea::placeholder { color:#617073; opacity:1; }
.re-field textarea,.re-contact-review textarea { resize:vertical; }
.re-full { grid-column:1/-1; }
.real-estate-page .re-contact :where(a,button,input,select,textarea):focus-visible { outline-color:#29494f; }
.re-form-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:24px; }
.real-estate-page .re-form .re-form-note { margin-top:16px; font-size:12px; line-height:1.5; color:#566467; }
.real-estate-page .re-form .re-form-status { margin-top:16px; font-size:14px; }
.re-contact-review { margin-top:24px; padding-top:24px; border-top:1px solid #a7b2b0; }
.real-estate-page .re-contact-review h3 { font-size:26px; margin-bottom:20px; }
.re-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.real-estate-page .tmo-footer { margin-top:0; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .re-front:hover>img { transform:scale(1.025); } }
@media(max-width:1100px) {
  .re-introduction,.re-section-heading,.re-information-layout,.re-information-note,.re-contact-layout { gap:42px; }
  .re-hero { min-height:710px; }
  .re-hero-bottom>.re-shell { gap:24px; }
  .re-front { min-height:530px; }
  .re-front-copy { padding:24px 20px; }
  .real-estate-page .re-front-copy h3 { font-size:27px; }
  .re-industrial-details { gap:36px; }
  .re-industrial-details article { grid-template-columns:1fr; }
  .re-document { padding:28px; }
  .re-document-tabs button { font-size:20px; grid-template-columns:22px 1fr 14px; gap:12px; padding-inline:10px; }
  .re-document-tabs button[aria-selected=true] { padding-left:8px; }
}
@media(min-width:761px) and (max-width:1000px) {
  .real-estate-page .re-front-copy h3 { font-size:clamp(22px,2.8vw,27px); }
}
@media(max-width:760px) {
  .real-estate-page { --re-nav-height:58px; }
  .re-section { padding-block:60px; }
  .re-hero { min-height:0; background:#26343b; }
  .re-hero-layout { order:0; padding-block:25px 36px; }
  .re-hero-photo { position:static; z-index:0; order:1; height:auto; aspect-ratio:16/9; object-fit:contain; }
  .re-hero-shade { display:none; }
  .re-breadcrumb { margin-bottom:40px; font-size:10px; gap:8px; }
  .real-estate-page .re-hero h1 { font-size:clamp(55px,12.5vw,88px); margin-bottom:22px; }
  .real-estate-page .re-hero .re-hero-subtitle { font-size:23px; }
  .re-hero-bottom { order:2; padding-block:10px; background:none; }
  .re-hero-bottom>.re-shell { grid-template-columns:1fr; gap:0; border:0; padding-top:0; }
  .re-hero-objective { grid-template-columns:20px 1fr; gap:14px; padding-block:18px; border-top:1px solid #ffffff30; }
  .re-hero-objective:first-child { border-top:0; }
  .re-objective-copy { display:block; }
  .re-objective-copy strong { margin:0; font-size:16px; }
  .re-objective-copy>span { margin-top:5px; max-width:300px; font-size:12px; }
  .re-objective-cta { font-size:11px; gap:10px; margin:0; }
  .re-desktop-nav { gap:24px; overflow-x:auto; justify-content:flex-start; }
  .re-section-nav[data-enhanced] .re-desktop-nav { display:none; }
  .re-section-nav[data-enhanced] .re-mobile-nav { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:58px; }
  .re-mobile-nav label { font-size:11px; color:var(--re-muted); white-space:nowrap; }
  .re-mobile-nav select { border:0; border-radius:0; background:var(--re-bg); color:var(--re-ink); font:400 16px var(--font-body); width:min(185px,60%); min-height:44px; padding:8px 4px; }
  .re-introduction,.re-section-heading,.re-information-layout,.re-information-note,.re-contact-layout { grid-template-columns:1fr; gap:30px; }
  .re-section-heading { margin-bottom:32px; }
  .re-fronts { padding-top:0; }
  .re-front-grid { grid-template-columns:1fr; gap:24px; }
  .re-front { min-height:clamp(470px,105vw,650px); }
  .re-front-copy { padding:30px; }
  .real-estate-page .re-front-copy h3 { font-size:34px; max-width:360px; }
  .re-industrial-details { gap:28px; grid-template-columns:1fr; margin-top:30px; padding-top:30px; }
  .re-industrial-details article+article { padding-top:26px; border-top:1px solid var(--re-line); }
  .re-document-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--re-line); }
  .re-document-tabs button { display:block; min-height:52px; font-size:13px; padding:12px 8px; border:0; border-bottom:2px solid transparent; text-align:center; }
  .re-document-tabs button:last-child { border-bottom:2px solid transparent; }
  .re-document-tabs button[aria-selected=true] { padding-left:8px; border:0; border-bottom:2px solid #d8e2e1; }
  .re-document-tabs button small,.re-document-tabs .re-number,.re-document-tabs .ui-arrow,.re-tab-desktop { display:none; }
  .re-tab-mobile { display:inline; }
  .re-document { padding:26px; min-height:0; }
  .re-document header { margin-bottom:26px; }
  .real-estate-page .re-document h3 { font-size:32px; }
  .re-information-note { gap:12px; margin-top:26px; }
  .re-steps { grid-template-columns:1fr 1fr; gap:28px; }
  .re-process-types { grid-template-columns:1fr; gap:28px; }
  .re-public-processes { padding-top:0; }
  .re-public-processes .re-section-heading { padding-top:36px; }
  .re-contact-image { min-height:440px; }
  .re-contact-image-photo { object-position:42% center; }
  .re-contact-image-shade { background:#111a1c66; }
  .re-contact-image-copy { padding-block:55px; }
  .real-estate-page .re-contact-image h2 { font-size:42px; }
  .re-contact-layout { gap:38px; }
  .re-contact-copy>p:not(.eyebrow) { max-width:550px; }
}
@media(max-width:420px) {
  .re-objective-copy { display:block; }
  .re-objective-cta { margin-top:10px; }
  .re-front-copy { padding:26px 24px; }
  .real-estate-page .re-front-copy h3 { font-size:31px; }
  .re-form-fields { grid-template-columns:1fr; }
  .re-full { grid-column:auto; }
  .re-steps { grid-template-columns:1fr; gap:24px; }
  .re-steps .re-number { margin-bottom:18px; }
  .re-document { padding:24px 20px; }
  .re-document header { gap:14px; }
  .re-document header img { width:104px; }
}
@media(max-width:359px) {
  .real-estate-page .re-front-copy h3 { font-size:28px; }
  .real-estate-page .re-document h3 { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) { .re-button,.re-front>img { transition:none; } }
