/*
Theme Name: Contemporary
Author: CONTEMPORARY
Description: Editorial corporate WordPress theme by CONTEMPORARY. Corporate-first CMS, kinetic interaction, no plugin dependency.
Version: 1.16.0
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: contemporary
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* v1.5.0 refinements */
.hero__title,
.hero__line,
.business__head h2,
.projects__heading h2,
.news__heading h2,
.page-hero h1,
.detail-hero h1,
.single-post header h1,
.access__grid h2,
.contact-cta strong,
.page-cta strong{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.hero__title{
  font-size:clamp(84px,14.2vw,228px);
  line-height:.76;
  max-inline-size:8.4ch;
}
.hero__line--2{margin-left:min(16vw,210px)}
.hero__visual-shell{
  width:min(100%,480px);
  box-shadow:0 26px 56px rgba(17,17,17,.12);
}
.hero__visual-source{border:1px solid rgba(17,17,17,.88)}
.hero__visual-source img{filter:contrast(1.03) saturate(.96)}
.hero__visual-slice{border-color:rgba(223,255,69,.92)}
.hero__sub{max-width:30ch;font-size:clamp(15px,1.32vw,21px)}
.hero__cta,
.hero__shuffle,
.hero__scroll{
  transition:transform .28s ease,background .28s ease,color .28s ease,border-color .28s ease;
}
.hero__cta:hover,
.hero__shuffle:hover,
.hero__scroll:hover{transform:translateY(-2px)}
.hero__side-note{max-width:28ch}

.business{
  --accent:#DFFF45;
}
.business__head{
  gap:20px;
  align-items:flex-start;
}
.business__head h2{
  margin-left:auto;
  max-width:7.6ch;
  text-align:right;
  font-size:clamp(74px,10vw,190px);
  line-height:.82;
}
.business__grid{grid-template-columns:minmax(280px,.95fr) minmax(360px,1.35fr);gap:34px}
.business__item{
  grid-template-columns:64px minmax(0,1.2fr) minmax(0,.9fr);
  gap:16px;
  padding:21px 0;
  border-top:1px solid var(--line);
  border-bottom:0;
}
.business__item:last-child{border-bottom:1px solid var(--line)}
.business__item strong{font-size:clamp(24px,2.1vw,36px);line-height:.98;letter-spacing:-.03em}
.business__item em{font-size:14px;opacity:.72;align-self:center}
.business__item span{font-size:15px;opacity:.86}
.business__item.is-active{background:var(--accent);padding-inline:16px}
.business__item:hover{background:rgba(17,17,17,.025);padding-inline:16px}
.business__stage{
  min-height:670px;
}
.business__panel{
  inset:0;
}
.business__panel-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:26px;
  align-items:start;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.business__panel-visual{display:grid;gap:10px}
.business__image{
  height:456px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#efede7,#e2ded3);
}
.business__visual-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.business__visual-meta strong{font-size:11px;font-weight:700}
.business__visual-meta i{font-style:normal;opacity:.58}
.business__panel-copy{
  display:flex;
  flex-direction:column;
  min-height:456px;
}
.business__panel-kicker{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:18px;
  opacity:.74;
}
.business__panel h3{
  margin:0;
  font-size:clamp(36px,4vw,76px);
  line-height:.88;
  letter-spacing:-.065em;
}
.business__panel-summary{
  margin:22px 0 0;
  font-size:clamp(23px,2.2vw,34px);
  line-height:1.22;
  letter-spacing:-.03em;
}
.business__panel-body{
  margin:18px 0 0;
  font-size:15px;
  line-height:1.8;
  color:rgba(17,17,17,.78);
  max-width:46ch;
}
.business__services{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto;
  padding-top:30px;
}
.business__services span{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid rgba(17,17,17,.22);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.business__panel-link{
  display:inline-flex;
  margin-top:20px;
  padding:12px 0 0;
  border-top:1px solid var(--line);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.projects__heading{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:24px 40px;
  align-items:end;
}
.projects__heading .section-label{grid-column:1/3}
.projects__heading h2{
  font-size:clamp(84px,11.4vw,190px);
  line-height:.8;
  max-width:8ch;
}
.projects__intro{
  margin:0;
  align-self:end;
  font-size:17px;
  line-height:1.8;
  color:rgba(17,17,17,.72);
  max-width:34ch;
}
.project-card__inner{display:block;position:relative}
.project-card__image{position:relative;border:1px solid var(--line)}
.project-card__image::after{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(17,17,17,.18));
  opacity:0;
  transition:opacity .28s ease;
}
.project-card__inner:hover .project-card__image::after{opacity:1}
.project-card__meta{
  grid-template-columns:110px minmax(0,1fr) 24px;
  gap:14px;
  align-items:start;
  padding-top:14px;
  border-top:1px solid rgba(17,17,17,.14);
}
.project-card__meta strong{
  display:block;
  font-size:clamp(24px,2.25vw,38px);
  line-height:.98;
  letter-spacing:-.05em;
}
.project-card__meta small{
  display:block;
  margin-top:7px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(17,17,17,.65);
}
.project-card__meta span,
.project-card__client{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.project-card__meta b{font-size:26px;line-height:1;transition:transform .28s ease}
.project-card__inner:hover .project-card__meta b{transform:translate(4px,-4px)}
.project-card__client{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(17,17,17,.14);
  color:rgba(17,17,17,.72);
}

.archive-project-card__meta h2{
  margin:0;
  font-size:clamp(28px,2.3vw,44px);
  line-height:.98;
  letter-spacing:-.045em;
}
.archive-project-card__meta p{
  margin:.5em 0 0;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.news__more{margin-top:34px}
.news__more a{
  display:inline-flex;
  padding-top:12px;
  border-top:1px solid var(--line);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media (max-width:900px){
  .hero__title{font-size:clamp(74px,15vw,150px);max-inline-size:10ch}
  .hero__line--2{margin-left:min(15vw,120px)}
  .business__head h2,
  .projects__heading h2,
  .news__heading h2{font-size:clamp(72px,12vw,130px)}
  .business__grid,
  .projects__heading,
  .business__panel-grid{grid-template-columns:1fr}
  .projects__heading .section-label{grid-column:1}
  .projects__intro{max-width:52ch}
  .business__stage{min-height:720px}
  .business__panel-copy{min-height:auto}
  .business__image{height:360px}
  .project-card__meta strong{font-size:28px}
}

@media (max-width:600px){
  .hero__title{font-size:clamp(58px,18vw,96px);line-height:.78}
  .hero__line--2{margin-left:14vw!important}
  .hero__sub{width:min(60vw,280px);font-size:13px}
  .business__head h2,
  .projects__heading h2,
  .news__heading h2,
  .page-hero h1,
  .detail-hero h1{font-size:clamp(54px,16vw,84px);line-height:.84}
  .business__item{grid-template-columns:42px 1fr;gap:14px}
  .business__item em{grid-column:2;font-size:12px}
  .business__stage{min-height:0}
  .business__panel-grid{padding-top:14px}
  .business__image{height:248px}
  .business__panel h3{font-size:42px}
  .business__panel-summary{font-size:19px}
  .business__services{padding-top:22px}
  .projects__intro{font-size:15px}
  .project-card__meta{grid-template-columns:88px 1fr 20px}
  .project-card__meta strong{font-size:22px}
  .project-card__meta b{font-size:22px}
  .project-card__client{font-size:10px}
}


/* v1.6.0 refinements */
.fullscreen-nav{
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.fullscreen-nav__inner{
  min-height:100%;
  height:auto;
  padding:96px var(--pad) 34px;
  row-gap:28px;
}
.fullscreen-nav__nav{
  align-self:start;
  padding:10px 0 32px;
}
.fullscreen-nav__list{
  max-width:1680px;
}
.fullscreen-nav__list li{
  min-height:clamp(72px,9vh,118px);
}
.fullscreen-nav__list a{
  padding:10px 64px 12px;
  font-size:clamp(38px,6vw,94px);
  line-height:.9;
  letter-spacing:-.055em;
}
.fullscreen-nav__list li::before{
  left:0;
  font-size:10px;
  opacity:.82;
}
.fullscreen-nav__bottom{
  align-items:end;
  padding-top:12px;
  border-top:1px solid rgba(17,17,17,.22);
}

.hero__flow{
  opacity:.78;
  filter:saturate(.84);
}
.hero-flow-shape{
  border-color:rgba(17,17,17,.36);
}
.hero-flow-shape--1.hero-flow-shape--dot,
.hero-flow-shape--1.hero-flow-shape--bar{background:#c87959}
.hero-flow-shape--2.hero-flow-shape--dot,
.hero-flow-shape--2.hero-flow-shape--bar{background:#7e92d8}
.hero-flow-shape--ring.hero-flow-shape--1{border-color:#b76a4d}
.hero-flow-shape--ring.hero-flow-shape--2{border-color:#6983d4}
.hero__title{
  font-size:clamp(80px,13vw,214px);
  line-height:.78;
  letter-spacing:-.082em;
}
.hero__line--2{margin-left:min(14vw,188px)}
.hero__visual-shell{
  width:min(100%,450px);
  box-shadow:0 20px 42px rgba(17,17,17,.10);
}
.hero__sub{
  max-width:27ch;
  font-size:clamp(15px,1.14vw,19px);
  line-height:1.52;
}
.hero__shuffle{
  background:transparent;
}
.hero__shuffle:hover{
  background:#111;
  color:var(--bg);
}
.hero__object-label{
  font-size:8px;
  letter-spacing:.16em;
}

.business__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px 30px;
  align-items:end;
}
.business__head h2{
  margin:0;
  font-size:clamp(68px,8.6vw,150px);
  line-height:.84;
  letter-spacing:-.062em;
  white-space:nowrap;
}
.business__grid{
  gap:44px;
}
.business__list{
  border-top:1px solid var(--line);
}
.business__item{
  position:relative;
  background:transparent;
  padding:24px 0 24px 24px;
  transition:padding .22s ease,background .22s ease,color .22s ease;
}
.business__item::before{
  content:'';
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:8px;
  background:var(--accent);
  transform:scaleY(.18);
  transform-origin:center;
  opacity:0;
  transition:transform .24s ease,opacity .24s ease;
}
.business__item:hover,
.business__item.is-active{
  background:rgba(17,17,17,.022);
  padding-left:24px;
}
.business__item:hover::before,
.business__item.is-active::before{
  transform:scaleY(1);
  opacity:1;
}
.business__item strong{
  font-size:clamp(22px,1.82vw,32px);
  letter-spacing:-.025em;
}
.business__item em{
  font-size:13px;
  opacity:.62;
}
.business__stage{
  min-height:620px;
}
.business__panel-grid{
  gap:28px;
}
.business__image{
  height:440px;
}
.business__panel h3{
  font-size:clamp(34px,3.3vw,62px);
}
.business__panel-summary{
  font-size:clamp(21px,1.8vw,29px);
  line-height:1.26;
}
.business__panel-body{
  font-size:14px;
  line-height:1.85;
}
.business__services span{
  font-size:10px;
  letter-spacing:.14em;
}

.projects__heading{
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  align-items:end;
}
.projects__heading h2{
  font-size:clamp(72px,9.2vw,152px);
  line-height:.84;
  letter-spacing:-.062em;
  white-space:nowrap;
}
.projects__intro{
  font-size:16px;
  max-width:31ch;
}
.projects__grid{
  gap:42px 28px;
  margin-top:78px;
}
.project-card--2{margin-top:96px}
.project-card--3{margin-top:24px}
.project-card__meta strong{
  font-size:clamp(22px,1.95vw,32px);
  line-height:1;
}
.project-card__client,
.project-card__meta small,
.project-card__meta span{
  opacity:.76;
}

.news__heading h2{
  font-size:clamp(72px,9.2vw,150px);
  line-height:.84;
  letter-spacing:-.062em;
  white-space:nowrap;
}
.news-row{
  grid-template-columns:120px 120px 1fr 24px;
  gap:18px;
}
.news-row strong{
  line-height:1.35;
}

.page-hero h1{
  font-size:clamp(74px,10.6vw,170px);
  line-height:.82;
  letter-spacing:-.068em;
}
.single-post header h1{
  font-size:clamp(50px,6.3vw,100px);
  line-height:.96;
}
.contact-cta strong,
.page-cta strong{
  font-size:clamp(66px,11vw,170px);
  line-height:.76;
}

@media (max-width:1100px){
  .fullscreen-nav__list a{font-size:clamp(34px,7vw,72px)}
  .hero__title{font-size:clamp(74px,13.4vw,160px);max-inline-size:10ch}
  .hero__line--2{margin-left:min(12vw,112px)}
  .business__head h2,
  .projects__heading h2,
  .news__heading h2,
  .page-hero h1{white-space:normal}
  .business__head h2{font-size:clamp(64px,10vw,118px)}
  .projects__heading h2,
  .news__heading h2{font-size:clamp(64px,10.2vw,118px)}
  .projects__heading{grid-template-columns:1fr}
  .projects__heading .section-label{grid-column:1}
}

@media (max-width:800px){
  .fullscreen-nav__inner{padding:78px 18px 22px;row-gap:20px}
  .fullscreen-nav__nav{padding:4px 0 20px}
  .fullscreen-nav__list a{padding:12px 36px 14px;font-size:clamp(30px,9vw,54px)}
  .fullscreen-nav__bottom{align-items:flex-start;gap:18px;flex-direction:column}
  .business__head,
  .projects__heading,
  .news__heading{grid-template-columns:1fr;display:grid}
  .business__head h2,
  .projects__heading h2,
  .news__heading h2{white-space:normal}
  .business__item{grid-template-columns:48px 1fr;gap:12px}
  .business__item em{grid-column:2}
  .business__stage{min-height:0}
  .business__image{height:300px}
  .project-card--2,
  .project-card--3{margin-top:0}
}

@media (max-width:600px){
  .hero__title{font-size:clamp(56px,17vw,92px);line-height:.8}
  .hero__sub{width:min(58vw,270px);font-size:12.5px}
  .hero__visual-shell{width:min(46vw,220px)}
  .business__head h2,
  .projects__heading h2,
  .news__heading h2,
  .page-hero h1,
  .detail-hero h1{font-size:clamp(48px,14vw,74px);line-height:.88}
  .news-row{grid-template-columns:84px 1fr;gap:6px 12px}
  .news-row strong{grid-column:1/3}
}

/* v1.7.0 refinements */
.hero{
  --hero-trace-x:0px;
  --hero-trace-y:0px;
}
.hero__title{
  font-size:clamp(76px,12vw,188px);
  line-height:.8;
  letter-spacing:-.075em;
  max-inline-size:9ch;
}
.hero__line{
  transform:translate3d(calc(var(--line-base-shift, 0px) + var(--line-shift, 0px)),110%,0);
}
.hero.is-ready .hero__line{
  transform:translate3d(calc(var(--line-base-shift, 0px) + var(--line-shift, 0px)),0,0);
}
.hero__line--2{
  margin-left:clamp(30px,9vw,132px);
}
.hero__flow{
  opacity:.58;
  filter:none;
}
.hero-flow-shape{
  border-color:rgba(17,17,17,.16);
  mix-blend-mode:normal;
}
.hero-flow-shape--ring{
  background:transparent;
  border-width:1px;
}
.hero-flow-shape--dot{
  border-radius:50%;
  background:rgba(223,255,69,.76);
}
.hero-flow-shape--bar{
  background:rgba(17,17,17,.06);
  border-radius:999px;
}
.hero-flow-shape--0.hero-flow-shape--dot{background:rgba(223,255,69,.72)}
.hero-flow-shape--1.hero-flow-shape--dot{background:rgba(17,17,17,.12)}
.hero-flow-shape--2.hero-flow-shape--dot{background:rgba(124,140,196,.34)}
.hero-flow-shape--3.hero-flow-shape--bar{background:rgba(17,17,17,.08)}
.hero__visual-shell{
  --visual-base-x:0px;
  --visual-base-y:0px;
  --visual-base-rotate:1deg;
  width:min(100%,420px);
  transform:translate3d(var(--visual-base-x), var(--visual-base-y), 0) rotate(var(--visual-base-rotate));
  box-shadow:none;
}
.hero__visual-source{
  border:1px solid rgba(17,17,17,.82);
  background:#e9e7de;
}
.hero__visual-source img{filter:contrast(1.02) saturate(.92)}
.hero__visual-placeholder{
  position:relative;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.46), rgba(17,17,17,.03));
  color:#111;
}
.hero__visual-placeholder::before,
.hero__visual-placeholder::after{
  content:'';
  position:absolute;
  left:18px;
  right:18px;
  height:1px;
  background:rgba(17,17,17,.18);
}
.hero__visual-placeholder::before{top:18px}
.hero__visual-placeholder::after{bottom:18px}
.hero__visual-placeholder span{
  align-self:flex-start;
  writing-mode:horizontal-tb;
  font-size:clamp(22px,2.4vw,34px);
  line-height:.95;
  letter-spacing:-.04em;
}
.hero__visual-placeholder small{
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  opacity:.68;
}
.hero__visual-placeholder i{
  position:absolute;
  right:18px;
  bottom:18px;
  width:54px;
  height:8px;
  background:rgba(223,255,69,.88);
}
.hero__visual-trace{
  position:absolute;
  left:-10px;
  right:-10px;
  top:50%;
  height:1px;
  background:rgba(223,255,69,.92);
  transform:translate3d(var(--hero-trace-x), var(--hero-trace-y), 0);
  pointer-events:none;
}
.hero__visual-index{
  left:-36px;
  top:18px;
  font-size:8px;
}
.hero__visual-index b{font-size:18px}
.hero__sub{
  max-width:25ch;
  font-size:clamp(14px,1.04vw,18px);
  line-height:1.62;
}
.hero__side-note{
  opacity:.72;
}
.hero__shuffle{
  padding:9px 12px;
  border-color:rgba(17,17,17,.5);
  background:rgba(255,255,255,.4);
}
.hero__shuffle:hover{
  transform:none;
}
.hero__scroll i{
  height:42px;
}
.hero__scroll i::after{background:rgba(17,17,17,.7)}

.detail-hero h1{
  font-size:clamp(72px,10.8vw,156px);
  line-height:.82;
  letter-spacing:-.068em;
  overflow-wrap:anywhere;
  word-break:break-word;
  max-inline-size:10ch;
}
.detail-hero__lead{
  font-size:clamp(22px,2.2vw,38px);
  line-height:1.2;
}
.page-hero h1{
  font-size:clamp(70px,9.4vw,150px);
  line-height:.84;
}

@media (max-width:1100px){
  .hero__title{font-size:clamp(70px,12.8vw,150px);max-inline-size:10ch}
  .hero__visual-shell{width:min(100%,360px)}
  .detail-hero h1{font-size:clamp(62px,11vw,118px);max-inline-size:11ch}
}

@media (max-width:800px){
  .hero__line--2{margin-left:clamp(18px,8vw,62px)}
  .hero__visual-shell{width:min(50vw,290px)}
  .detail-hero h1{font-size:clamp(54px,13vw,94px);line-height:.88}
  .page-hero h1{font-size:clamp(56px,13vw,96px)}
}

@media (max-width:600px){
  .hero__title{font-size:clamp(50px,16vw,86px);line-height:.84}
  .hero__visual-shell{width:min(45vw,210px)}
  .hero__sub{width:min(58vw,250px);font-size:12px}
  .detail-hero h1{font-size:clamp(42px,13.8vw,70px);line-height:.92}
}

/* v1.8.0 hero simplification */
.hero--minimal{
  min-height:92svh;
  padding-bottom:42px;
}
.hero--minimal .hero__grid-lines{
  opacity:.72;
}
.hero--minimal::after{
  opacity:.5;
}
.hero--minimal .hero__meta{
  grid-column:1/7;
  font-size:11px;
  letter-spacing:.15em;
  opacity:.82;
}
.hero--minimal .hero__title-wrap{
  grid-column:1/8;
  align-self:center;
}
.hero--minimal .hero__title{
  font-size:clamp(74px,10.8vw,164px);
  line-height:.84;
  letter-spacing:-.072em;
  max-inline-size:none;
}
.hero--minimal .hero__line{
  width:max-content;
  max-width:none;
  white-space:nowrap;
}
.hero--minimal .hero__line--2{
  margin-left:clamp(24px,7vw,96px);
}
.hero--minimal .hero__flow{
  opacity:.38;
}
.hero--minimal .hero-flow-shape{
  border-color:rgba(17,17,17,.12);
}
.hero--minimal .hero-flow-shape--ring{
  border-color:rgba(17,17,17,.08);
}
.hero--minimal .hero-flow-shape--dot{
  background:rgba(223,255,69,.58);
}
.hero--minimal .hero-flow-shape--1.hero-flow-shape--dot{
  background:rgba(17,17,17,.09);
}
.hero--minimal .hero-flow-shape--2.hero-flow-shape--bar{
  background:rgba(124,140,196,.24);
  border-radius:999px;
}
.hero--minimal .hero__visual-shell{
  grid-column:8/12;
  grid-row:2;
  align-self:center;
  width:min(100%,408px);
  aspect-ratio:1/1;
  transform:translate3d(var(--visual-base-x,0px), var(--visual-base-y,0px), 0) rotate(var(--visual-base-rotate,-1deg));
  box-shadow:none;
}
.hero--minimal .hero__visual-frame{
  position:relative;
  width:100%;
  height:100%;
  border:1px solid rgba(17,17,17,.55);
  background:rgba(255,255,255,.28);
  overflow:hidden;
}
.hero--minimal .hero__visual-no{
  position:absolute;
  left:16px;
  top:14px;
  z-index:3;
  display:flex;
  align-items:end;
  gap:10px;
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero--minimal .hero__visual-no b{
  font-size:14px;
  line-height:1;
}
.hero--minimal .hero__visual-source{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(17,17,17,.03));
  border:0;
}
.hero--minimal .hero__visual-source::before,
.hero--minimal .hero__visual-source::after{
  content:'';
  position:absolute;
  left:18px;
  right:18px;
  height:1px;
  background:rgba(17,17,17,.14);
}
.hero--minimal .hero__visual-source::before{top:20px}
.hero--minimal .hero__visual-source::after{bottom:20px}
.hero--minimal .hero__visual-source img,
.hero--minimal .hero__visual-source picture{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero--minimal .hero__visual-source img{
  filter:grayscale(4%) contrast(1.02) saturate(.88);
}
.hero--minimal .hero__visual-placeholder{
  position:absolute;
  inset:0;
  background:transparent;
  display:block;
  padding:0;
  color:inherit;
}
.hero--minimal .hero__visual-placeholder small{
  position:absolute;
  left:18px;
  bottom:16px;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(17,17,17,.55);
}
.hero--minimal .hero__visual-canvas{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.hero-visual-shape{
  position:absolute;
  display:block;
  will-change:transform;
}
.hero-visual-shape--dot{
  border-radius:50%;
  background:rgba(223,255,69,.82);
  border:1px solid rgba(17,17,17,.18);
}
.hero-visual-shape--bar{
  border-radius:999px;
  background:rgba(17,17,17,.10);
}
.hero-visual-shape--square{
  background:rgba(124,140,196,.54);
}
.hero--minimal .hero__sub{
  grid-column:8/12;
  grid-row:3;
  align-self:end;
  display:grid;
  gap:18px;
  max-width:26ch;
  font-size:16px;
  line-height:1.72;
}
.hero--minimal .hero__sub p{
  margin:0;
}
.hero--minimal .hero__controls{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.hero--minimal .hero__cta,
.hero--minimal .hero__shuffle{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  margin:0;
  padding:0 14px;
  border:1px solid rgba(17,17,17,.5);
  background:rgba(255,255,255,.34);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero--minimal .hero__cta{
  padding-bottom:0;
  border-bottom:1px solid rgba(17,17,17,.5);
}
.hero--minimal .hero__shuffle{
  gap:8px;
}
.hero--minimal .hero__shuffle:hover,
.hero--minimal .hero__cta:hover{
  transform:translateY(-1px);
  background:#111;
  color:var(--bg);
}
.hero--minimal .hero__side-note,
.hero--minimal .hero__scroll,
.hero--minimal .hero__visual-trace,
.hero--minimal .hero__visual-index,
.hero--minimal .hero__object-label{
  display:none !important;
}
.hero--minimal[data-layout="1"] .hero__visual-shell{
  grid-column:8/12;
  margin-top:0;
}
.hero--minimal[data-layout="2"] .hero__visual-shell{
  grid-column:8/12;
  align-self:center;
}

.detail-hero h1{
  font-size:clamp(60px,8.6vw,128px);
  line-height:.88;
  max-inline-size:12ch;
}
.page-hero h1{
  font-size:clamp(62px,8.8vw,136px);
  line-height:.86;
}

@media (max-width:1100px){
  .hero--minimal .hero__title-wrap{grid-column:1/13}
  .hero--minimal .hero__title{font-size:clamp(68px,11vw,132px)}
  .hero--minimal .hero__visual-shell{grid-column:8/13;width:min(100%,340px)}
  .hero--minimal .hero__sub{grid-column:8/13;max-width:24ch;font-size:15px}
}

@media (max-width:860px){
  .hero--minimal{
    min-height:auto;
    row-gap:28px;
    grid-template-rows:auto auto auto;
  }
  .hero--minimal .hero__meta,
  .hero--minimal .hero__title-wrap,
  .hero--minimal .hero__visual-shell,
  .hero--minimal .hero__sub{
    grid-column:1/13;
  }
  .hero--minimal .hero__title{
    font-size:clamp(58px,12vw,104px);
    line-height:.88;
  }
  .hero--minimal .hero__line--2{margin-left:0}
  .hero--minimal .hero__visual-shell{
    width:min(68vw,340px);
    justify-self:end;
  }
  .hero--minimal .hero__sub{
    max-width:32ch;
    justify-self:start;
  }
}

@media (max-width:600px){
  .hero--minimal{
    padding-top:94px;
    padding-bottom:28px;
  }
  .hero--minimal .hero__meta{font-size:10px}
  .hero--minimal .hero__title{
    font-size:clamp(46px,14vw,74px);
    letter-spacing:-.06em;
  }
  .hero--minimal .hero__visual-shell{
    width:min(78vw,280px);
    justify-self:start;
  }
  .hero--minimal .hero__sub{
    font-size:14px;
    max-width:22ch;
  }
  .hero--minimal .hero__controls{
    gap:10px;
  }
  .detail-hero h1{font-size:clamp(40px,12vw,62px)}
  .page-hero h1{font-size:clamp(46px,12vw,76px)}
}

/* v1.9.0 hero redesign */
.hero--editorial{
  min-height:94svh;
  padding-top:92px;
  padding-bottom:44px;
  grid-template-rows:auto 1fr auto;
  align-items:start;
}
.hero--editorial .hero__grid-lines{
  opacity:.54;
}
.hero--editorial::after{
  right:-10vw;
  top:-15vw;
  opacity:.34;
}
.hero--editorial .hero__flow{
  opacity:.26;
}
.hero--editorial .hero-flow-shape{
  border-color:rgba(17,17,17,.08);
}
.hero--editorial .hero-flow-shape--dot{
  background:rgba(223,255,69,.42);
}
.hero--editorial .hero-flow-shape--1.hero-flow-shape--dot{
  background:rgba(17,17,17,.06);
}
.hero--editorial .hero-flow-shape--2.hero-flow-shape--bar{
  background:rgba(124,140,196,.16);
  border-radius:999px;
}
.hero--editorial .hero__meta{
  grid-column:1/8;
  grid-row:1;
  position:relative;
  z-index:4;
  font-size:11px;
  letter-spacing:.15em;
  opacity:.82;
}
.hero--editorial .hero__title-wrap{
  grid-column:1/9;
  grid-row:2;
  align-self:center;
  z-index:3;
}
.hero--editorial .hero__title{
  margin:0;
  font-size:clamp(68px,9.2vw,154px);
  line-height:.86;
  letter-spacing:-.078em;
  max-inline-size:none;
}
.hero--editorial .hero__line{
  width:max-content;
  max-width:none;
  white-space:nowrap;
}
.hero--editorial .hero__line--2{
  margin-left:0;
}
.hero--editorial .hero__lede{
  grid-column:1/4;
  grid-row:3;
  align-self:end;
  position:relative;
  z-index:5;
  display:grid;
  gap:22px;
  max-width:28ch;
}
.hero--editorial .hero__lede p{
  margin:0;
  font-size:clamp(17px,1.24vw,20px);
  line-height:1.68;
}
.hero--editorial .hero__controls{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.hero--editorial .hero__cta,
.hero--editorial .hero__shuffle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  margin:0;
  border:1px solid rgba(17,17,17,.42);
  background:rgba(255,255,255,.32);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero--editorial .hero__shuffle{gap:10px}
.hero--editorial .hero__shuffle b{font-size:12px}
.hero--editorial .hero__cta{
  padding-bottom:0;
  border-bottom:1px solid rgba(17,17,17,.42);
}
.hero--editorial .hero__cta:hover,
.hero--editorial .hero__shuffle:hover{
  transform:translateY(-1px);
  background:#111;
  color:var(--bg);
}
.hero--editorial .hero__visual-shell{
  grid-column:9/13;
  grid-row:2 / span 2;
  align-self:center;
  justify-self:end;
  width:min(100%,370px);
  aspect-ratio:1/1.06;
  transform:translate3d(var(--visual-base-x,0px), var(--visual-base-y,0px), 0) rotate(var(--visual-base-rotate,-1deg));
  box-shadow:none;
  z-index:4;
}
.hero--editorial .hero__visual-frame{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  border:1px solid rgba(17,17,17,.38);
  background:rgba(255,255,255,.18);
}
.hero--editorial .hero__visual-frame::before{
  content:'';
  position:absolute;
  inset:18px;
  border:1px solid rgba(17,17,17,.08);
  pointer-events:none;
}
.hero--editorial .hero__visual-no{
  position:absolute;
  left:16px;
  top:14px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero--editorial .hero__visual-no b{font-size:14px;line-height:1}
.hero--editorial .hero__visual-source{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(17,17,17,.02));
  border:0;
}
.hero--editorial .hero__visual-source::before,
.hero--editorial .hero__visual-source::after{
  content:'';
  position:absolute;
  left:20px;
  right:20px;
  height:1px;
  background:rgba(17,17,17,.10);
}
.hero--editorial .hero__visual-source::before{top:20px}
.hero--editorial .hero__visual-source::after{bottom:20px}
.hero--editorial .hero__visual-source img,
.hero--editorial .hero__visual-source picture{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero--editorial .hero__visual-source img{
  filter:grayscale(2%) contrast(1.02) saturate(.88);
}
.hero--editorial .hero__visual-placeholder{
  position:absolute;
  inset:0;
  background:transparent;
  display:block;
  padding:0;
}
.hero--editorial .hero__visual-placeholder small{
  position:absolute;
  left:20px;
  bottom:18px;
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(17,17,17,.54);
}
.hero--editorial .hero__visual-canvas{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.hero--editorial .hero-visual-shape{
  position:absolute;
  display:block;
  will-change:transform;
}
.hero--editorial .hero-visual-shape--dot{
  border-radius:50%;
  background:rgba(223,255,69,.88);
  box-shadow:0 0 0 1px rgba(17,17,17,.10) inset;
}
.hero--editorial .hero-visual-shape--bar{
  border-radius:999px;
  background:rgba(17,17,17,.08);
}
.hero--editorial .hero-visual-shape--square{
  background:rgba(124,140,196,.48);
}
.hero--editorial .hero__visual-footer{
  position:absolute;
  left:20px;
  right:20px;
  bottom:16px;
  z-index:3;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(17,17,17,.62);
}
.hero--editorial .hero__visual-footer i{
  width:34px;
  height:4px;
  background:rgba(223,255,69,.9);
}
.hero--editorial .hero__side-note,
.hero--editorial .hero__sub,
.hero--editorial .hero__scroll,
.hero--editorial .hero__visual-index,
.hero--editorial .hero__visual-trace,
.hero--editorial .hero__object-label{
  display:none !important;
}
.hero--editorial[data-layout="1"] .hero__visual-shell,
.hero--editorial[data-layout="2"] .hero__visual-shell{
  grid-column:9/13;
  align-self:center;
  margin-top:0;
}

.detail-hero h1{
  font-size:clamp(56px,7.8vw,118px);
  line-height:.9;
  max-inline-size:13ch;
}
.page-hero h1{
  font-size:clamp(56px,8vw,122px);
  line-height:.88;
}

@media (max-width:1280px){
  .hero--editorial .hero__title{font-size:clamp(62px,8.8vw,132px)}
  .hero--editorial .hero__visual-shell{width:min(100%,332px)}
}

@media (max-width:980px){
  .hero--editorial{
    min-height:auto;
    row-gap:26px;
    grid-template-rows:auto auto auto auto;
  }
  .hero--editorial .hero__meta,
  .hero--editorial .hero__title-wrap,
  .hero--editorial .hero__lede,
  .hero--editorial .hero__visual-shell{
    grid-column:1/13;
  }
  .hero--editorial .hero__title-wrap{grid-row:2}
  .hero--editorial .hero__visual-shell{
    grid-row:3;
    justify-self:end;
    width:min(58vw,340px);
  }
  .hero--editorial .hero__lede{
    grid-row:4;
    max-width:36ch;
  }
  .hero--editorial .hero__title{font-size:clamp(58px,10vw,110px)}
}

@media (max-width:680px){
  .hero--editorial{
    padding-top:90px;
    padding-bottom:28px;
  }
  .hero--editorial .hero__meta{font-size:10px}
  .hero--editorial .hero__title{font-size:clamp(42px,13vw,72px);letter-spacing:-.06em}
  .hero--editorial .hero__visual-shell{
    width:min(78vw,280px);
    justify-self:start;
  }
  .hero--editorial .hero__lede p{font-size:15px}
  .hero--editorial .hero__controls{gap:10px}
  .hero--editorial .hero__cta,
  .hero--editorial .hero__shuffle{min-height:40px;padding:0 12px}
  .detail-hero h1{font-size:clamp(38px,11.2vw,58px)}
  .page-hero h1{font-size:clamp(42px,11vw,68px)}
}

/* v1.10.0 hero refinement */
.hero--museum{
  min-height:94svh;
  padding-top:96px;
  padding-bottom:48px;
  grid-template-rows:auto 1fr auto;
  align-items:start;
}
.hero--museum .hero__grid-lines{opacity:.44}
.hero--museum::after{display:none}
.hero--museum .hero__flow{display:none}
.hero--museum .hero__meta{
  grid-column:1/7;
  grid-row:1;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(17,17,17,.72);
}
.hero--museum .hero__title-wrap{
  grid-column:1/8;
  grid-row:2;
  align-self:center;
  z-index:3;
}
.hero--museum .hero__title{
  margin:0;
  max-inline-size:8.2ch;
  font-size:clamp(64px,8.4vw,132px);
  line-height:.88;
  letter-spacing:-.074em;
}
.hero--museum .hero__line{
  width:max-content;
  max-width:none;
  white-space:nowrap;
  transform:translate3d(var(--line-shift,0px),110%,0);
}
.hero.is-ready.hero--museum .hero__line,
.hero--museum.is-ready .hero__line{
  transform:translate3d(var(--line-shift,0px),0,0);
}
.hero--museum .hero__line--2{margin-left:0}
.hero--museum .hero__lede{
  grid-column:1/4;
  grid-row:3;
  align-self:end;
  max-width:29ch;
  display:grid;
  gap:22px;
  z-index:4;
}
.hero--museum .hero__lede p{
  margin:0;
  font-size:clamp(16px,1.18vw,19px);
  line-height:1.72;
  color:rgba(17,17,17,.92);
}
.hero--museum .hero__controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.hero--museum .hero__cta,
.hero--museum .hero__shuffle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 15px;
  margin:0;
  border:1px solid rgba(17,17,17,.34);
  background:rgba(255,255,255,.18);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero--museum .hero__shuffle{gap:10px}
.hero--museum .hero__shuffle b{font-size:12px;line-height:1}
.hero--museum .hero__cta{border-bottom:1px solid rgba(17,17,17,.34);padding-bottom:0}
.hero--museum .hero__cta:hover,
.hero--museum .hero__shuffle:hover{
  background:#111;
  color:var(--bg);
  transform:translateY(-1px);
}
.hero--museum .hero__visual-shell{
  --visual-base-x:0px;
  --visual-base-y:0px;
  --visual-base-rotate:-0.9deg;
  grid-column:9/12;
  grid-row:2 / span 2;
  align-self:center;
  justify-self:end;
  width:min(100%,356px);
  aspect-ratio:1/1;
  transform:translate3d(var(--visual-base-x),var(--visual-base-y),0) rotate(var(--visual-base-rotate));
  box-shadow:none;
  z-index:4;
}
.hero--museum .hero__visual-frame{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  border:1px solid rgba(17,17,17,.28);
  background:rgba(255,255,255,.14);
}
.hero--museum .hero__visual-frame::before{
  content:'';
  position:absolute;
  inset:16px;
  border:1px solid rgba(17,17,17,.06);
  pointer-events:none;
}
.hero--museum .hero__visual-no{
  position:absolute;
  left:18px;
  top:16px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(17,17,17,.6);
}
.hero--museum .hero__visual-no span{font-weight:700;color:#111}
.hero--museum .hero__visual-no b{font-weight:500}
.hero--museum .hero__visual-source{
  position:absolute;
  inset:0;
  border:0;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(17,17,17,.015));
}
.hero--museum .hero__visual-source img,
.hero--museum .hero__visual-source picture{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero--museum .hero__visual-source img{
  opacity:.16;
  filter:grayscale(1) contrast(1.04) saturate(.6);
}
.hero--museum .hero__visual-placeholder{
  position:absolute;
  inset:0;
  display:block;
  background:transparent;
}
.hero--museum .hero__visual-placeholder small{
  position:absolute;
  left:18px;
  bottom:16px;
  font-size:8px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(17,17,17,.42);
}
.hero--museum .hero__visual-canvas{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.hero--museum .hero-visual-shape{
  position:absolute;
  display:block;
  will-change:transform;
}
.hero--museum .hero-visual-shape--dot{
  border-radius:50%;
  background:rgba(223,255,69,.92);
  box-shadow:0 0 0 1px rgba(17,17,17,.08) inset;
}
.hero--museum .hero-visual-shape--bar{
  border-radius:999px;
  background:rgba(17,17,17,.08);
}
.hero--museum .hero-visual-shape--square{
  background:rgba(124,140,196,.40);
}
.hero--museum .hero-visual-shape--ring{
  border-radius:50%;
  border:1px solid rgba(17,17,17,.10);
  background:transparent;
}
.hero--museum .hero__visual-footer{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(17,17,17,.48);
}
.hero--museum .hero__visual-footer b{
  font-size:10px;
  color:#111;
}
.hero--museum .hero__side-note,
.hero--museum .hero__sub,
.hero--museum .hero__scroll,
.hero--museum .hero__visual-index,
.hero--museum .hero__visual-trace,
.hero--museum .hero__object-label{display:none !important}

.detail-hero h1{
  font-size:clamp(52px,7.2vw,108px);
  line-height:.92;
  max-inline-size:14ch;
}
.page-hero h1{
  font-size:clamp(52px,7.2vw,112px);
  line-height:.9;
}

@media (max-width:1240px){
  .hero--museum .hero__title{font-size:clamp(58px,8vw,118px)}
  .hero--museum .hero__visual-shell{width:min(100%,320px)}
}
@media (max-width:980px){
  .hero--museum{
    min-height:auto;
    row-gap:28px;
    grid-template-rows:auto auto auto auto;
  }
  .hero--museum .hero__meta,
  .hero--museum .hero__title-wrap,
  .hero--museum .hero__visual-shell,
  .hero--museum .hero__lede{grid-column:1/13}
  .hero--museum .hero__visual-shell{
    grid-row:3;
    justify-self:start;
    width:min(66vw,330px);
  }
  .hero--museum .hero__lede{
    grid-row:4;
    max-width:34ch;
  }
  .hero--museum .hero__title{
    max-inline-size:none;
    font-size:clamp(56px,10vw,96px);
  }
}
@media (max-width:680px){
  .hero--museum{
    padding-top:90px;
    padding-bottom:28px;
  }
  .hero--museum .hero__meta{font-size:10px}
  .hero--museum .hero__title{
    font-size:clamp(40px,12vw,68px);
    line-height:.92;
    letter-spacing:-.06em;
  }
  .hero--museum .hero__visual-shell{
    width:min(76vw,270px);
  }
  .hero--museum .hero__lede p{font-size:15px}
  .hero--museum .hero__cta,
  .hero--museum .hero__shuffle{min-height:38px;padding:0 12px}
  .detail-hero h1{font-size:clamp(36px,10.8vw,56px)}
  .page-hero h1{font-size:clamp(40px,10.8vw,64px)}
}

/* v1.11.0 — full-canvas editorial hero */
.hero--art{
  position:relative;
  min-height:100svh;
  padding:96px var(--pad) 42px;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto 1fr auto;
  column-gap:clamp(14px,1.8vw,28px);
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(238,241,242,.72), rgba(244,244,239,.94));
}
.hero--art::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.16;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(17,17,17,.18) 0 .55px, transparent .7px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.9) 0 .5px, transparent .65px);
  background-size:4px 4px,5px 5px;
  mix-blend-mode:multiply;
}
.hero--art .hero__art{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.hero--art .hero__frame{
  position:absolute;
  z-index:1;
  left:12.5%;
  right:12.5%;
  top:23%;
  bottom:5.5%;
  border:1px solid rgba(17,17,17,.22);
  border-radius:18px;
  pointer-events:none;
}
.hero--art .hero__meta{
  grid-column:1/7;
  grid-row:1;
  position:relative;
  z-index:4;
  align-self:start;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(17,17,17,.74);
}
.hero--art .hero__title-wrap{
  grid-column:1/10;
  grid-row:2;
  align-self:center;
  position:relative;
  z-index:4;
  pointer-events:none;
  transform:none;
}
.hero--art .hero__title{
  margin:0;
  max-width:9.5ch;
  font-family:var(--display);
  font-size:clamp(72px,9.2vw,154px);
  font-weight:700;
  line-height:.98;
  letter-spacing:-.07em;
  text-transform:none;
}
.hero--art .hero__line{
  display:block;
  width:max-content;
  max-width:100%;
  overflow:visible;
  opacity:0;
  transform:none;
  transition:opacity .7s ease;
}
.hero--art.is-ready .hero__line{opacity:1}
.hero--art .hero__line--2,
.hero--art .hero__line--3{
  margin-left:clamp(50px,12vw,210px);
}
.hero--art .hero__note{
  grid-column:9/13;
  grid-row:3;
  position:relative;
  z-index:4;
  align-self:end;
  justify-self:end;
  max-width:27ch;
  padding-bottom:8px;
}
.hero--art .hero__note p{
  margin:0 0 18px;
  font-size:14px;
  line-height:1.75;
  color:rgba(17,17,17,.76);
}
.hero--art .hero__cta--quiet{
  display:inline-flex;
  align-items:center;
  margin:0;
  padding:0 0 4px;
  border:0;
  border-bottom:1px solid rgba(17,17,17,.52);
  background:transparent;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero--art .hero__cta--quiet:hover{
  transform:none;
  opacity:.55;
}

.hero-art-shape{
  position:absolute;
  display:block;
  will-change:transform;
  opacity:.55;
}
.hero-art-shape::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.38;
  background-image:radial-gradient(circle, rgba(17,17,17,.28) 0 .45px, transparent .6px);
  background-size:3px 3px;
  mix-blend-mode:multiply;
}
.hero-art-shape--disc{
  border-radius:50%;
  background:rgba(17,17,17,.08);
}
.hero-art-shape--ring{
  border-radius:50%;
  border:clamp(38px,4.2vw,72px) solid rgba(17,17,17,.07);
}
.hero-art-shape--half-l{
  border-radius:100% 0 0 100% / 50% 0 0 50%;
  background:rgba(17,17,17,.08);
  clip-path:inset(0 50% 0 0);
}
.hero-art-shape--half-r{
  border-radius:0 100% 100% 0 / 0 50% 50% 0;
  background:rgba(17,17,17,.08);
  clip-path:inset(0 0 0 50%);
}
.hero-art-shape--arc{
  border-radius:50%;
  border:clamp(44px,5vw,82px) solid rgba(17,17,17,.06);
  border-top-color:transparent;
  border-right-color:rgba(17,17,17,.04);
}
.hero-art-shape--diamond{
  background:
    linear-gradient(135deg, rgba(17,17,17,.07) 0 50%, rgba(17,17,17,.035) 50% 100%);
}
.hero-art-shape--1{opacity:.48}
.hero-art-shape--2,.hero-art-shape--3{opacity:.58}
.hero-art-shape--4{opacity:.46}
.hero-art-shape--5{opacity:.50}
.hero-art-shape--6{opacity:.58}

@media (max-width:1100px){
  .hero--art .hero__frame{
    left:8%;
    right:8%;
    top:24%;
    bottom:5%;
  }
  .hero--art .hero__title-wrap{grid-column:1/11}
  .hero--art .hero__title{font-size:clamp(64px,10vw,118px)}
  .hero--art .hero__note{grid-column:8/13}
}

@media (max-width:760px){
  .hero--art{
    min-height:100svh;
    padding-top:88px;
    padding-bottom:28px;
    grid-template-rows:auto 1fr auto;
  }
  .hero--art .hero__frame{
    left:18px;
    right:18px;
    top:20%;
    bottom:4%;
    border-radius:14px;
  }
  .hero--art .hero__meta{grid-column:1/13;font-size:9px}
  .hero--art .hero__title-wrap{grid-column:1/13}
  .hero--art .hero__title{
    max-width:10ch;
    font-size:clamp(48px,14vw,78px);
    line-height:1.02;
  }
  .hero--art .hero__line--2,
  .hero--art .hero__line--3{
    margin-left:clamp(18px,9vw,56px);
  }
  .hero--art .hero__note{
    grid-column:5/13;
    max-width:24ch;
    padding-right:4px;
  }
  .hero--art .hero__note p{font-size:12px;line-height:1.7}
  .hero-art-shape--2,.hero-art-shape--3{opacity:.42}
}

/* v1.12.0 — white background + cleaner hero line behavior */
.hero--art{
  background:#fff;
}
.hero--art::after{
  opacity:.08;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(17,17,17,.12) 0 .5px, transparent .65px),
    radial-gradient(circle at 70% 60%, rgba(17,17,17,.05) 0 .45px, transparent .6px);
  background-size:4px 4px,5px 5px;
  mix-blend-mode:normal;
}
.hero--art .hero__frame{
  border-color:rgba(17,17,17,.16);
}
.hero--art .hero__meta,
.hero--art .hero__note p{
  color:rgba(17,17,17,.72);
}
.hero--art .hero__title{
  max-width:none;
  font-size:clamp(64px,8.6vw,148px);
  line-height:.96;
  letter-spacing:-.065em;
  overflow-wrap:normal;
  word-break:keep-all;
}
.hero--art .hero__title .hero__line{
  max-width:none;
  overflow:visible;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:keep-all;
}
.hero--art .hero__title--lines-1{
  max-width:none;
}
.hero--art .hero__title--lines-1 .hero__line{
  margin-left:0;
}
.hero--art .hero__title--lines-2 .hero__line--2,
.hero--art .hero__title--lines-3 .hero__line--2,
.hero--art .hero__title--lines-4 .hero__line--2,
.hero--art .hero__title--lines-3 .hero__line--3,
.hero--art .hero__title--lines-4 .hero__line--3,
.hero--art .hero__title--lines-4 .hero__line--4{
  margin-left:clamp(28px,8vw,112px);
}
.hero--art .hero__note{
  max-width:24ch;
}
.hero--art .hero__cta--quiet{
  border-bottom-color:rgba(17,17,17,.44);
}
.hero-art-shape{
  opacity:.38;
}
.hero-art-shape::after{
  opacity:.24;
  background-image:radial-gradient(circle, rgba(17,17,17,.18) 0 .4px, transparent .55px);
}
.hero-art-shape--disc,
.hero-art-shape--half-l,
.hero-art-shape--half-r,
.hero-art-shape--diamond{
  background:rgba(17,17,17,.055);
}
.hero-art-shape--ring,
.hero-art-shape--arc{
  border-color:rgba(17,17,17,.05);
}
.hero-art-shape--arc{
  border-right-color:rgba(17,17,17,.03);
}

@media (max-width:1100px){
  .hero--art .hero__title{
    font-size:clamp(56px,9.4vw,116px);
  }
}

@media (max-width:760px){
  .hero--art{
    background:#fff;
  }
  .hero--art .hero__frame{
    top:21%;
    bottom:4.5%;
  }
  .hero--art .hero__title{
    font-size:clamp(42px,12vw,70px);
    line-height:1;
    letter-spacing:-.055em;
  }
  .hero--art .hero__title--lines-2 .hero__line--2,
  .hero--art .hero__title--lines-3 .hero__line--2,
  .hero--art .hero__title--lines-4 .hero__line--2,
  .hero--art .hero__title--lines-3 .hero__line--3,
  .hero--art .hero__title--lines-4 .hero__line--3,
  .hero--art .hero__title--lines-4 .hero__line--4{
    margin-left:clamp(12px,6vw,36px);
  }
  .hero--art .hero__note{
    grid-column:4/13;
    max-width:22ch;
  }
}

/* v1.13.0 — circular cursor + contact confirmation flow */
@media (hover:hover) and (pointer:fine){
  html.has-custom-cursor,
  html.has-custom-cursor body,
  html.has-custom-cursor a,
  html.has-custom-cursor button,
  html.has-custom-cursor input,
  html.has-custom-cursor textarea,
  html.has-custom-cursor select,
  html.has-custom-cursor label,
  html.has-custom-cursor [role="button"],
  html.has-custom-cursor [role="tab"]{
    cursor:none !important;
  }
  .ctmp-cursor{
    position:fixed;
    left:0;
    top:0;
    width:22px;
    height:22px;
    z-index:99999;
    pointer-events:none;
    opacity:0;
    border:1px solid #fff;
    border-radius:50%;
    mix-blend-mode:difference;
    transform:translate3d(-100px,-100px,0) translate(-50%,-50%);
    transition:opacity .16s ease,width .18s ease,height .18s ease,border-width .18s ease;
    will-change:transform;
  }
  .ctmp-cursor.is-visible{opacity:1}
  .ctmp-cursor.is-hover{
    width:26px;
    height:26px;
    border-width:1px;
  }
}

.contact-steps{
  display:grid;
  grid-template-columns:auto minmax(30px,1fr) auto minmax(30px,1fr) auto;
  align-items:center;
  gap:18px;
  margin:0 0 54px;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.contact-steps span{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:10px;
  letter-spacing:.14em;
  color:rgba(17,17,17,.42);
  white-space:nowrap;
}
.contact-steps span b{
  font-size:11px;
  font-weight:700;
}
.contact-steps span.is-current{color:#111}
.contact-steps i{
  display:block;
  width:100%;
  height:1px;
  background:rgba(17,17,17,.16);
}

.contact-confirm__head{
  padding-bottom:36px;
  border-bottom:1px solid #111;
}
.contact-confirm__head>span,
.contact-complete>span{
  display:block;
  margin-bottom:20px;
  font-size:10px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.contact-confirm__head h2,
.contact-complete h2{
  margin:0;
  font-size:clamp(38px,5vw,72px);
  line-height:1;
  letter-spacing:-.05em;
}
.contact-confirm__head p,
.contact-complete p{
  max-width:640px;
  margin:22px 0 0;
  line-height:1.9;
  color:rgba(17,17,17,.72);
}
.contact-confirm__list{
  margin:0;
}
.contact-confirm__list>div{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:28px;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
.contact-confirm__list dt{
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.contact-confirm__list dd{
  margin:0;
  font-size:17px;
  line-height:1.7;
  overflow-wrap:anywhere;
}
.contact-confirm__list .is-empty{
  color:rgba(17,17,17,.38);
}
.contact-confirm__message dd{
  white-space:normal;
}
.contact-confirm__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:36px;
}
.contact-confirm__actions form{margin:0}
.contact-action{
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
  border:1px solid #111;
  background:#fff;
  cursor:pointer;
  font-size:11px;
  letter-spacing:.1em;
  transition:background .2s ease,color .2s ease;
}
.contact-action--send{
  background:#111;
  color:#fff;
}
.contact-action--back:hover{
  background:rgba(17,17,17,.04);
}
.contact-action--send:hover{
  background:var(--accent);
  color:#111;
}
.contact-complete{
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:40px 0;
  border-top:1px solid #111;
  border-bottom:1px solid #111;
}
.contact-complete a{
  align-self:flex-start;
  margin-top:34px;
  padding-bottom:3px;
  border-bottom:1px solid currentColor;
  font-size:11px;
  letter-spacing:.13em;
}
.field-error{
  display:block;
  margin-top:3px;
  color:#b42318;
  font-size:11px;
  letter-spacing:0;
  line-height:1.5;
}
.contact-form input[aria-invalid="true"],
.contact-form textarea[aria-invalid="true"]{
  border-bottom-color:#b42318;
}
.contact-form__privacy .field-error{
  flex-basis:100%;
}

@media (max-width:760px){
  .contact-steps{
    gap:8px;
    margin-bottom:38px;
  }
  .contact-steps span{
    gap:5px;
    font-size:8px;
    letter-spacing:.1em;
  }
  .contact-steps span b{font-size:9px}
  .contact-confirm__list>div{
    grid-template-columns:1fr;
    gap:8px;
    padding:20px 0;
  }
  .contact-confirm__actions{
    grid-template-columns:1fr;
  }
  .contact-confirm__send-form{order:-1}
  .contact-confirm__head h2,
  .contact-complete h2{
    font-size:clamp(34px,10vw,52px);
  }
}

/* v1.14.0 — footer no-wrap, refined brand strip, faster cursor */
.site-footer__brand{
  display:block;
  width:100%;
  font-size:clamp(44px,7vw,122px);
  font-weight:800;
  letter-spacing:-.065em;
  line-height:.9;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}
.site-footer__brand img,
.site-footer__logo{
  display:block;
}
.site-footer__grid{
  margin-top:56px;
}
.site-footer__bottom{
  margin-top:48px;
  padding-top:18px;
  border-top:1px solid rgba(17,17,17,.12);
}

.brand-break{
  background:transparent;
  padding:26px var(--pad);
  border-top:1px solid rgba(17,17,17,.12);
  border-bottom:1px solid rgba(17,17,17,.12);
  overflow:visible;
  white-space:normal;
}
.brand-break div,
.brand-break__inner{
  width:auto;
  animation:none;
}
.brand-break__inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:18px;
}
.brand-break__eyebrow,
.brand-break__caption{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(17,17,17,.52);
}
.brand-break__inner strong{
  font-size:clamp(20px,2.8vw,42px);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:700;
}
.brand-break__divider{
  display:block;
  width:44px;
  height:1px;
  background:rgba(17,17,17,.22);
}

@media (hover:hover) and (pointer:fine){
  .ctmp-cursor{
    width:24px;
    height:24px;
    transition:opacity .12s ease,width .14s ease,height .14s ease,border-width .14s ease;
  }
  .ctmp-cursor.is-hover{
    width:30px;
    height:30px;
  }
}

@media (max-width:900px){
  .brand-break__inner{
    grid-template-columns:1fr;
    gap:10px;
  }
  .brand-break__divider{display:none}
  .site-footer__brand{
    font-size:clamp(34px,7vw,72px);
  }
}

@media (max-width:600px){
  .site-footer__brand{
    font-size:clamp(26px,8vw,34px);
    line-height:.94;
  }
  .brand-break{
    padding:18px var(--pad);
  }
  .brand-break__inner strong{
    font-size:clamp(16px,6vw,24px);
  }
}

/* v1.15.0 — smartphone-first responsive pass */
@media (max-width:1024px){
  html,body{overflow-x:hidden}
  body{-webkit-text-size-adjust:100%}
  a,button,input,select,textarea{touch-action:manipulation}

  .section{padding-left:clamp(20px,4vw,34px);padding-right:clamp(20px,4vw,34px)}
  .section-label{font-size:9px;letter-spacing:.16em}

  .site-header{
    padding-left:clamp(18px,3vw,28px);
    padding-right:clamp(18px,3vw,28px);
  }
  .site-header.is-scrolled{background:rgba(255,255,255,.94)}
  .menu-toggle{min-height:44px;min-width:54px;justify-content:flex-end}

  .fullscreen-nav{
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .fullscreen-nav__inner{
    min-height:100dvh;
    height:auto;
    padding-bottom:calc(24px + env(safe-area-inset-bottom));
  }
  .fullscreen-nav__list a{line-height:.92}

  .business__grid{grid-template-columns:1fr}
  .business__stage{margin-top:30px}
  .business__panel-grid{grid-template-columns:1fr;gap:22px}
  .business__panel-copy{min-height:auto}

  .projects__heading{grid-template-columns:1fr}
  .projects__heading .section-label{grid-column:1}
  .projects__intro{max-width:42ch}

  .contact-detail__grid{grid-template-columns:1fr;gap:54px}
  .contact-detail aside{position:static}
  .contact-form{grid-template-columns:1fr 1fr}

  .site-footer__grid{grid-template-columns:1.5fr 1fr;gap:30px}
}

@media (max-width:760px){
  :root{--pad:18px}

  html{scroll-padding-top:72px}
  body{font-size:15px}

  .site-header{
    padding-top:calc(11px + env(safe-area-inset-top));
    padding-bottom:11px;
    padding-left:18px;
    padding-right:18px;
  }
  .site-header.is-scrolled{
    padding-top:calc(8px + env(safe-area-inset-top));
    padding-bottom:8px;
    backdrop-filter:blur(12px);
  }
  .site-brand{
    max-width:calc(100vw - 112px);
    font-size:13px;
    line-height:1.1;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .site-logo{max-height:22px}
  .site-header__right{gap:12px}
  .site-header__status{display:none}
  .menu-toggle{font-size:10px;letter-spacing:.11em;gap:9px;padding:0}
  .menu-toggle i,.menu-toggle i::after{width:20px}

  .fullscreen-nav__inner{
    min-height:100dvh;
    padding:calc(68px + env(safe-area-inset-top)) 18px calc(22px + env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .fullscreen-nav__top{display:flex;font-size:8px}
  .fullscreen-nav__nav{width:100%;align-self:stretch;padding:0}
  .fullscreen-nav__list{width:100%}
  .fullscreen-nav__list li{min-height:0}
  .fullscreen-nav__list a{
    min-height:54px;
    padding:9px 0 10px 32px;
    font-size:clamp(30px,10vw,48px);
    line-height:.9;
    letter-spacing:-.055em;
  }
  .fullscreen-nav__list li::before{left:0;font-size:8px}
  .fullscreen-nav__bottom{
    margin-top:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    padding-top:14px;
    font-size:9px;
  }
  .fullscreen-nav__social{position:static;display:flex;gap:18px}

  .hero--art{
    min-height:100svh;
    min-height:100dvh;
    padding:calc(76px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-rows:auto minmax(0,1fr) auto;
    column-gap:10px;
    background:#fff;
  }
  .hero--art .hero__frame{
    left:12px;
    right:12px;
    top:19%;
    bottom:3%;
    border-radius:12px;
  }
  .hero--art .hero__meta{
    grid-column:1/5;
    grid-row:1;
    max-width:80%;
    font-size:8px;
    line-height:1.45;
    letter-spacing:.12em;
  }
  .hero--art .hero__title-wrap{
    grid-column:1/5;
    grid-row:2;
    align-self:center;
    width:100%;
    min-width:0;
  }
  .hero--art .hero__title{
    max-width:none;
    line-height:.98;
    letter-spacing:-.055em;
  }
  .hero--art .hero__title--short{font-size:clamp(48px,13vw,68px)}
  .hero--art .hero__title--medium{font-size:clamp(38px,10.8vw,56px)}
  .hero--art .hero__title--long{font-size:clamp(29px,8.2vw,44px)}
  .hero--art .hero__title .hero__line{
    max-width:100%;
    width:max-content;
    white-space:nowrap;
  }
  .hero--art .hero__title--lines-2 .hero__line--2,
  .hero--art .hero__title--lines-3 .hero__line--2,
  .hero--art .hero__title--lines-4 .hero__line--2,
  .hero--art .hero__title--lines-3 .hero__line--3,
  .hero--art .hero__title--lines-4 .hero__line--3,
  .hero--art .hero__title--lines-4 .hero__line--4{margin-left:5vw}
  .hero--art .hero__note{
    grid-column:2/5;
    grid-row:3;
    justify-self:end;
    align-self:end;
    max-width:25ch;
    padding:0 2px 4px 0;
  }
  .hero--art .hero__note p{
    margin-bottom:12px;
    font-size:12px;
    line-height:1.68;
  }
  .hero--art .hero__cta--quiet{font-size:9px;min-height:32px;align-items:center}
  .hero-art-shape{opacity:.26}
  .hero-art-shape--1{opacity:.22}
  .hero-art-shape--2,.hero-art-shape--3{opacity:.32}
  .hero-art-shape--4,.hero-art-shape--5,.hero-art-shape--6{opacity:.26}

  .section{padding:74px 18px}
  .statement{min-height:auto;padding-top:92px;padding-bottom:92px}
  .statement .section-label{margin-bottom:26px}
  .statement h2{font-size:clamp(34px,9.8vw,48px);line-height:1.12;letter-spacing:-.04em}
  .statement p{margin:30px 0 0;font-size:15px;line-height:1.9;max-width:88%;margin-left:auto}

  .business__head{margin-bottom:34px}
  .business__head h2{
    margin-top:8px;
    font-size:clamp(48px,14vw,68px);
    line-height:.86;
    letter-spacing:-.055em;
    white-space:normal;
    text-align:left;
  }
  .business__grid{display:block}
  .business__list{
    display:flex;
    gap:24px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    border-top:0;
    border-bottom:1px solid rgba(17,17,17,.16);
    padding-bottom:2px;
    margin-right:-18px;
    padding-right:18px;
  }
  .business__list::-webkit-scrollbar{display:none}
  .business__item{
    flex:0 0 auto;
    min-width:64vw;
    scroll-snap-align:start;
    display:grid;
    grid-template-columns:38px 1fr;
    gap:6px 12px;
    padding:15px 0 14px;
    border:0;
    background:transparent!important;
  }
  .business__item::before{
    left:0;
    right:0;
    top:auto;
    bottom:-2px;
    width:auto;
    height:2px;
    transform:scaleX(0);
    transform-origin:left center;
  }
  .business__item:hover,.business__item.is-active{padding-left:0}
  .business__item:hover::before,.business__item.is-active::before{transform:scaleX(1)}
  .business__item span{font-size:11px}
  .business__item strong{font-size:21px;line-height:1.05}
  .business__item em{display:block;grid-column:2;font-size:11px;line-height:1.4}
  .business__stage{position:static;min-height:0;margin-top:28px}
  .business__panel{position:static;display:none;opacity:1;pointer-events:auto}
  .business__panel.is-active{display:block}
  .business__panel-grid{display:grid;grid-template-columns:1fr;gap:20px}
  .business__image{height:auto;aspect-ratio:4/3}
  .business__visual-meta{gap:8px;font-size:8px}
  .business__visual-meta strong{font-size:9px}
  .business__visual-meta i{display:none}
  .business__panel-copy{min-height:0}
  .business__panel-kicker{margin-bottom:10px;font-size:9px}
  .business__panel h3{font-size:clamp(34px,10vw,48px);line-height:.92}
  .business__panel-summary{font-size:19px;line-height:1.35;margin-top:16px}
  .business__panel-body{font-size:14px;line-height:1.8}
  .business__services{padding-top:20px;gap:7px}
  .business__services span{font-size:9px;padding:6px 9px}

  .brand-break{padding:18px}
  .brand-break__inner{display:grid;grid-template-columns:1fr;gap:8px}
  .brand-break__eyebrow,.brand-break__caption{font-size:8px}
  .brand-break__inner strong{font-size:clamp(19px,6vw,28px);line-height:1.12}
  .brand-break__divider{display:none}

  .projects__heading{display:block}
  .projects__heading h2{
    margin-top:8px;
    font-size:clamp(48px,14vw,70px);
    line-height:.86;
    letter-spacing:-.055em;
    white-space:normal;
  }
  .projects__intro{margin-top:26px;font-size:14px;line-height:1.8;max-width:90%}
  .projects__grid{display:block;margin-top:48px}
  .project-card,.project-card--1,.project-card--2,.project-card--3{width:100%;margin:0 0 52px}
  .project-card--2{width:88%;margin-left:auto}
  .project-card__image{aspect-ratio:4/3}
  .project-card--2 .project-card__image{aspect-ratio:3/4}
  .project-card__meta{grid-template-columns:76px minmax(0,1fr) 20px;gap:10px;padding-top:12px}
  .project-card__meta span{font-size:9px}
  .project-card__meta strong{font-size:21px;line-height:1.05}
  .project-card__meta small{display:block;font-size:9px}
  .project-card__meta b{font-size:20px}
  .project-card__client{font-size:9px}

  .about-home{display:block}
  .about-home__number{font-size:clamp(104px,36vw,150px);line-height:.64;margin-bottom:70px}
  .about-home__content{padding-top:0}
  .about-home__content h2{font-size:clamp(38px,11vw,52px);line-height:1}
  .about-home__content p{margin:28px 0;font-size:15px;line-height:1.9}

  .news__heading{display:block}
  .news__heading h2{font-size:clamp(50px,14vw,70px);line-height:.86;white-space:normal}
  .news__list{margin-top:38px}
  .news-row{
    grid-template-columns:78px 1fr 18px;
    gap:7px 10px;
    padding:17px 0;
  }
  .news-row time{font-size:10px}
  .news-row span{font-size:9px;text-align:right}
  .news-row strong{grid-column:1/3;font-size:15px;line-height:1.5}
  .news-row b{display:block;grid-column:3;grid-row:1/3;align-self:center;font-size:17px}
  .news-row:hover{padding-left:0;padding-right:0;background:transparent}
  .news__more{margin-top:24px}

  .contact-cta,.page-cta{background:#111;color:#fff}
  .contact-cta a,.page-cta a{min-height:52svh;padding:24px 18px}
  .contact-cta strong,.page-cta strong{font-size:clamp(46px,13vw,64px);line-height:.82;letter-spacing:-.06em}

  .page-shell,.single-post{padding:calc(94px + env(safe-area-inset-top)) 18px 80px}
  .page-hero{min-height:42svh}
  .page-hero h1{font-size:clamp(44px,13vw,72px);line-height:.9;letter-spacing:-.06em;overflow-wrap:anywhere}
  .page-content{margin:50px auto;font-size:16px;line-height:1.9}
  .single-post header h1{font-size:clamp(38px,10.5vw,58px);line-height:1.02;overflow-wrap:anywhere}
  .single-post__meta{gap:12px;flex-wrap:wrap;font-size:9px}
  .single-post__image{margin:40px 0}
  .single-post__content{font-size:16px;line-height:1.9}

  .detail-hero{
    min-height:auto;
    padding:calc(100px + env(safe-area-inset-top)) 18px 54px;
    display:block;
  }
  .detail-hero::before{width:72px;height:72px;top:calc(96px + env(safe-area-inset-top))}
  .detail-hero__kicker{font-size:9px}
  .detail-hero h1{margin-top:120px;font-size:clamp(38px,11vw,60px);line-height:.96;letter-spacing:-.055em;overflow-wrap:anywhere}
  .detail-hero__lead{margin-top:28px;font-size:21px;line-height:1.45;max-width:95%}
  .detail-hero__marker{display:none}
  .detail-intro{display:block}
  .detail-intro__copy{font-size:clamp(24px,7.4vw,34px);line-height:1.3}
  .detail-intro__visual{margin-top:42px;aspect-ratio:4/3}
  .philosophy h2,.approach__head h2,.company-message__copy h2{font-size:clamp(38px,10vw,50px);line-height:1}
  .philosophy p,.approach__head p{font-size:15px;line-height:1.9}
  .value-row{grid-template-columns:36px 1fr;gap:12px;padding:24px 0}
  .value-row h3{font-size:24px}
  .value-row p{grid-column:2;font-size:14px}
  .timeline__list{grid-template-columns:1fr}
  .timeline__list article{min-height:220px;border-right:0}
  .timeline__list strong{font-size:54px}

  .business-detail__item{display:block;padding:46px 0}
  .business-detail__index{margin-bottom:24px}
  .business-detail__index span{font-size:48px}
  .business-detail__main h2{font-size:clamp(36px,10vw,48px)}
  .business-detail__short{font-size:18px}
  .business-detail__image{margin-top:28px;aspect-ratio:4/3}
  .process-list{grid-template-columns:1fr}
  .process-list article{min-height:200px}

  .projects-intro{display:block}
  .projects-intro p{font-size:clamp(24px,7vw,32px);line-height:1.3}
  .archive-grid--editorial{grid-template-columns:1fr;gap:46px}
  .archive-project-card,.archive-project-card--2,.archive-project-card--4{width:100%;margin:0}
  .archive-project-card:nth-child(even){width:88%;margin-left:auto}

  .company-overview{grid-template-columns:1fr;gap:36px}
  .company-overview__visual{position:static;aspect-ratio:4/3}
  .company-profile-row{grid-template-columns:78px minmax(0,1fr);gap:16px;font-size:14px}
  .access__grid{grid-template-columns:1fr}
  .access__grid h2{font-size:clamp(52px,15vw,72px)}

  .contact-detail__intro{display:block;margin-bottom:48px}
  .contact-detail__intro p{font-size:clamp(24px,7vw,32px);line-height:1.35}
  .contact-detail__grid{display:block;border-top:1px solid rgba(17,17,17,.18);padding-top:26px}
  .contact-detail aside{margin-bottom:46px}
  .contact-detail__form h2{font-size:clamp(38px,10vw,50px);line-height:1;margin-bottom:34px}
  .contact-form{grid-template-columns:1fr;gap:24px}
  .contact-form>label:has(textarea),.contact-form__privacy,.contact-form button{grid-column:1}
  .contact-form input,.contact-form textarea,.contact-form select{font-size:16px;padding:12px 0}
  .contact-form button{min-height:56px}
  .contact-steps{
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-bottom:34px;
    padding:12px 0;
  }
  .contact-steps i{display:none}
  .contact-steps span{justify-content:center;gap:5px;font-size:8px;letter-spacing:.08em}
  .contact-confirm__list>div{grid-template-columns:1fr;gap:7px;padding:18px 0}
  .contact-confirm__list dd{font-size:15px}
  .contact-confirm__actions{grid-template-columns:1fr;gap:10px;margin-top:28px}
  .contact-confirm__send-form{order:-1}
  .contact-action{min-height:54px}
  .contact-complete{min-height:340px;padding:30px 0}

  .project-case__hero{padding:calc(96px + env(safe-area-inset-top)) 18px 48px;min-height:auto;display:block}
  .project-case__meta{gap:10px;flex-wrap:wrap}
  .project-case__hero h1{font-size:clamp(40px,11vw,60px);line-height:.95;margin:52px 0 28px;overflow-wrap:anywhere}
  .project-case__lead{font-size:22px;line-height:1.4}
  .project-case__facts{margin-top:38px;grid-template-columns:1fr 1fr;gap:14px}
  .project-case__cover{height:auto;min-height:320px;max-height:56svh;margin:0 18px}
  .case-sections{grid-template-columns:1fr}
  .case-sections article{min-height:auto;padding:40px 18px;border-right:0}
  .case-sections h2{font-size:clamp(40px,11vw,56px);margin-top:54px}
  .case-sections p{font-size:15px;line-height:1.9}
  .project-gallery{display:block}
  .project-gallery__item,.project-gallery__item--2,.project-gallery__item--3{margin:0 0 38px}
  .project-case__footer{padding:24px 18px;font-size:8px;gap:12px;flex-wrap:wrap}

  .site-footer{
    padding:58px 18px calc(22px + env(safe-area-inset-bottom));
  }
  .site-footer__brand{
    max-width:100%;
    font-size:clamp(20px,6.4vw,28px);
    line-height:1;
    letter-spacing:-.04em;
    white-space:nowrap;
    overflow:hidden;
  }
  .site-footer__grid{
    grid-template-columns:1fr;
    gap:26px;
    margin-top:38px;
    padding-top:20px;
  }
  .site-footer__grid p{margin:0 0 12px;font-size:13px;line-height:1.8}
  .site-footer nav ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
  .site-footer nav a,.site-footer__social a{font-size:12px;line-height:1.8}
  .site-footer__social{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px 18px}
  .site-footer__bottom{margin-top:36px;padding-top:14px;gap:14px;flex-wrap:wrap;font-size:10px}
}

@media (max-width:390px){
  .hero--art .hero__title--short{font-size:clamp(44px,12.5vw,54px)}
  .hero--art .hero__title--medium{font-size:clamp(34px,9.7vw,46px)}
  .hero--art .hero__title--long{font-size:clamp(27px,7.5vw,36px)}
  .fullscreen-nav__list a{font-size:clamp(28px,9vw,40px);min-height:50px}
  .business__item{min-width:72vw}
  .project-card__meta{grid-template-columns:68px minmax(0,1fr) 18px}
  .contact-steps span{font-size:7px}
}

@media (max-width:900px) and (orientation:landscape){
  .fullscreen-nav__inner{padding-top:64px;min-height:100dvh}
  .fullscreen-nav__list a{font-size:clamp(26px,6vw,40px);min-height:42px;padding-top:6px;padding-bottom:7px}
  .hero--art{min-height:720px}
  .hero--art .hero__title--short{font-size:72px}
  .hero--art .hero__title--medium{font-size:60px}
  .hero--art .hero__title--long{font-size:46px}
}
