:root{
  --ink:#121926;
  --ink-soft:#616b78;
  --paper:#f6f0e6;
  --paper-2:#ece3d6;
  --line:rgba(18,25,38,.12);
  --line-soft:rgba(255,255,255,.14);
  --night:#07111f;
  --night-2:#0b172a;
  --night-3:#12243d;
  --white:#fffdf8;
  --coral:#e57f65;
  --gold:#d8b07a;
  --cyan:#79cada;
  --shadow:0 30px 80px rgba(8,15,26,.16);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  font-family:"Space Grotesk",system-ui,sans-serif;
  line-height:1.55;
  overflow-x:hidden;
}
body.theme-night{
  background:
    radial-gradient(circle at 10% 8%, rgba(229,127,101,.12), transparent 20%),
    radial-gradient(circle at 88% 18%, rgba(121,202,218,.15), transparent 24%),
    linear-gradient(180deg,#08111d 0%,#0a1728 16%,#f6f0e6 16.1%,#f6f0e6 100%);
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}

.shell{width:min(1240px,calc(100% - 40px));margin-inline:auto}

.site-header{
  position:fixed;
  top:16px;
  left:50%;
  transform:translateX(-50%);
  z-index:100;
  width:min(1240px,calc(100% - 28px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(7,17,31,.42);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 50px rgba(0,0,0,.16);
}
.brand img{height:32px}
.site-nav{
  display:flex;
  align-items:center;
  gap:22px;
  color:rgba(255,255,255,.82);
  font-size:14px;
}
.site-nav a{position:relative}
.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:1px;
  transform:scaleX(0);
  transform-origin:left;
  background:rgba(255,255,255,.7);
  transition:transform .22s ease;
}
.site-nav a:hover::after{transform:scaleX(1)}
.nav-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:14px;
  font-weight:600;
  transition:transform .2s ease, background .2s ease;
}
.nav-button:hover{transform:translateY(-1px);background:rgba(255,255,255,.08)}
.dark-button{
  border-color:rgba(18,25,38,.16);
  background:linear-gradient(135deg,#13263f,#2b486d);
  color:#fff;
}

.overline{
  margin:0 0 16px;
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:700;
  color:rgba(255,255,255,.58);
}
.overline-coral{color:var(--coral)}
.ghost-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
}
.ghost-link::after{content:"+";font-size:18px;line-height:1}
.dark-link{color:var(--ink)}

.hero-reference{
  position:relative;
  min-height:100vh;
  padding:120px 0 84px;
  overflow:hidden;
  background:
    radial-gradient(circle at 70% 32%, rgba(255,255,255,.08), transparent 18%),
    radial-gradient(circle at 28% 66%, rgba(229,127,101,.12), transparent 18%),
    linear-gradient(180deg,var(--night) 0%,var(--night-2) 48%,var(--night-3) 100%);
}
.hero-reference::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle at center, rgba(255,255,255,.8) 0 1px, transparent 1px);
  background-size:150px 150px;
  opacity:.12;
}
.hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(420px,1.28fr);
  gap:24px;
  align-items:center;
  min-height:calc(100vh - 204px);
}
.hero-copy{
  position:relative;
  color:#fff;
  padding:20px 0 120px;
}
.hero-copy h1{
  margin:0;
  font-family:"Instrument Serif",serif;
  font-size:clamp(74px,8vw,126px);
  line-height:.88;
  font-weight:400;
  letter-spacing:-.06em;
}
.hero-text{
  max-width:300px;
  margin:26px 0 28px;
  color:rgba(255,255,255,.76);
  font-size:21px;
}
.inline-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-weight:700;
}
.inline-link::after{
  content:"+";
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(229,127,101,.7);
  border-radius:50%;
  color:var(--coral);
}
.scroll-cue{
  position:absolute;
  left:0;
  bottom:10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.58);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.scroll-cue i{
  position:relative;
  width:1px;
  height:60px;
  background:rgba(255,255,255,.36);
}
.scroll-cue i::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-12px;
  width:10px;
  height:10px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  transform:translateX(-50%);
}

.hero-visual{
  position:relative;
  min-height:720px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(220px,.72fr);
  gap:18px;
  align-items:end;
}
.hero-frame,
.hero-stack{
  position:relative;
  z-index:1;
}
.hero-frame{
  min-height:580px;
  padding:18px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  backdrop-filter:blur(16px);
  box-shadow:0 50px 120px rgba(0,0,0,.24);
  transform:translateY(calc(var(--hero-progress, 0) * 12px));
}
.hero-frame .hero-case{height:100%}
.hero-frame::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  pointer-events:none;
}
.hero-stack{
  display:grid;
  gap:18px;
  align-self:center;
  transform:translateY(calc(var(--hero-progress, 0) * -10px));
}
.hero-case{
  position:relative;
  min-height:100%;
  padding:24px;
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(10,17,31,.14), rgba(10,17,31,.4)),
    linear-gradient(135deg, rgba(121,202,218,.18), rgba(229,127,101,.14));
  background-size:cover;
  background-position:center;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 28px 90px rgba(0,0,0,.22);
}
.hero-case.compact{
  min-height:210px;
  padding:20px;
}
.hero-case::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  background:linear-gradient(180deg, rgba(7,17,31,0), rgba(7,17,31,.72));
  pointer-events:none;
}
.hero-case-meta,
.hero-case p{
  position:relative;
  z-index:1;
}
.hero-case-meta span{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-case-meta strong{
  display:block;
  margin-top:20px;
  max-width:12ch;
  color:#fff;
  font-family:"Instrument Serif",serif;
  font-size:clamp(44px,4vw,72px);
  line-height:.9;
  font-weight:400;
}
.hero-case.compact .hero-case-meta strong{
  font-size:32px;
}
.hero-case p{
  max-width:18rem;
  margin:0;
  color:rgba(255,255,255,.8);
  font-size:16px;
}
.hero-metric{
  position:absolute;
  max-width:220px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.06);
  color:#fff;
  backdrop-filter:blur(14px);
}
.hero-metric span{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.54);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.hero-metric strong{font-size:16px;line-height:1.3}
.hero-metric-a{left:-4%;top:12%}
.hero-metric-b{right:-2%;top:20%}
.hero-note{
  position:absolute;
  left:3%;
  bottom:6%;
  max-width:240px;
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:14px;
}

.marquee-band{
  position:relative;
  z-index:1;
  margin-top:24px;
  padding-top:26px;
}
.marquee-track{
  display:flex;
  gap:34px;
  flex-wrap:wrap;
  align-items:center;
  color:rgba(255,255,255,.82);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.18em;
}

.section-light{
  position:relative;
  background:var(--paper);
}
.section-dark{
  position:relative;
  background:linear-gradient(180deg,var(--night) 0%,var(--night-2) 100%);
  color:#fff;
}
.curve{
  height:86px;
  color:inherit;
}
.curve::before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:currentColor;
}
.curve-light-top{color:var(--paper)}
.curve-dark-top{color:var(--night)}
.curve-light-top::before{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1440v34c-110 40-245 60-404 60-148 0-256-28-374-28-147 0-271 44-416 44C126 110 65 99 0 76V0Z' fill='black'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1440v34c-110 40-245 60-404 60-148 0-256-28-374-28-147 0-271 44-416 44C126 110 65 99 0 76V0Z' fill='black'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
.curve-dark-top::before{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1440v40c-145 28-254 42-329 42-147 0-244-26-371-26-145 0-286 54-458 54-111 0-205-18-282-54V0Z' fill='black'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath d='M0 0h1440v40c-145 28-254 42-329 42-147 0-244-26-371-26-145 0-286 54-458 54-111 0-205-18-282-54V0Z' fill='black'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}

.services-preview{padding-bottom:110px}
.section-intro{padding-top:16px;margin-bottom:34px}
.section-intro h2,.company-copy h2,.portfolio-page-spotlight h2{
  margin:0;
  font-family:"Instrument Serif",serif;
  font-size:clamp(48px,5vw,80px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.05em;
}
.service-story-list{
  display:grid;
  gap:36px;
}
.service-story{
  display:grid;
  grid-template-columns:minmax(0,.52fr) minmax(0,1.48fr);
  gap:24px;
  align-items:start;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.service-story-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.service-story-head h3{
  margin:0;
  font-family:"Instrument Serif",serif;
  font-size:40px;
  font-weight:400;
  line-height:.92;
}
.service-story-head span{color:rgba(18,25,38,.45);font-size:20px}
.service-story p{
  margin:0;
  color:var(--ink-soft);
  font-size:17px;
}
.service-preview-pair{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.preview-card{
  position:relative;
  min-height:240px;
  padding:18px;
  border-radius:24px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(10,17,31,.18), rgba(10,17,31,.42)),
    linear-gradient(135deg, rgba(121,202,218,.18), rgba(229,127,101,.18));
  background-size:cover;
  background-position:center;
  box-shadow:var(--shadow);
}
.preview-card.large{min-height:320px}
.preview-card::after{
  content:"+";
  position:absolute;
  right:18px;
  bottom:18px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  color:#fff;
}
.preview-card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.preview-card-tags span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}
.preview-card h4{
  position:absolute;
  left:18px;
  bottom:20px;
  right:70px;
  margin:0;
  color:#fff;
  font-family:"Instrument Serif",serif;
  font-size:34px;
  line-height:.92;
  font-weight:400;
}

.capabilities{padding-bottom:90px}
.capabilities-grid{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:30px;
  padding-top:10px;
}
.capabilities-copy h2{
  margin:0 0 18px;
  font-family:"Instrument Serif",serif;
  font-size:clamp(48px,5vw,78px);
  font-weight:400;
  line-height:.94;
}
.capabilities-copy p{
  max-width:320px;
  color:rgba(255,255,255,.7);
  font-size:18px;
}
.capabilities-list{
  display:grid;
  gap:14px;
}
.capabilities-list article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:20px 0;
  border-bottom:1px solid var(--line-soft);
}
.capabilities-list span{
  color:rgba(255,255,255,.45);
  font-size:18px;
}
.capabilities-list h3{
  margin:0;
  font-family:"Instrument Serif",serif;
  font-size:36px;
  font-weight:400;
}
.capability-tags{
  width:min(1240px,calc(100% - 40px));
  margin:28px auto 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.service-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:13px;
}
.service-chip strong{font-size:12px;color:rgba(255,255,255,.6)}

.stats-company{padding-bottom:110px}
.stats-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:34px;
  padding-top:10px;
}
.stats-cluster{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.stat-card{
  min-height:220px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.48);
}
.stat-card:last-child{grid-column:span 2}
.stat-card strong{
  display:block;
  margin-bottom:16px;
  font-size:58px;
  line-height:1;
}
.stat-card p{
  margin:0;
  color:var(--ink-soft);
  font-size:16px;
}
.company-copy p{
  color:var(--ink-soft);
  font-size:18px;
}

.home-portfolio{padding-bottom:90px}
.home-portfolio-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:26px;
}
.home-portfolio-head h2,.insights-head h2{
  margin:0;
  font-family:"Instrument Serif",serif;
  font-size:clamp(46px,5vw,76px);
  font-weight:400;
  line-height:.94;
}
.home-portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.home-portfolio-grid .preview-card:nth-child(1){grid-column:span 2;min-height:320px}
.home-portfolio-grid .preview-card:nth-child(4){grid-column:span 2}

.insights{padding-bottom:96px}
.insights-head{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:24px;
  align-items:end;
  margin-bottom:24px;
}
.insights-head p:last-child{
  margin:0;
  color:var(--ink-soft);
  font-size:18px;
}
.insight-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.insight-card{
  min-height:240px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.48);
}
.insight-card span{
  display:block;
  margin-bottom:18px;
  color:var(--coral);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.insight-card h3{
  margin:0;
  font-family:"Instrument Serif",serif;
  font-size:34px;
  line-height:.98;
  font-weight:400;
}

.cta-strip{padding-bottom:84px}
.cta-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:28px;
  align-items:end;
}
.cta-copy h2{
  margin:0 0 24px;
  max-width:11ch;
  color:#fff;
  font-family:"Instrument Serif",serif;
  font-size:clamp(46px,5vw,74px);
  font-weight:400;
  line-height:.94;
}
.cta-visual{
  min-height:340px;
  border-radius:28px;
  background:
    radial-gradient(circle at 72% 78%, rgba(255,193,138,.4), rgba(255,193,138,0) 18%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)),
    linear-gradient(180deg,#0d1726 0%,#15243a 100%);
}

.page-hero{
  padding:150px 0 86px;
  color:#fff;
  background:linear-gradient(180deg,var(--night) 0%,var(--night-2) 100%);
}
.page-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:24px;
  align-items:end;
}
.page-hero h1{
  margin:0;
  font-family:"Instrument Serif",serif;
  font-size:clamp(54px,6vw,92px);
  line-height:.92;
  font-weight:400;
}
.page-hero p:last-child{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:19px;
}

.portfolio-page-content{padding-bottom:100px}
.portfolio-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:26px;
}
.portfolio-stats article{
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.48);
}
.portfolio-stats strong{
  display:block;
  font-size:42px;
  line-height:1;
}
.portfolio-stats span{color:var(--ink-soft)}

.portfolio-page-spotlight{
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);
  gap:24px;
  align-items:stretch;
  margin-bottom:26px;
}
.spotlight-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.portfolio-page-spotlight h2{
  margin:0 0 12px;
  font-family:"Instrument Serif",serif;
  font-size:clamp(40px,4vw,68px);
  font-weight:400;
  line-height:.92;
}
.spotlight-copy p{
  margin:0 0 14px;
  color:var(--ink-soft);
}
.spotlight-claim{color:var(--ink)!important;font-weight:700}
.spotlight-media{
  min-height:460px;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(10,17,31,.16), rgba(10,17,31,.34)),
    linear-gradient(135deg, rgba(121,202,218,.18), rgba(229,127,101,.18));
  background-size:cover;
  background-position:center;
  box-shadow:var(--shadow);
}
.spotlight-actions{display:flex;flex-wrap:wrap;gap:12px}

.filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:24px;
}
.filter-btn{
  border:1px solid var(--line);
  background:rgba(255,255,255,.5);
  color:rgba(18,25,38,.78);
  border-radius:999px;
  padding:10px 14px;
  cursor:pointer;
  font-weight:700;
}
.filter-btn.active,.filter-btn:hover{
  background:var(--night);
  border-color:var(--night);
  color:#fff;
}

.portfolio-grid{
  display:grid;
  gap:18px;
}
.portfolio-grid-editorial{
  grid-template-columns:repeat(3,1fr);
}
.portfolio-card{
  display:flex;
  flex-direction:column;
  min-height:360px;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  background:rgba(255,255,255,.62);
  box-shadow:var(--shadow);
  transition:transform .2s ease, box-shadow .2s ease;
}
.portfolio-card:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 60px rgba(8,15,26,.18);
}
.portfolio-grid-editorial .portfolio-card:nth-child(2){grid-column:span 2;min-height:420px}
.portfolio-grid-editorial .portfolio-card:nth-child(4){grid-column:span 2}
.portfolio-cover{
  position:relative;
  min-height:220px;
  background:
    linear-gradient(180deg, rgba(10,17,31,.16), rgba(10,17,31,.38)),
    linear-gradient(135deg, rgba(121,202,218,.18), rgba(229,127,101,.18));
  background-size:cover;
  background-position:center;
}
.project-category{
  position:absolute;
  left:18px;
  top:18px;
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
}
.portfolio-card-content{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:14px;
  padding:22px;
}
.portfolio-card h3{
  margin:0;
  font-family:"Instrument Serif",serif;
  font-size:38px;
  line-height:.94;
  font-weight:400;
}
.project-claim{
  margin:0;
  color:var(--ink);
  font-weight:700;
}
.portfolio-card p:last-of-type{
  margin:0;
  color:var(--ink-soft);
}
.tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tag{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.58);
  color:var(--ink-soft);
  font-size:12px;
}
.open-project{
  margin-top:auto;
  padding:0;
  border:0;
  background:transparent;
  color:var(--night);
  text-align:left;
  font-weight:700;
  cursor:pointer;
}
.portfolio-error{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.64);
  color:var(--ink-soft);
}

.modal{position:fixed;inset:0;z-index:200;display:none}
.modal.open{display:block}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,15,26,.68);
  backdrop-filter:blur(10px);
}
.modal-panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(920px,calc(100% - 28px));
  max-height:88vh;
  overflow:auto;
  padding:30px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(180deg,rgba(255,251,246,.98),rgba(247,241,232,.96));
  box-shadow:0 40px 120px rgba(0,0,0,.34);
}
.modal-close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  font-size:20px;
}
.modal-panel h2{
  margin:0 0 12px;
  font-family:"Instrument Serif",serif;
  font-size:52px;
  line-height:.92;
  font-weight:400;
}
.modal-claim{margin:0 0 18px;color:var(--ink-soft);font-size:18px}
.modal-cover{
  min-height:260px;
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(10,17,31,.16), rgba(10,17,31,.34)),
    linear-gradient(135deg, rgba(121,202,218,.18), rgba(229,127,101,.18));
  background-size:cover;
  background-position:center;
}
.modal-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:16px 0 22px;
}
.modal-thumb{
  min-height:90px;
  border-radius:16px;
  background-size:cover;
  background-position:center;
}
.modal-body h3{margin:18px 0 8px}
.modal-body p{margin:0;color:var(--ink-soft)}
.modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

.site-footer{
  padding:30px 0;
  background:#08111d;
  color:rgba(255,255,255,.74);
}
.footer-grid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  font-size:13px;
}
.footer-meta{
  display:flex;
  align-items:center;
  gap:18px;
  font-size:13px;
}

