/* Base / reset / typography */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block;}audio,canvas,progress,video{display:inline-block;vertical-align:baseline;}audio:not([controls]){display:none;height:0;}[hidden],template{display:none;}a{background-color:transparent;}a:active,a:hover{outline:0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}h1{font-size:2em;margin:0.67em 0;}mark{background:#ff0;color:#000;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:1em 40px;}hr{box-sizing:content-box;height:0;}pre{overflow:auto;}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em;}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;}button{overflow:visible;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}input{line-height:normal;}input[type='checkbox'],input[type='radio']{box-sizing:border-box;padding:0;}input[type='number']::-webkit-inner-spin-button,input[type='number']::-webkit-outer-spin-button{height:auto;}input[type='search']{-webkit-appearance:none;}input[type='search']::-webkit-search-cancel-button,input[type='search']::-webkit-search-decoration{-webkit-appearance:none;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}textarea{overflow:auto;}optgroup{font-weight:bold;}table{border-collapse:collapse;border-spacing:0;}td,th{padding:0;}:root{--black:#0f0f0f;--white:#eee;--grey:grey;--dark-grey:#262626;--light-black:#131313;--red:#3292ff;--dark-red:#18467a;}body{background-color:var(--black);color:var(--white);font-family:Intertight,sans-serif;font-size:14px;font-weight:500;line-height:20px;}h1{letter-spacing:-.15rem;text-transform:uppercase;margin-top:0;margin-bottom:0;font-size:9rem;font-weight:700;line-height:85%;}h2{text-transform:uppercase;margin-top:0;margin-bottom:0;font-size:5rem;font-weight:700;line-height:90%;}h3{text-transform:uppercase;margin-top:0;margin-bottom:0;font-size:3rem;font-weight:700;line-height:100%;}h4{text-transform:uppercase;margin-top:0;margin-bottom:0;font-size:2rem;font-weight:700;line-height:110%;}h5{text-transform:uppercase;margin-top:0;margin-bottom:0;font-size:1.5rem;font-weight:700;line-height:120%;}h6{text-transform:uppercase;margin-top:0;margin-bottom:0;font-size:1rem;font-weight:700;line-height:140%;}p{margin-bottom:0;font-size:1.25rem;line-height:120%;}a{color:var(--white);cursor:pointer;text-decoration:underline;}ul,ol{margin-top:0;margin-bottom:10px;padding-left:40px;}img{object-fit:cover;width:100%;max-width:100%;height:100%;display:inline-block;}blockquote{border-left:5px solid #e2e2e2;margin-bottom:3rem;padding:10px 20px;font-size:18px;line-height:22px;}figure{margin-bottom:10px;}@font-face{font-family:'Intertight';src:url('../fonts/InterTight-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}@font-face{font-family:'Intertight';src:url('../fonts/InterTight-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}@font-face{font-family:'Intertight';src:url('../fonts/InterTight-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}

/* Main portfolio layout and components */
html{scroll-behavior:smooth;}.portfolio{--muted:#aaa;background-color:#0f0f0f;background-image:url('../images/background/background.png');background-size:cover;background-position:center top;background-repeat:no-repeat;background-attachment:fixed;color:#eee;margin:0;}.portfolio *,.portfolio *::before,.portfolio *::after{box-sizing:border-box;}.portfolio a{text-decoration:none;}.portfolio button,.portfolio a,.portfolio summary{-webkit-tap-highlight-color:transparent;}.portfolio :focus-visible{outline:2px solid #eee;outline-offset:6px;}.portfolio p{line-height:1.5;}.portfolio section[id],.portfolio article[id]{scroll-margin-top:6rem;}.portfolio-wrap{width:min(1360px,calc(100% - 80px));margin-inline:auto;}.portfolio-header{position:sticky;top:0;z-index:20;height:82px;padding:0 40px;display:flex;justify-content:space-between;align-items:center;background:rgb(15 15 15 / 96%);border-bottom:1px solid #262626;}.portfolio-brand{font-size:24px;letter-spacing:-1px;font-weight:700;}.portfolio-nav{display:flex;gap:38px;font-size:14px;}.portfolio-nav a{padding:12px 0;}.portfolio-nav a:hover,.text-link:hover{color:#aaa;}.skip-link{position:fixed;left:20px;top:-100px;padding:12px;background:#eee;color:#111;z-index:30;}.skip-link:focus{top:16px;}.eyebrow{font-size:12px !important;font-weight:500;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;}.portfolio-hero{padding-top:44px;}.hero-kicker{display:flex;justify-content:space-between;gap:20px;color:var(--muted);margin-bottom:28px;}.portfolio h1{font-size:clamp(50px,11.5vw,166px);letter-spacing:-.065em;line-height:.95;font-weight:700;margin:0 0 28px;}.hero-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:start;}.hero-discipline{font-size:clamp(22px,2.6vw,38px);line-height:1.1 !important;letter-spacing:-.025em;text-transform:uppercase;}.hero-description{font-size:18px;}.availability{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;color:var(--muted);}.availability span{width:6px;height:6px;border-radius:50%;background:#ddd;}.hero-actions{display:flex;align-items:center;gap:28px;margin:28px 0 38px;}.portfolio-button{display:inline-flex;justify-content:space-between;gap:48px;border:1px solid #eee;border-radius:99px;padding:14px 24px;background:#eee;color:#111;font-size:14px;}.portfolio-button:hover{background:#ccc;}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid #555;padding-bottom:5px;}.hero-film{margin:0;}.hero-film video{display:block;width:100%;aspect-ratio:16 / 8;object-fit:cover;object-position:center top;background:#191919;border-radius:4px;}.hero-film figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:12px;color:var(--muted);font-size:12px;}.portfolio-section{margin-top:110px;padding-top:24px;border-top:1px solid #393939;}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px;}.portfolio h2{font-size:clamp(40px,6.8vw,96px);letter-spacing:-.05em;line-height:.96;font-weight:700;margin:16px 0 0;}.section-note{color:var(--muted);font-size:15px;}.selection-count{vertical-align:top;display:inline-block;margin:8px 0 0 16px;font-size:16px;letter-spacing:-.02em;}.portfolio-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 24px;}.portfolio-project{min-width:0;scroll-margin-top:100px;}.portfolio-project--wide{grid-column:1 / -1;}.project-details summary{cursor:pointer;list-style:none;}.project-details summary::-webkit-details-marker{display:none;}.project-image{position:relative;background:#181818;overflow:hidden;border-radius:4px;}.project-image img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;display:block;transition:transform .5s ease;}.portfolio-project--wide .project-image img{aspect-ratio:16 / 8;}.project-details summary:hover img{transform:scale(1.025);}.project-open{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:42px;height:42px;background:#eee;color:#111;border-radius:50%;font-size:23px;}.project-details[open] .project-open{transform:rotate(90deg);}.project-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:17px;}.project-caption > div{display:flex;align-items:baseline;gap:12px;}.project-number{color:var(--muted);}.portfolio .project-caption h3{font-size:clamp(20px,2.3vw,32px);line-height:1.1;letter-spacing:-.035em;}.project-category{font-size:12px;color:var(--muted);text-align:right;}.project-content{border-top:1px solid #333;padding:24px 0 0;margin-top:22px;}.project-description{font-size:18px;max-width:740px;margin-top:12px;}.project-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:26px 0;}.project-facts dt,.tools-list dt{font-size:12px;color:var(--muted);margin-bottom:8px;}.project-facts dd{margin:0;font-size:15px;line-height:1.5;}.project-video{display:block;width:100%;height:auto;max-height:none;background:#080808;}.about-section{display:grid;grid-template-columns:.8fr 1fr;gap:10%;align-items:start;}.about-portrait img{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:4px;}.about-portrait p{margin-top:14px;color:var(--muted);}.about-copy h2{font-size:clamp(38px,4.5vw,64px);}.about-copy > p:not(.eyebrow){margin-top:24px;color:var(--muted);font-size:18px;max-width:550px;}.about-copy .about-lead{color:#eee !important;font-size:25px !important;line-height:1.35;margin-top:36px !important;}.about-copy .text-link{margin-top:28px;}.capabilities-section,.tools-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;}.capabilities-section h2,.tools-section h2{font-size:clamp(40px,5vw,70px);}.capabilities-list{list-style:none;padding:0;margin:0;}.capabilities-list li{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-top:1px solid #393939;font-size:clamp(22px,2.6vw,36px);letter-spacing:-.025em;}.capabilities-list li span:last-child{font-size:11px;color:var(--muted);}.tools-list{margin:0;}.tools-list > div{border-top:1px solid #393939;padding:18px 0;}.tools-list dd{margin:0;font-size:21px;line-height:1.4;}.contact-section{padding-bottom:70px;}.contact-section h2{font-size:clamp(50px,10vw,144px);}.contact-arrow{display:inline-block;margin-left:30px;font-weight:400;}.contact-bottom{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-top:42px;}.contact-bottom p{color:var(--muted);font-size:16px;}.contact-email{display:inline-block;margin-top:24px;font-size:clamp(20px,3vw,40px);letter-spacing:-.025em;border-bottom:1px solid #555;padding-bottom:8px;}.contact-socials p{margin-top:24px;font-size:12px;}.portfolio-footer{border-top:1px solid #393939;padding:24px 0;display:flex;justify-content:space-between;gap:20px;color:var(--muted);}.portfolio-footer a,.portfolio-footer p{font-size:11px;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}@media (max-width:767px){.portfolio-wrap{width:calc(100% - 40px);}.portfolio-header{height:68px;padding:0 20px;}.portfolio-brand{font-size:21px;}.portfolio-nav{gap:18px;font-size:12px;}.portfolio-hero{padding-top:28px;}.hero-kicker{margin-bottom:24px;}.hero-kicker p:first-child{max-width:150px;}.hero-kicker p:last-child{text-align:right;}.eyebrow{font-size:10px !important;}.portfolio h1{font-size:clamp(42px,11.4vw,87px);letter-spacing:-.055em;margin-bottom:24px;}.hero-intro{grid-template-columns:1fr;gap:20px;}.hero-description{font-size:16px;}.hero-discipline{font-size:25px;}.hero-actions{gap:24px;margin:26px 0 30px;}.portfolio-button{gap:26px;padding:12px 20px;}.hero-film video{aspect-ratio:4 / 3;}.hero-film figcaption{font-size:10px;}.portfolio-section{margin-top:72px;padding-top:24px;}.section-heading{display:block;margin-bottom:28px;}.section-note{margin-top:22px;font-size:14px;}.portfolio h2{font-size:52px;}.portfolio-project-grid{grid-template-columns:minmax(0,1fr);gap:36px;}.portfolio-project--wide .project-image img{aspect-ratio:4 / 3;}.project-caption{gap:12px;}.project-category{font-size:10px;max-width:120px;}.project-facts{grid-template-columns:1fr;gap:18px;}.project-description{font-size:16px;}.about-section{grid-template-columns:1fr;gap:32px;}.about-portrait{max-width:380px;}.about-copy h2{font-size:44px;}.about-copy > p:not(.eyebrow){font-size:16px;}.about-copy .about-lead{font-size:22px !important;}.capabilities-section,.tools-section{grid-template-columns:1fr;gap:30px;}.capabilities-section h2,.tools-section h2{font-size:44px;}.contact-section{padding-bottom:44px;}.contact-section h2{font-size:clamp(39px,10vw,72px);}.contact-arrow{margin-left:10px;}.contact-bottom{display:block;margin-top:28px;}.contact-socials{margin-top:32px;display:flex;justify-content:space-between;align-items:center;}.contact-socials p{margin-top:0;}.portfolio-footer{flex-wrap:wrap;}.portfolio-footer p{display:none;}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.project-image img{transition:none;}.project-details summary:hover img{transform:none;}}.experience-entry{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-bottom:40px;}.experience-dates{font-size:16px;color:var(--muted);}.experience-entry h3{font-size:clamp(30px,4vw,56px);letter-spacing:-.035em;}.experience-role{font-size:22px;margin-top:12px;}.experience-description{font-size:18px;max-width:630px;color:var(--muted);margin-top:24px;}.experience-tools{font-size:13px;margin-top:24px;}.experience-tools span{padding-inline:10px;color:var(--muted);}.contact-socials{display:flex;flex-direction:column;align-items:flex-start;gap:14px;}.contact-socials p{margin-top:10px;}@media (max-width:767px){.hero-actions{gap:18px;}.portfolio-button{gap:20px;padding-inline:17px;}.experience-entry{grid-template-columns:1fr;gap:24px;}.experience-description{font-size:16px;}.contact-socials{flex-direction:row;flex-wrap:wrap;gap:24px;}.contact-socials p{width:100%;margin-top:0;}.experience-section h2{font-size:clamp(38px,10.5vw,70px);}}.portfolio-project-grid{align-items:start;}.project-video{aspect-ratio:auto;}.project-open{transition:transform .24s ease;}@media (prefers-reduced-motion:reduce){.project-open{transition:none;}}.project-panel{display:flow-root;}html.project-switching{overflow-anchor:none;}html.project-switching{scroll-behavior:auto;}@media (min-width:768px){.portfolio-project--wide .project-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;grid-template-rows:auto;align-items:start;}.portfolio-project--wide .project-copy{grid-column:1;}.portfolio-project--wide .project-video{grid-column:2;grid-row:1;width:100%;max-height:calc(100svh - 120px);object-fit:contain;background:transparent;}}

/* Interactive video galleries */

.project-media-stack {
  position: relative;
  width: min(88%, 640px);
  aspect-ratio: 4 / 5;
  margin: 28px auto 0;
  overflow: visible;
  cursor: pointer;
  isolation: isolate;
  touch-action: manipulation;
}

.stack-card {
  position: absolute;
  inset: 0;
  z-index: var(--stack-z, 0);
  transform:
    translate3d(var(--stack-x, 0px), var(--stack-y, 0px), 0)
    rotate(var(--stack-rotation, 0deg));
  transform-origin: center;
  transition: transform 430ms cubic-bezier(.22, 1, .36, 1);
  pointer-events: none;
}

.stack-card.is-top {
  pointer-events: auto;
}

.stack-card .project-video {
  width: 100%;
  height: 100%;
  margin: 0;
  display: block;
  object-fit: cover;
  background: #111;
}

@media (max-width: 767px) {
  .project-media-stack {
    width: 82%;
    margin-top: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .stack-card {
    transition-duration: 1ms;
  }
}

.capabilities-list li:first-child,
.tools-list > div:first-child {
  border-top: 0;
}

@media (min-width:768px) {
  .about-portrait {
    padding-top: 34px;
  }
}



/* Project groups and shared gallery layout */
.project-group-heading { grid-column: 1 / -1; border-top: 1px solid #393939; padding-top: 30px; margin-top: 10px; }
.project-group-heading h3 { font-size: clamp(23px, 3vw, 38px); letter-spacing: -.03em; }
.project-group-heading p { color: var(--muted); font-size: 15px; margin-top: 12px; }
.project-copy > .eyebrow { margin-top: 0; }
.tools-primary dd { font-size: clamp(23px, 2.4vw, 32px); }
.stack-count { position: absolute; bottom: 10px; right: 12px; z-index: 10; padding: 5px 9px; background: #0f0f0f; color: #eee; font-size: 12px; border-radius: 4px; pointer-events: none; }
@media (min-width: 768px) {
  .portfolio-project--wide .project-media-stack { grid-column: 2; grid-row: 1; margin-top: 18px; width: min(88%, calc((100svh - 160px) * .8)); }
  .portfolio-project--wide .stack-video { max-height: none; object-fit: cover; background: #111; }
}
@media (max-width: 767px) {
  .portfolio { background-attachment: scroll; }
  .portfolio-nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .project-category { font-size: 12px; }
  .desktop-break { display: none; }
}
.error-page { min-height: 70vh; padding-block: 80px; }
.error-page p { margin: 28px 0; }
