@font-face{font-family:Montserrat;src:url(fonts/montserrat-light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url(fonts/montserrat-lightitalic.woff) format("woff");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:Montserrat;src:url(fonts/montserrat-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url(fonts/montserrat-medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-lightitalic.woff) format("woff");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-semibold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}
:root{color-scheme:dark;
  --abyss:#06191f;
  --deep:#0c2a33;
  --teal:#2b8597;
  --mist:#9cc6cf;
  --ink:#e6eeef;
  --muted:#93acb1;
  --copper:#b88a6c;
  --line:rgba(156,198,207,.18);
  --field:#0b232a;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--abyss);color:var(--ink);font:400 17px/1.6 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--mist);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:var(--abyss);padding:8px 14px;z-index:10}
.skip:focus{left:16px}
.wrap{width:min(1180px,100% - 48px);margin-inline:auto}
@media (max-width:600px){.wrap{width:calc(100% - 32px)}}

/* header */
header.site{position:absolute;inset:0 0 auto;z-index:3}
.bar{display:flex;align-items:center;justify-content:space-between;padding-block:28px}
.logo{display:block;width:124px}
.logo img{width:100%;height:auto}
nav.main{display:flex;gap:36px;align-items:center;font-size:14px;letter-spacing:.02em}
nav.main a{text-decoration:none;color:var(--muted)}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--ink)}
.btn{display:inline-block;text-decoration:none;color:var(--ink);background:none;border:1px solid var(--copper);padding:12px 22px;font:inherit;font-size:14px;letter-spacing:.02em;cursor:pointer;transition:background .2s}
.btn:hover{background:rgba(184,138,108,.14)}
nav.main a.btn{color:var(--ink)}
@media (max-width:820px){nav.main a:not(.btn){display:none}}

/* heroes */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(120% 80% at 70% 40%,#0d3440 0%,var(--abyss) 70%)}
.hero.inner{min-height:clamp(440px,62svh,640px);padding-top:150px}
canvas.current{position:absolute;inset:0;width:100%;height:100%}
.hero .wrap{position:relative;z-index:2;padding-bottom:clamp(56px,10vh,120px)}
.hero.inner .wrap{padding-bottom:clamp(48px,8vh,88px)}
h1{font-weight:300;font-size:clamp(40px,6.4vw,92px);line-height:1.02;letter-spacing:-.035em;max-width:13ch}
.hero.inner h1{font-size:clamp(36px,5vw,68px);max-width:16ch}
.lede{margin-top:28px;max-width:48ch;color:var(--muted);font-size:clamp(16px,1.4vw,19px)}
.cta{margin-top:40px;display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.quiet{font-size:13px;color:var(--muted)}

/* sections */
section{padding-block:clamp(88px,12vw,160px);border-top:1px solid var(--line)}
section.tight{padding-block:clamp(64px,8vw,112px)}
h2{font-weight:300;font-size:clamp(28px,3.2vw,44px);letter-spacing:-.025em;line-height:1.1;max-width:22ch}
h3{font-weight:500;font-size:19px;letter-spacing:-.01em;line-height:1.35}
p+p{margin-top:1em}
.muted{color:var(--muted)}
.prose{max-width:62ch;color:var(--muted)}
.prose h3{color:var(--ink);margin:40px 0 10px}
.prose ul{padding-left:20px;margin-top:10px}
.prose li+li{margin-top:6px}

.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 72px;margin-top:64px}
.grid2 p{color:var(--muted);max-width:40ch}
.grid2 h3{margin-bottom:8px}
@media (max-width:720px){.grid2{grid-template-columns:1fr;gap:40px}}

.practices{margin-top:56px;border-top:1px solid var(--line)}
.practice{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:32px;padding-block:32px;border-bottom:1px solid var(--line);text-decoration:none;align-items:baseline}
.practice h3{font-weight:300;font-size:clamp(24px,2.6vw,36px);letter-spacing:-.02em;transition:color .2s}
.practice p{color:var(--muted)}
a.practice:hover h3{color:var(--mist)}
@media (max-width:720px){.practice{grid-template-columns:1fr;gap:8px}}

.outcomes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;margin-top:64px}
.outcome strong{display:block;font-weight:300;font-size:clamp(44px,5vw,72px);letter-spacing:-.04em;line-height:1}
.outcome p{margin-top:16px;color:var(--muted);font-size:15px;max-width:26ch}
.note{margin-top:48px;font-size:13px;color:var(--muted)}
@media (max-width:900px){.outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.outcomes{grid-template-columns:1fr}}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:64px;counter-reset:s;list-style:none;padding:0}
.step{padding:32px 32px 0 0;border-top:1px solid var(--teal);counter-increment:s}
.step::before{content:counter(s);display:block;font-size:14px;color:var(--copper);margin-bottom:24px}
.step .dur{font-size:13px;color:var(--mist);margin-top:4px}
.step p{margin-top:14px;color:var(--muted);max-width:32ch}
@media (max-width:720px){.steps{grid-template-columns:1fr;gap:40px}}

