:root{--black:#050505;--ink:#0c0c0b;--paper:#f1ece3;--paper2:#e6ddd0;--grey:#777;--line-dark:rgba(0,0,0,.16);--line-light:rgba(255,255,255,.16);--display:Impact,'Arial Narrow Bold','Helvetica Neue Condensed Black',sans-serif;--body:Inter,Arial,Helvetica,sans-serif;--ease:cubic-bezier(.19,1,.22,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;font-family:var(--body);background:var(--black);color:var(--ink);text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}::selection{background:var(--black);color:var(--paper)}.skip-link{position:fixed;top:12px;left:12px;background:var(--paper);color:var(--black);padding:12px 16px;z-index:300;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--paper);z-index:150;mix-blend-mode:difference}.grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 260 260' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.cursor{position:fixed;width:10px;height:10px;border-radius:50%;background:var(--paper);z-index:250;pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s}.cursor.is-hover{width:34px;height:34px;opacity:.72}
.site-header{position:fixed;inset:0 0 auto;height:76px;z-index:120;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,62px);color:var(--black);mix-blend-mode:difference;filter:invert(1);transition:background .35s var(--ease),border .35s var(--ease),filter .35s}.site-header.scrolled{background:rgba(241,236,227,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.10);filter:none;mix-blend-mode:normal;color:var(--black)}.brand{display:flex;align-items:flex-start;gap:10px;font-weight:900;font-size:13px;line-height:.96;letter-spacing:-.06em}.nav{display:flex;align-items:center;gap:34px;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.07em}.nav a{position:relative}.nav a:not(.nav-button)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:currentColor;transition:width .32s var(--ease)}.nav a:hover::after,.nav a.is-active::after{width:100%}.nav-button{background:var(--black);color:var(--paper);border:1px solid var(--black);padding:13px 19px;transition:background .25s,color .25s}.nav-button:hover{background:transparent;color:var(--black)}.menu-button{display:none;background:none;border:0;color:inherit;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.mobile-menu{position:fixed;inset:0;background:var(--black);color:var(--paper);z-index:200;display:flex;flex-direction:column;padding:26px;transform:translateY(-100%);transition:transform .72s var(--ease)}.mobile-menu.open{transform:translateY(0)}.mobile-menu__top{display:flex;justify-content:space-between}.mobile-menu button{background:0;border:0;color:inherit;font-size:56px;line-height:.8}.mobile-menu nav{display:grid;gap:5px;margin-top:80px}.mobile-menu a{font-family:var(--display);font-size:clamp(56px,16vw,126px);line-height:.88;text-transform:uppercase}.mobile-menu p{margin-top:auto;color:#aaa}
.mark{display:flex;align-items:flex-end;color:currentColor}.mark i{display:block;background:currentColor;clip-path:polygon(38% 0,100% 0,62% 100%,0 100%)}.mark i:nth-child(2){clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.mark i:nth-child(3){clip-path:polygon(0 0,100% 0,64% 100%,0 100%)}.mark-small{gap:2px}.mark-small i{width:8px;height:22px}.mark-hero{position:absolute;right:clamp(18px,6vw,92px);top:18vh;gap:18px;opacity:.98;will-change:transform}.mark-hero i{width:clamp(92px,10vw,154px);height:clamp(342px,44vw,620px)}.mark-hero i:first-child,.mark-hero i:last-child{height:clamp(250px,32vw,470px)}.mark-mid{gap:8px;margin-top:84px}.mark-mid i{width:72px;height:164px}.mark-mid i:first-child,.mark-mid i:last-child{height:126px}.mark-footer{gap:5px}.mark-footer i{width:34px;height:72px}.mark-footer i:first-child,.mark-footer i:last-child{height:56px}
section{position:relative;overflow:hidden}.section-light{background:var(--paper);color:var(--black)}.section-black{background:var(--black);color:var(--paper)}.section-grid::before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.045) 1px,transparent 1px);background-size:25% 100%;pointer-events:none}.hero{min-height:100svh;padding:132px clamp(28px,5vw,76px) 0}.hero__copy{position:relative;z-index:3;max-width:880px;padding:9vh 0 16vh}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.19em;font-weight:900;color:var(--grey);margin:0 0 24px}.hero h1,.section-head h2,.process h2,.about h2,.contact h2{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.96;letter-spacing:.005em;margin:0}.hero h1{font-size:clamp(72px,12vw,172px)}.hero h1 span{display:block;clip-path:inset(0 0 100% 0);animation:headline .9s var(--ease) forwards}.hero h1 span:nth-child(2){animation-delay:.14s}@keyframes headline{to{clip-path:inset(0)}}.lead{font-size:clamp(16px,1.45vw,21px);line-height:1.45;max-width:520px;margin:34px 0;color:#30302f}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.button,.link{display:inline-flex;align-items:center;gap:13px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.button{padding:18px 24px;border:1px solid currentColor;transition:background .25s,color .25s,transform .25s var(--ease)}.button-dark{background:var(--black);color:var(--paper)}.button-dark:hover{background:transparent;color:var(--black)}.link span{transition:transform .25s var(--ease)}.link:hover span{transform:translateX(5px)}.ticker{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1.3fr repeat(4,1fr);border-top:1px solid var(--line-dark);z-index:4}.ticker span{padding:24px clamp(16px,2.8vw,44px);border-right:1px solid var(--line-dark);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#333}
.services,.work,.process,.about,.contact{padding:clamp(86px,11vw,158px) clamp(28px,5vw,76px)}.section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.72fr);gap:46px;align-items:end;margin-bottom:64px;position:relative;z-index:2}.section-head h2,.process h2,.about h2,.contact h2{font-size:clamp(58px,7.8vw,124px)}.section-head>p{font-size:17px;line-height:1.52;max-width:480px;margin:0}.service-list{border-top:1px solid var(--line-dark);position:relative;z-index:2}.service-row{display:grid;grid-template-columns:80px minmax(215px,.5fr) minmax(280px,1fr) 170px;gap:28px;align-items:center;padding:36px 0;border-bottom:1px solid var(--line-dark)}.service-row>span,.step>span{font-weight:900;color:#6e6e6e}.service-row h3,.step h3{font-size:25px;margin:0}.service-row p,.step p,.about__copy p,.contact__copy p{line-height:1.56;margin:0;color:#363636}.service-row a{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;transition:transform .25s}.service-row a:hover{transform:translateX(4px)}
.work .section-head>p,.about__copy p{color:#d0d0d0}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.case-card{background:#101010;border:1px solid var(--line-light);padding:34px;min-height:440px;display:flex;flex-direction:column;position:relative;isolation:isolate;transition:transform .38s var(--ease),border-color .38s var(--ease),background .38s var(--ease)}.case-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 38%);opacity:0;z-index:-1;transition:opacity .35s}.case-card:hover{transform:translateY(-9px);background:#151515;border-color:rgba(255,255,255,.48)}.case-card:hover:before{opacity:1}.case-card p{font-size:11px;text-transform:uppercase;color:#aaa;font-weight:900;letter-spacing:.08em;margin:0}.case-card strong{font-family:var(--display);font-size:clamp(76px,7vw,118px);font-weight:400;line-height:1;margin-top:44px}.case-card h3{text-transform:uppercase;font-size:24px;margin:8px 0 28px}.case-card span{color:#bdbdbd;line-height:1.55;margin-bottom:auto}.case-card a{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-top:34px}.proof{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.proof__item{padding:42px clamp(24px,4vw,58px);border-right:1px solid var(--line-light)}.proof__item:last-child{border-right:0}.proof__item span{font-family:var(--display);font-size:clamp(44px,5vw,78px);line-height:.95}.proof__item p{color:#bbb;line-height:1.45;margin:14px 0 0}.process{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px}.steps{border-top:1px solid var(--line-dark)}.step{display:grid;grid-template-columns:78px 180px 1fr;gap:28px;padding:36px 0;border-bottom:1px solid var(--line-dark)}.step h3{text-transform:uppercase}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.principles{border-left:1px solid var(--line-light);padding-left:38px}.principles p{font-family:var(--display);font-size:clamp(34px,4vw,70px);line-height:.98;text-transform:uppercase;margin:0 0 18px}.contact{display:grid;grid-template-columns:.86fr 1fr;gap:80px}.contact__copy ul{list-style:none;padding:0;margin:38px 0 0}.contact__copy li{padding:18px 0;border-bottom:1px solid var(--line-dark);font-weight:900}.contact-form{display:grid;gap:20px}.contact-form label{display:grid;gap:9px;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line-dark);background:transparent;color:var(--black);padding:18px;outline:0;transition:border-color .25s,background .25s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--black);background:rgba(0,0,0,.035)}.contact-form textarea{height:170px;resize:vertical}.contact-form button{background:var(--black);color:var(--paper);border:1px solid var(--black);padding:20px;text-transform:uppercase;font-weight:900;cursor:pointer;transition:background .25s,color .25s,transform .25s}.contact-form button:hover{background:transparent;color:var(--black)}.footer{display:grid;grid-template-columns:160px 1fr 1fr 1fr;gap:60px;padding:72px clamp(28px,5vw,76px);border-top:1px solid var(--line-light);font-size:14px}.footer nav{display:grid;gap:10px}.reveal{opacity:0;transform:translateY(34px);transition:opacity .82s ease,transform .82s var(--ease)}.reveal.in-view{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.cursor{display:none}}
@media(max-width:980px){body{cursor:auto}.cursor{display:none}.nav{display:none}.menu-button{display:block}.site-header{filter:none;mix-blend-mode:normal;color:var(--black)}.hero{padding:112px 28px 0}.hero__copy{padding:7vh 0 11vh}.mark-hero{right:-118px;top:auto;bottom:120px;opacity:.09}.ticker{position:relative;margin:52px -28px 0;grid-template-columns:1fr 1fr}.section-head,.process,.about,.contact{grid-template-columns:1fr}.services,.work,.process,.about,.contact{padding:82px 28px}.service-row{grid-template-columns:52px 1fr}.service-row p,.service-row a{grid-column:2}.case-grid,.proof{grid-template-columns:1fr}.proof__item{border-right:0;border-bottom:1px solid var(--line-light)}.proof__item:last-child{border-bottom:0}.step{grid-template-columns:52px 1fr}.step p{grid-column:2}.principles{border-left:0;padding-left:0}.footer{grid-template-columns:1fr}.hero h1{font-size:76px}.section-head h2,.process h2,.about h2,.contact h2{font-size:60px}.case-card{min-height:360px}}
@media(max-width:520px){.hero h1{font-size:62px}.section-head h2,.process h2,.about h2,.contact h2{font-size:50px}.ticker{grid-template-columns:1fr}.button{width:100%;justify-content:center}.mobile-menu a{font-size:56px}}

/* v4 overlap fixes: stronger grid containment, safer wrapping and responsive service rows */
.section-head > *,
.service-row > *,
.step > *,
.case-card,
.proof__item,
.contact__copy,
.contact-form,
.footer > * {
  min-width: 0;
}

.section-head > p {
  overflow-wrap: anywhere;
}

.service-row {
  grid-template-columns: 64px minmax(180px, .55fr) minmax(0, 1.35fr) minmax(180px, max-content);
  column-gap: clamp(20px, 3vw, 46px);
}

.service-row p {
  max-width: 680px;
  overflow-wrap: anywhere;
}

.service-row a {
  justify-self: end;
  white-space: nowrap;
  line-height: 1.2;
  padding-left: 18px;
}

.case-card strong,
.proof__item span {
  overflow-wrap: normal;
}

@media(max-width:1180px){
  .service-row {
    grid-template-columns: 58px minmax(190px,.7fr) minmax(0,1fr);
    row-gap: 12px;
  }
  .service-row a {
    grid-column: 3;
    justify-self: start;
    padding-left: 0;
    margin-top: 4px;
  }
}

@media(max-width:760px){
  .section-head { gap: 28px; }
  .service-row {
    grid-template-columns: 48px 1fr;
    gap: 12px 18px;
    align-items:start;
  }
  .service-row h3,
  .service-row p,
  .service-row a {
    grid-column: 2;
  }
  .service-row a {
    justify-self:start;
    white-space: normal;
  }
  .step {
    align-items:start;
  }
  .mark-mid { margin-top: 44px; opacity: .16; }
}

@media(max-width:420px){
  .hero h1{font-size:54px;}
  .lead{font-size:15px;}
  .section-head h2,.process h2,.about h2,.contact h2{font-size:44px;}
  .case-card{padding:26px;}
  .case-card strong{font-size:64px;}
}

/* v4 mobile hero fix: do not let the oversized mark sit behind headline text */
@media(max-width:760px){
  .mark-hero{display:none;}
  .hero__copy{padding-bottom:8vh;}
}

/* v6 education + blog expansion */
.nav{gap:clamp(18px,2.4vw,34px)}
.education,.blog{padding:clamp(86px,11vw,158px) clamp(28px,5vw,76px)}
.education .section-head>p{color:#d0d0d0}
.education-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;position:relative;z-index:2}
.education-feature{min-height:520px;border:1px solid var(--line-light);background:#101010;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative;isolation:isolate;transition:transform .38s var(--ease),border-color .38s var(--ease),background .38s var(--ease)}
.education-feature:before{content:"";position:absolute;right:-18%;top:-8%;width:62%;height:118%;background:currentColor;opacity:.08;clip-path:polygon(38% 0,100% 0,62% 100%,0 100%);z-index:-1;transform:rotate(0deg)}
.education-feature:hover{transform:translateY(-8px);background:#151515;border-color:rgba(255,255,255,.46)}
.education-feature h3{font-family:var(--display);font-size:clamp(48px,6vw,96px);line-height:.95;text-transform:uppercase;font-weight:400;margin:0 0 24px}
.education-feature p:not(.eyebrow){max-width:560px;color:#c7c7c7;line-height:1.55;margin:0 0 34px}
.education-feature a{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.education-modules{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-light);border-left:1px solid var(--line-light)}
.module{min-height:260px;padding:34px;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);display:flex;flex-direction:column;justify-content:space-between}
.module span{font-weight:900;color:#aaa}.module h3{text-transform:uppercase;font-size:24px;margin:42px 0 12px}.module p{color:#bdbdbd;line-height:1.5;margin:0}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;z-index:2}
.blog-card{border:1px solid var(--line-dark);padding:34px;min-height:380px;background:rgba(255,255,255,.12);display:flex;flex-direction:column;transition:transform .38s var(--ease),background .38s var(--ease),border-color .38s var(--ease)}
.blog-card:hover{transform:translateY(-8px);background:var(--paper2);border-color:rgba(0,0,0,.38)}
.blog-card p{font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;color:#666;margin:0 0 52px}.blog-card h3{font-family:var(--display);font-size:clamp(34px,4vw,58px);line-height:.98;text-transform:uppercase;font-weight:400;margin:0 0 24px}.blog-card span{line-height:1.55;color:#3f3f3e;margin-bottom:auto}.blog-card a{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-top:34px}
@media(max-width:1180px){.education-layout{grid-template-columns:1fr}.education-feature{min-height:420px}.blog-grid{grid-template-columns:1fr}.blog-card{min-height:300px}.nav{gap:18px;font-size:10px}.nav-button{padding:12px 15px}}
@media(max-width:760px){.education,.blog{padding:82px 28px}.education-modules{grid-template-columns:1fr}.education-feature{min-height:390px;padding:30px}.module{min-height:220px;padding:28px}.blog-card{padding:28px}}
/* Mobile hardening: stop CSS grid blow-out from long display headings (desktop untouched) */
@media(max-width:980px){
  .education-layout,.education-modules,.education-layout>*,.education-modules>*{min-width:0}
  .education-feature h3{font-size:clamp(34px,8.5vw,56px);overflow-wrap:break-word;word-break:break-word}
  .education-feature p:not(.eyebrow){max-width:100%}
  /* Homepage education modules use inline 3-col grid; stack them on mobile */
  .education-modules .module{grid-template-columns:1fr!important;gap:6px!important;padding:24px 0!important}
  .education-modules .module h3{font-size:21px}
}
