@charset "UTF-8";
:root{--paper:#f7f5f0;--ink:#151718;--muted:#626363;--line:#d9d6d0;--warm:#eeebe5;--space:clamp(24px,5vw,88px);--content:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.4;letter-spacing:-.035em;font-weight:800}h2{font-size:clamp(30px,3.65vw,58px);margin-bottom:28px}h3{font-size:clamp(21px,1.75vw,27px)}p{margin-bottom:20px}::selection{background:#ffd337;color:#151718}:focus-visible{outline:3px solid #4262ef;outline-offset:5px}.container{width:min(var(--content),100% - var(--space)*2);margin-inline:auto;position:relative;z-index:2}.section{padding-block:clamp(80px,8.5vw,140px);position:relative;overflow:hidden}.section-intro{max-width:960px;margin-bottom:54px;line-height:1.95}.eyebrow{display:flex;align-items:center;gap:20px;font-size:14px;letter-spacing:.16em;font-weight:600;margin-bottom:36px}.eyebrow::before{content:"";width:46px;height:1px;background:currentColor}.dark{background:var(--ink);color:var(--paper)}.number{display:block;font-size:30px;font-weight:700;line-height:1;margin-bottom:28px;font-variant-numeric:tabular-nums}.button{min-height:56px;padding:15px 25px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:15px;font-weight:700;line-height:1.5;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 18px #1517181a}.button span{transition:transform .25s}.button:hover span{transform:translate(2px,-2px)}.button-outline{background:transparent;color:var(--ink)}.button-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button-small{min-height:46px;padding:11px 22px;font-size:14px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.reading-progress{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#f45151,#ffd337,#26bf82,#20bde0,#9660ed);z-index:50}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:24px var(--space);height:112px;position:absolute;inset:0 0 auto;z-index:20;gap:24px}.brand{display:block;flex:none}.logo{display:block;width:230px;height:57px;background:url('assets/logo-original.jpg') center center / 120% auto no-repeat;mix-blend-mode:multiply}.site-header nav{display:flex;align-items:center;gap:clamp(22px,3vw,50px);font-size:14px;font-weight:700}.site-header nav>a:not(.button){position:relative}.site-header nav>a:not(.button)::after{content:"";position:absolute;bottom:-5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav>a:hover::after{transform:scaleX(1)}.menu-toggle{display:none}.hero{min-height: min(950px,100svh);min-height:850px;position:relative;overflow:hidden;padding-top:190px;padding-bottom:70px}.hero-art{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:right bottom;mix-blend-mode:multiply;transform:translate(var(--paint-x,0px),var(--paint-y,0px)) scale(1.035);animation:paint-breathe 12s ease-in-out infinite}.hero-content{position:relative;z-index:2}.hero-eyebrow{letter-spacing:.025em;margin-bottom:34px}.hero h1{font-size:clamp(44px,5.3vw,82px);line-height:1.38;margin:0 0 32px;font-weight:800;letter-spacing:-.045em;width:max-content;max-width:100%;animation:hero-in .9s both}.hero h1 span{display:block}.hero-description{font-size:clamp(16px,1.4vw,21px);line-height:1.95;animation:hero-in .9s .15s both}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;animation:hero-in .9s .25s both}.hero-actions .button-outline{background:#f7f5f0dc}.scroll-cue{display:flex;align-items:center;gap:18px;font-size:11px;letter-spacing:.3em;margin-top:58px;width:max-content}.scroll-cue span{width:1px;height:54px;background:#15171855;position:relative;overflow:hidden}.scroll-cue span::after{content:"";position:absolute;top:-50%;height:50%;width:1px;background:var(--ink);animation:scroll-line 2s infinite}.paint-corner{position:absolute;bottom:0;right:0;width:40%;height:260px;background:url('assets/paint-hero.png') right bottom/cover;mix-blend-mode:multiply;mask-image:linear-gradient(135deg,transparent 20%,black 85%);opacity:.7}.about-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:60px}.about-columns article+article{border-left:1px solid var(--line);padding-left:38px}.about-columns h3{margin-bottom:18px}.about-columns p{max-width:340px}.about-message{font-size:clamp(23px,2.5vw,36px);font-weight:800;margin:65px 0 0;padding-top:24px;border-top:1px solid var(--ink);width:fit-content}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;position:relative}.benefit-grid article{position:relative}.benefit-grid article+article{border-left:1px solid #ffffff35;padding-left:36px}.benefit-grid svg{width:48px;height:48px;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;margin-bottom:22px}.benefit-grid h3{margin-bottom:25px}.before{color:#c1c1c1;min-height:58px}.down{display:block;font-size:30px;margin:8px 0 20px;color:#ccc}.after{font-size:clamp(23px,2.15vw,32px);font-weight:800;line-height:1.6;min-height:102px;margin-bottom:22px}.after::after{content:"";display:block;width:54px;height:4px;background:var(--accent);margin-top:22px}.benefit-detail{color:#d3d3d3;max-width:350px;font-size:15px}.caption{font-size:13px;color:#c1c1c1;margin-top:45px;margin-bottom:0}.dark-paint-corner{position:absolute;right:-40px;bottom:-60px;width:320px;height:300px;background:url('assets/paint-3c.png') right center / 300% 100%;mask-image:linear-gradient(135deg,transparent,black);opacity:.5}.member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.photo-placeholder{aspect-ratio:1.3;background:#e8e6e2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#747474;margin-bottom:24px;font-size:14px;gap:12px;border-radius:5px}.photo-placeholder svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.5}.member h3{font-size:20px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}.member p{font-size:15px;color:var(--muted)}.member-message{font-weight:700;font-size:22px;text-align:center;margin:58px 0 0}.programs{background:var(--warm)}.program-list{border-top:1px solid #15171850}.program{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding:40px 0;border-bottom:1px solid #15171835}.program-title{display:flex;gap:26px}.program-title .number{font-size:24px;color:#777;line-height:1.5}.program-title h3{font-size:23px;line-height:1.6}.program dl{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:28px;margin:0}.program dt{font-size:12px;color:var(--muted);margin-bottom:10px}.program dd{margin:0;font-size:15px;line-height:1.8}.program-footer{margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:28px}.program-footer p{margin:0}.guild-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.guild-motto{font-size:20px;font-weight:600;line-height:1.8;padding-top:12px}.three-c{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}.c-stage{text-align:center;position:relative}.c-stage:not(:last-child)::after{content:"→";position:absolute;right:-25px;top:34%;font-size:30px;font-weight:300;color:#b6b6b6;z-index:3}.c-art{width:100%;aspect-ratio:1;background-image:url('assets/paint-3c.png');background-repeat:no-repeat;background-size:300% 100%;mask-image:radial-gradient(ellipse 65% 65% at center,black 65%,transparent 99%)}.c-chain{background-position:0% 50%}.c-challenge{background-position:50% 50%}.c-change{background-position:100% 50%}.c-stage h3{font-size:clamp(25px,2.8vw,42px);font-weight:800;letter-spacing:.015em;margin:4px 0 0}.c-japanese{font-size:24px;font-weight:700;margin-bottom:18px}.c-stage>p:last-child{font-size:15px;color:#d2d2d2}.c-stage.is-visible .c-art{animation:paint-stage 8s ease-in-out infinite}.c-stage:nth-child(2) .c-art{animation-delay:-2s}.c-stage:nth-child(3) .c-art{animation-delay:-4s}.guild-message{margin:50px 0 0;text-align:center;font-weight:600;font-size:clamp(20px,2vw,28px)}.flow h2{font-size:clamp(30px,3.2vw,48px)}.flow-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:48px 0 85px}.flow-list li{position:relative}.flow-list .number{font-size:clamp(42px,4vw,58px);font-weight:800;letter-spacing:-.04em;margin-bottom:24px}.flow-list h3{font-size:21px;min-height:60px;margin-bottom:10px}.flow-list p{font-size:15px}.faq{max-width:1000px;margin-inline:auto}.faq-heading{font-size:32px;margin-bottom:34px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;padding:26px 0;display:flex;justify-content:space-between;align-items:center;gap:28px;font-size:17px;font-weight:600;line-height:1.8}.faq summary::-webkit-details-marker{display:none}.faq summary>span{width:18px;height:18px;flex:none;position:relative}.faq summary>span::before,.faq summary>span::after{content:"";position:absolute;left:0;top:8px;width:18px;height:1px;background:var(--ink);transition:transform .25s}.faq summary>span::after{transform:rotate(90deg)}.faq details[open] summary>span::after{transform:rotate(0deg)}.answer{padding:0 44px 27px 0;color:#555;line-height:1.95;max-width:900px;animation:hero-in .3s}.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px}.contact h2{font-size:clamp(30px,3.3vw,49px)}.contact-copy{position:relative}.contact-copy>p{position:relative;z-index:1}.contact-copy>.section-intro{margin-bottom:26px}.contact-copy>p:not(.eyebrow){font-size:16px;line-height:2}.contact-paint{height:300px;width:100%;background:url('assets/paint-3c.png') right center/300% 100%;mask-image:radial-gradient(ellipse,black 40%,transparent 75%);margin-top:5px}.contact-form label{display:block;font-size:14px;font-weight:500;margin-bottom:23px}.required,.optional{font-size:11px;font-weight:400;color:#ccc;margin-left:12px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:10px;border:1px solid #999;border-radius:4px;background:#ffffff03;color:var(--paper);padding:13px 15px;min-height:51px;font-size:16px;resize:vertical;transition:border-color .2s,background .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:#20bde0;background:#ffffff07}.contact-form textarea::placeholder{color:#aaa;font-size:14px}.contact-form>.button{width:100%;margin-top:12px}.site-footer{background:var(--ink);color:var(--paper);padding-block:30px;border-top:1px solid #ffffff35}.site-footer>.container{display:flex;align-items:center;gap:40px}.site-footer .logo{width:170px;height:42px}.logo-inverse{filter:invert(1);mix-blend-mode:screen}.site-footer p{font-size:14px;margin:0}.back-top{margin-left:auto;display:flex;gap:14px;font-size:12px}.mobile-only{display:none}
dialog{border:0;border-radius:10px;width:min(640px,calc(100% - 32px));max-height:85svh;padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#151718aa;backdrop-filter:blur(5px)}.dialog-content{padding:36px;position:relative}.dialog-close{position:absolute;right:16px;top:12px;width:44px;height:44px;background:none;border:0;font-size:28px}.dialog-content h2{font-size:28px}.dialog-content .eyebrow{font-size:12px;margin-bottom:20px}.dialog-content dl{margin:0}.dialog-content dt{font-size:12px;color:#666;margin-top:18px}.dialog-content dd{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.form-note{font-size:14px;padding-top:20px;border-top:1px solid var(--line);margin-top:24px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.dialog-actions .button{font-size:14px;padding:12px 16px}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.is-visible{opacity:1;transform:none}
@keyframes hero-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes paint-breathe{0%,100%{scale:1}50%{scale:1.025}}@keyframes paint-stage{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.018)}}@keyframes scroll-line{to{top:110%}}
@media(min-width:1700px){.hero-art img{object-position:center bottom}.hero{min-height:960px;padding-top:220px}}
@media(max-width:1100px){.site-header{height:96px}.logo{width:185px;height:46px}.site-header nav{gap:22px;font-size:12px}.hero{padding-top:170px;min-height:740px}.hero h1{font-size:clamp(40px,5.5vw,62px)}.hero-art{left:10%}.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f7f5f060,transparent 65%)}.about-columns{gap:24px}.about-columns article+article{padding-left:24px}.benefit-grid{gap:24px}.benefit-grid article+article{padding-left:24px}.program{grid-template-columns:1fr 2.3fr;gap:25px}.program-title{gap:16px}.program-title h3{font-size:19px}.contact-grid{gap:40px}.flow-list{gap:22px}.flow-list h3{font-size:18px}.c-japanese{font-size:21px}}
@media(max-width:800px){:root{--space:24px}.site-header{height:86px;padding-block:18px}.logo{width:178px;height:44px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:46px;height:46px;border:0;background:transparent;position:relative;z-index:25}.menu-toggle span{width:26px;height:1.5px;background:var(--ink);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:76px;left:16px;right:16px;background:var(--paper);padding:24px;border:1px solid var(--line);box-shadow:0 15px 40px #15171815;border-radius:8px;flex-direction:column;align-items:stretch;font-size:16px;gap:0}.site-header nav.is-open{display:flex}.site-header nav>a{padding:15px 4px}.site-header nav .button{margin-top:16px;padding:15px}.hero{min-height:auto;padding-top:130px;padding-bottom:55px}.hero-art{position:relative;inset:auto;height:340px;margin-top:0;order:2}.hero-art img{object-position:right center;object-fit:cover}.hero-art::after{background:linear-gradient(180deg,var(--paper),transparent 22%)}.hero{display:flex;flex-direction:column}.hero-content{display:contents}.hero-eyebrow,.hero h1,.hero-description,.hero-actions,.scroll-cue{margin-left:var(--space);margin-right:var(--space);max-width:calc(100% - var(--space)*2)}.hero-eyebrow{order:0;font-size:12px;gap:12px;letter-spacing:0;margin-bottom:22px}.hero-eyebrow::before{width:26px}.hero h1{order:0;font-size:clamp(31px,5.6vw,46px);letter-spacing:-.045em;line-height:1.5;margin-bottom:22px}.hero-description{order:1;font-size:16px;line-height:1.9;margin-bottom:0}.hero-actions{order:3;flex-direction:column;gap:12px;margin-top:0}.hero-actions .button{width:100%}.hero-actions .button-outline{border:0;background:transparent;min-height:44px;text-decoration:underline;text-underline-offset:6px}.scroll-cue{order:4;margin-top:20px;font-size:10px;align-self:flex-start}.scroll-cue span{height:30px}.section{padding-block:80px}.eyebrow{font-size:12px;margin-bottom:27px}.section-intro{font-size:16px;margin-bottom:38px}.desktop-only{display:none}.about-columns{grid-template-columns:1fr;gap:30px}.about-columns article+article{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.about-columns .number{font-size:24px;margin-bottom:16px}.about-columns h3{font-size:23px;margin-bottom:12px}.about-columns p{max-width:none}.about-message{margin-top:38px;font-size:25px}.paint-corner{width:70%;height:200px;opacity:.4}.benefit-grid{grid-template-columns:1fr;gap:38px}.benefit-grid article+article{border-left:0;border-top:1px solid #ffffff35;padding:36px 0 0}.benefit-grid svg{width:42px;height:42px;margin-bottom:14px}.benefit-grid h3{font-size:24px}.before{min-height:0;margin-bottom:10px}.down{margin:0 0 12px}.after{font-size:29px;min-height:0}.benefit-detail{max-width:none}.caption{position:relative;z-index:2}.dark-paint-corner{opacity:.25}.member-grid{grid-template-columns:1fr;gap:35px}.photo-placeholder{aspect-ratio:1.45;max-width:600px}.member-message{font-size:19px;margin-top:25px}.program{grid-template-columns:1fr;gap:8px;padding:30px 0}.program-title .number{font-size:22px;margin-bottom:0}.program-title h3{font-size:24px;margin-bottom:20px}.program dl{grid-template-columns:1fr;gap:18px}.program dl>div{display:grid;grid-template-columns:90px 1fr;gap:16px}.program dt{font-size:12px;margin:0;padding-top:2px}.program dd{font-size:15px}.program-footer{align-items:stretch;flex-direction:column;gap:22px}.program-footer .button{padding-inline:16px}.guild-heading{flex-direction:column;gap:0}.guild-motto{font-size:16px;margin-bottom:25px;padding-top:0}.guild-motto br{display:none}.three-c{grid-template-columns:1fr;gap:50px;margin-top:0}.c-stage{max-width:430px;width:100%;margin-inline:auto}.c-art{max-width:380px;margin:auto}.c-stage:not(:last-child)::after{content:"↓";top:auto;bottom:-43px;right:calc(50% - 10px);font-size:26px}.c-stage h3{font-size:36px}.c-japanese{font-size:24px}.guild-message{font-size:22px;margin-top:45px}.flow-list{grid-template-columns:1fr;gap:28px;margin-bottom:65px}.flow-list li{display:grid;grid-template-columns:60px 1fr;gap:0 18px}.flow-list .number{grid-row:span 2;font-size:40px;line-height:1.15;margin-bottom:0}.flow-list h3{min-height:0;font-size:23px;margin-bottom:10px}.flow-list p{margin-bottom:10px}.flow-list li:not(:last-child)::after{content:none}.faq-heading{font-size:28px}.faq summary{font-size:16px;padding:24px 0;gap:20px}.answer{font-size:15px;padding-right:0}.contact-grid{grid-template-columns:1fr;gap:25px}.contact h2{font-size:clamp(28px,6vw,40px)}.contact-paint{height:200px;margin-block:-20px 0;max-width:430px}.contact-form label{margin-bottom:20px}.site-footer>.container{flex-wrap:wrap;gap:18px}.site-footer p{font-size:12px;order:3;width:100%}.site-footer .logo{width:145px;height:36px}.mobile-only{display:initial}.dialog-content{padding:26px}.dialog-content h2{font-size:24px}.dialog-actions{flex-direction:column}.dialog-actions .button{width:100%}}
@media(max-width:380px){:root{--space:20px}.hero h1{font-size:28px}.hero-eyebrow{font-size:10px}.hero-art{height:285px}.logo{width:157px;height:39px}h2{font-size:28px}.program dl>div{grid-template-columns:78px 1fr;gap:10px}.contact h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-art img{transform:none!important}}
.site-header{background:var(--paper)}
@media(min-width:801px){.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f7f5f0e6 0%,#f7f5f0b3 28%,#f7f5f040 48%,transparent 65%)}}

/* Fixed navigation and a first view that continues just below the viewport. */
.site-header{position:fixed;height:76px;padding-block:14px;background:rgba(247,245,240,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #1517180c;transition:background .2s,color .2s}
.site-header .logo{width:190px;height:47px}
html{scroll-padding-top:92px}
.scroll-cue{justify-content:center;gap:16px;font-size:14px;letter-spacing:.18em;color:#151718;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none;min-height:52px}
.scroll-cue strong{font-weight:800}
.scroll-cue span{width:3px;height:52px;background:#15171870}
.scroll-cue span::after{width:3px;background:#151718}
.scroll-cue:hover{background:transparent;color:#000}
@media(min-width:801px){
  .hero{height:calc(100svh + 40px);min-height:460px;max-height:none;--hero-top:clamp(120px,18svh,185px);padding-top:var(--hero-top);padding-bottom:88px;display:block}
  .hero-content{height:calc(100svh - var(--hero-top))}
  .hero-eyebrow{font-size:12px;margin-bottom:clamp(12px,2svh,20px)}
  .hero h1{font-size:clamp(38px,min(5.3vw,7.4svh),80px);line-height:1.45;margin-bottom:clamp(20px,3svh,30px)}
  .hero-description{font-size:clamp(14px,1.9svh,18px);line-height:1.7;margin-bottom:0}
  .hero-actions{position:absolute;top:calc(80svh - var(--hero-top));left:0;margin-top:0;gap:14px}
  .hero-actions .button{min-height:48px;padding:12px 21px;font-size:14px}
  .hero .scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);margin:0;z-index:3}
  .about{padding-top:24px}
}
@media(max-width:1100px) and (min-width:801px){.site-header nav{gap:20px}.site-header .logo{width:175px;height:43px}}
@media(max-width:800px){
  .site-header{height:76px;padding-block:15px}
  .site-header .logo{width:178px;height:44px}
  .site-header nav{top:68px}
  .hero .scroll-cue{align-self:center;margin:20px auto 0;max-width:calc(100% - 48px);font-size:12px}
  .hero .scroll-cue span{height:44px}
}
@media(max-width:380px){.site-header .logo{width:157px;height:39px}}

.site-header.is-over-dark{background:rgba(21,23,24,.12);color:var(--paper);border-bottom-color:#ffffff15}
.site-header .logo{filter:url(#header-logo-cutout);mix-blend-mode:normal}
.site-header.is-over-dark .logo{filter:url(#header-logo-cutout) invert(1);mix-blend-mode:normal}
.site-footer .logo{filter:url(#header-logo-cutout) invert(1);mix-blend-mode:normal}
.site-header.is-over-dark .menu-toggle span{background:var(--paper)}
.site-header.is-over-dark .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}
@media(max-width:800px){.site-header.is-over-dark nav{color:var(--ink)}}

/* ABOUT: a scroll-revealed title and a photographic scene. */
.about-scene{padding:72px 0 64px;isolation:isolate}.about-scene>.container>.eyebrow{margin-bottom:24px}.about-ink{position:absolute;inset:28% -5% 0 34%;z-index:-1;opacity:.22;pointer-events:none;mask-image:linear-gradient(135deg,transparent 5%,#000 68%)}.about-ink img,.about-ink video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:right bottom}.about-ink-video{opacity:0;transition:opacity .6s}.about-ink-video.is-playing{opacity:1}.about-title-wrap{position:relative;margin:0 0 58px;padding:34px var(--space) 38px;background:#ecde71;transform:rotate(-1.5deg);width:102%;left:-1%;z-index:3;background-image:linear-gradient(110deg,#f1e59d 5%,#e9e4b3 45%,#b8e0dc 100%)}.about-title-wrap::before{content:"";position:absolute;inset:0;background:url('assets/paint-hero.png') right 55%/65% auto no-repeat;opacity:.16;pointer-events:none}.about-title{position:relative;width:min(var(--content),100%);margin:0 auto;font-size:clamp(34px,4.7vw,72px);line-height:1.3;letter-spacing:-.045em;transform:rotate(1.5deg)}.about-title>span{font-size:.63em}.motion-ready .section .about-title::after{display:none}.about-story{display:grid;grid-template-columns:.9fr 1.25fr;gap:34px 55px;align-items:start}.about-story-copy{padding-top:10px}.service-label{font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:12px}.about-story h3{font-size:clamp(24px,2.05vw,32px);margin-bottom:18px}.about-story-copy article p:last-child{font-size:15px;line-height:1.95;margin:0}.about-story-development{margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}.about-photo{margin:0;position:relative;min-width:0}.about-photo img{display:block;width:100%;height:100%;object-fit:cover}.about-photo-workshop{aspect-ratio:1.42;transform:rotate(2deg);border:8px solid var(--paper);box-shadow:0 16px 35px #15171815}.about-photo-team{width:112%;aspect-ratio:1.65;transform:rotate(-3deg);border:8px solid var(--paper);margin-top:-34px;box-shadow:0 16px 35px #15171812;z-index:2}.about-photo figcaption{position:absolute;bottom:10px;left:12px;font-size:10px;line-height:1.5;color:white;background:#151718a3;padding:4px 7px}.about-story-end{align-self:center;justify-self:center;font-size:clamp(20px,2.1vw,30px);line-height:1.8;font-weight:700;margin:10px 0 0;z-index:2}.about-photo-credit{font-size:10px;color:var(--muted);margin-top:34px;margin-bottom:0}.about-photo-credit a{text-decoration:underline;text-underline-offset:3px}
.js-motion .about-title.reveal{opacity:0;transform:translateX(-65vw) scaleY(.65) rotate(1.5deg);transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .3s}.js-motion .about-title.reveal.is-visible{opacity:1;transform:translateX(0) scaleY(1) rotate(1.5deg)}.js-motion .about-photo.reveal{opacity:0;transform:translateY(55px) rotate(-4deg) scale(.94);transition:opacity .65s,transform 1s cubic-bezier(.16,1,.3,1)}.js-motion .about-photo-workshop.reveal.is-visible{opacity:1;transform:translateY(0) rotate(2deg) scale(1)}.js-motion .about-photo-team.reveal.is-visible{opacity:1;transform:translateY(0) rotate(-3deg) scale(1);transition-delay:.12s}
@media(max-width:1100px) and (min-width:801px){.about-story{gap:30px}.about-story-copy article p:last-child{font-size:14px}.about-story h3{font-size:23px}.about-story-end{font-size:22px}.about-photo-team{margin-top:0}}
@media(max-width:800px){.about-scene{padding-top:55px;padding-bottom:45px}.about-title-wrap{padding:25px var(--space) 30px;margin-bottom:34px}.about-title{font-size:clamp(28px,6.1vw,44px);line-height:1.5}.about-title>span{font-size:.8em}.about-story{display:flex;flex-direction:column;gap:28px}.about-story-copy{display:contents}.about-story-training{order:0}.about-photo-workshop{order:1;width:100%;aspect-ratio:1.4;border-width:5px}.about-story-development{order:2;margin:15px 0 0;padding-top:0;border-top:0}.about-photo-team{order:3;width:95%;margin:0 auto;aspect-ratio:1.5;border-width:5px}.about-story-end{order:4;font-size:20px;align-self:flex-start;margin:12px 0 0}.about-story h3{font-size:25px}.about-story-copy article p:last-child{font-size:15px}.about-ink{inset:25% -20% 0 5%;opacity:.2}.about-photo-credit{font-size:9px;margin-top:28px}}
@media(prefers-reduced-motion:reduce){.js-motion .about-title.reveal,.js-motion .about-photo.reveal{opacity:1;transition:none;transform:none}.about-ink video{display:none}}

/* Customer benefits: training upper-left, development lower-right. */
.about-story{grid-template-columns:1fr 1fr;gap:64px 64px;align-items:center}.about-story-training{grid-column:1;grid-row:1}.about-photo-workshop{grid-column:2;grid-row:1}.about-story-development{grid-column:2;grid-row:2;margin:0;padding:0;border:0}.about-photo-team{grid-column:1;grid-row:2;width:100%;margin:0;aspect-ratio:1.42}.about-story .service-label{font-size:16px;letter-spacing:.1em;margin-bottom:20px}.about-story h3{font-size:clamp(32px,3vw,46px);line-height:1.5;margin-bottom:24px}.about-story article>p:not(.service-label){font-size:clamp(18px,1.5vw,21px);line-height:1.9;max-width:560px;margin-bottom:16px}.about-story article>p:last-child{margin-bottom:0}
@media(max-width:1100px) and (min-width:801px){.about-story{gap:48px 38px}.about-story h3{font-size:32px}.about-story article>p:not(.service-label){font-size:18px}}
@media(max-width:800px){.about-story{gap:30px}.about-story-training{order:0}.about-photo-workshop{order:1}.about-story-development{order:3;margin-top:10px}.about-photo-team{order:4;width:95%;margin:0 auto}.about-story .service-label{font-size:15px;margin-bottom:14px}.about-story h3{font-size:clamp(30px,7.6vw,40px);margin-bottom:20px}.about-story article>p:not(.service-label){font-size:17px;line-height:1.9}.about-photo-workshop,.about-photo-team{aspect-ratio:1.4}}

/* Proof areas: footage, cases, voices and delivery conditions. */
.training-atmosphere{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;margin-top:85px;padding-top:55px;border-top:1px solid var(--line)}.atmosphere-copy h3{font-size:clamp(28px,2.7vw,40px);margin-bottom:20px}.atmosphere-copy>p:last-child{font-size:18px;line-height:1.9;max-width:440px;margin:0}.media-slot{background:#e9e5de;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#626363;min-width:0;text-align:center}.media-slot>span:not(.slot-mark){font-size:17px;font-weight:600}.slot-mark{font-size:35px;line-height:1.2;color:#8b8882}.media-slot small{font-size:12px}.training-video-slot{aspect-ratio:16/9}.cases{background:#eeebe5}.case-list{border-top:1px solid var(--ink)}.case-story{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:55px 0;border-bottom:1px solid var(--ink);align-items:start}.case-media{aspect-ratio:4/3;background:#e2ddd4}.case-content h3{font-size:clamp(25px,2.5vw,36px);margin-bottom:14px}.case-company{font-size:13px;color:var(--muted);margin-bottom:26px}.case-facts{margin:0}.case-facts>div{display:grid;grid-template-columns:100px 1fr;gap:22px;padding:16px 0;border-top:1px solid var(--line)}.case-facts dt{font-size:13px;font-weight:700}.case-facts dd{font-size:16px;line-height:1.85;margin:0}.case-voice{margin-top:22px;padding:22px 26px;background:var(--paper);border-left:3px solid #30a4bd}.case-voice .service-label{font-size:13px;margin-bottom:12px}.case-voice>p:not(.service-label){font-size:17px;line-height:1.8;margin-bottom:12px}.case-voice small{font-size:12px;color:var(--muted)}.delivery-conditions{margin-top:50px;padding-top:30px;border-top:1px solid var(--ink)}.delivery-conditions h3{font-size:27px;margin-bottom:25px}.delivery-conditions dl{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:0}.delivery-conditions dt{font-size:14px;font-weight:700;margin-bottom:10px}.delivery-conditions dd{font-size:16px;line-height:1.85;margin:0}.delivery-conditions>p{font-size:12px;color:var(--muted);margin:22px 0 0}
@media(max-width:1100px){.case-story{gap:35px}.case-facts>div{grid-template-columns:80px 1fr;gap:16px}.training-atmosphere{gap:36px}}
@media(max-width:800px){.training-atmosphere{grid-template-columns:1fr;gap:28px;margin-top:50px;padding-top:35px}.atmosphere-copy h3{font-size:28px}.atmosphere-copy>p:last-child{font-size:17px}.case-story{grid-template-columns:1fr;gap:28px;padding:35px 0}.case-content h3{font-size:28px}.case-facts>div{grid-template-columns:1fr;gap:8px}.case-facts dd{font-size:16px}.case-voice{padding:20px}.delivery-conditions dl{grid-template-columns:1fr 1fr;gap:28px 22px}.delivery-conditions h3{font-size:24px}.delivery-conditions dd{font-size:15px}}

/* Vivid chapter accents, white reading surfaces, editorial customer voices. */
:root{--paper:#fffefa;--warm:#eef3ff}.members{background:#fffefa}.about-ink{inset:24% 0 0;opacity:.15;mask-image:none}.about-ink img{object-position:center bottom}.about-ink video{width:85%;object-position:right bottom}.about-ink-video-right{right:-12%}.about-ink-video-left{left:-12%;transform:scaleX(-1);mask-image:linear-gradient(90deg,transparent,#000 55%)}.about-title-wrap{background-image:linear-gradient(105deg,#ffde48 5%,#d8ed70 47%,#55d6d1 100%)}.cases{background:#fffefa}.cases h2,.programs h2{width:fit-content;max-width:100%;padding:22px 32px;margin-left:-12px;transform:rotate(-1deg);background:#65d9c7}.programs h2{background:#ffb08a;transform:rotate(1deg)}.motion-ready .cases h2::after,.motion-ready .programs h2::after{display:none}.case-media{background:#dcece8}.case-story:nth-child(2) .case-media{background:#e5e9fa}.case-voice{grid-column:1/-1;position:relative;margin:0;padding:28px 0 0 74px;border:0;border-top:1px solid var(--line);background:transparent}.case-voice::before{content:'“';font-family:Georgia,serif;font-size:100px;line-height:1;color:#2aa891;position:absolute;left:0;top:17px}.case-voice .service-label{font-size:12px;letter-spacing:.08em}.case-voice>p:not(.service-label){font-size:clamp(22px,2.3vw,32px);font-weight:600;line-height:1.7;max-width:1000px;margin:0 0 14px}.case-voice small{display:block;text-align:right;color:var(--muted)}.case-story{row-gap:34px}.training-watch{display:flex;align-items:center;width:100%;max-width:450px;gap:20px;background:transparent;border:0;padding:0;margin-top:26px;text-align:left;color:var(--ink)}.training-watch-thumb{position:relative;display:block;width:140px;aspect-ratio:16/10;overflow:hidden;flex:none}.training-watch-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.training-watch:hover img{transform:scale(1.07)}.training-watch-thumb>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fffefae8;font-size:23px;color:#151718}.training-watch-label{font-size:17px;font-weight:700;border-bottom:2px solid #151718;padding:10px 0;flex:1}.training-watch-label>span{margin-left:12px}.training-watch-label small{display:block;font-size:10px;font-weight:400;margin-top:6px;color:var(--muted)}.training-movie{border:0;padding:0;width:min(900px,calc(100% - 32px));max-height:90svh;background:var(--paper);color:var(--ink)}.training-movie::backdrop{background:#151718b8;backdrop-filter:blur(5px)}.training-movie-inner{padding:36px;position:relative}.training-movie-close{position:absolute;top:10px;right:12px;min-width:44px;min-height:44px;background:transparent;border:0;font-size:30px}.training-movie h2{font-size:28px}.training-movie img,.training-movie video{display:block;width:100%;max-height:60svh;object-fit:contain}.training-movie [hidden]{display:none}.training-movie-note{font-size:13px;color:var(--muted);margin:18px 0 0}
@media(max-width:800px){.about-ink{inset:20% 0 0;opacity:.12}.cases h2,.programs h2{padding:20px;margin-left:-8px;font-size:clamp(27px,6vw,38px)}.case-voice{padding:24px 0 0 40px}.case-voice::before{font-size:70px;top:19px;left:-4px}.case-voice>p:not(.service-label){font-size:22px}.training-watch{gap:15px}.training-watch-thumb{width:115px}.training-watch-label{font-size:16px}.training-movie-inner{padding:28px 20px}.training-movie h2{font-size:24px}}

/* Keep the original soft ABOUT band; remove boxed chapter headings. */
.about-title-wrap{background-image:linear-gradient(110deg,#f1e59d 5%,#e9e4b3 45%,#b8e0dc 100%)}
.cases h2,.programs h2{background:transparent;padding:0;margin-left:0;width:auto;transform:none;font-size:clamp(30px,3.65vw,58px)}
.programs{background:var(--paper)}
@media(max-width:800px){.cases h2,.programs h2{padding:0;margin-left:0;font-size:clamp(30px,3.65vw,58px)}}

/* A centered opening leads into a quieter, continuous reading story. */
.hero-scroll-story{display:grid;grid-template-columns:1fr;height:auto;min-height:0;max-height:none;padding:0;overflow:clip;background:#fffefa}
.hero-scroll-story .hero-art{position:sticky;inset:auto;top:0;height:100svh;margin:0;width:100%;transform:none;z-index:0;grid-area:1/1;align-self:start}
.hero-scroll-story .hero-art img{object-position:center;mix-blend-mode:normal;transform:none;animation:none}
.hero-scroll-story .hero-art::after{content:"";position:absolute;inset:0;background:#fffefa88}
.hero-story{position:relative;z-index:2;pointer-events:none;grid-area:1/1}
.hero-beat{min-height:72svh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:100px 0 120px;position:relative;scroll-margin-top:0}
.hero-opening{min-height:100svh;padding:120px 0 100px}
.hero-scroll-story h1{width:auto;max-width:100%;font-size:clamp(40px,5.7vw,90px);line-height:1.55;letter-spacing:-.05em;margin:0;text-align:center;animation:none}
.hero-story-copy{width:min(820px,100%);font-size:clamp(25px,2.65vw,40px);font-weight:700;line-height:2.1;letter-spacing:-.025em;margin:0;text-wrap:pretty}
.hero-scroll-story .scroll-cue{position:absolute;inset:auto max(30px,5vw) 34px auto;transform:none;margin:0;color:#151718;font-size:13px;letter-spacing:.16em;background:none;border:0;padding:0;white-space:nowrap;z-index:3;gap:18px}
.hero-scroll-story .scroll-cue span{width:2px;height:52px;background:#15171875}
.hero-scroll-story .scroll-cue span::after{width:2px}
@media(max-width:800px){
 .hero-scroll-story .hero-art{order:initial;position:sticky;height:100svh;margin:0;inset:auto;top:0;width:100%}
 .hero-scroll-story .hero-art::after{background:#fffefab0}
 .hero-scroll-story .hero-story{display:block;margin-inline:auto}
 .hero-beat{padding:110px 0 100px;min-height:70svh}
 .hero-opening{min-height:100svh;padding:110px 0 100px}
 .hero-scroll-story h1{font-size:clamp(20px,6.3vw,48px);line-height:1.8;margin:0;width:100%}
 .hero-story-copy{font-size:clamp(20px,4.9vw,28px);line-height:2.15;overflow-wrap:anywhere}
 .hero-scroll-story .scroll-cue{inset:auto 24px 24px auto;font-size:11px;gap:12px}
 .hero-scroll-story .scroll-cue span{height:44px}
}

.hero-scroll-story h1 span{white-space:nowrap}

/* ABOUT has its own brushed pigment flow, distinct from the FV film. */
.about-title-wrap::before{background-image:url('assets/about-paint-flow.jpg');background-position:right center;background-size:78% auto;opacity:.25;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent 15%,#000 65%)}
.about-ink{inset:22% -5% 0;opacity:.13;mask-image:linear-gradient(180deg,#000,transparent 95%)}
.about-ink img{object-position:center;object-fit:cover;transform:translateY(var(--section-shift,0px)) scale(1.03)}
@media(max-width:800px){.about-title-wrap::before{background-size:auto 145%;background-position:65% center;opacity:.22}.about-ink{inset:18% -35% 0;opacity:.1}}
@media(prefers-reduced-motion:reduce){.about-ink img{transform:none}}

/* Quiet ABOUT film and four editable member profiles. */
.about-ink video{width:100%;height:100%;inset:0;object-fit:cover;object-position:center}
.member-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.member-sample-note{font-size:12px;color:var(--muted);margin:-25px 0 30px}
.member .member-role{font-size:12px;font-weight:700;color:var(--ink);margin:0 0 10px}
.member h3{font-size:24px;line-height:1.6}.member h3 small{font-size:12px;font-weight:400}
.member-name-en{display:block;font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--muted);margin-top:4px}
.member-profile{margin:0}.member-profile>div{margin-bottom:20px}.member-profile dt{font-size:12px;font-weight:700;margin-bottom:6px}.member-profile dd{margin:0;font-size:14px;line-height:1.9;color:var(--muted)}
@media(max-width:1100px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}}
@media(max-width:600px){.member-grid{grid-template-columns:1fr;gap:40px}.member .photo-placeholder{aspect-ratio:1.5}.member-profile dd{font-size:15px}}

.member-photo{aspect-ratio:4/5;margin-bottom:24px;overflow:hidden;background:#eeebe5}.member-photo img{display:block;width:100%;height:100%;object-fit:cover}
.case-image{margin:0;position:relative;overflow:hidden;aspect-ratio:4/3}.case-image img{display:block;width:100%;height:100%;object-fit:cover}.case-image figcaption{position:absolute;inset:auto 0 0;padding:10px 14px;background:#fffefaeb;font-size:11px;line-height:1.6;color:var(--muted)}
@media(max-width:600px){.member-photo{aspect-ratio:4/3}.member-photo img{object-position:center 30%}}

.training-movie-details{display:flex;flex-wrap:wrap;gap:16px 32px;margin:0 0 20px}.training-movie-details>div{display:flex;align-items:baseline;gap:12px}.training-movie-details dt{font-size:12px;color:var(--muted)}.training-movie-details dd{font-size:14px;font-weight:600;margin:0}#training-movie-description{font-size:15px;line-height:1.9;margin-bottom:24px}.training-movie-sample{font-size:11px;line-height:1.7;color:var(--muted);margin:14px 0 0}
@media(max-width:600px){.training-movie-details{gap:8px 20px}#training-movie-description{font-size:14px}.training-movie-details dd{font-size:13px}}
.training-movie img,.training-movie video{max-height:38svh}

/* Make the two ABOUT services recognizable before reading their details. */
/* Video takes the full width; event information stays compact. */
.training-movie{width:min(1200px,calc(100% - 32px),calc((92svh - 110px)*16/9));max-height:94svh;overflow:auto}
.training-movie-inner{padding:0}
.training-movie-header{padding:16px 66px 14px 22px}
.training-movie h2{font-size:clamp(16px,1.6vw,22px);line-height:1.4;margin:0 0 8px;letter-spacing:0}
.training-movie h2::after{display:none}
.training-movie-details{gap:8px 24px;margin:0}
.training-movie-details>div{gap:8px}
.training-movie-media{position:relative;width:100%;aspect-ratio:16/9;background:#101112}
.training-movie .training-movie-media img,.training-movie .training-movie-media video,.training-movie .training-movie-media iframe{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;border:0}
.training-movie .training-movie-media [hidden]{display:none}
.training-movie-close{top:12px;right:12px}
@media(max-width:600px){.training-movie{width:calc(100% - 20px)}.training-movie-header{padding:14px 54px 12px 14px}.training-movie h2{font-size:16px}.training-movie-details dt{font-size:10px}.training-movie-details dd{font-size:12px}.training-movie-close{top:6px;right:5px}}

/* Give the closing message and section transitions room to breathe. */
.hero-ending{min-height:calc(72svh + 140px);padding-bottom:260px}
.about-scene{padding-top:160px;padding-bottom:180px}
@media(max-width:800px){.hero-ending{min-height:calc(70svh + 80px);padding-bottom:180px}.about-scene{padding-top:100px;padding-bottom:110px}}

/* ABOUT unfolds as two generous scenes, with shaped monochrome title strips. */
.about-title-wrap{margin-bottom:clamp(160px,22svh,240px)}
.about-story{row-gap:clamp(180px,28svh,320px);align-items:center}
.about-story-training,.about-story-development{padding-block:36px;margin:0;border:0}
.about-service-heading{position:relative;isolation:isolate;display:block;width:fit-content;min-width:290px;padding:20px 48px 24px 32px;margin:0 0 42px;color:#fffefa;transform:rotate(-2deg)}
.about-service-heading::before{content:"";position:absolute;inset:0;z-index:-1;background:#151718;clip-path:polygon(2% 4%,96% 0,100% 89%,5% 100%,0 21%)}
.about-service-heading>span{display:flex;align-items:center;gap:24px;transform:rotate(2deg)}
.about-service-heading strong{font-size:clamp(44px,4.4vw,66px);line-height:1.15;letter-spacing:.06em}
.about-service-heading small{font-size:11px;font-weight:600;letter-spacing:.18em;writing-mode:vertical-rl;line-height:1}
.about-story-development .about-service-heading{transform:rotate(2deg)}
.about-story-development .about-service-heading::before{clip-path:polygon(0 7%,97% 0,94% 100%,3% 93%)}
.about-story-development .about-service-heading>span{transform:rotate(-2deg)}
.about-story h3{font-size:clamp(28px,2.65vw,40px);line-height:1.55;margin-bottom:24px}
.about-photo-workshop,.about-photo-team{border-bottom-color:var(--paper)}
.js-motion .about-story-training.reveal,.js-motion .about-story-development.reveal{transform:translateY(55px);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.js-motion .about-story-training.reveal.is-visible,.js-motion .about-story-development.reveal.is-visible{transform:none}
.js-motion .about-service-heading::before{transform:scaleX(.2);transform-origin:left;transition:transform .85s cubic-bezier(.16,1,.3,1)}
.js-motion .about-story-development .about-service-heading::before{transform-origin:right}
.js-motion .is-visible .about-service-heading::before{transform:scaleX(1)}
@media(max-width:800px){.about-title-wrap{margin-bottom:120px}.about-story{gap:36px}.about-story-training,.about-story-development{padding:0}.about-story-development{margin-top:140px}.about-service-heading{min-width:240px;padding:18px 38px 20px 26px;margin-bottom:32px}.about-service-heading strong{font-size:44px}.about-service-heading small{font-size:10px}.about-story h3{font-size:clamp(26px,6.6vw,34px)}}
@media(prefers-reduced-motion:reduce){.js-motion .about-story-training.reveal,.js-motion .about-story-development.reveal{opacity:1;transform:none}.js-motion .about-service-heading::before{transform:none;transition:none}}

/* One shared rhythm for all section boundaries; extra pause only after the FV. */
:root{--section-edge:clamp(100px,9vw,144px)}
main>.section{padding-block:var(--section-edge)}
main>.section>.container>.eyebrow{margin-bottom:36px}
main>.section>.container:last-child> :last-child{margin-bottom:0}
.hero-scroll-story{margin-bottom:100px}
.about-title-wrap{margin-bottom:88px}
.members,.guild{background:#101112;color:#fffefa}
.members .section-intro{max-width:none}
.members .section-intro>span{display:block}
.members .member p,.members .member-profile dd,.members .member-name-en{color:#bfc0c1}
.members .member .member-role{color:#fffefa}
.members .member h3{border-color:#ffffff35}
.members .member-profile{border-color:#ffffff35}
.case-metrics{display:flex;flex-wrap:wrap;gap:22px 36px;margin:28px 0 32px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.case-metrics>div{min-width:0}
.case-metrics span{display:block;font-size:12px;margin-bottom:8px;color:var(--muted)}
.case-metrics strong{display:block;font-size:clamp(32px,3.1vw,48px);line-height:1.2;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.case-metrics small{font-size:14px;font-weight:500;letter-spacing:0;margin-inline:4px}
@media(max-width:800px){:root{--section-edge:88px}.hero-scroll-story{margin-bottom:70px}.about-title-wrap{margin-bottom:64px}main>.section>.container>.eyebrow{margin-bottom:28px}.case-metrics{gap:20px 28px}.case-metrics strong{font-size:36px}.members .section-intro>span{display:inline}.members .section-intro>span+span::before{content:' '}}

.case-metrics{border-bottom:0;padding-bottom:0;margin-bottom:24px}
.program-footer{justify-content:center;text-align:center;margin-top:56px}
.c-art{width:88%;margin-inline:auto;background-image:none;mask-image:radial-gradient(ellipse 65% 65% at center,#000 65%,transparent 99%);overflow:hidden}
.c-art svg{display:block;width:100%;height:100%;overflow:hidden}
@media(max-width:800px){.program-footer{align-items:center}.program-footer .button{max-width:100%;white-space:normal}}

.three-c-heading{display:flex;align-items:baseline;gap:20px;font-size:clamp(16px,1.7vw,24px);letter-spacing:0;margin:56px 0 32px}.three-c-heading span{font-size:clamp(36px,4vw,56px);font-weight:800;letter-spacing:-.04em;line-height:1}
@media(max-width:600px){.three-c-heading{gap:14px;font-size:14px;margin-top:40px}.three-c-heading span{font-size:36px}}

/* A single connected paint composition spans all three values. */
.three-c-flow{margin:16px 0 clamp(-180px,-13vw,-100px);width:100%;overflow:hidden}
.three-c-flow img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}
.three-c{margin-top:0;gap:40px}
.c-stage:not(:last-child)::after{content:none}
@media(max-width:800px){.three-c-flow{width:calc(100% + 24px);margin:12px -12px 36px}.three-c{gap:48px}.c-stage{max-width:none;text-align:left}.c-stage h3{font-size:32px}.c-japanese{font-size:20px}.c-stage>p:last-child{margin-bottom:0}.motion-ready .c-stage::before{left:0;width:100px}}

.three-c{position:relative;z-index:2}
.c-stage h3{font-size:clamp(24px,2.5vw,40px)}
.c-stage>p:last-child{margin-top:clamp(60px,7vw,112px)}
.guild .c-stage h3,.motion-ready .guild.is-in-view .c-stage h3{animation:none;color:inherit;transform:none}
.guild .c-stage::before{display:none}
@media(max-width:800px){.three-c-flow{margin-bottom:32px}.c-stage h3{font-size:32px}.c-stage>p:last-child{margin-top:18px}}

.motion-ready .guild .c-stage.is-current h3{color:#fffefa}.guild .c-stage h3,.guild .c-japanese{text-shadow:0 2px 12px #000b}

.motion-ready .guild .c-stage h3{animation:none!important;color:#fffefa!important;transform:none!important}.motion-ready .guild .c-stage::before{display:none!important}

/* 職種ごとの活用内容 */
.benefits-by-role{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px;position:relative;z-index:1}
.benefit-photo{aspect-ratio:3/2;background-image:url('assets/benefit-work-scenes.jpg');background-size:300% 200%;background-repeat:no-repeat;margin-bottom:24px}
.benefit-photo-sales{background-position:0 0}.benefit-photo-office{background-position:50% 0}.benefit-photo-admin{background-position:100% 0}.benefit-photo-marketing{background-position:0 100%}.benefit-photo-shop{background-position:50% 100%}.benefit-photo-support{background-position:100% 100%}
.benefit-role h3{font-size:clamp(22px,2.1vw,30px);margin:0 0 10px;line-height:1.5}
.benefit-role>p{font-size:clamp(16px,1.4vw,20px);line-height:1.8;margin:0;color:#ffffffbc}
.case-voice{display:grid;grid-template-columns:160px minmax(0,1fr);gap:36px;padding:32px 0 0;align-items:start}
.case-voice::before{display:none}
.case-voice-photo{width:100%;aspect-ratio:1;background-image:url('assets/customer-voice-portraits.jpg');background-size:200% 100%;background-repeat:no-repeat}
.case-voice-photo-training{background-position:left center}.case-voice-photo-development{background-position:right center}
.case-voice-copy>p:not(.service-label){font-size:clamp(22px,2.3vw,32px);font-weight:600;line-height:1.7;max-width:1000px;margin:0 0 14px}
.guild-message{font-size:clamp(22px,2.5vw,36px);line-height:1.8}
@media(max-width:767px){.benefits-by-role{grid-template-columns:1fr;gap:44px}.benefit-photo{margin-bottom:20px}.benefit-role h3{font-size:24px}.case-voice{grid-template-columns:1fr;gap:20px;padding:24px 0 0}.case-voice-photo{width:112px}.case-voice-copy>p:not(.service-label){font-size:22px}.guild-message{font-size:22px}.guild-message br{display:none}}
.contact-paint{height:auto;aspect-ratio:3/2;background:url('assets/contact-paint-brush-v2.jpg') center/contain no-repeat;mask-image:radial-gradient(ellipse 72% 66% at center,#000 44%,transparent 100%);margin:12px 0 0;max-width:560px}
.flow-list{margin-bottom:0}
.faq-section{border-top:1px solid var(--line)}
.faq-section>.container{max-width:1000px}
.faq-section .faq{margin-top:48px}
.about-story{row-gap:clamp(56px,8svh,96px)}
.hero-scroll-story .hero-art::after{background:radial-gradient(ellipse 70% 52% at 50% 50%,#fffefa70 0%,#fffefa24 65%,transparent 100%)}
.hero-scroll-story h1,.hero-story-copy{color:#151718;-webkit-text-stroke:1px #fffefa;paint-order:stroke fill;text-shadow:0 0 6px #fffefa,0 0 18px #fffefae0,0 2px 30px #fffefab0}
.hero-scroll-story .scroll-cue{color:#151718}.hero-scroll-story .scroll-cue span{background:#15171860}.hero-scroll-story .scroll-cue span::after{background:#151718}
.benefits-by-role{gap:48px 40px}
.benefit-role{display:grid;grid-template-columns:148px minmax(0,1fr);gap:24px;align-items:start}
.benefit-photo{aspect-ratio:1;margin:0}
.benefit-role h3{font-size:clamp(20px,1.8vw,26px);margin:0 0 8px}
.benefit-role-lead{font-size:16px;font-weight:700;line-height:1.7;margin:0 0 16px;color:#fffefa}
.benefit-role ul{margin:0;padding-left:1.1em;color:#ffffffbd;font-size:14px;line-height:1.85}.benefit-role li+li{margin-top:5px}
@media(max-width:1100px){.benefit-role{grid-template-columns:112px minmax(0,1fr);gap:20px}}
@media(max-width:800px){.about-story{gap:30px}.about-story-development{margin-top:36px}}
@media(max-width:767px){.benefits-by-role{gap:40px}.benefit-role{grid-template-columns:88px minmax(0,1fr);gap:18px}.benefit-role h3{font-size:20px}.benefit-role-lead{font-size:15px}.benefit-role ul{font-size:14px}.hero-scroll-story .hero-art::after{background:radial-gradient(ellipse 110% 65% at 50% 50%,#fffefa80 0%,#fffefa30 65%,transparent 100%)}}
.hero-mobile-break{display:none}
.contact,.benefits{isolation:isolate;position:relative;overflow:hidden}
.contact::before,.benefits::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/paint-expansive-background.jpg') center/cover no-repeat}
.contact::before{opacity:.52}
.contact-grid{position:relative;z-index:1}
.contact-form input,.contact-form textarea{background:#151718b8;backdrop-filter:blur(12px)}
.benefits::before{opacity:.21;background-position:center bottom;transform:scaleX(-1);mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 80%,transparent)}
.three-c-layout{position:relative}
@media(max-width:800px){
 .three-c-layout{margin:0 -24px;padding:0 24px;isolation:isolate;overflow:hidden}
 .three-c-layout .three-c-flow{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:-1;opacity:.75}
 .three-c-flow picture{display:block;height:100%}
 .three-c-layout .three-c-flow img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
 .three-c-layout::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101212c7,#10121250 65%,transparent)}
 .three-c-layout .three-c{gap:0}
 .three-c-layout .c-stage{min-height:310px;padding:36px 0;display:flex;flex-direction:column;justify-content:center;text-shadow:0 2px 12px #000}
 .three-c-layout .c-stage h3{font-size:36px}
 .three-c-layout .c-stage>p:last-child{margin-top:22px;color:#f4f4f4}
}
@media(max-width:600px){
 .hero-mobile-break{display:block}
 .hero-scroll-story .hero-opening{padding:100px 0 75px}
 .hero-scroll-story h1{font-size:clamp(48px,17.5vw,96px);line-height:1.24;letter-spacing:-.05em;text-align:left;width:100%}
 .hero-scroll-story h1 span{white-space:normal}
 .hero-scroll-story .hero-story-copy{font-size:clamp(28px,8.7vw,46px);line-height:1.6;text-align:left;letter-spacing:-.045em}
 .hero-story-copy .hero-copy-line{display:block}
 .hero-story-copy .hero-copy-break{display:none}
 .hero-scroll-story .hero-beat:not(.hero-opening){min-height:100svh;padding:110px 0 80px}
 .contact::before{background-position:55% center;opacity:.42}
}
.people-title-band{position:relative;isolation:isolate;width:calc(100vw + 24px);margin:0 0 64px calc(50% - 50vw - 12px);padding:34px calc(var(--space) + 12px) 38px;transform:rotate(-1.5deg);color:#151718;background:linear-gradient(110deg,#c6e8de 5%,#cee7e1 45%,#f1d5bd 100%)}
.people-title-band::before{content:"";position:absolute;inset:0;z-index:-1;background:url('assets/about-paint-flow.jpg') right center/78% auto no-repeat;opacity:.25;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent 15%,#000 65%)}
.people-band-content{max-width:var(--content);margin:auto;transform:rotate(1.5deg)}
.people-title-band h2{position:relative;color:#151718;font-size:clamp(34px,4.7vw,72px);line-height:1.35;letter-spacing:-.045em;margin:0}
.people-title-band h2>span{font-size:.63em}
.section .people-title-band h2::after{display:none!important}
.band-key-phrase{display:inline-block;font-weight:inherit}
.vision-title-band{background:linear-gradient(110deg,#d8d0ee 5%,#d8daee 45%,#b8e0dc 100%)}
@media(max-width:800px){.people-title-band{padding:25px calc(var(--space) + 12px) 30px;margin-bottom:42px}.people-title-band h2{font-size:clamp(28px,7.5vw,44px);line-height:1.5}.people-title-band h2>span{font-size:.8em}.people-title-band::before{background-size:auto 145%;background-position:65% center;opacity:.22}}

/* Approved focus and brush highlight proposal, with existing mobile typography. */
.hero-scroll-story{--focus:.8}
.hero-scroll-story .hero-art::after{background:transparent}
.hero-scroll-story h1,.hero-scroll-story .hero-story-copy{color:#fff;-webkit-text-stroke:0;text-shadow:none}
.hero-scroll-story h1{font-size:clamp(34px,5.4vw,86px);line-height:1.75;letter-spacing:-.04em;text-align:center}
.hero-scroll-story .hero-story-copy{font-size:clamp(20px,2.5vw,38px);line-height:2.25;letter-spacing:-.02em;text-align:center}

.hero-mark{position:relative;display:inline-block;isolation:isolate;color:#fff;padding:.04em .55em .1em;white-space:nowrap;margin:0 .1em}
.hero-mark::before{content:"";position:absolute;z-index:-1;inset:.27em -.3em .15em;background:var(--ink);transform:rotate(var(--r,0deg));clip-path:var(--clip,none);filter:url(#brush-a)}
.hero-mark:nth-of-type(2n)::before{filter:url(#brush-b)}
.hero-mark:nth-of-type(3n)::before{filter:url(#brush-c)}

.hero-scroll-story h1 .hero-mark{display:inline-block}
.hero-scroll-story h1 .hero-mark-line{display:inline;white-space:inherit}
@media(max-width:800px){
 .hero-scroll-story h1{width:100%;font-size:clamp(20px,6.3vw,48px);line-height:1.8}
 .hero-scroll-story .hero-story-copy{font-size:clamp(20px,4.9vw,28px);line-height:2.15}
 .hero-mark{max-width:100%;padding-inline:.1em;white-space:normal;overflow-wrap:anywhere}
}

@media(max-width:380px){.hero-story{width:calc(100% - 40px)}}
@media(max-width:600px){
  .hero-scroll-story h1{width:100%;font-size:clamp(48px,17.5vw,96px);line-height:1.24;letter-spacing:-.05em;text-align:left}
  .hero-scroll-story .hero-story-copy{font-size:clamp(28px,8.7vw,46px);line-height:1.6;letter-spacing:-.045em;text-align:left;font-weight:700}
  .hero-scroll-story .hero-opening{padding:100px 0 75px}
  .hero-scroll-story .hero-beat:not(.hero-opening){min-height:100svh;padding:110px 0 80px}
  .hero-mark{display:contents;white-space:normal}
  .hero-mark::before,.hero-desktop-break{display:none}
  .hero-mark-line{display:block;position:relative;isolation:isolate;width:fit-content;max-width:100%;white-space:nowrap}
  .hero-mark-line::before{content:"";position:absolute;z-index:-1;inset:.08em -.09em .04em;background:var(--ink);transform:rotate(var(--r,0deg));clip-path:var(--clip,none);filter:url(#brush-a)}
  .hero-mark:nth-of-type(2n) .hero-mark-line::before{filter:url(#brush-b)}
  .hero-mark:nth-of-type(3n) .hero-mark-line::before{filter:url(#brush-c)}
}

@media(max-width:600px){
 .hero-scroll-story h1 .hero-mark{display:contents;white-space:normal}
 .hero-scroll-story h1 .hero-mark-line{display:block;white-space:nowrap}
}

/* Mobile consultation action follows the surface under the button. */
.mobile-contact-cta{display:none}
@media(max-width:800px){
 .mobile-contact-cta{position:fixed;z-index:19;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:calc(100% - 48px);max-width:400px;min-height:56px;display:flex;padding:15px 24px;justify-content:space-between;background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 4px 20px #0003;transition:background .2s,color .2s,border-color .2s}
 .mobile-contact-cta.is-over-dark{background:var(--paper);color:var(--ink);border-color:var(--paper)}
 .mobile-contact-cta:hover{transform:translateX(-50%);box-shadow:0 4px 20px #0003}
 .mobile-contact-cta[hidden]{display:none}
 .site-footer{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
}

/* Give the brush highlights breathing room without changing text size or line breaks. */
.hero-mark::before{left:-.42em;right:-.42em}
.hero-mark.ends-with-punctuation::before{right:-.3em}
@media(max-width:600px){
 .hero-mark-line::before{left:-.28em;right:-.28em}
 .hero-mark-line.ends-with-punctuation::before{right:-.09em}
}

/* Copy lines: keep brush cuts small at every line width so they do not eat the margin. */
@media(max-width:600px){
 .hero-story-copy .hero-mark-line{margin-left:-16px;padding-left:var(--brush-left,16px)}
 .hero-story-copy .hero-mark-line::before{
  left:0;right:calc(-1 * var(--brush-right,16px));
  clip-path:polygon(2px 10%,6px 0,55% 4%,calc(100% - 5px) 0,100% 15%,calc(100% - 4px) 50%,100% 90%,calc(100% - 6px) 100%,45% 96%,3px 100%,0 85%,4px 50%);
 }
}

/* Voices: wide stacked cards, one comment at a time, next cards waiting behind. */
.voices{margin-top:48px}.voices-stage{display:grid;margin:0;padding:0 156px;list-style:none;outline:0}.voices-stage:focus-visible{outline:2px solid var(--ink);outline-offset:8px}
.voice-card{grid-area:1/1;display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;min-height:340px;padding:clamp(28px,4vw,52px);background:#f4f0e7;border-top:6px solid #65d9c7;box-shadow:0 18px 40px -22px #15171859;transform-origin:left center;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .45s,filter .45s;transform:translateX(calc(var(--pos,0)*32px)) scale(1,calc(1 - var(--abs,0)*.08));z-index:calc(10 - var(--abs,0));opacity:1;filter:brightness(calc(1 - var(--abs,0)*.035));will-change:transform}
.voice-card:nth-child(3n+2){border-top-color:#ffb08a}.voice-card:nth-child(3n){border-top-color:#ffde48}
.voice-card[data-state="behind"]{pointer-events:none}.voice-card[data-state="hidden"]{opacity:0;pointer-events:none}
.voice-card[data-state="behind"] blockquote,.voice-card[data-state="behind"] .voice-face{opacity:.55}
.voice-face{width:100%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;background:#f7f3ea;transition:opacity .4s}.voice-card blockquote{margin:0;position:relative;transition:opacity .4s}.voice-card blockquote::before{content:'\201C';font-family:Georgia,serif;font-size:90px;line-height:.7;color:#2aa891;display:block;margin-bottom:6px}.voice-card blockquote p{font-size:clamp(20px,2.3vw,30px);font-weight:600;line-height:1.75;margin:0 0 20px}.voice-card footer{font-size:13px;color:var(--muted)}
.voices{position:relative}.voices-next{position:absolute;right:0;top:50%;transform:translateY(-50%);width:68px;height:68px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;z-index:20;filter:drop-shadow(0 10px 14px #15171826);transition:transform .25s}.voices-next svg{display:block;width:100%;height:100%;overflow:visible}.voices-next .ring{fill:var(--paper);stroke:currentColor;stroke-width:1.5;transition:fill .25s}.voices-next .tri{fill:currentColor;stroke:currentColor;stroke-width:3.2;stroke-linejoin:round;transition:fill .25s,stroke .25s}.voices-next:hover{transform:translateY(-50%) scale(1.06)}.voices-next:hover .ring{fill:var(--ink)}.voices-next:hover .tri{fill:var(--paper);stroke:var(--paper)}.voices-next:active{transform:translateY(-50%) scale(.97)}.voices-next:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:50%}
.voices-prev{right:auto;left:0}.voices-prev svg{transform:scaleX(-1)}
@media(max-width:767px){.voices-stage{padding:0 34px}.voices .voice-card{padding-bottom:84px}.voices-prev{left:46px;right:auto}.voices-next{top:auto;bottom:18px;right:46px;transform:none;width:52px;height:52px}.voices-next:hover,.voices-next:active{transform:none}.voice-card{grid-template-columns:minmax(96px,140px) minmax(0,1fr);align-items:center;min-height:0;gap:22px;padding:24px}.voice-card blockquote::before{font-size:64px}.voice-card blockquote p{font-size:18px}.voice-card{transform:translateX(calc(var(--pos,0)*16px)) scale(1,calc(1 - var(--abs,0)*.06))}}
@media(prefers-reduced-motion:reduce){.voices-next,.voices-next .ring,.voices-next .tri{transition:none}.voice-card,.voice-face,.voice-card blockquote{transition:none}}

@media(max-width:520px){.voices .voice-card{grid-template-columns:1fr;align-items:start;gap:18px}.voice-face{width:96px;height:96px}}

@media(min-width:768px) and (max-width:1100px){.voices-stage{padding:0 92px}.voices-next{width:56px;height:56px}.voice-card{grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:28px;padding:32px;min-height:300px}}
@media(max-width:400px){.voices-stage{padding:0 26px}.voices .voice-card{padding:20px 18px 80px;gap:14px}.voice-face{width:80px;height:80px}.voice-card blockquote::before{font-size:52px}.voice-card blockquote p{font-size:16px;line-height:1.75;margin-bottom:14px}.voices-prev{left:36px}.voices-next{right:36px}}

/* Responsive fixes: tap targets, small text, 3C legibility on phones. */
@media(min-width:801px){.site-header nav>a:not(.button){display:inline-flex;align-items:center;min-height:44px}.site-header nav>a:not(.button)::after{bottom:8px}}
.back-top{align-items:center;min-height:44px;padding-inline:10px}
.about-service-heading small{font-size:12px}
.benefit-role ul{color:#ffffffe6}
@media(max-width:767px){dt,.program dt{font-size:13px}}
@media(max-width:800px){.three-c-layout .c-stage{background:linear-gradient(90deg,#0b0b0cb8 0,#0b0b0c8c 65%,#0b0b0c26 100%);padding-inline:18px;text-shadow:0 1px 2px #000,0 0 16px #000b}.three-c-layout .c-stage>p:not(.c-japanese),.three-c-layout .c-stage>p:last-child{color:#fff;font-weight:600}}
@media(min-width:801px){.three-c-layout .c-stage{background:radial-gradient(closest-side at 50% 42%,#0b0b0c99 0,#0b0b0c66 45%,transparent 100%);text-shadow:0 1px 2px #000,0 0 18px #000c}.three-c-layout .c-stage>p:not(.c-japanese),.three-c-layout .c-stage>p:last-child{color:#fff;font-weight:600}}
