:root{--ink: #1a1c24;--ink-2: #4d5266;--navy: #34486b;--navy-deep: #25354f;--blue: #5485bd;--paper: #f5f6f9;--footer: #d6deea;--stone: #ebe8e2;--white: #fff;--line: #d3d8e1;--line-strong: #78839a;--error: #a32929;--ok: #1f6b45;--gutter: clamp(16px,4vw,72px);--section: clamp(56px,8vw,112px);--serif: Georgia,"Times New Roman","Noto Serif",serif;--sans: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--measure: 68ch}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-padding-top: 16px;scroll-behavior: smooth}body{margin: 0;background: var(--white);color: var(--ink);font: 400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing: antialiased}img{display: block;max-width: 100%;height: auto}a{color: var(--navy);text-underline-offset: 0.18em;text-decoration-thickness: 1px}a:hover{color: var(--navy-deep);text-decoration-thickness: 2px}h1,h2,h3{font-family: var(--serif);font-weight: 400;color: var(--navy);line-height: 1.15;letter-spacing: -0.01em;margin: 0 0 0.5em;text-wrap: balance}h1{font-size: clamp(2rem,1.3rem + 3vw,3.5rem)}h2{font-size: clamp(1.6rem,1.2rem + 1.7vw,2.5rem)}h3{font-size: clamp(1.15rem,1.05rem + 0.5vw,1.4rem);line-height: 1.25}p{margin: 0 0 1em;max-width: var(--measure)}ul,ol{margin: 0 0 1em;padding-left: 1.2em}li{margin-bottom: 0.35em}:focus-visible{outline: 3px solid var(--blue);outline-offset: 3px;border-radius: 2px}.on-dark :focus-visible,.section--navy :focus-visible{outline-color: #fff}::selection{background: var(--navy);color: #fff}.container{width: 100%;max-width: 112rem;margin-inline: auto;padding-inline: var(--gutter)}@media (min-width: 1600px){html{font-size: 112.5%}}@media (min-width: 2200px){html{font-size: 125%}}.visually-hidden{position: absolute !important;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.skip{position: absolute;left: 8px;top: -80px;z-index: 100;background: var(--navy);color: #fff;padding: 12px 16px;border-radius: 2px}.skip:focus{top: 8px}.btn{display: inline-flex;align-items: center;justify-content: center;min-height: 48px;padding: 12px 22px;background: var(--navy);color: #fff;border: 2px solid var(--navy);border-radius: 2px;font: 600 1rem/1.2 var(--sans);text-decoration: none;cursor: pointer;transition: background-color .15s,color .15s,border-color .15s;text-align: center}.btn:hover{background: var(--navy-deep);border-color: var(--navy-deep);color: #fff}.btn:active{transform: translateY(1px)}.btn--sm{min-height: 44px;padding: 10px 18px;font-size: 0.9375rem}.btn--ghost{background: transparent;color: var(--navy)}.btn--ghost:hover{background: var(--navy);color: #fff}.btn--light{background: #fff;color: var(--navy);border-color: #fff}.btn--light:hover{background: var(--stone);border-color: var(--stone);color: var(--navy-deep)}.btn--outline-light{background: transparent;color: #fff;border-color: #fff}.btn--outline-light:hover{background: #fff;color: var(--navy)}.btn[disabled],.btn[aria-busy="true"]{opacity: .75;cursor: progress}.btn-row{display: flex;flex-wrap: wrap;gap: 12px;margin-top: 28px}.topbar{background: var(--navy);color: #fff;font-size: .8125rem}.topbar__in{display: flex;justify-content: space-between;align-items: center;min-height: 36px;gap: 16px}.topbar a{color: #fff;text-decoration: none;font-weight: 600;letter-spacing: .02em;display: inline-flex;align-items: center;min-height: 28px}.topbar a:hover{text-decoration: underline;color: #fff}.site-header{border-bottom: 1px solid var(--line);background: #fff}.header__in{display: flex;align-items: center;justify-content: space-between;gap: 16px;min-height: 72px;flex-wrap: wrap}.brand{display: inline-flex;padding: 8px 0}.brand img{width: 192px;height: auto}.menu-toggle{display: none;align-items: center;gap: 10px;min-height: 44px;padding: 8px 14px;background: transparent;color: var(--navy);border: 2px solid var(--navy);border-radius: 2px;font: 600 .9375rem var(--sans);cursor: pointer}.menu-toggle__bars{width: 18px;height: 2px;background: currentColor;box-shadow: 0 -6px 0 currentColor,0 6px 0 currentColor}.nav__list{list-style: none;margin: 0;padding: 0;display: flex;align-items: center;gap: 4px}.nav__list > li{margin: 0;position: relative}.nav a,.nav summary{display: inline-flex;align-items: center;min-height: 44px;padding: 8px 12px;color: var(--navy);text-decoration: none;font-size: .96875rem;font-weight: 500;cursor: pointer;list-style: none;border-radius: 2px}.nav summary::-webkit-details-marker{display: none}.nav summary::after{content: "";width: 7px;height: 7px;margin-left: 8px;border-right: 2px solid currentColor;border-bottom: 2px solid currentColor;transform: rotate(45deg) translateY(-2px)}.nav a:hover,.nav summary:hover{background: var(--paper)}.nav a[aria-current="page"]{box-shadow: inset 0 -3px 0 var(--blue)}.nav-dd[data-active="true"] > summary{box-shadow: inset 0 -3px 0 var(--blue)}.nav-dd__list{list-style: none;margin: 0;padding: 8px;min-width: 320px;background: #fff;border: 1px solid var(--line-strong);border-top: 3px solid var(--navy);z-index: 20}.nav-dd__list li{margin: 0}.nav-dd__list a{display: flex;width: 100%}.nav__cta{margin-left: 8px !important}.nav__cta .btn{color: #fff}.nav__cta .btn:hover{background: var(--navy-deep)}@media (min-width: 1120px){.nav-dd__list{position: absolute;left: 0;top: 100%}}@media (max-width: 1119px){.menu-toggle{display: inline-flex}.js .nav{display: none;flex-basis: 100%;padding-bottom: 12px}.js .nav.is-open{display: block}.nav{flex-basis: 100%}.nav__list{flex-direction: column;align-items: stretch;gap: 0}.nav__list > li{border-top: 1px solid var(--line)}.nav a,.nav summary{width: 100%;padding: 12px 4px}.nav-dd__list{border: 0;padding: 0 0 8px 12px;min-width: 0}.nav__cta{margin: 8px 0 0 !important;border-top: 0 !important}.nav__cta .btn{width: 100%}}@media (max-width: 719px){.topbar{display: none}.brand img{width: 168px}}.crumbs{font-size: .875rem;color: var(--ink-2);margin-bottom: 20px}.crumbs ol{list-style: none;display: flex;flex-wrap: wrap;gap: 4px 0;margin: 0;padding: 0}.crumbs li{margin: 0}.crumbs li + li::before{content: "/";margin: 0 8px;color: var(--line-strong)}.crumbs a{color: var(--ink-2);display: inline-block;min-height: 24px;padding: 2px 0}.eyebrow{display: flex;align-items: center;gap: 14px;margin: 0 0 20px;font: 600 .78125rem/1.3 var(--sans);letter-spacing: .14em;text-transform: uppercase;color: var(--ink-2);max-width: none}.eyebrow::after{content: "";flex: 1;height: 1px;background: var(--line)}.on-dark .eyebrow{color: #cfd8e8}.on-dark .eyebrow::after{background: rgba(255,255,255,.28)}.byline{font-size: .875rem;color: var(--ink-2);border-top: 1px solid var(--line);padding-top: 12px;margin-top: 28px}.badge-example{display: inline-block;font: 600 .75rem/1.2 var(--sans);letter-spacing: .1em;text-transform: uppercase;color: var(--ink-2);border: 1px dashed var(--line-strong);padding: 5px 10px;margin-bottom: 16px}p > a:only-child,.split__head > a{display: inline-block;padding-block: 4px}.section{padding-block: var(--section)}.section--paper{background: var(--paper)}.section--stone{background: var(--stone)}.section--navy{background: var(--navy);color: #fff}.section--navy h2,.section--navy h3{color: #fff}.section--navy a{color: #fff}.section--navy a.btn--light{color: var(--navy)}.section--navy a.btn--light:hover{color: var(--navy-deep)}.section--tight{padding-block: clamp(36px,5vw,64px)}.section--flush-b{padding-bottom: clamp(28px,4vw,52px)}.split{display: grid;grid-template-columns: minmax(0,4fr) minmax(0,8fr);gap: clamp(24px,5vw,72px);align-items: start}.split--even{grid-template-columns: minmax(0,1fr) minmax(0,1fr)}.split__head h2{margin-bottom: 0}.split__head h2 + p{margin-top: 1em}@media (max-width: 899px){.split,.split--even{grid-template-columns: 1fr}}.lead{font-size: clamp(1.125rem,1.05rem + .4vw,1.3125rem);line-height: 1.55;color: var(--ink);max-width: 60ch}.hero{padding-block: clamp(28px,5vw,64px) clamp(44px,7vw,96px)}.hero__grid{display: grid;grid-template-columns: minmax(0,7fr) minmax(0,5fr);gap: clamp(32px,5vw,80px);align-items: start}.hero h1{max-width: 17ch;margin-bottom: .4em}.hero--inner h1{max-width: 22ch}.hero--inner .hero__grid{grid-template-columns: minmax(0,7fr) minmax(0,4fr)}.hero__aside{margin-top: 36px}.aside__cap{margin: 0 0 8px;font: 600 .78125rem/1.3 var(--sans);letter-spacing: .14em;text-transform: uppercase;color: var(--ink-2);max-width: none}@media (max-width: 899px){.hero--inner .hero__grid{grid-template-columns: 1fr}.hero__aside{margin-top: 8px}}.hero__media figure{margin: 0}.hero__media img{width: 100%;height: auto;border: 1px solid var(--line)}@media (max-width: 899px){.hero__grid{grid-template-columns: 1fr}.hero h1{max-width: none}}.titleblock{display: grid;margin: 0;border: 1px solid var(--navy);border-top: 0;font-size: .875rem;background: #fff}.titleblock > div{display: grid;grid-template-columns: minmax(96px,30%) 1fr;border-top: 1px solid var(--line)}.titleblock > div:first-child{border-top: 1px solid var(--navy)}.titleblock dt{padding: 8px 12px;background: var(--paper);color: var(--ink-2);font-weight: 600;font-size: .75rem;letter-spacing: .08em;text-transform: uppercase;display: flex;align-items: center}.titleblock dd{margin: 0;padding: 8px 12px;border-left: 1px solid var(--line);color: var(--ink)}.titleblock--free{border-top: 1px solid var(--navy)}.ledger{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(4,minmax(0,1fr));border-top: 2px solid var(--navy);border-bottom: 1px solid var(--line)}.ledger li{margin: 0;padding: 24px 24px 24px 0}.ledger li + li{border-left: 1px solid var(--line);padding-left: 24px}.ledger__n{display: block;font: 400 clamp(2rem,1.5rem + 1.8vw,3rem)/1 var(--serif);color: var(--navy);margin-bottom: 10px}.ledger__t{display: block;font-size: .9375rem;color: var(--ink-2);line-height: 1.5}@media (max-width: 899px){.ledger{grid-template-columns: repeat(2,minmax(0,1fr))}.ledger li:nth-child(odd){border-left: 0;padding-left: 0}.ledger li:nth-child(n+3){border-top: 1px solid var(--line)}}@media (max-width: 519px){.ledger{grid-template-columns: 1fr}.ledger li,.ledger li + li{border-left: 0;padding: 18px 0}.ledger li + li{border-top: 1px solid var(--line)}}.service-list{list-style: none;margin: 0;padding: 0;border-top: 2px solid var(--navy);counter-reset: svc}.service-list li{counter-increment: svc;margin: 0;position: relative;display: grid;grid-template-columns: 56px minmax(0,5fr) minmax(0,6fr) 32px;gap: 8px 24px;align-items: baseline;padding: 24px 12px 24px 16px;border-bottom: 1px solid var(--line);transition: background-color .15s}.service-list li::before{content: "0" counter(svc);font: 600 .875rem var(--sans);color: var(--ink-2);letter-spacing: .06em}.service-list li:hover{background: var(--paper)}.service-list a{font: 400 clamp(1.25rem,1.1rem + .6vw,1.625rem)/1.2 var(--serif);text-decoration: none;color: var(--navy)}.service-list a::after{content: "";position: absolute;inset: 0}.service-list p{margin: 0;color: var(--ink-2);font-size: .96875rem}.service-list li::after{content: "→";color: var(--navy);font-size: 1.25rem;justify-self: end}.service-list li.is-primary{background: var(--paper);box-shadow: inset 4px 0 0 var(--navy)}.service-list li.is-primary:hover{background: var(--stone)}@media (max-width: 719px){.service-list li{grid-template-columns: 36px minmax(0,1fr) 24px}.service-list p{grid-column: 2 / 3}.service-list li::after{grid-column: 3;grid-row: 1}}.steps{list-style: none;margin: 0;padding: 0;counter-reset: st}.steps li{counter-increment: st;position: relative;padding: 0 0 28px 64px;margin: 0;min-height: 56px}.steps li::before{content: counter(st);position: absolute;left: 0;top: -2px;width: 40px;height: 40px;display: grid;place-items: center;border: 2px solid var(--navy);border-radius: 50%;font: 400 1.125rem var(--serif);color: var(--navy);background: #fff}.steps li::after{content: "";position: absolute;left: 19px;top: 42px;bottom: 2px;width: 2px;background: var(--line)}.steps li:last-child::after{display: none}.steps h3{margin-bottom: .25em}.steps p{margin: 0;color: var(--ink-2)}.checklist{list-style: none;padding: 0;margin: 0 0 1.5em}.checklist li{position: relative;padding-left: 34px;margin-bottom: .8em;max-width: var(--measure)}.checklist li::before{content: "";position: absolute;left: 4px;top: .5em;width: 12px;height: 7px;border-left: 2px solid var(--navy);border-bottom: 2px solid var(--navy);transform: rotate(-45deg)}.defs{margin: 0 0 1.5em;border-top: 1px solid var(--line)}.defs > div{display: grid;grid-template-columns: minmax(0,4fr) minmax(0,8fr);gap: 8px 32px;padding: 16px 0;border-bottom: 1px solid var(--line)}.defs dt{font-weight: 600;color: var(--navy)}.defs dd{margin: 0;color: var(--ink)}.defs--wide > div{grid-template-columns: minmax(0,5fr) minmax(0,7fr)}@media (max-width: 719px){.defs > div,.defs--wide > div{grid-template-columns: 1fr;gap: 4px}}.qa__item{padding: 20px 0;border-top: 1px solid var(--line)}.qa__item:last-child{border-bottom: 1px solid var(--line)}.qa h3{margin-bottom: .35em;font-size: 1.1875rem;font-family: var(--sans);font-weight: 600;letter-spacing: 0;line-height: 1.35;color: var(--navy)}.qa p{margin: 0}.project{display: grid;grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: clamp(24px,4vw,56px);padding-block: clamp(32px,5vw,56px);border-top: 2px solid var(--navy)}.project:first-of-type{margin-top: 24px}.project__role{display: inline-block;font: 600 .75rem/1.2 var(--sans);letter-spacing: .08em;text-transform: uppercase;background: var(--navy);color: #fff;padding: 6px 10px;margin-bottom: 14px}.project__role--past{background: var(--stone);color: var(--navy-deep)}.gallery{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 12px;margin: 24px 0 0}.gallery figure{margin: 0}.gallery img{width: 100%;border: 1px solid var(--line)}.gallery figcaption,.figcap{font-size: .8125rem;color: var(--ink-2);margin-top: 6px}.gallery .is-wide{grid-column: 1 / -1}@media (max-width: 899px){.project{grid-template-columns: 1fr}}@media (max-width: 519px){.gallery{grid-template-columns: 1fr}}.past-list{list-style: none;padding: 0;margin: 0;border-top: 2px solid var(--navy)}.past-list li{margin: 0;padding: 22px 0;border-bottom: 1px solid var(--line);display: grid;grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: 8px 32px}.past-list h3{margin: 0}.past-list p{margin: 0}@media (max-width: 719px){.past-list li{grid-template-columns: 1fr}}.table-wrap{overflow-x: auto;margin-bottom: 1.5em}.cmp{width: 100%;border-collapse: collapse;font-size: .96875rem;min-width: 560px}.cmp th,.cmp td{text-align: left;vertical-align: top;padding: 14px 16px;border-bottom: 1px solid var(--line)}.cmp thead th{background: var(--navy);color: #fff;font-weight: 600;font-size: .8125rem;letter-spacing: .06em;text-transform: uppercase}.cmp tbody th{font-weight: 600;color: var(--navy);width: 38%}.cmp tbody tr:nth-child(even){background: var(--paper)}@media (max-width: 719px){.table-wrap{overflow: visible}.cmp{min-width: 0}.cmp thead{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0)}.cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display: block;width: 100%}.cmp tr{border-top: 2px solid var(--navy);padding: 12px 0}.cmp tbody th,.cmp td{padding: 6px 0;border: 0;width: 100%}}.sheet{border: 1px solid var(--navy);background: #fff;font-size: .9375rem}.sheet__head{display: flex;justify-content: space-between;gap: 16px;flex-wrap: wrap;padding: 12px 16px;background: var(--navy);color: #fff;font-weight: 600}.sheet__row{display: grid;grid-template-columns: minmax(120px,22%) 1fr;border-top: 1px solid var(--line)}.sheet__row > div{padding: 12px 16px}.sheet__row > div:first-child{background: var(--paper);font-weight: 600;color: var(--navy);border-right: 1px solid var(--line)}@media (max-width: 599px){.sheet__row{grid-template-columns: 1fr}.sheet__row > div:first-child{border-right: 0}}.cta-band{display: grid;grid-template-columns: minmax(0,7fr) minmax(0,5fr);gap: 32px;align-items: center}.cta-band p{color: #e6ebf4;margin-bottom: 0}.cta-band__actions{display: flex;flex-direction: column;gap: 12px}@media (max-width: 899px){.cta-band{grid-template-columns: 1fr}}.contact-grid{display: grid;grid-template-columns: minmax(0,5fr) minmax(0,7fr);gap: clamp(28px,5vw,72px);align-items: start}@media (max-width: 899px){.contact-grid{grid-template-columns: 1fr}}.contact-list{list-style: none;padding: 0;margin: 0 0 24px;border-top: 2px solid var(--navy)}.contact-list li{margin: 0;border-bottom: 1px solid var(--line)}.contact-list a{display: flex;justify-content: space-between;align-items: center;gap: 16px;min-height: 56px;padding: 12px 0;text-decoration: none;font-weight: 600}.contact-list a span:first-child{font-weight: 500;color: var(--ink-2);font-size: .875rem;letter-spacing: .06em;text-transform: uppercase}.contact-list a:hover{background: var(--paper)}.form{display: grid;gap: 22px}.form fieldset{border: 0;margin: 0;padding: 0;min-width: 0}.form legend,.form label{display: block;font-weight: 600;color: var(--navy);margin-bottom: 6px;font-size: .96875rem}.form .hint{display: block;font-weight: 400;color: var(--ink-2);font-size: .875rem;margin-top: 2px}.form input[type="text"],.form input[type="tel"],.form input[type="email"],.form select,.form textarea{width: 100%;min-height: 48px;padding: 10px 12px;font: 400 1rem/1.4 var(--sans);color: var(--ink);background: #fff;border: 1px solid var(--line-strong);border-radius: 2px}.form textarea{min-height: 130px;resize: vertical}.form input:hover,.form select:hover,.form textarea:hover{border-color: var(--navy)}.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline: 3px solid var(--blue);outline-offset: 1px;border-color: var(--navy)}.form [aria-invalid="true"]{border-color: var(--error);border-width: 2px}.field-error{color: var(--error);font-size: .9375rem;font-weight: 600;margin: 6px 0 0}.radio-row{display: flex;flex-wrap: wrap;gap: 10px}.radio-row label{display: inline-flex;align-items: center;gap: 10px;min-height: 48px;padding: 8px 18px;margin: 0;border: 1px solid var(--line-strong);border-radius: 2px;font-weight: 500;cursor: pointer;background: #fff}.radio-row input{width: 20px;height: 20px;margin: 0;accent-color: var(--navy)}.radio-row label:has(input:checked){border-color: var(--navy);background: var(--paper);box-shadow: inset 0 0 0 1px var(--navy)}.radio-row label:has(input:focus-visible){outline: 3px solid var(--blue);outline-offset: 2px}.form-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 22px}@media (max-width: 599px){.form-grid{grid-template-columns: 1fr}}.js .is-hidden{display: none}.hp{position: absolute;left: -9999px;width: 1px;height: 1px;overflow: hidden}.form-summary{border: 2px solid var(--error);background: #fff;padding: 16px 20px}.form-summary h2{font: 700 1.0625rem var(--sans);color: var(--error);margin: 0 0 8px;letter-spacing: 0}.form-summary ul{margin: 0;padding-left: 1.1em}.form-summary a{color: var(--error);font-weight: 600}.form-status{padding: 18px 20px;border: 2px solid var(--navy);background: var(--paper)}.form-status--ok{border-color: var(--ok)}.form-status--ok h2{color: var(--ok)}.form-status--err{border-color: var(--error)}.form-status h2{font: 700 1.25rem var(--sans);letter-spacing: 0;margin: 0 0 6px}.form-status p{margin: 0 0 .5em}.form-note{font-size: .875rem;color: var(--ink-2)}.form + .form-note{margin-top: 18px}#form-summary,#form-status{margin-bottom: 20px}.spinner{display: none;width: 16px;height: 16px;margin-right: 10px;border: 2px solid rgba(255,255,255,.5);border-top-color: #fff;border-radius: 50%;animation: spin .8s linear infinite}.btn[aria-busy="true"] .spinner{display: inline-block}@keyframes spin{to{transform: rotate(360deg)}}.draft-banner{background: #fff4d6;border: 2px solid #8a6200;color: #4a3500;padding: 14px 18px;margin-bottom: 28px;font-weight: 600;max-width: none}.site-footer{border-top: 4px solid var(--navy);background: var(--footer);padding-top: 56px;font-size: .96875rem}.footer__grid{display: grid;grid-template-columns: minmax(0,5fr) repeat(3,minmax(0,3fr));gap: 32px 40px}.footer__brand img{width: 168px;height: auto;margin-bottom: 16px}.footer__brand p{color: var(--ink-2);max-width: 36ch}.footer__motto{font-family: var(--serif);font-style: italic;color: var(--navy) !important}.footer__h{font: 600 .78125rem var(--sans);letter-spacing: .14em;text-transform: uppercase;color: var(--ink-2);margin: 0 0 14px}.footer__list{list-style: none;margin: 0;padding: 0}.footer__list li{margin-bottom: 4px}.footer__list a{display: inline-block;padding: 6px 0;text-decoration: none}.footer__list a:hover,.footer__list a:focus-visible{text-decoration: underline;text-decoration-thickness: 1px;text-underline-offset: .18em}.footer__area{color: var(--ink-2);font-size: .875rem;margin-top: 12px}.footer__bottom{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 8px 24px;margin-top: 40px;padding-block: 0 28px;background: linear-gradient(rgba(52,72,107,.3),rgba(52,72,107,.3)) no-repeat top left / 100% 1px;background-origin: content-box;background-clip: content-box;color: var(--ink-2);font-size: .875rem}.footer__bottom p{margin: 0;padding-top: 20px;max-width: none}@media (max-width: 899px){.footer__grid{grid-template-columns: repeat(2,minmax(0,1fr))}.footer__brand{grid-column: 1 / -1}}@media (max-width: 519px){.footer__grid{grid-template-columns: 1fr}}.sticky-contact{display: none}@media (max-width: 719px){body{padding-bottom: 72px}.sticky-contact{display: grid;grid-template-columns: 1fr 1fr;gap: 10px;position: fixed;left: 0;right: 0;bottom: 0;z-index: 50;padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background: #fff;border-top: 1px solid var(--line-strong)}.sticky-contact .btn{width: 100%}html{scroll-padding-bottom: 88px}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation: none !important;transition: none !important;scroll-behavior: auto !important}.spinner{animation: none;border-top-color: rgba(255,255,255,.5)}}.hero,.section--navy{position: relative;overflow: hidden}.hero > .container,.section--navy > .container{position: relative;z-index: 1}.hero::before{content: "";position: absolute;top: 0;right: 0;bottom: 0;width: min(64%,1100px);background: url(/assets/tlo-plan.0da1d6a3.svg) no-repeat right center / contain;pointer-events: none;z-index: 0;-webkit-mask-image: linear-gradient(to left,#000 45%,transparent);mask-image: linear-gradient(to left,#000 45%,transparent)}.hero--inner::before{background-image: url(/assets/tlo-przekroj.4b1dcac2.svg);background-position: right 3vw bottom;background-size: min(780px,62%) auto}.section--navy::before{content: "";position: absolute;top: 0;right: 0;bottom: 0;width: min(60%,900px);background: url(/assets/tlo-planjasny.dc03252d.svg) no-repeat right center / cover;pointer-events: none;z-index: 0;-webkit-mask-image: linear-gradient(to left,#000 35%,transparent);mask-image: linear-gradient(to left,#000 35%,transparent)}@media (max-width: 719px){.hero::before{width: 100%;opacity: .5}.hero--inner::before{opacity: .5}}.ledger--3{grid-template-columns: repeat(3,minmax(0,1fr))}@media (max-width: 899px){.ledger--3{grid-template-columns: 1fr}.ledger--3 li,.ledger--3 li + li{border-left: 0;padding: 18px 0}.ledger--3 li + li{border-top: 1px solid var(--line)}}.gallery .is-portrait img{aspect-ratio: 4 / 3;object-fit: cover}.after-block{margin-top: 16px}.prose{max-width: 74ch}.prose h2{margin: 2em 0 .6em;font-size: clamp(1.35rem,1.15rem + .9vw,1.75rem)}.prose h2:first-child{margin-top: 0}.prose p,.prose ul{max-width: none;margin: 0 0 1.1em}.prose ul{padding-left: 1.3em}.prose li{margin-bottom: .6em}.map-band{position: relative;border-top: 1px solid var(--line);border-bottom: 1px solid var(--line);background: var(--paper)}.map-band.is-loaded{background: var(--white)}.map-band.is-loaded::before{content: "Ładowanie mapy…";position: absolute;left: 0;right: 0;top: clamp(180px,22vw,320px);text-align: center;color: var(--ink-2);font: 600 .9375rem var(--sans)}.map-band iframe{position: relative;z-index: 1;display: block;width: 100%;height: clamp(460px,52vw,720px);border: 0}.map-band__in{display: flex;flex-direction: column;align-items: flex-start;gap: 14px;padding-block: clamp(28px,4vw,52px)}.map-band__kicker{margin: 0;font: 600 .78125rem/1.3 var(--sans);letter-spacing: .14em;text-transform: uppercase;color: var(--ink-2)}.map-band__lead{margin: 0;font: 400 clamp(1.25rem,1.05rem + 1vw,1.75rem)/1.25 var(--serif);color: var(--navy);max-width: 40ch;text-wrap: balance}.map-band__btn{display: none}.js .map-band__btn{display: inline-flex}.js .map-band__nojs{display: none}.map-band__note{margin: 0;font-size: .875rem;color: var(--ink-2);max-width: 64ch}.map-band__note a{display: inline;padding-block: 0}.map-band__after{position: relative;z-index: 1;margin: 0;padding-block: 10px;font-size: .875rem;max-width: none;background: var(--white)}.titleblock + .titleblock{margin-top: 16px}@media print{.topbar,.menu-toggle,.nav,.sticky-contact,.skip{display: none !important}.section{padding-block: 24px}}