.accent-cyan{background-image:linear-gradient(180deg, rgba(10,17,31,.16), rgba(10,17,31,.38)), linear-gradient(135deg, rgba(121,202,218,.18), rgba(43,110,142,.18))}
.accent-violet{background-image:linear-gradient(180deg, rgba(10,17,31,.16), rgba(10,17,31,.38)), linear-gradient(135deg, rgba(115,96,176,.18), rgba(229,127,101,.14))}
.accent-coral{background-image:linear-gradient(180deg, rgba(10,17,31,.16), rgba(10,17,31,.38)), linear-gradient(135deg, rgba(229,127,101,.24), rgba(216,176,122,.16))}
.accent-lime{background-image:linear-gradient(180deg, rgba(10,17,31,.16), rgba(10,17,31,.38)), linear-gradient(135deg, rgba(180,194,95,.18), rgba(121,202,218,.16))}
.accent-orange{background-image:linear-gradient(180deg, rgba(10,17,31,.16), rgba(10,17,31,.38)), linear-gradient(135deg, rgba(214,143,73,.2), rgba(229,127,101,.16))}
.accent-blue{background-image:linear-gradient(180deg, rgba(10,17,31,.16), rgba(10,17,31,.38)), linear-gradient(135deg, rgba(76,128,196,.22), rgba(121,202,218,.16))}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .site-nav a::after,.nav-button,.portfolio-card,.filter-btn{transition:none}
}

