@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-400.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-variable.woff2)format("woff2");font-style:normal;font-weight:200 800;font-display:swap}:root{color-scheme:light;--blue:#083d65;--ink:#1f3347;--terracotta:#e1564f;--terracotta-dark:#b13b32;--pink:#ea96a5;--warm:#f6f3f0;--white:#fff;--line:#083d6529;--font-display:"Instrument Serif", Georgia, "Times New Roman", serif;--font-body:"Manrope", system-ui, sans-serif;--gutter:clamp(1.25rem, 4vw, 3rem);font-family:var(--font-body);color:var(--ink);background:var(--white);line-height:1.65}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{flex-direction:column;min-width:0;min-height:100dvh;margin:0;font-size:1.0625rem;display:flex}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:var(--terracotta-dark);text-underline-offset:.2em;overflow-wrap:anywhere}a,button{touch-action:manipulation}a{align-items:center;min-height:44px;display:inline-flex}button{font:inherit;cursor:pointer;min-width:44px;min-height:44px}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--terracotta-dark);outline-offset:4px}h1,h2,h3{color:var(--blue);overflow-wrap:anywhere;line-height:1.2}h1,h2{font-family:var(--font-display);font-weight:400}h1{font-size:clamp(2.75rem,1.2rem + 4.4vw,4.75rem);line-height:1.02}h2{text-wrap:balance;margin:0 0 2rem;font-size:clamp(2.25rem,1.5rem + 2.8vw,3.75rem);line-height:1.06}h3{margin:0 0 1rem;font-size:1.25rem}p{overflow-wrap:anywhere}.container{width:min(100% - 2 * var(--gutter), 76rem);margin-inline:auto}.section{padding-block:clamp(4.5rem,9vw,8rem)}section[id],main[id]{scroll-margin-top:5.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--terracotta-dark);margin:0 0 1.25rem;font-size:.8125rem;font-weight:700}.skip-link{z-index:100;background:var(--white);padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:.75rem;display:flex}.brand{color:var(--blue);flex-shrink:0;text-decoration:none}.brand img{width:auto;height:44px}.menu-button{color:var(--blue);background:var(--white);border:1px solid var(--blue);border-radius:.25rem;padding:.5rem 1rem;display:none}.nav-list,.footer-links{flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:0;list-style:none;display:flex}.nav-list a{color:var(--blue);padding-block:.5rem;font-size:.9375rem;font-weight:600;text-decoration:none}.nav-list a:hover,.nav-list a:focus-visible{text-decoration:underline;text-decoration-color:var(--terracotta)}.hero{isolation:isolate;background:var(--blue);min-height:min(88svh,52rem);color:var(--white);align-items:center;padding-block:clamp(4.5rem,9vw,8rem);display:flex;position:relative}.hero-image{z-index:-2;object-fit:cover;object-position:70% 50%;width:100%;height:100%;position:absolute;inset:0}.hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#083d65f0 0%,#083d65db 45%,#083d6580 68%,#083d652e 100%);position:absolute;inset:0}.hero-copy{max-width:48rem}.hero .eyebrow,.method .eyebrow{color:var(--pink)}.hero h1{color:var(--white);text-wrap:balance;margin:0 0 1.75rem}.hero h1 span{display:block}.hero-introduction{max-width:36rem;margin:0 0 2rem;font-size:clamp(1.125rem,1rem + .4vw,1.25rem)}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.hero-link{color:var(--white);font-weight:600;text-decoration:underline}.hero-caption{right:var(--gutter);max-width:calc(100% - 2 * var(--gutter));color:var(--white);background:#083d65cc;margin:0;padding:.25rem .6rem;font-size:.75rem;position:absolute;bottom:1rem}.hero :focus-visible,.method :focus-visible,.site-footer :focus-visible{outline-color:var(--white)}.button{background:var(--terracotta-dark);border:2px solid var(--terracotta-dark);min-height:44px;color:var(--white);text-align:center;border-radius:.25rem;flex-direction:column;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.button-secondary{background:var(--white);color:var(--terracotta-dark)}.button:hover{text-decoration:underline}.link-note{font-size:.875rem;font-weight:400;display:block}.card-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem;display:grid}.card{border-top:3px solid var(--terracotta);background:var(--warm);min-width:0;padding:1.5rem}.card p:last-child{margin-bottom:0}.services,.contact{background:var(--warm)}.services-heading{gap:1.5rem;margin-bottom:3rem;display:grid}.services-heading h2{margin-bottom:0}.services-introduction{max-width:32rem;margin:0}.services-list{counter-reset:service;margin:0;padding:0;list-style:none}.services-list li{counter-increment:service;border-top:1px solid var(--line);grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1.3fr);align-items:baseline;column-gap:2rem;padding-block:2rem;display:grid}.services-list li:last-child{border-bottom:1px solid var(--line)}.services-list li:before{content:counter(service, decimal-leading-zero);font-family:var(--font-display);color:var(--terracotta-dark);font-size:1.5rem}.services-list h3{font-family:var(--font-display);margin:0;font-size:clamp(1.75rem,1.2rem + 1.4vw,2.375rem);font-weight:400}.services-list p{color:var(--ink);max-width:36rem;margin:0}.method{background:var(--blue);color:var(--white)}.method h2,.method h3{color:var(--white)}.method-introduction{color:#ffffffdb;max-width:36rem;margin:0 0 3rem}.method-steps{counter-reset:step;grid-template-columns:minmax(0,1fr);gap:3.5rem clamp(2rem,4vw,3.5rem);margin:0;padding:0;list-style:none;display:grid}.method-steps li{counter-increment:step;border-top:1px solid #ffffff47;min-width:0;padding-top:1.5rem}.method-steps li:before{content:counter(step, decimal-leading-zero);font-family:var(--font-display);color:var(--pink);margin-bottom:.75rem;font-size:3rem;display:block}.method-steps h3{font-family:var(--font-body);font-size:1.125rem;font-weight:700}.method-steps p{color:#ffffffdb;margin-bottom:0}.project-card{padding:0}.project-cover{aspect-ratio:4/3;object-fit:cover;width:100%}.project-body{padding:1.5rem}.project-body h3{margin-bottom:.5rem}.project-meta{margin:0 0 1rem}.project-type{color:var(--terracotta-dark)}.project-description>:first-child{margin-top:0}.prose>*{max-width:46rem}.prose h1{margin:0 0 2.5rem}.prose h2{margin-bottom:1rem;font-size:1.75rem}.prose .button{margin-top:1rem}.prose section+section{margin-top:3rem}.prose p{margin-block:1rem}.prose p a{min-height:0;display:inline}.about{background:var(--white)}.about-inner,.contact-inner{gap:clamp(2rem,6vw,6rem);display:grid}.about-inner>*,.contact-inner>*{min-width:0}.about-lead{font-family:var(--font-display);color:var(--blue);border-left:3px solid var(--terracotta);padding-left:1.25rem;font-size:clamp(1.5rem,1.1rem + 1.2vw,2rem)}.about-copy p{max-width:38rem}.about-copy>p:first-child{margin-top:0}.about-facts{margin:2rem 0 0;padding:0;list-style:none}.about-facts li{border-top:1px solid var(--line);color:var(--blue);padding-block:.875rem;font-weight:600}.about-facts li:last-child{border-bottom:1px solid var(--line)}.contact-details{grid-template-columns:minmax(0,1fr);gap:1.5rem;font-style:normal;display:grid}.contact-details>*{min-width:0;max-width:100%}.contact-item{gap:.5rem;display:grid}.contact-item p{margin:0}.contact-label{font-size:.875rem;font-weight:700}.contact-value{font-family:var(--font-display);color:var(--blue);font-size:1.75rem}.contact-item .button{place-self:start}.site-footer{background:var(--blue);color:var(--white);padding-block:3rem 1.5rem}.footer-inner{align-items:start;gap:2rem;display:grid}.footer-inner>*{min-width:0}.footer-brand{letter-spacing:.08em;align-items:center;gap:.75rem;font-weight:700;display:flex}.footer-brand img{flex-shrink:0;width:36px;height:auto}.footer-brand p{margin:0}.footer-identity>p{margin-bottom:0}.site-footer a{color:var(--white)}.footer-links{flex-direction:column;gap:0}.footer-bottom{border-top:1px solid #fff3;margin-top:2.5rem;padding-top:1rem}.footer-bottom a{color:#fffc;font-size:.8125rem}.footer-contact{flex-direction:column;align-items:flex-start;min-width:0;font-style:normal;display:flex}.footer-contact a{flex-direction:column;justify-content:center;align-items:flex-start}@media (width<640px){.hero-actions .button{width:100%;padding-inline:1rem}.method-steps{row-gap:2.5rem}.method-steps li{grid-template-columns:3.25rem minmax(0,1fr);align-items:baseline;column-gap:.75rem;display:grid}.method-steps li:before{margin:0;font-size:2.25rem}.method-steps h3{margin:0}.method-steps p{grid-column:1/-1;margin-top:.75rem}}@media (width>=640px){.card-grid,.method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-details{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:.5rem}.contact-item{grid-template-rows:subgrid;grid-row:span 3}}@media (width<=768px){.brand img{height:34px}.menu-button{justify-content:center;align-items:center;display:inline-flex}#navigation{width:calc(100% + 2 * var(--gutter));margin-inline:calc(-1 * var(--gutter));background:var(--white)}.nav-list{flex-direction:column;gap:0}.nav-list li{border-top:1px solid var(--line)}.nav-list a{width:100%;padding-inline:var(--gutter)}[data-menu-ready] .menu-button[aria-expanded=false]+#navigation{display:none}.hero{min-height:0;padding:0;display:block}.hero-image{aspect-ratio:4/3;object-position:70% 60%;height:auto;position:relative}.hero:before{aspect-ratio:4/3;background:linear-gradient(#083d6500 40%,#083d6599 75%,#083d65 100%);inset:0 0 auto}.hero-inner{margin-top:-1.5rem;padding-block:0 3rem}.hero-caption{top:1rem;bottom:auto}.services-list li{grid-template-columns:3rem minmax(0,1fr);gap:1rem}.services-list p{grid-column:1/-1}}@media (width>=769px){.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:2rem 4rem;display:flex}.footer-links{align-items:flex-end}.footer-links a{text-align:right}.nav-list{gap:.25rem 2rem}.nav-list a{font-size:1rem}}@media (width>=1024px){#realisations .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.services-heading{grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1.3fr);align-items:end;column-gap:2rem}.services-heading>div{grid-column:1/3}.services-introduction{grid-column:3}.method-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.about-inner,.contact-inner{grid-template-columns:5fr 7fr}}@media (width>=1024px) and (width<=1279px){.about-inner,.contact-inner{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
