:root{--navy: #071021;--blue: #0081fe;--link: #0a58c9;--paper: #faf9f6;--paper-2: #f2f0ea;--ink: #0b1526;--ink-2: #2f3b4f;--ink-3: #66718a;--rule: #dad6cc;--rule-2: #ebe8e0;--on-navy: #ffffff;--on-navy-2: rgba(255, 255, 255, 0.72);--on-navy-3: rgba(255, 255, 255, 0.5);--rule-navy: rgba(255, 255, 255, 0.14);--font-display: 'Bricolage Grotesque', 'Helvetica Neue', Arial, sans-serif;--font-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;--wrap: 1180px;--gutter: 1.5rem;--measure: 66ch;--section: clamp(4rem, 8vw, 7rem);--block: clamp(2rem, 4vw, 3.5rem);--radius: 3px;--t: 0.15s ease}*, *::before, *::after{box-sizing: border-box;margin: 0;padding: 0}html{font-size: 100%;background-color: var(--navy);overscroll-behavior-y: none;-webkit-text-size-adjust: 100%}body{font-family: var(--font-body);font-size: 1.0625rem;line-height: 1.6;color: var(--ink-2);background-color: var(--navy);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale}img, svg, video{display: block;max-width: 100%;height: auto}a{color: var(--link);text-decoration: underline;text-decoration-thickness: 1px;text-underline-offset: 0.14em;text-decoration-color: rgba(10, 88, 201, 0.4);transition: color var(--t), text-decoration-color var(--t)}a:hover{text-decoration-color: currentColor}button{font: inherit;color: inherit}ul, ol{padding-left: 1.25rem}strong{font-weight: 600;color: var(--ink)}hr{border: 0;border-top: 1px solid var(--rule)}:focus-visible{outline: 2px solid var(--blue);outline-offset: 3px}::selection{background: rgba(0, 129, 254, 0.18)}h1, h2, h3, h4{font-family: var(--font-display);color: var(--ink);font-weight: 600;line-height: 1.1;letter-spacing: -0.015em;text-wrap: balance}h1{font-size: clamp(2.25rem, 5.2vw, 3.75rem);font-weight: 500;letter-spacing: -0.025em;line-height: 1.02}h2{font-size: clamp(1.75rem, 3.4vw, 2.5rem);letter-spacing: -0.02em}h3{font-size: 1.375rem;line-height: 1.2}h4{font-size: 1.0625rem;font-family: var(--font-body);font-weight: 600;letter-spacing: 0}p{margin-bottom: 1.1em}p:last-child{margin-bottom: 0}.lede{font-size: clamp(1.1875rem, 1.6vw, 1.375rem);line-height: 1.5;color: var(--ink-2);max-width: 34em}.measure{max-width: var(--measure)}.prose>*+*{margin-top: 1.1em}.prose h2{margin-top: 2.2em;margin-bottom: 0.6em}.prose h3{margin-top: 1.8em;margin-bottom: 0.4em}.prose ul, .prose ol{padding-left: 1.4rem}.prose li+li{margin-top: 0.4em}.label{display: block;font-family: var(--font-mono);font-size: 0.75rem;font-weight: 500;letter-spacing: 0.06em;text-transform: uppercase;color: var(--ink-3);margin-bottom: 1rem}.label--blue{color: var(--blue)}.label::before{content: '';display: inline-block;width: 8px;height: 8px;border-radius: 50%;background: var(--blue);margin-right: 0.6rem;vertical-align: 0.05em}.label--plain::before{display: none}.small{font-size: 0.9375rem;color: var(--ink-3)}main{background-color: var(--paper)}.wrap{width: 100%;max-width: var(--wrap);margin-inline: auto;padding-inline: var(--gutter)}.wrap--narrow{max-width: 820px}.section{padding-block: var(--section)}.section--tight{padding-block: var(--block)}.section--rule{border-top: 1px solid var(--rule)}.section-head{margin-bottom: var(--block);max-width: 44rem}.section-head h2{margin-bottom: 0.6rem}.section-head p{font-size: 1.125rem}.grid{display: grid;gap: var(--block) 3rem}.grid--2{grid-template-columns: repeat(2, minmax(0, 1fr))}.grid--3{grid-template-columns: repeat(3, minmax(0, 1fr))}.grid--sidebar{grid-template-columns: minmax(0, 1fr) 300px;gap: 4rem;align-items: start}.grid--split{grid-template-columns: 5fr 7fr;align-items: start}.grid--split-rev{grid-template-columns: 7fr 5fr;align-items: start}.stack>*+*{margin-top: 1.1em}.navy{background: var(--navy);color: var(--on-navy-2)}.navy h1, .navy h2, .navy h3, .navy strong{color: var(--on-navy)}.navy a{color: var(--on-navy);text-decoration-color: var(--on-navy-3)}.navy .label{color: var(--on-navy-3)}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 0.5rem;padding: 0.8rem 1.35rem;border: 1px solid var(--ink);border-radius: var(--radius);background: var(--ink);color: #fff;font-family: var(--font-body);font-size: 1rem;font-weight: 600;line-height: 1;text-decoration: none;cursor: pointer;white-space: nowrap;transition: background var(--t), color var(--t), border-color var(--t);-webkit-tap-highlight-color: transparent}.btn:hover{background: var(--blue);border-color: var(--blue);color: #fff}.btn--ghost{background: transparent;color: var(--ink)}.btn--ghost:hover{background: var(--ink);border-color: var(--ink)}.btn--lg{padding: 1rem 1.6rem;font-size: 1.0625rem}.btn--block{width: 100%}.btn:disabled{opacity: 0.6;cursor: default}.navy .btn{background: #fff;border-color: #fff;color: var(--ink)}.navy .btn:hover{background: var(--blue);border-color: var(--blue);color: #fff}.navy .btn--ghost{background: transparent;color: #fff;border-color: var(--on-navy-3)}.navy .btn--ghost:hover{border-color: #fff;background: rgba(255, 255, 255, 0.08)}.actions{display: flex;flex-wrap: wrap;gap: 0.75rem 1rem;align-items: center}.tel{display: inline-flex;align-items: center;min-height: 44px;font-family: var(--font-display);font-weight: 600;font-size: 1.125rem;letter-spacing: -0.01em;color: var(--ink);text-decoration: none;white-space: nowrap}.tel:hover{color: var(--link)}.navy .tel{color: #fff}.navy .tel:hover{color: var(--blue)}.skip-link{position: absolute;left: 1rem;top: -4rem;z-index: 200;padding: 0.75rem 1rem;background: var(--ink);color: #fff;border-radius: var(--radius);text-decoration: none;font-weight: 600}.skip-link:focus{top: 1rem}[id]{scroll-margin-top: 88px}.site-header{position: sticky;top: 0;z-index: 100;background: var(--paper);border-bottom: 1px solid var(--rule)}.site-header .wrap{display: flex;align-items: center;gap: 2rem;min-height: 68px}.logo{display: block;flex-shrink: 0;text-decoration: none}.logo-img{height: 34px;width: auto}.logo-img-footer{height: 32px}.nav{display: flex;align-items: center;gap: 0.25rem;margin-left: 1rem}.nav>li{list-style: none;position: relative}.nav-link{display: inline-flex;align-items: center;gap: 0.3rem;padding: 0.55rem 0.8rem;font-size: 0.9875rem;font-weight: 600;color: var(--ink);text-decoration: none;border-radius: var(--radius);background: none;border: 0;cursor: pointer}.nav-link:hover, .nav-link[aria-expanded="true"]{color: var(--link)}.nav-link[aria-current="page"]{box-shadow: inset 0 -2px 0 var(--blue);border-radius: 0}.nav-link svg{width: 12px;height: 12px;opacity: 0.6}.nav-menu{position: absolute;top: calc(100% + 6px);left: 0;min-width: 260px;padding: 0.5rem 0;background: var(--paper);border: 1px solid var(--rule);border-radius: var(--radius);box-shadow: 0 12px 32px rgba(7, 16, 33, 0.12);list-style: none;display: none;z-index: 10}.nav-menu.is-open{display: block}.nav-menu a{display: block;padding: 0.5rem 1rem;color: var(--ink);text-decoration: none;font-size: 0.9875rem}.nav-menu a:hover{background: var(--paper-2);color: var(--link)}.nav-menu .nav-menu-group{padding: 0.55rem 1rem 0.2rem;font-family: var(--font-mono);font-size: 0.68rem;letter-spacing: 0.08em;text-transform: uppercase;color: var(--ink-3)}.header-right{margin-left: auto;display: flex;align-items: center;gap: 1.25rem}.header-right .portal{font-size: 0.9375rem;color: var(--ink-3);text-decoration: none}.header-right .portal:hover{color: var(--link)}.menu-toggle{display: none;margin-left: auto;padding: 0.5rem;background: none;border: 0;cursor: pointer;color: var(--ink);-webkit-tap-highlight-color: transparent}.menu-toggle svg{width: 26px;height: 26px}.menu-toggle .icon-close{display: none}.menu-toggle[aria-expanded="true"] .icon-open{display: none}.menu-toggle[aria-expanded="true"] .icon-close{display: block}.mobile-menu{display: none;position: fixed;inset: 68px 0 0 0;z-index: 99;background: var(--paper);overflow-y: auto;padding: 1rem var(--gutter) 3rem;border-top: 1px solid var(--rule)}.mobile-menu.is-open{display: block}.mobile-menu .label{margin: 1.5rem 0 0.25rem}.mobile-menu ul{list-style: none;padding: 0}.mobile-menu li a{display: block;padding: 0.8rem 0;border-bottom: 1px solid var(--rule-2);color: var(--ink);text-decoration: none;font-family: var(--font-display);font-size: 1.25rem;font-weight: 500}.mobile-menu .sub a{font-family: var(--font-body);font-size: 1.0625rem;font-weight: 400;padding: 0.75rem 0}.mobile-menu .actions{margin-top: 1.5rem}.hero{padding-top: clamp(2.5rem, 6vw, 5rem);padding-bottom: 0}.hero-grid{display: grid;grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);gap: 3rem;align-items: end}.hero-copy{padding-bottom: clamp(2rem, 5vw, 4rem)}.hero-copy h1{margin-bottom: 1.25rem;max-width: 12em}.hero-copy .lede{margin-bottom: 2rem}.hero-photo img{width: 100%;aspect-ratio: 4 / 3;object-fit: cover}.hero-photo figcaption{margin-top: 0.6rem}.facts{border-top: 1px solid var(--rule);border-bottom: 1px solid var(--rule);display: grid;grid-template-columns: repeat(3, 1fr);list-style: none;padding: 0}.facts li{padding: 1.25rem 1.5rem 1.25rem 0;font-size: 0.9875rem;line-height: 1.45}.facts li+li{border-left: 1px solid var(--rule);padding-left: 1.5rem}.facts strong{display: block;font-family: var(--font-display);font-size: 1.0625rem;margin-bottom: 0.15rem}figure{margin: 0}figure img{width: 100%;background: var(--paper-2)}figcaption{font-family: var(--font-mono);font-size: 0.72rem;letter-spacing: 0.02em;color: var(--ink-3);margin-top: 0.6rem;line-height: 1.45}.photo-strip{display: grid;grid-template-columns: repeat(3, 1fr);gap: 1.25rem}.photo-strip img{aspect-ratio: 3 / 4;object-fit: cover}.photo-pair{display: grid;grid-template-columns: 1fr 1fr;gap: 1.25rem}.photo-pair img{aspect-ratio: 4 / 5;object-fit: cover}.photo-wide img{aspect-ratio: 16 / 10;object-fit: cover}.service-list{list-style: none;padding: 0;display: grid;grid-template-columns: 1fr 1fr;column-gap: 4rem;border-top: 1px solid var(--rule)}.service-list li{border-bottom: 1px solid var(--rule)}.service-list a{display: grid;grid-template-columns: 2.5rem 1fr auto;gap: 0 1rem;align-items: baseline;padding: 1.1rem 0;color: inherit;text-decoration: none}.service-list .num{font-family: var(--font-mono);font-size: 0.75rem;color: var(--ink-3);letter-spacing: 0.04em}.service-list .name{font-family: var(--font-display);font-weight: 600;font-size: 1.1875rem;color: var(--ink);letter-spacing: -0.01em;transition: color var(--t)}.service-list a:hover .name{color: var(--link)}.service-list .desc{grid-column: 2;font-size: 0.9875rem;color: var(--ink-2);margin-top: 0.2rem}.service-list .arrow{color: var(--ink-3);font-family: var(--font-mono);font-size: 0.9rem;transition: transform var(--t), color var(--t)}.service-list a:hover .arrow{color: var(--link);transform: translateX(3px)}.spec{border-top: 1px solid var(--rule)}.spec>div{display: grid;grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);gap: 0.4rem 2.5rem;padding: 1.15rem 0;border-bottom: 1px solid var(--rule)}.spec dt{font-family: var(--font-display);font-weight: 600;font-size: 1.0625rem;color: var(--ink);letter-spacing: -0.01em}.spec dd{margin: 0;color: var(--ink-2)}.steps{list-style: none;padding: 0;counter-reset: step;border-top: 1px solid var(--rule)}.steps li{counter-increment: step;display: grid;grid-template-columns: 3.5rem 1fr;gap: 0 1.5rem;padding: 1.4rem 0;border-bottom: 1px solid var(--rule)}.steps li::before{content: counter(step, decimal-leading-zero);font-family: var(--font-mono);font-size: 0.85rem;color: var(--blue);padding-top: 0.35rem}.steps strong{display: block;font-family: var(--font-display);font-size: 1.1875rem;font-weight: 600;margin-bottom: 0.25rem;letter-spacing: -0.01em}.qa{border-top: 1px solid var(--rule)}.qa>div{padding: 1.4rem 0;border-bottom: 1px solid var(--rule)}.qa h3{font-size: 1.1875rem;margin-bottom: 0.5rem}.article>*+*{margin-top: var(--block)}.article h2{font-size: clamp(1.5rem, 2.4vw, 1.875rem);margin-bottom: 1.25rem}.article figure img{aspect-ratio: 3 / 2;object-fit: cover}.article .photo-pair img{aspect-ratio: 4 / 5}.photo-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 1.25rem}.photo-grid figure:first-child{grid-column: span 2}.photo-grid img{aspect-ratio: 4 / 5;object-fit: cover}.photo-grid figure:first-child img{aspect-ratio: 16 / 10}.aside{position: sticky;top: 92px}.aside-box{padding: 1.5rem;border: 1px solid var(--rule);border-radius: var(--radius);background: #fff}.aside-box h3{font-size: 1.25rem;margin-bottom: 0.5rem}.aside-box p{font-size: 0.9875rem}.aside-box .btn{margin-top: 1rem;width: 100%}.aside-box .tel{display: block;margin-top: 1rem;text-align: center}.aside-list{margin-top: 2rem}.aside-list ul{list-style: none;padding: 0;border-top: 1px solid var(--rule)}.aside-list li a{display: block;padding: 0.55rem 0;border-bottom: 1px solid var(--rule-2);color: var(--ink);text-decoration: none;font-size: 0.9875rem}.aside-list li a:hover{color: var(--link)}.partner{display: flex;align-items: center;flex-wrap: wrap;gap: 0.6rem 1rem;margin-top: 1.75rem;padding-top: 1.1rem;border-top: 1px solid var(--rule);font-size: 0.9375rem;color: var(--ink-2)}.partner img{height: 18px;width: auto}.footer-partner{display: flex;align-items: center;gap: 0.75rem;margin-top: 1.25rem;font-size: 0.875rem;color: var(--on-navy-3)}.footer-partner img{height: 16px;width: auto}.link-list{list-style: none;padding: 0;display: grid;grid-template-columns: repeat(3, 1fr);gap: 0 2rem;border-top: 1px solid var(--rule)}.link-list li{border-bottom: 1px solid var(--rule)}.link-list a{display: flex;justify-content: space-between;padding: 0.8rem 0;color: var(--ink);text-decoration: none;font-weight: 600}.link-list a::after{content: '\2192';font-family: var(--font-mono);color: var(--ink-3)}.link-list a:hover{color: var(--link)}.project{padding-block: var(--block);border-top: 1px solid var(--rule)}.project-head{display: grid;grid-template-columns: minmax(0, 1fr) auto;gap: 1rem 3rem;align-items: end;margin-bottom: 1.5rem}.project-head h2, .project-head h3{margin-bottom: 0.35rem}.project-meta{list-style: none;padding: 0;font-family: var(--font-mono);font-size: 0.75rem;letter-spacing: 0.04em;color: var(--ink-3);text-align: right}.project-meta li+li{margin-top: 0.2rem}.project-body{display: grid;grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);gap: 2.5rem 4rem;align-items: start}.project-body--text{grid-template-columns: minmax(0, 1fr);max-width: var(--measure)}.project-scope{list-style: none;padding: 0;margin-top: 1.5rem;border-top: 1px solid var(--rule)}.project-scope li{padding: 0.5rem 0;border-bottom: 1px solid var(--rule-2);font-size: 0.9875rem;display: flex;gap: 0.75rem}.project-scope li::before{content: '\2014';color: var(--blue);font-family: var(--font-mono)}.contact-grid{display: grid;grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);gap: 3rem 5rem;align-items: start}.contact-big{font-family: var(--font-display);font-size: clamp(1.75rem, 3.5vw, 2.5rem);font-weight: 500;letter-spacing: -0.02em;color: var(--ink);text-decoration: none;display: block;line-height: 1.1}.contact-big:hover{color: var(--link)}.contact-lines{list-style: none;padding: 0;margin-top: 2rem;border-top: 1px solid var(--rule)}.contact-lines li{display: grid;grid-template-columns: 7rem 1fr;gap: 1rem;padding: 0.85rem 0;border-bottom: 1px solid var(--rule);font-size: 0.9875rem}.contact-lines .label{margin: 0;padding-top: 0.2rem}.form-row{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem}.field{margin-bottom: 1.1rem}.field label, .form-label{display: block;font-size: 0.9375rem;font-weight: 600;color: var(--ink);margin-bottom: 0.35rem}.field .hint, .field-hint{font-weight: 400;color: var(--ink-3)}.input, .form-input{width: 100%;padding: 0.7rem 0.85rem;font: inherit;font-size: 1rem;color: var(--ink);background: #fff;border: 1px solid var(--rule);border-radius: var(--radius);transition: border-color var(--t), box-shadow var(--t);-webkit-appearance: none;appearance: none}.input::placeholder, .form-input::placeholder{color: #9aa2b1}.input:focus, .form-input:focus{outline: none;border-color: var(--blue);box-shadow: 0 0 0 3px rgba(0, 129, 254, 0.15)}textarea.input, textarea.form-input{min-height: 130px;resize: vertical}select.input, select.form-input{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366718a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 0.85rem center;padding-right: 2.5rem;cursor: pointer}.checks{display: grid;grid-template-columns: 1fr 1fr;gap: 0.4rem 1.5rem}.checks label{display: flex;align-items: center;gap: 0.6rem;padding: 0.55rem 0;font-size: 1rem;color: var(--ink);cursor: pointer}.checks input{width: 18px;height: 18px;accent-color: var(--blue);flex-shrink: 0}.form-note{font-size: 0.875rem;color: var(--ink-3);margin-top: 0.85rem}.form-msg{display: none;margin-top: 1.25rem;padding: 1rem 1.15rem;border-left: 3px solid var(--blue);background: #fff;font-size: 0.9875rem}.form-msg strong{display: block;margin-bottom: 0.15rem}.form-msg--error{border-left-color: #c0392b}.form-msg.is-shown{display: block}.hp-field{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;border: 0;overflow: hidden;clip: rect(0 0 0 0);clip-path: inset(50%);white-space: nowrap}.page-head{padding-top: clamp(2.5rem, 6vw, 5rem);padding-bottom: var(--block)}.page-head h1{margin-bottom: 1rem}.page-head--photo{display: grid;grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);gap: 3rem;align-items: end}.page-head--photo img{aspect-ratio: 4 / 3;object-fit: cover}.doc{max-width: 720px}.doc h2{font-size: 1.5rem;margin-top: 2.5rem;margin-bottom: 0.6rem}.doc h3{font-size: 1.125rem;margin-top: 1.6rem;margin-bottom: 0.4rem}.doc p, .doc li{margin-bottom: 0.9em}.doc ul{padding-left: 1.3rem}.updated{font-family: var(--font-mono);font-size: 0.75rem;letter-spacing: 0.04em;color: var(--ink-3);margin-bottom: 2rem}.site-footer{background: var(--navy);color: var(--on-navy-2);padding: 4rem 0 2rem;font-size: 0.9375rem}.footer-grid{display: grid;grid-template-columns: 1.4fr 1fr 1fr 1.2fr;gap: 2.5rem 3rem;padding-bottom: 3rem;border-bottom: 1px solid var(--rule-navy)}.footer-grid p{max-width: 30ch;margin-top: 1.25rem}.footer-grid .label{color: var(--on-navy-3);margin-bottom: 0.8rem}.footer-grid .label::before{display: none}.footer-grid ul{list-style: none;padding: 0}.footer-grid li{margin-bottom: 0.1rem}.footer-grid a{display: inline-block;padding: 0.45rem 0;color: var(--on-navy);text-decoration: none}.footer-grid a:hover{color: var(--blue)}.footer-grid .tel{font-size: 1.25rem;padding: 0;margin-bottom: 0.25rem}.footer-bottom{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.75rem 2rem;padding-top: 1.5rem;font-size: 0.8125rem;color: var(--on-navy-3)}.footer-bottom ul{list-style: none;padding: 0;display: flex;flex-wrap: wrap;gap: 1.25rem}.footer-bottom a{display: inline-block;padding: 0.5rem 0;color: var(--on-navy-3);text-decoration: none}.footer-bottom a:hover{color: var(--on-navy)}.mt-1{margin-top: 1rem}.mt-2{margin-top: 2rem}.mt-3{margin-top: 3rem}.mb-2{margin-bottom: 2rem}.visually-hidden{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}@media (max-width: 1024px){.grid--sidebar{grid-template-columns: minmax(0, 1fr) 260px;gap: 3rem}.footer-grid{grid-template-columns: 1fr 1fr}}@media (max-width: 900px){.nav, .header-right{display: none}.menu-toggle{display: block}.hero-grid, .grid--2, .grid--3, .grid--split, .grid--split-rev, .grid--sidebar, .project-body, .contact-grid, .page-head--photo{grid-template-columns: 1fr}.hero-copy{padding-bottom: 0}.hero-photo{margin-top: 0.5rem}.service-list{grid-template-columns: 1fr}.service-list a{grid-template-columns: 1.75rem 1fr auto}.aside{position: static}.facts{grid-template-columns: 1fr}.facts li+li{border-left: 0;border-top: 1px solid var(--rule);padding-left: 0}.link-list{grid-template-columns: 1fr 1fr}.project-head{grid-template-columns: 1fr;align-items: start}.project-meta{text-align: left;display: flex;flex-wrap: wrap;gap: 0.25rem 1.25rem}.project-meta li+li{margin-top: 0}}@media (max-width: 640px){:root{--gutter: 1rem}body{font-size: 1rem}.photo-strip{grid-template-columns: 1fr 1fr;gap: 0.75rem}.photo-strip figure:nth-child(3){grid-column: span 2}.photo-strip figure:nth-child(3) img{aspect-ratio: 16 / 10}.photo-pair{grid-template-columns: 1fr}.spec>div{grid-template-columns: 1fr}.steps li{grid-template-columns: 2.5rem 1fr;gap: 0 1rem}.form-row, .checks{grid-template-columns: 1fr}.link-list{grid-template-columns: 1fr}.footer-grid{grid-template-columns: 1fr 1fr;gap: 2rem 1.5rem}.footer-grid>div:first-child, .footer-grid>div:last-child{grid-column: 1 / -1}.footer-grid>div:first-child p{display: none}.footer-grid a{padding: 0.35rem 0}.contact-lines li{grid-template-columns: 1fr;gap: 0.2rem}.hero-copy h1{max-width: none}}@media (prefers-reduced-motion: reduce){*, *::before, *::after{transition-duration: 0.01ms !important;animation-duration: 0.01ms !important;scroll-behavior: auto !important}}@media print{.site-header, .site-footer, .aside, .mobile-menu{display: none}}.jobs-controls{display: flex;gap: 1rem;flex-wrap: wrap;margin-bottom: 1.5rem}.search-box{flex: 1;min-width: 240px;position: relative}.search-box svg{position: absolute;left: 0.85rem;top: 50%;transform: translateY(-50%);color: var(--ink-3)}.search-box input{padding-left: 2.6rem}.filter-box{display: flex;gap: 0.75rem;flex-wrap: wrap}.filter-box select{min-width: 170px}.jobs-list{border-top: 1px solid var(--rule)}.job-card{display: flex;justify-content: space-between;align-items: center;gap: 2rem;padding: 1.5rem 0;border-bottom: 1px solid var(--rule)}.job-info h3{margin-bottom: 0.4rem}.job-desc-preview{display: -webkit-box;-webkit-line-clamp: 2;line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;margin-bottom: 0.6rem;color: var(--ink-2)}.job-meta{display: flex;gap: 0.4rem 1rem;flex-wrap: wrap;font-family: var(--font-mono);font-size: 0.72rem;letter-spacing: 0.04em;text-transform: uppercase;color: var(--ink-3)}.job-tag.urgent{color: #b3261e}.no-openings{padding: 2.5rem 0;border-top: 1px solid var(--rule);border-bottom: 1px solid var(--rule);max-width: 44rem}.no-openings-icon{display: none}.no-openings h3{margin-bottom: 0.5rem}.no-openings p{margin-bottom: 1.25rem}.jobs-loading{padding: 2rem 0;color: var(--ink-3)}.btn-secondary-outline{background: transparent;color: var(--ink)}.modal-overlay{display: none;position: fixed;inset: 0;background: rgba(7, 16, 33, 0.55);z-index: 1000;align-items: center;justify-content: center;padding: 1rem}.modal-overlay.active{display: flex}.modal{background: var(--paper);border-radius: var(--radius);padding: 2.25rem;width: 100%;max-width: 760px;max-height: 90vh;overflow-y: auto;position: relative}.modal-close{position: absolute;top: 1rem;right: 1rem;background: none;border: 0;cursor: pointer;color: var(--ink-3);padding: 0.25rem;line-height: 1}.modal-close:hover{color: var(--ink)}.modal h2{font-size: 1.75rem;margin-bottom: 0.3rem;padding-right: 2rem}.modal-position-label{display: block;font-family: var(--font-mono);font-size: 0.72rem;letter-spacing: 0.04em;text-transform: uppercase;color: var(--ink-3);margin-bottom: 1.5rem}.job-detail-block{margin-bottom: 1.25rem}.job-detail-block h4{font-family: var(--font-mono);font-size: 0.72rem;letter-spacing: 0.06em;text-transform: uppercase;color: var(--ink-3);margin-bottom: 0.35rem}.job-detail-block .detail-content{white-space: pre-line;color: var(--ink-2)}.modal-divider{border: 0;border-top: 1px solid var(--rule);margin: 1.5rem 0}.modal-form-heading{font-family: var(--font-display);font-size: 1.25rem;font-weight: 600;color: var(--ink)}.form-group{margin-bottom: 1.1rem}.form-group label{display: block;font-size: 0.9375rem;font-weight: 600;color: var(--ink);margin-bottom: 0.35rem}.form-group label .optional{font-weight: 400;color: var(--ink-3);margin-left: 0.3rem}.form-group input, .form-group textarea{width: 100%;padding: 0.7rem 0.85rem;border: 1px solid var(--rule);border-radius: var(--radius);font: inherit;font-size: 1rem;background: #fff;color: var(--ink)}.form-group input:focus, .form-group textarea:focus{outline: none;border-color: var(--blue);box-shadow: 0 0 0 3px rgba(0, 129, 254, 0.15)}.form-group textarea{resize: vertical;min-height: 110px}.form-actions{display: flex;gap: 0.75rem;margin-top: 1.5rem}.form-actions .btn{flex: 1}.form-success{text-align: center;padding: 2rem 0}.form-success-icon{width: 56px;height: 56px;border: 1px solid var(--rule);border-radius: 50%;display: flex;align-items: center;justify-content: center;margin: 0 auto 1.25rem;color: var(--blue)}.form-success h3{margin-bottom: 0.5rem}.form-error-msg{display: none;border-left: 3px solid #b3261e;background: #fff;color: var(--ink);padding: 0.75rem 1rem;font-size: 0.9375rem;margin-bottom: 1rem}@media (max-width: 700px){.job-card{flex-direction: column;align-items: flex-start;gap: 1rem}.modal{padding: 1.5rem}}
