@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');

:root{color:#171b20;background:#fff;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;min-width:320px}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
.skip-link{position:absolute;top:-70px;left:16px;z-index:50;background:#fff;padding:10px 18px;border:2px solid #171b20}
.skip-link:focus{top:16px}

.site-header{position:fixed;z-index:20;top:26px;left:5.6%;right:4.25%;display:flex;align-items:center;gap:40px;height:64px}
.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}
.brand-symbol{position:relative;display:block;overflow:hidden;width:86px;height:64px;flex:none}
.brand-symbol img{position:absolute;width:100%;height:100%;max-width:none;left:0;top:0;object-fit:contain}
.brand-type{display:flex;flex-direction:column;gap:0;white-space:nowrap}
.brand-type strong{font-family:Arial,Helvetica,sans-serif;font-size:24px;font-weight:500;letter-spacing:.07em;line-height:1.18}
.brand-type small{padding-left:10px;font-size:9px;font-weight:600;letter-spacing:.15em;line-height:1.6}
.desktop-nav{display:flex;align-items:center;gap:34px;margin-left:auto}
.desktop-nav a{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.13em;transition:opacity .2s}
.desktop-nav a:hover{opacity:.55}
.menu-button{display:flex;flex-direction:column;justify-content:center;gap:6px;width:36px;height:40px;border:0;background:none;padding:2px;cursor:pointer;flex:none}
.menu-button span{display:block;width:31px;height:2px;background:#151a20;transition:transform .25s,opacity .25s}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(8px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-8px) rotate(-45deg)}
.menu-panel{position:fixed;z-index:19;inset:0;width:100%;height:100svh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:120px max(5%,48px) 45px max(5%,calc(100vw - 480px));background:#fff;color:#171b20}
.menu-panel[hidden]{display:none}
.menu-panel a{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:23px 0;border-bottom:1px solid #d9dcdf;font-size:20px;font-family:Arial,Helvetica,sans-serif;letter-spacing:.1em}
.menu-panel a span{font-family:"Noto Sans JP",sans-serif;font-size:11px;letter-spacing:0}
body.menu-open{overflow:hidden}

.hero{position:relative;isolation:isolate;overflow:hidden;height:clamp(920px,150.06vw,1280px);background:#fff}
.hero-photo,.hero-wash,.hero-ribbons{position:absolute;inset:0;width:100%;height:100%}
.hero-photo{object-fit:cover;object-position:center;z-index:-3}
.hero-wash{z-index:-2;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,.04) 43%,rgba(255,255,255,0) 66%)}
.hero-ribbons{z-index:-1;object-fit:fill;pointer-events:none}
.hero-content{position:relative;margin-left:5.75%;padding-top:219px;max-width:680px}
.hero h1{margin:0;font-size:clamp(36px,5.74vw,57px);font-weight:800;letter-spacing:.045em;line-height:1.42}
.hero-lead{margin:9px 0 0;font-size:clamp(17px,2.55vw,23px);font-weight:500;letter-spacing:.16em;line-height:1.6}
.hero-description{margin:24px 0 0;font-size:16px;font-weight:400;letter-spacing:.035em;line-height:1.85}
.hero-actions{display:flex;gap:13px;margin-top:26px}
.pill{display:flex;align-items:center;justify-content:space-between;width:230px;min-height:64px;padding:10px 24px 10px 33px;border:1.5px solid #1b2025;border-radius:100px;font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.015em;line-height:1.25;transition:transform .2s,box-shadow .2s}
.pill:hover{transform:translateY(-3px);box-shadow:0 8px 16px rgba(0,0,0,.12)}
.pill small{display:block;margin-top:2px;font-family:"Noto Sans JP",sans-serif;font-size:13px;font-weight:600;letter-spacing:0}
.pill-dark{color:#fff;background:#1c2227;box-shadow:0 4px 10px rgba(0,0,0,.14)}
.pill-outline{background:rgba(255,255,255,.78)}
.arrow{font-family:Arial,Helvetica,sans-serif;font-size:29px;font-weight:300;line-height:1}
.business-link{display:inline-flex;gap:16px;align-items:center;margin-top:26px;padding:0 2px 4px;border-bottom:1px solid #252b30;font-size:13px;font-weight:500;letter-spacing:.06em}
.business-link span{font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1}
.scroll-cue{position:absolute;left:5.65%;bottom:141px;display:flex;flex-direction:column;align-items:center;gap:9px;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.22em}
.scroll-cue span{writing-mode:vertical-rl}
.scroll-cue i{display:block;width:1px;height:104px;background:#2a2f35}
.scroll-cue b{font-size:22px;font-weight:400;line-height:1}

.vision-section{position:relative;isolation:isolate;overflow:hidden;height:1280px;background:#fff;color:#fff;scroll-margin-top:0}
.vision-surface,.vision-ribbons{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.vision-surface{z-index:-2;top:-120px;bottom:auto;height:calc(100% + 120px)}
.vision-surface-mobile{display:none}
.vision-ribbons{z-index:-1}
.vision-content{position:relative;width:min(100% - 54px,740px);margin:0 auto;padding-top:105px;text-align:center}
.vision-kicker{display:flex;flex-direction:column;align-items:center;font-family:Arial,Helvetica,sans-serif;letter-spacing:.2em}
.vision-kicker span{font-size:15px;line-height:1.3}
.vision-kicker i{display:block;width:49px;height:1px;margin:7px 0 18px;background:rgba(255,255,255,.92)}
.vision-kicker small{font-size:12px;font-weight:600;letter-spacing:.22em}
.vision-content h2{margin:30px 0 25px;font-size:48px;font-weight:700;letter-spacing:.1em;line-height:1.4}
.vision-text{font-size:17px;font-weight:500;letter-spacing:.055em;line-height:1.78}
.vision-text p{margin:0 0 18px}
.vision-text p:nth-child(3){margin-top:20px}
.vision-text p:nth-child(4){margin-top:29px}
.vision-text p:nth-child(5){margin-top:24px}
.vision-rule{width:110px;height:2px;margin:36px auto 34px;background:rgba(255,255,255,.86)}
.vision-promise{margin:0;font-size:20px;font-weight:700;letter-spacing:.065em;line-height:1.55}
.vision-scroll{position:absolute;left:6.5%;bottom:234px;display:flex;flex-direction:column;align-items:center;gap:9px;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.22em}
.vision-scroll span{writing-mode:vertical-rl}
.vision-scroll i{display:block;width:1px;height:28px;background:#fff}
.vision-scroll b{font-size:22px;font-weight:400;line-height:1}

.block-kicker{display:flex;flex-direction:column;gap:8px;font-family:Arial,Helvetica,sans-serif;letter-spacing:.2em;font-weight:600}
.block-kicker span{font-size:15px}
.block-kicker i{display:block;width:44px;height:1px;background:currentColor;opacity:.7}
.block-kicker small{font-size:12px;letter-spacing:.19em}
.block-kicker-center{align-items:center;text-align:center}
.gradient-title span:nth-child(1){color:#0e78db}.gradient-title span:nth-child(2){color:#0bb6b0}.gradient-title span:nth-child(3){color:#ed3c82}
.services-showcase{position:relative;overflow:hidden;background:#fff;scroll-margin-top:0}
.services-intro{text-align:center;padding:155px 20px 26px}
.services-intro .block-kicker{color:#26323d}
.services-intro h2{margin:29px 0 12px;font-size:clamp(32px,5.8vw,55px);letter-spacing:.045em;line-height:1.4;white-space:nowrap}
.services-intro p{margin:0;font-size:clamp(13px,2.2vw,19px);line-height:1.7;letter-spacing:.02em}
.service-stack{position:relative}
.service-panel{position:relative;overflow:hidden;min-height:890px;padding-bottom:120px;color:#fff;scroll-margin-top:100px}
.service-panel::before{content:"";position:absolute;z-index:1;top:-1px;left:0;width:100%;height:70px;background:url('assets/concave-wave.svg') top center/100% 100% no-repeat;pointer-events:none}
.service-panel::after{content:"";position:absolute;z-index:0;right:-31%;top:-29%;width:85%;aspect-ratio:1;border:46px solid rgba(255,255,255,.14);border-radius:50%;transform:rotate(-25deg);pointer-events:none}
.studio-slide{background:linear-gradient(145deg,#087be8 0%,#056cdf 52%,#0063d2 100%)}
.studio-slide::after{display:none}
.studio-ribbons,.reel-ribbons,.call-ribbons{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.reel-slide{background:radial-gradient(circle at 90% 12%,#84dad6 0%,transparent 33%),radial-gradient(circle at 31% 55%,#069d9d 0%,transparent 47%),linear-gradient(135deg,#28c4c6 0%,#09b7b8 60%,#26bcbf 100%)}
.reel-slide::before{background-image:url('assets/concave-wave-blue.svg')}
.call-slide{background:radial-gradient(circle at 92% 8%,#ff8ab7 0%,transparent 42%),radial-gradient(circle at 96% 65%,#ff83b2 0%,transparent 35%),linear-gradient(150deg,#f05d90 0%,#e94782 58%,#ef578f 100%)}
.call-slide::before{background-image:url('assets/concave-wave-teal.svg')}
.reel-slide::after{display:none}
.call-slide::after{display:none}
.service-panel-content{position:relative;z-index:2;width:min(100% - 90px,1100px);margin:0 auto;padding-top:89px}
.service-panel-number{display:flex;align-items:center;gap:22px;font-family:Arial,Helvetica,sans-serif;font-size:58px;font-weight:300;line-height:1}
.service-panel-number i{display:block;width:50px;height:1px;background:rgba(255,255,255,.8)}
.service-panel-label{margin:22px 0 27px;font-family:Arial,Helvetica,sans-serif;font-size:20px;letter-spacing:.22em}
.service-panel-logo{width:245px;aspect-ratio:2.12;overflow:hidden;margin:20px 0 29px;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.service-panel-logo img{width:100%;height:100%;object-fit:cover}
.service-panel-logo-studio img{object-fit:contain}
.service-panel-logo-call img{object-position:center 52%}
.service-panel h3{position:relative;z-index:2;margin:0;font-size:clamp(65px,12.8vw,104px);font-weight:700;letter-spacing:.02em;line-height:1.06}
.service-panel-description{position:relative;z-index:2;margin:33px 0 0;font-size:20px;font-weight:400;letter-spacing:.04em;line-height:1.69}
.outline-action{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;width:min(320px,100%);min-height:62px;margin-top:28px;padding:10px 27px 10px 33px;border:1.5px solid #fff;border-radius:100px;color:#fff;font-size:15px;font-weight:600;transition:background .2s,color .2s}
.outline-action:hover{background:#fff;color:#17242c}
.outline-action span{font-family:Arial,Helvetica,sans-serif;font-size:29px;font-weight:300;line-height:1}
.service-next{position:absolute;z-index:3;right:7%;bottom:45px;display:flex;flex-direction:column;gap:10px;align-items:center;font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.12em}
.service-next span{writing-mode:vertical-rl}
.service-next i{display:block;width:1px;height:55px;background:currentColor}

.spectrum-text{background:linear-gradient(90deg,#087ce8 0%,#14bbc4 30%,#61bf5a 48%,#f3c334 66%,#f6784a 82%,#ed3d86 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.how-section{position:relative;overflow:hidden;min-height:1080px;padding:135px 0 70px;background:radial-gradient(circle at 113% 35%,rgba(115,198,230,.14),transparent 30%),#fff;scroll-margin-top:0}
.how-section::after{content:"";position:absolute;z-index:0;right:-25%;top:9%;width:57%;height:55%;border:50px solid rgba(145,202,247,.12);border-left-color:rgba(103,222,183,.13);border-radius:50%;transform:rotate(-22deg);pointer-events:none}
.how-inner{position:relative;z-index:1;width:min(calc(100% - 80px),1100px);margin:auto}
.how-section .block-kicker{gap:7px;color:#182233}
.how-section h2{margin:25px 0 22px;font-size:clamp(38px,6vw,72px);font-weight:700;letter-spacing:.015em;line-height:1.18}
.how-lead{margin:0;font-size:clamp(17px,2.35vw,23px);font-weight:700;line-height:1.55}
.how-description{margin:15px 0 0;font-size:clamp(14px,1.7vw,18px);line-height:1.6}
.device-crop{position:relative;overflow:hidden;width:min(calc(100% + 44px),820px);aspect-ratio:592/410;margin:12px 0 20px -22px}
.device-crop img{display:block;width:100%;max-width:none;transform:translateY(-38.7%)}
.how-subtitle{margin:23px 0 25px;text-align:center;font-size:17px;letter-spacing:.03em}
.how-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.how-column{min-height:226px;padding:3px 25px 0 26px;border-left:1px solid #e1e5e8}
.how-column:first-child{padding-left:0;border-left:0}
.how-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:25px}
.how-icon svg{width:29px;height:29px;fill:currentColor}
.actor-icon{background:#1687eb}.agency-icon{background:#12b8ad}.production-icon{background:#ed478c}
.how-column small{display:block;margin-top:10px;color:#1687eb;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.12em}
.how-column:nth-child(2) small{color:#12b8ad}.how-column:nth-child(3) small{color:#ed478c}
.how-column h4{min-height:52px;margin:7px 0 8px;font-size:18px;line-height:1.35}
.how-column p{margin:0;font-size:12px;line-height:1.6}
.center-scroll{display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;margin:28px auto 0;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.13em}
.center-scroll span{font-size:34px;line-height:.8}

.works-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 47% 106%,#182632 0%,transparent 36%),linear-gradient(145deg,#10161b,#080e12 75%);color:#fff;scroll-margin-top:0}
.works-ribbons{position:absolute;right:0;top:0;width:min(100%,900px);height:100%;max-width:none;object-fit:fill;pointer-events:none;animation:works-ribbon-drift 14s ease-in-out infinite alternate}
.works-inner{position:relative;width:min(calc(100% - 80px),1050px);margin:auto;padding:150px 0 100px}
.works-section .block-kicker{color:#eee}
.works-heading-row{position:relative}
.works-heading-row h2{margin:25px 0 15px;font-size:clamp(42px,6.8vw,72px);letter-spacing:.025em;line-height:1.15}
.works-heading-row .spectrum-text{background:linear-gradient(90deg,#087fdd,#6bc1ea);-webkit-background-clip:text;background-clip:text}
.works-side-note{display:none;position:absolute;right:1%;top:183px;color:#bfc5cb;font-size:12px;line-height:1.65;letter-spacing:.04em}
.works-description{margin:0 0 25px;font-size:clamp(14px,1.9vw,19px);line-height:1.5;letter-spacing:.03em}
.reel-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;margin-top:26px}
.reel-thumb{position:relative;overflow:hidden;width:100%;aspect-ratio:516/203;border-radius:9px;background:#36424d}
.reel-thumb img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.reel-duration{position:absolute;z-index:1;right:0;bottom:0;min-width:55px;padding:5px 6px;background:rgba(3,8,14,.9);color:#fff;text-align:center;font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.03em;line-height:1.2}
.reel-play{position:absolute;z-index:2;inset:0;display:block;border-radius:inherit;cursor:pointer;transition:background .25s ease,box-shadow .25s ease}
.reel-play:hover,.reel-play:focus-visible{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.reel-play:focus-visible{outline:3px solid #f7b63f;outline-offset:3px}
.reel-dialog{width:min(1100px,calc(100vw - 24px));max-width:none;max-height:calc(100svh - 24px);padding:48px 12px 12px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#071018;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.reel-dialog::backdrop{background:rgba(2,8,15,.86);backdrop-filter:blur(10px)}
.reel-dialog video{display:block;width:100%;max-height:calc(100svh - 86px);aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:5px}
.reel-dialog-fullscreen{position:absolute;top:7px;left:13px;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.48);border-radius:18px;background:rgba(255,255,255,.08);color:#fff;font:600 13px/1.2 Arial,Helvetica,sans-serif;cursor:pointer}
.reel-dialog-fullscreen:hover{background:rgba(255,255,255,.2)}
.reel-dialog-fullscreen:focus-visible,.reel-dialog-close:focus-visible{outline:3px solid #f7b63f;outline-offset:2px}
.reel-dialog-close{position:absolute;top:5px;right:13px;display:grid;place-items:center;width:38px;height:38px;border:0;background:transparent;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:32px;font-weight:300;line-height:1;cursor:pointer}
.reel-dialog.is-expanded{position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100svh;height:100dvh;max-height:none;margin:0;padding:50px 0 0;border:0;border-radius:0;overflow:hidden}
.reel-dialog.is-expanded video{height:calc(100svh - 50px);height:calc(100dvh - 50px);max-height:none;aspect-ratio:auto;border-radius:0}
.reel-dialog video:fullscreen,.reel-dialog video:-webkit-full-screen{width:100vw;height:100vh;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:0;background:#000}
.reel-meta{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-top:12px}
.reel-meta h3{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:18px;letter-spacing:.22em;white-space:nowrap}
.reel-meta h3 span{font-weight:400;letter-spacing:0}
.reel-meta small{color:#cbdde3;font-size:14px;letter-spacing:.04em;white-space:nowrap}
.works-cta{margin-top:60px;padding-top:25px;border-top:1px solid #657179;border-image:linear-gradient(90deg,#657179,#ab9570) 1}
.works-cta h3{margin:0;font-size:23px;letter-spacing:.03em}
.works-cta p{margin:5px 0 0;font-size:14px;color:#d7dbde}
.works-cta .outline-action{margin-top:25px}
.works-scroll{position:absolute;right:0;bottom:90px;display:flex;flex-direction:column;gap:26px;align-items:center;font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.13em}
.works-scroll span{writing-mode:vertical-rl}
.works-scroll i{display:block;width:1px;height:47px;background:currentColor}
@keyframes works-ribbon-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,11px,0)}}

.section{display:grid;grid-template-columns:minmax(150px,24%) 1fr;gap:40px;padding:140px max(5.75%,calc((100% - 1440px)/2));scroll-margin-top:20px}
.section-label{padding-top:16px;font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.18em;font-weight:600}
.section-label span{margin-right:18px;color:#818991}
.section-body{max-width:930px}
.section h2{margin:0 0 34px;font-size:clamp(32px,4.2vw,59px);font-weight:700;letter-spacing:.055em;line-height:1.48}
.section-body>p{max-width:680px;font-size:17px;line-height:2;letter-spacing:.04em}
.section-statement{padding-top:30px;font-weight:600}
.about-section{background:#fff}
.services-section{background:#f6f8f8}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:64px}
.service-card{overflow:hidden;background:#fff;box-shadow:0 14px 38px rgba(30,50,60,.055)}
.service-visual{height:270px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.call-visual img{width:260px;max-width:none}
.reel-visual img{width:100%;max-width:400px}
.service-copy{padding:32px 34px 38px;border-top:1px solid #eceff0}
.service-number{font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.16em;color:#657079}
.service-copy h3{margin:19px 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:24px;letter-spacing:.04em}
.service-copy p{margin:0;font-size:15px;line-height:1.8}
.service-note{display:inline-block;margin-top:32px;padding:8px 15px;border:1px solid #d6dadd;border-radius:30px;font-size:12px}
.business-section{background:#fff}
.news-section{border-top:1px solid #e8ebec;background:#fff}
.news-section .section-body p{border-top:1px solid #dfe3e5;padding-top:25px;color:#5f6870}
.site-footer{display:flex;align-items:center;gap:36px;min-height:130px;padding:34px 5.75%;background:#1b2227;color:#fff}
.footer-brand{font-family:Arial,Helvetica,sans-serif;font-size:22px;letter-spacing:.08em}
.site-footer small{margin-right:auto;color:#bcc1c4;font-size:11px}
.site-footer>a:last-child{font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.13em}

.site-header.on-dark .brand-type,.site-header.on-dark .desktop-nav,.site-header.on-dark .menu-button{color:#fff}
.site-header.on-dark .menu-button span{background:#fff}
.site-header.menu-open .brand-type,.site-header.menu-open .menu-button{color:#171b20}
.site-header.menu-open .menu-button span{background:#171b20}
.site-header.on-dark.menu-open .brand-type{color:#171b20}
.site-header.menu-open .desktop-nav{visibility:hidden}

/* WordPress navigation and article templates. */
.desktop-nav .header-menu-list{display:flex;align-items:center;gap:34px;margin:0;padding:0;list-style:none}
.menu-panel .header-menu-list{margin:0;padding:0;list-style:none}
.wp-content-main{min-height:calc(100svh - 130px);padding:170px 6% 110px;background:#fff;color:#17212b}
.wp-content-inner{width:min(100%,940px);margin:auto}
.wp-content-kicker{margin:0 0 22px;color:#148cae;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;letter-spacing:.2em}
.wp-content-heading{margin-bottom:48px}
.wp-content-heading h1{margin:0;font-size:clamp(34px,5.2vw,60px);line-height:1.3}
.wp-content-heading time,.wp-content-card time{display:block;margin:0 0 12px;color:#71808c;font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.08em}
.wp-content-card{padding:28px 0;border-top:1px solid #dce3e8}
.wp-content-card h2{margin:0 0 10px;font-size:clamp(22px,3vw,30px);line-height:1.4}
.wp-content-card p{margin:0;color:#4c5a65;line-height:1.8}
.wp-content-card h2 a:hover,.wp-content-read-more:hover,.wp-content-back:hover{color:#087ce8}
.wp-content-read-more,.wp-content-back{display:inline-flex;gap:18px;align-items:center;margin-top:19px;font-size:14px;font-weight:700}
.wp-content-back{margin-top:45px}
.wp-content-featured{margin:0 0 32px}
.wp-content-featured img{width:100%;height:auto;border-radius:10px}
.wp-content-body{font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.wp-content-body h2,.wp-content-body h3{margin:2em 0 .6em;line-height:1.4}
.wp-content-body p{margin:0 0 1.5em}
.wp-content-body img{height:auto}
.wp-content-body a{color:#087ce8;text-decoration:underline;text-underline-offset:3px}
.wp-content-body blockquote{margin:2em 0;padding:4px 0 4px 24px;border-left:3px solid #16b4b8}
.wp-content-pagination,.navigation.pagination{margin-top:40px}
.wp-content-empty{padding:30px 0;border-top:1px solid #dce3e8}
.news-thumb.has-post-thumbnail img{top:0;left:0;width:100%;height:100%;object-fit:cover;transform:none}
.news-copy h3 a:hover{color:#087ce8}
body.admin-bar .site-header{top:58px}
@media(max-width:782px){body.admin-bar .site-header{top:66px}}
@media(max-width:700px){.wp-content-main{padding:145px 6% 75px}}

.audience-section{position:relative;overflow:hidden;background:radial-gradient(circle at 109% 5%,rgba(83,185,236,.14),transparent 20%),#fff;scroll-margin-top:0}
.audience-section::before{content:"";position:absolute;top:-19%;right:-14%;width:47%;height:550px;border:33px solid rgba(122,195,245,.17);border-right-color:rgba(243,81,159,.22);border-bottom-color:rgba(63,199,183,.18);border-radius:50%;transform:rotate(-26deg);pointer-events:none}
.audience-inner{position:relative;width:min(calc(100% - 38px),1100px);margin:auto;padding:153px 0 62px}
.audience-heading-row{position:relative;display:flex;justify-content:space-between;gap:20px}
.audience-heading-row h2{margin:25px 0 0;font-size:clamp(38px,5.9vw,68px);font-weight:700;line-height:1.25;letter-spacing:.015em}
.audience-heading-row .spectrum-text{background:linear-gradient(90deg,#259fe5,#56aee4 28%,#8b78d9 53%,#c95dbd 75%,#ee5197);-webkit-background-clip:text;background-clip:text}
.audience-side-note{align-self:center;border-left:1px solid #8f9da7;padding-left:15px;font-size:12px;font-weight:500;line-height:1.65;white-space:nowrap}
.audience-side-note small{display:block;margin-top:25px;color:#65727e;font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:.18em;line-height:1.65}
.audience-intro{margin:16px 0 22px;font-size:15px;line-height:1.75;letter-spacing:.02em}
.audience-cards{display:grid;gap:12px}
.audience-card{position:relative;isolation:isolate;overflow:hidden;min-height:270px;border-radius:12px}
.actor-card{background:linear-gradient(100deg,#eaf6ff,#e9f5ff 60%,#d3ebfe)}
.agency-card{background:linear-gradient(100deg,#eafaf8,#e6f8f7 60%,#d1eeeb)}
.production-card{background:linear-gradient(100deg,#fff0f5,#fff1f4 60%,#f7d7e4)}
.audience-copy{position:relative;z-index:2;width:65%;padding:22px 0 22px 22px}
.audience-card-label{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:600;letter-spacing:.13em;color:#167bca}
.agency-card .audience-card-label{color:#0b9c9f}.production-card .audience-card-label{color:#d74580}
.audience-card h3{margin:17px 0 12px;font-size:clamp(22px,3.9vw,33px);line-height:1.35;letter-spacing:.005em}
.actor-card h3 span{color:#007ee4}.agency-card h3 span{color:#059da4}.production-card h3 span{color:#db4785}
.audience-card p{margin:0;max-width:600px;font-size:12px;line-height:1.55}
.audience-wide-break{display:none}
.audience-button{display:flex;justify-content:space-between;align-items:center;width:min(360px,100%);min-height:43px;margin-top:12px;padding:7px 22px 7px 23px;border-radius:100px;background:#087cdb;color:#fff;font-size:12px;font-weight:600;white-space:nowrap;transition:transform .2s,filter .2s}
.audience-button:hover{transform:translateY(-2px);filter:brightness(1.05)}
.audience-button span{font-family:Arial,Helvetica,sans-serif;font-size:24px;font-weight:300;line-height:1}
.agency-card .audience-button{background:#07a7a8}.production-card .audience-button{background:#e3448a}
.audience-secondary{display:inline-block;margin-top:6px;color:#087cdb;font-size:10px}
.audience-art{position:absolute;z-index:1;right:0;top:0;width:320px;height:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 35%)}
.audience-art img{position:absolute;top:0;left:-254px;width:592px;max-width:none;height:auto}
.actor-art img{transform:translateY(-401px)}
.agency-art img{transform:translateY(-684px)}
.production-art img{transform:translateY(-943px)}
.audience-note{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:26px 15px 0;font-size:11px;line-height:1.6;color:#263443}
.audience-approval{display:flex;align-items:flex-start;gap:12px}
.audience-approval svg{width:25px;height:29px;flex:none;fill:none;stroke:#1d2a38;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.audience-approval p,.audience-footer-tagline p{margin:0}
.audience-footer-tagline{width:158px;flex:none;border-left:1px solid #9ba5ad;padding-left:55px}
.audience-footer-tagline span{display:block;width:100px;height:8px;margin-top:10px;background:linear-gradient(90deg,#1987e7 0 20%,#29a2de 20% 40%,#29bea7 40% 60%,#f8b733 60% 80%,#eb4b92 80% 100%)}

.news-section{position:relative;overflow:hidden;border:0;background:#fff;scroll-margin-top:0}
.news-inner{position:relative;z-index:1;width:min(calc(100% - 78px),1080px);margin:auto;padding:153px 0 19px}
.news-heading-row{position:relative}
.news-heading-row h2{margin:26px 0 14px;font-size:clamp(39px,6vw,68px);line-height:1.22;letter-spacing:.015em}
.news-side-note{position:absolute;right:0;top:125px;color:#60717f;font-size:11px;line-height:1.6}
.news-intro{margin:0 0 35px;font-size:15px;line-height:1.62}
.news-list{border-top:1px solid #d6dadd}
.news-item{position:relative;display:grid;grid-template-columns:160px 1fr 18px;align-items:center;gap:24px;min-height:151px;padding:11px 0;border-bottom:1px solid #d6dadd}
.news-thumb{position:relative;overflow:hidden;width:160px;aspect-ratio:160/115;border-radius:8px;background:#e8edf1}
.news-thumb img{position:absolute;top:0;left:-24.4%;width:370%;max-width:none}
.news-thumb-one img{transform:translateY(-34.2%)}
.news-thumb-two img{transform:translateY(-46.1%)}
.news-thumb-three img{transform:translateY(-57.8%)}
.news-thumb-four img{transform:translateY(-69.7%)}
.news-meta{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-family:Arial,Helvetica,sans-serif;font-size:11px;color:#77838d}
.news-tag{padding:4px 11px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.call-tag{background:#d9efff;color:#167cca}.reel-tag{background:#fce3ee;color:#ce4c89}.studio-tag{background:#dff5f2;color:#28a2a0}.info-tag{background:#e9edf0;color:#7c8993}
.news-copy h3{margin:0 0 5px;font-size:17px;line-height:1.42}
.news-copy p{margin:0;color:#6d7880;font-size:12px;line-height:1.52}
.news-arrow{align-self:center;font-family:Arial,Helvetica,sans-serif;font-size:25px;font-weight:300}
.news-more{display:flex;align-items:center;justify-content:space-between;width:min(355px,100%);min-height:47px;margin:20px auto 0;padding:7px 20px;border:1px solid #7e8991;border-radius:100px;font-size:12px;font-weight:600}
.news-more span{font-family:Arial,Helvetica,sans-serif;font-size:22px;font-weight:300;line-height:1}
.news-bottom-note{position:absolute;right:1%;bottom:106px;border-left:1px solid #9aa4ab;padding-left:18px;color:#828d95;font-family:Arial,Helvetica,sans-serif;font-size:9px;line-height:1.55;letter-spacing:.12em}
.news-inner .center-scroll{margin-top:123px;color:#89959d}
.news-wave{position:absolute;left:0;right:0;bottom:50px;height:220px;background:url('assets/news-ribbon.svg') center bottom/100% 100% no-repeat;pointer-events:none}

.get-started-section{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 49% 34%,#122940 0,#0b2035 43%,#081321 100%);color:#fff;scroll-margin-top:0}
.get-started-ribbons{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.get-started-inner{position:relative;width:min(calc(100% - 84px),1070px);margin:auto;padding:153px 0 62px}
.get-started-heading-row{position:relative}
.get-started-heading-row h2{margin:29px 0 18px;font-size:clamp(43px,6.5vw,74px);line-height:1.22;letter-spacing:.015em}
.get-started-side-note{position:absolute;top:-65px;right:0;border-left:1px solid rgba(255,255,255,.75);padding-left:18px;font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:.17em;line-height:1.7}
.get-started-description{margin:0;font-size:17px;line-height:1.72;letter-spacing:.035em}
.get-started-strong{margin:17px 0 0;font-size:17px;font-weight:700}
.get-started-tagline{position:absolute;top:543px;right:0;text-align:right;font-size:12px;line-height:1.8}
.get-started-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:198px}
.get-started-action>p{margin:0 0 15px;font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.15em}
.get-started-action>p small{display:block;margin-top:6px;font-family:"Noto Sans JP",sans-serif;font-size:13px;letter-spacing:.04em}
.get-started-primary,.get-started-secondary{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:9px 25px;border:1px solid #fff;border-radius:100px;font-size:15px;font-weight:700;transition:transform .2s,background .2s,color .2s}
.get-started-primary{background:#fff;color:#0a1c2e}
.get-started-secondary:hover,.get-started-primary:hover{transform:translateY(-3px)}
.get-started-primary span,.get-started-secondary span{font-family:Arial,Helvetica,sans-serif;font-size:28px;font-weight:300;line-height:1}
.get-started-action>small{display:block;margin-top:11px;font-size:10px;color:#ccd4dc}
.get-started-footer{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:65px;padding-top:25px;border-top:1px solid rgba(255,255,255,.3);text-align:center}
.get-started-footer p{margin:0 0 19px;font-size:12px;color:#c6ced7}
.get-started-footer strong{font-family:Arial,Helvetica,sans-serif;font-size:25px;letter-spacing:.2em}
.get-started-footer small{margin-top:2px;font-size:10px;letter-spacing:.1em}

/* Motion is applied to content, never to the section edges or wave masks. */
.hero-photo{animation:hero-photo-breathe 20s ease-in-out infinite alternate}
@keyframes hero-photo-breathe{from{transform:scale(1.035) translate3d(0,0,0)}to{transform:scale(1.075) translate3d(-.6%,.4%,0)}}
.hero-content>*{animation:hero-enter .8s cubic-bezier(.22,1,.36,1) both}
.hero-content>:nth-child(2){animation-delay:.12s}
.hero-content>:nth-child(3){animation-delay:.22s}
.hero-content>:nth-child(4){animation-delay:.34s}
.hero-content>:nth-child(5){animation-delay:.46s}
@keyframes hero-enter{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.motion-ready .motion-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.scroll-cue i,.vision-scroll i,.service-next i,.works-scroll i{transform-origin:top;animation:scroll-line-pulse 2.6s ease-in-out infinite}
@keyframes scroll-line-pulse{0%,100%{transform:scaleY(.55);opacity:.65}50%{transform:scaleY(1);opacity:1}}
.menu-panel:not([hidden]){animation:menu-enter .34s cubic-bezier(.22,1,.36,1) both}
@keyframes menu-enter{from{opacity:0;transform:translate3d(18px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.pill .arrow,.outline-action span,.audience-button span,.get-started-primary span,.get-started-secondary span,.news-more span{transition:transform .24s ease}
.pill:hover .arrow,.pill:focus-visible .arrow,.outline-action:hover span,.outline-action:focus-visible span,.audience-button:hover span,.audience-button:focus-visible span,.get-started-primary:hover span,.get-started-primary:focus-visible span,.get-started-secondary:hover span,.get-started-secondary:focus-visible span,.news-more:hover span,.news-more:focus-visible span{transform:translateX(6px)}
.reel-thumb{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}
.reel-item:hover .reel-thumb{transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,.23)}
/* A continuous visual rhythm: opening title, scroll reveals, and light inside each panel. */
.page-progress{position:fixed;z-index:40;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#0787ed 0%,#12b9c5 29%,#71c85b 48%,#ffc338 66%,#fa7e48 81%,#ec3d85 100%);transform:scaleX(var(--page-progress,0));transform-origin:left center;pointer-events:none;box-shadow:0 0 12px rgba(41,190,206,.38)}
.site-header{animation:header-arrive .9s cubic-bezier(.22,1,.36,1) both}
@keyframes header-arrive{from{opacity:0;transform:translate3d(0,-18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.hero-content>h1{animation:none}
.hero-title-line{display:block;animation:hero-title-reveal 1.25s cubic-bezier(.19,1,.22,1) both}
.hero-title-line:first-child{animation-delay:.14s}
.hero-title-line:last-child{animation-delay:.34s}
@keyframes hero-title-reveal{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,46px,0)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0)}}
.hero-wash::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.32) 48%,transparent 67%);pointer-events:none;animation:hero-light-sweep 2.6s ease-in-out .4s both}
@keyframes hero-light-sweep{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(100%,0,0)}}
.motion-ready .motion-reveal.motion-heading{clip-path:inset(0 100% 0 0);transform:translate3d(0,22px,0);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.19,1,.22,1),clip-path 1.2s cubic-bezier(.19,1,.22,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .motion-reveal.motion-heading.is-visible{clip-path:inset(0 0 0 0);transform:translate3d(0,0,0)}
.motion-ready .motion-reveal.motion-card{transform:translate3d(0,52px,0) scale(.965);transition-duration:1s}
.motion-ready .motion-reveal.motion-card.is-visible{transform:translate3d(0,0,0) scale(1)}
.motion-ready .motion-reveal.motion-logo{transform:translate3d(0,24px,0) scale(.86) rotate(-5deg);transition-duration:1s}
.motion-ready .motion-reveal.motion-logo.is-visible{transform:translate3d(0,0,0) scale(1) rotate(0)}
/* Service titles arrive like consecutive film frames; text stays visible without scripts. */
.service-title-line{display:block;transform-origin:50% 100%;backface-visibility:hidden}
.motion-ready .motion-title .service-title-line{opacity:0;transform:perspective(600px) translate3d(0,55px,0) rotateX(-18deg);filter:blur(5px);transition:opacity .8s cubic-bezier(.19,1,.22,1),transform 1.05s cubic-bezier(.19,1,.22,1),filter .9s ease}
.motion-ready .motion-title.is-visible .service-title-line{opacity:1;transform:perspective(600px) translate3d(0,0,0) rotateX(0);filter:blur(0)}
.motion-ready .motion-title .service-title-line:nth-child(2){transition-delay:.19s}
.motion-ready .reel-thumb::before,.motion-ready .reel-thumb::after{content:"";position:absolute;z-index:2;left:0;right:0;height:50.5%;background:#0b151c;pointer-events:none;transition:transform 1.05s cubic-bezier(.76,0,.24,1) .12s}
.motion-ready .reel-thumb::before{top:0;transform-origin:top;transform:scaleY(1)}
.motion-ready .reel-thumb::after{bottom:0;transform-origin:bottom;transform:scaleY(1)}
.motion-ready .reel-item.is-visible .reel-thumb::before,.motion-ready .reel-item.is-visible .reel-thumb::after{transform:scaleY(0)}
.motion-ready .reel-thumb img{filter:saturate(.55);transform:scale(1.075);transition:filter 1.2s ease .2s,transform 1.3s cubic-bezier(.19,1,.22,1) .2s}
.motion-ready .reel-item.is-visible .reel-thumb img{filter:saturate(1);transform:scale(1)}
@media(min-width:768px){
  .hero-ribbons,.vision-ribbons,.studio-ribbons,.reel-ribbons,.call-ribbons,.get-started-ribbons{transform:translate3d(0,var(--ribbon-shift,0px),0) scale(1.025)}
  .works-ribbons{animation:works-ribbon-parallax 14s ease-in-out infinite alternate}
  @keyframes works-ribbon-parallax{from{transform:translate3d(0,var(--ribbon-shift,0px),0)}to{transform:translate3d(0,calc(var(--ribbon-shift,0px) + 11px),0)}}
}
.service-panel::after{display:block;left:-25%;right:auto;top:12%;bottom:auto;width:85%;aspect-ratio:1;border:0;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,.07) 35%,transparent 67%);transform:translate3d(-8%,15%,0);animation:service-light-orbit 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes service-light-orbit{from{transform:translate3d(-8%,15%,0) scale(.86)}to{transform:translate3d(48%,-20%,0) scale(1.18)}}
.spectrum-text{background-size:220% 100%;animation:spectrum-flow 6s ease-in-out infinite alternate}
@keyframes spectrum-flow{from{background-position:0% center}to{background-position:100% center}}
.news-arrow{transition:transform .3s cubic-bezier(.22,1,.36,1),color .3s}
.news-item:hover .news-arrow{transform:translate3d(5px,-5px,0);color:#0787ed}
a:focus-visible,button:focus-visible{outline:3px solid #f7b63f;outline-offset:4px}

@media(min-width:1000px){
  .site-header{left:5%;right:5%}
  .hero{height:100svh;min-height:900px;max-height:1200px}
  .hero::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:-1px;height:70px;background:#fff;clip-path:polygon(0 40%,22% 55%,48% 100%,72% 82%,100% 30%,100% 100%,0 100%)}
  .hero-photo{object-position:center 25%}
  .hero-ribbons{height:auto;min-height:0;object-fit:fill}
  .hero-content{margin-left:5%;padding-top:clamp(300px,26vw,370px)}
  .scroll-cue{display:none}
  .vision-section{height:1280px}
}
@media(max-width:700px){
  .menu-panel{padding:106px 5% 36px}
  .site-header{top:20px;left:5%;right:5%;height:56px}
  .brand{gap:6px}
  .brand-symbol{width:59px;height:48px}
  .brand-symbol img{width:100%;height:100%;left:0;top:0}
  .brand-type strong{font-size:17px;letter-spacing:.055em}
  .brand-type small{padding-left:2px;font-size:6.5px;letter-spacing:.07em}
  .desktop-nav{display:none}
  .menu-button{margin-left:auto;width:32px}
  .menu-button span{width:28px}
  .hero{height:860px;min-height:100svh}
  .hero-photo{object-position:57% center}
  .hero-wash{background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.67) 49%,rgba(255,255,255,.07) 78%)}
  .hero-ribbons{width:100%;height:100%;object-fit:cover;object-position:center}
  .hero-content{margin:0 5%;padding-top:175px;max-width:92%}
  .hero h1{font-size:clamp(30px,7.6vw,48px);letter-spacing:.015em;line-height:1.48}
  .hero-lead{margin-top:16px;font-size:clamp(13px,3.75vw,19px);letter-spacing:.07em}
  .hero-description{margin-top:20px;max-width:510px;font-size:13px;line-height:1.8}
  .desktop-break{display:none}
  .hero-actions{gap:9px;margin-top:26px}
  .pill{width:min(46vw,220px);min-height:59px;padding:9px 13px 9px 17px;font-size:10px}
  .pill small{font-size:10px}
  .arrow{font-size:23px}
  .business-link{margin-top:23px;font-size:11px}
  .scroll-cue{left:5%;bottom:70px;font-size:8px}
  .scroll-cue i{height:58px}
  .vision-section{height:auto;min-height:1450px;padding-bottom:270px}
  .vision-surface-desktop{display:none}
  .vision-surface-mobile{display:block}
  .vision-surface,.vision-ribbons{height:100%}
  .vision-content{width:calc(100% - 36px);padding-top:95px}
  .vision-content h2{margin:30px 0 28px;font-size:clamp(28px,7vw,40px);letter-spacing:.045em;line-height:1.45}
  .vision-text{font-size:clamp(13px,3.45vw,16px);letter-spacing:.02em;line-height:1.8}
  .vision-desktop-break{display:none}
  .vision-text p{margin-bottom:18px}
  .vision-text p:nth-child(4),.vision-text p:nth-child(5){margin-top:27px}
  .vision-rule{margin:34px auto 30px}
  .vision-promise{font-size:clamp(16px,4.3vw,20px)}
  .vision-scroll{left:6%;bottom:150px;font-size:8px}
  .services-intro{padding:161px 15px 9px}
  .services-intro h2{font-size:clamp(28px,7vw,43px);white-space:normal}
  .services-intro p{font-size:clamp(12px,2.7vw,16px)}
  .service-panel{min-height:940px;scroll-margin-top:80px}
  .service-panel::before{height:60px}
  .service-panel-content{width:calc(100% - 88px);padding-top:91px}
  .reel-slide .service-panel-content{width:calc(100% - 100px)}
  .call-slide .service-panel-content{width:calc(100% - 100px)}
  .service-panel-number{font-size:52px}
  .service-panel-label{margin:26px 0 36px;font-size:17px}
  .service-panel-logo{width:205px;margin:22px 0 33px}
  .service-panel h3{font-size:clamp(59px,15vw,90px)}
  .call-slide h3{font-size:clamp(55px,13.5vw,80px)}
  .service-panel-description{margin-top:33px;font-size:clamp(16px,3.4vw,20px)}
  .service-panel .outline-action{margin-top:34px}
  .reel-slide .outline-action{width:min(304px,100%);margin-top:26px}
  .call-slide .outline-action{width:min(304px,100%);margin-top:26px}
  .service-next{bottom:50px}
  .how-section{min-height:0;padding:158px 0 55px}
  .how-inner{width:calc(100% - 80px)}
  .how-section h2{margin:17px 0 14px;font-size:clamp(35px,8.45vw,50px);letter-spacing:-.085em}
  .how-lead{font-size:clamp(15px,3vw,18px);line-height:1.5}
  .how-description{margin-top:12px;font-size:clamp(12px,2.55vw,15px);line-height:1.5}
  .device-crop{width:calc(100% + 80px);margin:15px 0 20px -40px}
  .how-subtitle{margin:28px 0 16px;font-size:16px}
  .how-columns{grid-template-columns:33% 37% 30%}
  .how-column{padding-right:0}
  .how-column small{margin-top:6px}
  .how-column h4{font-size:clamp(14px,3vw,18px)}
  .how-column p{font-size:clamp(10px,1.9vw,11px)}
  .how-section .center-scroll{margin-top:16px;gap:12px}
  .how-section .center-scroll span{width:1px;height:22px;background:currentColor;font-size:0;line-height:0}
  .works-inner{width:calc(100% - 80px);padding:145px 0 100px}
  .works-heading-row h2{font-size:clamp(43px,9vw,58px)}
  .works-side-note{display:block;right:0;top:184px;font-size:12px}
  .reel-list{grid-template-columns:1fr;gap:16px}
  .reel-thumb{aspect-ratio:516/203}
  .works-cta{width:calc(100% - 60px);margin-top:25px;padding-top:15px}
  .works-cta .outline-action{min-height:46px;margin-top:14px;padding:7px 20px 7px 30px;font-size:14px}
  .works-cta .outline-action span{font-size:25px}
  .audience-inner{padding-top:153px}
  .audience-section::before{top:0;left:0;right:auto;width:100%;height:430px;border:0;border-radius:0;background:url('assets/audience-ribbon.svg') center top/100% 100% no-repeat;transform:none}
  .audience-inner>.block-kicker,.audience-heading-row,.audience-intro{width:calc(100% - 20px);margin-left:20px}
  .audience-heading-row h2{margin-top:16px;font-size:clamp(34px,7.2vw,45px)}
  .audience-side-note{position:absolute;right:-16px;top:-10px;align-self:auto;width:116px;min-height:113px;font-size:10px}
  .audience-intro{margin-bottom:18px;font-size:clamp(12px,2.7vw,15px)}
  .audience-cards{gap:10px}
  .actor-card{min-height:273px}.agency-card{min-height:249px}.production-card{min-height:241px}
  .audience-copy{width:62%;padding:19px 0 16px 20px}
  .audience-card h3{margin:16px 0 10px;font-size:27px;line-height:1.22}
  .audience-card p{font-size:9.4px;line-height:1.55}
  .audience-wide-break{display:block}
  .audience-button{width:min(269px,100%);min-height:41px;margin-top:22px;padding:6px 17px 6px 22px;background:#087de8;font-size:11px}
  .agency-card .audience-button{margin-top:18px;background:#06aead}
  .production-card .audience-button{margin-top:8px;background:#e63f82}
  .audience-art{width:41%;mask-image:linear-gradient(to right,transparent,#000 20%)}
  .audience-art img{left:-151%;width:259%}
  .actor-art img{transform:translateY(-31.3%)}
  .agency-art img{transform:translateY(-53.4%)}
  .production-art img{transform:translateY(-73.1%)}
  .news-inner{padding-top:153px}
  .news-heading-row h2{font-size:clamp(35px,7.2vw,48px)}
  .news-side-note{top:82px}
  .news-intro{font-size:clamp(12px,2.6vw,15px)}
  .news-item{grid-template-columns:160px 1fr 17px;gap:24px}
  .news-copy h3{font-size:clamp(13px,2.8vw,17px)}
  .news-copy p{font-size:clamp(10px,2vw,12px)}
  .get-started-inner{padding-top:153px;padding-bottom:56px}
  .get-started-heading-row h2{margin-top:21px;font-size:clamp(38px,8.2vw,52px)}
  .get-started-side-note{top:-33px;right:-10px}
  .get-started-description,.get-started-strong{font-size:clamp(14px,2.9vw,17px)}
  .get-started-description{line-height:1.6}
  .get-started-strong{margin-top:14px}
  .get-started-tagline{top:545px;right:-22px}
  .get-started-tagline::after{content:"";display:block;width:31px;height:1px;margin:24px 15px 0 auto;background:rgba(255,255,255,.75)}
  .get-started-actions{grid-template-columns:1fr;gap:34px;margin:205px 4px 0}
  .get-started-action>p{font-size:13px}
  .get-started-action>p small{font-size:12px}
  .get-started-action>p,.get-started-action>small{padding-left:8px}
  .get-started-primary,.get-started-secondary{position:relative;justify-content:center}
  .get-started-primary span,.get-started-secondary span{position:absolute;right:24px}
  .get-started-footer{margin:36px 4px 0}
  .get-started-footer p{letter-spacing:.08em}
  .get-started-footer strong{font-size:23px;letter-spacing:.1em}
  .get-started-footer small{font-size:11.5px;letter-spacing:.12em}
  .section{display:block;padding:84px 6%}
  .section-label{margin-bottom:35px}
  .section h2{font-size:clamp(29px,7vw,42px)}
  .section-body>p{font-size:14px}
  .service-grid{grid-template-columns:1fr;margin-top:40px}
  .service-visual{height:210px}
  .site-footer{flex-wrap:wrap;gap:18px;min-height:140px;padding:30px 6%}
  .footer-brand{width:100%;font-size:19px}
}
@media(max-width:390px){
  .hero-content{padding-top:150px}
  .hero h1{font-size:29px}
  .hero-lead{font-size:12px}
  .pill{padding-left:11px;padding-right:9px}
  .business-link{font-size:10px}
  .vision-section{min-height:1270px;padding-bottom:210px}
  .vision-content{padding-top:95px}
  .services-intro{padding-top:125px}
  .service-panel{min-height:830px}
  .service-panel-content{width:calc(100% - 58px);padding-top:79px}
  .reel-slide .service-panel-content{width:calc(100% - 64px)}
  .call-slide .service-panel-content{width:calc(100% - 64px)}
  .service-panel-label{font-size:14px}
  .service-panel-logo{width:185px;margin-bottom:27px}
  .service-panel h3{font-size:57px}
  .call-slide h3{font-size:55px}
  .service-panel-description{font-size:16px}
  .how-inner,.works-inner{width:calc(100% - 40px)}
  .device-crop{width:calc(100% + 40px);margin-left:-20px}
  .how-columns{grid-template-columns:1fr;gap:20px}
  .how-column{min-height:0;padding:0;border:0}
  .how-column h4{min-height:0}
  .audience-inner{width:calc(100% - 28px)}
  .audience-heading-row{display:block}
  .audience-heading-row h2{font-size:30px}
  .audience-side-note{display:none}
  .audience-copy{width:70%;padding-left:15px}
  .audience-card-label{font-size:11px}
  .audience-card h3{font-size:19px}
  .audience-card p{font-size:9px}
  .audience-wide-break{display:none}
  .audience-art{width:55%;opacity:.8;mask-image:linear-gradient(to right,transparent,#000 55%)}
  .audience-art img{width:592px;left:-316px}
  .actor-art img{transform:translateY(-401px)}
  .agency-art img{transform:translateY(-684px)}
  .production-art img{transform:translateY(-943px)}
  .actor-art{height:273px}.agency-art{height:249px}.production-art{height:241px}
  .news-inner{width:calc(100% - 35px)}
  .news-item{grid-template-columns:105px 1fr 12px;gap:11px;min-height:118px}
  .news-thumb{width:105px}
  .news-meta{gap:4px;font-size:8px}
  .news-tag{font-size:7px;padding:3px 6px}
  .news-copy h3{font-size:12px}
  .news-copy p{font-size:9px}
  .news-arrow{font-size:17px}
  .get-started-inner{width:calc(100% - 42px)}
  .get-started-heading-row h2{font-size:35px}
  .get-started-side-note{font-size:7px}
  .get-started-tagline{top:490px;font-size:10px}
}
@media(max-width:480px){
  .works-side-note,.news-side-note{display:none}
}
@media(orientation:landscape) and (max-width:980px) and (max-height:500px){
  .reel-dialog:not(.is-expanded){width:fit-content;max-width:calc(100vw - 16px);max-height:calc(100svh - 8px);max-height:calc(100dvh - 8px);padding:42px 8px 8px}
  .reel-dialog:not(.is-expanded) video{width:auto;max-width:100%;height:calc(100svh - 58px);height:calc(100dvh - 58px);max-height:none;aspect-ratio:16/9;object-fit:contain}
  .reel-dialog-fullscreen{top:4px;left:8px;min-height:32px}
  .reel-dialog-close{top:2px;right:8px}
  .reel-dialog.is-expanded{padding-top:42px}
  .reel-dialog.is-expanded .reel-dialog-fullscreen{left:max(8px,env(safe-area-inset-left))}
  .reel-dialog.is-expanded .reel-dialog-close{right:max(8px,env(safe-area-inset-right))}
  .reel-dialog.is-expanded video{height:calc(100svh - 42px);height:calc(100dvh - 42px)}
}
@media(prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .page-progress{display:none}
  .motion-ready .motion-reveal{opacity:1!important;transform:none!important}
  .motion-ready .motion-title .service-title-line{opacity:1!important;transform:none!important;filter:none!important}
  .motion-ready .reel-thumb::before,.motion-ready .reel-thumb::after{display:none!important}
  .motion-ready .reel-thumb img{filter:none!important;transform:none!important}
  .hero-ribbons,.vision-ribbons,.studio-ribbons,.reel-ribbons,.call-ribbons,.works-ribbons,.get-started-ribbons{transform:none!important}
}
