:root{--bg:#fff;--ink:#181818;--muted:#646464;--line:#e5e5e5;--soft:#fafafa;--pill:#f2f2f2;--cobalt:#3455DB;--jade:#299B80;--turquoise:#008C87;--aubergine:#693D79;--cornflower:#7896E3;--raspberry:#C44770;--marigold:#E8AE36;--accent:var(--cobalt);--teal:var(--turquoise);--warm:var(--marigold);--highlight:var(--cobalt);--link:var(--cobalt);--button-ink:#fff;--header:rgba(255,255,255,.93);color-scheme:light}html[data-theme=dark]{--bg:#111212;--ink:#f2f2ef;--muted:#aeaeab;--line:#303232;--soft:#171919;--pill:#242626;--accent:var(--cobalt);--teal:var(--turquoise);--warm:var(--marigold);--highlight:var(--cornflower);--link:var(--cornflower);--header:rgba(17,18,18,.94);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6.25rem}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 Arial,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}svg{display:block}svg:not(.connection-art svg){stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:0.3125rem}p{margin:0 0 1.375rem;color:var(--muted)}h1,h2,h3{font-weight:600;line-height:1.12;letter-spacing:-.045em;margin:0}h2{font-size:clamp(2.125rem,3.6vw,3rem)}h3{font-size:1.625rem}h2 em{font-style:normal;color:var(--muted)}.wrap{max-width:75rem;margin-inline:auto;width:calc(100% - 6rem)}header{height:5.125rem;border-bottom:1px solid var(--line);background:var(--header);position:sticky;top:0;z-index:20;backdrop-filter:blur(1.125rem)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2.25rem}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{width:10rem;height:auto;display:block;mix-blend-mode:multiply}html[data-theme=dark] .brand img{filter:invert(1);mix-blend-mode:screen}.nav nav{display:flex;gap:1.8125rem;align-items:center;margin-left:auto;margin-right:1.75rem}.nav nav a{font-size:0.875rem;white-space:nowrap;color:var(--muted);transition:color .2s}.nav nav a:hover,.nav nav a.active{color:var(--ink)}.tools{display:flex;gap:0.5625rem}.icon{height:2.375rem;min-width:2.375rem;border:1px solid var(--line);background:transparent;border-radius:2.5rem;display:flex;align-items:center;justify-content:center;gap:0.5625rem;padding:0.5625rem;transition:background .2s}.icon:hover{background:var(--pill)}.icon svg{width:1.0625rem;height:1.0625rem}.icon kbd{font:0.625rem/1.3 monospace;color:var(--muted);border:1px solid var(--line);padding:2px 3px;border-radius:3px}.search-open{padding-inline:0.6875rem}.menu{display:none}.skip{position:fixed;top:-6.25rem;left:0.9375rem;background:var(--ink);color:var(--bg);padding:0.75rem;z-index:100}.skip:focus{top:0.625rem}.eyebrow{font-size:0.6875rem;font-weight:550;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:0.5625rem}.badge{padding:0.4375rem 0.8125rem;border:1px solid var(--line);background:var(--pill);border-radius:1.875rem;letter-spacing:.055em;font-size:0.625rem;box-shadow:inset 0 1px 2px #00000004}.dot{display:inline-block;width:0.3125rem;height:0.3125rem;border-radius:50%;background:var(--accent);flex-shrink:0}.hero{position:relative;padding:5.1875rem 0 0;overflow:hidden}.hero-grid{position:absolute;inset:0 0 auto;height:25rem;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:3.5rem 3.5rem;opacity:.55;mask-image:linear-gradient(#000,transparent)}.hero-content{position:relative;text-align:center}.hero h1{font-size:clamp(2.6875rem,4.8vw,4.125rem);margin:1.625rem -0.625rem 1.375rem;letter-spacing:-.052em;line-height:1.09}.hero h1 span{color:var(--highlight)}.hero-description{font-size:1.0625rem;max-width:46.0625rem;margin:0 auto;line-height:1.7}.actions{display:flex;justify-content:center;gap:0.75rem;margin-top:1.875rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.125rem;padding:0.75rem 1.375rem;border-radius:3.125rem;font-size:0.875rem;font-weight:500;line-height:1.5;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 0.3125rem 1.125rem #00000012}.primary{background:var(--accent);color:var(--button-ink);border-color:var(--accent);box-shadow:0 2px 0.25rem #00000012}.secondary{background:var(--soft)}.pattern-hero{margin:3.3125rem auto 0;max-width:62.5rem;text-align:left;position:relative}.plot-label,.plot-foot{display:flex;align-items:center;justify-content:space-between;font-size:0.5625rem;letter-spacing:.1em;color:var(--muted)}.plot-label{padding:0 0.25rem}.plot-label span:nth-child(2){margin-left:1.625rem}.plot-foot{padding:0.75rem 0;border-top:1px solid var(--line);font-size:0.5625rem;letter-spacing:.02em}.plot-foot>span:first-child{display:flex;gap:0.4375rem;align-items:center}.plot-foot i{width:0.25rem;height:0.25rem;border-radius:50%;background:var(--accent)}canvas{display:block;width:100%;height:8.25rem}.section{padding-block:6.25rem}.section-head{margin-bottom:2.75rem}.section-head .eyebrow{margin-bottom:1.375rem;color:var(--muted)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.two-columns p{font-size:0.9375rem;line-height:1.85}.two-columns p:last-child{margin-bottom:0}.why{padding-top:5.75rem}.why .section-head{margin-bottom:2.375rem}.approach{background:var(--soft);border-block:1px solid var(--line)}.centered{text-align:center}.tabs{display:flex;justify-content:center;gap:0.5625rem;margin-bottom:2rem}.tabs button{background:var(--bg);border:1px solid var(--line);border-radius:2.5rem;padding:0.6875rem 1.125rem;font-size:0.8125rem;white-space:nowrap;transition:background .2s}.tabs button span{font-size:0.625rem;opacity:.5;margin-right:0.4375rem;font-variant-numeric:tabular-nums}.tabs button[aria-selected=true]{background:var(--accent);color:var(--button-ink);border-color:var(--accent);box-shadow:0 3px 0.5rem #00000010}.tabs button[aria-selected=true] span{opacity:1}.approach-panel{border:1px solid var(--line);border-radius:1.125rem;background:var(--bg);display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;min-height:25.75rem;box-shadow:0 0.375rem 1.375rem #00000002}.panel-copy{padding:2.5rem 2.625rem;display:flex;flex-direction:column}.panel-copy .eyebrow{color:var(--muted);font-size:0.625rem}.panel-copy h3{margin-top:1.1875rem;margin-bottom:1.25rem}.panel-copy p{font-size:0.875rem;line-height:1.85;margin-bottom:1.25rem}.panel-note{margin-top:auto;padding-top:1rem;display:flex;gap:0.5rem;align-items:center;font-size:0.6875rem;color:var(--muted);border-top:1px solid var(--line)}[hidden]{display:none!important}.connection-art{background:var(--soft);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0.9375rem 1.25rem 1.875rem}.connection-art svg{width:100%;max-width:26.25rem;overflow:visible}.connections path{stroke:var(--ink);stroke-width:1;opacity:.23}.connections path:nth-child(2){stroke:var(--accent);opacity:.65}.connections path:nth-child(3){stroke:var(--teal);opacity:.5}.art-nodes circle{fill:var(--bg);stroke:var(--ink);stroke-width:1.1}.art-nodes .centre{fill:var(--accent);stroke:var(--accent)}.art-nodes circle:nth-child(2){fill:var(--teal);stroke:var(--teal)}.art-nodes circle:nth-child(3){fill:var(--warm);stroke:var(--warm)}.art-labels{fill:var(--muted);font-family:monospace;font-size:0.5rem;letter-spacing:.5px}.connection-art>span{font-size:0.625rem;color:var(--muted)}.orbit{stroke:var(--accent);opacity:.2;stroke-width:1;animation:breathe 5s ease-in-out infinite;transform-origin:13.25rem 10.75rem}.working-intro{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-bottom:2.6875rem}.working-intro .eyebrow{color:var(--muted);margin-bottom:1.375rem}.working-intro p{font-size:0.9375rem;line-height:1.85}.working-intro p:last-child{margin-bottom:0}.services{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;gap:1.625rem;align-items:center;cursor:pointer;padding:1.8125rem 0}summary::-webkit-details-marker{display:none}.service-number{font-family:monospace;font-size:0.75rem;color:var(--teal);width:2.25rem}summary h3{font-size:1.5rem;letter-spacing:-.03em}.plus{font-size:1.5625rem;font-weight:400;margin-left:auto;transition:transform .2s;width:1.625rem;height:1.875rem;line-height:1.875rem;text-align:center;color:var(--muted)}details[open] .plus{transform:rotate(45deg)}.service-content{max-width:50rem;padding:0 0 1.875rem 3.875rem}.service-content p{font-size:0.9375rem;line-height:1.85}.text-link{color:var(--link);font-size:0.8125rem;font-weight:500;display:inline-flex;gap:1.5rem;align-items:center}.text-link:hover{text-decoration:underline;text-underline-offset:0.3125rem}.about{background:var(--soft);border-block:1px solid var(--line)}.about p.lead{font-size:1.4375rem;line-height:1.5;letter-spacing:-.025em;color:var(--ink)}.discipline-strip{display:flex;gap:1.875rem;margin-top:3.125rem;border-top:1px solid var(--line);padding-top:1.625rem;font-size:0.625rem;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between}.discipline-strip span:before{content:'+';margin-right:0.8125rem;color:var(--accent)}.contact{padding-block:4.6875rem}.contact-box{position:relative;border:1px solid var(--line);border-radius:1.125rem;text-align:center;padding:4.25rem 2.125rem 3.125rem;overflow:hidden;background:var(--soft)}.contact .eyebrow{color:var(--highlight)}.contact-grid{position:absolute;inset:0 0 auto;height:12.5rem;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:3rem 3rem;mask-image:linear-gradient(#000,transparent);opacity:.5;pointer-events:none}.contact-box>*:not(.contact-grid){position:relative}.contact h2{margin:1.375rem 0}.contact p{max-width:38.125rem;margin:0 auto 0.9375rem;font-size:1rem}.contact p.contact-aside{font-size:0.8125rem;max-width:32.5rem}.contact .button{margin-top:0.9375rem}.email-prefix{display:none}.contact p.contact-foot{font-size:0.6875rem;margin-top:1.375rem;margin-bottom:0}.footer-main{display:flex;align-items:center;gap:2.375rem;border-top:1px solid var(--line);padding:2.1875rem 0}.footer-main>span{font-size:0.6875rem;color:var(--muted)}.footer-main .brand img{width:8.4375rem}.back-top{margin-left:auto;font-size:0.6875rem;white-space:nowrap}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:1.375rem 0 1.75rem;font-size:0.625rem;color:var(--muted)}dialog{padding:0;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:1rem;width:35rem;max-width:calc(100vw - 2rem);margin:15vh auto auto;box-shadow:0 1.5rem 5.625rem #0003}dialog::backdrop{background:#0005;backdrop-filter:blur(0.25rem)}.search-head{display:flex;gap:0.875rem;padding:1.1875rem;border-bottom:1px solid var(--line);align-items:center}.search-head svg{width:1.25rem;height:1.25rem;flex-shrink:0}.search-head input{width:100%;min-width:0;background:transparent;border:0;color:var(--ink);outline:none;font-size:0.9375rem}.search-close{border:1px solid var(--line);background:var(--soft);font-size:0.625rem;padding:3px 0.4375rem;border-radius:0.3125rem}.search-hint{font-size:0.6875rem;margin:0;padding:0.875rem 1.1875rem;border-top:1px solid var(--line)}#search-results{padding:0.5rem;max-height:50vh;overflow:auto}.search-result{padding:0.8125rem 0.875rem;display:block;border-radius:0.5rem}.search-result:hover{background:var(--soft)}.search-result strong{display:flex;justify-content:space-between;font-size:0.875rem;font-weight:500}.search-result small{display:block;margin-top:0.25rem;font-size:0.6875rem;color:var(--muted)}.search-empty{padding:0.9375rem;font-size:0.875rem;margin:0}@keyframes breathe{50%{transform:scale(1.15);opacity:.4}}
@media(min-width:93.75em){.hero{padding-top:6.25rem}.hero h1{font-size:4.5rem}.hero-description{font-size:1.125rem}.pattern-hero{margin-top:4.0625rem}canvas{height:9.375rem}}
@media(max-width:68.75em){.wrap{width:calc(100% - 4rem)}.nav{gap:1.25rem}.nav nav{gap:1.25rem;margin-right:0.25rem}.brand img{width:8.9375rem}.icon kbd{display:none}.two-columns,.working-intro{gap:2.8125rem}.panel-copy{padding:1.875rem}.tabs button{padding-inline:0.875rem;font-size:0.75rem}.section{padding-block:5rem}.hero h1{font-size:3.5rem}}
@media(max-width:50em){.wrap{width:calc(100% - 2.5rem)}header{height:4.375rem}.nav nav{display:none;position:absolute;left:0;right:0;top:4.3125rem;background:var(--bg);border-bottom:1px solid var(--line);padding:1.25rem;flex-direction:column;gap:0;align-items:stretch;margin:0}.nav nav.open{display:flex}.nav nav a{padding:0.75rem 0.625rem}.menu{display:flex}.nav{gap:0.75rem}.hero{padding-top:4.0625rem}.hero h1{font-size:clamp(2.375rem,6.7vw,3.3125rem);margin-inline:0;line-height:1.12}.hero-description{font-size:0.9375rem;max-width:37.5rem}.badge{font-size:0.5rem;letter-spacing:.035em}.pattern-hero{margin-top:2.9375rem}.plot-foot>span:last-child{font-size:0.5rem}.two-columns{gap:1.875rem}.approach-panel{grid-template-columns:1fr}.connection-art{border-left:0;border-top:1px solid var(--line);padding:0 1.875rem 1.25rem}.connection-art svg{max-width:21.25rem;height:16.25rem}.tabs{display:grid;grid-template-columns:1fr 1fr;max-width:31.25rem;margin-inline:auto}.tabs button{padding:0.6875rem 0.75rem}.panel-copy{min-height:20.625rem}.working-intro{grid-template-columns:1fr;gap:1.6875rem}.section{padding-block:4.0625rem}.footer-main{gap:1.5rem;flex-wrap:wrap}.footer-main>span{order:3;width:100%;font-size:0.625rem}.footer-main .back-top{margin-left:auto}.section-head{margin-bottom:1.875rem}}
@media(max-width:33.75em){.hero{padding-top:3rem}.hero h1{font-size:2.4375rem;letter-spacing:-.055em;margin-top:1.5rem}.hero h1 br{display:none}.hero-description{font-size:0.875rem;line-height:1.8}.badge{font-size:0.46875rem;padding:0.4375rem 0.5625rem;gap:0.375rem;white-space:nowrap}.badge .dot{width:0.25rem;height:0.25rem}.actions{gap:0.5625rem;flex-direction:column;align-items:center;margin-top:1.5625rem}.actions .button{min-width:13.75rem;padding:0.6875rem 1.0625rem}.pattern-hero{margin-top:2.375rem}canvas{height:6.5625rem}.plot-label{font-size:0.4375rem}.plot-label span:nth-child(2){margin-left:0}.plot-foot{font-size:0.5rem}.plot-foot>span:last-child{max-width:11.25rem;text-align:right;font-size:0.4375rem;line-height:1.5}.two-columns{grid-template-columns:1fr;gap:1.375rem}.two-columns p{font-size:0.875rem}.section{padding-block:3.5rem}.section-head h2 br{display:none}h2{font-size:2.125rem}.section-head .eyebrow{margin-bottom:1.125rem}.panel-copy{padding:1.625rem;min-height:25.625rem}.panel-copy h3{font-size:1.5rem}.panel-copy p{font-size:0.8125rem}.tabs{gap:0.4375rem}.tabs button{font-size:0.65625rem;padding:0.625rem 0.5rem}.tabs button span{font-size:0.5625rem;margin-right:0.3125rem}.connection-art svg{height:15rem}.working-intro p{font-size:0.875rem}summary{gap:0.8125rem;padding:1.5625rem 0}summary h3{font-size:1.3125rem;line-height:1.25}.service-number{width:1.5rem;font-size:0.6875rem;flex-shrink:0}.plus{flex-shrink:0;font-size:1.375rem}.service-content{padding-left:2.3125rem}.service-content p{font-size:0.8125rem}.about p.lead{font-size:1.3125rem}.discipline-strip{flex-direction:column;gap:0.75rem;margin-top:1.875rem;padding-top:1.25rem}.contact-box{padding:2.6875rem 1.375rem 2.1875rem}.contact h2{font-size:2rem}.contact p{font-size:0.875rem}.contact p.contact-aside{font-size:0.75rem}.contact .button{font-size:0.6875rem;gap:0.625rem;padding:0.75rem 0.875rem}.footer-main{padding:1.5625rem 0;gap:1.125rem}.footer-bottom{font-size:0.5625rem;gap:0.875rem;flex-direction:column}.icon{height:2.125rem;min-width:2.125rem;padding:0.5rem}.brand img{width:8.9375rem}.tools{gap:0.4375rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Original Polymetric accent palette: colour is concentrated in small details. */
.nav nav a:hover,.nav nav a.active{color:var(--highlight)}
.button.secondary span{color:var(--link)}
.connections path:nth-child(1){stroke:var(--cornflower);opacity:.6}
.connections path:nth-child(2){stroke:var(--cobalt);opacity:.7}
.connections path:nth-child(3){stroke:var(--jade);opacity:.75}
.art-nodes circle:nth-child(1){fill:var(--turquoise);stroke:var(--turquoise)}
.art-nodes circle:nth-child(2){fill:var(--jade);stroke:var(--jade)}
.art-nodes circle:nth-child(3){fill:var(--marigold);stroke:var(--marigold)}
.art-nodes circle:nth-child(4){fill:var(--raspberry);stroke:var(--raspberry)}
.art-nodes .centre{fill:var(--aubergine);stroke:var(--aubergine)}
.orbit{stroke:var(--raspberry);opacity:.35}
.services details:nth-child(1) .service-number{color:var(--aubergine)}
.services details:nth-child(2) .service-number{color:var(--cobalt)}
.services details:nth-child(3) .service-number{color:var(--raspberry)}
html[data-theme=dark] .service-number{color:var(--cornflower)!important}
.discipline-strip span:nth-child(1):before{color:var(--jade)}
.discipline-strip span:nth-child(2):before{color:var(--raspberry)}
.discipline-strip span:nth-child(3):before{color:var(--marigold)}
.panel-note .dot{background:var(--jade)}
.plot-foot i{background:var(--marigold)}
html[data-theme=dark] .art-nodes .centre{stroke:var(--cornflower)}

/* Multipage editorial structure. Shared colour and animation direction retained. */
.page-content{padding-top:2.25rem;padding-bottom:6.25rem;min-height:65vh}
.breadcrumb{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;font-size:0.75rem;color:var(--muted);margin-bottom:3.375rem}
.breadcrumb a:hover{color:var(--link);text-decoration:underline;text-underline-offset:0.25rem}
.page-heading{max-width:52.5rem;margin-bottom:2.625rem}
.page-heading h1{font-size:clamp(2.4375rem,4.4vw,3.75rem);line-height:1.12;letter-spacing:-.045em}
.reading-copy{max-width:47.5rem}
.reading-copy p{font-size:1.0625rem;line-height:1.9;margin-bottom:1.6875rem}
.reading-copy .lead{font-size:1.25rem;line-height:1.75;color:var(--ink);letter-spacing:-.012em;margin-bottom:2rem}
.page-intro{max-width:50.625rem;margin-bottom:3.4375rem}
.page-intro p{font-size:1.125rem;line-height:1.85}
.page-actions{margin-top:2.375rem}
.engagement{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:4.0625rem;border-top:1px solid var(--line);padding:2.625rem 0;scroll-margin-top:6.875rem}
.engagement-heading{display:flex;align-items:baseline;gap:1rem}
.engagement-heading h2{font-size:1.875rem;letter-spacing:-.035em;line-height:1.2}
.engagement-copy p{font-size:1rem;line-height:1.85}
.engagement-copy p:last-child{margin-bottom:0}
.engagement-copy .lead{color:var(--ink);font-size:1.125rem;line-height:1.7}
.engagement:nth-child(1) .service-number{color:var(--aubergine)}
.engagement:nth-child(2) .service-number{color:var(--cobalt)}
.engagement:nth-child(3) .service-number{color:var(--raspberry)}
.home-enquiry .section-head{max-width:48.75rem}
.home-enquiry h2{font-size:clamp(2rem,3.5vw,2.875rem)}
.home-enquiry .two-columns p{font-size:1rem}
.footer-nav{display:flex;gap:1.5rem;flex-wrap:wrap;padding-bottom:1.625rem;font-size:0.8125rem;color:var(--muted)}
.footer-nav a:hover{color:var(--link)}
.contact-copy p{max-width:41.25rem}
.contact-copy .collaboration-note{font-size:0.875rem;margin-top:1.75rem}
.contact-copy .button{max-width:100%;overflow-wrap:anywhere}
@media(max-width:50em){.page-content{padding-top:1.5625rem;padding-bottom:4.375rem}.breadcrumb{margin-bottom:2.25rem}.engagement{grid-template-columns:1fr;gap:1.375rem;padding:2rem 0}.page-heading{margin-bottom:1.875rem}.page-intro{margin-bottom:2.1875rem}.reading-copy p{font-size:1rem}.reading-copy .lead{font-size:1.125rem}}
@media(max-width:33.75em){.page-content{padding-bottom:3.5rem}.page-heading h1{font-size:2.375rem}.reading-copy p{font-size:0.9375rem;line-height:1.85}.reading-copy .lead{font-size:1.0625rem}.page-intro p{font-size:1rem}.engagement-heading h2{font-size:1.6875rem}.engagement-copy p{font-size:0.9375rem}.engagement-copy .lead{font-size:1rem}.footer-nav{gap:0.75rem 1.25rem}.home-enquiry .two-columns p{font-size:0.875rem}.hero h1 br{display:initial}}

/* Editorial supporting pages: open compositions, dedicated illustration space. */
.editorial-page .breadcrumb{margin-bottom:3rem}
.editorial-kicker{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:0.625rem;font-weight:550;color:var(--muted);margin-bottom:1.375rem}
.editorial-opening h1{font-size:clamp(2.5rem,4.6vw,4rem);line-height:1.1;letter-spacing:-.05em;max-width:53.125rem;margin-bottom:1.875rem}
.editorial-opening .opening-copy{max-width:48.75rem}
.editorial-opening p{font-size:1.1875rem;line-height:1.8;margin-bottom:0}
.editorial-opening .lead{color:var(--ink)}
.section-links{display:flex;gap:1.875rem;flex-wrap:wrap;border-block:1px solid var(--line);margin-top:3rem;padding:1.25rem 0;font-size:0.8125rem;color:var(--muted)}
.section-links a{display:flex;align-items:center;gap:1.375rem}
.section-links a:hover{color:var(--link)}
.section-links span{color:var(--link)}
.editorial-section{padding:4.75rem 0;scroll-margin-top:6.875rem}
.editorial-section+.editorial-section{border-top:1px solid var(--line)}
.editorial-split{display:grid;grid-template-columns:1.15fr .85fr;gap:5rem;align-items:center}
.editorial-split.visual-first{grid-template-columns:.85fr 1.15fr}
.editorial-text h2,.editorial-heading h2{font-size:clamp(1.75rem,3vw,2.4375rem);line-height:1.17;letter-spacing:-.035em;margin-bottom:1.75rem;max-width:37.5rem}
.editorial-text p{font-size:1rem;line-height:1.9}
.editorial-text p:last-child{margin-bottom:0}
.editorial-visual{width:100%;min-width:0;aspect-ratio:440/310;display:flex;align-items:center;background-image:radial-gradient(var(--line) .8px,transparent .8px);background-size:1.375rem 1.375rem;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.editorial-visual .editorial-lines{width:100%;height:auto;stroke-width:1;fill:none}
.editorial-lines path{opacity:.65;vector-effect:non-scaling-stroke}
.editorial-offset{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem}
.editorial-offset .editorial-heading h2{max-width:20.625rem}
.editorial-cta{border-top:1px solid var(--line);padding-top:2.375rem}
.working-opening{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}
.working-opening .opening-copy p{font-size:1.0625rem;color:var(--muted);line-height:1.85}
.service-links{justify-content:space-between;gap:0.9375rem}
.service-links a{gap:0.9375rem;font-size:0.75rem}
.service-editorial{display:grid;grid-template-columns:.95fr 1.05fr;gap:6.25rem;padding:4.125rem 0;border-bottom:1px solid var(--line);scroll-margin-top:6.5625rem}
.service-overview h2{font-size:clamp(1.75rem,3vw,2.375rem);margin-bottom:1.5rem;line-height:1.17}
.service-overview>.editorial-kicker{width:1.75rem;height:2px;background:var(--jade);font-size:0;margin-top:0.3125rem;margin-bottom:1.75rem}
.service-editorial:nth-of-type(2) .service-overview>.editorial-kicker{background:var(--raspberry)}
.service-editorial:nth-of-type(3) .service-overview>.editorial-kicker{background:var(--marigold)}
.service-overview .lead{font-size:1.125rem;line-height:1.75;color:var(--ink);max-width:26.875rem}
.service-overview .editorial-visual{max-width:21.875rem;aspect-ratio:440/230;margin-top:1.5625rem}
.service-detail{padding-top:2.625rem}
.service-detail h3{font-size:0.75rem;font-weight:550;letter-spacing:.02em;line-height:1.5;margin-bottom:1rem;color:var(--ink)}
.service-detail p{font-size:1rem;line-height:1.9}
.service-outcome{margin-top:2.25rem;border-top:1px solid var(--line);padding-top:1.6875rem}
.service-outcome p{margin-bottom:0}
.service-editorial:last-of-type{border-bottom:0}
.about-opening{display:grid;grid-template-columns:1.2fr .8fr;gap:4.0625rem;align-items:center;padding-bottom:4.375rem;border-bottom:1px solid var(--line)}
.about-opening .editorial-opening p{font-size:1.125rem}
.contact-editorial{display:grid;grid-template-columns:1fr .85fr;gap:6.875rem;align-items:start;padding-top:1.375rem}
.contact-editorial .editorial-opening p{font-size:1.25rem;color:var(--ink);line-height:1.75}
.contact-invitation{padding-top:3.75rem}
.contact-invitation>p{font-size:1.0625rem;line-height:1.9}
.contact-invitation .collaboration-note{font-size:0.8125rem;margin-top:1.5rem}
.contact-invitation .button{max-width:100%;overflow-wrap:anywhere}
.contact-visual{max-width:51.25rem;margin:2.5rem auto -1.25rem}
.contact-visual .editorial-visual{aspect-ratio:820/200;overflow:hidden}
.contact-visual svg{max-height:13.75rem}
@media(max-width:62.5em){.editorial-split,.editorial-offset,.working-opening,.about-opening{gap:2.5rem}.service-editorial{gap:3.4375rem}.contact-editorial{gap:3.125rem}.editorial-opening h1{font-size:3rem}.service-links{justify-content:flex-start;gap:1rem 1.75rem}}
@media(max-width:43.75em){.editorial-page .breadcrumb{margin-bottom:2.125rem}.editorial-opening h1{font-size:2.5rem}.editorial-opening p,.about-opening .editorial-opening p{font-size:1.0625rem}.editorial-split,.editorial-split.visual-first,.editorial-offset,.working-opening,.about-opening,.service-editorial,.contact-editorial{grid-template-columns:1fr;gap:1.625rem}.editorial-section{padding:2.625rem 0}.editorial-text p,.service-detail p{font-size:0.9375rem}.editorial-text h2,.editorial-heading h2{font-size:1.875rem;margin-bottom:1.375rem}.editorial-offset .editorial-heading h2{max-width:none;margin-bottom:0}.editorial-split .editorial-visual{max-width:25rem;margin-inline:auto;aspect-ratio:440/240}.editorial-split.visual-first .editorial-visual{order:2}.section-links{margin-top:2rem;gap:0.9375rem 1.5625rem}.section-links a{gap:0.75rem}.service-editorial{padding:2.625rem 0}.service-detail{padding-top:0}.service-overview .editorial-visual{display:none}.service-overview .lead{margin-bottom:0}.service-outcome{margin-top:1.5625rem}.about-opening{padding-bottom:2.5rem}.about-opening>.editorial-visual{max-width:23.75rem;margin:auto;aspect-ratio:440/210}.contact-invitation{padding-top:0.5rem}.contact-editorial .editorial-opening p{font-size:1.125rem}.contact-invitation>p{font-size:1rem}.contact-visual{margin:1.25rem auto 0}.editorial-cta{padding-top:1.875rem}.editorial-kicker{margin-bottom:1.125rem}}

/* Expanded Home copy: page summaries and direct service links. */
.home-overview{padding:4.75rem 0;border-top:1px solid var(--line)}
.home-overview:nth-of-type(even){background:var(--soft)}
.home-overview-heading{max-width:50rem;margin-bottom:2.125rem}
.home-overview-heading h2{font-size:clamp(2rem,3.5vw,2.875rem);line-height:1.16}
.home-overview .two-columns p{font-size:1rem;line-height:1.9}
.home-support-intro{max-width:47.5rem;margin-bottom:2.5rem}
.home-support-intro p{font-size:1.0625rem;line-height:1.85}
.home-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.625rem}
.home-support-grid article{border-top:1px solid var(--line);padding-top:1.5625rem}
.home-support-grid h3{font-size:1.5rem;line-height:1.25;margin-bottom:1.25rem}
.home-support-grid h3 a:hover{color:var(--link)}
.home-support-grid p{font-size:0.9375rem;line-height:1.9;margin-bottom:0}
.home-overview:last-child .two-columns{display:block;max-width:46.875rem}
@media(max-width:50em){.home-overview{padding:3.5rem 0}.home-support-grid{grid-template-columns:1fr;gap:1.75rem}.home-support-grid h3{font-size:1.5625rem}.home-support-intro{margin-bottom:1.75rem}}
@media(max-width:33.75em){.home-overview .two-columns p{font-size:0.875rem}.home-support-intro p{font-size:0.9375rem}.home-overview-heading{margin-bottom:1.5625rem}.home-overview .button{max-width:100%;font-size:0.8125rem}}
/* Shared CTA treatment: text label with a circular arrow. */
.button{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;gap:1rem;min-height:2.75rem;color:var(--ink);font-size:0.875rem;justify-content:space-between;transition:color .2s}
.button:hover{transform:none;box-shadow:none;color:var(--link)}
.button>span{width:2.75rem;height:2.75rem;min-width:2.75rem;border-radius:50%;display:inline-grid;place-items:center;font-size:1.4375rem;line-height:1;box-sizing:border-box;flex-shrink:0;transition:background .2s,color .2s}
.button.primary>span{background:var(--ink);color:var(--bg);border:1px solid var(--ink)}
.button.secondary>span{background:transparent;border:1px solid currentColor;color:inherit}
.button:hover>span{background:var(--cobalt);color:white;border-color:var(--cobalt)}
/* Overlay navigation, with direction-aware visibility. */
header,body[data-page=home] header{position:fixed;top:0.875rem;left:0;width:100%;height:4.5rem;background:transparent;border:0;backdrop-filter:none;z-index:100;transition:transform .32s ease,opacity .25s ease}
header.nav-hidden,body[data-page=home] header.nav-hidden{transform:translateY(calc(-100% - 1.25rem));opacity:0;pointer-events:none}
header .nav{gap:1rem}header .brand{background:var(--header);padding:0.5rem 0.75rem;border-radius:0.75rem;backdrop-filter:blur(1.125rem)}header .brand img{width:9.375rem}header .nav nav{background:var(--header);padding:0.9375rem 1.375rem;border-radius:0.875rem;margin-right:0;backdrop-filter:blur(1.125rem);gap:1.5rem}header .tools{padding:0.4375rem;background:var(--header);border-radius:3.125rem;backdrop-filter:blur(1.125rem)}header.nav-scrolled .nav nav,header.nav-scrolled .tools,header.nav-scrolled .brand{box-shadow:0 2px 1.125rem #00000009}
body:not([data-page=home]){padding-top:5.5rem}
/* A single linked control: shaped text pill plus companion arrow disc. */
body[data-page] .button.button{display:inline-flex;gap:0;min-height:3rem;padding:0;background:none;border:0;box-shadow:none;justify-content:flex-start;max-width:100%;border-radius:0;color:var(--ink)}
body[data-page] .button.button .button-label{display:flex;align-items:center;justify-content:center;width:auto;height:3rem;min-width:0;padding:0 1.875rem 0 1.375rem;flex:1 1 auto;white-space:nowrap;border:0;border-radius:1.5rem 0 0 1.5rem;background:var(--pill);color:var(--ink);font:500 0.8125rem/1.2 Arial,Roboto,sans-serif;transition:background .25s,color .25s}
body[data-page] .button.button .button-arrow{display:grid;place-items:center;width:2.75rem;height:2.75rem;min-width:2.75rem;flex:0 0 2.75rem;margin-left:-0.25rem;border-radius:50%;border:0;background:var(--ink);color:var(--bg);overflow:hidden;transition:background .25s,color .25s}
body[data-page] .button.button.primary .button-label{background:var(--ink);color:var(--bg)}
body[data-page] .button.button.primary .button-arrow{background:#cce4d7;color:#203b3c}
body[data-page] .button.button:hover .button-label{background:var(--cobalt);color:#fff}
body[data-page] .button.button:hover .button-arrow{background:var(--marigold);color:#203b3c}
body[data-page] .research-band .button.button .button-label{background:#314e4f;color:#edf4ee}body[data-page] .research-band .button.button .button-arrow{background:#cce4d7;color:#203b3c}
.button-arrow i,.field-arrow i,.article-arrow i{position:relative;display:block;width:1em;height:1em;font-style:normal;line-height:1;font-size:1.4375rem;transition:transform .35s cubic-bezier(.3,.1,.2,1)}
.button-arrow i:after,.field-arrow i:after,.article-arrow i:after{content:'↗';position:absolute;inset:0;transform:translate(-155%,155%)}
.button:hover .button-arrow i,.button:focus-visible .button-arrow i,.field-arrow:hover i,.field-arrow:focus-visible i,.article-arrow:hover i,.article-arrow:focus-visible i{transform:translate(155%,-155%)}
.field-arrow,.article-arrow{overflow:hidden}.button:focus-visible{outline-offset:0.3125rem;border-radius:1.625rem}
/* All editorial labels follow the plain, small Change in practice treatment. */
.editorial-kicker,.eyebrow:not(.badge){font:0.6875rem/1.5 monospace;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:none;width:auto;height:auto}
@media(max-width:56.25em){header .nav nav{gap:1rem;padding-inline:1rem}header .nav{gap:0.625rem}header .brand img{width:8.5rem}}
@media(max-width:50em){header .nav nav{position:absolute;top:4.375rem;left:1.5rem;right:1.5rem;margin:0;padding:1.375rem;display:none;border:1px solid var(--line)}header .nav nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:1.125rem}.menu{display:flex}header .tools{margin-left:auto}.nav .search-open kbd{display:none}}
@media(max-width:40.625em){header,body[data-page=home] header{top:0.625rem;height:3.75rem}header .brand{padding:0.4375rem 0.625rem}header .brand img{width:8.4375rem}header .nav{width:calc(100% - 2.5rem)}header .tools{gap:3px;padding:0.25rem}header .icon{height:2.0625rem;min-width:2.0625rem;padding:0.4375rem}body[data-page] .button.button .button-label{font-size:0.75rem;padding-left:1.125rem;padding-right:1.625rem}}
@media(prefers-reduced-motion:reduce){header,body[data-page=home] header,.button-arrow i,.field-arrow i,.article-arrow i{transition:none}.button:hover .button-arrow i,.field-arrow:hover i,.article-arrow:hover i{transform:none}}
.editorial-page .editorial-kicker{display:block;font:0.6875rem/1.5 monospace;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:none;width:auto;height:auto;margin-top:0;margin-bottom:1.375rem}
/* Original Polymetric label typography. */
.editorial-page .editorial-kicker,.eyebrow:not(.badge){font:550 0.6875rem/1.5 Arial,Roboto,sans-serif;letter-spacing:.1em;text-transform:uppercase}
/* Logo and page links form one navigation surface; utilities stay separate. */
header .nav-unit{display:flex;align-items:center;gap:1.875rem;flex:1;min-width:0;padding:0.5rem 1rem;background:var(--header);border-radius:1rem;backdrop-filter:blur(1.125rem)}
header .nav-unit .brand{background:none;padding:0.3125rem 0;backdrop-filter:none;box-shadow:none;border-radius:0}
header .nav-unit nav{background:none;padding:0.625rem 0;margin:0 0 0 auto;border:0;backdrop-filter:none;box-shadow:none;border-radius:0}
header.nav-scrolled .nav-unit{box-shadow:0 2px 1.125rem #00000009}header.nav-scrolled .nav-unit nav,header.nav-scrolled .nav-unit .brand{box-shadow:none}
:root{--action:#3455DB;--action-hover:#2943B0;--action-soft:#e8edfc;--action-ink:#fff}
html[data-theme=dark]{--action:#9ab0ff;--action-hover:#bdcbff;--action-soft:#27334d;--action-ink:#111212}
body[data-page] .button.button .button-label,body[data-page] .button.button.secondary .button-label{background:var(--action-soft);color:var(--ink)}
body[data-page] .button.button.primary .button-label,body[data-page] .button.button .button-arrow{background:var(--action);color:var(--action-ink);border:0}
body[data-page] .button.button:hover .button-label,body[data-page] .button.button:hover .button-arrow{background:var(--action-hover);color:var(--action-ink)}
@media(max-width:56.25em){header .nav-unit{gap:1rem;padding-inline:0.75rem}}
@media(max-width:50em){header .nav-unit nav{position:absolute;top:4.375rem;left:0;right:0;margin:0;padding:1.5rem;background:var(--header);border-radius:1rem;border:1px solid var(--line);backdrop-filter:blur(1.125rem)}}
@media(max-width:40.625em){header .nav-unit{padding:0.3125rem 0.625rem;flex:1}header .nav-unit .brand{padding:0.25rem 0}header .nav-unit .brand img{width:7.8125rem}header .nav-unit nav{top:3.75rem;right:-7.5rem;max-width:calc(100vw - 3rem)}}
html body[data-page] .button.button:is(.primary,.secondary) .button-arrow{background:var(--action);color:var(--action-ink);border-color:var(--action)}
html body[data-page] .button.button:is(.primary,.secondary):hover .button-arrow{background:var(--action-hover);color:var(--action-ink);border-color:var(--action-hover)}
html body[data-page] .button.button:is(.primary,.secondary){background:transparent;border:0;box-shadow:none}
