/* BEON · building technology, quietly presented. Shared design tokens own all routes. */
:root{
  color-scheme:light;
  --ink:#1d1d1f;--secondary:#616166;--surface:#ffffff;--grouped:#f5f5f7;--separator:#d2d2d7;--inverse-secondary:#b8b8bd;
  --black:var(--ink);--white:var(--surface);--gray:var(--secondary);--paper:var(--grouped);--line:var(--separator);
  --content:1160px;--gutter:40px;--touch:44px;--radius:28px;--radius-sm:16px;
  --ease:cubic-bezier(.22,.61,.36,1);--fast:180ms;--transition:320ms;
  --scroll-thumb:#8a8a8e;--scroll-track:var(--grouped);--scroll-hover:var(--secondary);--scroll-active:var(--ink);
  font-family:Manrope,system-ui,sans-serif;font-size:100%;color:var(--ink);background:var(--surface);
  scroll-behavior:smooth;scroll-padding-block:110px;scrollbar-gutter:stable;
}
*,*::before,*::after{box-sizing:border-box}
*{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:auto}
::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scroll-track)}
::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid var(--scroll-track);border-radius:12px}
::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}::-webkit-scrollbar-thumb:active{background:var(--scroll-active)}
body,h1,h2,h3,p,figure,fieldset,ol,ul,dl,dd{margin:0}body{font-size:1.0625rem;line-height:1.65}
button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none;cursor:pointer}img{display:block;max-width:100%}button{border:0;background:none}input,textarea{min-width:0}
h1,h2,h3{font-weight:700;letter-spacing:-.045em;line-height:1.1;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(2.75rem,6vw,5.5rem)}h2{font-size:clamp(2rem,4.1vw,3.5rem)}h3{font-size:1.5rem}
address{font-style:normal}p{overflow-wrap:break-word}fieldset{border:0;padding:0;min-width:0}
/* Native hidden must win over layout display rules. */
[hidden]{display:none!important}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
::selection{background:var(--ink);color:var(--surface)}
.shell{width:min(var(--content),calc(100% - var(--gutter)*2));margin-inline:auto}
.section{padding-block:104px}.eyebrow{font-family:system-ui,sans-serif;font-size:.875rem;line-height:1.6;font-weight:600;letter-spacing:.015em;color:var(--secondary)}
.icon{width:22px;height:22px;flex:none}.invert{filter:invert(1)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:12px;z-index:100;background:var(--ink);color:var(--surface);padding:12px 20px;border-radius:8px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
/* One compact functional layer. Content surfaces stay opaque. */
.header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--separator)}
.header-inner{display:flex;align-items:center;gap:28px;min-height:88px;position:relative}
.brand{display:flex;align-items:center;flex:none;width:154px;min-height:44px}.brand img{width:100%;height:auto;object-fit:contain}
.desktop-nav{display:flex;justify-content:center;gap:28px;margin-left:auto;font:500 .875rem/1.5 system-ui,sans-serif}
.desktop-nav a{display:flex;align-items:center;min-height:44px;position:relative;color:var(--secondary);transition:color var(--fast)}
.desktop-nav a:hover,.desktop-nav a[aria-current],.desktop-nav .nav-parent-active{color:var(--ink)}
.desktop-nav a[aria-current]::after,.desktop-nav .nav-parent-active::after{content:'';height:3px;width:16px;border-radius:2px;background:var(--ink);position:absolute;bottom:1px;left:calc(50% - 8px)}
.header-region{display:none}.header-quote{margin-left:10px}.header-quote>.icon{filter:invert(1)}
.icon-button{display:grid;place-items:center;width:44px;min-height:44px;border-radius:50%;background:var(--grouped);transition:background var(--fast),transform var(--fast)}
.icon-button:hover{background:var(--separator)}.icon-button:active{transform:scale(.94)}
.menu-toggle{display:none}.mobile-menu{background:var(--surface);padding:18px var(--gutter) 28px;border-top:1px solid var(--separator);max-height:calc(100svh - 88px);overflow:auto}
.mobile-menu>a{display:flex;align-items:center;min-height:52px;font-size:1.375rem;font-weight:600;letter-spacing:-.02em}
.mobile-menu a[aria-current]{text-decoration:underline;text-underline-offset:6px}.mobile-menu a:hover{color:var(--secondary)}
.mobile-service-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;padding-block:16px;border-block:1px solid var(--separator);margin-block:14px}
.mobile-service-links a{min-height:44px;display:flex;align-items:center;font-size:.9375rem}
.mobile-menu .mobile-menu-phone{font-size:1.125rem}
.no-script-nav{display:flex;flex-wrap:wrap;gap:16px;padding-block:16px}.no-script-nav a{min-height:44px;display:flex;align-items:center;text-decoration:underline}
@supports (backdrop-filter:blur(20px)){.header{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}}
/* Buttons have shared emphasis and reversible, quiet feedback. */
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:56px;padding:8px 9px 8px 24px;background:var(--ink);color:var(--surface);border:1px solid var(--ink);border-radius:999px;font-size:.9375rem;font-weight:600;line-height:1.35;max-width:100%;transition:background var(--fast),transform var(--fast),border-color var(--fast)}
.button>span:first-child{min-width:0}.button-orb{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--surface)}
.button-orb{transition:transform var(--fast) var(--ease)}
.button:active .button-orb{transform:scale(.93)}
.button-orb .icon{width:19px;height:19px;filter:none;transition:transform var(--fast) var(--ease)}
.button:hover{background:#39393c;border-color:#39393c}.button:hover .button-orb .icon{transform:translate(2px,-2px)}
.button:active .button-orb .icon{transform:translate(3px,-3px)}
.button:active{transform:scale(.965)}.button:disabled{opacity:.5;cursor:wait;transform:none}
.button-white{background:var(--surface);color:var(--ink);border-color:var(--surface)}.button-white .button-orb{background:var(--ink)}.button-white .button-orb .icon{filter:invert(1)}
.button-white:hover{background:var(--grouped);border-color:var(--grouped)}
.button-small{min-height:44px;padding:12px 17px;gap:12px;font-size:.8125rem}.button-small>.icon{width:16px;height:16px}
.header-emergency{white-space:nowrap}.header-emergency-compact{display:none}
.button-call{background:transparent;color:var(--ink);border-color:transparent;gap:10px;padding:8px 12px;justify-content:flex-start}
.button-call .phone-orb{display:grid;place-items:center;width:30px;height:30px;flex:none}.button-call .icon{width:21px;height:21px;filter:none}
.button-call>span:last-child{display:flex;flex-direction:column;gap:2px}.button-call small{font-size:.75rem;color:var(--secondary);font-weight:400}.button-call strong{font-size:.9375rem;font-weight:600}
.button-call:hover{background:var(--grouped);border-color:transparent}
.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.9375rem;font-weight:600;line-height:1.5;max-width:100%}
.text-link .icon{width:18px;height:18px;transition:transform var(--fast)}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link:hover .icon{transform:translateX(3px)}.text-link:active{opacity:.65}
.light-link{color:var(--surface)}
.emergency-callout{padding-block:18px 8px}.emergency-callout-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 32px;border-radius:var(--radius);background:var(--ink);color:var(--surface)}.emergency-callout .eyebrow{font-size:.75rem;color:var(--inverse-secondary);margin-bottom:6px}.emergency-callout h2{font-size:1.625rem;line-height:1.25;margin-bottom:8px}.emergency-callout p:not(.eyebrow){font-size:.9375rem;color:var(--inverse-secondary);max-width:62ch}.emergency-callout .button{flex:none;white-space:normal;text-align:left;max-width:340px}.emergency-action-label{display:block}.emergency-action-number{display:block;margin-top:4px;font-size:.8125rem;font-weight:500}
.support-services{padding-top:72px}.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.support-card{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:32px;background:var(--grouped);border-radius:var(--radius);min-width:0}.support-card-title{display:flex;align-items:flex-start;gap:14px}.support-card-title>.icon{margin-top:5px;width:24px;height:24px}.support-card h3{font-size:1.625rem;line-height:1.3;letter-spacing:-.035em}.support-card>p{font-size:1rem;color:var(--secondary)}.support-list{display:grid;gap:12px;padding-left:20px;list-style:disc;color:var(--secondary);font-size:1rem;line-height:1.65}.support-list li{padding-left:4px}.support-card>.text-link{margin-top:auto;padding-top:8px}.support-detail{border-top:1px solid var(--separator);scroll-margin-top:110px}.support-detail>.eyebrow{margin-bottom:14px}.support-detail h2{max-width:22ch;margin-bottom:32px;font-size:clamp(2rem,4vw,3.25rem)}.support-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.support-detail-grid>div>p{color:var(--secondary)}.support-detail-grid .text-link{margin-top:20px}.support-emergency-note{margin-top:22px;font-size:.875rem}.support-emergency-note a{text-decoration:underline;text-underline-offset:4px}.contact-emergency-label{margin-top:28px;font-weight:600;font-size:.875rem}.contact-emergency-hint{font-size:.875rem;color:var(--secondary);max-width:44ch;margin-top:12px}.contact-emergency-label+.contact-phone{margin-top:8px}
/* Homepage: typography first, a whole building second, individual trades third. */
.hero{padding-top:36px;padding-bottom:26px}.hero-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:48px;align-items:center}.hero-content{text-align:left;min-width:0}
.hero-copy{max-width:100%;margin-inline:auto}.hero-copy .eyebrow{margin-bottom:20px}
.hero h1{font-size:clamp(2.5rem,4.4vw,4rem);line-height:1.08;letter-spacing:-.055em}
.hero h1>.hero-heading-line:last-child{color:var(--secondary)}.hero-description{font-size:clamp(1.0625rem,1.5vw,1.25rem);color:var(--secondary);line-height:1.6;margin-top:24px}
.hero-proof{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:12px;font-size:.875rem;font-weight:600;line-height:1.5}.hero-proof .icon{width:16px;height:16px}.hero-proof:hover{text-decoration:underline;text-underline-offset:4px}.hero-proof:active{opacity:.65}.hero .hero-request-hint{font-size:.8125rem;line-height:1.6;color:var(--secondary);margin-top:12px;max-width:44ch}.hero-proof+.intro-actions{margin-top:8px}
.intro-actions{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-media{margin-top:0;min-width:0}.hero-frame{position:relative;aspect-ratio:1.45;border-radius:var(--radius);overflow:hidden;isolation:isolate;background:var(--ink)}
.hero-scene,.hero-picture,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-picture{object-fit:cover;object-position:center;opacity:0;transition:opacity var(--transition) var(--ease)}
.hero-picture.is-active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.72),transparent 55%);pointer-events:none}
.hero-media-label{position:absolute;left:28px;bottom:28px;color:var(--surface);font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.2;letter-spacing:-.04em;display:flex;flex-direction:column;text-shadow:0 1px 10px #000}
.hero-media-label span{font-weight:500}.hero-media-label strong{font-weight:700}
.hero-choices{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px}
.segmented{display:inline-flex;align-items:center;padding:4px;background:var(--grouped);border:1px solid var(--separator);border-radius:999px;gap:4px;max-width:100%}
.segmented button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:999px;padding:9px 18px;font-size:.875rem;line-height:1.4;color:var(--secondary);transition:background var(--fast),color var(--fast)}
.segmented .icon{width:18px;height:18px}.segmented button.is-active{background:var(--ink);color:var(--surface)}.segmented button.is-active .icon{filter:invert(1)}
.segmented button:not(.is-active):hover{background:var(--separator);color:var(--ink)}.segmented button:active{opacity:.65}.segmented button:disabled{cursor:wait;opacity:.65}
.image-caption,.subtle-note{font-size:.75rem;line-height:1.6;color:var(--secondary)}.scene-error{font-size:.875rem;line-height:1.6;background:var(--grouped);border-left:3px solid var(--ink);padding:12px 16px;margin-top:12px}
.services{padding-top:80px}.section-label{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:32px}.section-label .eyebrow{margin-bottom:12px}
.section-label>span{font-size:.875rem;line-height:1.6;color:var(--secondary);text-align:right}.choice-heading{font-size:clamp(2rem,4vw,3.25rem)}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.service{min-width:0}.service-card{display:flex;flex-direction:column;height:100%;border-radius:var(--radius);background:var(--grouped);isolation:isolate}
.service-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:8px 28px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--separator)}.service-shortcuts .text-link{font-size:.875rem}.service-shortcuts .text-link>span{min-width:0}
.service-card:focus-visible{outline:3px solid var(--ink);outline-offset:6px}.service-visual{position:relative;aspect-ratio:1.65;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0;background:var(--separator)}
.service-visual img{width:100%;height:100%;object-fit:cover;object-position:center 50%;transition:transform 420ms var(--ease)}
.service-card-copy{padding:24px 30px 30px;flex:1;display:flex;flex-direction:column;position:relative}
.service-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.service-trade{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:500;color:var(--secondary)}.service-trade .icon{width:19px;height:19px}
.visual-arrow{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface);position:absolute;right:26px;bottom:25px;transition:background var(--fast),transform var(--fast)}.visual-arrow .icon{width:20px;height:20px}
.service-goal-compact{display:none}
.service-goal{font-size:clamp(1.6rem,2.8vw,2.125rem);letter-spacing:-.04em;line-height:1.2;padding-right:4px}
.service-summary{font-size:1rem;line-height:1.6;color:var(--secondary);margin-top:10px;max-width:34ch}
.service-explore{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;margin-top:auto;padding-top:24px;padding-right:44px;min-height:44px}.service-explore .icon{width:16px;height:16px}
.service-card:hover .service-visual img{transform:scale(1.025)}.service-card:hover .visual-arrow{background:var(--ink);transform:translate(1px,-1px)}.service-card:hover .visual-arrow .icon{filter:invert(1)}
.service-card:hover .service-explore{text-decoration:underline;text-underline-offset:5px}.service-card:active{background:#ececef}.subtle-note{margin-top:18px}
.home-company{background:var(--grouped)}.home-company-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.home-company h2{margin-top:20px;font-size:clamp(2.5rem,4.7vw,4rem)}.home-company h2 span{color:var(--secondary)}
.large-copy{font-size:1.5rem;line-height:1.45;letter-spacing:-.025em;font-weight:500}.home-company .large-copy{margin-bottom:18px}
.home-company .large-copy+p{color:var(--secondary);max-width:44ch}.trust-facts{display:flex;flex-wrap:wrap;gap:24px 36px;border-block:1px solid var(--separator);padding-block:24px;margin-block:28px}
.trust-facts>span{display:flex;flex-direction:column;gap:6px;font-size:.875rem;color:var(--secondary)}.trust-facts strong{color:var(--ink);font-size:1rem;font-weight:600}
.home-start-steps{display:grid;gap:18px;margin-block:26px;padding-block:24px;padding-left:22px;border-block:1px solid var(--separator);list-style:decimal}.home-start-steps li{padding-left:8px}.home-start-steps strong{display:block;font-size:1rem;font-weight:600;line-height:1.5}.home-start-steps li>span{display:block;font-size:.9375rem;line-height:1.6;color:var(--secondary);margin-top:3px}


/* Shared pages, distinct content hierarchy. */
.breadcrumbs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-block:22px;font:400 .8125rem/1.5 system-ui,sans-serif;color:var(--secondary)}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:32px}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumbs [aria-current]{color:var(--ink)}
.page-intro{padding-block:42px 56px;max-width:var(--content)}.page-intro h1{margin-block:20px 24px;max-width:19ch}.page-intro h1 span{color:var(--secondary)}.page-intro>p:last-child{max-width:54ch;color:var(--secondary);font-size:1.125rem;line-height:1.7}
.page-services .services{padding-top:16px}.page-services .section-label{margin-bottom:28px}
.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:26px 84px}.service-hero-copy{min-width:0}.service-hero h1{font-size:clamp(2.75rem,4.8vw,4rem);line-height:1.08;margin-block:20px 24px;letter-spacing:-.05em}
.service-hero-copy>p:not(.eyebrow){color:var(--secondary);max-width:45ch;font-size:1.0625rem;line-height:1.7}
.service-hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:10px;margin-top:30px}.service-hero-actions .button-call{padding-left:8px}.service-hero-copy>.service-audience{font-size:.8125rem;margin-top:22px}
.service-hero-image{position:relative;margin:0;aspect-ratio:4/5;min-width:0;overflow:hidden;border-radius:var(--radius);background:var(--grouped)}
.service-hero-image>img{width:100%;height:100%;object-fit:cover}.service-hero-image figcaption{position:absolute;left:16px;bottom:16px;right:16px;width:fit-content;max-width:calc(100% - 32px);padding:8px 12px;border-radius:8px;font-size:.75rem;line-height:1.5;background:var(--surface);color:var(--secondary)}
.service-scope{border-top:1px solid var(--separator)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2{max-width:21ch}.section-heading>p{max-width:42ch;color:var(--secondary)}
.planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.planning-grid article{border-top:1px solid var(--separator);padding-top:24px}.planning-grid h3{font-size:1.5rem;line-height:1.25;margin-bottom:16px}.planning-grid p{color:var(--secondary);font-size:1rem;line-height:1.75}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq .eyebrow{margin-bottom:16px}.faq h2{margin-bottom:20px}.faq>div>p:not(.eyebrow){color:var(--secondary);font-size:1rem;max-width:33ch}
.page-service .faq{padding-top:0}.faq-list{border-top:1px solid var(--separator)}.faq details{border-bottom:1px solid var(--separator)}
.faq summary{position:relative;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px;min-height:64px;cursor:pointer;font-size:1.0625rem;font-weight:600;line-height:1.5}
.faq summary::-webkit-details-marker{display:none}.faq summary .icon{width:20px;height:20px;transition:transform var(--fast)}.faq summary:hover{color:var(--secondary)}.faq summary:active{opacity:.7}.faq details[open] summary .icon{transform:rotate(45deg)}.faq details>p{font-size:1rem;color:var(--secondary);line-height:1.8;padding:0 38px 24px 0}
.contact-band :focus-visible{outline-color:var(--surface)}
.contact-band{background:var(--ink);color:var(--surface);padding-block:80px}.contact-band>.shell{display:flex;align-items:center;justify-content:space-between;gap:54px}.contact-band .eyebrow{color:var(--inverse-secondary);margin-bottom:20px}.contact-band h2{max-width:22ch;font-size:clamp(2rem,4vw,3.5rem)}.contact-band p:not(.eyebrow){color:var(--inverse-secondary);font-size:1rem;margin-top:20px;max-width:50ch}
.band-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;flex-shrink:0}.band-actions .text-link{font-size:.875rem}
.trade-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-block:28px}.trade-navigation a{display:flex;align-items:center;gap:14px;min-height:44px;font-size:.9375rem}.trade-navigation a:first-child{color:var(--secondary)}.trade-navigation a:hover{text-decoration:underline;text-underline-offset:5px}
/* Company: human detail stays modest, never a billboard portrait. */
.page-about .about{padding-top:32px}.about-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px}.about-location{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--secondary)}.about-location .icon{width:18px;height:18px}
.about-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:96px;align-items:center}.about-copy h1{font-size:clamp(2.75rem,5.6vw,4.5rem);margin-bottom:28px}.about-copy h1 span{color:var(--secondary)}.about-copy .large-copy{margin-bottom:18px;max-width:30ch}.about-copy>p:not(.large-copy){color:var(--secondary);max-width:52ch}
.person{display:flex;align-items:center;gap:14px;margin-block:28px}.person-initials{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--grouped);font-size:.875rem;font-weight:600}.person>div{display:flex;flex-direction:column;gap:2px}.person strong{font-size:.9375rem;font-weight:600}.person>div>span{font-size:.875rem;color:var(--secondary)}
.master-portrait{margin:0;width:240px;max-width:100%;justify-self:center;scroll-margin-top:110px}.master-portrait>img{width:100%;height:auto;border-radius:var(--radius-sm);background:var(--grouped)}.master-portrait figcaption{padding-top:16px}.master-portrait h2{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.45}.master-portrait figcaption p{font-size:.875rem;margin-top:4px;color:var(--secondary)}
.about-grid.about-person-grid{grid-template-columns:minmax(0,1fr) minmax(0,408px);gap:64px}.team-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;width:100%;max-width:408px}.team-portraits .master-portrait{width:100%;max-width:192px;min-width:0;justify-self:start}
.region{background:var(--grouped)}.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.region h2{margin-top:18px}.region .large-copy{margin-bottom:18px}.region p:not(.eyebrow):not(.large-copy){color:var(--secondary);font-size:1rem;max-width:46ch}.region address{margin-block:24px;font-size:1rem;line-height:1.7}.region .text-link{margin-top:12px}.about-links{padding-block:28px}
/* Contact: choices, labelled fields, a truthful draft rather than fake delivery. */
.contact{background:var(--grouped);padding-top:64px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}.contact-copy{padding-top:18px;min-width:0}.contact h1{font-size:clamp(2.75rem,5.2vw,4.5rem);margin-block:20px 26px;line-height:1.08}.contact h1 span{color:var(--secondary)}.contact .section-intro{color:var(--secondary);max-width:34ch;font-size:1.0625rem;line-height:1.75}
.contact-phone{display:flex;align-items:center;gap:14px;width:fit-content;min-height:44px;margin-top:36px;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;letter-spacing:-.04em}.contact-phone .icon{filter:none;width:24px;height:24px}.contact-email{display:inline-flex;align-items:center;min-height:44px;font-size:1.0625rem}.contact-phone:hover,.contact-email:hover{text-decoration:underline;text-underline-offset:6px}.contact-small{font-size:.875rem;line-height:1.8;color:var(--secondary);margin-top:26px}
.form-panel{background:var(--surface);border-radius:var(--radius);padding:36px;min-width:0;scroll-margin-top:110px}.form-heading{margin-bottom:26px}.form-heading .eyebrow{margin-bottom:10px}.form-heading h2{font-size:1.75rem;line-height:1.2;margin-bottom:12px}#inquiry-heading{min-height:2.4em}#inquiry-intro{min-height:3.3em}
.message-field>label{min-height:3em}
.form-heading>p:last-child{font-size:.9375rem;color:var(--secondary);line-height:1.65}
.form-panel fieldset{margin-bottom:26px}.form-panel legend{font-size:.9375rem;font-weight:600;margin-bottom:12px;line-height:1.5}.service-options{display:flex;gap:8px;flex-wrap:wrap}.service-options label{position:relative;cursor:pointer}.service-options input{position:absolute;opacity:0;width:1px;height:1px}.service-options span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid #85858a;border-radius:999px;font-size:.875rem;line-height:1.5;transition:background var(--fast),color var(--fast),border-color var(--fast)}
.service-options input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--surface)}.service-options input:focus-visible+span{outline:3px solid var(--ink);outline-offset:3px}.service-options label:hover input:not(:checked)+span{background:var(--grouped)}.service-options label:active span{opacity:.7}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.field{min-width:0}.field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;line-height:1.5}.field label span{font-weight:400;color:var(--secondary)}
.field input,.field textarea{display:block;width:100%;padding:13px 14px;background:var(--surface);border:1px solid #85858a;border-radius:12px;font-size:1rem;line-height:1.5;transition:border-color var(--fast);min-height:50px;box-shadow:none}.field input:hover,.field textarea:hover{border-color:var(--ink)}.field textarea{resize:none;min-height:136px;max-height:340px;overflow:auto}.field input::placeholder,.field textarea::placeholder{color:var(--secondary);opacity:1}
.field [aria-invalid=true]{border:2px solid var(--ink);padding:12px 13px;background:var(--grouped)}.field-error{font-size:.8125rem;line-height:1.5;min-height:1.5em;margin-top:5px;font-weight:600}.message-field{margin-top:22px}.form-note{font-size:.8125rem;color:var(--secondary);line-height:1.75;margin-block:18px 24px}.selected-service-note{font-size:.8125rem;color:var(--secondary);margin-top:8px}
.form-panel .button-white{background:var(--ink);color:var(--surface);border-color:var(--ink)}.form-panel .button-white .button-orb{background:var(--surface)}.form-panel .button-white .button-orb .icon{filter:none}.form-panel .button-white:hover{background:#39393c}.form-submit{width:100%;justify-content:space-between;min-height:56px}
.form-status{font-size:.875rem;line-height:1.7;min-height:1.7em;margin-top:14px}.form-fallback{font-size:1rem;line-height:1.8}.form-fallback a{text-decoration:underline;text-underline-offset:4px}.form-panel :is(input,textarea,button,a,[tabindex]){scroll-margin-block:110px}
.inquiry-review:focus{outline:0}.inquiry-review:focus-visible{outline:2px solid var(--ink);outline-offset:12px}.inquiry-review .eyebrow{margin-bottom:12px}.inquiry-review h2{font-size:1.9375rem;line-height:1.2;margin-bottom:20px}.inquiry-review>p:not(.eyebrow){font-size:.9375rem;color:var(--secondary);line-height:1.75}.inquiry-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 .875rem/1.75 system-ui,sans-serif;background:var(--grouped);padding:20px;border-radius:var(--radius-sm);margin-block:24px;max-height:420px;overflow:auto}.review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.form-panel .light-link{color:var(--ink)}.form-panel .light-link .icon{filter:none}.draft-transfer-note{padding:12px 14px;margin-top:16px;background:var(--grouped);border-left:3px solid var(--ink);font-size:.875rem!important}
.process .section-heading{margin-bottom:36px}.process-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.process-list li{border-top:1px solid var(--separator);padding-top:20px}.step{font:500 .875rem/1.5 system-ui,sans-serif;color:var(--secondary)}.process-list h3{font-size:1.375rem;line-height:1.3;margin-block:18px 14px}.process-list p{font-size:1rem;line-height:1.75;color:var(--secondary)}
/* Contextual guidance uses existing native radio controls and preserves all typed values. */
.service-context{padding:16px 18px;background:var(--grouped);border-radius:var(--radius-sm);margin-bottom:26px}
.service-context-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.service-context-row p{display:flex;flex-direction:column;gap:3px;min-width:0}
.service-context-row p>span{font-size:.75rem;color:var(--secondary)}
.service-context-row strong{font-size:.9375rem;font-weight:600;line-height:1.5}
.service-context .text-link{font-size:.8125rem;flex:none;text-decoration:underline;text-underline-offset:4px}
.field .message-label{font-weight:500;color:var(--ink)}
.field-hint{min-height:3.3em;font-size:.875rem;color:var(--secondary);line-height:1.65;margin-block:0 12px}
/* One shared dock stacks WhatsApp above the contextual mobile bar without offsets. */
.contact-dock{position:fixed;z-index:45;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-width:calc(100vw - 48px);pointer-events:none}
.contact-dock>a,.contact-dock>.mobile-actions{pointer-events:auto}
.whatsapp-contact{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 19px;background:var(--ink);color:var(--surface);border:1px solid var(--surface);border-radius:999px;box-shadow:0 5px 24px #0000001f;font-size:.875rem;line-height:1.4;font-weight:600;transition:background var(--fast),transform var(--fast)}
.whatsapp-contact .icon{width:24px;height:24px}.whatsapp-contact:hover{background:var(--secondary);transform:translateY(-2px)}.whatsapp-contact:active{transform:scale(.965)}
.whatsapp-contact:focus-visible{outline:3px solid var(--surface);outline-offset:3px;box-shadow:0 0 0 7px var(--ink)}
body.mobile-menu-open .contact-dock,body:has(.field input:focus,.field textarea:focus) .contact-dock{display:none}
@media (min-width:651px){.footer-bottom{padding-right:172px}}
/* Footer and supporting pages. */
.footer{padding-block:48px 28px;background:var(--grouped);border-top:1px solid var(--separator);font-size:.875rem}.footer-top{display:flex;align-items:center;gap:54px;padding-bottom:30px}.footer-top .brand{width:180px}.footer-top>p{font-size:1.125rem;line-height:1.4;font-weight:600;letter-spacing:-.02em}.footer-top>nav{display:flex;align-items:center;gap:28px;margin-left:auto;flex-wrap:wrap}.footer nav a,.footer-contact a{display:inline-flex;align-items:center;min-height:44px}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer-contact{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;border-block:1px solid var(--separator);padding-block:16px;color:var(--secondary)}.footer-contact address{line-height:1.6}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;font-size:.75rem;color:var(--secondary)}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:8px 24px}.prototype-label{font-size:.75rem}
.mobile-actions{display:none}
.legal-main{padding-block:38px 88px;max-width:850px}.legal-main h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:28px}.legal-main h2{font-size:1.5rem;margin-block:30px 14px}.legal-main p,.legal-main li{font-size:1rem;line-height:1.85;color:var(--secondary)}.legal-main p+p{margin-top:16px}.legal-main a{text-decoration:underline;text-underline-offset:4px}.legal-main ul{padding-left:22px;margin-block:16px}.not-found-actions{display:flex;gap:16px;flex-wrap:wrap;padding-bottom:88px}
.projects{background:var(--grouped);padding-top:48px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project{min-width:0}.project-image{position:relative;aspect-ratio:1.35;overflow:hidden;border-radius:var(--radius-sm)}.project-image>img{width:100%;height:100%;object-fit:cover}.project-image>span{position:absolute;left:12px;right:12px;bottom:12px;width:fit-content;padding:7px 10px;border-radius:6px;background:var(--surface);font-size:.75rem}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-block:20px}.project-meta h3{font-size:1.5rem}.project-meta>span{font-size:.8125rem;color:var(--secondary)}.project dl>div{display:flex;gap:20px;margin-block:8px;font-size:.875rem}.project dt{font-weight:600}.project dd{color:var(--secondary);overflow-wrap:anywhere}
/* Scroll presentation stays readable; all entrance animations are optional. */
.scroll-heading-pending{color:var(--secondary)}
.scroll-progress{position:absolute;inset-inline:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none}
.scroll-progress>span{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left center}
body.motion-paused .hero-picture{transition:none}
@media (min-width:1600px){.hero{padding-top:48px}}
@media (max-width:1100px){.header-inner{gap:20px}.desktop-nav{gap:20px}.header-quote{margin-left:0}.home-company-grid,.region-grid{gap:56px}.contact-grid{gap:40px}.contact-band>.shell{gap:32px}.band-actions{flex-shrink:1}.service-hero{gap:44px}.about-grid{gap:56px}.footer-top{gap:30px}.footer-top>nav{gap:20px}}
@media (max-width:900px){
 :root{--gutter:28px}.desktop-nav{display:none}.header-quote{margin-left:auto}.menu-toggle{display:grid}.header-inner{min-height:80px}.mobile-menu{max-height:calc(100svh - 80px)}
 .section{padding-block:80px}.hero{padding-top:32px}.hero-layout{grid-template-columns:1fr;gap:26px}.hero-content{text-align:center}.hero .intro-actions{justify-content:center}.hero h1{font-size:clamp(2.75rem,7vw,4rem)}.hero-frame{aspect-ratio:2}.hero-media-label{left:28px;bottom:24px}.hero-media{margin-top:0}.hero-choices{gap:12px}.image-caption{max-width:30ch;text-align:right}
 .hero .hero-request-hint{margin-inline:auto}
 .emergency-callout-inner{align-items:flex-start;flex-direction:column;gap:20px}.support-card{padding:26px}.support-card h3{font-size:1.375rem}.support-detail-grid{gap:36px}
 .services{padding-top:64px}.services-grid{gap:24px}.service-card-copy{padding:22px 24px 28px}.service-goal{font-size:1.75rem}.service-summary{font-size:.9375rem}.visual-arrow{right:22px;bottom:23px}
 .service-hero{grid-template-columns:1fr;gap:32px;padding-block:18px 64px}.service-hero h1{font-size:clamp(2.75rem,6vw,3.75rem)}.service-hero-copy>p:not(.eyebrow){max-width:58ch}.service-hero-image{aspect-ratio:1.65}.service-hero-actions{flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.service-hero-image>img{object-position:center 50%}
 .planning-grid{gap:26px}.planning-grid h3{font-size:1.25rem}.planning-grid p{font-size:.9375rem}.faq{gap:40px;grid-template-columns:.85fr 1.15fr}.contact-band>.shell{flex-direction:column;align-items:flex-start;gap:28px}.band-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px 24px}
 .about-grid.about-person-grid{grid-template-columns:1fr;gap:32px}
 .home-company-grid{gap:40px}.home-company h2{font-size:2.75rem}.home-company .large-copy+p{font-size:1rem}.about-grid{grid-template-columns:1fr 240px;gap:40px}.about-copy h1{font-size:3rem}.about-copy .large-copy{font-size:1.25rem}.about-location{font-size:.8125rem}.region-grid{gap:40px}
 .contact-grid{grid-template-columns:1fr;gap:36px}.contact-copy{padding-top:0}.contact .section-intro{max-width:50ch}.contact h1{font-size:3.5rem}.contact-phone{margin-top:24px}.contact-small{margin-top:16px}.form-panel{padding:32px}.form-heading h2{font-size:2rem}.process-list{grid-template-columns:1fr 1fr;gap:32px}
 .footer-top{flex-wrap:wrap}.footer-top>nav{margin-left:0}.footer-top>p{margin-left:auto}.footer-top>nav{flex-basis:100%;gap:30px}
}
@media (max-width:650px){
 :root{--gutter:20px;--radius:22px;scroll-padding-block:96px 110px}
 body{font-size:1.0625rem}.section{padding-block:60px}.header-inner{min-height:72px;gap:14px}.brand{width:134px}.header-quote{display:none}.header-inner .menu-toggle{margin-left:auto}.mobile-menu{max-height:calc(100svh - 72px)}.mobile-menu>a{font-size:1.25rem}.mobile-service-links{column-gap:20px}.mobile-service-links a{font-size:.875rem;overflow-wrap:anywhere}
 .hero-proof{margin-top:8px;font-size:.8125rem}.hero .hero-request-hint{font-size:.75rem;margin-top:10px}.hero .hero-proof+.intro-actions{margin-top:8px}.service-shortcuts{gap:4px 20px;margin-bottom:20px;padding-bottom:12px}.home-start-steps{margin-block:24px;padding-block:22px;gap:16px}
 .header-quote.header-emergency{display:inline-flex;min-height:44px;padding:10px;gap:6px;font-size:.75rem;margin-left:auto}.header-emergency-full{display:none}.header-emergency-compact{display:inline}.header-emergency>.icon{width:15px;height:15px}.emergency-callout{padding-top:18px}.emergency-callout-inner{padding:24px;border-radius:var(--radius-sm);gap:18px}.emergency-callout h2{font-size:1.375rem}.emergency-callout p:not(.eyebrow){font-size:.875rem}.emergency-callout .button{width:100%;justify-content:space-between}.support-services{padding-block:48px 60px}.support-grid,.support-detail-grid{grid-template-columns:1fr;gap:20px}.support-card{padding:24px;border-radius:var(--radius-sm);gap:18px}.support-card h3{font-size:1.375rem}.support-list{font-size:.9375rem;gap:10px}.support-detail h2{font-size:2rem;margin-bottom:24px}.support-detail-grid{gap:28px}
 .hero{padding-top:22px;padding-bottom:8px}.hero-layout{gap:18px}.hero-copy .eyebrow{font-size:.75rem;margin-bottom:12px}.hero h1{font-size:clamp(2.25rem,8.7vw,3.5rem);line-height:1.08;letter-spacing:-.055em}.hero-description{font-size:1rem;margin-top:12px;line-height:1.5}
 .hero .intro-actions{gap:12px;margin-top:16px;flex-direction:row;flex-wrap:nowrap;max-width:390px;margin-inline:auto}.hero .intro-actions>.button:first-child{min-height:54px;flex:1;justify-content:space-between;min-width:0}.hero .intro-actions>.button-call{padding:0;width:48px;min-height:48px;flex:none;justify-content:center;border:1px solid var(--separator);background:var(--grouped)}.hero .intro-actions .phone-orb{display:grid}.hero .intro-actions .button-call>span:last-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .button{font-size:.875rem;gap:16px;padding-left:20px}.button-orb{width:36px;height:36px}.hero-media{margin-top:0}.hero-frame{aspect-ratio:1.6}.hero-media-label{left:22px;bottom:22px;font-size:1.625rem}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 70%)}.hero-choices{align-items:flex-start;gap:10px;margin-top:12px}.segmented{padding:3px;gap:2px}.segmented button{padding:8px 13px;font-size:.8125rem}.image-caption{text-align:left;max-width:none;font-size:.75rem;flex-basis:100%}
 .services{padding-top:48px}.section-label{margin-bottom:24px;gap:20px;align-items:start}.section-label>span{font-size:.75rem;max-width:14ch;padding-top:5px}.section-label .eyebrow{font-size:.8125rem;margin-bottom:10px}.choice-heading{font-size:clamp(1.875rem,6.5vw,2.5rem);max-width:14ch}.services-grid{grid-template-columns:1fr;gap:24px}.service-visual{aspect-ratio:1.6}.service-card-copy{padding:22px 24px 26px}.service-goal{font-size:1.875rem}.service-summary{font-size:1rem;max-width:29ch}.service-trade{font-size:.8125rem}.service-explore{padding-top:20px}.visual-arrow{right:22px;bottom:24px}
 .services-compact .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .services-compact .service-card{border-radius:18px}
 .services-compact .service-visual{aspect-ratio:1.65;border-radius:18px 18px 0 0}
 .services-compact .service-card-copy{padding:14px 14px 16px}
 .services-compact .service-title{margin-bottom:8px;gap:5px}
 .services-compact .service-trade{font-size:.75rem;gap:5px}.services-compact .service-trade .icon{width:15px;height:15px}
 .services-compact .service-goal{font-size:clamp(1.0625rem,3.8vw,1.375rem);line-height:1.25;letter-spacing:-.035em;padding:0;min-height:2.5em}
 .services-compact .service-goal-full{display:none}.services-compact .service-goal-compact{display:inline}
 .services-compact .service-summary,.services-compact .service-explore{display:none}
 .services-compact .visual-arrow{position:static;flex:none;margin-left:auto;width:26px;height:26px}.services-compact .visual-arrow .icon{width:16px;height:16px}
 .service-context{padding:14px}.service-context-row{align-items:flex-start;gap:8px;flex-wrap:wrap}.service-context .text-link{min-height:44px}.field-hint{font-size:.8125rem;min-height:6.6em}
 .home-company-grid{grid-template-columns:1fr;gap:30px}.home-company h2{margin-top:16px;font-size:2.75rem}.large-copy{font-size:1.375rem}.home-company .large-copy{font-size:1.375rem;margin-bottom:14px}.trust-facts{gap:20px 28px;margin-block:24px;padding-block:22px}.trust-facts strong{font-size:.9375rem}
 .breadcrumbs{padding-block:14px;gap:9px;font-size:.75rem}.page-intro{padding-block:26px 38px}.page-intro h1{font-size:clamp(2.375rem,10vw,3.5rem);margin-block:16px 20px}.page-intro>p:last-child{font-size:1rem}.page-services .services{padding-top:0}
 .service-hero{padding-block:18px 48px;gap:28px}.service-hero .eyebrow{font-size:.8125rem}.service-hero h1{font-size:clamp(2.375rem,10vw,3.5rem);margin-block:18px 22px;line-height:1.1}.service-hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75}.service-hero-actions{gap:8px 14px;margin-top:24px}.service-hero-actions .button-call{padding-left:4px}.service-hero-image{aspect-ratio:1.15}.service-hero-image figcaption{left:12px;bottom:12px;max-width:calc(100% - 24px);font-size:.75rem;padding:7px 10px}
 .section-heading{gap:22px;margin-bottom:30px;align-items:flex-start;flex-direction:column}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{font-size:2rem;max-width:22ch}.planning-grid{grid-template-columns:1fr;gap:28px}.planning-grid article{padding-top:20px}.planning-grid h3{font-size:1.375rem;margin-bottom:12px}.planning-grid p{font-size:1rem}
 .faq{grid-template-columns:1fr;gap:28px}.faq h2{font-size:2.25rem;margin-bottom:16px}.faq summary{font-size:1rem;padding-block:22px;gap:18px}.faq details>p{font-size:1rem;padding-right:12px}.contact-band{padding-block:56px}.contact-band h2{font-size:2.25rem}.contact-band p:not(.eyebrow){font-size:1rem;margin-top:18px}.band-actions{flex-direction:column;align-items:flex-start;gap:14px;width:100%}.band-actions .text-link{font-size:.875rem;gap:8px}.trade-navigation{justify-content:flex-start;gap:10px 22px}.trade-navigation a{font-size:.875rem}
 .team-portraits{grid-template-columns:1fr;gap:24px;max-width:100%}.team-portraits .master-portrait{max-width:360px}
 .page-about .about{padding-top:22px}.about-top{align-items:flex-start;gap:14px;margin-bottom:26px}.about-location{font-size:.75rem;max-width:14ch}.about-location .icon{width:16px;height:16px}.about-grid{grid-template-columns:1fr;gap:32px}.about-copy h1{font-size:clamp(2.375rem,10vw,3.5rem);margin-bottom:24px}.about-copy .large-copy{font-size:1.375rem}.about-copy>p:not(.large-copy){font-size:1rem}.person{margin-block:24px}.master-portrait{width:100%;max-width:360px;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:18px;justify-self:start}.master-portrait figcaption{padding:0}.master-portrait h2{font-size:1rem}.master-portrait figcaption p{font-size:.8125rem}.region-grid{grid-template-columns:1fr;gap:28px}.region h2{font-size:2.5rem}.region .large-copy{font-size:1.375rem}
 .contact{padding-top:30px}.contact-grid{gap:32px}.contact h1{font-size:clamp(2.5rem,10.8vw,3.75rem);margin-block:16px 22px}.contact .section-intro{font-size:1rem}.contact-phone{font-size:1.75rem;margin-top:24px}.contact-email{font-size:1rem}.contact-small{font-size:.8125rem}.form-panel{padding:26px 22px;border-radius:var(--radius)}.form-heading{margin-bottom:28px}.form-heading h2{font-size:1.625rem}.form-heading>p:last-child{font-size:.875rem}.form-grid{gap:12px 14px}.form-panel legend{font-size:.875rem}.service-options{gap:8px}.service-options span{padding:10px 12px;font-size:.8125rem}.field label{font-size:.8125rem}.field input,.field textarea{font-size:1rem;padding:12px;min-height:50px}.field [aria-invalid=true]{padding:11px}.form-note{font-size:.8125rem}.form-status{font-size:.8125rem}.inquiry-review h2{font-size:1.75rem}.inquiry-review pre{font-size:.8125rem;padding:16px}.review-actions{gap:12px 18px}.review-actions>.button{width:100%}.process-list{gap:28px 22px}.process-list h3{font-size:1.25rem;margin-block:16px 12px}.process-list p{font-size:.9375rem}.step{font-size:.8125rem}
 .footer{padding-block:36px 88px}.footer-top{gap:24px;align-items:flex-start}.footer-top .brand{width:180px}.footer-top>p{margin:0;font-size:1rem;flex-basis:100%}.footer-top>nav{gap:12px 24px;font-size:.875rem}.footer-contact{gap:0 20px;font-size:.8125rem}.footer-contact address{width:100%;margin-block:10px}.footer-bottom{font-size:.75rem;align-items:flex-start;gap:12px}.footer-bottom nav{width:100%;gap:24px}.prototype-label{margin-left:auto}
 .contact-dock{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));max-width:none}.whatsapp-contact{min-height:52px;padding:11px 16px;font-size:.8125rem}.mobile-actions{display:flex;position:static;width:100%;gap:8px;padding:8px;background:var(--surface);border:1px solid var(--separator);border-radius:999px;box-shadow:0 5px 24px #00000012;isolation:isolate}.mobile-actions>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;font-size:.8125rem;line-height:1.35;font-weight:600;padding:10px}.mobile-actions>a:first-child{flex:.7;color:var(--ink)}.mobile-actions>a:last-child{flex:1.3;color:var(--surface);background:var(--ink)}.mobile-actions .icon{width:18px;height:18px}.mobile-actions a:hover{opacity:.7}.mobile-actions a:active{transform:scale(.98)}body.mobile-menu-open .mobile-actions,body:has(.field input:focus,.field textarea:focus) .mobile-actions{display:none}
 .project-grid{grid-template-columns:1fr;gap:38px}.project-meta h3{font-size:1.375rem}.legal-main{padding-block:24px 64px}.legal-main h1{font-size:2.5rem}.legal-main h2{font-size:1.375rem}.legal-main p{font-size:1rem}.not-found-actions{gap:14px;padding-bottom:64px}
}
@media (max-width:400px){.hero h1{font-size:clamp(2rem,8.5vw,2.5rem)}.section-label{flex-direction:column;gap:10px}.section-label>span{max-width:none;text-align:left;padding:0}.section-label>span br{display:none}.service-goal{font-size:1.625rem}.form-grid{grid-template-columns:1fr}.form-panel{padding:24px 18px}.process-list{grid-template-columns:1fr}.mobile-service-links{grid-template-columns:1fr}.band-actions .text-link{font-size:.8125rem}.contact-dock{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom))}.mobile-actions{border-radius:24px}.mobile-actions>a{font-size:.75rem;gap:6px;padding-inline:8px}.footer-bottom{flex-direction:column}.prototype-label{margin-left:0}}
/* User accessibility preferences override decorative transitions and transforms. */
@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.service-card:hover .service-visual img,.button:hover .icon,.text-link:hover .icon,.service-card:hover .visual-arrow{transform:none}}
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.header,.mobile-actions{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}.service-card{outline:1px solid var(--secondary)}.segmented{border-color:var(--secondary)}}
/* Preserve symbolic icon contrast in system forced colors. */
@media (forced-colors:active){.whatsapp-contact{background:ButtonFace;color:ButtonText;border:1px solid ButtonText;box-shadow:none}.whatsapp-contact:focus-visible{outline:3px solid Highlight;box-shadow:none}*{scrollbar-color:auto}.header,.mobile-actions{background:Canvas;backdrop-filter:none}.button,.button-orb,.service-options span,.segmented button,.visual-arrow,.icon-button{border:1px solid ButtonText}.service-options input:checked+span,.segmented button.is-active{outline:2px solid Highlight;outline-offset:-4px}.service-card{outline:1px solid LinkText}.icon{forced-color-adjust:none;background:Canvas;filter:none!important}.hero-media-label{background:Canvas;color:CanvasText;text-shadow:none}.image-caption,.service-summary,.eyebrow{color:CanvasText}}

