/* Local interaction repairs only; exported design tokens and page layouts remain intact. */
/* Option A: exact segmented parent Build glyph; text and unlit arms match. */
.built-wordmark{display:inline-flex;align-items:baseline;white-space:nowrap;color:inherit;font-weight:inherit;letter-spacing:.035em;text-transform:none}
.built-wordmark>span{color:inherit;font-weight:inherit}
.built-wordmark .built-x{height:.76em;width:.76em;align-self:baseline;margin:0 .035em;overflow:visible}
.built-wordmark .built-x path{stroke:currentColor}
.built-wordmark .built-x path.build-arm{stroke:var(--gold)}
.ivory .built-wordmark .built-x path.build-arm{stroke:var(--gold-ink)}
.hero .eyebrow .built-wordmark{color:var(--text)}
.ivory .built-wordmark{color:var(--ink)}
.footer p{font-weight:400}
/* Parent-inspired complete opening compositions, without pinning or snapping.
   svh avoids toolbar-driven reflow; content exceeding a screen grows naturally. */
:root{--header-height:56px}
html{scroll-padding-top:var(--header-height)}
.section{min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));display:flex;flex-direction:column;justify-content:center;padding-block:clamp(40px,7vh,88px)}
.section>.wrap{width:min(var(--max),100% - 2*var(--gutter));flex:none}
.hero,.cap-hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.hero>.wrap,.cap-hero>.wrap{width:min(var(--max),100% - 2*var(--gutter))}
.menu-panel .menu-project{color:var(--gold);font-weight:600}
.intake-section{padding:calc(var(--header-height) + 48px) 0 64px;min-height:100svh}
.intake-wrap{max-width:880px}
.intake-wrap>.lede,.intake-wrap>p{margin-block:20px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}
.form-grid label{display:grid;align-content:start;gap:8px;min-width:0}
.form-grid .full{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:48px;border:1px solid var(--text-3);border-radius:6px;background:var(--bg-2);color:var(--text);font:inherit;font-size:16px;padding:12px}
.form-grid textarea{resize:vertical;min-height:150px}
.field-help,.optional,#test-boundary{font-size:.86rem;color:var(--text-2);line-height:1.55}
.field-error{color:#ffb4a6;font-size:.9rem;min-height:0}
[aria-invalid="true"]{border-color:#ffb4a6!important}
.form-grid input:focus-visible,.form-grid select:focus-visible,.form-grid textarea:focus-visible,.ack input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ack{display:flex;align-items:flex-start;gap:12px;padding-block:20px;cursor:pointer}
.ack input{width:22px;height:22px;flex:none;accent-color:var(--gold);margin-top:2px}
#storage-status,#form-errors,#receipt{padding:20px;border:1px solid var(--line-2);border-radius:8px}
#form-errors:focus,#receipt:focus{outline:2px solid var(--gold);outline-offset:4px}
#submit-inquiry{margin-top:24px;white-space:normal;min-height:48px;height:auto}
#submit-inquiry:disabled{opacity:.55;cursor:not-allowed}
#submit-status{margin-top:16px;min-height:1.6em}
@media(max-width:840px){.nav .nav-cta{display:none!important}}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}.intake-section{padding-top:calc(var(--header-height) + 32px)}.section{padding-block:40px}.hero .eyebrow{gap:8px}.hero,.cap-hero{padding-bottom:48px}}
/* Match the parent menu's three-line/X transition and immediate panel toggle. */
.menu-btn{border-radius:10px;min-width:44px;min-height:44px}
.menu-btn span{transition:transform .3s,background .3s}
.menu-btn span::before,.menu-btn span::after{transition:transform .3s,top .3s}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.menu-panel{background:rgba(0,0,0,.92);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
/* Link and history jumps must never animate through intermediate sections. */
html{scroll-behavior:auto}
.warp-veil{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:0;background:var(--bg,#000);transition:opacity .34s cubic-bezier(.4,0,.2,1)}
.warp-veil.on{opacity:1;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,1,1)}
.arrive>.wrap{animation:nav-settle .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes nav-settle{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
/* Same-origin document navigation progressively enhances; unsupported browsers
   retain native links, deep links, history and immediate fragment positioning. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:nav-leave .2s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:nav-enter .34s cubic-bezier(.4,0,.2,1) both}
@keyframes nav-leave{to{opacity:0}}
@keyframes nav-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.warp-veil{display:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--gold);color:var(--ink);padding:12px 18px;border-radius:6px}
.skip-link:focus{top:8px}
.context-link{margin-top:22px}
.context-link a{white-space:normal}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Parent-aligned motion language: .9s reveal easing is defined in each page;
   these shared rules add touch-scroll progress without changing layout. */
@media(prefers-reduced-motion:no-preference){
  .motion-ready .hero,.motion-ready .section{--motion-progress:0;--motion-shift:-9px}
  .motion-ready .hero>.wrap,.motion-ready .section>.wrap{
    transform:translate3d(0,var(--motion-shift),0);
    will-change:transform;
  }
  .btn:focus-visible,.link:focus-visible,.ix:focus-visible,.cap:focus-within{transform:translateY(-2px)}
}
#inquire .inq>*{min-width:0}
.menu-panel{max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:640px){.inq-card>.btn{max-width:100%;white-space:normal;height:auto;min-height:48px;padding-block:12px}}
/* Browser QA: separate capability hero actions and let long labels wrap. */
html{overflow-x:clip}
.cap-hero .ctas{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px}
.cap-hero .ctas>.btn{max-width:100%;white-space:normal;height:auto;min-height:48px;padding-block:12px}
/* Keep the homepage wordmark intact when the descriptor wraps on phones. */
.hero .eyebrow .nm{white-space:nowrap;flex-shrink:0}
@media(max-width:640px){.hero .eyebrow{flex-wrap:wrap}}

/* Render the company name literally, including the capital X and uppercase BUILT. */
.brand[aria-label="SOHOXBUILT home"]{text-transform:none;letter-spacing:.04em}
.brand[aria-label="SOHOXBUILT home"] .co{margin-left:0;letter-spacing:inherit}
.nm{text-transform:none;letter-spacing:normal;white-space:nowrap}
.inq-card .addr{user-select:text;-webkit-user-select:text}
.email-fallback{margin-top:16px}
.copy-email{appearance:none;background:none;border:0;color:var(--gold);font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px;padding:8px 0}
.copy-email:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.email-copy-status{font-size:.82rem;line-height:1.5;min-height:1.5em;margin:4px 0 0;color:var(--text-2)}

/* MAX-02 completion: featured Sidewalk & Right-of-Way destination, explicit inputs/exclusions, labeled scenario. */
.nav-links a.nav-feature{color:var(--gold)}
.nav-links a.nav-feature:hover,.nav-links a.nav-feature[aria-current="page"]{color:var(--gold-hi)}
.nav-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.feature{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.feature .ctas{margin-top:10px}
.feature-steps{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line-2)}
.feature-steps li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}
.feature-steps .num{font-size:1.3rem;color:var(--gold)}
.feature-steps h3{font-size:1.08rem;font-weight:600;letter-spacing:-.02em}
.feature-steps p{color:var(--text-2);font-size:.95rem;line-height:1.5;margin-top:4px}
.feature-note{margin-top:clamp(28px,4vw,44px);padding-top:20px;border-top:1px solid var(--line);color:var(--text-3);font-size:.88rem;line-height:1.55;max-width:88ch}
@media(max-width:840px){.feature{grid-template-columns:1fr}}
.receive>div{display:grid;gap:16px;max-width:62ch}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ticks li{position:relative;padding-left:20px;color:var(--ink-2);font-size:.96rem;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--gold-ink)}
.ticks-x li::before{width:9px;height:9px;top:.42em;background:none;border:1px solid var(--ink-3);border-radius:50%}
.inline-link{color:var(--gold-ink);text-decoration:underline;text-underline-offset:3px}
.inline-link:hover{color:var(--ink)}
.scenario{border:1px dashed rgba(17,17,17,.32);border-radius:18px;padding:clamp(20px,3vw,30px);display:grid;gap:12px;background:rgba(255,255,255,.5)}
.scenario p{font-size:.95rem;line-height:1.55;color:var(--ink-2);max-width:none}
.scenario b{color:var(--ink);font-weight:600}
.scenario .scenario-tag{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.notfound{min-height:72vh;display:grid;align-items:center}
.feature .ctas{gap:18px 28px}
.receive>div{font-size:.98rem}
.receive>div p{max-width:none}
/* Accessibility: the ink-gold used for small text on ivory measured 4.03:1; this value measures 4.83:1 (WCAG AA needs 4.5:1). */
:root{--gold-ink:#7c6126}
.ivory .cap .k i{color:#6b665c}
.ivory .inq-card .eyebrow{color:var(--gold)}
.ivory .inq-card .eyebrow::before{background:var(--gold)}

/* Contact and the unchanged footer share one closing composition. Long content
   expands naturally on small screens; no fixed heights or nested scrolling. */
.contact-closing{min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));display:flex;flex-direction:column}
.contact-closing>.contact-panel{min-height:0;flex:1;justify-content:center;padding-block:clamp(48px,7vh,88px)}
.contact-panel .ctas{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px}
.contact-closing.arrive>.contact-panel>.wrap{animation:nav-settle .6s cubic-bezier(.2,.8,.2,1) both}

/* Parent-style footer: aligned brand and independent, vertical link columns. */
.footer .foot-top{grid-template-columns:1.4fr 1.5fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.footer .foot-top>div>.brand,.footer .foot-top h2,.footer .foot-top h4{min-height:20px;margin:0 0 14px;display:flex;align-items:center}
.footer .foot-top p{margin-top:0;font-size:.9rem;line-height:1.5;color:var(--text-3)}
.footer .desks{display:grid;grid-template-columns:1fr;gap:9px}
.footer .desks a,.footer .desks span{font-size:.9rem;line-height:1.5}
.footer .foot-top>div:last-child .desks{grid-template-columns:1fr 1fr}
.contact-closing .footer{padding-block:clamp(24px,3vh,40px) clamp(16px,2vh,24px)}
.footer .foot-links{display:grid;gap:9px;margin-top:14px}
@media(max-width:840px){.footer .foot-top{grid-template-columns:1fr 1fr}.footer .foot-top>div:first-child{grid-column:1/-1}}
@media(max-width:480px){.footer .foot-top{grid-template-columns:1fr}}
