/*
Theme Name: B. Theme
Theme URI: https://bariscanozkalay.com/
Author: Barışcan Özkalay
Description: BARISCAN custom creative studio theme. V1.8 frontend port.
Version: 0.2.10
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: bariscan
*/

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080908;color:#ece9e1;font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}.nav{position:fixed;z-index:50;top:0;left:0;right:0;height:74px;padding:0 30px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;mix-blend-mode:difference;transition:background .25s}.logo{font-size:24px;font-weight:600;letter-spacing:-.06em}.nav nav{display:flex;gap:27px;font:10px "DM Mono";text-transform:uppercase;letter-spacing:.06em}.nav-cta{text-align:right;font:10px "DM Mono";text-transform:uppercase}.menu{display:none;background:none;border:0;color:white;-webkit-tap-highlight-color:transparent;outline:none;box-shadow:none;-webkit-appearance:none;appearance:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url("https://images.pexels.com/photos/36025197/pexels-photo-36025197.jpeg?auto=compress&cs=tinysrgb&w=2400");background-size:cover;background-position:center}.hero-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.08) 72%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 42%)}.hero-topline,.hero-bottom,.eyebrow,.section-tag,.section-head,.piece-meta,.edition-note,.products,.commission-grid,.questions,.line-link,.contact-link,footer{font:10px "DM Mono";text-transform:uppercase;letter-spacing:.07em}.hero-topline{position:absolute;top:102px;left:30px;right:30px;display:flex;justify-content:space-between}.hero-main{position:absolute;left:6.3vw;right:6.3vw;bottom:12vh}.hero-main h1{font-size:clamp(66px,9.2vw,150px);line-height:.83;letter-spacing:-.075em;font-weight:500;margin:22px 0 0}.hero-main h1 em,.idea h2 em,.edition-intro h2 em,.commission-head h2 em,.experiment-top h2 em,.contact h2 em{font-family:Georgia,serif;font-weight:400}.hero-bottom{position:absolute;bottom:28px;left:30px;right:30px;display:flex;justify-content:space-between}.idea{padding:125px 5vw 150px;display:grid;grid-template-columns:.7fr 1.1fr 1.6fr;gap:5vw;align-items:center;border-bottom:1px solid #2b2c28}.idea-copy h2{font-size:clamp(46px,5.3vw,86px);line-height:.9;letter-spacing:-.065em;font-weight:500;margin:55px 0 30px}.idea-copy p{font-size:14px;color:#aaa79f;line-height:1.65;max-width:380px}.process-arrow{}.transformation{grid-column:3;display:grid;grid-template-columns:1.3fr .8fr;grid-template-rows:1fr 1fr;gap:7px;align-items:start}.transform-item{position:relative;overflow:hidden;height:28vh}.transform-item.big{grid-row:1 / span 2;height:57vh}.transform-item.low{margin-top:8vh}.transform-item img{height:100%;object-fit:cover;filter:saturate(.72)}.transform-item span{position:absolute;bottom:10px;left:10px;font:9px "DM Mono";letter-spacing:.08em}.work{padding:105px 30px 155px}.section-head{display:flex;justify-content:space-between;border-top:1px solid #30312d;padding-top:11px;color:#96938b}.gallery{position:relative;display:grid;grid-template-columns:1.25fr .75fr 1fr;grid-template-rows:auto auto;gap:90px 22px;margin-top:65px}.piece{min-width:0}.piece-hero{grid-column:1 / span 2}.piece-hero .image-wrap{height:76vh}.piece-small{grid-column:3;margin-top:13vh}.piece-small .image-wrap{height:45vh}.piece-tall{grid-column:1;margin-left:15%;}.piece-tall .image-wrap{height:62vh}.piece-wide{grid-column:2 / span 2;margin-top:14vh}.piece-wide .image-wrap{height:48vh}.image-wrap{overflow:hidden;background:#1b1c19}.image-wrap img{height:100%;object-fit:cover;filter:saturate(.72);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s}.piece:hover img{transform:scale(1.025);filter:saturate(1)}.piece-meta{display:grid;grid-template-columns:1.2fr 1fr 18px;gap:10px;padding-top:11px}.piece-meta span:last-child{text-align:right}.editions{background:#dedbd1;color:#111;padding:105px 30px 145px}.editions .section-head{border-color:#aaa79f;color:#68645d}.edition-intro{display:grid;grid-template-columns:1fr .35fr;gap:6vw;margin:65px 0 60px}.edition-intro h2{font-size:clamp(50px,6vw,96px);line-height:.86;letter-spacing:-.065em;font-weight:500;margin:0}.edition-intro p{max-width:340px;font-size:14px;line-height:1.6;color:#5f5b54;margin:35px 0}.edition-note{line-height:2;color:#5e5a53;padding-top:5px}.line-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:6px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.products article{background:#ebe8df;padding:9px}.products img{height:52vh;object-fit:cover;filter:saturate(.72)}.products div{display:grid;grid-template-columns:1fr auto;gap:10px;padding-top:9px}.products span{color:#68645d}.commissions{padding:105px 30px 145px}.commission-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;margin:65px 0 90px}.commission-head h2{font-size:clamp(54px,7vw,110px);line-height:.85;letter-spacing:-.065em;font-weight:500;margin:0}.commission-head p{font-size:16px;line-height:1.6;color:#a8a59d;max-width:410px;margin:0 0 30px}.commission-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #30312d}.commission-grid article{padding:22px 20px 30px 0;border-right:1px solid #30312d;min-height:240px}.commission-grid article:last-child{border-right:0;padding-left:20px}.commission-grid article:nth-child(2){padding-left:20px}.commission-grid span{color:#77746c}.commission-grid h3{font:500 24px Manrope;letter-spacing:-.04em;margin:70px 0 18px}.commission-grid p{font:10px "DM Mono";line-height:1.8;color:#99968e;margin:0}.experiments{padding:105px 30px 145px;border-top:1px solid #2b2c28}.experiment-top{display:grid;grid-template-columns:.85fr .75fr;gap:9vw;align-items:end;margin:65px 0 70px}.experiment-top h2{font-size:clamp(52px,6vw,95px);line-height:.87;letter-spacing:-.065em;font-weight:500;margin:0}.experiment-top p{font-size:14px;line-height:1.6;color:#99968e;max-width:310px;margin-top:30px}.experiment-top img{height:46vh;object-fit:cover;filter:saturate(.65)}.questions{border-top:1px solid #30312d}.questions a{display:flex;justify-content:space-between;border-bottom:1px solid #30312d;padding:27px 0;font:clamp(20px,2.4vw,34px) Manrope;letter-spacing:-.04em;text-transform:none}.questions b{font:20px "DM Mono";font-weight:400}.contact{padding:18vh 6.3vw 20vh;border-top:1px solid #30312d}.contact h2{font-size:clamp(74px,11.5vw,185px);line-height:.82;letter-spacing:-.075em;font-weight:500;margin:35px 0 75px}.contact-link{display:inline-block;border-bottom:1px solid #ece9e1;padding-bottom:7px}footer{padding:25px 30px 50px;border-top:1px solid #30312d;display:flex;justify-content:space-between;color:#85827a}footer div{display:flex;gap:25px}footer strong{font:600 25px Manrope;color:#ece9e1}footer span{padding-top:7px}@media(max-width:900px){.nav{padding:0 18px;grid-template-columns:1fr 25px}.nav nav,.nav-cta{display:none}.menu{display:block}.hero-topline{left:18px;right:18px}.hero-topline span:last-child{display:none}.hero-main{left:18px;right:18px;bottom:12vh}.hero-main h1{font-size:16.8vw}.hero-bottom{left:18px;right:18px}.idea{display:block;padding:90px 18px}.idea-copy h2{font-size:12vw}.transformation{margin-top:60px;grid-column:auto}.transform-item{height:30vh}.transform-item.big{height:61vh}.work,.commissions,.experiments{padding-left:18px;padding-right:18px}.gallery{display:block;margin-top:50px}.piece,.piece-small,.piece-tall,.piece-wide{margin:0 0 65px}.piece-hero .image-wrap,.piece-small .image-wrap,.piece-tall .image-wrap,.piece-wide .image-wrap{height:62vh}.piece-meta{grid-template-columns:1fr 1fr}.piece-meta span:last-child{display:none}.editions{padding-left:18px;padding-right:18px}.edition-intro,.commission-head,.experiment-top{display:block}.edition-intro{margin-top:50px}.edition-note{margin-top:35px}.products{grid-template-columns:1fr}.products img{height:58vh}.commission-head{margin:50px 0 70px}.commission-head p{margin-top:30px}.commission-grid{grid-template-columns:1fr}.commission-grid article,.commission-grid article:nth-child(2),.commission-grid article:last-child{border-right:0;border-bottom:1px solid #30312d;padding:20px 0 35px;min-height:210px}.commission-grid article:last-child{border-bottom:0}.commission-grid h3{margin-top:45px}.experiment-top img{margin-top:45px;height:55vh}.contact{padding:16vh 18px}.contact h2{font-size:20vw}footer{display:block;padding:20px 18px 38px}footer div{margin-bottom:14px}}