/* Browsers without cross-document View Transitions retain ordinary navigation. */
@view-transition{navigation:auto}
::view-transition-group(*){animation-duration:360ms;animation-timing-function:var(--ease)}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
:root.service-transition::view-transition-old(root){animation:page-leave 150ms ease-out both}
:root.service-transition::view-transition-new(root){animation:page-arrive 220ms ease-out both}
::view-transition-group(beon-service-image){overflow:clip;border-radius:var(--radius);animation-duration:360ms}
::view-transition-old(beon-service-image),::view-transition-new(beon-service-image){height:100%;object-fit:cover;mix-blend-mode:normal}
@keyframes page-leave{to{opacity:0}}
@keyframes page-arrive{from{opacity:0}to{opacity:1}}
/* Respect both CSS preferences and a live preference change handled by motion.js. */
@media (prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
 .button:active,.button:active .button-orb,.button:active .button-orb .icon,.icon-button:active,.mobile-actions a:active,.whatsapp-contact:hover,.whatsapp-contact:active{transform:none}
}

/* Progress follows position directly, including no-motion mode; no easing/loop. */
@media (prefers-reduced-motion:reduce){.scroll-heading-pending{color:var(--ink)}}
@media (forced-colors:active){.scroll-progress>span{background:CanvasText}.scroll-heading-pending{color:CanvasText}}

