:root { --ink:#102937; --deep:#082432; --teal:#007d79; --aqua:#ccece8; --mist:#eef5f4; --cream:#fbf8f0; --gold:#f3be52; --line:rgba(16,41,55,.16); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--cream); } * { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; } a { color:inherit; } .site-header,.section,footer { width:min(1180px,calc(100% - 2.5rem)); margin:auto; }.site-header { display:flex; align-items:center; justify-content:space-between; min-height:5.7rem; gap:1rem; }.brand { display:inline-flex; align-items:center; gap:.65rem; color:var(--deep); font-size:1.05rem; font-weight:850; text-decoration:none; letter-spacing:-.015em; }.brand span { display:grid; place-items:center; width:2rem; aspect-ratio:1; border-radius:50%; color:white; background:var(--teal); font-size:.68rem; letter-spacing:-.04em; }.site-header nav { display:flex; gap:1.7rem; }.site-header nav a { color:#45606b; font-size:.88rem; font-weight:700; text-decoration:none; }.header-cta { color:var(--teal); font-size:.88rem; font-weight:800; text-decoration:none; }.section { padding:5.5rem 0; }.hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr); align-items:end; min-height:41rem; padding-top:7rem; gap:4rem; }.eyebrow,.number { margin:0 0 1rem; color:var(--teal); font-size:.72rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }.hero h1,.split h2,.team-heading h2,.work h2,.contact h2 { max-width:10ch; margin:0; color:var(--deep); font-size:clamp(3.4rem,7.2vw,6.8rem); letter-spacing:-.035em; line-height:.96; }.hero h1 em,.team-heading em,.contact em { color:var(--teal); font-family:Georgia,serif; font-weight:400; }.lede { max-width:37rem; margin:2rem 0; color:#4c6670; font-size:1.15rem; line-height:1.65; }.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.5rem; }.button { display:inline-flex; align-items:center; justify-content:center; gap:.85rem; min-height:3.5rem; padding:0 1.2rem; border-radius:.25rem; font-weight:850; text-decoration:none; }.button-primary { color:white; background:var(--deep); }.text-link { color:var(--teal); font-size:.9rem; font-weight:850; text-underline-offset:.25rem; }.hero-panel { padding:1.8rem; color:white; background:var(--teal); box-shadow:1rem 1rem 0 var(--aqua); }.hero-panel>p { margin:0 0 2.5rem; font-size:1.55rem; font-weight:750; letter-spacing:-.02em; line-height:1.1; }.hero-panel ul { display:grid; gap:1rem; margin:0; padding:0; list-style:none; }.hero-panel li { display:flex; align-items:center; gap:.75rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.32); font-size:.85rem; }.hero-panel li span { color:var(--gold); font-weight:850; }.proof { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:1.5rem; align-items:center; padding:2.8rem 0; border-block:1px solid var(--line); }.proof>p { max-width:30rem; margin:0; font-size:1.25rem; font-weight:750; letter-spacing:-.01em; line-height:1.35; }.proof div { display:flex; align-items:center; gap:.8rem; }.proof strong { color:var(--teal); font-size:2.6rem; letter-spacing:-.03em; }.proof span { color:#54707a; font-size:.78rem; line-height:1.4; }.split { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }.split h2,.team-heading h2,.work h2,.contact h2 { font-size:clamp(2.6rem,5vw,4.6rem); }.split-copy { padding-top:1.9rem; }.split-copy p,.team-heading>p { margin:0 0 1.5rem; color:#4c6670; font-size:1.08rem; line-height:1.65; }.capabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:0; background:var(--line); border:1px solid var(--line); }.capabilities article { min-height:18rem; padding:2rem; background:var(--mist); }.capabilities article:nth-child(2) { background:var(--aqua); }.capabilities h3,.person h3,.work h3 { margin:.4rem 0 .75rem; color:var(--deep); font-size:1.35rem; letter-spacing:-.02em; }.capabilities article>p:last-child,.person>p:last-child { color:#53707b; font-size:.94rem; line-height:1.6; }.team-section { padding-bottom:6.5rem; }.team-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:4rem; align-items:end; margin-bottom:3rem; }.team-heading>p { margin:0 0 .2rem; }.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }.person { padding:1.25rem; border:1px solid var(--line); background:white; }.portrait { display:grid; place-items:center; height:15rem; margin-bottom:1.3rem; color:white; background:linear-gradient(145deg,#054b63,#00897f 55%,#e6c169); font-family:Georgia,serif; font-size:3rem; font-weight:700; letter-spacing:-.04em; }.person-paul .portrait { background:linear-gradient(145deg,#a25436,#d38959 55%,#f4c967); }.person-rory .portrait { background:linear-gradient(145deg,#24304a,#46748a 55%,#b8d6d1); }.role { margin:0; color:var(--teal); font-size:.67rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.work { display:grid; grid-template-columns:.8fr 1.2fr; gap:3rem; padding-top:1.5rem; }.work-grid { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }.work-grid article { display:grid; grid-template-columns:8rem 1fr; gap:1rem; align-items:center; padding:1.7rem; background:white; }.work-grid span { color:var(--teal); font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.work-grid h3 { margin:0; font-size:1.25rem; }.contact { margin-bottom:5.5rem; padding:5rem clamp(1.6rem,6vw,5.5rem); color:white; background:var(--deep); }.contact .eyebrow { color:var(--gold); }.contact h2 { color:white; }.contact h2 em { color:var(--gold); }.contact>p:not(.eyebrow) { max-width:34rem; color:#c6d8d8; font-size:1.05rem; line-height:1.65; }.button-light { margin-top:1rem; color:var(--deep); background:var(--gold); } footer { display:grid; grid-template-columns:1.2fr 1fr 1fr auto; align-items:center; gap:1.5rem; padding:0 0 2rem; color:#52707a; font-size:.82rem; } footer p { margin:0; } footer>a:not(.brand) { color:var(--teal); font-weight:800; } footer small { white-space:nowrap; } @media (max-width:780px) { .site-header nav,.header-cta { display:none; }.section { padding:3.5rem 0; }.hero { grid-template-columns:1fr; min-height:auto; padding-top:4rem; gap:3rem; }.hero-panel { max-width:27rem; }.proof,.split,.team-heading,.work { grid-template-columns:1fr; gap:2rem; }.proof { padding:2rem 0; }.capabilities,.team-grid { grid-template-columns:1fr; }.capabilities article { min-height:0; }.work-grid article { grid-template-columns:1fr; gap:.4rem; } .contact { margin-bottom:3rem; padding:3.5rem 1.5rem; } footer { grid-template-columns:1fr; gap:.8rem; }.portrait { height:12rem; } } @media (max-width:420px) { .site-header,.section,footer { width:min(100% - 1.5rem,1180px); }.hero h1 { font-size:3.15rem; }.hero-actions { align-items:flex-start; flex-direction:column; gap:1rem; } }