/* V0.7 — final art-direction polish */
::selection{background:#ece9e1;color:#080908}
body{overflow-x:hidden}
.hero-main .eyebrow{opacity:.78}
.idea{min-height:88vh}
.idea-copy{padding-bottom:4vh}
.section-tag{color:#77746d}
.process figure:nth-child(2){margin-top:7vh}
.process figure:nth-child(3){margin-top:15vh}
.transformation{transform:translateY(1vh)}
.gallery{grid-template-columns:1.05fr .72fr 1.08fr;gap:105px 26px}
.piece-hero{grid-column:1 / span 2}
.piece-small{grid-column:3;margin-top:17vh}
.piece-tall{grid-column:1;margin-left:24%;margin-top:3vh}
.piece-wide{grid-column:2 / span 2;margin-top:8vh}
.piece-meta strong{font-weight:500}
.editions{position:relative}
.edition-intro{align-items:start}
.edition-note small{display:block;font:8px "DM Mono";line-height:1.7;margin-top:22px;max-width:180px}
.products article{transition:transform .35s ease}
.products article:hover{transform:translateY(-5px)}
.products article:nth-child(2){margin-top:5vh}
.products article:nth-child(3){margin-top:10vh}
.commissions{padding-top:125px}
.commission-head{align-items:end}
.commission-head h2{max-width:900px}
.commission-grid article{transition:padding-left .35s ease}
.commission-grid article:hover{padding-left:8px}
.commission-grid article:nth-child(2):hover,
.commission-grid article:last-child:hover{padding-left:28px}
.experiment-index{display:block;font:10px "DM Mono";color:#77746d;margin-bottom:48px}
.experiment-top{align-items:start}
.experiment-top>div{padding-top:1px}
.experiment-top img{margin-top:0}
.questions a{transition:padding-left .3s ease,color .3s ease}
.questions a:hover{padding-left:10px;color:#fff}
.contact{min-height:78vh;display:flex;flex-direction:column;justify-content:center}
.contact .eyebrow{color:#77746d}
footer strong{font-size:22px}
@media(max-width:900px){
  .process figure:nth-child(2),.process figure:nth-child(3){margin-top:0}
  .gallery{gap:0}
  .piece-small,.piece-tall,.piece-wide{margin-top:0}
  .products article:nth-child(2),.products article:nth-child(3){margin-top:0}
  .experiment-index{margin-bottom:35px}
  .contact{min-height:70vh}
}


/* V0.8 — Studio / Editions refinement */

/* Editions: OWN THE WORK is the only dominant statement */
.editions .edition-intro{grid-template-columns:1fr .42fr}
.edition-copy h2{font-size:clamp(64px,8vw,128px);line-height:.82}
.edition-note .edition-kicker{font:10px "DM Mono";letter-spacing:.08em;color:#33312c}
.edition-note small{display:block;font:8px "DM Mono";line-height:1.7;margin-top:22px;max-width:190px}

/* Studio: large editorial statement, then three visual disciplines */
.studio-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:end;margin:62px 0 75px}
.studio-hero h2{font-size:clamp(56px,7.1vw,116px);line-height:.84;letter-spacing:-.07em;font-weight:500;margin:0}
.studio-statement{padding-bottom:5px}
.studio-statement p{font-size:15px;line-height:1.65;color:#a8a59d;max-width:390px;margin:0 0 30px}
.studio-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.studio-capabilities article{min-width:0}
.studio-image{height:40vh;overflow:hidden;background:#151613}
.studio-image img{height:100%;object-fit:cover;filter:saturate(.72);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .65s}
.studio-capabilities article:hover .studio-image img{transform:scale(1.025);filter:saturate(1)}
.studio-meta{display:grid;grid-template-columns:auto 1fr 25px;gap:12px;align-items:start;padding-top:11px;font:10px "DM Mono";text-transform:uppercase;letter-spacing:.07em}
.studio-meta b{font-weight:500}
.studio-meta span{color:#8e8b83}
.studio-meta i{font-style:normal;text-align:right;color:#77746d}

/* Give Studio enough breathing room to read as an art-directed statement */
.commissions{padding-top:120px;padding-bottom:155px}

/* Small editorial refinement on Work */
.piece-meta{font-size:9px}
.gallery .piece-wide{margin-top:5vh}

/* Mobile */
@media(max-width:900px){
  .edition-copy h2{font-size:20vw}
  .studio-hero{display:block;margin-top:42px;margin-bottom:34px}
  .studio-hero h2{font-size:16vw}
  .studio-statement{margin-top:35px}
  .studio-capabilities{grid-template-columns:1fr}
  .studio-image{height:58vh}
  .studio-meta{grid-template-columns:1fr 1fr 25px}
  .studio-meta span{line-height:1.5}
}


/* V0.9 — structural refinement: IDEA / ARCHIVE / EDITIONS */

/* IDEA: move the section's visual start upward and create a clearer editorial hierarchy */
.idea{
  min-height:92vh;
  grid-template-columns:.55fr 1.05fr 1.7fr;
  align-items:start;
  padding-top:92px;
}
.idea-copy{
  padding-top:18px;
}
.idea-index{
  font:9px "DM Mono";
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#77746d;
  margin-bottom:32px;
}
.idea-copy h2{
  margin-top:0;
}
.transformation{
  margin-top:10px;
  align-self:start;
}

/* ARCHIVE: make it unmistakably exhibition/archive, not a shop */
.archive-note{
  margin-top:42px;
  font:9px "DM Mono";
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#77746d;
}
.gallery{
  margin-top:38px;
}
.piece-meta strong{
  letter-spacing:.01em;
}
.piece-meta span{
  color:#89867e;
}

/* EDITIONS: more product/collection logic and less gallery duplication */
.editions{
  padding-top:112px;
}
.edition-intro{
  margin-bottom:58px;
}
.edition-note{
  padding-top:0;
}
.edition-types{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:26px;
  color:#5f5b54;
}
.products{
  border-top:1px solid #b9b5ab;
  padding-top:12px;
}
.products article{
  position:relative;
}
.products article::after{
  content:"EDITION";
  position:absolute;
  top:17px;
  right:17px;
  font:8px "DM Mono";
  letter-spacing:.08em;
  color:#6b675f;
  mix-blend-mode:multiply;
}
.products img{
  transition:transform .55s ease;
}
.products article:hover img{
  transform:scale(1.018);
}

/* Studio: preserve the visual three-panel identity but keep it separate from commerce */
.studio-hero{
  margin-bottom:68px;
}
.studio-capabilities{
  border-top:1px solid #30312d;
  padding-top:12px;
}
.studio-meta span{
  color:#8e8b83;
}

/* Overall rhythm */
.work{
  padding-top:112px;
}
.experiments{
  padding-top:96px;
}

/* Desktop: the idea should begin higher on the viewport rather than in the middle */
@media(min-width:901px){
  .idea .section-tag{
    padding-top:7px;
  }
  .idea .process{
    padding-top:0;
  }
}

@media(max-width:900px){
  .idea{
    padding-top:82px;
  }
  .idea-index{
    margin-top:35px;
  }
  .archive-note{
    margin-top:28px;
  }
  .gallery{
    margin-top:28px;
  }
  .products{
    padding-top:9px;
  }
}


/* =========================================================
   V1.0 — FINAL HOMEPAGE SYSTEM
   ========================================================= */

/* ---------- WORDMARK ---------- */
.nav .logo{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  font-size:inherit;
  line-height:.9;
}
.logo-name{
  font:600 13px Manrope;
  letter-spacing:.18em;
}
.logo small{
  display:block;
  font:8px "DM Mono";
  letter-spacing:.35em;
  margin-left:1px;
}
.logo-mark{display:none}

/* ---------- REAL SCROLL-DRIVEN HERO ---------- */
.hero-scroll{
  height:100vh;
  min-height:720px;
  position:relative;
}
.hero-scroll::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:rgba(236,233,225,.15);
}
.hero-stage{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#11120f;
}
.hero-frame{
  position:absolute;
  inset:-2%;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  will-change:transform,opacity,filter;
}
.hero-frame .home-managed-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-frame-1{
  opacity:1;
}
.hero-frame-2{
  opacity:0;
  transform:scale(1.055);
}
.hero-frame-3{
  opacity:0;
  transform:scale(1.09);
}
.hero-scroll .hero-gradient{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.10) 74%),
    linear-gradient(0deg,rgba(0,0,0,.62),transparent 44%);
  pointer-events:none;
}
.hero-scroll .hero-main{
  z-index:2;
}
.hero-scroll .hero-topline,
.hero-scroll .hero-bottom{
  z-index:3;
}
.hero-scroll .hero-bottom{
  transition:opacity .25s ease;
}
.hero-scroll .hero-progress{
  display:inline-block;
}
.hero-scroll .hero-scroll-state{
  font:10px "DM Mono";
  text-transform:uppercase;
  letter-spacing:.07em;
}
.hero-scroll.is-complete .hero-scroll-state{
  opacity:.45;
}

/* ---------- IDEA: left-aligned editorial start ---------- */
.idea{
  position:relative;
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:6vw;
  align-items:start;
  min-height:92vh;
  padding:92px 5vw 145px;
}
.idea-header{
  display:flex;
  flex-direction:column;
  gap:28px;
  padding-top:7px;
}
.idea-header .idea-index{
  margin:0;
}
.idea-copy{
  padding:0;
  max-width:none;
}
.idea-copy h2{
  margin:0 0 30px;
  font-size:clamp(48px,5.7vw,92px);
}
.idea-copy p{
  max-width:440px;
}
.idea .transformation{
  grid-column:2;
  width:100%;
  margin-top:35px;
}
.idea .idea-copy + .transformation{
  margin-top:35px;
}

/* ---------- ARCHIVE ---------- */
.work{
  padding-top:112px;
}
.archive-note{
  max-width:460px;
  margin-top:39px;
  line-height:1.7;
}
.gallery{
  margin-top:42px;
}

/* ---------- EDITIONS / COMMERCE ---------- */
.edition-copy h2{
  font-size:clamp(66px,8.1vw,132px);
}
.edition-note{
  padding-top:7px;
}
.edition-kicker{
  display:inline-block;
  margin-bottom:5px;
}
.edition-types{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:26px;
}
.products{
  border-top:1px solid #b9b5ab;
  padding-top:12px;
}
.products article{
  transition:transform .35s ease;
}
.products article:hover{
  transform:translateY(-6px);
}
.products img{
  transition:transform .55s ease;
}
.products article:hover img{
  transform:scale(1.018);
}

/* ---------- STUDIO ---------- */
.commissions{
  padding-top:94px;
}
.studio-hero{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:7vw;
  align-items:end;
  margin:40px 0 38px;
}
.studio-hero h2{
  font-size:clamp(56px,7.1vw,116px);
  line-height:.84;
  letter-spacing:-.07em;
  font-weight:500;
  margin:0;
}
.studio-statement{
  padding-bottom:5px;
}
.studio-statement p{
  font-size:15px;
  line-height:1.65;
  color:#a8a59d;
  max-width:390px;
  margin:0 0 30px;
}
.studio-capabilities{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
  border-top:1px solid #30312d;
  padding-top:12px;
}
.studio-image{
  height:40vh;
  overflow:hidden;
  background:#151613;
}
.studio-image img{
  height:100%;
  object-fit:cover;
  filter:saturate(.72);
  transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .65s;
}
.studio-capabilities article:hover .studio-image img{
  transform:scale(1.025);
  filter:saturate(1);
}
.studio-meta{
  display:grid;
  grid-template-columns:auto 1fr 25px;
  gap:12px;
  align-items:start;
  padding-top:11px;
  font:10px "DM Mono";
  text-transform:uppercase;
  letter-spacing:.07em;
}
.studio-meta b{font-weight:500}
.studio-meta span{color:#8e8b83}
.studio-meta i{font-style:normal;text-align:right;color:#77746d}

/* ---------- EXPERIMENTS ---------- */
.experiments{
  padding-top:96px;
}
.questions a{
  transition:padding-left .3s ease,color .3s ease;
}
.questions a:hover{
  padding-left:10px;
  color:#fff;
}

/* ---------- CONTACT ---------- */
.contact{
  min-height:78vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* ---------- MOBILE ---------- */
@media(max-width:900px){
  .nav{
    grid-template-columns:1fr 25px;
    padding:0 18px;
  }
  .nav nav,.nav-cta{display:none}
  .menu{display:block}
  .logo-name{font-size:12px}
  .logo small{font-size:7px}

  .hero-scroll{
    height:100svh;
    min-height:650px;
  }
  .hero-main h1{
    font-size:16.8vw;
  }

  .idea{
    display:block;
    padding:82px 18px 105px;
    min-height:0;
  }
  .idea-header{
    flex-direction:row;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
  }
  .idea-copy{
    margin-top:46px;
  }
  .idea-copy h2{
    font-size:12.2vw;
  }
  .idea .transformation{
    margin-top:55px;
  }

  .gallery{
    margin-top:30px;
  }

  .edition-copy h2{
    font-size:20vw;
  }

  .studio-hero{
    display:block;
    margin-top:50px;
  }
  .studio-hero h2{
    font-size:16vw;
  }
  .studio-statement{
    margin-top:35px;
  }
  .studio-capabilities{
    grid-template-columns:1fr;
  }
  .studio-image{
    height:58vh;
  }
  .studio-meta{
    grid-template-columns:1fr 1fr 25px;
  }

  .contact{
    min-height:70vh;
  }
}

/* Reduced motion: static hero fallback */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-frame{
    transition:none!important;
    transform:none!important;
  }
  .hero-frame-1{opacity:1!important}
  .hero-frame-2,.hero-frame-3{opacity:0!important}
  .studio-image img,.products img,.piece img{transition:none!important}
}


/* =========================================================
   V1.1 — MARK / IDEA / NAV REFINEMENT
   ========================================================= */

/* B. is intentionally the primary mark.
   The domain already supplies the author's full name. */
.nav .logo{
  display:block;
  font:600 25px Manrope;
  line-height:1;
  letter-spacing:-.07em;
}

/* Editorial navigation: no service-company language */
.nav nav{
  gap:30px;
}

/* Restore the stronger V0.x IDEA composition.
   Left metadata, central statement, right visual field. */
.idea{
  display:grid;
  grid-template-columns:.55fr 1.02fr 1.5fr;
  gap:4.5vw;
  align-items:start;
  min-height:88vh;
  padding:88px 4.4vw 135px;
}
.idea .section-tag{
  padding-top:6px;
}
.idea-copy{
  padding-top:8px;
  max-width:520px;
}
.idea-index{
  font:9px "DM Mono";
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#77746d;
  margin:0 0 42px;
}
.idea-copy h2{
  margin:0 0 31px;
  font-size:clamp(50px,5.35vw,88px);
  line-height:.89;
  letter-spacing:-.065em;
}
.idea-copy p{
  max-width:405px;
  font-size:14px;
  line-height:1.65;
  color:#aaa79f;
}
.idea .transformation{
  grid-column:3;
  display:grid;
  grid-template-columns:1.3fr .8fr;
  grid-template-rows:1fr 1fr;
  gap:7px;
  align-items:start;
  margin-top:0;
  padding-top:0;
}
.idea .transform-item{
  height:28vh;
}
.idea .transform-item.big{
  grid-row:1 / span 2;
  height:57vh;
}
.idea .transform-item.low{
  margin-top:8vh;
}

/* Keep the hero B. visually quiet and premium. */
.hero-scroll .hero-main h1{
  max-width:1450px;
}

/* Slightly calmer global horizontal rhythm at desktop. */
.work,
.experiments{
  padding-left:30px;
  padding-right:30px;
}

@media(max-width:900px){
  .nav .logo{
    font-size:24px;
  }
  .idea{
    display:block;
    padding:82px 18px 105px;
    min-height:0;
  }
  .idea-copy{
    margin-top:48px;
  }
  .idea-copy h2{
    font-size:12.2vw;
  }
  .idea .transformation{
    display:grid;
    grid-template-columns:1.25fr .8fr;
    grid-template-rows:1fr 1fr;
    margin-top:55px;
  }
  .idea .transform-item{
    height:30vh;
  }
  .idea .transform-item.big{
    height:61vh;
  }
  .idea .transform-item.low{
    margin-top:7vh;
  }
}


/* =========================================================
   V1.2 — COMPOSITION OVER UI
   ========================================================= */

/* HERO: remove explanatory chrome; let the image and statement lead */
.hero-scroll .hero-topline{
  display:none;
}
.hero-scroll .hero-main{
  left:5.8vw;
  bottom:15vh;
}
.hero-scroll .hero-main .eyebrow{
  margin-bottom:28px;
  opacity:.72;
}
.hero-scroll .hero-bottom{
  padding:0 2.2vw 20px;
}
.hero-scroll .hero-scroll-state{
  opacity:.7;
}

/* IDEA: one dominant visual + one displaced secondary visual */
.idea{
  grid-template-columns:.42fr 1.05fr 1.45fr;
  gap:4.1vw;
  min-height:94vh;
  padding-top:88px;
  padding-bottom:145px;
}
.idea-copy{
  max-width:570px;
  padding-top:5px;
}
.idea-copy h2{
  font-size:clamp(49px,5.45vw,90px);
  line-height:.875;
  letter-spacing:-.068em;
}
.idea-copy p{
  max-width:410px;
  margin-top:34px;
}
.idea-transformation{
  position:relative;
  min-height:70vh;
  margin-top:0;
}
.idea-form{
  position:absolute;
  margin:0;
  overflow:hidden;
  background:#111;
}
.idea-form img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.72);
  transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .8s ease;
}
.idea-form:hover img{
  transform:scale(1.025);
  filter:saturate(1);
}
.idea-form-main{
  width:68%;
  height:58vh;
  left:2%;
  top:0;
}
.idea-form-secondary{
  width:34%;
  height:31vh;
  right:0;
  top:27vh;
}
.idea-form figcaption{
  position:absolute;
  left:12px;
  bottom:12px;
  display:flex;
  gap:7px;
  font:8px "DM Mono";
  letter-spacing:.06em;
}
.idea-form figcaption b{
  font-weight:400;
}
.idea-transition{
  position:absolute;
  right:0;
  top:2px;
  font:8px "DM Mono";
  letter-spacing:.08em;
  color:#77746d;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}

/* EDITIONS: one hero object before the product grid */
.editions{
  padding-top:110px;
  padding-bottom:145px;
}
.edition-hero{
  display:grid;
  grid-template-columns:.68fr 1.32fr;
  gap:6vw;
  align-items:end;
  margin:72px 0 96px;
}
.edition-title h2{
  font-size:clamp(72px,8.4vw,138px);
  line-height:.79;
  letter-spacing:-.075em;
  margin:0 0 35px;
}
.edition-title p{
  max-width:350px;
  color:#6d6a63;
  line-height:1.6;
  margin-bottom:34px;
}
.edition-feature{
  margin:0;
}
.edition-feature-image{
  height:62vh;
  overflow:hidden;
  background:#171715;
}
.edition-feature-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
.edition-feature:hover img{
  transform:scale(1.018);
}
.edition-feature-meta{
  display:flex;
  justify-content:space-between;
  gap:40px;
  padding-top:12px;
  font:9px "DM Mono";
  text-transform:uppercase;
  letter-spacing:.06em;
}
.edition-feature-meta div{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.edition-feature-meta span{
  color:#77736a;
}
.edition-feature-meta strong{
  font-weight:400;
}
.collection-head{
  display:flex;
  justify-content:space-between;
  border-top:1px solid #aaa69b;
  padding-top:11px;
  margin-bottom:16px;
  font:9px "DM Mono";
  text-transform:uppercase;
  letter-spacing:.07em;
}
.products{
  grid-template-columns:repeat(3,1fr);
  gap:13px;
  border-top:0;
  padding-top:0;
}
.product-image{
  height:42vh;
  overflow:hidden;
  background:#171715;
}
.product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.product-meta{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:12px;
  padding-top:11px;
  font:9px "DM Mono";
  text-transform:uppercase;
  letter-spacing:.05em;
}
.product-meta span{color:#77736a}
.product-meta strong{font-weight:400}
.product-meta b{font-weight:400;text-align:right}

/* STUDIO: no numbering, no catalog feel */
.studio-meta{
  grid-template-columns:auto 1fr;
}
.studio-meta i{
  display:none;
}

/* Reduced interface feel on section heads */
.section-head{
  letter-spacing:.06em;
}

/* Mobile */
@media(max-width:900px){
  .hero-scroll .hero-main{
    left:18px;
    bottom:15vh;
  }
  .hero-scroll .hero-main .eyebrow{
    margin-bottom:22px;
  }

  .idea{
    display:block;
    min-height:0;
    padding:82px 18px 110px;
  }
  .idea-copy{
    margin-top:46px;
  }
  .idea-copy h2{
    font-size:12.2vw;
  }
  .idea-transformation{
    min-height:76vh;
    margin-top:58px;
  }
  .idea-form-main{
    width:82%;
    height:54vh;
    left:0;
  }
  .idea-form-secondary{
    width:43%;
    height:27vh;
    right:0;
    top:37vh;
  }
  .idea-transition{
    top:auto;
    bottom:2px;
  }

  .edition-hero{
    display:block;
    margin-top:55px;
  }
  .edition-title h2{
    font-size:20vw;
  }
  .edition-feature{
    margin-top:65px;
  }
  .edition-feature-image{
    height:64vh;
  }
  .collection-head{
    margin-top:80px;
    flex-direction:column;
    gap:9px;
  }
  .products{
    grid-template-columns:1fr;
  }
  .product-image{
    height:62vh;
  }
  .product-meta{
    grid-template-columns:1fr 1fr;
  }
  .product-meta b{
    grid-column:2;
  }
}

/* =========================================================
   V1.3 — FINAL ART-DIRECTION PASS
   ========================================================= */
.hero-scroll .hero-main .eyebrow{display:none}
.hero-scroll .hero-main{bottom:14.5vh}
.nav{background:linear-gradient(to bottom,rgba(8,9,8,.42),rgba(8,9,8,0))}

/* IDEA: bring the main question closer to the left editorial axis. */
.idea-copy{transform:translateX(-2.3vw)}
.idea .idea-form-secondary{transform:translate(1.2vw,-1.4vh)}

/* EDITIONS: keep commerce present, but visually quieter. */
.edition-feature-meta strong,.product-meta b{font-size:8px}
.product-meta b{color:#77736a}

/* STUDIO: subtle asymmetry, no numbering. */
.studio-capabilities article:nth-child(2){transform:translateY(12px)}

/* EXPERIMENTS: one quiet preview responds to the active question. */
.experiments{padding-bottom:150px}
.experiment-top{align-items:end}
.experiment-preview{position:relative;overflow:hidden;height:42vh;min-height:300px;background:#151613}
.experiment-preview img{width:100%;height:100%;object-fit:cover;opacity:.88;transition:opacity .45s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.experiment-preview>span{position:absolute;left:12px;bottom:12px;font:8px "DM Mono";letter-spacing:.07em}
.questions a{transition:padding-left .3s ease}
.questions a span{transition:padding-left .3s ease}
.questions a:hover span{padding-left:12px}
.questions a b{transition:transform .3s ease}
.questions a:hover b{transform:translate(4px,-4px)}

@media(max-width:900px){
  .idea-copy{transform:none}
  .idea .idea-form-secondary{transform:none}
  .experiment-preview{height:48vh;margin-top:40px}
}

/* =========================================================
   V1.4 — IMAGE FIRST / EXPERIENCE PASS
   ========================================================= */
.idea-v14{
  position:relative;
  display:block;
  min-height:150vh;
  padding:88px 0 0;
  overflow:hidden;
  border-bottom:1px solid #2b2c28;
}
.idea-v14 .section-tag{
  position:absolute;
  z-index:8;
  top:88px;
  left:4.2vw;
}
.idea-v14-stage{
  position:relative;
  height:104vh;
  width:100%;
}
.idea-v14-main{
  position:absolute;
  z-index:2;
  width:55vw;
  height:72vh;
  right:9vw;
  top:4vh;
  margin:0;
  overflow:hidden;
  background:#141513;
  transform-origin:center center;
}
.idea-v14-main img,
.idea-v14-secondary img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.72);
}
.idea-v14-main figcaption,
.idea-v14-secondary figcaption{
  position:absolute;
  left:13px;
  bottom:13px;
  font:9px "DM Mono";
  letter-spacing:.07em;
}
.idea-v14-secondary{
  position:absolute;
  z-index:4;
  width:20vw;
  height:34vh;
  right:4.2vw;
  top:54vh;
  margin:0;
  overflow:hidden;
  background:#0b0c0b;
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  transform-origin:center center;
}
.idea-v14-axis{
  position:absolute;
  right:4.2vw;
  top:7vh;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font:8px "DM Mono";
  letter-spacing:.09em;
  color:#77746d;
}
.idea-v14-copy{
  position:absolute;
  z-index:6;
  left:12.5vw;
  top:62vh;
  width:min(620px,48vw);
  transform:translateY(10vh);
  opacity:.62;
}
.idea-v14-copy .idea-index{
  position:static;
  margin-bottom:28px;
  font:10px "DM Mono";
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#77746d;
}
.idea-v14-copy h2{
  margin:0 0 30px;
  font-size:clamp(52px,5.7vw,94px);
  line-height:.86;
  letter-spacing:-.068em;
  font-weight:500;
}
.idea-v14-copy p{
  margin:0;
  max-width:420px;
  font-size:15px;
  line-height:1.65;
  color:#aaa79f;
}
.idea-v14.is-active .idea-v14-copy{opacity:1}

/* Supporting type is intentionally larger than V1.3, while headlines stay large. */
.section-head,.section-tag,.idea-index,.piece-meta,.edition-feature-meta,.collection-head,.product-meta,.studio-meta,.experiment-index,.experiment-top p,.questions a,.contact .eyebrow,footer{
  font-size:11px;
}
.idea-v14-copy p,
.studio-statement p,
.edition-title p,
.experiment-top p,
.contact-link{
  font-size:15px;
}

/* Image-led studio: statement remains large but no longer wins before the work. */
.studio-hero{
  margin-top:76px;
}
.studio-hero h2{
  font-size:clamp(52px,6.6vw,108px);
}

@media(max-width:900px){
  .idea-v14{
    min-height:135vh;
    padding-top:82px;
  }
  .idea-v14 .section-tag{top:82px;left:18px}
  .idea-v14-stage{height:88vh}
  .idea-v14-main{
    width:83vw;
    height:57vh;
    right:18px;
    top:8vh;
  }
  .idea-v14-secondary{
    width:42vw;
    height:27vh;
    right:18px;
    top:49vh;
  }
  .idea-v14-axis{right:18px;top:9vh}
  .idea-v14-copy{
    left:18px;
    top:65vh;
    width:calc(100% - 36px);
    transform:translateY(6vh);
  }
  .idea-v14-copy h2{font-size:12.4vw}
  .idea-v14-copy p{font-size:15px}
}

/* =========================================================
   V1.5 — VIEWPORT & READABILITY PASS
   ========================================================= */

/* Shared readability: keep metadata small, lift readable UI copy. */
.nav nav a{
  font-size:10px;
}
.section-head,
.section-tag,
.idea-index,
.preview-label{
  font-size:10px;
}
.idea-copy p,
.edition-title p,
.experiments-intro p{
  font-size:15px;
}

/* IDEA: first viewport must contain a complete thought. */
.idea{
  min-height:100vh;
  height:100vh;
  max-height:100vh;
  overflow:hidden;
  padding-top:82px;
  padding-bottom:58px;
  grid-template-columns:.42fr 1fr 1.24fr;
  gap:3.5vw;
}
.idea-copy{
  transform:translateX(-1.1vw);
  padding-top:18px;
  max-width:540px;
}
.idea-copy h2{
  font-size:clamp(48px,5.05vw,84px);
  line-height:.89;
  letter-spacing:-.065em;
  margin-bottom:28px;
}
.idea-copy p{
  max-width:430px;
  line-height:1.55;
}
.idea-transformation{
  min-height:0;
  height:72vh;
  margin-top:0;
}
.idea-form-main{
  width:76%;
  height:57vh;
  left:0;
  top:0;
}
.idea-form-secondary{
  width:35%;
  height:29vh;
  right:0;
  top:31vh;
  transform:translate(0,-1.2vh);
}
.idea-transition{
  right:0;
  top:2px;
  font-size:9px;
}

/* The next Idea viewport becomes a transformation stage instead of
   carrying leftover headline/copy. */
.idea::after{
  content:"";
  display:block;
}

/* ARCHIVE: keep the gallery, but make first-view labels readable. */
.work .section-head,
.archive .section-head{
  font-size:10px;
}

/* EDITIONS: preserve composition, slightly improve legibility. */
.editions .section-head{
  font-size:10px;
}
.collection-head,
.edition-feature-meta,
.product-meta{
  font-size:10px;
}

/* STUDIO: make the visual trio carry more weight. */
.studio-capabilities{
  gap:14px;
}
.studio-capabilities .studio-image{
  min-height:42vh;
}
.studio-meta{
  font-size:10px;
}
.studio-meta span{
  font-size:10px;
}

/* EXPERIMENTS: questions are actual content, not metadata. */
.experiments-intro{
  grid-template-columns:1fr .78fr;
  margin-top:62px;
  margin-bottom:58px;
}
.experiments-intro h2{
  font-size:clamp(64px,7.6vw,122px);
}
.questions a{
  min-height:92px;
  font-size:18px;
  letter-spacing:-.015em;
}
.questions a span{
  transition:padding-left .28s ease;
}
.experiment-preview{
  opacity:.82;
}
.experiment-preview img{
  opacity:0;
  transition:opacity .35s ease, transform .8s cubic-bezier(.2,.8,.2,1);
}
.experiments:hover .experiment-preview img{
  opacity:.55;
}

/* On desktop the preview is quiet until a question is actually hovered. */
@media (min-width:901px){
  .experiment-preview::after{
    content:"HOVER A QUESTION";
    position:absolute;
    right:12px;
    bottom:12px;
    font:9px "DM Mono";
    letter-spacing:.06em;
    opacity:.65;
  }
  .questions a:hover ~ *{}
}

/* CONTACT: keep the large final statement readable without over-expanding. */
.contact .contact-copy p{
  font-size:15px;
}

@media(max-width:900px){
  .nav nav a{
    font-size:9px;
  }
  .idea{
    height:auto;
    max-height:none;
    min-height:0;
    overflow:visible;
    padding-bottom:95px;
  }
  .idea-copy{
    transform:none;
    padding-top:42px;
  }
  .idea-copy h2{
    font-size:12.5vw;
  }
  .idea-transformation{
    height:68vh;
    min-height:480px;
    margin-top:55px;
  }
  .idea-form-main{
    width:82%;
    height:52vh;
  }
  .idea-form-secondary{
    width:44%;
    height:27vh;
    top:35vh;
  }
  .experiments-intro{
    display:block;
  }
  .experiment-preview{
    margin-top:42px;
  }
  .questions a{
    min-height:78px;
    font-size:16px;
  }
}

/* =========================================================
   V1.6 — CONTINUITY FIX
   Fixes:
   1) IDEA content must never be clipped at the section boundary.
   2) The second IDEA viewport must remain scrollable and readable.
   3) EXPERIMENTS must show all questions within one coherent desktop view.
   ========================================================= */

/* ---------- IDEA / CONTINUITY ---------- */
/* V1.5 accidentally applied the generic .idea height/overflow rules to the
   V1.4-specific .idea-v14 markup. Restore intentional vertical flow. */
.idea-v14{
  min-height:150vh;
  height:auto;
  max-height:none;
  overflow:visible;
  padding-top:88px;
  padding-bottom:10vh;
}
.idea-v14-stage{
  height:104vh;
}
.idea-v14-copy{
  top:62vh;
  transform:none;
  opacity:1;
  width:min(620px,48vw);
}
.idea-v14-copy h2{
  font-size:clamp(52px,5.7vw,94px);
}
.idea-v14-copy p{
  font-size:15px;
  max-width:420px;
}
.idea-v14-secondary{
  top:54vh;
}

/* Keep the large form visible while allowing the copy to continue below the
   first viewport. The section itself, rather than an inner box, owns scroll. */
@media(min-width:901px){
  .idea-v14-stage{
    height:104vh;
  }
  .idea-v14-copy{
    left:12.5vw;
    top:62vh;
    transform:none;
  }
}

/* ---------- EXPERIMENTS / COMPLETE FIRST VIEW ---------- */
/* The previous 42vh preview + 92px question rows pushed the final questions
   below the viewport. This section is intentionally compressed into one
   complete desktop composition. */
.experiments{
  padding-top:88px;
  padding-bottom:96px;
}
.experiment-top{
  display:grid;
  grid-template-columns:1fr .72fr;
  align-items:end;
  gap:6vw;
  margin-top:42px;
  margin-bottom:34px;
}
.experiment-top>div:first-child{
  padding-bottom:4px;
}
.experiment-index{
  margin-bottom:30px;
}
.experiment-top h2{
  margin:0 0 20px;
  font-size:clamp(58px,6.8vw,108px);
  line-height:.84;
  letter-spacing:-.07em;
}
.experiment-top p{
  max-width:360px;
  font-size:15px;
  line-height:1.5;
  margin:0;
}
.experiment-preview{
  height:31vh;
  min-height:270px;
}
.questions{
  border-top:1px solid #30312d;
}
.questions a{
  min-height:64px;
  height:64px;
  font-size:16px;
  line-height:1.2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #30312d;
}
.questions a span{
  padding-left:0;
}
.questions a:hover span{
  padding-left:10px;
}

/* Preview is genuinely dormant until a question is active. */
.experiment-preview img{
  opacity:0;
}
.experiment-preview::after{
  content:"HOVER A QUESTION";
  position:absolute;
  right:12px;
  bottom:12px;
  font:9px "DM Mono";
  letter-spacing:.06em;
  color:#d8d5cd;
  opacity:.72;
}

/* ---------- MOBILE ---------- */
@media(max-width:900px){
  .idea-v14{
    min-height:145vh;
    height:auto;
    max-height:none;
    overflow:visible;
    padding-top:82px;
    padding-bottom:90px;
  }
  .idea-v14-stage{
    height:88vh;
  }
  .idea-v14-copy{
    left:18px;
    top:65vh;
    width:calc(100% - 36px);
    transform:none;
    opacity:1;
  }
  .idea-v14-copy h2{
    font-size:12.4vw;
  }

  .experiments{
    padding-top:82px;
    padding-bottom:80px;
  }
  .experiment-top{
    display:block;
    margin-top:42px;
    margin-bottom:42px;
  }
  .experiment-top h2{
    font-size:13vw;
  }
  .experiment-preview{
    height:34vh;
    min-height:250px;
    margin-top:38px;
  }
  .questions a{
    min-height:72px;
    height:72px;
    font-size:16px;
  }
}


/* =========================================================
   V1.7 — IDEA / FINAL VIEWPORT COMPOSITION
   Built on the complete V1.6 package. No assets or scripts removed.
   ========================================================= */
.idea-v14{
  min-height:150vh;
  height:auto;
  max-height:none;
  overflow:visible;
  padding-top:82px;
  padding-bottom:8vh;
}
.idea-v14-stage{
  height:94vh;
  min-height:760px;
}
.idea-v14-main{
  width:52vw;
  height:62vh;
  right:9vw;
  top:3vh;
}
.idea-v14-secondary{
  width:20vw;
  height:30vh;
  right:4.2vw;
  top:48vh;
}
.idea-v14-copy{
  left:12.2vw;
  top:43vh;
  width:min(650px,48vw);
  transform:translateY(10vh);
  opacity:.62;
}
.idea-v14-copy .idea-index{
  margin-bottom:22px;
}
.idea-v14-copy h2{
  font-size:clamp(48px,5.0vw,82px);
  line-height:.88;
  letter-spacing:-.067em;
  margin-bottom:22px;
  max-width:650px;
}
.idea-v14-copy p{
  max-width:410px;
  font-size:15px;
  line-height:1.55;
}

/* The first viewport is a complete thought. The remaining section continues
   naturally below it instead of clipping the headline. */
@media(min-width:901px){
  .idea-v14-stage{height:94vh;}
  .idea-v14-copy{top:43vh;}
}

@media(max-width:900px){
  .idea-v14{
    min-height:135vh;
    height:auto;
    max-height:none;
    overflow:visible;
    padding-top:82px;
    padding-bottom:80px;
  }
  .idea-v14-stage{height:88vh;min-height:0;}
  .idea-v14-main{width:83vw;height:57vh;right:18px;top:5vh;}
  .idea-v14-secondary{width:42vw;height:27vh;right:18px;top:49vh;}
  .idea-v14-copy{left:18px;top:57vh;width:calc(100% - 36px);transform:translateY(6vh);}
  .idea-v14-copy h2{font-size:12.2vw;line-height:.88;}
}


/* =========================================================
   V1.8 — IDEA SECTION HEIGHT / FINAL CONTINUITY PASS
   V1.7 intentionally kept a 150vh wrapper, which solved clipping but left
   an empty tail after the actual composition. V1.8 lets the section end
   after the complete IDEA scene.
   ========================================================= */
.idea-v14{
  min-height:0;
  height:100vh;
  max-height:none;
  overflow:visible;
  padding-top:82px;
  padding-bottom:0;
}
.idea-v14-stage{
  height:calc(100vh - 82px);
  min-height:0;
}
.idea-v14-copy{
  opacity:1;
  transform:none;
}

@media(max-width:900px){
  .idea-v14{
    height:auto;
    min-height:0;
    padding-top:82px;
    padding-bottom:70px;
  }
  .idea-v14-stage{
    height:88vh;
    min-height:0;
  }
}

/* =========================================================
   V0.2 — NAV / ANCHOR / CONTENT FOUNDATION
   ========================================================= */
html{scroll-padding-top:0}
#top,#idea,#work,#editions,#studio,#experiments,#contact{scroll-margin-top:0}
.nav{height:74px;padding-left:30px;padding-right:30px}
.nav nav{gap:32px}
.nav a{transition:opacity .25s ease}
.nav nav a:hover,.nav-cta:hover,.logo:hover{opacity:.68}
.section-cta{margin-top:58px}
.section-cta .line-link{font-size:11px}
.piece,.edition-feature,.products>a,.studio-capabilities>a,.experiment-preview{cursor:pointer}
.piece .image-wrap img,.edition-feature img,.products img,.studio-image img,.experiment-preview img{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s}
.piece:hover .image-wrap img,.edition-feature:hover img,.products>a:hover img,.studio-capabilities>a:hover .studio-image img,.experiment-preview:hover img{transform:scale(1.018)}
@media(max-width:900px){
  html{scroll-padding-top:0}
  #top,#idea,#work,#editions,#studio,#experiments,#contact{scroll-margin-top:0}
  .nav{height:68px;padding-left:18px;padding-right:18px}
  .nav nav{gap:18px}
  .section-cta{margin-top:42px}
}

/* ACF content fields intentionally inherit the same visual system. */
.home-content-note{font:11px "DM Mono";letter-spacing:.07em;text-transform:uppercase;color:#77746d}

/* Archive / single content pages */
.content-archive,.content-single{padding:130px 30px 120px;min-height:100vh;background:#080908;color:#ece9e1}
.content-archive-head{display:flex;justify-content:space-between;border-top:1px solid #30312d;padding-top:11px;font:11px "DM Mono";text-transform:uppercase;letter-spacing:.07em;color:#96938b}
.content-archive h1,.content-single h1{font-size:clamp(62px,9vw,150px);line-height:.84;letter-spacing:-.075em;font-weight:500;margin:80px 0 70px}
.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid #30312d;padding-top:12px}
.content-card{display:block}
.content-card-image{aspect-ratio:4/5;overflow:hidden;background:#151613}
.content-card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .7s ease,filter .7s ease}
.content-card:hover img{transform:scale(1.025);filter:saturate(1)}
.content-card-meta{display:grid;grid-template-columns:1fr auto;gap:10px;padding-top:11px;font:11px "DM Mono";text-transform:uppercase;letter-spacing:.06em}
.content-single{padding-top:120px}
.content-single-media{max-width:1100px;margin-left:auto}
.content-single-media img{max-height:78vh;object-fit:cover}
.content-single-copy{max-width:700px;margin:80px 0 0 8vw}
.content-single-copy p{font-size:17px;line-height:1.7;color:#aaa79f}
@media(max-width:900px){
  .content-archive,.content-single{padding:100px 18px 80px}
  .content-grid{grid-template-columns:1fr}
  .content-archive h1,.content-single h1{font-size:18vw;margin:55px 0}
  .content-single-copy{margin:50px 0 0}
}

/* Mobile navigation */
@media(max-width:900px){
  .nav{grid-template-columns:1fr auto}
  .nav.open nav{display:flex;position:absolute;top:68px;left:0;right:0;padding:18px;background:rgba(8,9,8,.96);backdrop-filter:blur(16px);flex-direction:column;gap:18px;border-top:1px solid #30312d}
  .nav.open .menu{transform:rotate(90deg)}
  .menu{cursor:pointer;transition:transform .2s ease}
}

/* V0.2 selector compatibility for clickable collection/studio cards. */
.products>a{background:#ebe8df;padding:9px;display:block;position:relative}
.products>a:nth-child(2){margin-top:5vh}
.products>a:nth-child(3){margin-top:10vh}
.products>a .product-image{overflow:hidden}
.products>a .product-image img{height:52vh;object-fit:cover;filter:saturate(.72)}
.products>a .product-meta{display:grid;grid-template-columns:1fr auto;gap:10px;padding-top:9px}
.studio-capabilities>a{min-width:0;display:block}
.studio-capabilities>a .studio-image{height:40vh;overflow:hidden;background:#151613}
.studio-capabilities>a .studio-image img{height:100%;object-fit:cover;filter:saturate(.72)}
@media(max-width:900px){
  .products>a:nth-child(2),.products>a:nth-child(3){margin-top:0}
  .products>a .product-image img{height:58vh}
  .studio-capabilities>a .studio-image{height:58vh}
}


/* ---------- V0.2.2 / ANCHOR + RHYTHM POLISH ---------- */
/* Navigation lands at the section boundary; each section controls its own editorial breathing room. */
@media(min-width:901px){
  .commissions .section-head{margin-bottom:0;}
  .studio-hero{margin:40px 0 28px;}
  .studio-capabilities{padding-top:10px;}
}
@media(max-width:900px){
  .commissions{padding-top:86px;}
  .studio-hero{margin-top:42px;margin-bottom:34px;}
  .experiments{padding-top:86px;}
}


/* V0.2.3 — final rhythm polish
   Keep the section-head line at a consistent visual depth after anchor navigation,
   then tighten Studio itself so its first viewport reads as a complete composition. */
@media(min-width:901px){
  .commissions{padding-top:94px;}
  .studio-hero{margin-top:40px;margin-bottom:35px;}
  .studio-capabilities .studio-image{height:40vh;min-height:0;}
}


/* =========================================================
   V0.2.7 — MOBILE ART DIRECTION + FLUID HERO TYPE
   Desktop composition remains untouched above 900px.
   Mobile is a deliberate vertical interpretation of the same
   visual language, not a shrunken desktop layout.
   ========================================================= */

/* Keep the admin toolbar from covering the fixed navigation while testing
   as a logged-in administrator. Public visitors remain unchanged. */
body.admin-bar .nav{top:32px}
@media(max-width:782px){
  body.admin-bar .nav{top:46px}
}

@media(max-width:900px){
  :root{--mobile-pad:18px;--mobile-rule:104px;}
  html{overflow-x:hidden;scroll-padding-top:0}
  body{overflow-x:hidden;-webkit-text-size-adjust:100%;}
  a{-webkit-tap-highlight-color:transparent}

  /* ---------- HEADER / FULL-SCREEN MENU ---------- */
  .nav{
    height:68px;
    min-height:68px;
    padding:0 var(--mobile-pad);
    grid-template-columns:1fr auto;
    align-items:center;
    background:transparent;
    mix-blend-mode:difference;
  }
  .nav .logo{
    position:relative;
    z-index:3;
    font-size:25px;
    line-height:1;
  }
  .nav nav,
  .nav-cta{display:none}
  .menu{
    display:flex;
    -webkit-tap-highlight-color:transparent;
    outline:none !important;
    box-shadow:none !important;
    -webkit-appearance:none;
    appearance:none;
    -webkit-user-select:none;
    user-select:none;
    touch-action:manipulation;
    position:relative;
    z-index:3;
    width:38px;
    height:38px;
    padding:0;
    margin:0;
    align-items:center;
    justify-content:center;
    color:#ece9e1;
    border:1px solid rgba(236,233,225,.34);
    border-radius:50%;
    background:transparent;
    font:0/0 a;
  }
  .menu:focus,
  .menu:focus-visible,
  .menu:active{
    outline:none !important;
    box-shadow:none !important;
    -webkit-tap-highlight-color:transparent;
  }
  .menu::before,
  .menu::after{
    content:"";
    position:absolute;
    width:13px;
    height:1px;
    background:currentColor;
    transition:transform .3s ease;
  }
  .menu::before{transform:translateY(-3px)}
  .menu::after{transform:translateY(3px)}
  .nav.open{
    height:100svh;
    min-height:100svh;
    display:block;
    padding:0 var(--mobile-pad);
    background:rgba(8,9,8,.96);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    mix-blend-mode:normal;
  }
  .nav.open .logo{position:absolute;top:21px;left:var(--mobile-pad);}
  .nav.open .menu{position:absolute;top:15px;right:var(--mobile-pad);}
  .nav.open .menu::before{transform:rotate(45deg)}
  .nav.open .menu::after{transform:rotate(-45deg)}
  .nav.open nav{
    display:flex;
    position:absolute;
    top:132px;
    left:var(--mobile-pad);
    right:var(--mobile-pad);
    padding:0;
    margin:0;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    border:0;
    background:none;
  }
  .nav.open nav a{
    display:block;
    width:100%;
    padding:14px 0 17px;
    border-bottom:1px solid rgba(236,233,225,.16);
    font:500 clamp(27px,8vw,38px)/1 Manrope;
    text-transform:none;
    letter-spacing:-.055em;
  }
  .nav.open .nav-cta{
    display:block;
    position:absolute;
    left:var(--mobile-pad);
    bottom:34px;
    font:10px "DM Mono";
    text-transform:uppercase;
    letter-spacing:.07em;
    border-bottom:1px solid rgba(236,233,225,.6);
    padding-bottom:7px;
  }

  /* ---------- HERO / MOBILE CANVAS ---------- */
  .hero-scroll{
    height:100svh;
    min-height:620px;
    max-height:none;
    overflow:hidden;
  }
  .hero-stage{inset:0}
  .hero-frame{inset:-1.5%;}
  .hero-frame .home-managed-image{object-position:center center}
  .hero-scroll .hero-gradient{
    background:
      linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.10) 86%),
      linear-gradient(0deg,rgba(0,0,0,.72),transparent 52%);
  }
  .hero-scroll .hero-main{
    left:var(--mobile-pad);
    right:var(--mobile-pad);
    bottom:17vh;
    z-index:2;
  }
  .hero-scroll .hero-main h1{
    max-width:100%;
    margin:0;
    font-size:clamp(54px,15.5vw,88px);
    line-height:.84;
    letter-spacing:-.075em;
  }
  .hero-scroll .hero-bottom{
    left:var(--mobile-pad);
    right:var(--mobile-pad);
    bottom:20px;
    padding:0;
    font-size:9px;
    z-index:3;
  }
  .hero-scroll .hero-progress{font-size:9px}
  .hero-scroll .hero-scroll-state{font-size:9px}

  /* ---------- UNIVERSAL MOBILE SECTION RHYTHM ---------- */
  .section-head{
    padding-top:10px;
    font-size:9px;
  }
  .section-tag{font-size:9px}
  .work,.commissions,.experiments{
    padding-left:var(--mobile-pad);
    padding-right:var(--mobile-pad);
  }

  /* ---------- IDEA / VERTICAL EDITORIAL SEQUENCE ---------- */
  .idea-v14{
    height:auto;
    min-height:0;
    padding:78px var(--mobile-pad) 92px;
    overflow:visible;
    border-bottom:1px solid #2b2c28;
  }
  .idea-v14 .section-tag{
    position:static;
    margin:0 0 24px;
    padding:0;
  }
  .idea-v14-stage{
    position:relative;
    width:100%;
    height:72svh;
    min-height:480px;
  }
  .idea-v14-main{
    width:100%;
    height:58svh;
    right:auto;
    left:0;
    top:0;
  }
  .idea-v14-secondary{
    width:43vw;
    height:25svh;
    right:0;
    top:47svh;
  }
  .idea-v14-axis{
    right:-1px;
    top:7px;
    font-size:7px;
  }
  .idea-v14-copy{
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    margin-top:-1px;
    padding:0;
    transform:none!important;
    opacity:1!important;
  }
  .idea-v14-copy .idea-index{
    margin-bottom:20px;
    font-size:9px;
  }
  .idea-v14-copy h2{
    max-width:100%;
    margin:0 0 25px;
    font-size:clamp(45px,12.8vw,76px);
    line-height:.87;
    letter-spacing:-.068em;
  }
  .idea-v14-copy p{
    max-width:92%;
    margin:0;
    font-size:14px;
    line-height:1.65;
  }

  /* ---------- WORK / VERTICAL GALLERY ---------- */
  .work{
    padding-top:82px;
    padding-bottom:100px;
  }
  .archive-note{
    max-width:330px;
    margin-top:25px;
    font-size:13px;
    line-height:1.65;
  }
  .gallery{
    display:block;
    margin-top:36px;
  }
  .piece,
  .piece-small,
  .piece-tall,
  .piece-wide{
    display:block;
    margin:0 0 54px;
  }
  .piece:last-child{margin-bottom:0}
  .piece .image-wrap,
  .piece-hero .image-wrap,
  .piece-small .image-wrap,
  .piece-tall .image-wrap,
  .piece-wide .image-wrap{
    height:auto;
    aspect-ratio:4/5;
    min-height:0;
  }
  .piece-hero .image-wrap{aspect-ratio:4/5}
  .piece-wide .image-wrap{aspect-ratio:16/10}
  .piece-meta{
    grid-template-columns:1fr auto;
    gap:12px;
    padding-top:10px;
    font-size:9px;
  }
  .piece-meta span:nth-child(2){color:#8e8b83}
  .piece-meta span:last-child{display:block;text-align:right}
  .section-cta{margin-top:40px}

  /* ---------- EDITIONS / HORIZONTAL OBJECT SHELF ---------- */
  .editions{
    padding:82px var(--mobile-pad) 96px;
  }
  .edition-hero{
    display:flex;
    flex-direction:column;
    gap:42px;
    margin:50px 0 58px;
    align-items:stretch;
  }
  .edition-title h2{
    font-size:clamp(66px,20vw,108px);
    line-height:.78;
    letter-spacing:-.075em;
    margin-bottom:28px;
  }
  .edition-title p{
    max-width:330px;
    margin:0 0 28px;
    font-size:14px;
    line-height:1.6;
  }
  .edition-feature-image{height:62svh;min-height:430px}
  .edition-feature-meta{font-size:8px;gap:20px}
  .collection-head{
    margin-bottom:13px;
    font-size:8px;
  }
  .products{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:82vw;
    grid-template-columns:none;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:0 0 8px;
  }
  .products::-webkit-scrollbar{display:none}
  .products>a{
    width:82vw;
    scroll-snap-align:start;
    margin:0!important;
    padding:8px;
  }
  .products>a .product-image,
  .products>a .product-image img{height:62svh;min-height:430px}
  .products>a .product-meta{
    grid-template-columns:1fr auto;
    font-size:8px;
  }
  .products>a .product-meta strong{grid-column:1}
  .products>a .product-meta b{grid-column:2;grid-row:1 / span 2}

  /* ---------- STUDIO / VERTICAL VISUAL SEQUENCE ---------- */
  .commissions{
    padding-top:82px;
    padding-bottom:100px;
  }
  .studio-hero{
    display:block;
    margin:50px 0 45px;
  }
  .studio-hero h2{
    max-width:100%;
    font-size:clamp(55px,16vw,92px);
    line-height:.82;
    letter-spacing:-.075em;
  }
  .studio-statement{
    margin-top:34px;
    padding:0;
  }
  .studio-statement p{
    max-width:330px;
    font-size:14px;
    line-height:1.65;
    margin:0 0 25px;
  }
  .studio-capabilities{
    display:flex;
    flex-direction:column;
    gap:52px;
    border-top:1px solid #30312d;
    padding-top:10px;
  }
  .studio-capabilities>a{display:block}
  .studio-image,
  .studio-capabilities>a .studio-image{
    height:auto;
    aspect-ratio:4/5;
    min-height:0;
  }
  .studio-meta{
    grid-template-columns:1fr;
    gap:6px;
    padding-top:10px;
    font-size:9px;
  }
  .studio-meta span{line-height:1.5}

  /* ---------- EXPERIMENTS / QUESTION LEDGER ---------- */
  .experiments{
    padding-top:82px;
    padding-bottom:96px;
  }
  .experiment-top{
    display:flex;
    flex-direction:column;
    gap:38px;
    margin:46px 0 45px;
  }
  .experiment-top h2{
    margin:0 0 19px;
    font-size:clamp(58px,17vw,94px);
    line-height:.83;
    letter-spacing:-.075em;
  }
  .experiment-top p{
    max-width:320px;
    font-size:14px;
    line-height:1.6;
    margin:0;
  }
  .experiment-preview{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:4/3;
    margin:0;
  }
  .experiment-preview img{opacity:.9!important}
  .experiment-preview::after{content:"EXPERIMENT / PREVIEW";font-size:8px}
  .questions a{
    min-height:76px;
    height:auto;
    padding:20px 0;
    gap:18px;
    font-size:clamp(17px,5.2vw,23px);
    line-height:1.12;
  }
  .questions a span{max-width:86%}
  .questions a b{font-size:16px;flex:0 0 auto}

  /* ---------- CONTACT / CLOSING FRAME ---------- */
  .contact{
    min-height:72svh;
    padding:15vh var(--mobile-pad) 13vh;
  }
  .contact .eyebrow{font-size:8px}
  .contact h2{
    margin:30px 0 52px;
    font-size:clamp(58px,18vw,105px);
    line-height:.81;
  }
  footer{
    padding:20px var(--mobile-pad) 34px;
    font-size:8px;
  }

  /* Do not let the reveal system leave content invisible on slow mobile
     connections or when the browser restores a scrolled page. */
  .piece,.products article,.studio-capabilities article,.questions a{
    opacity:1!important;
    transform:none!important;
  }
}

@media(max-width:420px){
  .hero-scroll .hero-main{bottom:18vh}
  .hero-scroll .hero-main h1{font-size:15.7vw}
  .idea-v14-stage{height:68svh}
  .idea-v14-main{height:55svh}
  .idea-v14-secondary{top:45svh;height:23svh}
  .idea-v14-copy h2{font-size:12.5vw}
  .edition-feature-image{height:58svh;min-height:390px}
  .products>a .product-image,
  .products>a .product-image img{height:58svh;min-height:390px}
}

/* =========================================================
   V0.2.8 — MOBILE POLISH / NO PAGE-SIDEWAYS SCROLL
   ========================================================= */
@media(max-width:900px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }
  body.menu-open{overflow:hidden;overscroll-behavior:none;}
  html.menu-open{overflow:hidden;}

  /* Keep the mobile navigation genuinely fixed to the viewport. */
  .nav{width:100%;max-width:100vw;overflow:visible;}
  .nav.open{width:100%;max-width:100vw;}

  /* Hero typography: preserve the editorial line rhythm instead of merely
     shrinking the desktop headline. */
  .hero-scroll .hero-main{
    bottom:13.5vh;
    left:18px;
    right:18px;
  }
  .hero-scroll .hero-main h1{
    width:min(100%, 8.9em);
    max-width:8.9em;
    font-size:clamp(48px,14.4vw,76px);
    line-height:.84;
    letter-spacing:-.082em;
  }
  .hero-scroll .hero-main h1 em{display:inline;}

  /* The mobile page itself is vertical. Editions no longer create a second
     horizontal scrolling surface. */
  .products{
    display:flex;
    flex-direction:column;
    gap:28px;
    width:100%;
    max-width:100%;
    overflow:visible;
    padding:0;
  }
  .products>a,
  .products>a:nth-child(2),
  .products>a:nth-child(3){
    width:100%;
    max-width:100%;
    margin:0!important;
    scroll-snap-align:none;
  }

  /* Prevent transformed/off-canvas editorial elements from defining a page
     wider than the viewport. */
  .idea-v14,
  .work,
  .editions,
  .commissions,
  .experiments,
  .contact,
  footer{
    width:100%;
    max-width:100vw;
    overflow-x:clip;
  }
  .idea-v14-stage,
  .idea-v14-main,
  .idea-v14-secondary{
    max-width:100%;
  }

  /* Mobile Idea headline gets a deliberate text block rather than inheriting
     desktop-width geometry. */
  .idea-v14-copy h2{
    max-width:9.2ch;
    font-size:clamp(43px,11.8vw,66px);
    line-height:.88;
    letter-spacing:-.073em;
  }
  .idea-v14-copy p{max-width:31rem;font-size:14px;}

  /* Work / Studio / Experiments stay strictly vertical. */
  .gallery,
  .studio-capabilities,
  .questions{width:100%;max-width:100%;}
  .piece,.studio-capabilities>a,.questions a{width:100%;max-width:100%;}

  /* Slightly stronger mobile hierarchy. */
  .section-head{font-size:9px;}
  .archive-note,.studio-statement p,.edition-title p,.experiment-top p{font-size:13px;}
}


/* =========================================================
   B. THEME v0.2.9 — FINAL MOBILE / MEDIA REPAIR PASS
   ========================================================= */
@media (max-width: 900px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    overscroll-behavior-x:none !important;
  }
  body{position:relative;}

  /* Mobile navigation is a true viewport overlay. */
  .nav{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    left:0 !important;
    right:0 !important;
    overflow:visible !important;
    isolation:isolate;
  }
  .nav.open{
    display:block !important;
    width:100% !important;
    height:100svh !important;
    max-height:100svh !important;
    overflow:hidden !important;
    background:#080908 !important;
    mix-blend-mode:normal !important;
  }
  .nav.open nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:4 !important;
  }
  .nav.open .nav-cta{
    display:inline-block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:4 !important;
  }
  .menu{pointer-events:auto !important;touch-action:manipulation;}

  /* No mobile section may establish a viewport wider than the device. */
  main, main > section, .hero, .hero-stage, .hero-frame,
  .idea-v14-stage, .work, .editions, .commissions,
  .experiments, .contact, footer{
    max-width:100% !important;
    min-width:0 !important;
  }

  /* The hero is deliberately composed for a narrow portrait canvas. */
  .hero-scroll{
    height:100svh !important;
    min-height:0 !important;
    max-height:none !important;
  }
  .hero-frame{
    inset:0 !important;
    background-image:none !important;
    background-color:#11120f !important;
  }
  .hero-frame .home-managed-image{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .hero-scroll .hero-gradient{
    background:
      linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.02) 38%,rgba(0,0,0,.62) 100%),
      linear-gradient(90deg,rgba(0,0,0,.42),transparent 72%) !important;
  }
  .hero-scroll .hero-main{
    left:var(--mobile-pad) !important;
    right:var(--mobile-pad) !important;
    bottom:18svh !important;
    width:auto !important;
  }
  .hero-scroll .hero-main h1{
    width:min(92vw, 7.1em) !important;
    max-width:7.1em !important;
    font-size:clamp(52px,15.2vw,82px) !important;
    line-height:.82 !important;
    letter-spacing:-.078em !important;
  }
  .hero-scroll .hero-main h1 em{display:block !important;}
  .hero-scroll .hero-bottom{bottom:20px !important;}

  /* IDEA becomes a deliberate portrait editorial sequence. */
  .idea-v14{padding-top:74px !important;padding-bottom:90px !important;}
  .idea-v14-stage{height:74svh !important;min-height:0 !important;}
  .idea-v14-main{height:58svh !important;width:100% !important;left:0 !important;right:auto !important;}
  .idea-v14-secondary{width:44vw !important;height:24svh !important;top:49svh !important;right:0 !important;}
  .idea-v14-copy h2{
    width:100% !important;
    max-width:8.7ch !important;
    font-size:clamp(44px,12.7vw,70px) !important;
    line-height:.86 !important;
    letter-spacing:-.072em !important;
  }

  /* Keep every mobile gallery strictly vertical. */
  .gallery,.products,.studio-capabilities,.questions{display:block !important;width:100% !important;}
  .piece,.products>a,.studio-capabilities>a,.questions>a{display:block !important;width:100% !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}
  .piece .image-wrap{height:62svh !important;max-height:620px !important;}
  .products>a{margin-bottom:38px !important;}
  .products>a:last-child{margin-bottom:0 !important;}
  .studio-capabilities>a{margin-bottom:48px !important;}
  .studio-capabilities>a:last-child{margin-bottom:0 !important;}
  .questions>a{min-height:0 !important;}
}

/* Managed hero media must never fall back to an old CSS image. */
.hero-frame-1,.hero-frame-2,.hero-frame-3{background-image:none !important;background-color:#11120f;}
.home-managed-image{visibility:visible;}