/* Homepage editorial system */
body.theme-night{background:var(--cloud)}
.site-header{
  top:0;
  width:100%;
  min-height:82px;
  padding:0 max(28px,calc((100vw - 1240px)/2));
  border:0;
  border-bottom:1px solid rgba(255,255,255,.1);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transition:background .35s ease,min-height .35s ease,backdrop-filter .35s ease;
}
.site-header.scrolled{min-height:68px;background:rgba(9,10,11,.78);backdrop-filter:blur(22px)}
.brand img{height:29px}
.site-nav{gap:30px;font-size:12px;letter-spacing:.04em}
.nav-button{min-height:42px;padding:0 18px;border-color:var(--acid);background:var(--acid);color:var(--black)}
.nav-button:hover{background:#d6ff64}

.section-label{display:flex;align-items:center;gap:12px;margin:0;color:#585956;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.section-label span{display:grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-size:9px;letter-spacing:0}
.section-label.light{color:rgba(255,255,255,.52)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:70px}
.section-head h2,.home-portfolio-head h2,.process-sticky h2,.cta-modern h2{
  margin:0;
  font-family:"Space Grotesk",system-ui,sans-serif;
  font-size:clamp(52px,6.8vw,106px);
  font-weight:500;
  line-height:.89;
  letter-spacing:-.065em;
}
.section-head h2 em,.home-portfolio-head h2 em,.process-sticky h2 em,.cta-modern h2 em{font-family:"Instrument Serif",serif;font-weight:400;color:var(--acid)}

.studio-manifesto{overflow:clip;padding:150px 0;background:var(--cloud)}
.manifesto-grid{display:grid;grid-template-columns:3fr 9fr;gap:30px}
.studio-lanyard{position:sticky;top:96px;height:670px;margin-top:-150px;overflow:visible;border:0;background:transparent;touch-action:pan-y}
.studio-lanyard::before,.studio-lanyard::after{display:none}
.lanyard-rope{position:absolute;inset:0;z-index:1;pointer-events:none}
.lanyard-rope i{position:absolute;width:9px;height:42px;border-radius:6px;background:repeating-linear-gradient(90deg,#d9113d 0 3px,#ef1746 3px 6px,#b90d31 6px 9px);box-shadow:0 1px 2px rgba(9,10,11,.18);transform-origin:center}
.lanyard-card{position:absolute;z-index:3;left:50%;top:335px;width:min(230px,82%);height:306px;padding:0;overflow:visible;border:0;border-radius:9px;background:var(--signal);color:#fff;text-align:left;box-shadow:0 34px 72px rgba(9,10,11,.2),0 8px 20px rgba(9,10,11,.12);cursor:grab;touch-action:none;user-select:none;will-change:left,top,transform}
.lanyard-card:active,.studio-lanyard.is-dragging .lanyard-card{cursor:grabbing;box-shadow:0 38px 68px rgba(9,10,11,.28),0 8px 18px rgba(9,10,11,.18)}
.lanyard-card:focus-visible{outline:3px solid var(--black);outline-offset:4px}
.lanyard-clip{position:absolute;left:50%;top:-23px;width:46px;height:35px;border:7px solid #202124;border-bottom:0;border-radius:18px 18px 5px 5px;transform:translateX(-50%)}
.lanyard-clip::after{content:"";position:absolute;left:50%;bottom:-7px;width:24px;height:11px;border-radius:3px;background:#202124;transform:translateX(-50%)}
.lanyard-card-top{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 15px;border-bottom:1px solid rgba(255,255,255,.32)}
.lanyard-card-top b,.lanyard-card-top small,.lanyard-card-bottom b,.lanyard-card-bottom small{display:block}
.lanyard-card-top b{font-size:11px;letter-spacing:.12em}.lanyard-card-top small{font-size:7px;letter-spacing:.14em}
.lanyard-card>img{display:block;width:76%;height:auto;margin:63px auto 0;filter:brightness(0) invert(1)}
.lanyard-card-bottom{position:absolute;left:18px;right:18px;bottom:17px;display:flex;align-items:end;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.32);padding-top:13px}
.lanyard-card-bottom b{font-size:10px;letter-spacing:.1em}.lanyard-card-bottom small{font-size:7px;line-height:1.45;letter-spacing:.08em;text-align:right;text-transform:uppercase}
.lanyard-drag-hint{position:absolute;right:-13px;top:50%;padding:7px 9px;border-radius:999px;background:var(--black);color:#fff;font-size:7px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transform:rotate(90deg) translateX(50%);transform-origin:right top}
.manifesto-copy h2{max-width:1050px;margin:0;font-size:clamp(48px,6vw,94px);font-weight:500;letter-spacing:-.06em;line-height:.98}
.manifesto-foot{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-top:90px;padding-top:32px;border-top:1px solid rgba(9,10,11,.18)}
.manifesto-foot>p{max-width:590px;margin:0;color:#5e605d;font-size:clamp(17px,1.5vw,22px)}
.manifesto-stat{display:flex;align-items:flex-end;gap:18px}
.manifesto-stat strong{font-size:clamp(72px,8vw,130px);font-weight:500;line-height:.72;letter-spacing:-.08em}
.manifesto-stat span{font-size:11px;line-height:1.25;text-transform:uppercase;letter-spacing:.12em}

.services-modern{padding:140px 0;background:var(--cloud);color:var(--black)}
.service-rows{border-top:1px solid rgba(9,10,11,.18)}
.service-row{
  --spot-x:50%;--spot-y:50%;
  position:relative;
  display:grid;
  grid-template-columns:52px 110px minmax(250px,1fr) minmax(260px,.85fr) 52px;
  gap:24px;
  align-items:center;
  min-height:210px;
  padding:34px 14px;
  overflow:hidden;
  border-bottom:1px solid rgba(9,10,11,.18);
}
.service-row::before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(520px circle at var(--spot-x) var(--spot-y),rgba(239,23,70,.09),transparent 44%);transition:opacity .35s ease;pointer-events:none}
.service-row:hover::before{opacity:1}
.service-index{align-self:start;color:rgba(9,10,11,.42);font-size:11px}
.service-icon{width:92px;height:92px;display:grid;place-items:center;border:1px solid rgba(9,10,11,.18);border-radius:50%;background:rgba(255,255,255,.24);transition:border-color .25s ease,transform .35s ease,background .25s ease}
.service-row:hover .service-icon{border-color:rgba(239,23,70,.62);background:rgba(239,23,70,.045);transform:rotate(-6deg)}
.service-icon lord-icon{display:block;width:62px;height:62px}
.service-row h3{margin:0;font-size:clamp(34px,4vw,62px);font-weight:500;letter-spacing:-.055em;line-height:.9}
.service-row p{max-width:410px;margin:0;color:rgba(9,10,11,.62);font-size:16px}
.row-arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(9,10,11,.2);border-radius:50%;font-size:20px;transition:background .25s ease,color .25s ease,transform .25s ease}
.service-row:hover .row-arrow{background:var(--acid);color:var(--black);transform:rotate(45deg)}

.home-portfolio{padding:150px 0;background:var(--cloud)}
.home-portfolio-head{align-items:flex-end;margin-bottom:60px}
.home-portfolio-head h2{margin-top:30px;font-size:clamp(48px,6vw,92px)}
.home-portfolio-head h2 em{color:var(--black)}
.text-link{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--black);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;transition:transform .25s ease}
.text-link span{font-size:18px}
.home-portfolio-grid{grid-template-columns:repeat(12,1fr);gap:26px}
.home-portfolio-grid .preview-card{grid-column:span 6;min-height:clamp(360px,45vw,620px)}
.home-portfolio-grid .preview-card:nth-child(1),.home-portfolio-grid .preview-card:nth-child(4){grid-column:span 7;min-height:clamp(390px,52vw,700px)}
.home-portfolio-grid .preview-card:nth-child(2),.home-portfolio-grid .preview-card:nth-child(5){grid-column:span 5}
.preview-card{
  --tilt-x:0deg;--tilt-y:0deg;--spot-x:50%;--spot-y:50%;
  border-radius:4px;
  box-shadow:none;
  transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style:preserve-3d;
  transition:transform .18s ease,filter .3s ease;
}
.preview-card::before{content:"";position:absolute;inset:0;z-index:1;opacity:0;background:radial-gradient(480px circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.28),transparent 45%);transition:opacity .3s ease}
.preview-card:hover::before{opacity:1}
.preview-card::after{display:none}
.preview-card-tags,.preview-card h4,.preview-card-arrow{z-index:2}
.preview-card-tags span{background:rgba(9,10,11,.28);backdrop-filter:blur(10px)}
.preview-card h4{left:26px;bottom:26px;right:84px;font-family:"Space Grotesk",system-ui,sans-serif;font-size:clamp(34px,4.4vw,68px);font-weight:500;letter-spacing:-.06em;line-height:.9;text-wrap:balance}
.preview-card-arrow{position:absolute;right:24px;bottom:24px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--acid);color:var(--black);font-size:20px;transition:transform .3s ease}
.preview-card:hover .preview-card-arrow{transform:rotate(45deg)}

.process-modern{padding:150px 0;background:var(--black);color:#fff}
.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.process-sticky{position:sticky;top:110px}
.process-sticky h2{margin-top:42px;font-size:clamp(50px,5.7vw,88px)}
.process-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}
.process-list li{display:grid;grid-template-columns:70px 1fr;gap:22px;min-height:230px;padding:38px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.process-list>li>span{color:var(--acid);font-size:11px;letter-spacing:.14em}
.process-list h3{margin:0 0 18px;font-size:clamp(36px,4vw,60px);font-weight:500;letter-spacing:-.05em;line-height:1}
.process-list p{max-width:430px;margin:0;color:rgba(255,255,255,.54);font-size:17px}

.cta-modern{position:relative;overflow:hidden;padding:160px 0;background:#151714;color:#fff}
.cta-modern .shell{position:relative;z-index:1}
.cta-modern h2{max-width:1050px;margin:70px 0 90px;font-size:clamp(68px,10vw,160px)}
.cta-modern h2 em{color:var(--acid)}
.cta-circle{display:flex;align-items:center;justify-content:space-between;width:min(100%,440px);min-height:82px;margin-left:auto;padding:0 12px 0 30px;border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:18px;font-weight:700;transition:transform .25s ease,background .25s ease,color .25s ease}
.cta-circle i{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--acid);color:var(--black);font-size:22px;font-style:normal}
.cta-circle:hover{background:var(--acid);color:var(--black)}
.cta-circle:hover i{background:var(--black);color:#fff}
.cta-glow{position:absolute;width:70vw;aspect-ratio:1;left:-22vw;bottom:-50vw;border-radius:50%;background:radial-gradient(circle,rgba(200,255,46,.2),transparent 62%);animation:glowDrift 9s ease-in-out infinite alternate}
@keyframes glowDrift{to{transform:translate(18vw,-8vw) scale(1.15)}}

.site-footer{padding:42px 0;background:var(--black)}
.footer-meta{flex-wrap:wrap;justify-content:flex-end}

[data-reveal]{opacity:0;filter:blur(10px);transform:translateY(36px);transition:opacity .8s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
[data-reveal].is-visible{opacity:1;filter:blur(0);transform:none}
[data-split] .reveal-word{display:inline-block;opacity:.18;filter:blur(7px);transform:translateY(.25em);transition:opacity .75s ease,filter .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}
[data-split].is-visible .reveal-word{opacity:1;filter:blur(0);transform:none}
[data-split].is-visible .reveal-word:nth-child(3n+2){transition-delay:.06s}
[data-split].is-visible .reveal-word:nth-child(3n){transition-delay:.12s}

@media (max-width:960px){
  .process-grid{grid-template-columns:1fr}
  .service-row{grid-template-columns:46px 90px 1fr 48px}
  .service-row p{grid-column:3;max-width:520px}
  .service-icon{width:76px;height:76px}.service-icon lord-icon{width:52px;height:52px}
  .process-sticky{position:static;margin-bottom:70px}
  .home-portfolio-grid .preview-card,.home-portfolio-grid .preview-card:nth-child(1),.home-portfolio-grid .preview-card:nth-child(2),.home-portfolio-grid .preview-card:nth-child(4),.home-portfolio-grid .preview-card:nth-child(5){grid-column:span 6;min-height:460px}
}
@media (max-width:700px){
  .site-header{min-height:70px;padding:0 14px}.site-header.scrolled{min-height:62px}
  .site-nav{display:none}.site-header>.nav-button{min-height:38px;font-size:11px}
  .studio-manifesto,.services-modern,.home-portfolio,.process-modern,.cta-modern{padding:92px 0}
  .manifesto-grid{grid-template-columns:1fr;gap:46px}.studio-lanyard{position:relative;top:auto;height:452px;margin-top:-92px}.lanyard-card{width:176px;height:234px}.lanyard-card>img{margin-top:43px}.lanyard-card-bottom{left:13px;right:13px;bottom:12px}.lanyard-card-top{padding:15px 13px 11px}.lanyard-drag-hint{display:none}
  .manifesto-copy h2{font-size:clamp(42px,12vw,68px)}
  .manifesto-foot{grid-template-columns:1fr;margin-top:58px}.manifesto-stat{margin-top:20px}
  .section-head{display:block;margin-bottom:44px}.section-head h2{margin-top:40px;font-size:clamp(48px,14vw,72px)}
  .service-row{grid-template-columns:34px 64px 1fr 42px;gap:13px;min-height:auto;padding:28px 4px}
  .service-icon{width:58px;height:58px}.service-icon lord-icon{width:42px;height:42px}
  .service-row h3{font-size:32px}.service-row p{grid-column:2/5;font-size:15px;padding:4px 0 8px}.row-arrow{width:40px;height:40px}
  .home-portfolio-head{display:block}.home-portfolio-head .text-link{margin-top:30px;width:max-content}
  .home-portfolio-grid{display:grid;grid-template-columns:1fr;gap:16px}
  .home-portfolio-grid .preview-card,.home-portfolio-grid .preview-card:nth-child(1),.home-portfolio-grid .preview-card:nth-child(2),.home-portfolio-grid .preview-card:nth-child(4),.home-portfolio-grid .preview-card:nth-child(5){grid-column:1;min-height:420px}
  .preview-card h4{font-size:42px}
  .process-list li{grid-template-columns:44px 1fr;min-height:200px}.process-list h3{font-size:40px}
  .cta-modern h2{margin:60px 0;font-size:clamp(66px,20vw,112px)}
  .footer-grid{gap:28px}.footer-meta{align-items:flex-start;justify-content:flex-start}
}

/* Agina-inspired direction: structural grid, kinetic type, red accent */
:root{--acid:#ef1746;--signal:#ef1746}
.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}

.site-header{
  --header-x:50%;--header-y:50%;
  display:grid;
  grid-template-columns:minmax(170px,1fr) minmax(520px,2fr) minmax(110px,1fr);
  gap:0;
  min-height:94px;
  padding:0 30px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:rgba(9,10,11,.9);
  overflow:hidden;
}
.site-header::before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(360px circle at var(--header-x) var(--header-y),rgba(239,23,70,.17),transparent 62%);transition:opacity .3s ease;pointer-events:none}
.site-header:hover::before{opacity:1}
.site-header.scrolled{min-height:72px;background:rgba(9,10,11,.9)}
.brand{position:relative;z-index:1;justify-self:start}
.brand img{height:30px}
.site-nav{position:relative;z-index:1;justify-self:center;gap:0;height:100%}
.site-nav a{display:block;position:relative;padding:0 19px;overflow:hidden;color:rgba(255,255,255,.7);font-size:12px;font-weight:600;line-height:94px;letter-spacing:.01em}
.site-header.scrolled .site-nav a{line-height:72px}
.site-nav a::before,.site-nav a::after{position:absolute;top:0;bottom:0;display:flex;align-items:center;color:rgba(255,255,255,.22);transition:color .25s ease}.site-nav a::before{content:"[";left:7px}.site-nav a::after{content:"]";right:7px;width:auto;height:auto;background:none;transform:none}
.site-nav a span{display:block;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.site-nav a span::after{content:attr(data-label);position:absolute;left:19px;top:100%;color:var(--signal)}
.site-nav a:hover{color:#fff}.site-nav a:hover::before,.site-nav a:hover::after{color:var(--signal)}.site-nav a:hover span{transform:translateY(-100%)}
.menu-matrix{position:relative;z-index:1;justify-self:end;width:48px;height:48px;display:grid;grid-template-columns:repeat(3,4px);grid-auto-rows:4px;place-content:center;gap:4px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);cursor:pointer;transition:background .25s ease,transform .25s ease}
.menu-matrix i{width:4px;height:4px;border-radius:50%;background:#fff;transition:transform .3s ease,background .3s ease}
.menu-matrix:hover{background:var(--signal);transform:rotate(4deg)}.menu-matrix:hover i{background:#fff;transform:scale(1.22)}
.menu-matrix[aria-expanded="true"] i:nth-child(odd){transform:scale(.25)}

.hero-agina{min-height:100svh;padding:94px 30px 0;background:var(--black);display:grid;grid-template-rows:minmax(280px,.76fr) minmax(300px,1.24fr) auto;overflow:hidden}
.hero-agina::before,.hero-agina .hero-ambient{display:none}
.hero-crosshair-grid{position:absolute;inset:94px 30px 0;pointer-events:none;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.12) 50%,transparent calc(50% + .5px)),linear-gradient(180deg,transparent calc(42% - .5px),rgba(255,255,255,.12) 42%,transparent calc(42% + .5px))}
.hero-crosshair-grid::before,.hero-crosshair-grid::after{content:"+";position:absolute;color:rgba(255,255,255,.7);font:24px/1 monospace}.hero-crosshair-grid::before{left:50%;top:42%;transform:translate(-50%,-50%)}.hero-crosshair-grid::after{right:-7px;top:42%;transform:translateY(-50%)}
.hero-intro-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:end;border-left:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(255,255,255,.12)}
.hero-pitch{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;padding:55px 20px;border-right:1px solid rgba(255,255,255,.12)}
.hero-pitch p{max-width:460px;margin:0 0 30px;color:rgba(255,255,255,.72);font-size:clamp(18px,1.55vw,24px);line-height:1.35}
.outline-cta{display:flex;align-items:center;width:max-content;border:1px solid rgba(255,255,255,.5);border-radius:999px;font-size:13px;font-weight:700;transition:background .25s ease,color .25s ease,transform .25s ease}.outline-cta span{padding:13px 22px}.outline-cta i{width:48px;height:48px;display:grid;place-items:center;border-left:1px solid rgba(255,255,255,.5);border-radius:50%;font-style:normal;font-size:18px}.outline-cta:hover{background:var(--signal);border-color:var(--signal)}
.hero-place{align-self:end;padding:0 24px 55px;color:rgba(255,255,255,.82);font-size:13px;font-weight:600}.globe-dot{color:var(--signal);font-size:22px;margin-right:8px}
.hero-social{position:absolute;right:22px;bottom:50px;display:flex;gap:18px}.hero-social a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6)}.hero-social a:hover{color:var(--signal)}
.hero-megaword{position:relative;z-index:1;display:flex;align-items:end;margin:0 -12px;padding-top:5vh;border-top:1px solid rgba(255,255,255,.12);font-family:"Space Grotesk",system-ui,sans-serif;font-size:clamp(104px,18.2vw,320px);font-weight:500;letter-spacing:-.095em;line-height:.69;color:var(--signal);white-space:nowrap}
.mobile-fold-stage{display:none}
.dynamic-word{display:block;will-change:filter,transform,opacity}.dynamic-word.word-out{animation:wordOut .42s ease both}.dynamic-word.word-in{animation:wordIn .7s cubic-bezier(.22,1,.36,1) both}
@keyframes wordOut{to{opacity:0;filter:blur(18px);transform:translateY(-24px) skewX(-8deg)}}
@keyframes wordIn{from{opacity:0;filter:blur(20px);transform:translateY(36px) skewX(8deg)}to{opacity:1;filter:blur(0);transform:none}}
.hero-caption{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr auto;gap:20px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.45);font-size:10px;text-transform:uppercase;letter-spacing:.14em}.hero-caption a{color:#fff}.hero-caption a:hover{color:var(--signal)}

.menu-overlay{position:fixed;inset:0;z-index:90;display:grid;grid-template-columns:1fr 1fr;padding:130px 30px 40px;background:var(--signal);color:var(--black);opacity:0;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.22,1,.36,1),opacity .3s ease,visibility .6s}
.menu-open .menu-overlay{opacity:1;visibility:visible;clip-path:inset(0)}
.menu-overlay nav{align-self:end;display:grid}.menu-overlay nav a{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(9,10,11,.25);font-size:clamp(52px,7vw,110px);font-weight:500;letter-spacing:-.07em;line-height:.95}.menu-overlay nav a span{font-size:15px;letter-spacing:0}.menu-overlay-aside{align-self:end;justify-self:end;max-width:330px}.menu-overlay-aside p{font-size:18px}.menu-overlay-aside a{display:block;margin-top:8px;font-weight:700}
.menu-open{overflow:hidden}

.motion-cursor{position:fixed;left:0;top:0;z-index:999;pointer-events:none;width:34px;height:34px;opacity:0;transform:translate(-50%,-50%);transition:width .25s ease,height .25s ease,opacity .2s ease}
.motion-cursor::before,.motion-cursor::after{content:"";position:absolute;inset:0;background:linear-gradient(var(--signal),var(--signal)) left top/8px 1px no-repeat,linear-gradient(var(--signal),var(--signal)) left top/1px 8px no-repeat,linear-gradient(var(--signal),var(--signal)) right top/8px 1px no-repeat,linear-gradient(var(--signal),var(--signal)) right top/1px 8px no-repeat,linear-gradient(var(--signal),var(--signal)) left bottom/8px 1px no-repeat,linear-gradient(var(--signal),var(--signal)) left bottom/1px 8px no-repeat,linear-gradient(var(--signal),var(--signal)) right bottom/8px 1px no-repeat,linear-gradient(var(--signal),var(--signal)) right bottom/1px 8px no-repeat}.motion-cursor::after{inset:15px;border-radius:50%;background:var(--signal)}
.motion-cursor.visible{opacity:1}.motion-cursor.active{width:58px;height:58px}.motion-cursor.active::before{filter:drop-shadow(0 0 7px rgba(239,23,70,.65))}

@media (max-width:900px){
  .site-header{grid-template-columns:1fr auto;min-height:78px;padding:0 18px}.site-header .site-nav{display:none}.brand img{height:28px}
  .hero-agina{padding:78px 18px 0;grid-template-rows:minmax(300px,.85fr) minmax(220px,1.15fr) auto}.hero-crosshair-grid{inset:78px 18px 0}.hero-intro-grid{grid-template-columns:1fr}.hero-pitch{border-right:0}.hero-place{display:none}.hero-social{bottom:44px}.hero-megaword{font-size:clamp(84px,20vw,180px);line-height:.76}.hero-caption{grid-template-columns:1fr auto}.hero-caption span:nth-child(2){display:none}
}
@media (max-width:600px){
  .hero-agina{grid-template-rows:minmax(300px,.78fr) minmax(285px,1.22fr) auto}.hero-intro-grid{border-left:0;border-right:0}.hero-pitch{padding:42px 0 28px}.hero-pitch p{font-size:18px;max-width:340px}.hero-social{right:0;bottom:28px}.hero-megaword{display:none}.hero-caption{padding:16px 0;font-size:8px}.menu-overlay{grid-template-columns:1fr;padding:110px 20px 30px}.menu-overlay-aside{display:none}.menu-overlay nav a{font-size:52px}.motion-cursor{display:none}
  .mobile-fold-stage{position:relative;z-index:2;display:block;min-height:285px;margin:0 -18px;overflow:hidden;border-top:1px solid rgba(255,255,255,.12);perspective:900px;background:radial-gradient(circle at 52% 48%,rgba(239,23,70,.22),transparent 39%)}
  .mobile-fold-stage::before{content:"";position:absolute;left:50%;top:50%;width:84vw;aspect-ratio:1;border:1px solid rgba(239,23,70,.28);border-radius:50%;transform:translate(-50%,-50%) scale(calc(.82 + var(--hero-progress,0) * .22));box-shadow:0 0 70px rgba(239,23,70,.12),inset 0 0 70px rgba(239,23,70,.06)}
  .mobile-fold-stage::after{content:"+";position:absolute;left:50%;top:50%;color:#fff;font:18px/1 monospace;transform:translate(-50%,-50%);opacity:.6}
  .mobile-fold-kicker,.mobile-fold-index,.mobile-fold-hint{position:absolute;z-index:4;color:rgba(255,255,255,.52);font-size:8px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
  .mobile-fold-kicker{left:18px;top:17px}.mobile-fold-index{right:18px;top:17px;color:var(--signal)}.mobile-fold-hint{right:18px;bottom:16px}
  .mobile-fold-orbit{position:absolute;left:50%;top:50%;width:112vw;height:112vw;border:1px dashed rgba(255,255,255,.13);border-radius:50%;transform:translate(-50%,-50%) rotate(calc(var(--hero-progress,0) * 36deg));transition:transform .12s linear}
  .mobile-fold-orbit::before{content:"";position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 18px var(--signal)}
  .mobile-fold-word{position:absolute;z-index:3;left:50%;top:50%;width:112vw;height:28vw;max-height:122px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateZ(calc(-4deg + var(--hero-progress,0) * 7deg)) rotateY(calc(-10deg + var(--pointer-x,0) * 8deg)) scale(calc(.92 + var(--hero-progress,0) * .08));transition:opacity .32s ease,filter .32s ease}
  .mobile-fold-stage.is-switching .mobile-fold-word{opacity:.12;filter:blur(12px)}
  .mobile-fold-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--signal);font-size:24vw;font-weight:500;line-height:1;letter-spacing:-.095em;white-space:nowrap;backface-visibility:hidden;will-change:transform}
  .mobile-fold-face-top{clip-path:inset(0 0 66.5% 0);transform-origin:50% 33.5%;transform:rotateX(calc(-46deg + var(--hero-progress,0) * 34deg)) translateZ(1px);filter:brightness(.58)}
  .mobile-fold-face-center{clip-path:inset(33% 0 33% 0);transform:translateZ(0);filter:brightness(1.05)}
  .mobile-fold-face-bottom{clip-path:inset(66% 0 0 0);transform-origin:50% 66%;transform:rotateX(calc(50deg - var(--hero-progress,0) * 34deg)) translateZ(1px);filter:brightness(.72)}
}
@media (prefers-reduced-motion:reduce){.dynamic-word.word-out,.dynamic-word.word-in{animation:none}.motion-cursor{display:none}.mobile-fold-face-top,.mobile-fold-face-bottom,.mobile-fold-word,.mobile-fold-orbit{transform:none}.mobile-fold-stage::before{transform:translate(-50%,-50%)}}

/* Portfolio archive */
.page-hero{position:relative;overflow:hidden;padding:180px 0 120px;background:var(--black)}
.page-hero::before{content:"";position:absolute;width:58vw;aspect-ratio:1;right:-18vw;top:-22vw;border:1px solid rgba(200,255,46,.24);border-radius:50%;box-shadow:0 0 140px rgba(200,255,46,.07)}
.page-hero-grid{position:relative;z-index:1;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:70px}
.page-hero h1{font-family:"Space Grotesk",system-ui,sans-serif;font-size:clamp(64px,8vw,124px);font-weight:500;line-height:.84;letter-spacing:-.07em}
.page-hero h1 em{font-family:"Instrument Serif",serif;font-weight:400;color:var(--acid)}
.page-hero p:last-child{max-width:480px;padding-bottom:8px;color:rgba(255,255,255,.58);font-size:18px}
.portfolio-page-content{padding:100px 0 140px;background:var(--cloud)}
.portfolio-page-content>.curve{display:none}
.portfolio-stats{gap:0;margin-bottom:80px;border-top:1px solid rgba(9,10,11,.18);border-bottom:1px solid rgba(9,10,11,.18)}
.portfolio-stats article{padding:28px 24px;border:0;border-right:1px solid rgba(9,10,11,.18);border-radius:0;background:transparent}
.portfolio-stats article:last-child{border-right:0}
.portfolio-stats strong{font-size:62px;letter-spacing:-.06em}
.portfolio-stats span{text-transform:uppercase;font-size:10px;letter-spacing:.16em}
.portfolio-page-spotlight{grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);gap:58px;margin-bottom:90px}
.spotlight-copy .overline{color:#777974}
.portfolio-page-spotlight h2{font-family:"Space Grotesk",system-ui,sans-serif;font-size:clamp(46px,5.8vw,84px);font-weight:500;letter-spacing:-.065em;line-height:.9}
.spotlight-media{min-height:570px;border-radius:3px;box-shadow:none}
.spotlight-copy .tag-list{margin-bottom:20px}
.filters{gap:8px;margin-bottom:38px;padding-top:26px;border-top:1px solid rgba(9,10,11,.18)}
.filter-btn{padding:10px 15px;border-color:rgba(9,10,11,.15);background:transparent;font-size:11px}
.filter-btn.active,.filter-btn:hover{background:var(--black);border-color:var(--black)}
.portfolio-grid-editorial{grid-template-columns:repeat(12,1fr);gap:26px}
.portfolio-card,.portfolio-grid-editorial .portfolio-card:nth-child(2),.portfolio-grid-editorial .portfolio-card:nth-child(4){grid-column:span 4;min-height:0;border:0;border-radius:3px;background:transparent;box-shadow:none;overflow:visible}
.portfolio-card:hover{transform:none;box-shadow:none}
.portfolio-cover{min-height:340px;border-radius:3px;overflow:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .35s ease}
.portfolio-card:hover .portfolio-cover{transform:scale(.985);filter:saturate(1.08)}
.portfolio-card-arrow{position:absolute;right:16px;bottom:16px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--acid);color:var(--black);font-size:18px;transform:translateY(10px);opacity:0;transition:transform .3s ease,opacity .3s ease}
.portfolio-card:hover .portfolio-card-arrow{transform:none;opacity:1}
.portfolio-card-content{padding:20px 0 30px;gap:12px}
.portfolio-card h3{font-family:"Space Grotesk",system-ui,sans-serif;font-size:32px;font-weight:500;letter-spacing:-.045em}
.project-claim{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#686a66!important;font-weight:400;font-size:14px}
.tag{padding:5px 9px;background:transparent;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.open-project{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.open-project::after{content:"↗";font-size:15px}
.modal-panel{border-radius:4px;background:var(--cloud)}
.modal-panel h2{font-family:"Space Grotesk",system-ui,sans-serif;font-weight:500;letter-spacing:-.055em}
.modal-cover,.modal-thumb{border-radius:3px}

@media (max-width:1050px){
  .portfolio-grid-editorial{grid-template-columns:repeat(2,1fr)}
  .portfolio-card,.portfolio-grid-editorial .portfolio-card:nth-child(2),.portfolio-grid-editorial .portfolio-card:nth-child(4){grid-column:span 1}
}
@media (max-width:760px){
  .page-hero{padding:130px 0 78px}.page-hero-grid{grid-template-columns:1fr;gap:35px}.page-hero h1{font-size:clamp(58px,17vw,92px)}
  .portfolio-page-content{padding:72px 0 92px}
  .portfolio-stats{grid-template-columns:repeat(3,1fr);margin-bottom:58px}.portfolio-stats article{padding:20px 8px}.portfolio-stats strong{font-size:40px}.portfolio-stats span{font-size:8px}
  .portfolio-page-spotlight{grid-template-columns:1fr;gap:34px;margin-bottom:64px}.spotlight-media{min-height:390px;order:-1}
  .portfolio-grid-editorial{grid-template-columns:1fr}.portfolio-cover{min-height:390px}
  .modal-panel{padding:20px}.modal-gallery{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-split] .reveal-word{opacity:1;filter:none;transform:none;transition:none}
  .cta-glow{animation:none}
}

@media (max-width:1100px){
  .hero-grid,
  .service-story,
  .capabilities-grid,
  .stats-grid,
  .insights-head,
  .portfolio-page-spotlight,
  .page-hero-grid,
  .cta-grid{grid-template-columns:1fr}
  .stats-cluster,
  .home-portfolio-grid,
  .insight-grid,
  .portfolio-grid-editorial{grid-template-columns:repeat(2,1fr)}
  .home-portfolio-grid .preview-card:nth-child(1),
  .home-portfolio-grid .preview-card:nth-child(4),
  .portfolio-grid-editorial .portfolio-card:nth-child(2),
  .portfolio-grid-editorial .portfolio-card:nth-child(4){grid-column:span 1}
  .hero-visual{
    min-height:auto;
    grid-template-columns:1fr;
  }
  .hero-frame{min-height:420px}
  .hero-stack{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:760px){
  .shell{width:min(100% - 28px,1240px)}
  .site-header{
    top:10px;
    padding:12px 14px;
  }
  .brand img{height:28px}
  .site-nav a:not(:last-child){display:none}
  .nav-button{min-height:44px;padding:0 16px}
  .hero-reference{padding-top:104px}
  .hero-grid{min-height:auto}
  .hero-copy{padding-bottom:80px}
  .hero-copy h1{font-size:clamp(58px,16vw,88px)}
  .hero-text{font-size:18px}
  .hero-visual{min-height:auto}
  .hero-frame{min-height:340px;padding:14px}
  .hero-stack{grid-template-columns:1fr}
  .hero-case{padding:18px}
  .hero-case-meta strong{font-size:34px}
  .hero-note{display:none}
  .hero-metric{
    position:static;
    max-width:none;
    padding:10px 12px;
  }
  .scroll-cue{display:none}
  .curve{height:60px}
  .services-preview,.capabilities,.stats-company,.home-portfolio,.insights,.cta-strip,.portfolio-page-content{padding-bottom:76px}
  .service-preview-pair,
  .stats-cluster,
  .home-portfolio-grid,
  .insight-grid,
  .portfolio-stats,
  .portfolio-grid-editorial,
  .modal-gallery{grid-template-columns:1fr}
  .service-story-head h3,.capabilities-list h3,.portfolio-card h3,.insight-card h3{font-size:30px}
  .footer-grid{flex-direction:column;align-items:flex-start}
  .footer-meta{flex-direction:column;align-items:flex-start;gap:8px}
  .modal-panel{padding:22px}
  .modal-panel h2{font-size:38px}
}

/* 2026 visual system — kinetic hero */
:root{
  --acid:#c8ff2e;
  --black:#090a0b;
  --cloud:#f2f1ec;
}

.hero-reference{
  isolation:isolate;
  min-height:100svh;
  padding:124px 0 0;
  color:#fff;
  background:var(--black);
}
.hero-reference::before{
  z-index:-2;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:clamp(72px,8vw,132px) clamp(72px,8vw,132px);
  opacity:.55;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 88%);
  mask-image:linear-gradient(to bottom,#000 0%,transparent 88%);
}
.hero-ambient{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ambient-core{
  position:absolute;
  width:min(44vw,640px);
  aspect-ratio:1;
  right:8vw;
  top:20%;
  border-radius:50%;
  background:radial-gradient(circle at 38% 34%,rgba(255,255,255,.3),rgba(200,255,46,.12) 24%,rgba(200,255,46,.03) 54%,transparent 70%);
  filter:blur(2px);
  transform:translate3d(calc(var(--pointer-x,0) * 18px),calc(var(--pointer-y,0) * 18px),0) scale(calc(1 + var(--hero-progress,0) * .08));
  transition:transform .25s ease-out;
}
.ambient-orbit{
  position:absolute;
  right:-4vw;
  top:10%;
  width:min(58vw,840px);
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  transform:rotate(-18deg) scaleY(.62);
}
.ambient-orbit::after{
  content:"";
  position:absolute;
  left:15%;top:11%;
  width:11px;height:11px;
  border-radius:50%;
  background:var(--acid);
  box-shadow:0 0 32px rgba(200,255,46,.8);
}
.orbit-two{right:3vw;top:17%;width:min(44vw,650px);opacity:.46;transform:rotate(24deg) scaleY(.72)}
.orbit-two::after{left:auto;right:8%;top:55%;width:6px;height:6px}
.hero-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto 1fr auto;
  gap:24px;
  min-height:calc(100svh - 178px);
  align-items:start;
}
.hero-status{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.56);
}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 16px rgba(200,255,46,.75)}
.hero-title{
  grid-column:1/-1;
  align-self:center;
  margin:3vh 0 5vh;
  font-family:"Space Grotesk",system-ui,sans-serif;
  font-size:clamp(72px,10.4vw,170px);
  font-weight:500;
  letter-spacing:-.075em;
  line-height:.78;
}
.blur-line{display:block;opacity:0;filter:blur(18px);transform:translateY(28px);animation:heroBlurIn .9s cubic-bezier(.22,1,.36,1) forwards}
.blur-line:nth-child(2){animation-delay:.12s}
.blur-line:nth-child(3){animation-delay:.24s}
.hero-line-accent{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;color:var(--acid);padding-left:13vw}
.hero-line-indent{padding-left:30vw}
.hero-dot{color:var(--acid)}
.hero-bottom{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:4fr 5fr 3fr;
  align-items:end;
  gap:24px;
  padding-bottom:32px;
}
.hero-bottom p{grid-column:1;max-width:410px;margin:0;color:rgba(255,255,255,.68);font-size:clamp(16px,1.25vw,20px);line-height:1.45}
.hero-cta{
  grid-column:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:64px;
  padding:0 8px 0 24px;
  border-radius:999px;
  background:var(--acid);
  color:var(--black);
  font-weight:700;
}
.hero-cta-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--black);color:#fff;font-size:20px;transition:transform .25s ease}
.hero-cta:hover .hero-cta-icon{transform:rotate(45deg)}
.scroll-pill{
  position:absolute;
  left:50%;
  bottom:104px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.44);
  font-size:9px;
  letter-spacing:.2em;
  text-transform:uppercase;
  transform:translateX(-50%);
}
.scroll-pill i{position:relative;width:1px;height:34px;background:rgba(255,255,255,.22);overflow:hidden}
.scroll-pill i::after{content:"";position:absolute;inset:0;background:var(--acid);transform:translateY(-100%);animation:scrollPulse 1.8s ease-in-out infinite}
.hero-ticker{position:relative;z-index:2;overflow:hidden;border-top:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02)}
.ticker-track{width:max-content;display:flex;align-items:center;gap:30px;padding:18px 0;animation:ticker 25s linear infinite}
.ticker-track span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.66);white-space:nowrap}
.ticker-track i{width:5px;height:5px;border-radius:50%;background:var(--acid)}
.reveal-blur{animation:softIn .8s .42s both}
@keyframes heroBlurIn{to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes softIn{from{opacity:0;filter:blur(10px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes scrollPulse{0%{transform:translateY(-100%)}50%,100%{transform:translateY(100%)}}
@keyframes ticker{to{transform:translateX(-50%)}}

@media (max-width:900px){
  .hero-reference{padding-top:112px}
  .hero-grid{min-height:calc(100svh - 166px)}
  .hero-title{font-size:clamp(68px,14vw,118px);line-height:.82}
  .hero-line-accent{padding-left:7vw}
  .hero-line-indent{padding-left:17vw}
  .hero-bottom{grid-template-columns:1fr auto}
  .hero-bottom p{grid-column:1}
  .hero-cta{grid-column:2;min-width:230px}
  .scroll-pill{display:none}
}
@media (max-width:620px){
  .hero-reference{padding-top:96px}
  .hero-grid{display:flex;flex-direction:column;min-height:calc(100svh - 150px);gap:0}
  .hero-status{margin-top:18px}
  .hero-title{margin:auto 0;font-size:clamp(60px,19vw,96px);line-height:.83}
  .hero-line-accent{padding-left:0}
  .hero-line-indent{padding-left:8vw}
  .hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:24px;width:100%;padding-bottom:24px}
  .hero-bottom p{font-size:16px;max-width:340px}
  .hero-cta{min-height:58px;width:100%}
  .ambient-core{width:92vw;right:-32vw;top:30%}
  .ambient-orbit{width:110vw;right:-55vw;top:25%}
}
@media (prefers-reduced-motion:reduce){
  .blur-line,.reveal-blur{opacity:1;filter:none;transform:none;animation:none}
  .ticker-track,.scroll-pill i::after{animation:none}
  .ambient-core{transition:none}
}

/* Keep the editorial grid authoritative after legacy responsive rules. */
@media (max-width:960px){
  .home-portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr)}
  .home-portfolio-grid .preview-card,
  .home-portfolio-grid .preview-card:nth-child(1),
  .home-portfolio-grid .preview-card:nth-child(2),
  .home-portfolio-grid .preview-card:nth-child(4),
  .home-portfolio-grid .preview-card:nth-child(5){grid-column:span 6;min-height:460px}
}
@media (max-width:700px){
  .home-portfolio-grid{grid-template-columns:1fr}
  .home-portfolio-grid .preview-card,
  .home-portfolio-grid .preview-card:nth-child(1),
  .home-portfolio-grid .preview-card:nth-child(2),
  .home-portfolio-grid .preview-card:nth-child(4),
  .home-portfolio-grid .preview-card:nth-child(5){grid-column:1;min-height:420px}
}

/* Final cascade lock for the Agina-inspired direction. */
:root{--acid:#ef1746;--signal:#ef1746}
.site-header{top:0;left:0;width:100%;transform:none;border-radius:0}
.hero-reference.hero-agina{min-height:100svh;padding:94px 30px 0;background:var(--black);display:grid;grid-template-rows:minmax(280px,.76fr) minmax(300px,1.24fr) auto}
.kinetic-marquee{position:relative;z-index:3;overflow:hidden;border-top:1px solid rgba(9,10,11,.18);border-bottom:1px solid rgba(9,10,11,.18)}
.kinetic-row{overflow:hidden;padding:17px 0;border-top:1px solid rgba(9,10,11,.16)}
.kinetic-row:first-child{border-top:0}
.kinetic-row-light{background:var(--paper);color:var(--black)}
.kinetic-row-signal{background:var(--signal);color:var(--black)}
.kinetic-row-dark{background:var(--black);color:var(--paper)}
.kinetic-track{display:flex;width:max-content;will-change:transform;animation:kineticMove 28s linear infinite}
.kinetic-track-reverse{animation-direction:reverse;animation-duration:21s}
.kinetic-track-slow{animation-duration:36s}
.kinetic-sequence{display:flex;flex:none;align-items:center;gap:28px;padding-right:28px}
.kinetic-sequence span{font-size:clamp(31px,4.25vw,62px);font-weight:500;line-height:.9;letter-spacing:-.055em;text-transform:uppercase;white-space:nowrap}
.kinetic-sequence i{font-family:"Instrument Serif",serif;font-size:clamp(30px,3.5vw,52px);font-weight:400;line-height:.8;color:var(--signal)}
.kinetic-row-signal i{color:var(--paper)}
.kinetic-row-dark i{color:var(--signal)}
@keyframes kineticMove{to{transform:translateX(-50%)}}
.home-portfolio-head h2 em{color:var(--signal)}
.home-portfolio-grid .preview-card{opacity:0;transform:translateY(40px)}
.home-portfolio-grid.portfolio-ready .preview-card{opacity:1;transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1),filter .3s ease}
.home-portfolio-grid.portfolio-ready .preview-card:nth-child(2){transition-delay:.08s}.home-portfolio-grid.portfolio-ready .preview-card:nth-child(3){transition-delay:.16s}.home-portfolio-grid.portfolio-ready .preview-card:nth-child(4){transition-delay:.24s}.home-portfolio-grid.portfolio-ready .preview-card:nth-child(5){transition-delay:.32s}
.preview-card-index{position:absolute;z-index:2;right:24px;top:22px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em}
.page-hero::before{border-color:rgba(239,23,70,.24);box-shadow:0 0 140px rgba(239,23,70,.08)}
.cta-glow{background:radial-gradient(circle,rgba(239,23,70,.2),transparent 62%)}
.site-footer{padding-top:0}
.footer-statement{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-top:64px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.14)}
.footer-logo{display:block;width:min(68vw,900px);line-height:0}
.footer-logo img{display:block;width:100%;height:auto}
.footer-statement a{padding-bottom:4px;color:var(--signal);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.footer-directory{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);border-bottom:1px solid rgba(255,255,255,.14)}
.footer-directory-intro{padding:54px 42px 52px 0;border-right:1px solid rgba(255,255,255,.14)}
.footer-directory-intro>span,.footer-offices article>span,.footer-general-contact>span{color:rgba(255,255,255,.38);font-size:8px;font-weight:700;letter-spacing:.15em}
.footer-directory-intro h2{margin:48px 0 0;color:#fff;font-size:clamp(38px,4.8vw,72px);font-weight:500;line-height:.82;letter-spacing:-.065em}
.footer-directory-intro h2 em{font-family:"Instrument Serif",serif;font-weight:400;color:var(--signal)}
.footer-offices{display:grid;grid-template-columns:repeat(2,1fr)}
.footer-offices article{display:flex;min-width:0;flex-direction:column;padding:54px 0 48px 42px}
.footer-offices article+article{margin-left:42px;padding-left:42px;border-left:1px solid rgba(255,255,255,.14)}
.footer-offices h3{margin:34px 0 16px;color:#fff;font-size:clamp(34px,3.7vw,54px);font-weight:500;line-height:.88;letter-spacing:-.06em}
.footer-offices address{min-height:52px;margin:0 0 24px;color:rgba(255,255,255,.5);font-size:13px;font-style:normal;line-height:1.55}
.footer-offices a{width:max-content;max-width:100%;margin-top:7px;color:rgba(255,255,255,.78);font-size:12px;overflow-wrap:anywhere}
.footer-offices a:hover{color:var(--signal)}
.footer-general-contact{grid-column:1/-1;display:grid;grid-template-columns:minmax(150px,.5fr) minmax(260px,1fr) auto;gap:28px;align-items:center;padding:24px 0;border-top:1px solid rgba(255,255,255,.14)}
.footer-general-contact p{margin:0;color:rgba(255,255,255,.5);font-size:12px}
.footer-general-contact>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 26px}
.footer-general-contact a{padding-bottom:5px;border-bottom:1px solid rgba(239,23,70,.58);color:#fff;font-size:12px}
.footer-general-contact a:hover{color:var(--signal)}
.site-footer>.footer-grid{padding-top:28px}
@media (max-width:700px){
  .kinetic-row{padding:13px 0}.kinetic-sequence{gap:18px;padding-right:18px}.kinetic-sequence span{font-size:30px}.kinetic-sequence i{font-size:28px}
  .footer-statement{display:block;padding-top:52px}.footer-logo{width:min(82vw,520px)}.footer-statement>a:last-child{display:block;margin-top:34px}
  .footer-directory{grid-template-columns:1fr}.footer-directory-intro{padding:42px 0;border-right:0}.footer-directory-intro h2{margin-top:30px;font-size:48px}.footer-offices{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.14)}.footer-offices article,.footer-offices article+article{margin:0;padding:30px 14px 32px 0;border:0}.footer-offices article+article{padding-right:0;padding-left:14px;border-left:1px solid rgba(255,255,255,.14)}.footer-offices h3{margin-top:25px;font-size:clamp(29px,9vw,38px)}.footer-offices address{min-height:68px;margin-bottom:12px;font-size:11px}.footer-offices a{font-size:10px;line-height:1.35}.footer-general-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;padding:28px 0}.footer-general-contact p{margin:0;font-size:11px}.footer-general-contact>div{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;justify-content:stretch}.footer-general-contact a{width:auto;font-size:10px;overflow-wrap:anywhere}.site-footer>.footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:26px}.site-footer .footer-links{display:grid;gap:10px}.site-footer .footer-meta{display:grid;align-content:start;gap:10px;padding-left:14px;border-left:1px solid rgba(255,255,255,.14);font-size:11px}
}
@media (prefers-reduced-motion:reduce){.kinetic-track{animation:none}.home-portfolio-grid .preview-card{opacity:1;transform:none;transition:none}}
@media (max-width:900px){
  .site-header{top:0;grid-template-columns:1fr auto;min-height:78px;padding:0 18px}
  .site-header.scrolled{min-height:68px;padding:0 18px}
  .hero-reference.hero-agina{padding:78px 18px 0;grid-template-rows:minmax(300px,.85fr) minmax(220px,1.15fr) auto}
}
@media (max-width:600px){
  .site-header{top:0;padding:0 14px}
  .hero-reference.hero-agina{padding:78px 18px 0;grid-template-rows:minmax(300px,.78fr) minmax(285px,1.22fr) auto}
}

