@font-face{font-family:Cormorant;src:url('./cormorant.woff') format('woff');font-display:swap;font-weight:400}
@font-face{font-family:'DM Sans';src:url('./dm-sans.woff') format('woff');font-display:swap;font-weight:400}
:root,[data-theme=light]{--paper:#fafafa;--surface:#eef0f2;--ink:#2b2f36;--muted:#60656c;--line:rgb(43 47 54 / .18);--inverse:#fff;--dark:#2b2f36;--dark-muted:#c1c5ca;--font-body:'DM Sans',sans-serif;--font-display:Cormorant,serif;--text-xs:clamp(.75rem,.72rem + .1vw,.82rem);--text-sm:clamp(.875rem,.84rem + .12vw,.94rem);--text-base:clamp(1rem,.95rem + .16vw,1.08rem);--text-lg:clamp(1.125rem,1.02rem + .5vw,1.375rem);--text-xl:clamp(1.75rem,1.25rem + 1.5vw,2.6rem);--text-2xl:clamp(2.5rem,1.55rem + 3vw,3.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--gutter:clamp(var(--space-5),5vw,var(--space-20));--section:clamp(var(--space-12),7vw,var(--space-24));--radius-sm:2px;--ease:cubic-bezier(.16,1,.3,1)}
[data-theme=dark]{--paper:#24282e;--surface:#30353c;--ink:#f0f0ee;--muted:#bac0c6;--line:rgb(255 255 255 / .18);--inverse:#2b2f36;--dark:#1c2025}
.container{width:min(100%,1440px);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:fixed;left:var(--space-4);top:-100px;background:var(--paper);padding:var(--space-3);z-index:100}.skip:focus{top:var(--space-4)}
.preview-strip{background:#e6e8eb;color:#40454b;font-size:var(--text-xs)}.preview-strip .container{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-2)}.preview-strip span:first-child{letter-spacing:.12em}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);min-height:110px}
.brand{width:184px;flex-shrink:0;text-decoration:none}.brand svg{width:100%}.brand-tag{display:block;text-align:center;white-space:nowrap;font-size:12px;letter-spacing:.04em;margin-top:var(--space-1);line-height:1.5}
.primary-nav{display:flex;align-items:center;gap:var(--space-8);margin-left:auto}.primary-nav a{position:relative;text-decoration:none;font-size:var(--text-sm);padding-block:var(--space-5);white-space:nowrap}
.primary-nav a:after{content:"";position:absolute;bottom:var(--space-3);left:0;width:0;height:1px;background:currentColor;transition:width .22s var(--ease)}
.primary-nav a[aria-current=page]:after,.primary-nav a:hover:after{width:100%}.primary-nav a[aria-current=page]{color:var(--ink)}
.header-actions{display:flex;gap:var(--space-3)}.theme-button,.menu-button{min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);border:1px solid var(--line)}.menu-button{display:none}
.eyebrow{font:400 var(--text-xs)/1.5 var(--font-body);letter-spacing:.17em;text-transform:uppercase;margin-bottom:var(--space-5)}
.hero{padding-block:var(--space-16) var(--space-20)}.hero-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:var(--space-16);align-items:center}
.hero-copy{padding-block:var(--space-6)}h1{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.015em;margin-bottom:var(--space-6)}h1 span{display:block;color:var(--muted)}
.hero-copy p:not(.eyebrow){color:var(--muted);max-width:48ch;margin-bottom:var(--space-6)}.hero-copy .button{margin-top:var(--space-3)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-10);min-height:52px;background:var(--ink);color:var(--inverse);text-decoration:none;padding:var(--space-4) var(--space-6);font-size:var(--text-sm);border:1px solid transparent;transition:background .2s,color .2s,transform .2s}.button:hover{background:var(--paper);color:var(--ink);border-color:var(--ink)}.button:active{transform:translateY(2px)}.button span{font-size:var(--text-lg)}
.text-link{display:inline-flex;gap:var(--space-8);align-items:center;text-decoration:none;border-bottom:1px solid var(--line);padding-block:var(--space-3);min-height:44px;font-size:var(--text-sm)}.text-link:hover{border-color:currentColor}
.hero-image{position:relative;min-width:0}.hero-image img{width:100%;height:480px;object-fit:cover;background:var(--surface)}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;background:rgb(32 36 41 / .82);color:#fff;padding:var(--space-3) var(--space-5);font-size:var(--text-xs)}
.hero-image .frame-label{position:absolute;top:var(--space-5);left:var(--space-5);color:#fff;background:#2b2f36;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);letter-spacing:.1em}
.principles{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:var(--space-5)}.principles .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.principles span:before{content:"+";margin-right:var(--space-3)}
.section{padding-block:var(--section)}.section h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-6)}
.section p{color:var(--muted);margin-bottom:var(--space-5)}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-24)}.section-heading{max-width:37ch}
.editorial-list{list-style:none}.editorial-list li{padding-block:var(--space-5);border-top:1px solid var(--line);display:grid;grid-template-columns:42px 1fr;gap:var(--space-4)}.editorial-list li:last-child{border-bottom:1px solid var(--line)}
.item-number{font-size:var(--text-xs);padding-top:var(--space-1);color:var(--muted)}
.editorial-list h3{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;margin-bottom:var(--space-2)}.editorial-list p{font-size:var(--text-sm);margin:0}
.dark-section{background:var(--dark);color:#fff}.dark-section p{color:var(--dark-muted)}.dark-section .eyebrow{color:#fff}.dark-section .text-link{border-color:rgb(255 255 255 / .35)}
.cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:start}.cost-equation{display:grid;grid-template-columns:1fr;gap:var(--space-6)}.cost-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-5);border-bottom:1px solid rgb(255 255 255 / .25);padding-bottom:var(--space-5)}
.cost-line b{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl)}.cost-line span{font-size:var(--text-xs);max-width:24ch;text-align:right;color:var(--dark-muted)}.cost-note{font-size:var(--text-xs);margin-top:var(--space-6)}
.process-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--space-8);margin-bottom:var(--space-10)}.process-heading p{max-width:43ch}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-6)}.process-step{border-top:1px solid var(--line);padding-top:var(--space-5)}.process-step .step{font:400 var(--text-xl)/1 var(--font-display);color:var(--muted);display:block;margin-bottom:var(--space-6)}.process-step h3{font-size:var(--text-base);line-height:1.4;margin-bottom:var(--space-3)}.process-step p{font-size:var(--text-sm)}
.image-story{display:grid;grid-template-columns:1fr 1fr;background:var(--surface)}.image-story figure img{width:100%;height:100%;min-height:400px;object-fit:cover;max-height:560px}.image-story .story-copy{padding:clamp(var(--space-8),5vw,var(--space-20));align-self:center}.image-story h2{font:400 var(--text-xl)/1.1 var(--font-display);margin-bottom:var(--space-6)}.image-story p{color:var(--muted);margin-bottom:var(--space-6)}.image-story figcaption{padding:var(--space-3) var(--space-5);font-size:var(--text-xs);color:var(--muted)}
.faq-section{padding-block:var(--space-24)}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--space-5);padding-block:var(--space-5);font-size:var(--text-base);min-height:60px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:var(--text-lg)}.faq details[open] summary:after{content:"−"}.faq details p{font-size:var(--text-sm);padding-right:var(--space-10);margin-bottom:var(--space-6);max-width:65ch}
.contact-band{background:var(--surface);padding-block:var(--space-16)}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-12)}.contact-inner h2{font:400 var(--text-xl)/1.1 var(--font-display);margin-bottom:var(--space-4)}.contact-inner p{max-width:58ch;color:var(--muted)}.contact-inner .button{flex-shrink:0}
.site-footer{background:var(--dark);color:#fff;padding-top:var(--space-16)}.footer-top{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:var(--space-12);padding-bottom:var(--space-12)}.footer-name{font:400 var(--text-xl)/1.1 var(--font-display);margin-bottom:var(--space-3)}.footer-top p:not(.footer-name){font-size:var(--text-xs);color:var(--dark-muted)}.footer-top a{display:block;text-decoration:none;font-size:var(--text-sm);padding-block:var(--space-2);min-height:44px}.footer-top a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid rgb(255 255 255 / .18);display:flex;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-6);font-size:var(--text-xs);color:var(--dark-muted)}
.pm-hero .hero-image img{object-position:center 45%}.london-hero{background:var(--dark);color:#fff}.london-hero h1 span{color:var(--dark-muted)}.london-hero .hero-copy p:not(.eyebrow){color:var(--dark-muted)}.london-hero .button{background:#fff;color:#2b2f36}.london-hero .button:hover{background:transparent;border-color:#fff;color:#fff}.london-hero .hero-image img{height:440px}.london-hero .hero-grid{grid-template-columns:1.1fr 1fr}.london-hero .hero-copy{padding:0}
.two-ways{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin-top:var(--space-10)}.way{padding:var(--space-10);background:var(--surface)}.way-number{font-size:var(--text-xs);letter-spacing:.12em;display:block;margin-bottom:var(--space-6)}.way h3{font:400 var(--text-xl)/1.1 var(--font-display);margin-bottom:var(--space-5)}
.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-16)}.scope-grid .editorial-list li{grid-template-columns:30px 1fr}.boundary{background:var(--surface);padding:var(--space-8);margin-top:var(--space-10)}.boundary h3{font-size:var(--text-base);margin-bottom:var(--space-3)}.boundary p{font-size:var(--text-sm);margin:0}
.london-note{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-4)}.area-names{font:400 var(--text-2xl)/1.15 var(--font-display);border-top:1px solid var(--line);padding-top:var(--space-8)}.area-names span{display:block}.area-names span+span{margin-top:var(--space-3);color:var(--muted)}
dialog{margin:auto;border:0;padding:0;background:var(--paper);color:var(--ink);width:min(660px,calc(100% - 32px));max-height:90dvh;overflow:auto}dialog::backdrop{background:rgb(15 18 22 / .68)}.dialog-inner{padding:var(--space-12);position:relative}.dialog-inner>.dialog-close{display:block;margin-left:auto;min-height:44px;font-size:var(--text-sm);margin-bottom:var(--space-5)}.dialog-inner h2{font:400 var(--text-xl)/1.1 var(--font-display);margin-bottom:var(--space-4)}.demo-notice{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-8)}
fieldset{border:0;min-width:0}legend{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;padding-bottom:var(--space-6)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}label{display:block;font-size:var(--text-sm);margin-bottom:var(--space-5)}input,select,textarea{display:block;width:100%;border:1px solid var(--line);background:var(--paper);padding:var(--space-3);font-size:1rem;margin-top:var(--space-2);border-radius:0}textarea{resize:vertical}.form-buttons{display:flex;justify-content:space-between;gap:var(--space-6);align-items:center}.form-copy{margin-bottom:var(--space-6);font-size:var(--text-sm);color:var(--muted)}.text-button{min-height:44px;font-size:var(--text-sm)}#form-result h3{font:400 var(--text-xl)/1.1 var(--font-display);margin-bottom:var(--space-5)}#form-result p{color:var(--muted);margin-bottom:var(--space-6)}#form-result .eyebrow{color:var(--ink)}
.image-fallback{background:var(--surface);min-height:300px;display:flex;align-items:center;padding:var(--space-8);color:var(--muted)}
.primary-nav{gap:var(--space-5)}.primary-nav .nav-enquire{border:1px solid var(--line);padding:var(--space-2) var(--space-3)}.contact-method-note{font-size:var(--text-xs);margin-top:var(--space-4)}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1440px){.hero-image img{height:540px}.hero-grid{gap:var(--space-20)}}
@media(max-width:1080px){.header-inner{gap:var(--space-5)}.primary-nav{gap:var(--space-5)}.brand{width:155px}.hero-grid,.split{gap:var(--space-10)}.process-grid{grid-template-columns:repeat(3,1fr)}.contact-inner{align-items:start;flex-direction:column}.footer-bottom{flex-wrap:wrap}.footer-top{gap:var(--space-8)}}
@media(max-width:900px){.header-inner{flex-wrap:wrap;gap:0}.header-actions{margin-left:auto}.menu-button{display:block}.primary-nav{display:none;order:3;width:100%;margin:0;padding-block:var(--space-3) var(--space-5);flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:var(--space-3) 0}.primary-nav a:after{bottom:var(--space-2)}}
@media(max-width:760px){.header-inner{min-height:92px;flex-wrap:wrap;gap:0}.brand{width:150px}.header-actions{margin-left:auto}.menu-button{display:block}.primary-nav{display:none;order:3;width:100%;margin:0;padding-block:var(--space-3) var(--space-5);flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:var(--space-3) 0}.primary-nav a:after{bottom:var(--space-2)}.hero{padding-block:var(--space-10) var(--space-12)}.hero-grid,.london-hero .hero-grid{grid-template-columns:1fr;gap:var(--space-8)}.hero-copy{padding:0}.hero-copy p:not(.eyebrow){margin-bottom:var(--space-5)}.hero-image img{height:360px}.london-hero .hero-image img{height:280px}.principles .container{gap:var(--space-3);flex-wrap:wrap}.principles span{letter-spacing:.06em}.principles span:before{margin-right:var(--space-2)}.split,.cost-grid,.image-story,.two-ways,.scope-grid{grid-template-columns:1fr;gap:var(--space-8)}.process-grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}.process-heading{display:block}.process-heading p{margin-top:var(--space-6)}.image-story figure img{height:360px;min-height:0}.faq-section{padding-block:var(--space-12)}.way{padding:var(--space-8)}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:var(--space-2)}.dialog-inner{padding:var(--space-6)}.field-grid{grid-template-columns:1fr}.preview-strip{font-size:12px}.strip-detail{display:none}.contact-band{padding-block:var(--space-12)}.hero-copy .button{max-width:100%;gap:var(--space-6)}}
@media(max-width:390px){.brand{width:155px}.header-actions{gap:var(--space-2)}.theme-button,.menu-button{padding-inline:var(--space-2)}.footer-top{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.principles .container{display:block}.principles span{display:block;margin-block:var(--space-2)}.button{gap:var(--space-5)}}
