:root{--font-sans:"Manrope", ui-sans-serif, system-ui, sans-serif;--page-bg:#fff;--ink:#080808;--muted:#676767;--line:#dedede;--soft-line:#eee;--header-bg:#ffffffeb;--cursor-bg:#fff;--content-max:1680px;--rail-width:clamp(18px, 5vw, 92px);--header-height:84px;--section-pad-y:clamp(56px, 8vw, 132px);--section-pad-x:clamp(22px, 5vw, 88px)}html[data-theme=dark]{--page-bg:#080808;--ink:#fff;--muted:#a8a8a8;--line:#272727;--soft-line:#171717;--header-bg:#080808e6;--cursor-bg:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--page-bg);color:var(--ink);font-family:var(--font-sans);scroll-behavior:smooth}body{background:var(--page-bg);min-width:320px;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}@media (hover:hover) and (pointer:fine){html.custom-cursor-enabled,html.custom-cursor-enabled body,html.custom-cursor-enabled a,html.custom-cursor-enabled button{cursor:none}}a{color:inherit;text-decoration:none}.custom-cursor{z-index:1200;width:var(--cursor-size,24px);height:var(--cursor-size,24px);background:var(--cursor-bg);mix-blend-mode:difference;pointer-events:none;opacity:0;will-change:transform;border-radius:50%;transition:width .18s,height .18s,opacity .14s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor.is-visible{opacity:1}.custom-cursor.is-over-text{--cursor-size:64px}.page-loader{z-index:1000;background:var(--page-bg);opacity:1;visibility:visible;place-items:center;transition:opacity 1.1s,visibility 0s linear 1.1s;display:grid;position:fixed;inset:0}.page-loader.is-loaded{opacity:0;visibility:hidden;pointer-events:none}.loader-logo{opacity:1;width:80px;height:80px;transition:opacity .62s,transform .62s;transform:translateY(0)scale(1)}.page-loader.is-exiting .loader-logo{opacity:0;transform:translateY(-8px)scale(.96)}.loader-logo path{stroke:var(--ink);stroke-dasharray:1;stroke-dashoffset:1px;animation:1.3s ease-in-out infinite loader-logo-draw}@keyframes loader-logo-draw{0%{stroke-dashoffset:1px}45%,55%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}.site-shell{background:var(--page-bg);min-height:100vh}.appear-on-enter{opacity:0;transition:opacity .52s,transform .52s;transition-delay:var(--appear-delay,0s);will-change:opacity, transform;transform:translateY(14px)}.appear-on-enter.is-visible{opacity:1;transform:translateY(0)}.grid-section{border-bottom:1px solid var(--line)}.section-grid,.header-grid{grid-template-columns:var(--rail-width) minmax(0, 1fr) var(--rail-width);width:min(100%, var(--content-max));margin-inline:auto;display:grid}.section-grid{min-height:clamp(420px,62vh,760px)}.rail{border-inline:1px solid var(--line)}.rail-left{border-left:0}.rail-right{border-right:0}.section-content{min-width:0;padding:var(--section-pad-y) var(--section-pad-x);align-content:center;display:grid}.hero-section .section-grid{min-height:calc(100svh - var(--header-height))}.hero-content{align-content:center}.site-header-shell{z-index:20;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.header-grid{min-height:var(--header-height)}.site-header{min-width:0;padding:16px var(--section-pad-x);justify-content:space-between;align-items:center;gap:24px;display:flex}.brand-mark{letter-spacing:0;place-items:center;width:52px;height:52px;font-size:.78rem;font-weight:800;display:inline-grid}.brand-logo{width:28px;height:37px}.brand-logo path{stroke:currentColor;stroke-dasharray:1;stroke-dashoffset:0}.site-header.header-appear-on-enter .brand-logo path{stroke-dashoffset:1px}.site-header.header-appear-on-enter.is-header-visible .brand-logo path{stroke-dashoffset:0}.brand-logo.is-drawing path{animation:.9s ease-out .12s both logo-draw-load}.brand-mark:is(:hover,:focus-visible) .brand-logo path{animation:1.1s ease-in-out both logo-redraw-hover}@keyframes logo-draw-load{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes logo-redraw-hover{0%{stroke-dashoffset:0}45%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.page-loader{transition:none}.appear-on-enter{opacity:1;transition:none;transform:none}.site-header.header-appear-on-enter .brand-logo path{stroke-dashoffset:0}.site-header.header-appear-on-enter .site-nav>*{opacity:1;transition:none;transform:none}.loader-logo path,.brand-logo.is-drawing path,.brand-logo path,.brand-mark:is(:hover,:focus-visible) .brand-logo path{animation:none}}.site-nav{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:clamp(16px,3vw,42px);font-size:clamp(.84rem,1vw,.96rem);font-weight:600;display:flex}.site-nav a{transition:color .16s}.site-header.header-appear-on-enter .site-nav>*{opacity:0;transition:opacity .42s,transform .42s,color .16s;transition-delay:var(--header-item-delay,0s);transform:translateY(-12px)}.site-header.header-appear-on-enter.is-header-visible .site-nav>*{opacity:1;transform:translateY(0)}.site-nav a:hover,.theme-toggle:hover{color:var(--ink)}.theme-toggle{color:var(--muted);font:inherit;appearance:none;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-weight:600;line-height:1;transition:color .16s;display:inline-flex}.theme-icon{flex:none}.theme-icon-sun,html[data-theme=dark] .theme-icon-moon{display:none}html[data-theme=dark] .theme-icon-sun{display:block}.hero-copy{max-width:1130px}.eyebrow,.section-kicker{width:fit-content;color:var(--ink);letter-spacing:0;text-transform:uppercase;white-space:nowrap;flex:none;align-items:center;gap:12px;margin:0;font-size:clamp(.78rem,1vw,.92rem);font-weight:700;line-height:1;display:inline-flex}.eyebrow:before,.section-kicker:before{content:"";background:currentColor;width:32px;height:1px}.hero-copy .eyebrow{margin-bottom:clamp(22px,3vw,42px)}h1,h2,h3,p{margin:0}h1{letter-spacing:0;max-width:10ch;font-size:clamp(4rem,9vw,13rem);font-weight:800;line-height:1em}h2{letter-spacing:0;max-width:970px;font-size:clamp(2.15rem,5.4vw,6.8rem);font-weight:800;line-height:1.1}.intro-layout,.services-layout,.contact-layout,.service-hero-content,.services-page-layout,.service-process-layout,.contact-page-hero,.contact-methods-layout,.contact-notes-layout{grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}.service-hero-content h1,.contact-page-hero h1{max-width:1080px;font-size:clamp(3.1rem,7.4vw,8.6rem);line-height:.96}.service-hero-content p:not(.section-kicker),.contact-page-hero p:not(.section-kicker){max-width:680px;color:var(--muted);margin-top:clamp(26px,3vw,42px);font-size:clamp(1.05rem,1.5vw,1.45rem);font-weight:500;line-height:1.55}.intro-layout p:not(.section-kicker),.contact-layout a{max-width:680px;color:var(--muted);margin-top:clamp(26px,3vw,42px);font-size:clamp(1.05rem,1.5vw,1.45rem);font-weight:500;line-height:1.55;display:block}.contact-layout a{width:fit-content;color:var(--ink);border-bottom:1px solid}.service-list{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.service-list article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:260px;padding:clamp(24px,3.2vw,48px)}.service-list span{color:var(--muted);margin-bottom:clamp(48px,6vw,92px);font-size:.82rem;font-weight:700;display:block}.service-list h3{margin-bottom:14px;font-size:clamp(1.4rem,2vw,2.1rem);font-weight:800;line-height:1}.service-list p{max-width:360px;color:var(--muted);font-size:clamp(.98rem,1.1vw,1.12rem);font-weight:500;line-height:1.55}.service-detail-list{display:grid}.service-detail-list>h2{max-width:900px;padding-block:0 clamp(34px,5vw,72px);font-size:clamp(2.15rem,5.4vw,6.8rem)}.service-detail-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(44px,.16fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);padding-block:clamp(34px,5vw,78px);display:grid}.service-detail-item:first-of-type{border-top:1px solid var(--line)}.service-detail-item>span{color:var(--muted);font-size:.82rem;font-weight:800}.service-detail-item h3{max-width:760px;font-size:clamp(1.65rem,2.8vw,3.4rem);font-weight:800;line-height:1}.service-detail-item p{max-width:760px;color:var(--muted);margin-top:clamp(18px,2.4vw,32px);font-size:clamp(1rem,1.25vw,1.22rem);font-weight:500;line-height:1.58}.service-detail-item ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:clamp(24px,3vw,38px) 0 0;padding:0;list-style:none;display:grid}.service-detail-item li{min-height:54px;color:var(--ink);text-align:center;border:1px solid var(--line);justify-content:center;align-items:center;padding:14px 16px;font-size:clamp(.9rem,1vw,1rem);font-weight:800;line-height:1.35;display:flex}.service-process-layout h2{max-width:920px}.service-process-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(42px,6vw,86px);display:grid}.service-process-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:240px;padding:clamp(22px,2.7vw,38px)}.service-process-grid span{margin-bottom:clamp(44px,5vw,74px);font-size:clamp(1.15rem,1.5vw,1.5rem);font-weight:800;display:block}.service-process-grid p{color:var(--muted);font-size:clamp(.96rem,1.05vw,1.08rem);font-weight:500;line-height:1.5}.contact-methods h2,.contact-notes-layout h2{max-width:980px}.contact-form-layout{grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);align-content:start;gap:clamp(32px,6vw,96px)}.contact-enquiry-section .section-grid{min-height:auto}.contact-form-wrap{gap:clamp(34px,4vw,56px);width:min(100%,960px);display:grid}.contact-form-intro h2{max-width:820px}.contact-form-intro p{max-width:640px;color:var(--muted);margin-top:clamp(20px,2.6vw,34px);font-size:clamp(1.02rem,1.35vw,1.28rem);font-weight:500;line-height:1.55}.enquiry-form{--form-section-pad:clamp(34px, 4vw, 48px);--form-section-gap:clamp(20px, 2vw, 26px);--form-field-gap:14px;--form-control-height:60px;border-top:1px solid var(--line);display:grid}.form-block{gap:var(--form-section-gap);min-inline-size:0;padding:var(--form-section-pad) 0;border:0;border-bottom:1px solid var(--line);margin:0;display:block}.form-block legend{float:left;width:100%;margin-bottom:var(--form-section-gap);max-width:720px;color:var(--ink);padding:0;font-size:clamp(1.45rem,2.1vw,2.25rem);font-weight:800;line-height:1.08;display:block}.form-block legend+*{clear:both}.form-grid{place-items:flex-start start;gap:20px var(--form-field-gap);display:grid}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.enquiry-form label{justify-self:stretch;gap:var(--form-field-gap);min-width:0;display:grid}.form-grid label>span,.textarea-label>span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:800;line-height:1}.enquiry-form input,.enquiry-form textarea{width:100%;min-width:0;color:var(--ink);font:inherit;border:1px solid var(--line);background:0 0;border-radius:0;outline:0;font-size:1rem;font-weight:600;line-height:1.4;transition:border-color .16s,background-color .16s}.enquiry-form input{height:var(--form-control-height);padding:0 18px}.enquiry-form textarea{resize:vertical;min-height:180px;padding:16px 18px}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:var(--muted)}.enquiry-form input:focus,.enquiry-form textarea:focus{border-color:var(--ink);background:var(--soft-line)}.form-error{min-height:1.2em;color:var(--muted);font-size:.82rem;font-weight:600;line-height:1.35}.form-error:empty{display:none}.form-status{max-width:720px;color:var(--ink);border:1px solid var(--line);background:0 0;padding:16px 18px;font-size:.96rem;font-weight:800;line-height:1.4}.form-status[data-status-type=error]{color:var(--muted)}.choice-grid{gap:var(--form-field-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.choice-grid label{display:block;position:relative}.choice-grid input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.choice-grid span{min-height:var(--form-control-height);color:var(--ink);border:1px solid var(--line);align-items:center;padding:16px 18px;font-size:clamp(1rem,1.2vw,1rem);font-weight:800;line-height:1.18;transition:border-color .16s,color .16s,background-color .16s;display:grid}.choice-grid input:checked+span{color:var(--page-bg);background:var(--ink);border-color:var(--ink)}.choice-grid input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}.form-actions{padding-top:var(--form-section-pad);justify-content:space-between;align-items:center;gap:24px;display:flex}.form-actions p{max-width:300px;color:var(--muted);font-size:.95rem;font-weight:600;line-height:1.45}.form-actions button{min-height:var(--form-control-height);color:var(--page-bg);font:inherit;text-transform:uppercase;background:var(--ink);border:1px solid var(--ink);appearance:none;border-radius:0;justify-content:center;align-items:center;padding:0 28px;font-size:.9rem;font-weight:800;line-height:1;transition:color .16s,background-color .16s;display:inline-flex}.form-actions button:is(:hover,:focus-visible){color:var(--ink);background:0 0}.form-actions button:disabled{cursor:progress;opacity:.68}.contact-method-list{border-top:1px solid var(--line);margin-top:clamp(42px,6vw,86px);display:grid}.contact-method-list>*{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,.26fr) minmax(0,1fr);gap:clamp(22px,4vw,72px);padding-block:clamp(24px,3.8vw,52px);display:grid}.contact-method-list span,.contact-note-grid span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:800}.contact-method-list strong{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:clamp(1.45rem,3vw,3.6rem);font-weight:800;line-height:1}.contact-method-list a strong{border-bottom:1px solid #0000;transition:border-color .16s}.contact-method-list a:is(:hover,:focus-visible) strong{border-color:currentColor}.contact-note-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(42px,6vw,86px);display:grid}.contact-note-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:220px;padding:clamp(22px,2.7vw,38px)}.contact-note-grid p{max-width:380px;color:var(--ink);margin-top:clamp(44px,5vw,74px);font-size:clamp(1.15rem,1.55vw,1.55rem);font-weight:800;line-height:1.15}.split-statement{grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}.split-statement h2{max-width:1180px}.contact-section .section-grid{min-height:clamp(430px,54vh,660px)}.work-index-section .section-grid{min-height:calc(100svh - var(--header-height))}.work-index-content{align-content:start;padding-top:clamp(56px,8vw,112px)}.work-list{margin-top:clamp(42px,6vw,86px);display:grid}.work-list-item{width:fit-content;min-width:0;max-width:100%;padding:clamp(22px,3vw,42px) clamp(56px,6vw,86px) clamp(22px,3vw,42px) 0;transition:opacity .16s;display:inline-block;position:relative}.work-list-item.appear-on-enter{transition:opacity .52s,transform .52s;transition-delay:var(--appear-delay,0s)}.work-list-title{letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(2rem,5.4vw,6.3rem);font-weight:800;line-height:.98;display:inline}.work-list-year{font-size:clamp(.78rem,1.15vw,1.18rem);font-weight:800;line-height:1;display:block;position:absolute;top:clamp(20px,2.8vw,38px);right:0}.work-list:has(.work-list-item:is(:hover,:focus-visible)) .work-list-item:not(:is(:hover,:focus-visible)){opacity:.4}