/* practice detail (services page) */
.detail{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px}
.detail h2{font-size:clamp(28px,3vw,40px)}
.detail .when{margin-top:20px;color:var(--muted);max-width:34ch}
.blocks{display:grid;gap:36px}
.blocks h3{font-size:15px;font-weight:600;color:var(--mist);margin-bottom:10px}
.blocks ul{list-style:none;padding:0;display:grid;gap:8px}
.blocks li{padding-left:20px;position:relative}
.blocks li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--copper)}
.blocks p{color:var(--muted)}
.blocks a{color:var(--mist)}
@media (max-width:820px){.detail{grid-template-columns:1fr;gap:32px}}

/* case studies */
.case{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px}
.case .fig{font-weight:300;font-size:clamp(56px,7vw,104px);letter-spacing:-.045em;line-height:.95}
.case .fig-label{margin-top:14px;color:var(--muted);max-width:26ch}
.case .sector{margin-top:28px;font-size:14px;color:var(--mist)}
.case dl{display:grid;gap:28px}
.case dt{font-size:15px;font-weight:600;color:var(--mist);margin-bottom:6px}
.case dd{margin:0;color:var(--muted);max-width:56ch}
.case dd ul{list-style:none;padding:0;display:grid;gap:6px;color:var(--ink)}
.case dd li{padding-left:20px;position:relative}
.case dd li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--copper)}
@media (max-width:820px){.case{grid-template-columns:1fr;gap:32px}}