/* Selected work carousel */
.home-portfolio{overflow:hidden}
.portfolio-carousel-shell{--carousel-progress:10%;position:relative;padding-bottom:2px}
.portfolio-carousel-shell::after{content:"";position:absolute;left:max(30px,calc((100vw - 1180px)/2));right:max(30px,calc((100vw - 1180px)/2));bottom:0;height:2px;background:linear-gradient(90deg,var(--signal) 0 var(--carousel-progress),rgba(9,10,11,.14) var(--carousel-progress) 100%);transition:background .3s ease}
.portfolio-carousel-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.portfolio-carousel-meta p{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.portfolio-carousel-meta p span:first-child{color:var(--signal)}
.portfolio-carousel-controls{display:flex;gap:8px}
.portfolio-carousel-controls button{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(9,10,11,.28);border-radius:50%;background:transparent;color:var(--black);font-size:20px;cursor:pointer;transition:background .25s ease,color .25s ease,opacity .25s ease,transform .25s ease}
.portfolio-carousel-controls button:hover:not(:disabled){background:var(--black);color:#fff;transform:scale(1.04)}
.portfolio-carousel-controls button:disabled{opacity:.25;cursor:default}
.home-portfolio-grid{display:flex!important;grid-template-columns:none!important;gap:24px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:max(30px,calc((100vw - 1180px)/2));padding:0 max(30px,calc((100vw - 1180px)/2)) 34px;scrollbar-width:none;outline:none}
.home-portfolio-grid::-webkit-scrollbar{display:none}
.home-portfolio-grid::after{content:"";flex:0 0 max(6vw,40px)}
.home-portfolio-grid .preview-card,.home-portfolio-grid .preview-card:nth-child(1),.home-portfolio-grid .preview-card:nth-child(2),.home-portfolio-grid .preview-card:nth-child(4),.home-portfolio-grid .preview-card:nth-child(5){flex:0 0 min(72vw,920px);grid-column:auto;min-height:clamp(470px,53vw,700px);scroll-snap-align:start;scroll-snap-stop:always;border-radius:0}
.home-portfolio-grid:focus-visible{box-shadow:inset 0 0 0 2px var(--signal)}
.carousel-card::after{display:block;content:"";position:absolute;inset:auto 0 0;height:46%;border-radius:0;background:linear-gradient(transparent,rgba(0,0,0,.84));pointer-events:none}
.preview-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;transition:transform .8s cubic-bezier(.22,1,.36,1),filter .4s ease}
.carousel-card:hover .preview-card-image{transform:scale(1.035)}
.carousel-card .preview-card-year{position:absolute;z-index:2;right:26px;top:48px;color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.12em}
.carousel-card .preview-card-index{top:26px}
.carousel-card h4{font-size:clamp(48px,6vw,88px)}

@media (min-width:901px){
  .home-portfolio.is-pinned-work{padding:0;overflow:visible}
  .is-pinned-work .home-portfolio-sticky{position:sticky;top:0;display:flex;min-height:100svh;flex-direction:column;justify-content:center;overflow:hidden;padding:76px 0 28px}
  .is-pinned-work .home-portfolio-head{margin-bottom:26px}
  .is-pinned-work .home-portfolio-head h2{font-size:clamp(46px,5.2vw,78px)}
  .is-pinned-work .portfolio-carousel-meta{margin-bottom:14px}
  .is-pinned-work .home-portfolio-grid{overflow:visible;overscroll-behavior:auto;scroll-snap-type:none;scroll-padding:0;padding-left:max(30px,calc((100vw - min(58vw,760px))/2));padding-right:max(30px,calc((100vw - min(58vw,760px))/2));padding-bottom:18px;will-change:transform}
  .is-pinned-work .home-portfolio-grid .preview-card,.is-pinned-work .home-portfolio-grid .preview-card:nth-child(1),.is-pinned-work .home-portfolio-grid .preview-card:nth-child(2),.is-pinned-work .home-portfolio-grid .preview-card:nth-child(4),.is-pinned-work .home-portfolio-grid .preview-card:nth-child(5){flex-basis:min(58vw,760px);min-height:clamp(370px,46vh,530px)}
  .is-pinned-work .home-portfolio-grid.portfolio-ready .preview-card{opacity:1;transform:translate3d(0,var(--work-y,0),0) rotate(var(--work-rotate,0deg)) scale(var(--work-scale,1)) perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:opacity .8s ease,filter .3s ease}
  .is-pinned-work .home-portfolio-grid.portfolio-ready .preview-card:nth-child(n){transition-delay:0s}
}

@media (max-width:700px){
  .portfolio-carousel-meta{padding:0 18px}.portfolio-carousel-controls button{width:46px;height:46px}
  .home-portfolio-grid{gap:14px;scroll-padding-inline:18px;padding-left:18px;padding-right:18px}
  .home-portfolio-grid .preview-card,.home-portfolio-grid .preview-card:nth-child(1),.home-portfolio-grid .preview-card:nth-child(2),.home-portfolio-grid .preview-card:nth-child(4),.home-portfolio-grid .preview-card:nth-child(5){flex-basis:86vw;min-height:520px}
  .portfolio-carousel-shell::after{left:18px;right:18px}.carousel-card h4{font-size:44px}
}

/* Work archive — consolidated 2026 page */
.page-work-index{background:var(--black);color:#fff}
.work-index-hero{position:relative;min-height:100svh;overflow:hidden;padding:118px 0 54px;background:var(--black);color:#fff}
.work-index-gridlines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:25vw 25vw;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.work-index-hero-inner{position:relative;z-index:1;display:flex;min-height:calc(100svh - 172px);flex-direction:column}
.work-index-hero h1{margin:auto 0 0;font-size:clamp(100px,17vw,250px);font-weight:500;line-height:.68;letter-spacing:-.095em;text-transform:uppercase}
.work-index-hero h1 em{display:block;padding-left:16vw;font-family:"Instrument Serif",serif;font-weight:400;color:var(--signal);text-transform:none}
.work-index-hero-foot{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-top:auto;padding-top:78px}
.work-index-hero-foot>p{max-width:520px;margin:0;color:rgba(255,255,255,.62);font-size:18px;line-height:1.55}
.work-index-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18)}
.work-index-stats div{display:flex;align-items:flex-end;gap:10px;padding:18px 0 0;border-right:1px solid rgba(255,255,255,.18)}
.work-index-stats div:last-child{border-right:0;padding-left:18px}.work-index-stats div:nth-child(2){padding-left:18px}
.work-index-stats strong{font-size:clamp(38px,5vw,70px);font-weight:500;line-height:.8;letter-spacing:-.07em}
.work-index-stats span{padding-bottom:2px;color:rgba(255,255,255,.5);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.portfolio-dome-section{position:relative;overflow:hidden;padding:118px 0 0;background:#090a0b;color:#fff}
.portfolio-dome-heading{position:relative;z-index:2;display:grid;grid-template-columns:minmax(180px,.55fr) 1.45fr;gap:40px;align-items:start}
.portfolio-dome-heading>div{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:30px;align-items:end}
.portfolio-dome-heading h2{margin:0;font-size:clamp(62px,9vw,136px);font-weight:500;line-height:.78;letter-spacing:-.075em}
.portfolio-dome-heading h2 em{font-family:"Instrument Serif",serif;font-weight:400;color:var(--signal)}
.portfolio-dome-heading>div>p{margin:0 0 7px;color:rgba(255,255,255,.5);font-size:14px;line-height:1.5}
.portfolio-dome{position:relative;width:100%;height:min(880px,92svh);min-height:660px;margin-top:56px;--dome-radius:660px;--dome-segments-x:23;--dome-segments-y:23;--dome-circ:calc(var(--dome-radius) * 3.14);--dome-rot-y:calc((360deg / var(--dome-segments-x)) / 2);--dome-rot-x:calc((360deg / var(--dome-segments-y)) / 2);--dome-item-width:calc(var(--dome-circ) / var(--dome-segments-x));--dome-item-height:calc(var(--dome-circ) / var(--dome-segments-y));background:radial-gradient(circle at 50% 48%,rgba(239,23,70,.2),transparent 25%),#090a0b}
.portfolio-dome-main{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;touch-action:none;user-select:none;cursor:grab}
.portfolio-dome-main.is-dragging{cursor:grabbing}
.portfolio-dome-stage{width:100%;height:100%;display:grid;place-items:center;perspective:calc(var(--dome-radius) * 2);perspective-origin:50% 49%;contain:layout paint size}
.portfolio-dome-sphere,.portfolio-dome-item,.portfolio-dome-project{transform-style:preserve-3d}
.portfolio-dome-sphere{position:relative;transform:translateZ(calc(var(--dome-radius) * -1));will-change:transform}
.portfolio-dome-item{position:absolute;inset:-999px;margin:auto;width:calc(var(--dome-item-width) * 2);height:calc(var(--dome-item-height) * 2);transform-origin:50% 50%;backface-visibility:hidden;transform:rotateY(calc(var(--dome-rot-y) * (var(--dome-offset-x) + .5))) rotateX(calc(var(--dome-rot-x) * (var(--dome-offset-y) - .5))) translateZ(var(--dome-radius))}
.portfolio-dome-project{position:absolute;inset:7px;display:block;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#17181a;color:#fff;cursor:pointer;backface-visibility:hidden;box-shadow:0 10px 34px rgba(0,0,0,.34);transition:border-color .25s ease,filter .25s ease}
.portfolio-dome-project::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.88));pointer-events:none}
.portfolio-dome-project img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;backface-visibility:hidden;filter:saturate(.88) contrast(1.04);transition:transform .65s cubic-bezier(.22,1,.36,1),filter .25s ease}
.portfolio-dome-project>span{position:absolute;z-index:1;left:12px;right:12px;bottom:11px;display:block;text-align:left;pointer-events:none}
.portfolio-dome-project i{display:block;margin-bottom:3px;color:var(--signal);font-size:7px;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.portfolio-dome-project strong{display:block;overflow:hidden;font-size:11px;font-weight:500;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
.portfolio-dome-project:focus-visible{border-color:var(--signal);outline:none;filter:brightness(1.12)}
@media (hover:hover) and (pointer:fine){
  .portfolio-dome-project:hover{border-color:var(--signal);filter:brightness(1.12)}
}
.portfolio-dome-preview{position:absolute;z-index:10;left:50%;top:49%;width:min(680px,62vw);aspect-ratio:1.48;overflow:hidden;border:1px solid rgba(255,255,255,.45);border-radius:18px;background:#111;color:#fff;box-shadow:0 38px 110px rgba(0,0,0,.82),0 0 0 1px rgba(239,23,70,.28),0 0 52px rgba(239,23,70,.2);opacity:0;pointer-events:none;transform:translate(-50%,-46%) scale(.94);transition:opacity .22s ease,transform .46s cubic-bezier(.22,1,.36,1)}
.portfolio-dome-preview.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.portfolio-dome-preview-media,.portfolio-dome-preview-frame{position:absolute;inset:0;width:100%;height:100%}
.portfolio-dome-preview-media{background:#17181a}
.portfolio-dome-preview-frame{display:block;object-fit:cover;opacity:0;transform:scale(1.015);filter:saturate(.98) contrast(1.02);transition:opacity .6s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}
.portfolio-dome-preview-frame.is-active{opacity:1;transform:scale(1)}
.portfolio-dome-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 28%,transparent 48%,rgba(0,0,0,.9));pointer-events:none}
.portfolio-dome-preview-topline{position:absolute;z-index:2;left:20px;right:20px;top:18px;display:flex;justify-content:space-between;color:rgba(255,255,255,.78);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.portfolio-dome-preview-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:grid;grid-template-columns:1fr auto;gap:8px 24px;align-items:end;text-align:left}
.portfolio-dome-preview-copy>span{grid-column:1/-1;color:var(--signal);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.portfolio-dome-preview-copy>strong{font-size:clamp(30px,4vw,58px);font-weight:500;line-height:.86;letter-spacing:-.055em}
.portfolio-dome-preview-progress{display:grid;grid-template-columns:auto 62px auto;gap:8px;align-items:center;padding-bottom:3px;font-size:8px;font-weight:700;letter-spacing:.1em}
.portfolio-dome-preview-progress i{font-style:normal}.portfolio-dome-preview-progress b{height:1px;background:rgba(255,255,255,.65)}
.portfolio-dome::after{content:"";position:absolute;z-index:8;inset:0;background:rgba(5,6,7,.52);opacity:0;pointer-events:none;transition:opacity .22s ease}
.portfolio-dome.is-previewing::after{opacity:1}
.portfolio-dome-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle,transparent 53%,#090a0b 92%)}
.portfolio-dome-overlay-blur{background:none;-webkit-mask-image:radial-gradient(circle,transparent 58%,#000 88%);mask-image:radial-gradient(circle,transparent 58%,#000 88%);backdrop-filter:blur(4px)}
.portfolio-dome-edge{position:absolute;z-index:5;left:0;right:0;height:130px;pointer-events:none;background:linear-gradient(to bottom,transparent,#090a0b)}
.portfolio-dome-edge-top{top:0;transform:rotate(180deg)}.portfolio-dome-edge-bottom{bottom:0}
.portfolio-dome-reticle{position:absolute;z-index:6;left:50%;top:49%;width:38px;height:38px;pointer-events:none;opacity:.54;transform:translate(-50%,-50%)}
.portfolio-dome-reticle::before,.portfolio-dome-reticle::after{content:"";position:absolute;background:rgba(255,255,255,.48)}
.portfolio-dome-reticle::before{left:50%;top:0;width:1px;height:100%}.portfolio-dome-reticle::after{left:0;top:50%;width:100%;height:1px}
.portfolio-dome-reticle i{position:absolute;width:5px;height:5px;border:1px solid var(--signal)}.portfolio-dome-reticle i:first-child{left:-2px;top:-2px}.portfolio-dome-reticle i:last-child{right:-2px;bottom:-2px}
.portfolio-dome-hud{position:absolute;z-index:7;left:30px;right:30px;bottom:26px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:rgba(255,255,255,.46);font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;pointer-events:none}
.portfolio-dome-hud strong{color:#fff;font-size:9px;letter-spacing:.14em}.portfolio-dome-hud span:last-child{text-align:right}
.work-index-archive{background:var(--cloud);color:var(--black)}
.work-index-filterbar{position:sticky;z-index:5;top:78px;border-bottom:1px solid rgba(9,10,11,.16);background:rgba(241,240,235,.94);backdrop-filter:blur(16px)}
.work-index-filterbar-inner{display:flex;align-items:center;gap:30px;min-height:84px}
.work-index-filterbar-inner>p{flex:none;margin:0;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.work-index-filterbar .filters{display:flex;gap:7px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.work-index-filterbar .filters::-webkit-scrollbar{display:none}
.work-index-filterbar .filter-btn{flex:none;padding:10px 15px;border:1px solid rgba(9,10,11,.18);border-radius:999px;background:transparent;color:var(--black);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.work-index-filterbar .filter-btn.active,.work-index-filterbar .filter-btn:hover{border-color:var(--black);background:var(--black);color:#fff}
.work-index-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:80px 26px;max-width:1240px;margin:0 auto;padding:110px 30px 150px}
.work-index-card{grid-column:span 6;min-width:0}.work-index-card:nth-child(4n+1),.work-index-card:nth-child(4n){grid-column:span 7}.work-index-card:nth-child(4n+2),.work-index-card:nth-child(4n+3){grid-column:span 5}
.work-index-card-open{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.work-index-card-number{display:block;margin-bottom:14px;color:#777974;font-size:10px;font-weight:700;letter-spacing:.13em}
.work-index-card-media{position:relative;display:block;overflow:hidden;min-height:clamp(350px,44vw,620px);background:#d8d7d2}
.work-index-card:nth-child(4n+2) .work-index-card-media,.work-index-card:nth-child(4n+3) .work-index-card-media{min-height:clamp(350px,38vw,540px)}
.work-index-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 64%,rgba(0,0,0,.16));opacity:.55;transition:opacity .4s ease}
.work-index-card-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .75s ease,transform 1.1s cubic-bezier(.22,1,.36,1),filter .4s ease}
.work-index-card-media img.is-active{z-index:1;opacity:1;transform:scale(1)}
.work-index-card-open:hover .work-index-card-media img{transform:scale(1.035)}
.work-index-card-open:hover .work-index-card-media::after{opacity:0}
.work-index-card-progress{position:absolute;z-index:3;left:16px;right:16px;bottom:14px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;color:#fff;font-size:8px;font-weight:700;letter-spacing:.12em;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.work-index-card-progress i{font-style:normal}.work-index-card-progress b{height:1px;background:rgba(255,255,255,.58)}
.work-index-card-copy{display:grid;grid-template-columns:110px 1fr;gap:10px 24px;padding-top:20px}
.work-index-card-category{padding-top:8px;color:#777974;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.work-index-card-copy strong{font-size:clamp(34px,4.2vw,64px);font-weight:500;line-height:.9;letter-spacing:-.06em}
.work-index-card-tags{grid-column:2;display:flex;flex-wrap:wrap;gap:8px}.work-index-card-tags i{font-size:9px;font-style:normal;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.work-index-card-arrow{position:absolute;z-index:4;right:18px;top:52px;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--signal);color:var(--black);font-size:20px;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}
.work-index-card-open:hover .work-index-card-arrow{opacity:1;transform:none}
.work-index-cta{padding:150px 0;background:var(--black);color:#fff}.work-index-cta h2{margin:64px 0;font-size:clamp(70px,11vw,164px);font-weight:500;line-height:.77;letter-spacing:-.08em}.work-index-cta h2 em{font-family:"Instrument Serif",serif;font-weight:400;color:var(--signal)}
.work-index-cta a{display:inline-flex;align-items:center;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--signal);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.page-work-index .modal-panel{max-width:980px;border-radius:0;background:var(--cloud);color:var(--black)}
.page-work-index .modal-cover{height:auto;min-height:0;background:none}.page-work-index .modal-cover img{display:block;width:100%;max-height:620px;object-fit:cover}
.page-work-index .modal-thumb{min-height:150px;background:none}.page-work-index .modal-thumb img{width:100%;height:100%;object-fit:cover}
.page-work-index .modal-close{background:var(--signal);color:var(--black)}

@media (max-width:900px){
  .portfolio-dome-heading{grid-template-columns:1fr}.portfolio-dome-heading>div{grid-template-columns:1fr 210px}.portfolio-dome{height:78svh;min-height:620px}
  .work-index-hero h1 em{padding-left:8vw}.work-index-hero-foot{grid-template-columns:1fr;gap:45px}.work-index-filterbar{top:68px}
  .work-index-grid{gap:60px 18px;padding-top:80px}.work-index-card,.work-index-card:nth-child(n){grid-column:span 6}.work-index-card-media,.work-index-card:nth-child(n) .work-index-card-media{min-height:420px}
  .work-index-card-copy{grid-template-columns:1fr}.work-index-card-category,.work-index-card-tags{grid-column:1}.work-index-card-copy strong{font-size:42px}
}
@media (max-width:600px){
  .portfolio-dome-section{padding-top:84px}.portfolio-dome-heading{padding:0 18px;gap:48px}.portfolio-dome-heading>div{display:block}.portfolio-dome-heading h2{font-size:18vw}.portfolio-dome-heading>div>p{max-width:280px;margin:28px 0 0}.portfolio-dome{height:76svh;min-height:570px;margin-top:30px}.portfolio-dome-project{inset:5px;border-radius:8px}.portfolio-dome-project>span{left:8px;right:8px;bottom:7px}.portfolio-dome-project i{display:none}.portfolio-dome-project strong{font-size:9px}.portfolio-dome-overlay{background:radial-gradient(circle,transparent 45%,#090a0b 91%)}.portfolio-dome-hud{left:18px;right:18px;bottom:16px}.portfolio-dome-hud strong{font-size:8px}
  .work-index-hero{padding:100px 0 42px}.work-index-hero-inner{min-height:calc(100svh - 142px)}.work-index-hero h1{max-width:100%;font-size:clamp(60px,22vw,96px);line-height:.72;white-space:nowrap}.work-index-hero h1 em{padding-left:0}.work-index-hero-foot{padding-top:60px}.work-index-hero-foot>p{font-size:15px}
  .work-index-stats strong{font-size:38px}.work-index-stats div{display:block;padding-right:8px}.work-index-stats div:nth-child(2),.work-index-stats div:last-child{padding-left:10px}.work-index-stats span{display:block;margin-top:8px}
  .work-index-filterbar-inner{display:block;padding:16px 18px 8px}.work-index-filterbar-inner>p{margin-bottom:4px}.work-index-grid{grid-template-columns:1fr;gap:60px;padding:64px 18px 100px}.work-index-card,.work-index-card:nth-child(n){grid-column:1}.work-index-card-media,.work-index-card:nth-child(n) .work-index-card-media{min-height:440px}.work-index-card-copy strong{font-size:40px}.work-index-card-arrow{opacity:1;transform:none}
  .work-index-cta{padding:100px 0}.work-index-cta h2{font-size:20vw}
}

@media (prefers-reduced-motion:reduce){
  .portfolio-dome-project,.portfolio-dome-project img{transition:none}
}

/* Portfolio project view — keep case studies inside the new visual system. */
.page-work-index .site-nav a[aria-current="page"]{
  color:#fff!important;
  background:transparent!important;
  box-shadow:inset 0 -2px 0 var(--signal);
}
.page-work-index .site-nav a[aria-current="page"]:hover{
  color:#fff!important;
  background:transparent!important;
}
.page-work-index .site-nav a[aria-current="page"]::before,
.page-work-index .site-nav a[aria-current="page"]::after{
  color:var(--signal);
  background:transparent!important;
}
.page-work-index .site-nav a[aria-current="page"] span,
.page-work-index .site-nav a[aria-current="page"]:hover span{
  color:#fff!important;
  transform:none!important;
}
.page-work-index .site-nav a[aria-current="page"] span::after{
  content:none!important;
  display:none!important;
}
.page-work-index .modal.open{display:block;background:var(--black)}
.page-work-index .modal-backdrop{display:none}
.page-work-index .modal-panel{
  position:relative;
  width:100%;
  max-width:none;
  height:100svh;
  max-height:none;
  margin:0;
  padding:clamp(96px,10vw,148px) max(30px,calc((100vw - 1180px)/2)) 110px;
  overflow-y:auto;
  border:0;
  border-radius:0;
  background:var(--cloud);
  color:var(--black);
}
.page-work-index .modal-panel::before{
  content:"PROJECT / INCONCRETO";
  position:absolute;
  top:34px;
  left:max(30px,calc((100vw - 1180px)/2));
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
}
.page-work-index .modal-close{
  position:fixed;
  z-index:2;
  top:20px;
  right:24px;
  width:58px;
  height:58px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:0;
  background:var(--black);
  color:#fff;
  font-size:28px;
}
.page-work-index .modal-panel>.overline{margin:0 0 20px;color:#747671}
.page-work-index .modal-panel h2{
  max-width:1000px;
  margin:0;
  font-size:clamp(58px,9vw,132px);
  line-height:.82;
  letter-spacing:-.075em;
}
.page-work-index .modal-claim{
  max-width:660px;
  margin:36px 0 64px;
  color:#60625e;
  font-size:clamp(18px,2vw,28px);
  line-height:1.4;
}
.page-work-index .modal-cover{width:100%;margin:0 0 24px;overflow:hidden}
.page-work-index .modal-cover img{width:100%;max-height:none;aspect-ratio:16/9;object-fit:cover}
.page-work-index .modal-gallery{grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 82px}
.page-work-index .modal-thumb{min-height:0;aspect-ratio:4/3;overflow:hidden}
.page-work-index .modal-body{
  display:grid;
  grid-template-columns:180px minmax(0,760px);
  gap:18px 48px;
  max-width:990px;
  padding-top:54px;
  border-top:1px solid rgba(9,10,11,.2);
}
.page-work-index .modal-body h3{margin:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.page-work-index .modal-body p,.page-work-index .modal-body .tag-list{margin:0 0 34px;grid-column:2;color:#555752;font-size:18px}
.page-work-index .modal-actions{margin-top:42px;padding-left:228px}
.page-work-index .modal-actions .dark-button{min-height:58px;padding:0 26px;border-radius:0;background:var(--signal);color:var(--black)}

@media (max-width:700px){
  .page-work-index .modal-panel{padding:94px 18px 80px}
  .page-work-index .modal-panel::before{left:18px;top:28px}
  .page-work-index .modal-close{top:12px;right:12px;width:52px;height:52px}
  .page-work-index .modal-panel h2{font-size:clamp(48px,16vw,76px)}
  .page-work-index .modal-claim{margin:24px 0 42px}
  .page-work-index .modal-cover img{aspect-ratio:4/5}
  .page-work-index .modal-gallery{grid-template-columns:repeat(2,1fr);margin-bottom:58px}
  .page-work-index .modal-body{grid-template-columns:1fr;gap:10px;padding-top:34px}
  .page-work-index .modal-body p,.page-work-index .modal-body .tag-list{grid-column:1;margin-bottom:28px;font-size:16px}
  .page-work-index .modal-actions{padding-left:0}
}

/* Inconcreto Fold Hero — scroll-driven 3D header */
.hero-reference.hero-fold{position:relative;isolation:isolate;display:block;min-height:190svh;height:190svh;padding:0;overflow:clip;color:#fff;background:var(--black)}
.fold-hero-sticky{position:sticky;top:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100svh;min-height:620px;padding:108px 30px 26px;overflow:hidden;perspective:1400px;background:radial-gradient(circle at calc(50% + var(--pointer-x,0) * 12%) calc(46% + var(--pointer-y,0) * 10%),rgba(239,23,70,.19),transparent 31%),linear-gradient(180deg,#090a0b 0%,#050506 100%)}
.fold-hero-sticky::before{content:"";position:absolute;inset:94px 30px 0;z-index:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:clamp(72px,8vw,132px) clamp(72px,8vw,132px);mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 92%)}
.hero-fold .hero-crosshair-grid{position:absolute;inset:94px 30px 0;z-index:1;display:block;pointer-events:none;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.13) 50%,transparent calc(50% + .5px)),linear-gradient(180deg,transparent calc(50% - .5px),rgba(255,255,255,.13) 50%,transparent calc(50% + .5px))}
.hero-fold .hero-crosshair-grid::before{left:50%;top:50%}.hero-fold .hero-crosshair-grid::after{right:-7px;top:50%}
.fold-hero-meta{position:relative;z-index:5;display:grid;grid-template-columns:1fr 1fr auto;gap:24px;padding:0 0 18px;border-bottom:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.48);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.fold-hero-meta span:nth-child(2){text-align:center}
.hero-fold .fold-hero-stage{position:relative;z-index:3;display:block;min-height:0;margin:0 -30px;overflow:visible;border:0;perspective:1400px;background:radial-gradient(circle at 50% 50%,rgba(239,23,70,.2),transparent 36%)}
.hero-fold .fold-hero-stage::before{content:"";position:absolute;left:50%;top:50%;width:min(62vw,850px);aspect-ratio:1;border:1px solid rgba(239,23,70,.3);border-radius:50%;box-shadow:0 0 110px rgba(239,23,70,.12),inset 0 0 110px rgba(239,23,70,.06);transform:translate(-50%,-50%) scale(calc(.72 + var(--hero-progress,0) * .3))}
.hero-fold .fold-hero-stage::after{content:"+";position:absolute;left:50%;top:50%;color:#fff;font:22px/1 monospace;opacity:calc(.28 + var(--hero-progress,0) * .5);transform:translate(-50%,-50%)}
.hero-fold .mobile-fold-kicker,.hero-fold .mobile-fold-index,.hero-fold .mobile-fold-hint{position:absolute;z-index:6;color:rgba(255,255,255,.48);font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.hero-fold .mobile-fold-kicker{left:30px;top:22px}.hero-fold .mobile-fold-index{right:30px;top:22px;color:var(--signal)}.hero-fold .mobile-fold-hint{right:30px;bottom:20px}
.hero-fold .mobile-fold-orbit{position:absolute;left:50%;top:50%;width:min(78vw,1050px);height:min(78vw,1050px);border:1px dashed rgba(255,255,255,.14);border-radius:50%;transform:translate(-50%,-50%) rotate(calc(var(--hero-progress,0) * 110deg));transition:none}
.hero-fold .mobile-fold-orbit::before{content:"";position:absolute;left:50%;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--signal);box-shadow:0 0 22px var(--signal)}
.hero-fold .mobile-fold-word{position:absolute;z-index:5;left:50%;top:50%;width:108vw;height:19vw;max-height:270px;transform-style:preserve-3d;transform:translate(-50%,-50%) translateY(calc((.5 - var(--hero-progress,0)) * 4vh)) rotateZ(calc(-5deg + var(--hero-progress,0) * 8deg)) rotateY(calc(var(--pointer-x,0) * 7deg)) scale(calc(.88 + var(--hero-progress,0) * .12));transition:opacity .32s ease,filter .32s ease;will-change:transform}
.hero-fold .mobile-fold-stage.is-switching .mobile-fold-word{opacity:.08;filter:blur(18px)}
.hero-fold .mobile-fold-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--signal);font-size:18.2vw;font-weight:500;line-height:1;letter-spacing:-.095em;white-space:nowrap;backface-visibility:hidden;text-shadow:0 0 45px rgba(239,23,70,.09);will-change:transform}
.hero-fold .mobile-fold-face-top{clip-path:inset(0 0 66.4% 0);transform-origin:50% 33.4%;transform:rotateX(calc(-68deg + var(--hero-progress,0) * 62deg)) translateZ(2px);filter:brightness(.42)}
.hero-fold .mobile-fold-face-center{clip-path:inset(33.1% 0 33.1% 0);transform:translateZ(0) scaleY(calc(.84 + var(--hero-progress,0) * .16));filter:brightness(1.04)}
.hero-fold .mobile-fold-face-bottom{clip-path:inset(66% 0 0 0);transform-origin:50% 66%;transform:rotateX(calc(70deg - var(--hero-progress,0) * 64deg)) translateZ(2px);filter:brightness(.58)}
.fold-hero-bottom{position:relative;z-index:6;display:grid;grid-template-columns:minmax(260px,560px) auto 1fr;align-items:end;gap:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);opacity:calc(.62 + var(--hero-progress,0) * .38)}
.fold-hero-bottom>p{margin:0;color:rgba(255,255,255,.68);font-size:clamp(15px,1.35vw,20px);line-height:1.42}.fold-hero-bottom .outline-cta{flex:none}
.fold-hero-links{justify-self:end;display:flex;gap:20px;padding-bottom:15px}.fold-hero-links a{color:rgba(255,255,255,.54);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.fold-hero-links a:hover{color:var(--signal)}
.fold-progress{position:absolute;z-index:8;right:14px;top:112px;bottom:28px;width:2px;background:rgba(255,255,255,.12)}.fold-progress i{display:block;width:100%;height:calc(var(--hero-progress,0) * 100%);background:var(--signal);box-shadow:0 0 14px rgba(239,23,70,.65)}

@media (max-width:900px){
  .hero-reference.hero-fold{height:180svh;min-height:180svh}
  .fold-hero-sticky{min-height:0;padding:92px 18px 22px}
  .fold-hero-sticky::before,.hero-fold .hero-crosshair-grid{inset:78px 18px 0}
  .fold-hero-meta{grid-template-columns:1fr auto;font-size:8px}.fold-hero-meta span:nth-child(2){display:none}
  .hero-fold .fold-hero-stage{margin:0 -18px}.hero-fold .mobile-fold-word{width:116vw;height:25vw}.hero-fold .mobile-fold-face{font-size:21vw}
  .hero-fold .mobile-fold-kicker{left:18px}.hero-fold .mobile-fold-index{right:18px}.hero-fold .mobile-fold-hint{right:18px}
  .fold-hero-bottom{grid-template-columns:1fr auto;gap:22px}.fold-hero-bottom>p{max-width:510px}.fold-hero-links{display:none}
}
@media (max-width:600px){
  .hero-reference.hero-fold{height:175svh;min-height:175svh}
  .fold-hero-sticky{grid-template-rows:auto minmax(0,1fr) auto;padding:82px 14px 14px}
  .fold-hero-sticky::before,.hero-fold .hero-crosshair-grid{inset:78px 14px 0}
  .fold-hero-meta{padding-bottom:12px;font-size:7px;letter-spacing:.11em}
  .hero-fold .fold-hero-stage{display:block;min-height:0;margin:0 -14px;background:radial-gradient(circle at 50% 50%,rgba(239,23,70,.24),transparent 43%)}
  .hero-fold .fold-hero-stage::before{width:91vw}.hero-fold .mobile-fold-orbit{width:116vw;height:116vw}
  .hero-fold .mobile-fold-word{width:124vw;height:29vw;transform:translate(-50%,-50%) translateY(calc((.5 - var(--hero-progress,0)) * 3vh)) rotateZ(calc(-6deg + var(--hero-progress,0) * 10deg)) rotateY(calc(var(--pointer-x,0) * 5deg)) scale(calc(.86 + var(--hero-progress,0) * .14))}
  .hero-fold .mobile-fold-face{font-size:24vw}
  .hero-fold .mobile-fold-kicker{left:14px;top:14px;font-size:7px}.hero-fold .mobile-fold-index{right:14px;top:14px;font-size:7px}.hero-fold .mobile-fold-hint{right:14px;bottom:12px;font-size:7px}
  .fold-hero-bottom{display:grid;grid-template-columns:1fr auto;gap:15px;padding-top:14px}.fold-hero-bottom>p{font-size:13px;line-height:1.38}
  .fold-hero-bottom .outline-cta span{padding:10px 13px;font-size:9px}.fold-hero-bottom .outline-cta i{width:38px;height:38px}
  .fold-progress{right:5px;top:84px;bottom:16px;width:1px}
}
@media (prefers-reduced-motion:reduce){
  .hero-reference.hero-fold{height:100svh;min-height:100svh}
  .hero-fold .mobile-fold-word{transform:translate(-50%,-50%)}
  .hero-fold .mobile-fold-face-top,.hero-fold .mobile-fold-face-bottom{transform:none}
  .hero-fold .mobile-fold-orbit{transform:translate(-50%,-50%)}
}

/* Ribbon Fold Hero — mirrors the original three-window fold geometry. */
.hero-reference.hero-ribbon{position:relative;isolation:isolate;display:block;min-height:280svh;height:280svh;padding:0;overflow:clip;background:#050506;color:#fff}
.hero-reference.hero-ribbon::before{display:none}
.ribbon-screen{position:sticky;top:0;display:flex;align-items:center;justify-content:center;width:100%;height:100svh;min-height:640px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(239,23,70,.16),transparent 36%),#050506;perspective:1200px}
.ribbon-screen::before{content:"";position:absolute;inset:94px 30px 0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:clamp(76px,8vw,130px) clamp(76px,8vw,130px);mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 92%)}
.ribbon-wrapper{position:relative;z-index:2;width:min(64vw,1080px);height:68vh;perspective:20vw;transform-style:preserve-3d}
.ribbon-fold{position:relative;overflow:hidden;width:100%;height:100%;background:#08090a;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);backface-visibility:hidden}
.ribbon-fold-top{position:absolute;left:0;right:0;bottom:100%;transform-origin:bottom center;transform:rotateX(-120deg);filter:brightness(.46) saturate(.78)}
.ribbon-fold-bottom{position:absolute;left:0;right:0;top:100%;transform-origin:top center;transform:rotateX(120deg);filter:brightness(.62) saturate(.9)}
.ribbon-fold-center{box-shadow:0 0 80px rgba(0,0,0,.46),0 0 55px rgba(239,23,70,.06)}
.ribbon-fold-align,.ribbon-fold-content{width:100%;height:100%}.ribbon-fold-content{will-change:transform}
.ribbon-fold-top .ribbon-fold-align{transform:translateY(100%)}.ribbon-fold-bottom .ribbon-fold-align{transform:translateY(-100%)}
.ribbon-stream{width:100%;min-height:250vh;background:#08090a;color:#fff}
.ribbon-story{display:flex;min-height:50vh;flex-direction:column;justify-content:center;padding:6vh clamp(26px,5vw,82px);border-bottom:1px solid rgba(255,255,255,.12)}
.ribbon-story>p{margin:0 0 25px;color:var(--signal);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.ribbon-story>small{margin-top:28px;color:rgba(255,255,255,.45);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.ribbon-title{margin:0;font-size:clamp(64px,7.3vw,132px);font-weight:500;line-height:.76;letter-spacing:-.075em;text-transform:uppercase}
.ribbon-title span,.ribbon-title strong{display:block}.ribbon-title strong{color:var(--signal);font-weight:500}.ribbon-title span:nth-child(2){padding-left:9vw}
.ribbon-story-opening .ribbon-title>span:last-child{padding-top:.12em;font-size:.72em;line-height:1}
.ribbon-title-outline span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.82)}.ribbon-title-outline span:nth-child(2){padding-left:7vw;color:var(--signal);-webkit-text-stroke:0}.ribbon-title-outline span:nth-child(3){padding-left:2vw}
.ribbon-project{position:relative;display:grid;min-height:55vh;margin:0;padding:5vh clamp(26px,5vw,82px);grid-template-columns:minmax(0,1fr) minmax(180px,.34fr);gap:22px;align-items:end;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.12);background:#0d0e10}
.ribbon-project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.48) saturate(.86);transform:scale(1.015)}
.ribbon-project::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,6,.82),transparent 58%),linear-gradient(0deg,rgba(5,5,6,.82),transparent 60%)}
.ribbon-project figcaption{position:relative;z-index:2;grid-column:1;display:grid;gap:8px}.ribbon-project figcaption span,.ribbon-project figcaption small{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.ribbon-project figcaption span{color:var(--signal)}.ribbon-project figcaption small{color:rgba(255,255,255,.56)}.ribbon-project figcaption b{font-size:clamp(48px,6vw,96px);font-weight:500;line-height:.84;letter-spacing:-.06em}
.ribbon-project-reverse::after{background:linear-gradient(-90deg,rgba(5,5,6,.82),transparent 58%),linear-gradient(0deg,rgba(5,5,6,.82),transparent 60%)}.ribbon-project-reverse figcaption{grid-column:2;text-align:right}
.ribbon-story-services{min-height:45vh}.ribbon-story-closing{min-height:50vh}
.ribbon-ui{position:absolute;z-index:7;left:30px;right:30px;display:grid;align-items:center;color:rgba(255,255,255,.5);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
.ribbon-ui-top{top:108px;grid-template-columns:1fr auto;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}.ribbon-ui-top span:last-child{text-align:right}
.ribbon-ui-bottom{bottom:24px;grid-template-columns:minmax(260px,530px) auto 1fr;gap:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.ribbon-ui-bottom>p{margin:0;color:rgba(255,255,255,.64);font-size:clamp(13px,1.2vw,17px);font-weight:400;line-height:1.4;letter-spacing:0;text-transform:none}.ribbon-ui-bottom .outline-cta,.ribbon-ui-bottom .ribbon-work-link{pointer-events:auto}.ribbon-work-link{justify-self:end;color:rgba(255,255,255,.68)}.ribbon-work-link:hover{color:var(--signal)}
.ribbon-scroll-meter{position:absolute;z-index:8;right:13px;top:108px;bottom:24px;width:2px;background:rgba(255,255,255,.12)}.ribbon-scroll-meter i{display:block;width:100%;height:calc(var(--hero-progress,0) * 100%);background:var(--signal);box-shadow:0 0 14px rgba(239,23,70,.7)}

@media (max-width:900px){
  .ribbon-screen{min-height:0}.ribbon-screen::before{inset:78px 18px 0}
  .ribbon-wrapper{width:78vw;height:60vh;perspective:28vw}
  .ribbon-ui{left:18px;right:18px}.ribbon-ui-top{top:90px;grid-template-columns:1fr auto}
  .ribbon-ui-bottom{grid-template-columns:1fr auto;gap:20px}.ribbon-work-link{display:none}
  .ribbon-title{font-size:clamp(58px,11vw,108px)}
}
@media (max-width:600px){
  .ribbon-screen::before{inset:78px 14px 0}
  .ribbon-wrapper{width:88vw;height:53vh;perspective:40vw}
  .ribbon-fold{border-color:rgba(255,255,255,.16)}
  .ribbon-ui{left:14px;right:14px;font-size:7px;letter-spacing:.11em}.ribbon-ui-top{top:84px;padding-bottom:10px}
  .ribbon-ui-bottom{bottom:13px;grid-template-columns:1fr auto;gap:12px;padding-top:11px}.ribbon-ui-bottom>p{font-size:11px;line-height:1.32}
  .ribbon-ui-bottom .outline-cta span{padding:9px 11px;font-size:8px}.ribbon-ui-bottom .outline-cta i{width:34px;height:34px;font-size:14px}
  .ribbon-scroll-meter{right:5px;top:84px;bottom:13px;width:1px}
  .ribbon-story{padding:4vh 20px}.ribbon-title{font-size:15vw;line-height:.78}.ribbon-story>p{font-size:8px;margin-bottom:17px}.ribbon-story>small{font-size:7px;margin-top:18px}
  .ribbon-project{grid-template-columns:1fr;padding:4vh 20px}.ribbon-project figcaption,.ribbon-project-reverse figcaption{grid-column:1;text-align:left}.ribbon-project figcaption b{font-size:14vw}.ribbon-project::after,.ribbon-project-reverse::after{background:linear-gradient(0deg,rgba(5,5,6,.86),transparent 72%)}
}
@media (prefers-reduced-motion:reduce){
  .hero-reference.hero-ribbon{height:100svh!important;min-height:100svh}
  .ribbon-fold-top,.ribbon-fold-bottom{display:none}.ribbon-wrapper{height:68vh}.ribbon-fold-content{transform:none!important}
}

/* Applied AI — original layered ASCII wave. */
.ai-wave-section{position:relative;isolation:isolate;overflow:hidden;padding:132px 0 0;background:#050506;color:#fff}
.ai-wave-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 73% 67%,rgba(239,23,70,.14),transparent 26%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,96px 96px,96px 96px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.ai-wave-copy{position:relative;z-index:5}
.ai-wave-copy-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:60px;align-items:end;margin-top:50px}
.ai-wave-copy h2{max-width:980px;margin:0;font-size:clamp(58px,8vw,124px);font-weight:500;line-height:.8;letter-spacing:-.075em}
.ai-wave-copy h2 em{font-family:"Instrument Serif",serif;font-weight:400;color:var(--signal)}
.ai-wave-intro{padding-bottom:7px}
.ai-wave-intro>p{margin:0 0 28px;color:rgba(255,255,255,.64);font-size:clamp(16px,1.4vw,20px);line-height:1.45}
.ai-wave-intro ul{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.16)}
.ai-wave-intro li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ai-wave-intro li::before{content:"+";color:var(--signal);font:14px/1 monospace}
.ascii-wave-stage{--wave-x:50%;--wave-y:50%;--ai-front-x:0px;--ai-front-y:0px;position:relative;height:min(78vw,860px);min-height:600px;margin-top:30px;overflow:hidden;cursor:crosshair;background:radial-gradient(circle at var(--wave-x) var(--wave-y),rgba(239,23,70,.12),transparent 24%),linear-gradient(180deg,transparent,#090a0b 82%)}
.ascii-wave-stage::before{content:"";position:absolute;z-index:1;left:50%;top:50%;width:min(52vw,720px);aspect-ratio:1;border:1px solid rgba(239,23,70,.22);border-radius:50%;box-shadow:0 0 100px rgba(239,23,70,.08);transform:translate(-50%,-43%)}
.ascii-wave-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ascii-wave-back{z-index:2;opacity:.2;filter:blur(.15px)}
.ascii-message-canvas{z-index:5;opacity:1;filter:drop-shadow(0 18px 26px rgba(0,0,0,.74)) drop-shadow(0 0 12px rgba(239,23,70,.32))}
.ascii-portrait-canvas{filter:drop-shadow(0 22px 28px rgba(0,0,0,.62)) drop-shadow(0 0 18px rgba(239,23,70,.3))}
.ascii-wave-front{z-index:6;opacity:.16;filter:drop-shadow(0 0 7px rgba(239,23,70,.22));-webkit-mask-image:linear-gradient(171deg,transparent 0 47%,rgba(0,0,0,.22) 51%,#000 60%);mask-image:linear-gradient(171deg,transparent 0 47%,rgba(0,0,0,.22) 51%,#000 60%);transform:translate3d(var(--ai-front-x),var(--ai-front-y),145px)}
.ai-face-canvas{position:absolute;z-index:5;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 22px 28px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(239,23,70,.2))}
.ascii-wave-scanline{position:absolute;z-index:6;left:0;right:0;top:57%;height:1px;background:linear-gradient(90deg,transparent,var(--signal) 38% 62%,transparent);box-shadow:0 0 22px rgba(239,23,70,.72);opacity:.72;pointer-events:none;animation:asciiScan 5s ease-in-out infinite}
.ascii-wave-coordinate{position:absolute;z-index:7;bottom:28px;color:rgba(255,255,255,.42);font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ascii-wave-coordinate-a{left:30px}.ascii-wave-coordinate-b{right:30px;color:var(--signal)}
.ai-motion-permission{position:absolute;z-index:8;left:50%;bottom:52px;padding:11px 15px;border:1px solid rgba(239,23,70,.56);background:rgba(5,5,6,.76);color:#fff;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transform:translateX(-50%);backdrop-filter:blur(8px)}
.ai-motion-permission[hidden]{display:none}
@keyframes asciiScan{0%,100%{transform:translateY(-42px);opacity:.18}50%{transform:translateY(42px);opacity:.82}}

@media (max-width:900px){
  .ai-wave-copy-grid{grid-template-columns:1fr;gap:38px}.ai-wave-intro{max-width:620px}.ascii-wave-stage{height:820px;margin-top:10px}
}
@media (max-width:600px){
  .ai-wave-section{padding-top:92px}.ai-wave-copy{padding:0 18px}.ai-wave-copy-grid{margin-top:34px;gap:30px}.ai-wave-copy h2{font-size:15vw}.ai-wave-intro>p{font-size:15px}.ascii-wave-stage{height:620px;min-height:620px;margin-top:8px}.ascii-wave-stage::before{width:min(88vw,430px);border-color:rgba(239,23,70,.3);box-shadow:0 0 72px rgba(239,23,70,.15);transform:translate(-50%,-48%)}.ascii-wave-back{opacity:.22}.ascii-portrait-canvas{opacity:1;filter:drop-shadow(0 20px 24px rgba(0,0,0,.7)) drop-shadow(0 0 15px rgba(239,23,70,.34))}.ascii-wave-front{opacity:.18;-webkit-mask-image:linear-gradient(168deg,transparent 0 43%,rgba(0,0,0,.16) 52%,#000 72%);mask-image:linear-gradient(168deg,transparent 0 43%,rgba(0,0,0,.16) 52%,#000 72%)}.ascii-wave-scanline{top:55%;opacity:.54}.ascii-wave-coordinate{bottom:16px;font-size:7px}.ascii-wave-coordinate-a{left:14px}.ascii-wave-coordinate-b{right:14px}.ai-motion-permission{bottom:44px}
}
@media (prefers-reduced-motion:reduce){.ascii-wave-scanline{animation:none;transform:none}.ascii-wave-stage{cursor:default}}

/* Applied AI — “La pagina che pensa”. */
.ai-thinking-stage{position:relative;isolation:isolate;height:min(78vw,880px);min-height:690px;margin-top:34px;overflow:hidden;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);cursor:crosshair;background:radial-gradient(circle at 50% 53%,rgba(239,23,70,.1),transparent 22%),#050506}
.ai-thinking-stage::before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:clamp(64px,8vw,118px) clamp(64px,8vw,118px);mask-image:radial-gradient(ellipse at 50% 52%,#000 0 42%,rgba(0,0,0,.72) 65%,transparent 100%)}
.ai-thinking-stage::after{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 38%,rgba(5,5,6,.26) 72%,#050506 100%)}
.ai-thinking-field{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none}
.ai-thinking-rails{position:absolute;z-index:3;inset:0;pointer-events:none}
.ai-thinking-rail{position:absolute;width:220px;padding:18px;border:1px solid rgba(255,255,255,.16);background:rgba(5,5,6,.74);box-shadow:0 20px 60px rgba(0,0,0,.34);backdrop-filter:blur(8px);font-family:monospace;text-transform:uppercase}
.ai-thinking-rail span{display:block;margin-bottom:25px;color:var(--signal);font-size:8px;font-weight:700;letter-spacing:.12em}
.ai-thinking-rail strong{display:block;margin-bottom:12px;color:rgba(255,255,255,.46);font-size:8px;letter-spacing:.1em}
.ai-thinking-rail p{margin:0;color:#fff;font-size:11px;line-height:1.5;letter-spacing:.04em}
.ai-thinking-rail i{display:block;margin-top:26px;color:var(--signal);font-size:8px;font-style:normal;letter-spacing:.08em}
.ai-thinking-rail-input{left:28px;top:29%}.ai-thinking-rail-process{right:28px;top:23%}
.ai-thinking-rail-process ol{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:ai-process}
.ai-thinking-rail-process li{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.68);font-size:8px;letter-spacing:.08em;counter-increment:ai-process}
.ai-thinking-rail-process li::after{content:"0" counter(ai-process);color:var(--signal)}
.ai-thinking-core{position:absolute;z-index:4;left:50%;top:51%;width:1px;height:1px;perspective:1050px;transform-style:preserve-3d;pointer-events:none}
.ai-thinking-core::before{content:"";position:absolute;left:50%;top:50%;width:min(46vw,620px);height:min(34vw,460px);border-radius:50%;background:radial-gradient(ellipse at center,rgba(239,23,70,.5) 0 1.2%,rgba(239,23,70,.2) 2.4%,rgba(239,23,70,.075) 12%,rgba(239,23,70,.025) 31%,transparent 68%);filter:blur(5px);transform:translate(-50%,-50%) translateZ(-610px);animation:aiCorePulse 3.8s ease-in-out infinite alternate}
.ai-thinking-core::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 7px #fff,0 0 22px rgba(239,23,70,.95),0 0 70px rgba(239,23,70,.72),0 0 150px rgba(239,23,70,.42);transform:translate(-50%,-50%) translateZ(-560px);animation:aiCoreSignal 2.4s ease-in-out infinite alternate}
.ai-thinking-tunnel{position:absolute;inset:0;transform-style:preserve-3d}
.ai-thinking-tunnel>i{position:absolute;left:0;top:0;width:min(86vw,1120px);height:min(58vw,730px);border:1px solid rgba(255,255,255,.105);box-shadow:inset 0 0 48px rgba(239,23,70,.025);transform:translate(-50%,-50%) translateZ(var(--tunnel-z));animation:aiTunnelBreathe 5.5s ease-in-out infinite alternate}
.ai-thinking-tunnel>i:nth-child(2n){border-color:rgba(239,23,70,.14)}
.ai-thinking-tunnel>i:nth-child(2){animation-delay:-.8s}.ai-thinking-tunnel>i:nth-child(3){animation-delay:-1.6s}.ai-thinking-tunnel>i:nth-child(4){animation-delay:-2.4s}.ai-thinking-tunnel>i:nth-child(5){animation-delay:-3.2s}.ai-thinking-tunnel>i:nth-child(6){animation-delay:-4s}
.ai-thinking-plane{position:absolute;left:0;top:0;display:block;width:min(96vw,1260px);height:620px;opacity:.24;background:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:58px 58px;transform-origin:50% 0}
.ai-thinking-plane-floor{transform:translate(-50%,250px) rotateX(73deg) translateZ(-170px);mask-image:linear-gradient(to bottom,#000,transparent 84%)}
.ai-thinking-plane-ceiling{transform:translate(-50%,-250px) rotateX(-73deg) translateZ(-170px);mask-image:linear-gradient(to bottom,#000,transparent 84%)}
.ai-thinking-plane-left{transform-origin:0 50%;transform:translate(-560px,-50%) rotateY(72deg) translateZ(-170px);mask-image:linear-gradient(90deg,#000,transparent 82%)}
.ai-thinking-plane-right{transform-origin:100% 50%;transform:translate(-700px,-50%) rotateY(-72deg) translateZ(-170px);mask-image:linear-gradient(-90deg,#000,transparent 82%)}
@keyframes aiTunnelBreathe{from{transform:translate(-50%,-50%) translateZ(var(--tunnel-z))}to{transform:translate(-50%,-50%) translateZ(calc(var(--tunnel-z) + 34px))}}
@keyframes aiCorePulse{from{opacity:.58;transform:translate(-50%,-50%) translateZ(-640px) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) translateZ(-580px) scale(1.1)}}
@keyframes aiCoreSignal{from{opacity:.68;transform:translate(-50%,-50%) translateZ(-585px) scale(.72)}to{opacity:1;transform:translate(-50%,-50%) translateZ(-535px) scale(1.2)}}
.ai-thinking-panel{position:absolute;left:0;top:0;display:flex;width:clamp(210px,20vw,330px);min-height:150px;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid rgba(255,255,255,.28);border-radius:0;appearance:none;background:rgba(7,8,9,.88);color:#fff;box-shadow:0 28px 75px rgba(0,0,0,.62),0 0 0 1px rgba(239,23,70,.05);font:inherit;text-align:left;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform,opacity,filter;backdrop-filter:blur(10px);cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}
.ai-thinking-panel:hover,.ai-thinking-panel:focus-visible,.ai-thinking-panel[data-active="true"]{border-color:rgba(239,23,70,.86);background:rgba(10,10,12,.96);box-shadow:0 38px 100px rgba(0,0,0,.78),0 0 42px rgba(239,23,70,.2),inset 0 0 0 1px rgba(239,23,70,.18);outline:none}
.ai-thinking-panel[data-active="true"]::before{content:"HOLD / TAP TO RELEASE";position:absolute;right:12px;top:11px;color:rgba(255,255,255,.56);font-family:monospace;font-size:7px;font-weight:700;letter-spacing:.09em}
.ai-thinking-panel::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--signal),transparent 72%)}
.ai-thinking-panel span,.ai-thinking-panel small{font-family:monospace;font-size:8px;font-weight:700;line-height:1.35;letter-spacing:.11em;text-transform:uppercase}
.ai-thinking-panel span{color:var(--signal)}.ai-thinking-panel small{color:rgba(255,255,255,.48)}
.ai-thinking-panel strong{display:block;margin:24px 0;font-size:clamp(31px,4vw,62px);font-weight:600;line-height:.78;letter-spacing:-.065em;text-transform:uppercase}
.ai-panel-ideas{width:clamp(240px,25vw,390px);min-height:190px}.ai-panel-ideas strong,.ai-panel-amplify strong{font-size:clamp(42px,5.3vw,82px)}
.ai-panel-output{width:210px;min-height:205px;border-color:rgba(239,23,70,.48);background:rgba(9,10,11,.94)}
.ai-panel-output strong{font-size:42px}.ai-panel-amplify{width:clamp(250px,27vw,420px);min-height:190px}
.ai-thinking-cursor{position:absolute;z-index:9;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid rgba(239,23,70,.76);pointer-events:none;will-change:transform}
.ai-thinking-cursor::before,.ai-thinking-cursor::after{content:"";position:absolute;background:var(--signal)}
.ai-thinking-cursor::before{left:50%;top:-7px;width:1px;height:46px}.ai-thinking-cursor::after{left:-7px;top:50%;width:46px;height:1px}
.ai-thinking-cursor i{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:var(--signal);box-shadow:0 0 18px rgba(239,23,70,.9);transform:translate(-50%,-50%)}
.ai-thinking-coordinate{position:absolute;z-index:9;bottom:24px;color:rgba(255,255,255,.46);font-family:monospace;font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.ai-thinking-coordinate-a{left:28px}.ai-thinking-coordinate-b{right:28px;color:var(--signal)}
.ai-thinking-stage .ai-motion-permission{z-index:10}

@media (max-width:900px){
  .ai-thinking-stage{height:800px;min-height:800px}.ai-thinking-rail{width:180px;padding:14px}.ai-thinking-rail-input{left:18px}.ai-thinking-rail-process{right:18px}.ai-thinking-panel{width:240px}.ai-panel-ideas,.ai-panel-amplify{width:280px}
}
@media (max-width:600px){
  .ai-thinking-stage{height:690px;min-height:690px;margin-top:16px}.ai-thinking-stage::before{background-size:58px 58px}.ai-thinking-rails{display:none}.ai-thinking-core{top:49%;perspective:760px}.ai-thinking-core::before{width:50vw;height:34vw}.ai-thinking-tunnel>i{width:135vw;height:105vw}.ai-thinking-plane{width:150vw;height:500px;background-size:42px 42px}.ai-thinking-plane-floor{transform:translate(-50%,190px) rotateX(72deg) translateZ(-130px)}.ai-thinking-plane-ceiling{transform:translate(-50%,-190px) rotateX(-72deg) translateZ(-130px)}.ai-thinking-plane-left,.ai-thinking-plane-right{display:none}.ai-thinking-panel{width:188px;min-height:116px;padding:12px}.ai-thinking-panel strong{margin:15px 0;font-size:29px}.ai-thinking-panel span,.ai-thinking-panel small{font-size:6px}.ai-panel-ideas,.ai-panel-amplify{width:216px;min-height:138px}.ai-panel-ideas strong,.ai-panel-amplify strong{font-size:37px}.ai-panel-output{width:156px;min-height:155px}.ai-panel-output strong{font-size:30px}.ai-thinking-coordinate{bottom:15px;font-size:6px}.ai-thinking-coordinate-a{left:14px}.ai-thinking-coordinate-b{right:14px}.ai-thinking-cursor{width:28px;height:28px;margin:-14px 0 0 -14px}.ai-thinking-cursor::before{height:38px;top:-6px}.ai-thinking-cursor::after{width:38px;left:-6px}
  .ai-thinking-core::before{width:82vw;height:62vw}
}
@media (prefers-reduced-motion:reduce){.ai-thinking-stage{cursor:default}.ai-thinking-panel{will-change:auto}.ai-thinking-tunnel>i,.ai-thinking-core::before,.ai-thinking-core::after{animation:none}}

/* Applied AI — interactive matter, from signal to form. */
.ai-matter-stage{--matter-progress:.42;position:relative;isolation:isolate;height:min(72vw,820px);min-height:680px;margin-top:34px;overflow:hidden;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);background:#050506;color:#fff;cursor:crosshair;touch-action:pan-y}
.ai-matter-stage::before{content:"";position:absolute;z-index:0;inset:-20%;background:radial-gradient(circle at 50% 52%,rgba(239,23,70,.16),transparent 9%),radial-gradient(ellipse at 50% 52%,rgba(239,23,70,.055),transparent 38%),linear-gradient(rgba(255,255,255,.038) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.038) 1px,transparent 1px);background-size:auto,auto,72px 72px,72px 72px;transform:perspective(900px) rotateX(62deg) scale(1.28);transform-origin:50% 52%}
.ai-matter-stage::after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 32%,rgba(5,5,6,.15) 67%,#050506 100%)}
.ai-matter-canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}
.ai-matter-hud{position:absolute;z-index:7;left:28px;right:28px;top:24px;display:flex;justify-content:space-between;color:rgba(255,255,255,.42);font-family:monospace;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;pointer-events:none}
.ai-matter-hud span:last-child{color:var(--signal)}
.ai-matter-word{position:absolute;z-index:3;left:50%;top:49%;width:min(76vw,960px);text-align:center;pointer-events:none;transform:translate(-50%,-50%)}
.ai-matter-word>span{display:block;margin-bottom:18px;color:var(--signal);font-family:monospace;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ai-matter-word strong{display:block;color:transparent;font-size:clamp(96px,16vw,235px);font-weight:700;line-height:.72;letter-spacing:-.075em;text-transform:uppercase;-webkit-text-stroke:1px rgba(255,255,255,.14);opacity:.28;transform:scale(1);transition:opacity .35s ease,font-size .45s cubic-bezier(.2,.8,.2,1)}
.ai-matter-stage[data-state="0"] .ai-matter-word strong{opacity:.1}.ai-matter-stage[data-state="2"] .ai-matter-word strong{opacity:.36}.ai-matter-stage[data-state="3"] .ai-matter-word strong{opacity:.5}
.ai-matter-word p{max-width:540px;margin:32px auto 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.45}
.ai-matter-meter{position:absolute;z-index:7;left:28px;right:28px;bottom:107px;height:1px;background:rgba(255,255,255,.15);pointer-events:none}
.ai-matter-meter i{display:block;width:calc(var(--matter-progress) * 100%);height:1px;background:var(--signal);box-shadow:0 0 18px rgba(239,23,70,.75)}
.ai-matter-states{position:absolute;z-index:8;left:28px;right:28px;bottom:32px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.18);background:rgba(5,5,6,.78);backdrop-filter:blur(12px)}
.ai-matter-states button{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 17px;border:0;border-right:1px solid rgba(255,255,255,.14);border-radius:0;background:transparent;color:rgba(255,255,255,.48);font-family:monospace;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease}
.ai-matter-states button:last-child{border-right:0}.ai-matter-states button:hover,.ai-matter-states button:focus-visible{background:rgba(255,255,255,.055);color:#fff;outline:none}.ai-matter-states button[aria-selected="true"]{background:var(--signal);color:#fff}.ai-matter-states button i{font-style:normal;opacity:.72}
.ai-matter-instruction{position:absolute;z-index:7;left:50%;bottom:122px;color:rgba(255,255,255,.4);font-family:monospace;font-size:7px;font-weight:700;letter-spacing:.12em;white-space:nowrap;transform:translateX(-50%);pointer-events:none}
.ai-matter-stage .ai-motion-permission{z-index:10;left:auto;right:28px;top:48px;bottom:auto;transform:none}
@media (max-width:700px){
  .ai-matter-stage{height:650px;min-height:650px;margin-top:16px}.ai-matter-stage::before{inset:-35%;background-size:auto,auto,52px 52px,52px 52px;transform:perspective(660px) rotateX(66deg) scale(1.45)}.ai-matter-hud{left:14px;right:14px;top:16px;font-size:8px}.ai-matter-word{top:45%;width:96vw}.ai-matter-word>span{margin-bottom:12px;font-size:9px}.ai-matter-word strong{font-size:22vw;-webkit-text-stroke-color:rgba(255,255,255,.17)}.ai-matter-word p{max-width:310px;margin-top:22px;padding:0 14px;font-size:14px;line-height:1.5}.ai-matter-meter{left:14px;right:14px;bottom:102px}.ai-matter-states{left:14px;right:14px;bottom:25px}.ai-matter-states button{min-height:51px;padding:0 7px;font-size:9px;letter-spacing:.07em}.ai-matter-states button i{display:none}.ai-matter-instruction{bottom:116px;font-size:8px;letter-spacing:.09em}.ai-matter-stage .ai-motion-permission{right:14px;top:37px;padding:8px 10px;font-size:8px}
  .ai-matter-stage[data-state] .ai-matter-word strong{color:transparent;font-size:20vw;line-height:.82;-webkit-text-stroke:0;opacity:0;text-shadow:none}
  .ai-matter-word p{position:relative;margin-top:18px;padding:8px 18px;background:rgba(5,5,6,.46);text-shadow:0 1px 9px #050506;backdrop-filter:blur(4px)}
}
@media (prefers-reduced-motion:reduce){.ai-matter-stage{cursor:default}.ai-matter-word strong{transition:none}}

/* Privacy policy and technical-cookie notice. */
.privacy-back{position:relative;z-index:1;justify-self:end;padding:10px 0;color:rgba(255,255,255,.72);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.privacy-back:hover{color:var(--signal)}
.page-privacy{background:var(--cloud);color:var(--black)}
.privacy-hero{min-height:72svh;padding:170px 0 90px;background:var(--black);color:#fff}
.privacy-hero h1{max-width:1040px;margin:72px 0 36px;font-size:clamp(76px,13vw,190px);font-weight:500;line-height:.72;letter-spacing:-.085em}
.privacy-hero h1 em{font-family:"Instrument Serif",serif;font-weight:400;color:var(--signal)}
.privacy-hero>.shell>p:last-child{max-width:590px;margin:0 0 0 auto;color:rgba(255,255,255,.62);font-size:clamp(17px,1.6vw,23px);line-height:1.42}
.privacy-content{display:grid;grid-template-columns:minmax(180px,.38fr) minmax(0,1.62fr);gap:9vw;padding-top:100px;padding-bottom:150px}
.privacy-index{position:sticky;top:110px;align-self:start;display:grid;border-top:1px solid rgba(9,10,11,.18)}
.privacy-index p{margin:0;padding:17px 0;color:#777974;font-size:9px;font-weight:700;letter-spacing:.14em}
.privacy-index a{padding:13px 0;border-top:1px solid rgba(9,10,11,.12);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.privacy-index a:hover{color:var(--signal)}
.privacy-sections{border-top:1px solid rgba(9,10,11,.2)}
.privacy-sections>section{scroll-margin-top:100px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;padding:46px 0 64px;border-bottom:1px solid rgba(9,10,11,.2)}
.privacy-sections>section>span{padding-top:7px;color:var(--signal);font-size:10px;font-weight:700;letter-spacing:.14em}
.privacy-sections h2{margin:0 0 30px;font-size:clamp(38px,5vw,72px);font-weight:500;line-height:.9;letter-spacing:-.055em}
.privacy-sections h3{margin:34px 0 8px;font-size:16px}
.privacy-sections p,.privacy-sections li{max-width:760px;color:#555752;font-size:17px;line-height:1.65}
.privacy-sections strong{color:var(--black)}
.privacy-sections a{color:var(--black);text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:4px}
.privacy-sections ul{display:grid;gap:14px;margin:0;padding-left:20px}
.cookie-table{max-width:780px;margin:32px 0;border-top:1px solid rgba(9,10,11,.22)}
.cookie-table>div{display:grid;grid-template-columns:minmax(170px,.45fr) minmax(0,1fr);gap:22px;padding:17px 0;border-bottom:1px solid rgba(9,10,11,.16)}
.cookie-table span,.cookie-table strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.cookie-table>div:first-child{color:#777974;text-transform:uppercase;letter-spacing:.08em}

.cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;z-index:1200;right:24px;bottom:24px;width:min(520px,calc(100vw - 48px));padding:28px;border:1px solid rgba(255,255,255,.18);background:rgba(9,10,11,.96);color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.36);backdrop-filter:blur(22px);opacity:0;transform:translateY(24px);transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}
.cookie-banner.is-visible{opacity:1;transform:none}
.cookie-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}
.cookie-close:hover{border-color:var(--signal);background:var(--signal)}
.cookie-kicker{margin:0 0 28px;color:var(--signal);font-size:8px;font-weight:700;letter-spacing:.16em}
.cookie-banner h2{margin:0 0 14px;font-size:clamp(34px,4vw,48px);font-weight:500;line-height:.92;letter-spacing:-.055em}
.cookie-banner>p:not(.cookie-kicker){max-width:440px;margin:0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.55}
.cookie-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15)}
.cookie-actions a{color:rgba(255,255,255,.74);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cookie-actions a:hover{color:var(--signal)}
.cookie-actions button{min-height:46px;padding:0 20px;border:0;background:var(--signal);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}

@media (max-width:900px){
  .privacy-content{grid-template-columns:1fr;gap:54px}.privacy-index{position:static;grid-template-columns:repeat(2,1fr);column-gap:20px}.privacy-index p{grid-column:1/-1}.privacy-sections>section{grid-template-columns:42px minmax(0,1fr)}
}
@media (max-width:600px){
  .page-privacy .site-header{grid-template-columns:1fr auto}.page-privacy .site-nav{display:none}.privacy-back{font-size:8px}.privacy-hero{min-height:620px;padding:130px 0 70px}.privacy-hero h1{margin-top:58px;font-size:21vw}.privacy-hero>.shell>p:last-child{font-size:16px}.privacy-content{padding-top:70px;padding-bottom:100px}.privacy-index{grid-template-columns:1fr 1fr}.privacy-sections>section{grid-template-columns:1fr;padding:36px 0 52px}.privacy-sections>section>span{padding:0}.privacy-sections h2{font-size:42px}.privacy-sections p,.privacy-sections li{font-size:15px}.cookie-table>div{grid-template-columns:1fr;gap:8px}.cookie-banner{right:12px;bottom:12px;width:calc(100vw - 24px);padding:22px}.cookie-actions{align-items:stretch}.cookie-actions button{flex:1}
}
@media (prefers-reduced-motion:reduce){.cookie-banner{transition:none}}

/* Desktop type scale: keep technical microcopy legible without flattening hierarchy. */
@media (min-width:701px){
  .section-label{font-size:13px}
  .service-index,.manifesto-stat span{font-size:13px}
  .hero-caption{font-size:12px}
  .preview-card-tags span{font-size:12px}
  .manifesto-foot>p{font-size:clamp(19px,1.5vw,24px)}
  .service-row p{font-size:19px}
  .process-list p{font-size:19px}
  .hero-pitch p{font-size:clamp(20px,1.55vw,26px)}
  .menu-overlay-aside p{font-size:20px}
  .page-hero p:last-child{font-size:20px}
  .hero-bottom p{font-size:clamp(18px,1.25vw,22px)}
  .footer-directory-intro>span,.footer-offices article>span,.footer-general-contact>span{font-size:11px}
  .footer-general-contact p{font-size:14px}
  .portfolio-carousel-meta p{font-size:13px}
  .work-index-hero-foot>p{font-size:20px}
  .portfolio-dome-heading>div>p{font-size:16px}
  .portfolio-dome-project i{font-size:10px}
  .portfolio-dome-project strong{font-size:13px}
  .portfolio-dome-preview-topline,.portfolio-dome-preview-progress,.portfolio-dome-hud{font-size:11px}
  .portfolio-dome-preview-copy>span,.portfolio-dome-hud strong{font-size:12px}
  .work-index-filterbar-inner>p{font-size:12px}
  .work-index-card-progress{font-size:11px}
  .page-work-index .modal-body p{font-size:20px}
  .fold-hero-bottom>p{font-size:clamp(17px,1.35vw,22px)}
  .ribbon-ui{font-size:11px}
  .ribbon-ui-bottom>p{font-size:clamp(15px,1.2vw,19px)}
  .ribbon-story>p{font-size:12px}
  .ai-wave-intro>p{font-size:clamp(18px,1.4vw,22px)}
  .ai-wave-intro li{font-size:12px}
  .ai-matter-hud{font-size:11px}
  .ai-matter-word>span{font-size:12px}
  .ai-matter-word p{font-size:16px}
  .ai-matter-states button{font-size:14px}
  .ai-matter-instruction,.ai-matter-stage .ai-motion-permission{font-size:11px}
  .privacy-hero>.shell>p:last-child{font-size:clamp(19px,1.6vw,25px)}
  .privacy-index p{font-size:11px}
  .privacy-sections p{font-size:19px}
  .cookie-banner>p:not(.cookie-kicker){font-size:16px}
}

/* Mobile type scale: larger body copy and controls for comfortable reading. */
@media (max-width:700px){
  main p:not(.section-label),.site-footer p,.cookie-banner>p:not(.cookie-kicker){font-size:18px}
  .section-label{font-size:13px}
  .hero-pitch p{font-size:20px}
  .manifesto-foot>p{font-size:19px}
  .service-row p{font-size:19px}
  .process-list p{font-size:19px}
  .page-hero p:last-child{font-size:20px}
  .hero-bottom p{font-size:18px}
  .ai-wave-intro>p{font-size:17px}
  .ai-matter-word p{font-size:16px}
  .ai-matter-states button{padding:0 2px;font-size:14px;letter-spacing:0}
  .footer-general-contact p{font-size:13px}
  .portfolio-carousel-meta p{font-size:13px}
  .work-index-hero-foot>p{font-size:17px}
  .portfolio-dome-heading>div>p{font-size:16px}
  .work-index-filterbar-inner>p{font-size:12px}
  .page-work-index .modal-body p{font-size:18px}
  .fold-hero-bottom>p{font-size:15px}
  .ribbon-ui-bottom>p{font-size:13px}
  .ribbon-story>p{font-size:10px}
  .privacy-hero>.shell>p:last-child{font-size:18px}
  .privacy-index p{font-size:11px}
  .privacy-sections p{font-size:17px}
  .cookie-banner>p:not(.cookie-kicker){font-size:16px}
}

/* Readable secondary text across home, portfolio and privacy. */
.ribbon-story>small{color:rgba(255,255,255,.70);font-size:14px;font-weight:400;line-height:1.5;letter-spacing:.08em}
.ribbon-ui{color:rgba(255,255,255,.70);font-size:14px;font-weight:400;line-height:1.5;letter-spacing:.06em}
.ribbon-ui-top{gap:12px;font-size:12px;white-space:nowrap}
.ribbon-ui-bottom{background:rgba(5,5,6,.9);box-shadow:0 12px 0 12px rgba(5,5,6,.9)}
.ribbon-ui-bottom>p{color:rgba(255,255,255,.80);line-height:1.5}
.ribbon-story>p{font-size:14px;letter-spacing:.1em}
.section-label.light,.process-list p,.page-hero p:last-child,
.footer-directory-intro>span,.footer-offices article>span,.footer-general-contact>span,
.footer-offices address,.footer-general-contact p,.work-index-stats span,
.portfolio-dome-heading>div>p,.portfolio-dome-hud,.ai-wave-intro>p,
.ai-matter-hud,.ai-matter-word p,.ai-matter-instruction,
.privacy-hero>.shell>p:last-child,.cookie-banner>p:not(.cookie-kicker){color:rgba(255,255,255,.76)}
.ai-matter-states button:not([aria-selected="true"]){color:rgba(255,255,255,.80)}
.service-index,.service-row p{color:rgba(9,10,11,.76)}
.work-index-card-category,.privacy-index p{color:#555752}
.footer-directory-intro>span,.footer-offices article>span,.footer-general-contact>span{font-size:13px;font-weight:400;letter-spacing:.08em}
.footer-offices address{font-size:16px}
.footer-offices a,.footer-general-contact a,.footer-general-contact p{font-size:15px;line-height:1.55}
.site-footer .footer-links,.site-footer .footer-meta{font-size:14px;line-height:1.55}
.lanyard-card-top small,.lanyard-card-bottom small{font-size:12px;font-weight:400;letter-spacing:.02em;line-height:1.5}
.lanyard-card-bottom{flex-wrap:wrap}
.lanyard-drag-hint{font-size:10px;letter-spacing:.06em}
.work-index-stats span,.work-index-card-category,.work-index-card-tags i,
.privacy-index p,.privacy-index a,.privacy-back,.cookie-kicker,
.cookie-actions a,.cookie-actions button,.ai-wave-intro li{font-size:13px;letter-spacing:.06em}
.page-work-index .modal-body h3{font-size:13px}
.work-index-filterbar .filter-btn{font-size:13px;letter-spacing:.04em}
.work-index-filterbar .filters{min-width:0}
.work-index-card-copy>*{min-width:0;overflow-wrap:anywhere}
.ai-matter-hud,.ai-matter-instruction,.ai-matter-word>span{font-size:12px;letter-spacing:.06em}

@media (max-width:700px){
  .work-index-card-copy{grid-template-columns:minmax(0,1fr)}
  .ribbon-ui{font-size:13px;letter-spacing:.04em}
  .ribbon-ui-top{gap:8px;font-size:clamp(8px,2.3vw,10px);letter-spacing:.02em}
  .ribbon-story>small{font-size:13px;letter-spacing:.04em}
  .ribbon-story>p{font-size:12px}
  .ribbon-ui-bottom{grid-template-columns:1fr;gap:12px}
  .ribbon-ui-bottom>p{max-width:440px;font-size:16px;line-height:1.45}
  .ribbon-ui-bottom .outline-cta span{padding:10px 16px;font-size:13px}
  .ribbon-ui-bottom .outline-cta i{width:42px;height:42px;font-size:18px}
  .service-index,.manifesto-stat span,.preview-card-tags span{font-size:13px}
  .footer-offices{grid-template-columns:1fr}
  .footer-offices article,.footer-offices article+article{margin:0;padding:30px 0;border-left:0}
  .footer-offices article+article{border-top:1px solid rgba(255,255,255,.14)}
  .footer-offices address{min-height:0;margin-bottom:12px;font-size:16px}
  .footer-offices a,.footer-general-contact a,.footer-general-contact p{font-size:16px}
  .footer-general-contact{grid-template-columns:1fr;gap:14px}
  .footer-general-contact>div{grid-template-columns:1fr;gap:14px}
  .site-footer .footer-meta{font-size:14px}
  .ai-matter-hud{flex-wrap:wrap;gap:6px 16px;font-size:12px}
  .ai-matter-instruction{max-width:calc(100% - 28px);font-size:11px;white-space:normal;text-align:center}
  .ai-matter-stage .ai-motion-permission{top:64px;font-size:12px}
  .cookie-actions{flex-wrap:wrap}
  .cookie-actions a{line-height:1.5}
}
