@font-face{font-family:Manrope;src:url("manrope.woff2") format("woff2");font-display:swap;font-weight:200 800}
@font-face{font-family:Bodoni;src:url("bodoni.woff2") format("woff2");font-display:swap;font-weight:400 900}
:root{--ink:#182129;--night:#11191f;--night2:#202e39;--muted:#63707b;--line:#c8d1d5;--paper:#f3f5f5;--white:#fff;--accent:#6f98ae;--pad:clamp(24px,5.2vw,92px);--serif:Bodoni,"Times New Roman",serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}p{line-height:1.7}
::selection{background:#789bb1;color:#fff}
:focus-visible{outline:2px solid #3f7b9b;outline-offset:4px}
.skip-link{position:absolute;z-index:99;top:-70px;left:12px;background:#fff;color:#111;padding:12px}.skip-link:focus{top:10px}
.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid #d9e0e2}
.header-inner{height:84px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:block;width:145px;flex:none}.brand img{width:100%;height:auto}
.main-nav{display:flex;align-items:center;gap:clamp(15px,2vw,32px);font-size:13px;font-weight:600;letter-spacing:-.015em}
.main-nav>a:not(.nav-contact){position:relative;white-space:nowrap}.main-nav>a:not(.nav-contact):after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:currentColor;transition:right .25s}.main-nav>a:hover:after,.main-nav>a.is-active:after{right:0}
.nav-contact{border:1px solid var(--ink);padding:13px 17px;white-space:nowrap;display:flex;gap:28px;transition:background .2s,color .2s}.nav-contact:hover{background:var(--ink);color:#fff}
.menu-button{display:none;background:none;border:0;padding:12px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;line-height:1.5;margin:0;text-transform:uppercase}.section-pad{padding:clamp(76px,10vw,150px) var(--pad)}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{letter-spacing:-.05em}
h1 em,h2 em{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.055em}
h2{font-size:clamp(44px,6.4vw,104px);line-height:1.01}
h3{font-size:clamp(25px,2.4vw,36px);letter-spacing:-.04em}
.button{min-height:58px;padding:0 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:48px;font-size:13px;font-weight:700;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-light{background:#f4f6f5;color:var(--night)}.button-light:hover{background:#dbe6ea}.button-dark{background:var(--night);color:#fff}.button-dark:hover{background:#314655}
.text-link,.quiet-link{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;min-width:205px;padding:0 0 10px;border:0;border-bottom:1px solid var(--ink);background:none;font-size:13px;font-weight:700}.text-link:hover,.quiet-link:hover{color:#4b7892;border-color:#4b7892}.text-link.light,.quiet-link{color:#fff;border-color:#84949f}.text-link.light:hover,.quiet-link:hover{color:#b6d6e5}
.hero{min-height:min(920px,calc(100svh - 84px));position:relative;background:var(--night);color:var(--white);overflow:hidden;display:flex;align-items:center}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,21,27,.98) 0%,rgba(13,21,27,.97) 37%,rgba(13,21,27,.46) 75%,rgba(13,21,27,.15) 100%);pointer-events:none}
.hero-visual{position:absolute;inset:0 0 0 35%;background:radial-gradient(circle at 63% 50%,#3e5868 0%,#253845 38%,#14212a 73%);overflow:hidden}
.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(#a5c0cd18 1px,transparent 1px),linear-gradient(90deg,#a5c0cd18 1px,transparent 1px);background-size:68px 68px;transform:rotate(-8deg) scale(1.4);opacity:.65}
.plan{position:absolute;border:1px solid #d5e4e47a;box-shadow:0 0 0 18px #a7bec618,0 0 0 19px #a7bec64d}
.plan-one{width:45%;height:54%;left:34%;top:16%;transform:rotate(-19deg)}.plan-two{width:34%;height:43%;left:56%;top:34%;transform:rotate(-19deg)}
.plan-one:before,.plan-one:after,.plan-two:before{content:"";position:absolute;background:#a9c7d1ad}.plan-one:before{width:1px;height:100%;left:46%}.plan-one:after{height:1px;width:70%;top:58%}.plan-two:before{height:1px;width:100%;top:43%}
.plan-ring{position:absolute;width:37vw;height:37vw;min-width:450px;min-height:450px;border:1px solid #bfd1d35c;border-radius:50%;left:41%;top:6%;box-shadow:0 0 0 64px #bed0d30b,0 0 0 65px #bed0d338,0 0 0 130px #bed0d309}
.plan-path{position:absolute;width:75%;height:1px;background:#c6d9dc9c;top:70%;left:12%;transform:rotate(-19deg)}.plan-path:after{content:"";position:absolute;right:0;top:-5px;width:11px;height:11px;border-radius:50%;background:#d3e8eb}
.visual-label{position:absolute;color:#b9d0d9;font-size:10px;letter-spacing:.2em;font-weight:700}.visual-label.top{top:9%;right:7%}.visual-label.bottom{bottom:10%;right:7%;display:grid;gap:8px;text-align:right}.visual-label.bottom span{opacity:.55}.plan-index{position:absolute;color:#d9e9ed;font-size:12px;letter-spacing:.1em}.p1{left:35%;top:16%}.p2{left:64%;top:49%}.p3{left:87%;top:70%}
.hero-content{position:relative;z-index:2;padding:110px var(--pad) 140px;max-width:1080px}.hero .eyebrow{color:#b9ccd4;display:flex;align-items:center;gap:14px}.hero .rule{width:34px;height:1px;background:#b9ccd4}
.hero h1{font-size:clamp(62px,7.7vw,138px);line-height:.94;margin:42px 0 34px;text-wrap:balance}.hero h1 em{color:#dbe9eb}.hero-intro{max-width:580px;color:#d7e0e3;font-size:clamp(16px,1.35vw,20px);line-height:1.75}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:45px}.hero-bottom{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:27px;border-top:1px solid #b7c9cb55;display:flex;justify-content:space-between;padding-top:16px;font-size:10px;font-weight:700;letter-spacing:.15em;color:#cedcde}.hero-bottom a:hover{color:#fff}
.intro-section{display:grid;grid-template-columns:1fr 2fr;gap:8vw;background:#f1f4f4}.intro-kicker{display:flex;flex-direction:column;justify-content:space-between;min-height:280px}.section-number{font-family:var(--serif);font-size:110px;line-height:.8;color:#c8d5d8}.intro-copy h2{margin-bottom:37px}.intro-copy p{max-width:520px;font-size:17px;color:#52616c;margin-bottom:39px}
.service-editorial{background:#e7ecee;display:grid;grid-template-columns:43% 1fr;gap:7%}.section-heading h2{margin:30px 0}.service-list{border-top:1px solid #9dacb3}
.service-row{display:grid;grid-template-columns:45px 1fr 1.15fr 20px;gap:20px;align-items:center;min-height:112px;border-bottom:1px solid #9dacb3;transition:padding .2s,background .2s}.service-row:hover{padding-left:12px;background:#d7e0e4}.service-row span{font-size:11px;color:#5e6c76}.service-row strong{font-size:clamp(20px,2vw,31px);font-weight:500;letter-spacing:-.05em}.service-row small{font-size:12px;line-height:1.6;color:#51616b}.service-row b{font-weight:400}
.people-feature{display:grid;grid-template-columns:48% 1fr;gap:8%;background:#17232c;color:#f1f6f7;overflow:hidden}.people-graphic{position:relative;aspect-ratio:1/1;max-height:670px;border:1px solid #7f9eab63;background:radial-gradient(circle at center,#293f4c,#17232c 67%)}.people-graphic:before,.people-graphic:after{content:"";position:absolute;background:#72919f5c}.people-graphic:before{width:1px;height:100%;left:50%}.people-graphic:after{height:1px;width:100%;top:50%}.people-orbit{position:absolute;border:1px solid #8cb0bf77;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-a{width:58%;height:58%}.orbit-b{width:86%;height:86%}.orbit-word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-size:clamp(50px,5.5vw,100px);font-style:italic;z-index:1}.orbit-point{position:absolute;z-index:1;padding:8px;background:#17232c;font-size:10px;font-weight:700;letter-spacing:.15em;color:#c4d6dd}.point-a{top:15%;left:49%}.point-b{top:48%;right:1%}.point-c{bottom:17%;left:12%}.people-copy{align-self:center}.people-copy .eyebrow{color:#aac5ce}.people-copy h2{margin:35px 0}.people-copy p:not(.eyebrow){max-width:470px;color:#b9c8cf;margin-bottom:42px}
.records-feature{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#f4f6f6}.records-feature h2{margin:32px 0 0}.records-copy{align-self:end}.records-copy>p{max-width:560px;color:#56656e;font-size:17px}.record-lines{margin:38px 0 38px;border-top:1px solid #afbec3}.record-lines span{border-bottom:1px solid #afbec3;padding:20px 0;display:flex;gap:42px;color:#849198;font-size:11px}.record-lines b{color:var(--ink);font-size:14px;font-weight:500}
.closing-cta{background:#d7e1e4;min-height:550px}.closing-cta h2{margin:35px 0}.closing-cta>p:not(.eyebrow){max-width:430px;color:#576770}.closing-cta .button{margin-top:25px}
.site-footer{background:#10181e;color:#eaf0f2}.footer-main{padding:90px var(--pad);display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:end}.footer-main .eyebrow{align-self:start;color:#a8bdc5}.footer-statement{font-family:var(--serif);font-size:clamp(43px,5.3vw,85px);font-style:italic;line-height:1.1;margin:0}.footer-bottom{border-top:1px solid #83939b67;margin:0 var(--pad);padding:22px 0 35px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#9eb1b9}.footer-bottom a:hover{color:#fff}
.page-hero{padding:130px var(--pad) 120px;background:#dce5e8;min-height:570px}.page-hero h1{font-size:clamp(74px,9vw,148px);line-height:.93;margin:32px 0 38px}.page-hero>p:last-child{max-width:660px;color:#42555e;font-size:18px}.dark-page-hero{background:#192630;color:#f0f4f5}.dark-page-hero>p:last-child{color:#bdcdd3}.service-page-hero{background:#d9e2e4}.contact-page-hero{background:#dee7e8}.brief-page-hero{background:#d2dfe3}
.page-intro{display:grid;grid-template-columns:27% 1fr;gap:6%;background:#f3f5f5}.page-intro h2{margin:0 0 35px}.page-intro p:not(.eyebrow){max-width:640px;font-size:17px;color:#52626c}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding-top:0;background:#e8edef}.detail-grid article{background:#e8edef;border-top:1px solid #9cafb7;padding:40px 6vw 55px 0;scroll-margin-top:50px}.detail-num{font-family:var(--serif);font-size:60px;color:#aabdc5}.detail-grid h3{margin:16px 0}.detail-grid p{max-width:470px;color:#53636d}.detail-grid small{font-size:11px;letter-spacing:.08em;color:#526674}
.quiet-banner{background:#17242d;color:#f1f5f5}.quiet-banner h2{margin:34px 0}.quiet-banner .eyebrow{color:#a6c2cb}
.team-composition{background:#e4ebed;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.team-panel{min-height:540px;background:#1a2933;color:#dae7eb;padding:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px}.team-panel>span{font-size:11px;letter-spacing:.22em}.team-panel strong{font-family:var(--serif);font-size:42px;font-weight:400;font-style:italic}.team-line{height:55px;width:1px;background:#a5c1cb}.team-roles{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.team-roles span{border:1px solid #678694;padding:10px;font-size:10px}.team-text h2{margin:30px 0}.team-text p:not(.eyebrow){color:#536672;max-width:500px}
.evidence-reserve{background:#f4f6f6}.evidence-reserve>p:not(.eyebrow){max-width:660px;color:#566872}.evidence-reserve h2{margin:26px 0}.portrait-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:50px}.portrait-slots span{aspect-ratio:3/3.8;border:1px solid #aebdc3;background:linear-gradient(135deg,#e1e9eb,#d4e0e3);display:flex;align-items:end;padding:20px;color:#5a717b;font-size:11px;letter-spacing:.12em}
.process-steps{background:#f0f3f4}.process-steps article{border-top:1px solid #aabcc3;display:grid;grid-template-columns:27% 1fr;gap:6%;padding:38px 0}.process-steps article:last-child{border-bottom:1px solid #aabcc3}.process-steps article>span{font-size:11px;font-weight:700;letter-spacing:.2em}.process-steps h2{font-family:var(--serif);font-style:italic;font-size:clamp(38px,4vw,65px);margin:0 0 12px}.process-steps p{max-width:650px;color:#54646d}
.brief-layout{background:#e7edef;display:grid;grid-template-columns:1.1fr .9fr;gap:9%}.brief-builder fieldset{border:0;border-top:1px solid #a9bac1;padding:30px 0 40px;margin:0}.brief-builder legend{width:100%;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:26px}.brief-builder label,.enquiry-form label{display:flex;flex-direction:column;gap:10px;font-size:12px;font-weight:700;margin-bottom:22px}.brief-builder input,.brief-builder textarea,.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;border:1px solid #aebdc4;border-radius:0;background:#f8fafa;color:#182129;padding:15px 16px;min-height:54px;font-size:16px;font-weight:400;resize:vertical}.brief-builder input:focus,.brief-builder textarea:focus,.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{outline:2px solid #658ba1;outline-offset:1px}.brief-output{position:sticky;top:30px;align-self:start;min-height:470px;padding:45px;background:#172630;color:#e9f0f2}.brief-output h2{font-size:48px;margin:28px 0}.brief-output>p:not(.eyebrow){color:#c4d4da}.brief-output pre{font-family:var(--sans);white-space:pre-wrap;line-height:1.7;font-size:13px;padding:20px 0;border-top:1px solid #829ba5}.brief-output .text-link{color:#fff;border-color:#a9bec7;margin-top:22px}.brief-output .text-link:hover{color:#b2d1e0}.button-as-link{cursor:pointer}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;background:#edf2f2}.contact-intro h2{font-size:clamp(45px,5vw,76px);margin:30px 0}.contact-intro>p:not(.eyebrow){color:#53646d}.contact-choice{margin-top:55px;border-top:1px solid #a9b9bf}.contact-choice>div{display:grid;grid-template-columns:40px 1fr;gap:5px;padding:22px 0;border-bottom:1px solid #a9b9bf}.contact-choice span{font-size:11px}.contact-choice strong{font-size:22px;font-weight:500}.contact-choice small{grid-column:2;color:#66777f;line-height:1.5}.enquiry-form{background:#fff;padding:clamp(30px,4vw,70px)}.enquiry-form h2{font-size:clamp(36px,4vw,60px);margin:25px 0 38px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.enquiry-form .button{margin-top:10px}.form-note{font-size:12px;color:#607079;margin:20px 0 0}.form-status{font-size:13px;color:#294a5b;margin:12px 0 0}
[data-reveal]{transition:opacity .65s ease,transform .65s ease}
.js-ready [data-reveal]:not(.in-view){opacity:1;transform:translateY(16px)}
@media(max-width:1100px){.main-nav{gap:16px;font-size:12px}.nav-contact{gap:12px}.service-editorial{display:block}.service-list{margin-top:30px}.footer-main{grid-template-columns:1fr 1.5fr}.footer-main>.text-link{grid-column:2}}
@media(max-width:820px){.header-inner{height:70px}.brand{width:116px}.menu-button{display:grid;gap:7px;z-index:22}.menu-button span{width:25px;height:1px;background:var(--ink);display:block;transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{display:none;position:absolute;left:0;right:0;top:70px;background:#f3f5f5;padding:30px var(--pad) 42px;box-shadow:0 15px 20px #07141b25;flex-direction:column;align-items:stretch;gap:0;font-size:19px}.main-nav.is-open{display:flex}.main-nav>a{padding:17px 0;border-bottom:1px solid #becbd0}.main-nav>a:not(.nav-contact):after{display:none}.main-nav .nav-contact{margin-top:22px;padding:16px}.hero{min-height:790px}.hero-visual{inset:0 0 0 8%;opacity:.8}.hero:after{background:linear-gradient(90deg,#11191ff5 0%,#11191fcf 58%,#11191f6c 100%)}.hero-content{padding-top:90px;padding-bottom:150px}.hero h1{font-size:clamp(64px,11vw,105px)}.intro-section,.people-feature,.records-feature,.page-intro,.team-composition,.brief-layout,.contact-layout{grid-template-columns:1fr;gap:50px}.intro-kicker{min-height:auto}.section-number{display:none}.people-graphic{max-width:540px;width:100%}.people-copy{order:-1}.records-copy{align-self:auto}.footer-main{grid-template-columns:1fr;gap:25px}.footer-main>.text-link{grid-column:auto}.brief-output{position:static}.service-row{grid-template-columns:38px 1fr 20px}.service-row small{grid-column:2;grid-row:2;margin-top:-25px}.service-row b{grid-column:3;grid-row:1}}
@media(max-width:560px){.hero{min-height:730px}.hero-visual{inset:0;opacity:.58}.hero-content{padding-top:77px}.hero h1{font-size:clamp(54px,14.5vw,82px);margin:35px 0 28px}.hero-intro{font-size:15px}.hero-actions{align-items:stretch;gap:28px}.hero-actions .button{width:100%}.hero-bottom{font-size:9px}.hero-bottom>span:last-child{display:none}.section-pad{padding-top:85px;padding-bottom:85px}h2{font-size:clamp(43px,11vw,66px)}.service-row{min-height:116px;gap:8px}.service-row strong{font-size:22px}.service-row small{font-size:11px;margin-top:-21px}.people-feature{gap:45px}.team-panel{padding:28px;min-width:0}.team-text{min-width:0}.people-graphic{aspect-ratio:1/1}.orbit-point{font-size:8px}.page-hero{min-height:480px;padding-top:90px;padding-bottom:85px}.page-hero h1{font-size:clamp(63px,14vw,84px)}.page-hero>p:last-child{font-size:15px}.detail-grid{grid-template-columns:1fr}.detail-grid article{padding-right:0}.portrait-slots{grid-template-columns:1fr 1fr}.portrait-slots span:last-child{display:none}.process-steps article{grid-template-columns:1fr;gap:14px}.form-row{grid-template-columns:1fr;gap:0}.footer-bottom{flex-direction:column}.brief-output{padding:28px}.brief-output h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-ready [data-reveal]:not(.in-view){opacity:1;transform:none}}
