@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--white:#fff;--cloud:#f5f5f7;--ink:#1d1d1f;--muted:#68686d;--green:#344d3f;--line:#e4e4e7;--max:1180px;--gutter:clamp(24px,5vw,80px);--r:28px;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--white);font:17px/1.55 Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #718a78;outline-offset:5px}.skip{position:fixed;top:-80px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.wrap{max-width:calc(var(--max) + 2*var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter);margin:auto}header{height:80px;display:flex;align-items:center;justify-content:space-between;max-width:calc(var(--max) + 2*var(--gutter));padding:0 var(--gutter);margin:auto}.logo{font-size:28px;font-weight:700;letter-spacing:-1.7px;line-height:1}.logo:hover{opacity:.7}nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:500}nav a{transition:opacity .2s}nav a:hover{opacity:.55}.nav-contact{background:var(--ink);color:white;padding:10px 18px;border-radius:30px}.menu-button{display:none;border:0;background:transparent;padding:10px;font-size:14px}.eyebrow{font-size:14px;font-weight:600;line-height:1.4;color:var(--muted);letter-spacing:.01em}.hero{text-align:center;padding-top:82px}.hero h1{font-size:clamp(49px,6.1vw,88px);font-weight:600;line-height:1.065;letter-spacing:-.06em;margin:24px auto;max-width:1140px}.hero h1 span{color:var(--green)}.hero .lead{font-size:19px;line-height:1.55;color:var(--muted);max-width:650px;margin:26px auto}.hero-actions{display:flex;justify-content:center;gap:28px;align-items:center;margin:32px 0 60px}.button{background:var(--ink);color:white;border:0;border-radius:30px;padding:13px 23px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:16px;min-height:46px;transition:background .2s,transform .2s}.button:hover{background:#3c3c3e;transform:translateY(-1px)}.link{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:600;min-height:42px}.link:hover{text-decoration:underline;text-underline-offset:5px}.hero-figure{margin:0;text-align:right}.hero-image{display:block;width:100%;height:clamp(310px,44vw,590px);object-fit:cover;object-position:center 48%;border-radius:var(--r)}figcaption{font-size:12px;color:#77777c;margin-top:10px}.intro{padding-top:125px;padding-bottom:115px;max-width:1000px;text-align:center}.intro h2{font-size:clamp(30px,3.8vw,52px);line-height:1.23;letter-spacing:-.043em;font-weight:500;margin:0}.intro h2 span{color:#86868b}.section{padding-top:100px;padding-bottom:100px}.cloud{background:var(--cloud)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:48px}.section-head h2,.big-title{font-size:clamp(37px,4.5vw,62px);font-weight:600;line-height:1.1;letter-spacing:-.045em;margin:15px 0 0}.section-head p{color:var(--muted);max-width:355px;font-size:16px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border-radius:var(--r);padding:34px 30px;display:flex;flex-direction:column;min-height:340px}.card .index{font-size:13px;color:#85858c}.card h3{font-size:27px;line-height:1.2;font-weight:600;letter-spacing:-1px;margin:35px 0 16px}.card p{font-size:16px;color:var(--muted);margin:0 0 26px}.card .link{margin-top:auto}.service-cta{margin-top:28px;display:flex;justify-content:flex-end}.perspective{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}.perspective h2{font-size:clamp(35px,4vw,56px);line-height:1.12;letter-spacing:-.045em;font-weight:600;margin:14px 0 0}.perspective p{color:var(--muted);margin:0 0 20px}.research-link{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.research-link .eyebrow{font-size:13px;margin-bottom:8px}.research-link a{display:flex;justify-content:space-between;gap:20px;font-size:17px;font-weight:600}.research-link small{display:block;font-size:13px;color:var(--muted);margin-top:8px}.closing{text-align:center;border-radius:var(--r);background:var(--cloud);padding:74px 25px;margin-bottom:90px}.closing h2{font-size:clamp(36px,4vw,56px);line-height:1.1;letter-spacing:-.045em;margin:0 0 22px}.closing p{color:var(--muted);margin:0 0 27px}.footer{padding-top:28px;padding-bottom:35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px}.footer .logo{font-size:23px}.footer-links{display:flex;gap:25px;font-size:13px}.footer small{font-size:12px;color:var(--muted)}.page-top{padding-top:75px;padding-bottom:75px;max-width:1000px}.page-top p{font-size:20px;color:var(--muted);max-width:720px;margin:25px 0 0}.page-top .button{margin-top:28px}.service-detail{padding-top:65px;padding-bottom:65px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:90px}.service-detail h2{font-size:31px;line-height:1.2;letter-spacing:-1px;font-weight:600;margin:0}.service-detail p{color:var(--muted);margin-top:0}.service-detail h3{font-size:17px;margin:24px 0 10px}.service-detail ul{padding-left:20px;color:var(--muted)}.service-detail li{padding:5px 0}.people{display:grid;grid-template-columns:1fr 1fr;gap:24px}.person{padding:34px;background:var(--cloud);border-radius:var(--r)}.person h2{font-size:24px;margin:0 0 5px;letter-spacing:-.7px}.person .role{font-size:14px;color:var(--muted);margin-bottom:22px}.person p{font-size:16px;color:var(--muted);max-width:430px}.credential{font-size:13px!important}.experience-note{font-size:14px;color:var(--muted);max-width:760px;margin-top:35px}.enquiry{max-width:780px;padding-bottom:90px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.enquiry label{display:block;font-size:14px;font-weight:500;margin-bottom:22px}.enquiry input,.enquiry select,.enquiry textarea{display:block;width:100%;margin-top:8px;border:1px solid #d3d3d8;background:var(--cloud);padding:14px 16px;border-radius:12px;color:var(--ink)}.enquiry textarea{min-height:150px;resize:vertical}.enquiry small{display:block;font-size:13px;color:var(--muted);margin:20px 0}.status{font-size:14px;min-height:25px}.brand-lead{font-size:clamp(65px,12vw,160px);line-height:1.2;letter-spacing:-.075em;font-weight:700;margin:30px 0}.rule-list{margin:0;padding:0;list-style:none;counter-reset:rule}.rule-list li{counter-increment:rule;display:grid;grid-template-columns:70px 1fr;gap:20px;padding:30px 0;border-top:1px solid var(--line)}.rule-list li:before{content:counter(rule,decimal-leading-zero);font-size:14px;color:var(--muted);padding-top:5px}.rule-list strong{font-size:22px;font-weight:600;display:block;letter-spacing:-.5px}.rule-list p{color:var(--muted);max-width:700px;margin:10px 0}.tokens{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.token{height:145px;border:1px solid var(--line);border-radius:18px;display:flex;align-items:end;padding:20px;font-size:13px}.spec{width:100%;border-collapse:collapse;font-size:15px}.spec th,.spec td{text-align:left;padding:16px;border-bottom:1px solid var(--line);vertical-align:top}.spec th{font-weight:600}.reveal{animation:enter .6s var(--ease) both}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@supports(animation-timeline:view()){.scroll-reveal{animation:enter linear both;animation-timeline:view();animation-range:entry 0% entry 20%}}@media(max-width:900px){.hero{padding-top:65px}.hero h1{font-size:clamp(47px,7.2vw,72px)}.cards{gap:14px}.card{padding:28px 22px}.card h3{font-size:24px}.perspective{gap:50px}.service-detail{gap:40px}.section{padding-top:75px;padding-bottom:75px}.intro{padding-top:90px;padding-bottom:85px}.section-head{align-items:start;flex-direction:column;gap:20px}}@media(max-width:650px){header{height:70px}.logo{font-size:25px}.menu-button{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:white;padding:25px var(--gutter);z-index:20;box-shadow:0 12px 20px #00000008;flex-direction:column;align-items:start;gap:22px}nav.open{display:flex}.hero{padding-top:47px}.hero h1{font-size:clamp(43px,9.6vw,62px);letter-spacing:-.055em;line-height:1.09}.hero h1 br{display:none}.hero .lead{font-size:17px;max-width:370px;margin-top:22px}.hero-actions{margin-bottom:38px;gap:20px}.hero-image{height:350px;object-position:48% center;border-radius:20px}.hero-figure{margin:0 -8px}.cards,.people,.fields,.perspective,.service-detail{grid-template-columns:1fr}.card{min-height:270px;padding:28px}.card h3{margin-top:24px;font-size:27px}.card p{max-width:390px}.intro{padding-top:70px;padding-bottom:70px}.intro h2{font-size:31px}.section{padding-top:65px;padding-bottom:65px}.perspective{gap:28px}.section-head h2,.big-title{font-size:41px}.closing{padding:55px 22px;margin-bottom:55px}.closing h2{font-size:37px}.footer{flex-wrap:wrap;gap:22px}.footer small{width:100%}.page-top{padding-top:50px;padding-bottom:55px}.page-top p{font-size:18px}.service-detail{gap:22px;padding-top:40px;padding-bottom:40px}.person{padding:28px}.tokens{grid-template-columns:1fr 1fr}.rule-list li{grid-template-columns:35px 1fr;gap:12px}.spec{font-size:13px}.spec td,.spec th{padding:12px 7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.scroll-reveal{animation:none}.button{transition:none}.button:hover{transform:none}}@media print{header,.footer,.no-print{display:none}.wrap{padding:0}.page-top,.section,.service-detail{padding:20px 0}body{font-size:11px}.big-title{font-size:30px}.service-detail h2{font-size:20px}.page-top p{font-size:13px}.service-detail{gap:25px;break-inside:avoid}.service-detail p,.service-detail li{font-size:11px}.service-detail h3{font-size:12px;margin:12px 0 6px}}
/* Edition 03 — architectural scale, editorial hierarchy. */
:root{--max:1320px;--r:8px;--green:#344d3f;--cloud:#f4f5f3}header{height:96px;border-bottom:1px solid var(--line)}.logo{font-size:30px}.nav-contact{background:transparent;color:var(--ink);padding:0;border-radius:0}.hero{text-align:left;padding-top:76px}.hero>.reveal{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.hero .eyebrow{grid-column:1/-1;font-size:14px;font-weight:500}.hero h1{grid-column:1/-1;max-width:none;margin:34px 0 38px;font-size:clamp(58px,7.65vw,112px);letter-spacing:-.065em;line-height:1.04;font-weight:500}.hero h1 span{color:var(--green)}.hero .lead{margin:0;max-width:440px;font-size:18px;color:var(--muted)}.hero-actions{justify-content:flex-end;margin:0 0 46px;align-self:end}.hero-actions .button{background:transparent;color:var(--ink);border:1px solid #c9ccc7;border-radius:3px;padding:12px 26px}.hero-figure{margin:12px 0 0;position:relative}.hero-image{height:clamp(420px,48vw,710px);border-radius:3px;object-position:center 54%}.hero-figure figcaption{font-size:12px;letter-spacing:.01em;margin-top:12px}.section{padding-top:112px;padding-bottom:112px}.cloud{background:white}.section-head{border-top:1px solid var(--line);padding-top:25px;align-items:start;margin-bottom:60px}.section-head h2{margin-top:27px;font-weight:500;font-size:64px}.section-head p{padding-top:46px;max-width:420px;font-size:17px}.cards{display:block}.card{display:grid;grid-template-columns:55px minmax(230px,1fr) minmax(250px,1fr) 185px;gap:26px;min-height:0;padding:35px 0;background:transparent;border-radius:0;border-top:1px solid var(--line);align-items:baseline;transition:background .25s}.card:last-child{border-bottom:1px solid var(--line)}.card .index{font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}.card h3{font-size:30px;font-weight:500;margin:0;line-height:1.22;letter-spacing:-.035em}.card h3 br{display:none}.card p{margin:0;font-size:16px;max-width:360px}.card .link{margin:0;justify-self:end;font-size:13px;font-weight:500}.service-cta{margin-top:22px}.perspective{gap:90px;border-top:1px solid var(--line)}.perspective h2{font-weight:500}.perspective p{font-size:19px;line-height:1.65}.research-link{margin-top:45px}.closing{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;padding:48px 0 60px;background:white;border-radius:0;border-top:1px solid var(--line);margin-bottom:35px;column-gap:30px}.closing h2{font-weight:500;font-size:46px;margin:0 0 12px}.closing p{grid-column:1;margin:0;font-size:16px}.closing .button{grid-column:2;grid-row:1/3;border-radius:3px;padding:14px 26px}.page-top{max-width:calc(var(--max) + 2*var(--gutter));padding-top:95px;padding-bottom:95px}.big-title{font-weight:500;font-size:clamp(42px,5vw,76px)}.page-top p{font-size:20px}.person{border-radius:8px}.practice-image{width:100%}.footer{padding-top:35px;padding-bottom:40px}.footer .logo{font-size:30px}.button{border-radius:3px}.token{border-radius:4px}.brand-lead{font-weight:700}.section .section-head .eyebrow{font-weight:500}
@media(min-width:901px){.card:hover{background:#f8f9f7}.hero-image{animation:photo-enter 1.1s var(--ease) both}@keyframes photo-enter{from{clip-path:inset(4% 2% 0);opacity:.5}to{clip-path:inset(0);opacity:1}}}
@media(max-width:1100px){.card{grid-template-columns:35px 1fr 1fr;gap:22px}.card .link{grid-column:3;justify-self:start}.card p{max-width:none}.hero h1{font-size:clamp(58px,7.5vw,85px)}.perspective{gap:45px}}
@media(max-width:650px){header{height:74px}.hero{padding-top:42px}.hero>.reveal{display:block}.hero .eyebrow{font-size:12px}.hero h1{font-size:clamp(43px,10vw,62px);line-height:1.09;letter-spacing:-.055em;margin:25px 0}.hero .lead{font-size:17px;max-width:330px}.hero-actions{justify-content:flex-start;margin:26px 0 32px;gap:24px}.hero-figure{margin:0}.hero-image{height:430px;object-position:57% center;border-radius:3px}.hero-figure figcaption{font-size:12px;text-align:left}.section{padding-top:66px;padding-bottom:66px}.section-head{padding-top:22px;margin-bottom:30px;gap:18px}.section-head h2{font-size:44px;margin-top:20px}.section-head p{padding-top:0;font-size:16px}.card{grid-template-columns:28px 1fr;gap:12px 14px;padding:28px 0}.card h3{font-size:27px}.card p{grid-column:2;font-size:16px}.card .link{grid-column:2;margin-top:3px;font-size:14px}.perspective{gap:28px}.perspective p{font-size:17px}.perspective h2{font-size:39px}.closing{grid-template-columns:1fr;padding:32px 0 40px;gap:15px;margin-bottom:20px}.closing h2{font-size:34px;margin:0}.closing p{font-size:16px}.closing .button{grid-column:1;grid-row:auto;justify-self:start;margin-top:8px}.page-top{padding-top:55px;padding-bottom:60px}.big-title{font-size:42px}.footer{gap:28px}.footer .logo{font-size:27px}}
@media(prefers-reduced-motion:reduce){.hero-image{animation:none}.card{transition:none}}
