/* Spec sections 2–6: responsive geometry, figures, menus and form shells. */
html { font-synthesis: none; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
.wp-site-blocks > *, main > * { margin-block-start: 0; }
h1,h2,h3,h4,p,figure,ol,ul { margin: 0; }
h1,h2 { text-wrap: balance; }
a { color: inherit; text-underline-offset: 5px; }
img { display: block; max-width: 100%; }
svg { flex-shrink: 0; }
:where(a,summary,input,select,textarea,button):focus-visible { outline: 3px solid var(--wp--preset--color--cobalt); outline-offset: 3px; }
.dark :where(a,summary,input,select,textarea,button):focus-visible { outline-color: var(--wp--preset--color--focus-dark); }
.close :where(a,button):focus-visible { outline-color: var(--wp--preset--color--white); }
:where(a,summary) { min-height: 44px; }
.container { width: calc(100% - 128px); max-width: var(--wp--custom--geometry--content); margin-inline: auto; }
.dark { color: var(--wp--preset--color--white); background: var(--wp--preset--color--navy); }
.light { color: var(--wp--preset--color--ink-warm); background: var(--wp--preset--color--paper); }
.band { padding-block: var(--wp--preset--spacing--96); }
.eyebrow,.role { font: 500 var(--wp--preset--font-size--eyebrow)/20px var(--wp--preset--font-family--body); }
.eyebrow { color: var(--wp--preset--color--cobalt); margin-bottom: var(--wp--preset--spacing--16); }
.dark .eyebrow,.dark .text-link,.dark .suite-label { color: var(--wp--preset--color--ice); }
.lead { font-size: var(--wp--preset--font-size--lead); line-height: var(--wp--custom--line-height--lead); color: var(--wp--preset--color--muted); margin-top: var(--wp--preset--spacing--20); }
.body { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--body); line-height: var(--wp--custom--line-height--body); margin-top: var(--wp--preset--spacing--20); }
.dark :where(.lead,.body,.entry-detail,.catalogue,.fineprint,figcaption) { color: var(--wp--preset--color--muted-dark); }
.section-lead { max-width: 640px; }
.fineprint,figcaption,.field-helper { font-size: var(--wp--preset--font-size--small); line-height: var(--wp--custom--line-height--small); color: var(--wp--preset--color--muted); }
.text-link { display: inline-flex; align-items: center; color: var(--wp--preset--color--cobalt); margin-top: var(--wp--preset--spacing--12); }
.button > a,.button:is(a,button) { display: inline-flex; justify-content: center; align-items: center; gap: var(--wp--preset--spacing--12); min-height: 52px; padding: 14px 24px; border: 1.5px solid transparent; border-radius: var(--wp--custom--radius--control); font: 600 var(--wp--preset--font-size--control)/20px var(--wp--preset--font-family--body); text-decoration: none; transition: background .18s,border-color .18s; }
.primary > a,.primary:is(a,button) { background: var(--wp--preset--color--azure); color: var(--wp--preset--color--white); }
.primary > a:hover,.primary:is(a,button):hover { background: var(--wp--preset--color--azure-hover); }
.secondary > a { background: transparent; color: var(--wp--preset--color--ink-warm); border-color: var(--wp--preset--color--ink-warm); }
.secondary > a:hover { background: var(--wp--preset--color--sand); }
.dark .secondary > a { color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--ghost); }
.dark .secondary > a:hover { background: var(--wp--preset--color--tile-dark); }
.white-button > a { background: var(--wp--preset--color--white); color: var(--wp--preset--color--indigo); min-height: 56px; }
.white-button > a:hover { background: var(--wp--preset--color--paper); }
.skip { position: absolute; left: 20px; top: -100px; z-index: 20; padding: 12px 20px; background: var(--wp--preset--color--white); color: var(--wp--preset--color--indigo); border-radius: var(--wp--custom--radius--control); }
.skip:focus { top: 12px; }
/* Header and code-owned compact menu: spec 3.1. */
.header { height: var(--wp--custom--geometry--header); position: relative; z-index: 10; }
.header-row { height: 100%; display: flex; align-items: center; gap: var(--wp--preset--spacing--48); }
.brand { display: inline-flex; align-items: center; }
.brand img { width: 150px; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: var(--wp--preset--spacing--32); margin-left: auto; font-size: var(--wp--preset--font-size--control); font-weight: 500; }
.desktop-nav .wp-block-navigation__container { gap: var(--wp--preset--spacing--32); }
.desktop-nav .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; }
.header a { color: var(--wp--preset--color--white); text-decoration: none; }
.header a[aria-current="page"]:not(.button):not(.wp-block-button__link) { text-decoration: underline; text-underline-offset: 5px; }
.header-demo > a { width: 152px; min-height: 48px; padding-inline: 12px; }
.help-menu { position: relative; }
.help-menu summary { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.help-menu summary::-webkit-details-marker,.compact-nav summary::-webkit-details-marker { display: none; }
.help-panel { position: absolute; width: 240px; top: 52px; right: 0; padding: 12px; background: var(--wp--preset--color--navy-2); border: 1px solid var(--wp--preset--color--panel-border); border-radius: var(--wp--custom--radius--control); box-shadow: var(--wp--preset--shadow--shadow-menu); }
.help-panel a { display: flex; align-items: center; padding: 8px 12px; border-radius: var(--wp--custom--radius--small); }
.help-panel a:hover,.compact-nav a:hover { background: var(--wp--preset--color--tile-dark); }
.compact-nav { display: none; }
.compact-nav summary { cursor: pointer; display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; }
.compact-nav .wp-block-navigation { position: absolute; top: 72px; right: 64px; left: 64px; padding: 16px; background: var(--wp--preset--color--navy-2); border: 1px solid var(--wp--preset--color--panel-border); border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--shadow-compact-menu); }
.compact-nav .wp-block-navigation__container { width: 100%; gap: 0; }
.compact-nav .wp-block-navigation-item { width: 100%; }
.compact-nav a { display: flex; align-items: center; min-height: 48px; padding: 8px 12px; width: 100%; }
/* Hero and resident journey: spec 2.4, 3.2–3.6, 4. */
.hero-grid { display: grid; grid-template-columns: 640fr 528fr; gap: 32px; align-items: center; min-height: var(--wp--custom--geometry--hero); }
.page-home .hero-grid { grid-template-columns: 650fr 486fr; gap: 64px; }
.inner-hero .hero-grid { min-height: var(--wp--custom--geometry--inner-hero); }
.page-rescenter .hero-grid { grid-template-columns: 588fr 564fr; gap: 48px; min-height: var(--wp--custom--geometry--hero); }
.hero h1 { max-width: 620px; }
.page-home .hero h1 { max-width: 650px; }
.hero .lead { max-width: 600px; }
.hero-detail { max-width: 600px; font-size: var(--wp--preset--font-size--tile); line-height: var(--wp--custom--line-height--tile); }
.accent { color: var(--wp--preset--color--ice); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.hero-visual { position: relative; min-width: 0; }
.property { overflow: hidden; border-radius: var(--wp--custom--radius--photo); }
.property img { width: 100%; height: 100%; object-fit: cover; }
.property picture { display: block; height: 100%; }
.hero .property { height: var(--wp--custom--geometry--photo); }
.inner-hero .property { height: var(--wp--custom--geometry--inner-photo); }
.page-home .hero .property img { object-position: 56% 46%; }
.page-recoverycenter .hero .property img { object-position: 56% 70%; }
.page-buzz-agent .hero .property img { object-position: 40% 50%; }
.page-about .hero .property img { object-position: 30% 45%; }
.journey { position: absolute; width: var(--wp--custom--geometry--journey-width); min-height: var(--wp--custom--geometry--journey-height); padding: 28px 24px; left: -24px; top: 84px; background: var(--wp--preset--color--navy-2); border-radius: var(--wp--custom--radius--panel); box-shadow: var(--wp--preset--shadow--shadow-panel); }
.inner-hero .journey { top: 44px; }
.journey ol { list-style: none; position: relative; padding: 0; }
.journey ol::before { content: ''; position: absolute; width: 2px; background: var(--wp--preset--color--ice-2); left: 6px; top: 8px; height: calc(100% - 44px); }
.journey li { position: relative; min-height: 76px; padding-left: 28px; display: flex; flex-direction: column; justify-content: flex-start; }
.journey li:last-child { min-height: 44px; }
.dot { position: absolute; top: 5px; left: 0; width: 14px; height: 14px; border: 2px solid var(--wp--preset--color--ice-2); border-radius: var(--wp--custom--radius--pill); background: var(--wp--preset--color--navy-2); }
.dot.filled { background: var(--wp--preset--color--ice-2); }
.station { font-size: var(--wp--preset--font-size--tile); line-height: var(--wp--custom--line-height--station); font-weight: 500; }
.suite-label { font-size: var(--wp--preset--font-size--label); line-height: var(--wp--custom--line-height--suite-label); margin-top: 4px; color: var(--wp--preset--color--ice); }
.quiet .station,.quiet .suite-label { font-weight: 400; color: var(--wp--preset--color--muted-dark); }
/* Suites, product entries and diagrams: spec 3.2–3.6 and 6. */
.suites { padding-top: 64px; }
.suite-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 48px; }
.suite-column { border-top: 3px solid var(--wp--preset--color--cobalt); padding-top: 24px; }
.suite-column h3 { font-size: var(--wp--preset--font-size--suite); line-height: var(--wp--custom--line-height--script); letter-spacing: -.015em; }
.suite-column h3 a { display: inline-flex; align-items: center; text-decoration: none; }
.suite-intro { font-size: var(--wp--preset--font-size--tile); line-height: var(--wp--custom--line-height--tile); margin-top: 20px; color: var(--wp--preset--color--muted); }
.dark .suite-intro { color: var(--wp--preset--color--muted-dark); }
.tiles { display: grid; gap: 16px; margin-top: 24px; }
.tile { position: relative; display: grid; grid-template-columns: 32px minmax(0,1fr) 20px; gap: 16px; min-height: 136px; padding: 24px; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hair-paper); border-radius: var(--wp--custom--radius--card); color: var(--wp--preset--color--ink-warm); transition: border-color .18s; }
.tile:hover,.tile:focus-within { border-color: var(--wp--preset--color--cobalt); box-shadow: var(--wp--preset--shadow--shadow-hover); }
.tile a { text-decoration: none; }
.tile h4 a::after,.audience-tile h3 a::after { content: ''; position: absolute; inset: 0; }
.tile p { font-size: var(--wp--preset--font-size--tile); line-height: var(--wp--custom--line-height--tile); color: var(--wp--preset--color--muted); margin-top: 8px; }
.product-icon { color: var(--wp--preset--color--cobalt); }
.dark .product-icon { color: var(--wp--preset--color--ice); }
.entry-grid,.how-grid,.leader-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 48px; }
.entry { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 16px; min-width: 0; }
.catalogue { font-size: var(--wp--preset--font-size--control); line-height: var(--wp--custom--line-height--control); margin-top: 12px; }
.entry-detail { font-size: var(--wp--preset--font-size--tile); line-height: var(--wp--custom--line-height--tile); margin-top: 12px; color: var(--wp--preset--color--muted); }
.product-photo-grid { display: grid; grid-template-columns: 480fr 656fr; gap: 64px; align-items: start; }
.product-photo-grid > .property { position: sticky; top: 104px; height: 440px; }
.product-photo-grid > .property img { object-position: 20% 50%; }
.ruled-entries { grid-template-columns: minmax(0,1fr); margin-top: 32px; gap: 0; }
.ruled-entries .entry { border-top: 1px solid var(--wp--preset--color--hair-sand); padding-block: 24px; border-radius: 0; }
.entry-figure { margin-top: 24px; max-width: 420px; }
.entry-figure svg { width: 100%; height: auto; }
.entry-figure text { fill: var(--wp--preset--color--ink-warm); font: 400 14px var(--wp--preset--font-family--body); }
.entry-figure .diagram-surface { fill: var(--wp--preset--color--paper); stroke: var(--wp--preset--color--cobalt); stroke-width: 1.5; }
.entry-figure .diagram-tile { fill: var(--wp--preset--color--ice-wash); stroke: var(--wp--preset--color--cobalt); stroke-width: 1.5; }
.entry-figure .diagram-links { fill: none; stroke: var(--wp--preset--color--cobalt); stroke-width: 1.5; }
.entry-figure figcaption { margin-top: 12px; }
.paths,.how,.leadership,.clients,.faq,.handoff { background: var(--wp--preset--color--navy-2); }
.paths .entry { background: var(--wp--preset--color--tile-dark); border: 1px solid var(--wp--preset--color--hair-dark); border-radius: var(--wp--custom--radius--card); padding: 24px; grid-template-rows: auto 1fr; }
.product-diagram { grid-column: 1/-1; align-self: end; padding-top: 8px; max-width: 480px; width: 100%; }
.product-diagram svg { width: 100%; aspect-ratio: 360/300; height: auto; display: block; }
.product-diagram text { font: 400 16px var(--wp--preset--font-family--body); fill: var(--wp--preset--color--muted-dark); }
.product-diagram .diagram-surface { fill: var(--wp--preset--color--navy-2); stroke: var(--wp--preset--color--hair-dark); stroke-width: 1.5; }
.product-diagram .diagram-links { fill: none; stroke: var(--wp--preset--color--ice-2); stroke-width: 1.5; }
.product-diagram .diagram-emphasis { stroke: var(--wp--preset--color--ice-2); }
.product-diagram .diagram-emphasis-label { fill: var(--wp--preset--color--ice); }
.product-diagram figcaption { margin-top: 12px; min-height: 60px; }
/* Handoff scripts, controls and pay paths: spec 3.2, 3.3, 3.5. */
.handoff-grid { display: grid; grid-template-columns: 384fr 752fr; gap: 64px; }
.script ol { list-style: none; padding: 0; display: grid; gap: 24px; }
.script .say { display: grid; grid-template-columns: 152px minmax(0,1fr); gap: 24px; border-left: 2px solid var(--wp--preset--color--hair-dark); padding-left: 24px; }
.script .say p { font: 300 var(--wp--preset--font-size--script)/40px var(--wp--preset--font-family--display); letter-spacing: -.01em; }
.script .role { padding-top: 8px; }
.script .team { background: var(--wp--preset--color--tile-dark); border-left: 6px solid var(--wp--preset--color--ice); border-radius: var(--wp--custom--radius--control); padding: 24px; }
.script .stage p { display: inline-block; font-size: var(--wp--preset--font-size--eyebrow); line-height: var(--wp--custom--line-height--station); font-weight: 500; padding: 8px 16px; background: var(--wp--preset--color--stage-pill); border-radius: var(--wp--custom--radius--pill); }
.script figcaption { margin-top: 24px; }
.how-grid article,.leader-grid article,.path-stack article { border-top: 2px solid var(--wp--preset--color--ice-2); padding-top: 24px; }
.how-grid p { font-size: var(--wp--preset--font-size--control); line-height: var(--wp--custom--line-height--control); margin-top: 12px; }
.dark .how-grid p { color: var(--wp--preset--color--muted-dark); }
.handoff-card { background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink-warm); padding: 32px; border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--shadow-card); }
.handoff-card .say { display: block; border-color: var(--wp--preset--color--ink-warm); }
.handoff-card .say p { font-size: var(--wp--preset--font-size--form-title); line-height: var(--wp--custom--line-height--form-title); }
.handoff-card .role { display: block; padding-top: 0; margin-bottom: 8px; }
.handoff-card .team { background: var(--wp--preset--color--sand); border-color: var(--wp--preset--color--cobalt); }
.handoff-card .stage p { padding: 0; background: transparent; border-radius: 0; color: var(--wp--preset--color--muted); }
.handoff-card figcaption { color: var(--wp--preset--color--muted); }
.pay-grid,.after-grid { display: grid; grid-template-columns: 486fr 636fr; gap: 78px; }
.pay.light { background: var(--wp--preset--color--ice-wash); }
.pay.dark { background: var(--wp--preset--color--navy-2); }
.page-home .pay,.page-buzz-agent .pay { padding-block: 64px; }
.path-stack { display: grid; gap: 24px; }
.path-stack p { font-size: var(--wp--preset--font-size--control); line-height: var(--wp--custom--line-height--control); margin-top: 12px; }
.pay-path { list-style: none; padding-left: 0; }
.pay-path li { min-height: 96px; border-left: 2px solid var(--wp--preset--color--cobalt); padding-left: 32px; }
.dark .pay-path li { border-color: var(--wp--preset--color--ice-2); }
.pay-path p { font: 400 var(--wp--preset--font-size--form-title)/var(--wp--custom--line-height--form-title) var(--wp--preset--font-family--display); }
.pay-path .eyebrow { margin-bottom: 8px; }
.buzz-handoff { background: var(--wp--preset--color--navy); }
.opening,.story-copy p { font: 300 var(--wp--preset--font-size--opening)/34px var(--wp--preset--font-family--display); }
.pull-line { margin-top: 32px; border-left: 2px solid var(--wp--preset--color--cobalt); padding-left: 24px; }
.story-copy { max-width: 720px; }
.story-copy p { margin-top: 24px; padding-left: 24px; border-left: 2px solid var(--wp--preset--color--ink-warm); }
.leader-grid p { font-size: var(--wp--preset--font-size--tile); line-height: var(--wp--custom--line-height--tile); margin-top: 12px; color: var(--wp--preset--color--muted-dark); }
.leader-photo { margin: 0 0 20px; }
.leader-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--wp--custom--radius--card); }
.leader-grid .leader-bio { color: var(--wp--preset--color--white); }
.leader-linkedin a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--wp--preset--color--ice); }
.journey-rail { position: static; width: 100%; min-height: 0; padding: 0; background: transparent; box-shadow: none; margin-top: 48px; }
.journey-rail ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.journey-rail ol::before { width: calc(100% - 44px); height: 2px; }
.journey-rail li { padding: 32px 0 0; }
.about-suites,.lifecycle,.after { background: var(--wp--preset--color--navy); }
.close { padding-block: 80px; color: var(--wp--preset--color--white); background: var(--wp--preset--color--azure); }
.close-row { display: flex; align-items: center; gap: 48px; justify-content: space-between; }
.close-row > div:not(.wp-block-button) { max-width: 824px; }
.close h2 { font-size: var(--wp--preset--font-size--compact); line-height: var(--wp--custom--line-height--compact); }
.close :where(.body,.lead) { color: var(--wp--preset--color--white); font-size: var(--wp--preset--font-size--lead); line-height: var(--wp--custom--line-height--lead); }
.close .wp-block-button { flex-shrink: 0; }
/* Compact pages, field shells and FAQ: spec 3.7–3.8 and 5. */
.compact-hero h1 { font-size: var(--wp--preset--font-size--compact); line-height: var(--wp--custom--line-height--compact); }
.compact-hero :where(.lead,.fineprint) { max-width: 900px; }
.compact-hero .fineprint { margin-top: 16px; color: var(--wp--preset--color--muted-dark); }
.page-demo .compact-hero { padding-block: 32px 24px; }
.page-demo .compact-hero :where(.lead,.fineprint) { max-width: 1200px; }
.page-support .compact-hero { padding-block: 64px 48px; }
.work-band { padding-block: 48px 96px; }
.page-demo .work-band { padding-top: 24px; }
.work-grid { display: grid; grid-template-columns: 588fr 564fr; gap: 48px; align-items: start; }
.form-card,.support-card { padding: 32px; background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--card); color: var(--wp--preset--color--ink-warm); }
.fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.form-required { margin-bottom: 24px; }
label,legend { display: block; font-size: var(--wp--preset--font-size--small); line-height: var(--wp--custom--line-height--small); font-weight: 600; margin-bottom: 8px; }
input,select,textarea { width: 100%; min-height: 48px; padding: 10px 12px; border: 1.5px solid var(--wp--preset--color--field-border); border-radius: var(--wp--custom--radius--control); background: var(--wp--preset--color--white); color: var(--wp--preset--color--indigo); font: 400 var(--wp--preset--font-size--control)/24px var(--wp--preset--font-family--body); }
textarea { resize: vertical; }
fieldset { border: 0; padding: 0; margin: 24px 0 0; }
.radio-row { display: flex; align-items: center; gap: 12px; font-size: var(--wp--preset--font-size--control); font-weight: 400; min-height: 44px; margin: 0; }
.radio-row input { width: 20px; height: 20px; min-height: 20px; accent-color: var(--wp--preset--color--cobalt); }
.form-fineprint { margin-block: 24px; }
.field-helper { margin-top: 8px; }
.client-form { max-width: 588px; margin-top: 32px; }
.client-form h3,.resident-form h2 { font-size: var(--wp--preset--font-size--form-title); line-height: var(--wp--custom--line-height--form-title); margin-bottom: 24px; }
.clients label { color: var(--wp--preset--color--ice); }
.client-form .field:has(#client-email),.client-form .field:has(#client-help) { grid-column: 1/-1; }
.resident-form { grid-column: 1/-1; }
.next { display: flex; flex-direction: column; }
.next h2 { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--label); line-height: var(--wp--custom--line-height--small); font-weight: 500; }
.next .property { order: -1; width: 100%; max-width: 486px; height: 360px; margin-bottom: 24px; }
.next .property img { object-position: 60% 50%; }
.next .body { max-width: 720px; }
.support-card section + section { margin-top: 40px; }
.support-card h2 { font-size: var(--wp--preset--font-size--form-title); line-height: var(--wp--custom--line-height--form-title); margin-bottom: 24px; }
.audience-tiles { display: grid; gap: 16px; margin-bottom: 24px; }
.audience-tile { grid-template-columns: minmax(0,1fr) 16px; min-height: 44px; }
.audience-tile h3 { font-size: var(--wp--preset--font-size--lead); line-height: var(--wp--custom--line-height--body); }
.support-photo .property { height: 240px; }
.support-photo .property img { object-position: 80% 50%; }
.faq details { border-top: 1px solid var(--wp--preset--color--hair-dark); padding-block: 16px; }
.faq h2 { margin-bottom: 32px; }
.faq summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-size: var(--wp--preset--font-size--body); line-height: var(--wp--custom--line-height--body); font-weight: 600; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq details[open] summary svg { transform: rotate(180deg); }
.faq .body { max-width: 900px; }
/* Footer: spec 3.1. */
.footer { padding-block: 80px 40px; }
.footer-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.footer-grid h2 { font: 600 var(--wp--preset--font-size--label)/var(--wp--custom--line-height--small) var(--wp--preset--font-family--body); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--muted-dark); margin-bottom: 16px; }
.footer-grid a { display: flex; align-items: center; font-size: var(--wp--preset--font-size--control); line-height: var(--wp--custom--line-height--body); text-decoration: none; }
.legal { border-top: 1px solid var(--wp--preset--color--legal-rule); padding-top: 24px; margin-top: 48px; display: flex; gap: 24px; flex-wrap: wrap; align-items: center; color: var(--wp--preset--color--muted-dark); font-size: var(--wp--preset--font-size--small); line-height: var(--wp--custom--line-height--small); }
.legal a { min-width: var(--wp--preset--spacing--44); min-height: var(--wp--preset--spacing--44); display: inline-flex; align-items: center; }
.legal > span { margin-right: auto; }
/* Cookie settings reopens the CookieYes preferences (cky-banner-element); it looks like the links beside it. */
.legal button { min-width: var(--wp--preset--spacing--44); min-height: var(--wp--preset--spacing--44); display: inline-flex; align-items: center; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.page-demo .footer { border-top: 1px solid var(--wp--preset--color--legal-rule); }
/* Match E2 dark-section text with explicit component rules. Keep light card text scoped. */
.paths .catalogue,.paths .entry-detail,.clients .fineprint { color: var(--wp--preset--color--muted-dark); }
.script .stage p { color: var(--wp--preset--color--muted-dark); }
.handoff-card .stage p { color: var(--wp--preset--color--muted); }
.dark .path-stack p { color: var(--wp--preset--color--muted-dark); }
.dark .role,.dark .how-grid p.eyebrow { color: var(--wp--preset--color--ice); }
.handoff-card .role { color: var(--wp--preset--color--cobalt); }
@media (max-width:1200px) {
 .band { padding-block: 64px; }
 .hero h1 { font-size: var(--wp--preset--font-size--compact); line-height: var(--wp--custom--line-height--section); }
 .hero .lead { font-size: var(--wp--preset--font-size--body); line-height: var(--wp--custom--line-height--body); }
 .journey { width: 216px; left: -16px; }
 .page-home .journey { top: 60px; }
 .station { font-size: var(--wp--preset--font-size--control); }
 .handoff-grid { grid-template-columns: 1fr 1.65fr; }
 .script .say p { font-size: var(--wp--preset--font-size--form-title); line-height: var(--wp--custom--line-height--form-title); }
 .tile,.paths .entry { padding: 20px; }
 .close h2 { font-size: var(--wp--preset--font-size--section); line-height: var(--wp--custom--line-height--section); }
 .page-support .compact-hero { padding-block: 48px; }
 .work-band { padding-bottom: 64px; }
}
@media (max-width:1100px) {
 .desktop-nav,.header-demo { display: none; }
 .header-row > .wp-block-template-part { margin-left: auto; }
 .compact-nav { display: block; }
 .hero h1 { font-size: clamp(36px,3.75vw,48px); line-height: 1.083; }
 .hero-actions .wp-block-button__link { font-size: var(--wp--preset--font-size--eyebrow); }
 .tile { grid-template-columns: 32px minmax(0,1fr) 16px; }
 .tile h4 { font-size: var(--wp--preset--font-size--lead); line-height: var(--wp--custom--line-height--tile); }
 .script .say p { font-size: var(--wp--preset--font-size--opening); line-height: var(--wp--custom--line-height--opening); }
 .close h2 { font-size: var(--wp--preset--font-size--medium-hero); line-height: var(--wp--custom--line-height--medium-hero); }
 .audience-tile { grid-template-columns: minmax(0,1fr) 16px; }
}
@media (min-width:901px) and (max-width:1100px) { .hero .hero-actions { flex-direction: column; align-items: flex-start; } }
@media (max-width:900px) {
 .container { width: calc(100% - 96px); }
 .compact-nav .wp-block-navigation { left: 48px; right: 48px; }
 .hero-grid,.page-home .hero-grid,.page-rescenter .hero-grid,.handoff-grid,.pay-grid,.after-grid,.product-photo-grid,.work-grid { grid-template-columns: minmax(0,1fr); gap: 48px; }
 .hero-grid,.inner-hero .hero-grid,.page-rescenter .hero-grid { padding-block: 64px; min-height: 0; }
 .hero h1 { font-size: var(--wp--preset--font-size--compact); line-height: var(--wp--custom--line-height--section); }
 .hero .lead { font-size: var(--wp--preset--font-size--lead); line-height: var(--wp--custom--line-height--lead); }
 .hero-visual { display: flex; flex-direction: column; gap: 24px; }
 .hero .property,.inner-hero .property { height: 400px; }
 .journey,.inner-hero .journey,.page-home .journey { position: relative; width: 100%; min-height: 0; left: auto; top: auto; }
 .journey ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
 .journey ol::before { height: 2px; width: calc(100% - 44px); }
 .journey li { padding: 32px 0 0; min-height: 0; }
 .station { font-size: var(--wp--preset--font-size--eyebrow); }
 .script .say p { font-size: var(--wp--preset--font-size--script); line-height: var(--wp--custom--line-height--script); }
 .product-photo-grid > .property { position: static; height: 400px; }
 .close-row { flex-direction: column; align-items: flex-start; gap: 32px; }
 .compact-hero h1 { font-size: var(--wp--preset--font-size--medium-hero); line-height: var(--wp--custom--line-height--phone-hero); }
 .compact-hero .lead { font-size: var(--wp--preset--font-size--body); line-height: var(--wp--custom--line-height--body); }
 .page-demo .compact-hero,.page-support .compact-hero { padding-block: 48px; }
 .page-demo .work-band,.page-support .work-band { padding-block: 48px 64px; }
 .next .property { order: 0; margin-block: 24px 0; max-width: none; }
}
@media (max-width:768px) {
 .suite-grid,.entry-grid,.how-grid,.fields { grid-template-columns: minmax(0,1fr); }
 .leader-grid,.footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .desktop-break { display: none; }
 .journey ol { display: block; }
 .journey ol::before { height: calc(100% - 44px); width: 2px; }
 .journey li { padding: 0 0 0 28px; min-height: 76px; }
 .journey li:last-child { min-height: 44px; }
 .station { font-size: var(--wp--preset--font-size--tile); }
 .script .say { display: block; }
 .script .role { display: block; padding-top: 0; margin-bottom: 8px; }
 .handoff-card .say p { font-size: var(--wp--preset--font-size--phone-script); line-height: var(--wp--custom--line-height--lead); }
 .story-copy p { font-size: var(--wp--preset--font-size--entry); line-height: var(--wp--custom--line-height--story-phone); }
}
@media (max-width:480px) {
 .container { width: calc(100% - 40px); }
 .compact-nav .wp-block-navigation { left: 20px; right: 20px; }
 .band,.hero-grid,.inner-hero .hero-grid,.page-rescenter .hero-grid,.close,.page-home .pay,.page-buzz-agent .pay { padding-block: 48px; }
 .hero h1,.compact-hero h1 { font-size: var(--wp--preset--font-size--medium-hero); line-height: var(--wp--custom--line-height--phone-hero); }
 h2,.close h2 { font-size: var(--wp--preset--font-size--phone-section); line-height: var(--wp--custom--line-height--form-title); }
 .body { font-size: var(--wp--preset--font-size--control); line-height: var(--wp--custom--line-height--control); }
 .hero .lead,.compact-hero .lead,.close :where(.body,.lead) { font-size: var(--wp--preset--font-size--body); line-height: var(--wp--custom--line-height--body); }
 .hero-actions { flex-direction: column; gap: 12px; }
 .wp-block-button,.button:is(a,button),.button > a { width: 100%; }
 .button > a,.button:is(a,button) { min-height: 48px; font-size: var(--wp--preset--font-size--control); }
 .hero .property,.inner-hero .property,.product-photo-grid > .property { height: auto; aspect-ratio: 16/9; }
 .property { border-radius: var(--wp--custom--radius--panel); }
 .page-recoverycenter .hero .property,.page-buzz-agent .hero .property { display: none; }
 .journey li { min-height: 60px; }
 .suite-column h3 { font-size: var(--wp--preset--font-size--form-title); line-height: var(--wp--custom--line-height--lead); }
 .tile { padding: 20px 16px; }
 .script .say p { font-size: var(--wp--preset--font-size--phone-script); line-height: var(--wp--custom--line-height--lead); }
 .pay-path p,.opening { font-size: var(--wp--preset--font-size--entry); line-height: var(--wp--custom--line-height--story-phone); }
 .entry h3,.how-grid h3,.leader-grid h3 { font-size: var(--wp--preset--font-size--lead); line-height: var(--wp--custom--line-height--tile); }
 .path-stack h3 { font-size: var(--wp--preset--font-size--entry); line-height: var(--wp--custom--line-height--body); }
 .leader-grid,.footer-grid { grid-template-columns: minmax(0,1fr); }
 .form-card,.support-card { padding: 24px 20px; }
 .handoff-card { padding: 24px; }
 .entry-figure { max-width: none; }
 .page-demo .compact-hero,.page-support .compact-hero { padding-block: 32px 24px; }
 .page-demo .work-band,.page-support .work-band { padding-block: 24px 48px; }
 .work-grid { gap: 32px; }
 .footer { padding-top: 48px; }
 .legal > span { flex-basis: 100%; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition: none !important; } }

/* E2 FIX7: opaque About rule. */
.page-about .about-suites.dark .suite-column{border-top-color:var(--wp--preset--color--ice-2)}
/* Resident utility strip. */
.resident-strip{background:var(--wp--preset--color--navy-2);font:400 var(--wp--preset--font-size--small)/var(--wp--custom--line-height--small) var(--wp--preset--font-family--body);color:var(--wp--preset--color--muted-dark)}
.resident-strip .container{display:flex;align-items:center;justify-content:flex-end;gap:var(--wp--preset--spacing--4)}
.resident-pay{display:inline-flex;align-items:center;gap:var(--wp--preset--spacing--6);min-height:var(--wp--preset--spacing--44);min-width:var(--wp--preset--spacing--44);text-decoration:underline;text-underline-offset:var(--wp--preset--spacing--4)}
.resident-pay:hover{color:var(--wp--preset--color--white)}
@media(max-width:1100px){.resident-strip .container{justify-content:center}}

/* Reclaim the resident strip height above phone heroes; retain bottom spacing. */
@media(max-width:480px){
  .hero-grid,.inner-hero .hero-grid,.page-home .hero-grid,.page-rescenter .inner-hero .hero-grid{padding-top:var(--wp--preset--spacing--4)}
  .compact-hero,.page-support .compact-hero,.page-demo .compact-hero{padding-top:0}
}


.resident-strip a.resident-pay{color:inherit}
.resident-strip a.resident-pay:hover{color:var(--wp--preset--color--white)}

.page-recoverycenter .product-diagram svg text,.page-rescenter .entry-figure svg text{font:inherit;fill:inherit}
/* Figure polish: scoped to the copied variants. */
.page-recoverycenter #paths .product-diagram{width:100%;max-width:none;padding:0;margin-top:var(--wp--preset--spacing--24);align-self:end}
.page-recoverycenter .product-diagram svg,.page-rescenter .entry-figure svg{display:block;width:100%;height:auto;aspect-ratio:1;max-width:var(--wp--custom--geometry--figure-card);font:500 var(--wp--preset--font-size--control) var(--wp--preset--font-family--body);fill:var(--wp--preset--color--ink-warm)}
.page-recoverycenter .product-diagram svg{max-width:none;fill:var(--wp--preset--color--white)}
.page-rescenter .entry-figure{width:100%;max-width:var(--wp--custom--geometry--figure-card);margin-top:var(--wp--preset--spacing--24)}
.polish-node{fill:var(--wp--preset--color--ice-wash);stroke:var(--wp--preset--color--cobalt);stroke-width:1.5}
.polish-em{fill:var(--wp--preset--color--ice);stroke:var(--wp--preset--color--ice)}
.polish-icon{fill:none;stroke:var(--wp--preset--color--cobalt);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.polish-link{fill:none;stroke:var(--wp--preset--color--cobalt);stroke-width:2;stroke-linejoin:round}
.polish-arrow{fill:var(--wp--preset--color--cobalt)}
.polish-rule{stroke:var(--wp--preset--color--cobalt);stroke-width:1.5;opacity:.35}
.page-recoverycenter .polish-node{fill:var(--wp--preset--color--navy-2);stroke:var(--wp--preset--color--ice-2)}
.page-recoverycenter .polish-em{fill:var(--wp--preset--color--ice);stroke:var(--wp--preset--color--ice)}
.page-recoverycenter .polish-em + .polish-icon{stroke:var(--wp--preset--color--navy)}
.page-recoverycenter .polish-em ~ text{fill:inherit}
.page-recoverycenter .polish-icon,.page-recoverycenter .polish-link,.page-recoverycenter .polish-rule{stroke:var(--wp--preset--color--ice-2)}
.page-recoverycenter .polish-arrow{fill:var(--wp--preset--color--ice)}
.page-recoverycenter .product-diagram figcaption,.page-rescenter .entry-figure figcaption{font:400 var(--wp--preset--font-size--small)/var(--wp--custom--line-height--small) var(--wp--preset--font-family--body);margin-top:var(--wp--preset--spacing--16);min-height:var(--wp--custom--geometry--figure-caption);color:var(--wp--preset--color--muted)}
.page-recoverycenter .product-diagram figcaption{color:var(--wp--preset--color--muted-dark)}

.page-recoverycenter svg text.polish-ink{fill:var(--wp--preset--color--navy)}

/* Round 2 B: readable product cards at 360px and 390px. */
.page-recoverycenter .product-diagram svg,.page-rescenter .entry-figure svg{font-size:var(--wp--preset--font-size--body)}
.page-recoverycenter #billing-concierge .polish-node.polish-support{stroke:var(--wp--preset--color--hair-dark);fill:var(--wp--preset--color--tile-dark);stroke-dasharray:4 4}
.page-recoverycenter svg text.polish-muted{fill:var(--wp--preset--color--muted-dark)}
.page-rescenter .entry>div{min-width:0}
.page-rescenter .entry h3{overflow-wrap:break-word}
@media(max-width:480px){
 .page-rescenter .entry-figure{margin-left:-var(--wp--preset--spacing--48);width:calc(100% + var(--wp--preset--spacing--48));max-width:var(--wp--custom--geometry--figure-card)}
 .page-rescenter #products .entry-figure{margin-left:0;width:100%;max-width:none}
 .page-rescenter #products .entry-figure svg{width:100%;max-width:none}
 .page-recoverycenter #paths .entry{padding:var(--wp--preset--spacing--20) var(--wp--preset--spacing--16)}
}

.page-rescenter #resident-mobile-app .app-label{text-anchor:middle;dominant-baseline:central}
.page-rescenter #resident-mobile-app .app-label-wide{display:none}
.page-rescenter #resident-mobile-app .app-label-phone{display:inline}
.page-recoverycenter #collect-central text.collect-detail{font-size:var(--wp--preset--font-size--eyebrow);fill:var(--wp--preset--color--muted-dark)}
.page-rescenter #eviction-assistant text.eviction-detail{font-size:var(--wp--preset--font-size--eyebrow);fill:var(--wp--preset--color--muted)}

/* QC: closed details panels must have no layout or focus targets. */
.help-menu:not([open]) > :not(summary),.compact-nav:not([open]) > :not(summary){display:none}
@media(max-width:480px){.page-rescenter .hero-detail{display:none}}

/* Matches to the packaged site (site/e2/style.css), found comparing screenshots 2026-10-15. */
/* Header: the menu sits after the logo and the demo button takes the right edge. */
.desktop-nav { margin-left: 0; }
.header-demo { margin-left: auto; }
/* Whole-tile links (Support audience tiles) carry no underline. */
a.tile { text-decoration: none; color: inherit; }
/* Links inside a sentence stay inline (spec section 2.4), e.g. the accessibility link on /support/. */
p .text-link { display: inline; margin-top: 0; }
/* The support card's headings use the page H2 size, as in the design. */
.support-card h2 { font-size: 44px; line-height: 52px; }
@media (max-width: 480px) { .support-card h2 { font-size: 30px; line-height: 36px; } }
/* The mobile-menu part is empty on desktop but still took a header gap after the demo button. */
@media (min-width: 1101px) { .header-row > .wp-block-template-part { display: none; } }
/* Underlines as in the design: links are plain unless they are text links or the pay link. */
a { text-decoration: none; }
.text-link { text-decoration: underline; text-underline-offset: 4px; }
.footer a:hover,.desktop-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
/* Inner-page body copy keeps the 720px reading width (spec §2.4). */
.inner-page .container > .body { max-width: 720px; }
/* Help menu: open under the item, left-aligned, as in the design. Core's flow layout added a
   block-gap margin above the panel, which pushed it ~24px further down. */
.help-menu summary { min-height: 44px; white-space: nowrap; list-style: none; }
.help-menu[open] summary svg { transform: rotate(180deg); }
.help-menu > .help-panel { margin-block-start: 0; left: 0; right: auto; }
.help-panel a { min-height: 44px; }
/* Footer legal row: links follow the copyright on the left, as in the design. */
.legal > span { margin-right: 0; }
/* Demo form (ticket 04): inline errors, the hidden bot trap, and the sent message. */
.field-error { display: block; margin-top: 6px; color: #B42318; font-size: var(--wp--preset--font-size--small); line-height: var(--wp--custom--line-height--small); }
.field-error[hidden],.form-sent[hidden],.demo-fields[hidden] { display: none; }
.form-problem { margin-top: 16px; }
[aria-invalid="true"] { border-color: #B42318; }
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-sent { font-size: var(--wp--preset--font-size--lead); line-height: var(--wp--custom--line-height--lead); color: var(--wp--preset--color--ink-warm); }
.form-sent:focus { outline: none; }

/* RC8g: the Billing Concierge fallback card fits its retained content. */
.page-recoverycenter #billing-concierge{align-self:start}
/* Phone numbers stay on one line. Done in CSS so the text keeps plain hyphens and copies, pastes and searches cleanly. */
a[href^="tel:"] { white-space: nowrap; }
/* YouTube videos in the old posts (scripts/legacy-content.php). */
.video-embed { margin: 32px 0; }
.video-embed iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
/* Posts (single.html): title, date and body share the 720px reading column. Patterns set their own
   spacing (blockGap 0), so article copy gets its rhythm from .prose. */
.article { padding: 64px 16px 96px; }
.article-head h1 { font-size: var(--wp--preset--font-size--compact); line-height: 1.15; }
.article-head .wp-block-post-date { margin-top: 12px; color: var(--wp--preset--color--muted-dark); font-size: var(--wp--preset--font-size--small); }
.prose { margin-top: 40px; font-size: var(--wp--preset--font-size--body); line-height: 1.6; }
.prose > * + * { margin-top: 20px; }
.prose > h2, .prose > h3, .prose > h4 { margin-top: 40px; }
.prose ul, .prose ol { padding-left: 24px; }
.prose li + li { margin-top: 8px; }
.prose a { text-decoration: underline; }
.prose img { max-width: 100%; height: auto; }
@media (max-width: 600px) {
 .article { padding-top: 40px; }
 .article-head h1 { font-size: var(--wp--preset--font-size--form-title); line-height: 1.25; }
}
/* Kept pages (scripts/legacy-content.php, assets/legacy/): their hero and bands live in post content,
   so they carry their own spacing. */
.wp-block-post-content > :where(.compact-hero,.band) { margin-block: 0; }
.wp-block-post-content > .compact-hero { padding-block: 64px 48px; }
.legacy-band .container > * + * { margin-top: 16px; }
.legacy-band .container > h2:not(:first-child):not(.legacy-subhead) { margin-top: 48px; }
.legacy-band .container > h3 { margin-top: 32px; }
.legacy-band .container > :where(.wp-block-buttons,.wp-block-image,.gform_wrapper) { margin-top: 32px; }
.legacy-band ul { padding-left: 24px; }
.legacy-band .container > :where(.body,.wp-block-list) { max-width: 720px; }
.legacy-band li + li { margin-top: 8px; }
.legacy-band .legacy-photo img { display: block; max-width: 720px; width: 100%; height: auto; }
/* Gravity Forms on the kept pages: the global input rule would stretch radios, checkboxes and the
   submit button, so they get their own sizes and the submit button looks like a primary button. */
.gform_wrapper :where(input[type="radio"],input[type="checkbox"]) { width: 20px; height: 20px; min-height: 20px; padding: 0; accent-color: var(--wp--preset--color--cobalt); }
.gform_wrapper .gform_footer :where(input[type="submit"],button) { width: auto; min-height: 52px; padding: 14px 24px; border: 0; border-radius: var(--wp--custom--radius--control); background: var(--wp--preset--color--azure); color: var(--wp--preset--color--white); font: 600 var(--wp--preset--font-size--control)/20px var(--wp--preset--font-family--body); cursor: pointer; }
@media (max-width: 600px) {
 .wp-block-post-content > .compact-hero { padding-block: 48px; }
 .gform_wrapper .gform_footer :where(input[type="submit"],button) { width: 100%; }
}
.legacy-band .container > .legacy-subhead { margin-top: 32px; font-size: var(--wp--preset--font-size--body); line-height: var(--wp--custom--line-height--body); }
/* Resources (assets/legacy/resources.html): download cards and post lists share one card grid. */
.legacy-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; padding: 0; list-style: none; }
.legacy-cards > * { margin: 0; padding: 24px; border: 1px solid var(--wp--preset--color--hair-sand); border-radius: var(--wp--custom--radius--control); background: var(--wp--preset--color--white); }
.legacy-cards > * > * + * { margin-top: 12px; }
.legacy-cards h3 { font-size: var(--wp--preset--font-size--lead); line-height: var(--wp--custom--line-height--body); }
.legacy-cards h3 a { color: inherit; }
.legacy-cards .wp-block-post-date { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.legacy-cards .wp-block-post-featured-image img { width: 100%; height: auto; border-radius: var(--wp--custom--radius--control); }
.legacy-band .container > :where(.legacy-cards,.legacy-posts) { margin-top: 32px; }
.legacy-posts > .legacy-cards { margin-top: 0; }
.legacy-band .container > .legacy-posts + p { margin-top: 24px; }
@media (max-width: 900px) { .legacy-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .legacy-cards { grid-template-columns: 1fr; } }
/* The post lists render as <ul>; keep the bullet-list spacing above off the card grid. */
.legacy-band .legacy-cards { padding-left: 0; }
.legacy-band .legacy-cards > * { margin: 0; }
/* Back-to-back light bands on Resources read as one section. */
.legacy-band:has(.legacy-cards) + .legacy-band { padding-top: 0; }
