/* Earth opening / editorial rhythm, owner-only review. All other pages retain their headers. */
.v3-home .site-header{
  position:absolute;top:0;left:0;right:0;z-index:40;
  height:76px;padding:0 clamp(24px,5.5vw,96px);
  background:#020409f5;color:#f4f4f0;border:0;box-shadow:none;
}
.v3-home .site-header .brand-mark{
  width:44px;height:36px;
  background:url('/assets/monkey-space-symbol-black.png') center/contain no-repeat!important;
  filter:invert(1);
}
.v3-home .site-header .brand-type{
  width:181px;height:22px;
  background:url('/assets/monkey-space-wordmark-black.png') center/contain no-repeat;
  filter:invert(1);
}
.v3-home .site-header .desktop-nav a{color:#f1f1ed!important;opacity:.88}
.v3-home .site-header .desktop-nav a:hover,
.v3-home .site-header .desktop-nav a:focus-visible{color:#fff!important;opacity:1;box-shadow:inset 0 -1px #e8e8e1}
.v3-home .v3-hero{
  height:100svh;min-height:640px;max-height:1100px;
  background:#02050c;color:#f5f4f0;
}
.v3-home .v3-hero-photo{
  inset:0;width:100%;height:100%;
  background-image:url('/assets/earth-hero.jpg');
  background-size:cover;background-position:center bottom;
  transform:none;
}
.v3-home .earth-motion{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.v3-home .v3-hero:after{display:none}
.v3-home .v3-hero-copy{
  left:clamp(32px,6.2vw,112px);right:auto;top:26%;bottom:auto;
  max-width:min(45vw,650px);color:#f5f4f0;text-align:left;
  z-index:2;
}
.v3-home .v3-eyebrow{
  font:400 clamp(11px,.88vw,13px)/1.5 Outfit,sans-serif;
  letter-spacing:.14em;margin:0 0 clamp(26px,3vw,40px);
  white-space:nowrap;
}
.v3-home .v3-eyebrow:after{
  width:74px;max-width:none;height:1px;margin-top:18px;background:#ddd6c9;
}
.v3-home .v3-hero h1{
  font-size:clamp(3.4rem,4.4vw,4.7rem);line-height:1.3;
  letter-spacing:-.025em;font-weight:500;margin:0;
  color:#f6f5f1;text-wrap:initial;white-space:nowrap;
}
.v3-home .earth-hero-lead{
  font-size:clamp(.95rem,1.1vw,1.125rem);line-height:1.85;
  letter-spacing:0;margin:clamp(28px,3.4vw,48px) 0 0;
  color:#eeedea;
}
.v3-home .earth-scroll{
  position:absolute;z-index:2;bottom:clamp(28px,5vh,58px);
  left:clamp(32px,6.2vw,112px);display:inline-flex;align-items:center;
  min-height:44px;color:#e6e6e1;text-decoration:none;
  font:400 10px/1.4 Outfit,sans-serif;letter-spacing:.17em;
}
/* Quiet titles after the visual opening. */
.v3-home .v3-section{padding-top:clamp(6.5rem,9vw,9rem);padding-bottom:clamp(6.5rem,9vw,9rem)}
.v3-home .v3-section-no{margin-bottom:clamp(2.5rem,4vw,4rem)}
.v3-home .v3-problem{background:#f7f5f0;min-height:0}
.v3-home .v3-problem-grid{max-width:78rem}
.v3-home .v3-problem h2{
  max-width:46rem;font-size:clamp(2.8rem,4.25vw,4.5rem);
  line-height:1.32;letter-spacing:-.025em;margin:0 auto clamp(3rem,5vw,5.5rem);
}
.v3-home .v3-problem h2 span{font-size:.76em;line-height:1.45;margin-top:.25em}
.v3-home .v3-problem-grid>div{max-width:39rem}
.v3-home .v3-problem-grid p{font-size:1rem;line-height:1.83;margin-bottom:1.3rem}
.v3-home .v3-problem strong{font-size:1em;font-weight:600}
.v3-home .v3-work{background:#f0eee8}
.v3-home .v3-work-heading{margin-bottom:clamp(2.5rem,4vw,4rem)}
.v3-home .v3-work-heading .v3-english{
  font-size:.75rem;letter-spacing:.15em;line-height:1.5;
  font-weight:500;margin:0 0 1rem;
}
.v3-home .v3-work-heading h2{
  font-size:clamp(2.7rem,4.1vw,4.5rem);line-height:1.35;
  margin:0;white-space:normal;letter-spacing:-.02em;
}
.v3-home .v3-cycle-item{padding:clamp(2.1rem,3vw,3rem) 0}
.v3-home .v3-cycle-item h3{font-size:clamp(1.35rem,1.8vw,1.75rem);margin:.55rem 0 .35rem}
.v3-home .v3-cycle-item strong{font-size:1.2rem}
.v3-home .v3-cycle-item p{margin:.55rem 0 0;line-height:1.78}
.v3-home .v3-cycle-return{margin-top:clamp(2rem,4vw,4rem)}
.v3-home .v3-manifesto{padding-top:clamp(3rem,5vw,5rem)}
.v3-home .v3-manifesto p{font-size:clamp(1.1rem,2vw,1.75rem)}
.v3-home .v3-manifesto h3{font-size:clamp(1.75rem,3vw,3rem);line-height:1.5}
.v3-home .portfolio-section{padding-top:clamp(5.5rem,8vw,8rem)}
.v3-home .portfolio-intro{text-align:center}
.v3-home .portfolio-intro h2{letter-spacing:-.025em}
.v3-home .portfolio-intro>p:last-child{max-width:37rem}
.v3-home .v3-tools{background:#f7f5f0}
.v3-home .v3-tools-grid{display:block;max-width:80rem;margin:auto}
.v3-home .v3-tools-grid>div:first-child{text-align:center;margin:0 auto clamp(3rem,5vw,5rem)}
.v3-home .v3-tools h2{
  font:500 clamp(1rem,1.5vw,1.25rem)/1.5 Outfit,sans-serif;
  letter-spacing:.1em;margin:0 auto 1.2rem;text-align:center;
}
.v3-home .v3-tools h2 br{display:none}
.v3-home .v3-tools-grid>div>p{
  max-width:35rem;margin:0 auto;text-align:center;
  font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.65;letter-spacing:-.015em;
}
.v3-home .v3-tools-grid>div:first-child>small{
  display:block;margin:1rem auto 0;font-size:.9375rem;line-height:1.75;
}
.v3-home .v3-tools-list{max-width:64rem;margin:auto}
.v3-home .v3-tools-list>div{padding:1.15rem 0;grid-template-columns:2.5rem 1fr}
.v3-home .v3-tools-list strong{font-size:clamp(1rem,1.5vw,1.35rem)}
.v3-home .v3-tools-list small{font-size:.875rem}
/* Return to the opening photograph as a quieter, partial ending. */
.v3-home .v3-name{background:#030913;color:#f5f4f0;isolation:isolate}
.v3-home .name-earth-scene{
  position:absolute;left:0;right:0;bottom:0;height:min(68vh,660px);
  z-index:0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 34%,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 34%,#000 100%);
}
.v3-home .name-earth-photo{
  position:absolute;inset:0;background:url('/assets/earth-hero.jpg') 58% bottom/cover no-repeat;
  filter:brightness(.43) saturate(.72);opacity:.9;
}
.v3-home .name-earth-motion{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.v3-home .v3-name-content{position:relative;z-index:1}
.v3-home .v3-name h2{font-size:clamp(2.7rem,4.3vw,4.5rem);line-height:1.38}
.v3-home .v3-company{background:#f7f5f0}
.v3-home .v3-company h2{font-size:clamp(1.65rem,2.4vw,2.5rem)}
.v3-home .v3-contact{background:#f7f5f0}
.v3-home .v3-contact-grid{text-align:center}
.v3-home .v3-contact-grid>div:first-child>p:first-child{font-size:clamp(2.3rem,4.2vw,4.6rem)}
.v3-home .v3-contact h2{font-size:clamp(2.5rem,3.2vw,3.6rem)}
.v3-home .finish-footer{background:#f7f5f0}
@media(max-width:900px){
  .v3-home .site-header .menu-toggle{color:transparent}
  .v3-home .site-header .menu-toggle:before,.v3-home .site-header .menu-toggle:after{background:#f1f1ed}
  .v3-home .site-header .mobile-nav.open{background:#151719;color:#f5f4f0;top:76px}
  .v3-home .site-header .mobile-nav.open a{color:#f5f4f0;border-color:#ffffff35}
}
@media(max-width:767px){
  .v3-home .site-header{height:66px;padding:0 18px;background:#020409e8}
  .v3-home .site-header .brand{gap:7px}
  .v3-home .site-header .brand-mark{width:38px;height:31px}
  .v3-home .site-header .brand-type{width:158px;height:20px}
  .v3-home .site-header .mobile-nav.open{top:66px}
  .v3-home .v3-hero{height:100svh;min-height:640px;max-height:950px}
  .v3-home .v3-hero-photo{
    inset:0;width:100%;height:100%;
    background-size:cover;background-position:64% bottom;
  }
  .v3-home .v3-hero-copy{
    left:14px;right:22px;top:clamp(112px,15.2svh,142px);bottom:auto;
    max-width:none;text-align:center;
  }
  .v3-home .v3-eyebrow{
    font-size:clamp(10px,2.8vw,12px);letter-spacing:.085em;
    margin:0 0 1.4rem;
  }
  .v3-home .v3-eyebrow:after{margin:1rem auto 0;width:56px}
  .v3-home .v3-hero h1{
    font-size:clamp(2.1rem,9.1vw,2.75rem);line-height:1.35;
    letter-spacing:-.035em;white-space:nowrap;
  }
  .v3-home .earth-hero-lead{
    font-size:clamp(.78rem,3.05vw,.875rem);line-height:1.55;
    margin:1rem auto 0;
  }
  .v3-home .earth-scroll{
    left:50%;bottom:1.3rem;transform:translateX(-50%);
    font-size:.5625rem;white-space:nowrap;
  }
  .v3-home .v3-section{padding-top:4.8rem;padding-bottom:4.8rem}
  .v3-home .v3-section-no{margin-bottom:2rem}
  .v3-home .v3-problem h2{
    max-width:21rem;font-size:clamp(1.95rem,8.1vw,2.5rem);
    line-height:1.32;margin:0 auto 2.5rem;
  }
  .v3-home .v3-problem h2 span{font-size:.76em;margin-top:.2rem}
  .v3-home .v3-problem-grid>div{max-width:22rem}
  .v3-home .v3-problem-grid p{font-size:.9375rem;line-height:1.8}
  .v3-home .v3-work-heading{margin-bottom:2.2rem}
  .v3-home .v3-work-heading .v3-english{font-size:.6875rem;margin-bottom:.7rem}
  .v3-home .v3-work-heading h2{font-size:clamp(2rem,8vw,2.5rem)}
  .v3-home .v3-cycle-item{padding:1.5rem 0}
  .v3-home .v3-cycle-item h3{font-size:1.3rem;margin:.45rem 0 .25rem}
  .v3-home .v3-cycle-item strong{font-size:1.125rem}
  .v3-home .v3-cycle-item p{font-size:.9375rem;line-height:1.75;margin:.45rem 0 0}
  .v3-home .v3-cycle-return{margin-top:2rem}
  .v3-home .v3-manifesto{padding-top:2.5rem}
  .v3-home .v3-manifesto h3{font-size:clamp(1.2rem,5.1vw,1.45rem)}
  .v3-home .portfolio-section{padding-top:4.5rem;padding-bottom:4.5rem}
  .v3-home .portfolio-intro{text-align:center;margin-bottom:3rem}
  .v3-home .portfolio-intro h2{margin-left:auto;margin-right:auto;font-size:clamp(2rem,8vw,2.6rem)}
  .v3-home .portfolio-intro>p:last-child{margin:auto;max-width:21rem;font-size:.875rem;text-align:center}
  .v3-home .v3-tools-grid>div:first-child{margin-bottom:2rem}
  .v3-home .v3-tools h2{font-size:.75rem;margin-bottom:1rem}
  .v3-home .v3-tools-grid>div>p{font-size:1.25rem;max-width:20rem;line-height:1.7}
  .v3-home .v3-tools-grid>div:first-child>small{font-size:.875rem;max-width:20rem}
  .v3-home .v3-tools-list>div{padding:1rem 0;grid-template-columns:2rem 1fr}
  .v3-home .v3-tools-list strong{font-size:1rem}
  .v3-home .v3-name{padding-top:4.7rem;padding-bottom:4.7rem}
  .v3-home .name-earth-scene{height:min(72vh,570px)}
  .v3-home .name-earth-photo{background-position:64% bottom;filter:brightness(.39) saturate(.68)}
  .v3-home .v3-name h2{font-size:clamp(2.4rem,9vw,2.9rem)}
  .v3-home .v3-company{padding-top:4.5rem;padding-bottom:4.5rem}
  .v3-home .v3-company h2{font-size:1.8rem}
  .v3-home .v3-company>.v3-section-no{margin-bottom:1.6rem}
  .v3-home .v3-company-grid h2{
    font-size:1.5rem;line-height:1.25;letter-spacing:.015em;
    white-space:nowrap;overflow-wrap:normal;margin-bottom:.85rem;
  }
  .v3-home .v3-company-grid p{margin-bottom:1.5rem}
  .v3-home .v3-contact{padding:4.5rem var(--gutter)}
  .v3-home .v3-contact-grid>div:first-child>p:first-child{font-size:2.5rem}
  .v3-home .v3-contact h2{font-size:clamp(1.9rem,7.7vw,2.35rem);margin:1.2rem 0 1.5rem}
  .v3-home .v3-contact-grid>div:last-child>p{font-size:.9375rem;line-height:1.75}
  .v3-home .finish-footer{padding-top:3rem}
}
@media(max-width:374px){
  .v3-home .v3-hero h1{font-size:2.08rem}
  .v3-home .earth-hero-lead{font-size:.78rem}
}
@media(max-width:767px) and (max-height:700px){
  .v3-home .v3-hero-copy{top:105px}
  .v3-home .v3-eyebrow{margin-bottom:1rem}
  .v3-home .v3-hero h1{font-size:clamp(2rem,8.5vw,2.4rem)}
  .v3-home .earth-hero-lead{margin-top:.8rem}
}
/* WHY: a centered declaration, one left-aligned explanation, then a centered ending. */
@media(max-width:767px){
  .v3-home .v3-name-content>.eyebrow,
  .v3-home .v3-name-content>h2{text-align:center}
  .v3-home .v3-name-content>h2{margin-bottom:1.3rem}
  .v3-home .name-intro{
    width:100%;max-width:21.5rem;margin:0 auto 1.8rem!important;
    text-align:left;font-size:clamp(.875rem,3.85vw,.9375rem)!important;
    line-height:1.75!important;letter-spacing:0;
  }
  .v3-home .v3-name-meanings{
    width:100%;max-width:21.5rem;margin:0 auto;text-align:left;
    gap:1.28rem;
  }
  .v3-home .v3-name-meanings>div{min-width:0}
  .v3-home .v3-name-meanings h3{margin-bottom:.625rem}
  .v3-home .v3-name-meanings .name-keywords{margin-bottom:.65rem}
  .v3-home .v3-name-meanings>div>p:last-child{
    font-size:clamp(.875rem,3.85vw,.9375rem);line-height:1.75;
    letter-spacing:0;white-space:nowrap;
  }
  .v3-home .name-finale{margin-top:2.2rem;text-align:center}
}
/* Approved portrait composition includes the final logo and typesetting. */
@media(max-width:767px){
  .v3-home .v3-contact-grid>div:first-child>p:first-child{
    font-size:2.2rem;letter-spacing:.025em;word-spacing:.09em;
    line-height:1.1;white-space:nowrap;
  }
  .v3-home .v3-contact h2{
    font-size:clamp(1.7rem,7.1vw,2rem);line-height:1.34;
    letter-spacing:-.015em;margin:1.15rem auto 1.35rem;
  }
  .v3-home .v3-contact h2 span{white-space:nowrap}
}
@media(max-width:767px){
  .v3-home .v3-hero{
    height:calc(100vw * 1536 / 711);min-height:0;max-height:none;
  }
  .v3-home .v3-hero-photo{
    background-image:url('/assets/earth-hero-mobile-approved.jpg');
    background-size:100% 100%;background-position:center;
  }
  .v3-home .site-header{background:transparent;border:0;box-shadow:none}
  .v3-home .site-header .brand{opacity:0}
  .v3-home .site-header .menu-toggle{opacity:0}
  .v3-home .site-header .menu-toggle[aria-expanded="true"]{
    opacity:1;background:#050a14;color:#fff!important;min-width:42px;min-height:42px;
  }
  .v3-home .v3-hero-copy,.v3-home .earth-scroll{opacity:0}
  .v3-home .v3-problem{padding-bottom:2.25rem}
  .v3-home .v3-problem .v3-inline-cta{margin-bottom:0}
  .v3-home .v3-work{padding-top:2.25rem}
}
/* PROJECTS / WHAT WE DO: preserve the layout while giving each label one role. */
.v3-home .portfolio-intro-line{display:inline}
.v3-home .v3-tools h2{
  font-family:'Noto Sans JP',sans-serif;font-size:clamp(1.55rem,2.5vw,2.35rem);
  font-weight:500;line-height:1.65;letter-spacing:-.02em;
  margin:0 auto 1.1rem;max-width:38rem;text-align:center;
}
.v3-home .v3-tools h2 br{display:initial}
.v3-home .v3-tools-list strong,.v3-home .v3-tools-list small{grid-column:2}
@media(max-width:767px){
  .v3-home .portfolio-intro h2{max-width:none;white-space:nowrap;font-size:clamp(1.9rem,8vw,2.6rem)}
  .v3-home .portfolio-intro>p:last-child{max-width:22rem;text-align:left}
  .v3-home .portfolio-intro>p:last-child br{display:initial}
  .v3-home .portfolio-intro-line{display:block;white-space:nowrap}
  .v3-home .portfolio-project-meta{margin-bottom:1.7rem}
  .v3-home .portfolio-number{margin-bottom:.9rem}
  .v3-home .portfolio-client span{margin-bottom:.25rem}
  .v3-home .portfolio-project h3{font-size:clamp(1.85rem,7.4vw,2.3rem)}
  .v3-home .portfolio-theme-middle,.v3-home .portfolio-theme-end{display:block;white-space:nowrap}
  .v3-home .portfolio-summary{max-width:22rem;line-height:1.8}
  .v3-home .v3-tools h2{font-size:clamp(1.25rem,5.3vw,1.5rem);line-height:1.65;margin:0 auto 1rem}
  .v3-home .v3-tools-list strong,.v3-home .v3-tools-list small{text-align:left}
}
@media(min-width:768px){
  .v3-home .portfolio-theme-end:before{content:' '}
}
/* The section number, English theme, and Japanese conclusion form one heading. */
.v3-home .v3-work>.v3-section-no{margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.v3-home .v3-work-heading .v3-english{margin-bottom:.65rem}
.v3-home .v3-work-heading h2{margin-top:0}
.v3-home .name-intro{text-align:center}
@media(max-width:767px){
  .v3-home .v3-work>.v3-section-no{margin-bottom:1.4rem}
  .v3-home .v3-work-heading .v3-english{margin-bottom:.55rem}
  .v3-home .name-intro{text-align:center}
}
/* One editorial meteor behind the closing words; the copy keeps its place. */
.v3-home .name-finale .name-hero-star{
  position:absolute;left:50%;top:-120px;transform:translateX(-50%);
  width:100vw;height:400px;z-index:0;pointer-events:none;
}
.v3-home .name-finale>:not(.name-hero-star){position:relative;z-index:1}
.v3-home .name-finale .v3-name-signature span{display:inline-block;margin-bottom:.26em}
.v3-home .name-finale.star-awaiting .v3-name-signature{opacity:0}
.v3-home .name-finale.star-revealed .v3-name-signature{opacity:1;transition:opacity .4s ease}
@media(max-width:767px){
  .v3-home .name-finale .name-hero-star{top:-105px;height:345px}
}
@media(prefers-reduced-motion:reduce){
  .v3-home .name-finale.star-awaiting .v3-name-signature{opacity:1}
}
/* The ending carries the sole full brand statement. */
.v3-home .name-finale .v3-name-conclusion{
  font-size:1.19rem!important;line-height:1.72!important;
}
.v3-home .name-finale .v3-name-signature span{
  font-size:.78em;letter-spacing:.08em;margin-bottom:.34em;
}
@media(max-width:767px){
  .v3-home .name-finale .v3-name-conclusion{
    font-size:1.08rem!important;line-height:1.72!important;
  }
}
/* Editorial doorway from the brand ending to the name essay. */
.v3-home .v3-name .name-endnote{max-width:100%;overflow-wrap:normal}
.v3-home .v3-name .name-endnote span{white-space:nowrap}
.v3-home .v3-name .name-origin-cta{
  display:flex;flex-direction:column;align-items:center;gap:.8rem;
  width:min(100%,27rem);margin:2.6rem auto 0;padding:1.5rem 1rem 1.2rem;
  border:0;border-bottom:1px solid rgba(245,243,238,.62);
  color:var(--on-dark);text-align:center;text-decoration:none;
  transition:opacity .2s ease,border-color .2s ease;
}
.v3-home .name-origin-label{font:400 .65rem/1.5 Outfit,sans-serif;letter-spacing:.15em;color:#b8b5ae}
.v3-home .name-origin-title{font:400 clamp(1.125rem,2vw,1.45rem)/1.65 'Noto Sans JP',sans-serif;letter-spacing:.015em}
.v3-home .name-origin-action{font:500 .875rem/1.7 'Noto Sans JP',sans-serif;letter-spacing:.035em;margin-top:.25rem}
.v3-home .name-origin-action span{display:inline-block;transition:transform .2s ease}
.v3-home .name-origin-cta:hover{opacity:.82;border-color:var(--on-dark)}
.v3-home .name-origin-cta:hover .name-origin-action span{transform:translate(3px,-3px)}
@media(max-width:767px){
  .v3-home .v3-name .name-endnote span{display:block}
  .v3-home .v3-name .name-origin-cta{margin-top:2.1rem;padding:1.4rem .5rem 1.2rem}
}
@media(prefers-reduced-motion:reduce){
  .v3-home .name-origin-cta,.v3-home .name-origin-action span{transition:none}
}
/* Mobile-only alignment for the BEFORE AI / NOW reading sequence. */
@media(max-width:767px){
  .v3-home .v3-before .before-desktop-break{display:none}
  .v3-home .v3-before .before-line{display:block;white-space:nowrap}
  .v3-home .v3-before h2{
    width:100%;max-width:22rem;margin:0 auto 2.3rem;
    text-align:center;font-size:clamp(1.75rem,7.6vw,2rem);
    line-height:1.45;letter-spacing:-.025em;
  }
  .v3-home .v3-before-grid>div:last-child{
    max-width:22rem;margin:0 auto;text-align:center;
  }
  .v3-home .v3-before-grid>div:last-child p{
    text-align:center;font-size:.9375rem;line-height:1.85;
  }
}

/* The name-story link keeps its white type; the city-light accent belongs only here. */
.v3-home .v3-name .name-origin-cta{border-bottom:0}
.v3-home .name-origin-action{
  position:relative;display:inline-block;overflow:hidden;
  padding:0 .08em .62rem;
  color:var(--on-dark);font-size:.91rem;letter-spacing:.045em;
  white-space:nowrap;
}
.v3-home .name-origin-action::after,
.v3-home .name-origin-action::before{
  content:"";position:absolute;left:0;bottom:0;height:1px;pointer-events:none;
}
.v3-home .name-origin-action::after{width:100%;background:#b98b60}
.v3-home .name-origin-action::before{
  z-index:1;width:38%;
  background:linear-gradient(90deg,transparent,#f1d5aa 50%,transparent);
  animation:name-origin-line-glint 4s ease-in-out infinite;
}
@keyframes name-origin-line-glint{
  0%,16%{transform:translateX(-110%);opacity:0}
  19%{opacity:.9}
  35%{transform:translateX(265%);opacity:1}
  39%,100%{transform:translateX(265%);opacity:0}
}
.v3-home .name-origin-cta:hover{opacity:1}
.v3-home .name-origin-cta:hover .name-origin-action::before{
  animation:name-origin-line-glint .85s ease-in-out 1;
}
.v3-home .name-origin-cta:active .name-origin-action{
  filter:brightness(1.16);
}
@media(prefers-reduced-motion:reduce){
  .v3-home .name-origin-action::before,
  .v3-home .name-origin-cta:hover .name-origin-action::before{animation:none;opacity:0}
}

/* Keep the brand conclusion and logo together without long stacked gaps. */
.v3-home .name-finale{margin-top:2rem;padding-top:1.5rem}
.v3-home .name-finale .v3-name-signature{margin-top:1.25rem!important}
.v3-home .v3-name .name-finale .v3-logo-art{margin:.8rem auto 1.1rem}
@media(max-width:767px){
 .v3-home .name-finale{margin-top:1.6rem;padding-top:1.2rem}
 .v3-home .name-finale .v3-name-signature{margin-top:1rem!important}
 .v3-home .v3-name .name-finale .v3-logo-art{margin:.6rem auto .9rem}
}

/* Corporate reading order: clear Japanese headings, short supporting copy. */
.v3-home .v3-section{padding-top:clamp(4.5rem,6vw,6rem);padding-bottom:clamp(4.5rem,6vw,6rem)}
.v3-home .v3-problem h2{line-height:1.55;max-width:12em;font-size:clamp(2rem,3.2vw,3.1rem)}
.v3-home .v3-tools h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.55}
.v3-home .v3-tools-list strong{font-family:'Noto Sans JP',sans-serif;letter-spacing:0;font-size:clamp(1rem,1.6vw,1.35rem)}
.v3-home .v3-tools-list small{line-height:1.8;margin-top:.4rem}
.v3-home .v3-work-heading h2{line-height:1.55}
.v3-home .v3-cycle-item h3{font-family:'Noto Sans JP',sans-serif;font-size:clamp(1.25rem,2vw,1.75rem);letter-spacing:0;line-height:1.55}
.v3-home .work-ai-note{max-width:42rem;margin:2rem auto 0;font-size:.95rem;line-height:1.85}
.v3-home .v3-name .name-finale{margin-top:2rem}
@media(max-width:767px){
 .v3-home .v3-section{padding-top:3.75rem;padding-bottom:3.75rem}
 .v3-home .v3-problem h2{font-size:1.8rem;line-height:1.55;max-width:none}
 .v3-home .v3-tools h2{font-size:1.7rem;text-align:center;line-height:1.6}
 .v3-home .v3-hero h1,.v3-home .v3-hero h1 span{white-space:normal}
 .v3-home .v3-hero h1{font-size:clamp(1.9rem,8.3vw,2.6rem);letter-spacing:-.025em}
 .v3-home .v3-work-heading h2{font-size:1.7rem;line-height:1.6}
 .v3-home .work-ai-note{font-size:.9rem}
 .v3-home .v3-contact-grid a{padding:1rem .5rem;font-size:.92rem}
}
