:root{--black:#050505;--white:#f7f7f4;--gray:#aaa;--line:#d3d3ce;--sans:"DM Sans","Noto Sans JP",sans-serif;--jp:"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--black);font-family:var(--sans);line-height:1.75}a{color:inherit}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:88px;padding:0 4vw;display:flex;align-items:center;color:#fff;border-bottom:1px solid #ffffff33;transition:.3s}.site-header.scrolled,.inner-page .site-header{height:72px;background:#050505f5}.logo{display:flex;align-items:center;text-decoration:none;font-size:24px;font-weight:700;letter-spacing:-1.5px;white-space:nowrap}.logo-symbol{display:inline-block;position:relative;width:30px;height:28px;margin-right:8px;font:16px/1 sans-serif;padding-left:8px}.logo-symbol>i,.logo-symbol>b{position:absolute;font-style:normal;font-weight:400}.logo-symbol i{left:0;bottom:0}.logo-symbol b{right:0;bottom:0}.main-nav{display:flex;margin-left:auto;height:100%}.main-nav>a{display:flex;justify-content:center;flex-direction:column;text-decoration:none;padding:0 23px;font-family:var(--jp);font-size:12px;border-left:1px solid #ffffff20}.main-nav small{font-size:8px;letter-spacing:.12em;color:#888}.header-contact{height:100%;display:flex;align-items:center;text-decoration:none;background:#fff;color:#000;padding:0 27px;font-size:12px;font-weight:700}.header-contact span{margin-left:30px}.menu-button,.mobile-menu{display:none}.hero{min-height:100svh;background:#050505;color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;padding:150px 7vw 110px}#balance-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.82}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,transparent,black)}.hero-content{position:relative;z-index:2;max-width:1000px}.kicker,.section-label{font-size:10px;letter-spacing:.22em;font-weight:700}.hero h1,.split-heading h2,.about-band h2,.cta-section h2,.page-title h1{font-family:var(--jp);font-weight:500;letter-spacing:-.06em;line-height:1.13}.hero h1{font-size:clamp(55px,8.4vw,126px);margin:35px 0}.hero h1 span{-webkit-text-stroke:1px #fff;color:transparent}.hero-copy{font-family:var(--jp);color:#bbb;font-size:clamp(14px,1.3vw,18px)}.arrow-link{display:inline-flex;justify-content:space-between;width:250px;text-decoration:none;border-bottom:1px solid;padding:12px 0;margin-top:28px;font-size:11px;letter-spacing:.1em}.light{color:#fff}.hero-legend{position:absolute;z-index:2;bottom:30px;left:7vw;right:7vw;border-top:1px solid #555;padding-top:16px;display:flex;gap:30px;font-size:9px;letter-spacing:.1em}.hero-legend b{margin-left:auto}.white-section,.black-section,.cta-section{padding:120px 7vw}.black-section{background:#050505;color:#fff}.section-label{margin-bottom:65px;color:#777}.split-heading{display:grid;grid-template-columns:1.1fr .55fr;gap:10vw;align-items:end}.split-heading h2{font-size:clamp(42px,5.3vw,76px);margin:0}.split-heading>p,.lead-copy{font-family:var(--jp);color:#666}.black-section .split-heading>p{color:#999}.concept-diagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.2fr;gap:18px;align-items:center;margin-top:100px;border-block:1px solid var(--line);padding:32px 0}.concept-diagram div{aspect-ratio:1;max-width:160px;border:1px solid #999;border-radius:50%;display:grid;place-items:center;align-content:center}.concept-diagram span{font-size:30px}.concept-diagram p{font-size:9px;letter-spacing:.15em}.concept-diagram i{font-style:normal}.concept-diagram strong{font-size:clamp(18px,2.2vw,32px)}.service-rows{margin-top:80px;border-top:1px solid #444}.service-rows article{display:grid;grid-template-columns:70px 1fr 1fr 30px;gap:20px;align-items:center;padding:26px 5px;border-bottom:1px solid #333;transition:.25s}.service-rows article:hover{padding-left:16px;background:#111}.service-rows span{font-size:10px;color:#777}.service-rows h3{font-family:var(--jp);font-size:21px;margin:0}.service-rows p{color:#888;font-family:var(--jp);font-size:12px}.featured-case{display:grid;grid-template-columns:.85fr 1.15fr;margin-top:85px;border:1px solid #bbb}.case-art{min-height:660px;background:#080808;position:relative;overflow:hidden}.case-art canvas{width:100%;height:100%;position:absolute}.case-art>span{position:absolute;left:35px;bottom:20px;color:#fff;font-size:100px;font-weight:600}.case-detail{padding:60px}.case-detail>p:first-child,.case-cards span{font-size:9px;letter-spacing:.15em;color:#777}.case-detail h3{font-family:var(--jp);font-size:clamp(28px,3.2vw,45px);line-height:1.45;margin:27px 0}.case-detail>p{font-family:var(--jp);color:#676767}.case-detail .case-lead{font-weight:600;color:#111}.case-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:45px;padding-top:30px;border-top:1px solid var(--line);font:12px var(--jp)}.case-columns ul{padding:0;list-style:none}.case-columns li{padding:5px 0}.case-columns li:before{content:"— ";color:#888}.case-cards{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #bbb}.case-cards article{min-height:260px;padding:30px;border-right:1px solid #bbb;border-bottom:1px solid #bbb}.case-cards h3{font:19px var(--jp);margin:45px 0 20px}.case-cards p{font:12px var(--jp);color:#777}.about-band-inner{display:grid;grid-template-columns:1.2fr .5fr;gap:10vw}.about-band h2{font-size:clamp(42px,5.2vw,72px);margin:0}.about-band-inner>div{font-family:var(--jp);color:#aaa}.cta-section{background:#eee}.cta-section h2{font-size:clamp(50px,7vw,100px);margin:20px 0 70px}.mega-link{font:clamp(25px,4.5vw,68px) var(--jp);text-decoration:none;display:flex;justify-content:space-between;border-bottom:2px solid;padding-bottom:25px}.site-footer{background:#050505;color:#fff;padding:70px 7vw 30px;display:grid;grid-template-columns:1fr 1fr auto;gap:60px;align-items:end}.site-footer>div>p,.site-footer>p{font-size:9px;letter-spacing:.12em;color:#777}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:9px 30px}.site-footer nav a{font:11px var(--jp);text-decoration:none;color:#aaa}.reveal{opacity:0;transform:translateY(28px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
.page-hero{background:#050505;color:#fff;padding:180px 7vw 90px;min-height:500px;display:flex;flex-direction:column;justify-content:flex-end}.page-title p{font-size:10px;letter-spacing:.2em;color:#888}.page-title h1{font-size:clamp(55px,8vw,110px);margin:15px 0}.page-title>span{font-family:var(--jp);color:#aaa}.page-content{padding:110px 7vw}.content-narrow{max-width:980px;margin:0 auto}.content-block{padding:75px 0;border-top:1px solid #bbb}.content-block:first-child{border-top:0}.content-block .section-label{margin-bottom:30px}.content-block h2{font:500 clamp(32px,4vw,55px)/1.4 var(--jp);letter-spacing:-.04em}.content-block h3{font:22px var(--jp);margin-top:45px}.content-block p,.policy-content p,.policy-content li{font-family:var(--jp);color:#555}.mission-copy{display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw}.company-table{border-top:1px solid #aaa}.company-row{display:grid;grid-template-columns:220px 1fr;padding:25px 0;border-bottom:1px solid #ccc;font-family:var(--jp)}.company-row b{font-size:12px}.positions{border-top:1px solid #aaa}.position{padding:35px 0;border-bottom:1px solid #bbb}.position summary{cursor:pointer;display:flex;justify-content:space-between;font:600 25px var(--jp);list-style:none}.position summary:after{content:"＋"}.position[open] summary:after{content:"−"}.position-body{max-width:780px;padding-top:30px;font-family:var(--jp);color:#555}.position-body h4{margin:24px 0 5px;color:#111}.benefits{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #bbb}.benefit{padding:25px;min-height:210px;border-right:1px solid #bbb;border-bottom:1px solid #bbb}.benefit span{font-size:32px}.benefit h3{font-size:15px}.benefit p{font-size:11px}.contact-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:10vw}.contact-intro h2{font:38px var(--jp)}.contact-form{border-top:1px solid #aaa}.form-row{padding:26px 0;border-bottom:1px solid #ccc}.form-row label{display:block;font:600 13px var(--jp);margin-bottom:11px}.required{color:#555;font-size:9px;margin-left:8px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #aaa;background:#fff;padding:15px;font:15px var(--jp);border-radius:0}.contact-form textarea{min-height:180px;resize:vertical}.consent{display:flex;gap:10px;align-items:flex-start;font:12px var(--jp)}.consent input{width:auto;margin-top:6px}.submit-button{width:100%;background:#050505;color:#fff;border:0;padding:22px;font:600 14px var(--jp);cursor:pointer;display:flex;justify-content:space-between}.submit-button:disabled{opacity:.5}.form-status{font:13px var(--jp);margin:18px 0}.form-status.success{color:#1c6d38}.form-status.error{color:#a22020}.policy-content{max-width:920px;margin:auto}.policy-content h2{font:24px var(--jp);margin-top:55px}.policy-content li{margin:8px 0}
@media(max-width:820px){.site-header{height:70px;padding:0 22px}.main-nav,.header-contact{display:none}.menu-button{display:flex;margin-left:auto;width:42px;height:42px;border:0;background:none;flex-direction:column;justify-content:center;align-items:center;gap:7px}.menu-button span{width:23px;height:1px;background:#fff}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;inset:70px 0 auto;display:flex;flex-direction:column;gap:17px;padding:30px 22px 40px;background:#050505;transform:translateY(-130%);transition:.3s;z-index:-1}.mobile-menu.open{transform:none}.mobile-menu a{color:#fff;text-decoration:none;font:15px var(--jp)}.hero{padding:130px 24px 110px;min-height:790px}.hero h1{font-size:52px}.hero-copy br{display:none}.hero-legend{left:24px;right:24px;flex-wrap:wrap}.hero-legend b{display:none}.white-section,.black-section,.cta-section,.page-content{padding:80px 24px}.split-heading,.about-band-inner,.mission-copy,.contact-layout{grid-template-columns:1fr;gap:30px}.split-heading h2,.about-band h2{font-size:39px}.concept-diagram{grid-template-columns:1fr auto 1fr}.concept-diagram div:nth-of-type(3),.concept-diagram i:nth-of-type(2),.concept-diagram b{display:none}.service-rows article{grid-template-columns:35px 1fr 20px}.service-rows p{grid-column:2}.featured-case{grid-template-columns:1fr}.case-art{min-height:330px}.case-art>span{font-size:65px}.case-detail{padding:35px 24px}.case-columns,.case-cards{grid-template-columns:1fr}.cta-section h2{font-size:50px}.site-footer{grid-template-columns:1fr}.site-footer nav{grid-template-columns:1fr}.page-hero{padding:140px 24px 60px;min-height:420px}.page-title h1{font-size:52px}.company-row{grid-template-columns:1fr;gap:8px}.benefits{grid-template-columns:1fr 1fr}.position summary{font-size:19px}.contact-intro h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.form-status.toast{position:fixed;z-index:100;right:28px;bottom:28px;max-width:min(520px,calc(100vw - 40px));margin:0;padding:17px 52px 17px 20px;background:#050505;color:#fff;border:1px solid #333;box-shadow:0 16px 50px #0004;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}.form-status.toast:after{content:"×";position:absolute;right:20px;color:#888}.form-status.toast.visible{opacity:1;transform:none}.form-status.toast.error{background:#fff;color:#9b1c1c;border-color:#9b1c1c}@media(max-width:820px){.form-status.toast{right:20px;bottom:20px;left:20px;max-width:none}}

/* Mission and editorial case-study refinements */
.hero-copy strong{color:#fff;font-weight:600}.content-narrow{max-width:1320px}.mission-copy{grid-template-columns:minmax(620px,.95fr) minmax(0,1.05fr);gap:clamp(55px,7vw,120px);align-items:start}.mission-copy h2{font-size:clamp(38px,2.55vw,48px);line-height:1.45;margin:0}.mission-copy h2 span{display:block;white-space:nowrap}.mission-copy>div:last-child{max-width:640px;padding-top:52px}.mission-copy>div:last-child h3{font-size:clamp(18px,1.45vw,23px);line-height:1.65;margin:0 0 22px}.mission-copy>div:last-child p{font-size:clamp(14px,1vw,16px);line-height:2;margin:0 0 20px}.case-slider-head{display:flex;justify-content:space-between;align-items:center;margin-top:75px;border-top:1px solid #aaa;padding-top:18px}.case-slider-head p{font-size:11px;letter-spacing:.18em}.case-slider-head button{width:52px;height:52px;border:1px solid #999;background:transparent;font-size:18px;cursor:pointer;transition:.2s}.case-slider-head button:hover{background:#050505;color:#fff}.case-slider{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:24px max(7vw,calc((100vw - 1460px)/2)) 18px 0}.case-slider::-webkit-scrollbar{display:none}.case-slide{flex:0 0:min(1080px,82vw);min-height:620px;display:grid;grid-template-columns:220px 1fr;border:1px solid #aaa;scroll-snap-align:start;background:#f7f7f4}.case-index{background:#050505;color:#fff;padding:30px;font-size:10px;letter-spacing:.16em;writing-mode:vertical-rl}.case-slide .case-detail{padding:clamp(38px,4.5vw,70px)}.case-slide .case-detail h3{max-width:780px}.case-slide .case-detail>p{max-width:760px}
@media(max-width:1100px) and (min-width:821px){.content-narrow{max-width:100%}.mission-copy{grid-template-columns:minmax(430px,.9fr) 1.1fr;gap:50px}.mission-copy h2{font-size:38px}}
@media(max-width:820px){.mission-copy{grid-template-columns:1fr}.mission-copy h2{font-size:clamp(32px,9vw,42px)}.mission-copy h2 span{white-space:normal}.mission-copy>div:last-child{padding-top:0}.case-slider-head{margin-top:50px}.case-slider{margin-right:-24px;padding-right:24px;gap:14px}.case-slide{flex-basis:88vw;min-height:auto;grid-template-columns:1fr}.case-index{writing-mode:horizontal-tb;padding:18px 22px}.case-slide .case-detail{padding:30px 22px}.case-slide .case-detail h3{font-size:28px}.case-columns{grid-template-columns:1fr}}
