
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');

:root{
  --ink:#151414;
  --muted:#6e6967;
  --paper:#f7f5f1;
  --white:#fff;
  --burgundy:#74131b;
  --burgundy-deep:#4f0d13;
  --line:rgba(21,20,20,.13);
  --line-light:rgba(255,255,255,.16);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
  --max:1440px;
}
*{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}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.025;z-index:50;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
a{color:inherit}
img{max-width:100%}
.site-shell{overflow:hidden}
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:25px clamp(24px,5vw,76px);transition:.35s ease}
.site-header.is-scrolled{background:rgba(247,245,241,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);padding-top:17px;padding-bottom:17px}
.brand{display:flex;align-items:center;width:112px}
.brand img{display:block;width:100%;height:auto}
.main-nav{display:flex;align-items:center;gap:30px;font-size:12px;letter-spacing:.04em}
.main-nav a{text-decoration:none;position:relative}
.main-nav a:not(.nav-contact):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--burgundy);transition:.25s}
.main-nav a:hover:not(.nav-contact):after{right:0}
.nav-contact{border:1px solid var(--ink);padding:11px 15px;transition:.25s}
.nav-contact:hover{background:var(--ink);color:var(--paper)}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:10px;cursor:pointer}
.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:.25s}
.section-pad{padding-left:clamp(24px,7vw,120px);padding-right:clamp(24px,7vw,120px)}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:150px;padding-bottom:clamp(50px,7vw,105px);position:relative}
.hero:after{content:"";position:absolute;width:40vw;height:40vw;max-width:620px;max-height:620px;right:-12vw;top:24%;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(116,19,27,.13),rgba(116,19,27,0) 67%);pointer-events:none}
.hero-kicker,.eyebrow{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.19em;font-weight:600;color:var(--muted)}
.hero-kicker span{color:var(--burgundy);padding:0 8px}
.hero-title{font-family:var(--serif);font-weight:500;font-size:clamp(76px,13.5vw,210px);line-height:.82;letter-spacing:-.065em;max-width:1100px;margin:35px 0 70px;position:relative;z-index:1}
.hero-title em,.section-title em,.intro h2 em,.approach-intro h2 em,.statement h2 em,.contact h2 em,.careers-hero h1 em,.careers-intro h2 em,.careers-cta h2 em{font-style:italic;color:var(--burgundy)}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;position:relative;z-index:1}
.hero-bottom p{max-width:330px;font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.circle-link{width:64px;height:64px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:22px;transition:.3s}
.circle-link:hover{background:var(--burgundy);color:white;border-color:var(--burgundy);transform:translateY(3px)}
.intro{padding-top:150px;padding-bottom:155px;border-top:1px solid var(--line)}
.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;margin-top:65px}
.intro h2,.section-title{font-family:var(--serif);font-weight:500;font-size:clamp(52px,7vw,108px);line-height:.94;letter-spacing:-.055em;margin:0}
.body-copy{padding-top:8px;max-width:550px}
.body-copy p,.approach-intro>p,.contact-grid p,.careers-hero-bottom p,.careers-intro>p,.careers-cta-grid p{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 24px}
.text-link{display:inline-flex;gap:18px;align-items:center;margin-top:15px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:8px}
.text-link span{color:var(--burgundy)}
.portfolio{background:var(--ink);color:white;padding-top:120px;padding-bottom:120px}
.portfolio .eyebrow{color:#aaa}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}
.section-head p{font-family:var(--serif);font-size:26px;line-height:1.05;margin:0;color:#eee}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(255,255,255,.14)}
.portfolio-card{min-height:520px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;transition:.45s cubic-bezier(.2,.7,.2,1);position:relative}
.portfolio-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(116,19,27,.0),rgba(116,19,27,.13));opacity:0;transition:.45s}
.portfolio-card:hover{transform:translateY(-7px)}
.portfolio-card:hover:before{opacity:1}
.portfolio-card.light{background:#f2efe9;color:var(--ink)}
.portfolio-card.dark{background:#242222}
.portfolio-card.burgundy{background:var(--burgundy)}
.card-top,.card-footer{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.15em;position:relative}
.card-main{position:relative;max-width:620px}
.card-category{font-size:10px;text-transform:uppercase;letter-spacing:.17em;opacity:.6;margin-bottom:18px}
.card-main h3{font-family:var(--serif);font-weight:500;font-size:clamp(42px,5vw,72px);line-height:.94;letter-spacing:-.045em;margin:0 0 25px}
.card-main p{font-size:14px;line-height:1.7;max-width:430px;opacity:.72;margin:0}
.card-footer{padding-top:28px;border-top:1px solid currentColor;opacity:.7}
.approach{padding-top:150px;padding-bottom:145px}
.approach-intro{display:grid;grid-template-columns:1fr .7fr;gap:10vw;margin-top:65px;align-items:end}
.approach-intro h2{font-family:var(--serif);font-weight:500;font-size:clamp(58px,8vw,120px);line-height:.9;letter-spacing:-.055em;margin:0}
.principles{display:grid;grid-template-columns:repeat(4,1fr);margin-top:115px;border-top:1px solid var(--line)}
.principles article{padding:25px 25px 0 0;border-right:1px solid var(--line);min-height:240px}
.principles article:not(:first-child){padding-left:25px}
.principles article:last-child{border-right:0}
.principles span{font-size:10px;color:var(--burgundy);letter-spacing:.12em}
.principles h3{font-family:var(--serif);font-size:34px;font-weight:500;margin:38px 0 12px}
.principles p{color:var(--muted);font-size:13px;line-height:1.7;max-width:230px}
.statement{background:var(--burgundy);color:white;text-align:center;padding-top:155px;padding-bottom:155px}
.statement-mark{font-family:var(--serif);font-size:38px;font-style:italic;margin-bottom:50px}
.statement h2{font-family:var(--serif);font-weight:500;font-size:clamp(58px,8vw,125px);line-height:.9;letter-spacing:-.06em;margin:0}
.statement h2 em{color:#e4b8bc}
.statement p{margin:40px 0 0;color:rgba(255,255,255,.68);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.contact{padding-top:145px;padding-bottom:130px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:65px}
.contact h2{font-family:var(--serif);font-weight:500;font-size:clamp(52px,6.5vw,100px);line-height:.93;letter-spacing:-.055em;margin:0 0 35px}
.contact-links{border-top:1px solid var(--line)}
.contact-links a{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none}
.contact-links span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.contact-links strong{font-weight:500;font-size:14px}
.contact-links b{font-weight:400;color:var(--burgundy)}
.site-footer{background:#111;color:#ddd;padding:55px clamp(24px,7vw,120px);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.footer-brand{width:105px}
.footer-brand img{width:100%;display:block}
.footer-right{display:flex;gap:35px;align-items:center;font-size:11px;color:#888}
.footer-nav{display:flex;gap:25px}
.footer-nav a,.footer-legal a{color:#bbb;text-decoration:none}
.footer-nav a:hover,.footer-legal a:hover{color:white}
.footer-legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;flex-wrap:wrap;gap:10px 25px;align-items:center;font-size:10px}
.page-hero{padding-top:210px;padding-bottom:120px;border-bottom:1px solid var(--line)}
.page-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(72px,12vw,180px);line-height:.82;letter-spacing:-.065em;margin:35px 0 0;max-width:1100px}
.page-hero p{max-width:580px;margin:45px 0 0;font-size:16px;line-height:1.8;color:var(--muted)}
.about-profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:12vw;padding-top:130px;padding-bottom:145px}
.profile-label{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--burgundy)}
.profile-name{font-family:var(--serif);font-size:clamp(48px,6vw,86px);line-height:.95;letter-spacing:-.05em;margin:25px 0}
.profile-role{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.profile-copy p{font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 25px}
.profile-quote{font-family:var(--serif);font-size:clamp(30px,4vw,55px);line-height:1.05;letter-spacing:-.035em;margin:55px 0 0}
.credibility{background:#ebe7df;padding-top:120px;padding-bottom:120px}
.cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px;border-top:1px solid var(--line)}
.cred-item{padding:28px 30px 0 0;border-right:1px solid var(--line);min-height:220px}
.cred-item:not(:first-child){padding-left:30px}
.cred-item:last-child{border-right:0}
.cred-item h3{font-family:var(--serif);font-size:31px;font-weight:500;margin:30px 0 15px}
.cred-item p{font-size:13px;line-height:1.7;color:var(--muted);max-width:310px}
.portfolio-page{padding-top:90px;padding-bottom:145px}
.portfolio-list{border-top:1px solid var(--line)}
.portfolio-row{display:grid;grid-template-columns:70px 1.1fr 1fr 160px;gap:35px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:.25s}
.portfolio-row:hover{padding-left:12px;padding-right:12px;background:rgba(116,19,27,.04)}
.portfolio-row .num,.portfolio-row .type{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.portfolio-row h2{font-family:var(--serif);font-size:clamp(34px,4vw,62px);font-weight:500;letter-spacing:-.045em;margin:0}
.portfolio-row p{font-size:13px;line-height:1.65;color:var(--muted);margin:0;max-width:440px}
.portfolio-row .arrow{text-align:right;color:var(--burgundy)}
.careers-hero{min-height:78vh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:180px;padding-bottom:95px}
.careers-hero .hero-title{margin-bottom:45px}
.careers-hero-bottom{max-width:520px}
.careers-main{padding-top:120px;padding-bottom:130px}
.careers-intro{display:grid;grid-template-columns:1fr .75fr;gap:10vw;margin:60px 0 65px;align-items:end}
.careers-intro h2,.careers-cta h2{font-family:var(--serif);font-size:clamp(54px,6vw,90px);font-weight:500;line-height:.93;letter-spacing:-.055em;margin:0}
.job-card{border:1px solid var(--line);background:white;padding:35px;display:grid;grid-template-columns:82px 1fr 270px;gap:40px;align-items:start;transition:.35s}
.job-card:hover{box-shadow:0 22px 65px rgba(21,20,20,.09);transform:translateY(-4px)}
.job-brand{width:72px;height:72px;border-radius:16px;overflow:hidden;background:#050505}
.job-brand img{width:100%;height:100%;object-fit:cover}
.job-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--burgundy);font-weight:600;margin-bottom:17px}
.job-title{font-family:var(--serif);font-size:clamp(36px,4vw,58px);line-height:.96;font-weight:500;letter-spacing:-.045em;margin:0 0 20px}
.job-meta{display:flex;flex-wrap:wrap;gap:8px}
.job-meta span{border:1px solid var(--line);padding:7px 9px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.job-summary{font-size:14px;line-height:1.75;color:var(--muted);max-width:650px}
.job-side{border-left:1px solid var(--line);padding-left:28px}
.job-side strong{font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.job-side p{font-size:12px;line-height:1.7;color:var(--muted)}
.job-link{display:inline-flex;gap:15px;text-decoration:none;border-bottom:1px solid var(--ink);padding:12px 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-top:20px}
.careers-note{margin-top:28px;padding:25px 0;border-top:1px solid var(--line);display:flex;gap:40px}
.careers-note strong{font-size:10px;text-transform:uppercase;letter-spacing:.14em;min-width:180px}
.careers-note p{margin:0;color:var(--muted);font-size:12px;line-height:1.7;max-width:650px}
.careers-cta{background:#ebe7df;padding-top:120px;padding-bottom:130px}
.careers-cta-grid{display:grid;grid-template-columns:1fr .65fr;gap:10vw;margin-top:55px;align-items:end}
.legal-page{max-width:980px;margin:0 auto;padding:190px 30px 120px}
.legal-page h1{font-family:var(--serif);font-weight:500;font-size:clamp(62px,9vw,125px);line-height:.9;letter-spacing:-.06em;margin:35px 0 20px}
.legal-lead{color:var(--muted);font-size:12px;margin-bottom:80px}
.legal-toc{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:70px}
.legal-toc a{font-size:10px;text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--line);padding:9px 11px;text-decoration:none}
.legal-section{padding:34px 0;border-top:1px solid var(--line)}
.legal-section h2{font-family:var(--serif);font-weight:500;font-size:31px;letter-spacing:-.02em;margin:0 0 17px}
.legal-section h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:25px 0 10px}
.legal-section p,.legal-section li{max-width:780px;color:#5f5b58;font-size:14px;line-height:1.85}
.legal-section ul{padding-left:22px}
.legal-section a{color:var(--burgundy)}
.cookie-banner{
 position:fixed;left:clamp(18px,3vw,42px);right:clamp(18px,3vw,42px);
 bottom:clamp(18px,3vw,42px);z-index:100;background:#171616;color:#fff;
 border:1px solid rgba(255,255,255,.13);box-shadow:0 24px 80px rgba(0,0,0,.28);
 padding:22px 24px;display:none;grid-template-columns:minmax(0,1fr) auto;
 gap:28px;align-items:center;border-radius:2px
}
.cookie-banner.show{display:grid}
.cookie-banner p{max-width:850px;font-size:11px;line-height:1.7;letter-spacing:.01em;color:#d5d2ce;margin:0}
.cookie-banner a{color:#fff;text-underline-offset:3px}
.cookie-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.cookie-actions button{
 appearance:none;font:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.13em;
 padding:12px 17px;border:1px solid rgba(255,255,255,.32);background:transparent;color:#fff;
 cursor:pointer;border-radius:0;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease
}
.cookie-actions button:hover{background:#fff;color:#171616;border-color:#fff;transform:translateY(-1px)}
.cookie-actions .accept{background:var(--burgundy);border-color:var(--burgundy);color:#fff}
.cookie-actions .accept:hover{background:#8d1521;border-color:#8d1521;color:#fff}
.reveal{opacity:0;transform:translateY(18px);animation:rise .8s ease forwards}
.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}
@keyframes rise{to{opacity:1;transform:none}}
@media(max-width:760px){
 .cookie-banner{left:14px;right:14px;bottom:14px;grid-template-columns:1fr;gap:16px;padding:18px}
 .cookie-banner p{font-size:10.5px;line-height:1.65}
 .cookie-actions{justify-content:flex-end}
}
@media(max-width:1000px){
 .intro-grid,.approach-intro,.contact-grid,.about-profile,.careers-intro,.careers-cta-grid{grid-template-columns:1fr;gap:45px}
 .principles{grid-template-columns:1fr 1fr}
 .principles article:nth-child(2){border-right:0}
 .principles article:nth-child(3){padding-left:0;border-top:1px solid var(--line)}
 .principles article:nth-child(4){border-top:1px solid var(--line)}
 .job-card{grid-template-columns:72px 1fr}
 .job-side{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:25px 0 0}
 .portfolio-row{grid-template-columns:55px 1fr 160px}
 .portfolio-row p{grid-column:2}
}
@media(max-width:760px){
 .site-header{padding:18px 20px}.site-header.is-scrolled{padding:13px 20px}
 .brand{width:96px}.main-nav{position:absolute;top:0;right:0;left:0;background:rgba(247,245,241,.98);backdrop-filter:blur(18px);padding:100px 24px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:24px;transform:translateY(-110%);transition:.35s;box-shadow:0 20px 40px rgba(0,0,0,.08)}
 .main-nav.open{transform:none}.nav-contact{margin-top:4px}.menu-toggle{display:block;position:relative;z-index:2}
 .menu-toggle.active span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .hero{min-height:88vh;padding-bottom:55px}.hero-title{font-size:clamp(64px,19vw,115px);margin:28px 0 55px}
 .hero-bottom{align-items:flex-start}.circle-link{width:52px;height:52px;flex:none}
 .intro,.approach,.contact{padding-top:95px;padding-bottom:95px}.portfolio{padding-top:90px;padding-bottom:90px}
 .section-head{display:block}.section-head p{margin-top:22px;font-size:22px}
 .portfolio-grid{grid-template-columns:1fr}.portfolio-card{min-height:430px}
 .principles{grid-template-columns:1fr}.principles article,.principles article:not(:first-child){border-right:0;border-top:1px solid var(--line);padding:25px 0;min-height:auto}
 .principles article:first-child{border-top:0}
 .statement{padding-top:100px;padding-bottom:100px}
 .contact-links a{grid-template-columns:1fr auto}.contact-links strong{grid-column:1}.contact-links b{grid-column:2;grid-row:1/3}
 .site-footer{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px}.footer-right{align-items:flex-start;flex-direction:column;gap:18px}.footer-legal{flex-wrap:wrap}
 .page-hero{padding-top:160px;padding-bottom:85px}.page-hero h1{font-size:clamp(64px,18vw,110px)}
 .about-profile{padding-top:90px;padding-bottom:95px}.credibility{padding-top:90px;padding-bottom:90px}.cred-grid{grid-template-columns:1fr}
 .cred-item,.cred-item:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:25px 0;min-height:auto}
 .cred-item:last-child{border-bottom:0}
 .portfolio-page{padding-top:70px;padding-bottom:100px}.portfolio-row{grid-template-columns:40px 1fr 35px;gap:15px}.portfolio-row p{grid-column:2}.portfolio-row .type{display:none}
 .careers-hero{min-height:75vh;padding-top:160px;padding-bottom:70px}.careers-main{padding-top:90px;padding-bottom:100px}.job-card{grid-template-columns:1fr;padding:25px}.job-brand{margin-bottom:5px}.job-side{grid-column:auto;padding-top:22px}.careers-note{display:block}.careers-note p{margin-top:12px}
 .legal-page{padding:150px 24px 90px}.legal-page h1{font-size:clamp(58px,17vw,100px)}.legal-lead{margin-bottom:50px}
}


/* AIZennect portfolio feature */
.aizennect-card{grid-column:1 / -1;min-height:390px}
.aizennect-content{position:relative;display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.5fr);align-items:center;gap:clamp(32px,6vw,90px);flex:1;padding:36px 0}
.aizennect-logo-wrap{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(18,36,70,.08);padding:16px;border-radius:4px;overflow:hidden}
.aizennect-logo{display:block;width:100%;max-width:360px;height:auto;object-fit:contain}
.aizennect-card .card-main h3{font-size:clamp(34px,4.2vw,60px);max-width:760px}
.aizennect-card .card-main p{max-width:720px}
.aizennect-card .aizennect-funding{margin-top:22px;padding-top:17px;border-top:1px solid rgba(21,20,20,.16);font-size:12px;line-height:1.8;opacity:.9}
.aizennect-funding strong{font-weight:600}
@media(max-width:760px){
 .aizennect-card{grid-column:auto;min-height:0}
 .aizennect-content{grid-template-columns:1fr;gap:28px;padding:25px 0}
 .aizennect-logo-wrap{max-width:340px}
 .aizennect-card .card-main h3{font-size:clamp(36px,10vw,52px)}
}
