:root{--blue-50:#e6f0f7;--blue-100:#c5deec;--blue-200:#8ebed9;--blue-300:#4f9cc6;--blue-400:#1e80b9;--blue-500:#0067ab;--blue-600:#00558f;--blue-700:#014374;--blue-800:#033358;--blue-900:#06223d;--gold-50:#faf4e2;--gold-100:#f2e7bd;--gold-200:#e6d38a;--gold-300:#d4b856;--gold-400:#bc9c3d;--gold-500:#a8842c;--gold-600:#7a5e1c;--gold-700:#6e551a;--gold-800:#4f3d12;--gold-900:#2e2309;--ink-900:#0e1a28;--ink-800:#15263a;--ink-700:#1f3349;--ink-600:#324358;--ink-500:#5a6478;--ink-400:#818aa0;--ink-300:#aab2c2;--ink-200:#cdd2dc;--ink-100:#e1e4eb;--ink-50:#edeff2;--ink-10:rgba(14,26,40,.06);--ink-20:rgba(14,26,40,.12);--surface-base:#f4efe6;--surface-raised:#fbf7ee;--surface-inset:#fff;--surface-deep:#06223d;--surface-paper:#ece4d2;--positive:#3e6b4f;--positive-bg:#e2e9df;--negative:#8e3b2e;--negative-bg:#eedfd9;--caution:#9c7423;--caution-bg:#f2e7c9;--info:#3d5973;--info-bg:#dde3eb;--rule:rgba(14,26,40,.14);--rule-strong:rgba(14,26,40,.32);--rule-gold:rgba(168,132,44,.45);--rule-blue:rgba(0,103,171,.35);--fg:var(--ink-900);--fg-muted:var(--ink-600);--fg-subtle:var(--ink-500);--fg-faint:var(--ink-400);--fg-on-dark:#f0e7d2;--fg-on-gold:#fbf7ee;--bg:var(--surface-base);--bg-raised:var(--surface-raised);--bg-inset:var(--surface-inset);--bg-deep:var(--surface-deep);--accent:var(--blue-500);--accent-hover:var(--blue-600);--accent-press:var(--blue-700);--accent-gold:var(--gold-500);--font-display:"Cormorant Garamond","Noto Serif Thai","Garamond","Adobe Garamond Pro","EB Garamond",Georgia,serif;--font-serif:"Source Serif 4","Noto Serif Thai","Source Serif Pro","Charter","Iowan Old Style",Georgia,serif;--font-sans:"Inter","IBM Plex Sans Thai",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono","IBM Plex Sans Thai","IBM Plex Mono",ui-monospace,Menlo,monospace;--font-thai-display:"Noto Serif Thai","TH Sarabun New",serif;--font-thai-body:"Noto Serif Thai","Sarabun",serif;--font-thai-sans:"IBM Plex Sans Thai","Sarabun",sans-serif;--t-display-2xl:96px;--t-display-xl:72px;--t-display-lg:56px;--t-display-md:44px;--t-display-sm:34px;--t-h1:40px;--t-h2:32px;--t-h3:24px;--t-h4:20px;--t-h5:17px;--t-body-lg:19px;--t-body:16px;--t-body-sm:14px;--t-caption:13px;--t-eyebrow:12px;--t-micro:11px;--lh-display:1.05;--lh-tight:1.15;--lh-snug:1.3;--lh-base:1.6;--lh-loose:1.75;--ls-display:-0.02em;--ls-tight:-0.01em;--ls-normal:0;--ls-eyebrow:0.12em;--ls-smallcap:0.14em;--s-0:0;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--s-11:192px;--max-w-prose:64ch;--max-w-text:720px;--max-w-page:1280px;--max-w-wide:1440px;--gutter:24px;--gutter-lg:80px;--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-pill:9999px;--bw-hair:1px;--bw-thin:1.5px;--bw-rule:2px;--shadow-0:none;--shadow-1:0 1px 0 0 var(--ink-10);--shadow-2:0 1px 0 0 var(--ink-20),0 8px 24px -16px rgba(20,17,13,.25);--shadow-press:inset 0 1px 0 0 rgba(20,17,13,.18);--ease:cubic-bezier(.2,.0,.0,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur-fast:120ms;--dur-med:180ms;--dur-slow:320ms}body,html{background:var(--bg);color:var(--fg);font-family:var(--font-serif);font-size:var(--t-body);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.display-2xl,.display-lg,.display-md,.display-sm,.display-xl,h1.display,h2.display{font-family:var(--font-display);font-weight:400;line-height:var(--lh-display);letter-spacing:var(--ls-display);color:var(--fg)}.display-2xl{font-size:var(--t-display-2xl)}.display-xl{font-size:var(--t-display-xl)}.display-lg{font-size:var(--t-display-lg)}.display-md{font-size:var(--t-display-md)}.display-sm{font-size:var(--t-display-sm)}h1,h2,h3,h4,h5{font-family:var(--font-serif);color:var(--fg);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:0}h1{font-size:var(--t-h1)}h1,h2{font-weight:500}h2{font-size:var(--t-h2)}h3{font-size:var(--t-h3)}h4{font-size:var(--t-h4)}h5{font-size:var(--t-h5)}p{margin:0;font-family:var(--font-serif);font-size:var(--t-body);line-height:var(--lh-base);color:var(--fg)}p.lead{font-size:var(--t-body-lg);line-height:var(--lh-snug);color:var(--ink-700)}.eyebrow,.smallcaps{font-family:var(--font-sans);font-size:var(--t-eyebrow);font-weight:500;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--ink-600)}.eyebrow.gold,.smallcaps.gold{color:var(--gold-600)}.pullquote,blockquote{font-family:var(--font-display);font-weight:300;font-style:italic;font-size:var(--t-display-sm);line-height:var(--lh-tight);color:var(--ink-800);margin:0}.figure,.mono,code{font-family:var(--font-mono);font-feature-settings:"tnum" 1,"lnum" 1;font-size:.92em}.figure{font-feature-settings:"tnum" 1,"lnum" 1}a{color:var(--fg);border-bottom:1px solid transparent;transition:border-color var(--dur-med) var(--ease)}a:hover{border-bottom-color:var(--gold-500)}.rule,hr{border:0;border-top:1px solid var(--rule);margin:var(--s-7) 0}.rule-gold{border-top-color:var(--rule-gold)}.rule-double{border:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);height:4px;margin:var(--s-7) 0}.ornament{display:flex;align-items:center;gap:var(--s-4);color:var(--gold-500);font-family:var(--font-display);font-size:20px}.ornament:after,.ornament:before{content:"";flex:1;border-top:1px solid var(--rule-gold)}.tabular{font-variant-numeric:tabular-nums lining-nums}*{box-sizing:border-box}#app,body,html{margin:0;padding:0;background:var(--bg);min-height:100vh}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.masthead{background:var(--bg)}.masthead,.masthead .top{border-bottom:1px solid var(--rule)}.masthead .top{display:flex;align-items:center;justify-content:space-between;padding:14px 56px;font-family:var(--font-sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500)}.masthead .top .strap{display:flex;gap:22px}.masthead .top .strap span:not(:last-child):after{content:"";display:inline-block;width:4px;height:4px;background:var(--gold-500);border-radius:50%;margin-left:22px;transform:translateY(-2px)}.masthead .nav{display:flex;align-items:center;justify-content:space-between;padding:18px 56px}.masthead .nav .brand{display:flex;align-items:center;gap:14px}.masthead .nav .brand img{height:44px}.masthead .nav .links{display:flex;gap:32px;align-items:center}.masthead .nav .links a{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-700);padding:6px 0;border-bottom:1px solid transparent;cursor:pointer;transition:all .18s var(--ease)}.masthead .nav .links a:hover{color:var(--ink-900);border-bottom-color:var(--gold-500)}.masthead .nav .links a.active{color:var(--ink-900);border-bottom-color:var(--ink-900)}.section{padding:96px 56px}.section.tight{padding:56px}.section.deep{background:var(--bg-deep);color:var(--fg-on-dark)}.section.deep p{color:#d9cfb6}.section.deep .eyebrow{color:var(--gold-300)}.section.paper{background:var(--surface-paper)}.container{max-width:1200px;margin:0 auto}.container-narrow{max-width:760px;margin:0 auto}.btn{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:14px 26px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .18s var(--ease)}.btn.primary{background:var(--blue-500);color:#fbf7ee}.btn.primary:hover{background:var(--blue-600)}.btn.primary:active{background:var(--blue-700)}.btn.secondary{background:transparent;color:var(--ink-900);border-color:var(--ink-900)}.btn.secondary:hover{background:var(--bg-raised)}.btn.deep{background:transparent;color:#f0e7d2;border-color:#f0e7d2}.btn.deep:hover{background:rgba(240,231,210,.08)}.btn.ghost{background:transparent;padding-left:0;padding-right:0;color:var(--ink-900);border-bottom:1px solid transparent}.btn.ghost:hover{border-bottom-color:var(--gold-500)}.btn.ghost .arr{color:var(--gold-500)}.btn.pill{border-radius:9999px;border-color:var(--gold-500);color:var(--ink-900)}.btn.pill:hover{background:var(--gold-50)}.eyebrow{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-600);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:24px;height:1px;background:var(--gold-500)}.eyebrow.no-rule:before{display:none}.section-head .eyebrow{margin-bottom:24px}.section-head h2{font-family:var(--font-display);font-weight:400;font-size:56px;line-height:1.05;letter-spacing:-.02em;color:var(--ink-900);max-width:22ch}.section-head .deck{font-family:var(--font-serif);font-size:19px;line-height:1.5;color:var(--ink-600);margin-top:20px;max-width:56ch}.fleuron{font-size:22px}.fleuron,.fleuron-rule{color:var(--gold-500);font-family:var(--font-display)}.fleuron-rule{display:flex;align-items:center;gap:18px;font-size:18px}.fleuron-rule:after,.fleuron-rule:before{content:"";flex:1;border-top:1px solid var(--rule-gold)}.hero{padding:96px 56px 80px;position:relative}.hero .grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;max-width:1280px;margin:0 auto}.hero h1{font-family:var(--font-display);font-weight:400;font-size:68px;line-height:1.08;letter-spacing:-.02em;color:var(--ink-900)}.hero h1 .it{color:var(--ink-700)}.hero h1 .amp,.hero h1 .it{font-style:italic;font-weight:300}.hero h1 .amp{color:var(--blue-500)}.hero .deck{font-family:var(--font-serif);font-size:19px;line-height:1.55;color:var(--ink-600);max-width:44ch}.hero .cta-row{display:flex;gap:16px;margin-top:40px}.hero .established{font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-500);border-top:1px solid var(--rule);padding-top:14px;margin-bottom:36px;display:flex;justify-content:space-between}.hero .img-slot{aspect-ratio:4/5;background:linear-gradient(180deg,#e6f0f7,#8ebed9);border:1px solid var(--rule-blue);position:relative;overflow:hidden}.hero .img-slot:after{content:"A photograph of the Holborn library reading room";position:absolute;inset:24px;display:flex;align-items:flex-end;font-family:var(--font-display);font-size:17px;font-style:italic;font-weight:300;color:var(--blue-800);border:1px solid var(--rule-blue);padding:18px}.hero .img-slot.filled{background:none;aspect-ratio:unset;align-self:stretch;max-height:560px}.hero .img-slot.filled:after{display:none}@media (max-width:900px){.hero{padding:56px 24px 48px}.hero .grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:46px}.hero .img-slot,.hero .img-slot.filled{aspect-ratio:16/9;max-height:none;align-self:auto}}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.stat{padding:36px 32px;border-right:1px solid var(--rule)}.stat:last-child{border-right:0}.stat .figure{font-family:var(--font-display);font-size:56px;font-weight:400;line-height:1;letter-spacing:-.02em;color:var(--ink-900)}.stat .figure .small{font-size:28px;color:var(--ink-600);vertical-align:top;margin-left:4px}.stat .label{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-600);margin-top:16px}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.service-tile{padding:40px 36px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);cursor:pointer;transition:background .2s var(--ease);position:relative}.service-tile:hover{background:var(--bg-raised)}.service-tile .num{font-family:var(--font-mono);font-size:12px;color:var(--gold-600);letter-spacing:.16em}.service-tile h3{font-family:var(--font-display);font-size:34px;font-weight:400;line-height:1.1;letter-spacing:-.01em;color:var(--ink-900);margin:16px 0 12px}.service-tile p{font-family:var(--font-serif);font-size:15px;line-height:1.55;color:var(--ink-600);max-width:42ch}.service-tile .link{margin-top:28px;font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-900);display:flex;align-items:center;gap:10px}.service-tile .link .arr{color:var(--gold-500);transition:transform .2s var(--ease)}.service-tile:hover .link .arr{transform:translateX(4px)}.insight-row{display:grid;grid-template-columns:120px 1fr auto;gap:32px;padding:28px 0;border-bottom:1px solid var(--rule);cursor:pointer;transition:background .18s var(--ease);align-items:baseline}.insight-row:hover{background:var(--bg-raised)}.insight-row .meta{font-family:var(--font-sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500)}.insight-row .meta .tag{color:var(--gold-600);display:block;margin-bottom:8px}.insight-row .title{font-family:var(--font-display);font-size:28px;font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--ink-900)}.insight-row .author{font-family:var(--font-serif);font-size:13px;font-style:italic;color:var(--ink-500);margin-top:8px}.insight-row .read{font-family:var(--font-sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-700);white-space:nowrap}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 40px}.partner .portrait{aspect-ratio:4/5;background:linear-gradient(180deg,#d6c9a8,#aab2c2);display:flex;align-items:center;justify-content:center;font-size:64px;color:hsla(0,0%,100%,.65);border:1px solid var(--rule)}.partner .portrait,.partner h4{font-family:var(--font-display)}.partner h4{font-size:24px;font-weight:400;letter-spacing:-.01em;margin-top:20px;color:var(--ink-900)}.partner .role{font-family:var(--font-sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-600);margin-top:6px}.partner .bio{font-family:var(--font-serif);font-size:14px;color:var(--ink-600);margin-top:12px;line-height:1.5}.timeline{position:relative;padding-left:80px}.timeline:before{content:"";position:absolute;left:32px;top:8px;bottom:8px;width:1px;background:var(--rule-gold)}.t-entry{position:relative;padding:18px 0;display:grid;grid-template-columns:1fr;gap:6px}.t-entry:before{content:"";position:absolute;left:-56px;top:28px;width:9px;height:9px;background:var(--gold-500);border-radius:50%}.t-entry .year{font-family:var(--font-display);font-size:36px;font-weight:400;color:var(--ink-900);letter-spacing:-.01em}.t-entry .note{font-family:var(--font-serif);font-size:16px;color:var(--ink-600);max-width:58ch;line-height:1.55}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-700)}.field input,.field select,.field textarea{font-family:var(--font-serif);font-size:15px;padding:12px 14px;border:1px solid rgba(14,26,40,.32);background:#fff;border-radius:2px;color:var(--ink-900);outline:none;transition:all .18s var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(0,103,171,.18)}.field textarea{min-height:120px;resize:vertical;font-family:var(--font-serif)}.foot{background:var(--bg-deep);color:var(--fg-on-dark);padding:80px 56px 36px}.foot .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(240,231,210,.18)}.foot h3{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-300);margin-bottom:20px}.foot a{color:#d9cfb6;font-family:var(--font-serif);font-size:14px;display:block;padding:4px 0;cursor:pointer}.foot a:hover{color:#f0e7d2}.foot .addr{font-family:var(--font-serif);font-size:14px;color:#c9b98c;line-height:1.7;font-style:italic}.foot .bottom{padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#818aa0}.foot .colophon{font-family:var(--font-display);font-style:italic;color:#c9b98c;font-size:14px;text-transform:none;letter-spacing:0}.pullquote-block{padding:80px 56px;background:var(--surface-paper);border-top:1px solid var(--rule-gold);border-bottom:1px solid var(--rule-gold)}.pullquote-block blockquote{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:48px;line-height:1.1;color:var(--ink-800);letter-spacing:-.015em;max-width:24ch;margin:0 auto;text-align:center}.pullquote-block .attrib{text-align:center;margin-top:32px;font-family:var(--font-sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-600)}.pullquote-block .attrib:before{content:"— "}.hamburger,.lang-toggle-mobile{display:none}.hamburger{flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px 4px}.hamburger span{display:block;width:22px;height:2px;background:var(--ink-800);border-radius:1px;transition:all .2s var(--ease)}.stats-wrapper{padding:0 56px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}.cta-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center}.service-detail-grid{display:grid;grid-template-columns:.7fr 1.6fr 1fr;gap:56px}.how-we-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.featured-grid{display:grid;grid-template-columns:320px 1fr;gap:56px}.story-grid{grid-template-columns:1fr 1.4fr;gap:80px}.story-grid,.team-grid{display:grid;align-items:start}.team-grid{grid-template-columns:380px 1fr;gap:64px}.qual-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.office-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px}@media (max-width:768px){.section,.section.deep,.section.tight{padding:60px 20px}.container,.container-narrow,.stats-wrapper{padding:0}.masthead .top{display:none}.masthead .nav{padding:14px 20px}.masthead .nav .links{display:none}.masthead .nav .links.open{display:flex;flex-direction:column;position:fixed;inset:0;background:var(--bg);z-index:200;justify-content:center;align-items:center;gap:36px}.masthead .nav .links.open a{font-size:20px;letter-spacing:.1em;padding:8px 0}.masthead .nav .links.open .lang-toggle-mobile{display:flex;gap:20px;margin-top:12px;padding-top:20px;border-top:1px solid var(--rule)}.hamburger{display:flex}.section-head h2{font-size:36px}.pullquote-block{padding:60px 20px}.pullquote-block blockquote{font-size:30px}.stats{grid-template-columns:1fr 1fr}.stat{border-right:none;border-bottom:1px solid var(--rule)}.stat:nth-child(odd){border-right:1px solid var(--rule)}.stat:nth-last-child(-n+2){border-bottom:none}.services-grid{grid-template-columns:1fr}.foot{padding:60px 20px 32px}.foot .top{grid-template-columns:1fr;gap:40px}.foot .bottom{flex-direction:column;gap:12px;text-align:center}.contact-grid,.cta-grid,.how-we-work-grid,.office-grid,.qual-grid,.service-detail-grid,.story-grid,.team-grid,.why-grid{grid-template-columns:1fr;gap:32px}.featured-grid{grid-template-columns:1fr;gap:0}.featured-grid>div:last-child{display:none}.team-grid>div:first-child{max-width:280px}.insight-row{grid-template-columns:80px 1fr;gap:12px}.insight-row .read{display:none}.contact-grid aside{border-left:none;border-top:1px solid var(--rule-gold);padding-left:0;padding-top:32px}.form-grid{grid-template-columns:1fr}.services-list{padding:0 20px}}