/* leadership */
.leader{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px;align-items:start}
.panel{aspect-ratio:4/5;background:linear-gradient(160deg,#0f3540,#071d24);position:relative;overflow:hidden}
.panel img{position:absolute;width:170%;max-width:none;left:-35%;bottom:-4%;opacity:.09}
.leader .role{margin-top:8px;color:var(--mist)}
.leader p.bio{color:var(--muted);max-width:56ch;margin-top:24px}
.creds{margin-top:32px;display:grid;gap:10px;font-size:15px;padding:0;list-style:none}
.creds li{padding-left:20px;position:relative}
.creds li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--copper)}
.more{display:inline-block;margin-top:36px;font-size:14px;color:var(--mist)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:64px}
.facts h3{font-size:15px;font-weight:600;color:var(--mist);margin-bottom:12px}
.facts ul{list-style:none;padding:0;display:grid;gap:8px;color:var(--muted);font-size:15px}
@media (max-width:820px){.leader{grid-template-columns:1fr;gap:40px}.panel{max-width:360px}.facts{grid-template-columns:1fr}}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:72px}
form{display:grid;gap:22px}
label{display:grid;gap:8px;font-size:14px;color:var(--mist)}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:0;padding:12px 14px;width:100%}
textarea{min-height:150px;resize:vertical}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mist) 50%),linear-gradient(135deg,var(--mist) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--mist)}
.hp{position:absolute;left:-9999px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.direct{display:grid;gap:28px;align-content:start}
.direct h3{font-size:15px;font-weight:600;color:var(--mist);margin-bottom:6px}
.direct p{color:var(--muted)}
@media (max-width:820px){.contact{grid-template-columns:1fr;gap:56px}.row2{grid-template-columns:1fr}}

.close{background:linear-gradient(180deg,var(--abyss),var(--deep))}
.close blockquote{font-weight:300;font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;line-height:1.2;max-width:24ch}
.close .cta{margin-top:48px}

footer.site{padding-block:40px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}
footer.site .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
footer.site nav{display:flex;flex-wrap:wrap;gap:12px 24px}
footer.site a{text-decoration:none}
footer.site a:hover{color:var(--ink)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.close .reach{margin-top:20px;color:var(--muted);font-size:15px}
.close .reach a{color:var(--mist)}

/* Montserrat for display type, Inter for reading */
h1,h2,.practice h3,.outcome strong,.close blockquote,.btn,.detail h2,.case .fig{font-family:Montserrat,Inter,system-ui,sans-serif}
h1{font-weight:300;letter-spacing:-.025em;font-size:clamp(36px,5.6vw,80px);line-height:1.06}
.hero.inner h1{font-size:clamp(32px,4.4vw,60px)}
h2{font-weight:300;letter-spacing:-.015em;line-height:1.15}
.practice h3{letter-spacing:-.01em}
.outcome strong{letter-spacing:-.03em}
.close blockquote{letter-spacing:-.01em;line-height:1.25}
.btn{font-weight:500;letter-spacing:.01em}

/* closing statement and dictionary entry */
.close-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px;align-items:end}
.close h2.what{font-family:Inter,system-ui,sans-serif;font-size:15px;font-weight:600;letter-spacing:0;color:var(--mist);margin-bottom:20px}
.statement{font-family:Montserrat,Inter,system-ui,sans-serif;font-weight:300;font-size:clamp(26px,3vw,40px);line-height:1.25;letter-spacing:-.01em;max-width:24ch;text-wrap:balance}
.entry{border-left:1px solid var(--copper);padding:4px 0 4px 28px;display:grid;gap:10px;max-width:40ch}
.entry dt{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px}
.entry dfn{font-style:normal;font-family:Montserrat,Inter,system-ui,sans-serif;font-weight:500;font-size:clamp(28px,2.6vw,36px);letter-spacing:.01em;color:var(--ink)}
.entry .ipa{font-size:15px;color:var(--muted)}
.entry dd{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.entry .pos{font-family:Montserrat,Inter,system-ui,sans-serif;font-style:italic;font-weight:300;color:var(--mist)}
.entry .sense{color:var(--ink);font-size:17px}
.entry .n{color:var(--copper);margin-right:6px}
.entry .ety{padding-top:10px;border-top:1px solid var(--line)}
.entry .lab{display:block;font-weight:600;color:var(--mist);margin-bottom:2px}
.entry i{font-family:Montserrat,Inter,system-ui,sans-serif;font-weight:300;color:var(--ink)}
@media (max-width:820px){.close-grid{grid-template-columns:1fr;gap:48px}}

/* v2: three situations, brand list marks, About and Privacy layouts */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:64px}
.grid3 h3{margin-bottom:10px}
.grid3 p{color:var(--muted);max-width:34ch}
@media (max-width:900px){.grid3{grid-template-columns:1fr;gap:36px}}

/* list marks: the chevron of the ARTIUS "A", ruled like a ledger */
ul.marks{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
ul.marks li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line);line-height:1.5}
ul.marks li::before{content:"";position:absolute;left:4px;top:1.3em;width:7px;height:7px;border-top:1.5px solid var(--copper);border-left:1.5px solid var(--copper);transform:rotate(45deg);background:none}
.blocks ul.marks li::before{top:1.3em}
.blocks li{padding-left:30px}

.person{max-width:62ch}
.person .role{margin-top:6px;color:var(--mist)}
.person .lead{margin-top:28px;font-family:Montserrat,Inter,system-ui,sans-serif;font-weight:300;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--ink)}
.person .body{margin-top:20px;color:var(--muted)}
section .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:64px;max-width:980px}
section .facts h3{font-size:15px;font-weight:600;color:var(--mist);margin-bottom:12px}
section .facts ul.marks{color:var(--muted);font-size:15px}
@media (max-width:720px){section .facts{grid-template-columns:1fr}}

.policy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 64px;max-width:1080px}
.policy h3{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px}
.policy p{color:var(--muted);font-size:15px;max-width:52ch}
.policy a{color:var(--mist)}
@media (max-width:720px){.policy{grid-template-columns:1fr}}
.close .close-grid{align-items:center}

.close .reach{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.close .reach a{color:var(--mist);text-decoration:none;border-bottom:1px solid var(--line)}
.close .reach a:hover{color:var(--ink);border-color:var(--mist)}

/* v3: enquiry block, About panel with current lines */
.close .reach{margin-top:56px;padding-top:32px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;font-size:15px;color:var(--muted)}
.close .reach p{margin:0}
.close .reach p a{color:var(--mist);text-decoration:none;border-bottom:1px solid var(--line)}
.close .reach .btn{border-color:var(--copper)}
.leader{align-items:center}
.panel{position:relative;overflow:hidden;aspect-ratio:4/5;max-width:100%;background:linear-gradient(160deg,#0f3540,#071d24)}
.panel canvas.current{position:absolute;inset:0;width:100%;height:100%}
.panel img{opacity:.07}
.person .body{margin-top:20px;color:var(--muted);max-width:58ch}
.person .body:first-of-type{margin-top:28px}