/* Clearer hierarchy, 1 November 2026: four home sections, one floating contact. */
.hero-proof-note{font-size:.8125rem;line-height:1.6;color:var(--secondary);margin-top:20px}
.hero-media>.image-caption{margin-top:12px}
.service-title{margin-bottom:0;gap:12px}
.service-goal{font-size:clamp(1.5rem,2.4vw,1.875rem);line-height:1.25;padding:0}
.visual-arrow{position:static;flex:none;width:32px;height:32px;margin-left:auto}
.visual-arrow .icon{width:18px;height:18px}
.service-summary{margin-top:8px;max-width:none}
.support-overview{padding-top:0;padding-bottom:56px}
.support-overview-inner{border-top:1px solid var(--separator);padding-top:48px;display:grid;grid-template-columns:1fr 1.4fr;gap:56px}
.support-overview .section-label{margin:0;align-items:start}
.support-overview h2{font-size:clamp(1.875rem,3.5vw,2.75rem);line-height:1.15;max-width:13ch}
.support-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;border-top:1px solid var(--separator);min-height:80px}
.support-link:first-child{padding-top:0;border-top:0}
.support-link h3{font-size:1.1875rem;line-height:1.4;letter-spacing:-.02em}
.support-link p{font-size:.9375rem;line-height:1.65;color:var(--secondary);margin-top:6px;max-width:48ch}
.support-link>.icon{width:22px;height:22px;flex:none;transition:transform var(--fast)}
.support-link:hover h3{text-decoration:underline;text-underline-offset:5px}
.support-link:hover>.icon{transform:translate(2px,-2px)}
.support-link:active{opacity:.7}
.page-home .emergency-callout{padding-bottom:80px}
.service-emergency-scope{display:block;margin-top:8px;font-size:.8125rem}
.form-optional{margin-top:24px;border-block:1px solid var(--separator)}
.form-optional>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding-block:14px;cursor:pointer;font-size:.875rem;font-weight:500;list-style:none}
.form-optional>summary::-webkit-details-marker{display:none}
.form-optional>summary>.icon{width:18px;height:18px;flex:none;transition:transform var(--fast)}
.form-optional[open]>summary>.icon{transform:rotate(45deg)}
.form-optional>summary:hover{text-decoration:underline;text-underline-offset:4px}
.optional-fields{padding-block:12px 22px}
.optional-fields>fieldset{margin:24px 0 0}
@media(max-width:900px){.support-overview-inner{gap:32px}.page-home .emergency-callout{padding-bottom:64px}}
@media(max-width:650px){
 .hero-proof-note{margin-top:16px;font-size:.75rem}
 .services-compact .service-title{margin-bottom:0}
 .services-compact .service-goal{min-height:0;font-size:clamp(1.125rem,4.2vw,1.375rem)}
 .services-compact .visual-arrow{display:none}
 .services-compact .service-summary{display:block;font-size:.8125rem;line-height:1.55;margin-top:7px;max-width:none}
 .support-overview{padding-bottom:32px}.support-overview-inner{grid-template-columns:1fr;gap:24px;padding-top:32px}
 .support-overview h2{font-size:1.875rem;max-width:none}.support-link{padding-block:22px;gap:18px}
 .support-link h3{font-size:1.0625rem}.support-link p{font-size:.875rem}
 .page-home .emergency-callout{padding-bottom:44px}
 .form-optional>summary{font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce){.support-link:hover>.icon{transform:none}}

/* Motion depth is confined to image layers, never the link or contact target. */
.hero-heading-line{display:block;overflow:clip;padding-bottom:.1em;margin-bottom:-.1em}
.hero-heading-line>[data-hero-line]{display:block}
.service-visual-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scroll-motion-active .service-card:hover .service-visual img{transform:none}
@media(prefers-reduced-motion:reduce){.hero-heading-line{overflow:visible}}
