


:root{--background:#fff;--foreground:#1d2d45;--muted:#eaf0f5;--muted-foreground:#526174;--ring:#296feb;color-scheme:light;font-family:'Hiragino Sans','Noto Sans JP',sans-serif;color:var(--foreground);background:#e9edf2;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #1777fa;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p,figure{margin:0}p{line-height:1.9}h1,h2,h3{font-weight:500}section[id]{scroll-margin-top:120px}.comparison{gap:0!important}.review-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 3%;background:#17212e;color:#fff;min-height:72px}.review-title{font-size:17px;letter-spacing:.14em;white-space:nowrap}.review-title span{display:block;font-size:10px;letter-spacing:.12em;color:#b8c4d3;margin-top:3px}.design-tabs{background:#2b3542!important;height:46px!important;border-radius:7px!important;padding:4px!important;gap:3px!important}.design-tabs button{color:#cbd4df!important;padding:9px 18px!important;font-size:14px!important;border-radius:4px!important}.design-tabs button[data-active]{background:#fff!important;color:#17212e!important}.review-stamp{font-size:12px;color:#cbd4df;white-space:nowrap}.concept-strip{padding:14px 4%;display:flex;gap:22px;align-items:center;background:#eef1f4;font-size:13px;line-height:1.7;color:#425164}.concept-strip b{font-weight:500;white-space:nowrap}.site{background:#fff}.site-header{height:100px;margin:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:210px;display:block;flex-shrink:0}.site-header nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-letter{border-bottom:1px solid;padding:11px 0}.nav-letter span{margin-left:24px}.hero{position:relative;margin:0 5.5%}.eyebrow{font-size:13px;letter-spacing:.13em;margin-bottom:26px}.dot{display:inline-block;width:7px;height:7px;background:#296feb;border-radius:100%;margin-right:12px}.intro{font-size:16px;line-height:2.1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--accent);color:var(--button-text,#fff);padding:19px 27px;border-radius:100px;font-size:15px;min-height:60px;transition:filter .18s,transform .18s}.button:hover{filter:brightness(.92);transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.text-link{display:block;width:max-content;font-size:14px;margin:22px 0}.portrait{position:relative}.portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.portrait figcaption{font-size:12px;letter-spacing:.07em;padding-top:12px}.section{padding:100px 5.5%}.section-heading{margin-bottom:46px}.section-heading .eyebrow{margin-bottom:18px;color:var(--accent)}.section h2{font-size:32px;line-height:1.6;letter-spacing:.035em}.section-heading>p:last-child:not(.eyebrow){font-size:15px;margin-top:18px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.service{border-top:1px solid var(--line);padding-top:20px}.number{font-size:13px;color:var(--accent)}.service h3{font-size:32px;display:flex;justify-content:space-between;align-items:center;margin:25px 0 20px}.service h3 span{font-size:23px}.service h4{font-size:15px;margin-bottom:16px;font-weight:500}.service p{font-size:15px;color:var(--secondary)}.work-list{border-top:1px solid var(--line)}.work-row{display:grid;grid-template-columns:190px 1fr 36px;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding:30px 0;transition:padding .2s}.work-row:hover{padding-left:12px}.work-tag{font-size:12px;letter-spacing:.08em;color:var(--secondary)}.work-row h3{font-size:21px;margin-bottom:5px}.work-row p{font-size:14px;color:var(--secondary)}.work-arrow{font-size:28px}.fine{font-size:12px;color:var(--secondary);margin-top:16px}.letter{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}.letter h2{font-size:40px;line-height:1.6;margin-bottom:25px}.letter p{font-size:15px}.letter-action{justify-self:end}.letter-mark{display:block;font-size:80px;font-weight:200;line-height:1;margin-bottom:30px}.letter-action .fine{font-size:12px}.line-link{display:inline-block;margin-top:28px;font-size:14px;border-bottom:1px solid;padding-bottom:7px}footer{margin:0 5.5%;padding:40px 0;display:flex;align-items:center;gap:30px;justify-content:space-between}footer p,footer>span{font-size:12px;color:var(--secondary)}footer .logo{width:170px}
.design-a{--accent:#296feb;--secondary:#566679;--line:#cad7e5;color:#243b56}.hero-a{display:grid;grid-template-columns:1.3fr 1fr;padding:44px 0 0;gap:25px 45px}.a-copy{padding:48px 0 0}.hero-a h1{font-size:clamp(32px,3.7vw,60px);line-height:1.65;letter-spacing:-.035em;margin-bottom:25px;white-space:nowrap}.hero-a h1 em{font-style:normal;color:#296feb}.a-copy .button{margin-top:34px}.a-photo{position:relative;margin-right:22px}.a-photo .portrait{height:475px}.a-photo .portrait>img{border-radius:180px 180px 8px 8px;object-position:50% 34%}.photo-card{position:absolute;left:-35px;bottom:37px;background:#296feb;color:white;padding:22px 27px;font-size:22px;line-height:1.65;box-shadow:8px 8px 0 #fff}.a-bottom{grid-column:1/-1;border-bottom:1px solid #b6cde5;display:flex;justify-content:space-between;align-items:center;padding:43px 0 25px;margin-top:13px;font-size:12px;letter-spacing:.1em}.a-bottom span:last-child{font-size:13px;line-height:1.8}.design-a .works{background:#f0f6fe}.design-a .letter{background:#e2edff}.design-a .letter-mark{color:#296feb}
.design-b{--accent:#ffdf24;--button-text:#20221f;--secondary:#505349;--line:#aaa99f;color:#20221f}.design-b .site-header{height:100px}.design-b .hero{margin:0;background:#ffe327;padding:24px 5.5% 0}.b-top,.b-bottom{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.13em}.b-top{border-top:1px solid #20221f;padding-top:14px}.b-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center;padding:40px 0 35px}.hero-b .eyebrow{margin-bottom:20px}.hero-b h1{font-size:clamp(40px,5.5vw,78px);font-weight:700;letter-spacing:-.04em;line-height:1.25}.hero-b h1 em{font-style:normal;background:#20221f;color:#ffe327;padding:0 10px}.hero-b .intro{margin-top:24px}.hero-b .button{margin-top:26px;background:#20221f;color:#fff;border-radius:4px}.b-photo{position:relative;padding-top:18px}.b-photo .portrait{height:490px;transform:rotate(3deg);border:9px solid #fff;box-shadow:12px 12px 0 #20221f}.photo-label{position:absolute;bottom:45px;left:-22px;background:#fff;padding:12px 20px;transform:rotate(-5deg);font-size:26px;font-weight:600}.photo-small{position:absolute;bottom:0;left:35px;background:#20221f;color:#fff;font-size:12px;padding:6px 12px;transform:rotate(3deg)}.b-bottom{padding:21px 0;border-top:1px solid;line-height:1.6}.design-b .section-heading .eyebrow,.design-b .number{color:#66651c}.design-b h2{font-weight:600}.design-b .service{border-top:4px solid #20221f}.design-b .service h3{font-weight:600}.design-b .works{background:#f3f3ee}.design-b .letter{background:#20221f;color:#fff}.design-b .letter .fine{color:#c8c8c1}.design-b .letter-mark{color:#ffdf24}.design-b .letter .eyebrow{color:#ffdf24}
.design-c{--accent:#275a7f;--secondary:#65675f;--line:#b9b9ad;color:#2c332e}.design-c .site{background:#f5f3eb}.design-c .site-header{height:100px}.design-c .logo img{mix-blend-mode:multiply}.c-mast{display:flex;justify-content:space-between;border-top:3px double #777f76;border-bottom:1px solid #aeb2a6;padding:12px 0;font-size:12px;letter-spacing:.1em}.c-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:50px;padding:44px 0 30px;align-items:center}.c-title h1{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:clamp(30px,3.6vw,54px);line-height:1.85;letter-spacing:.05em}.c-title .eyebrow{margin-bottom:15px}.c-text{display:flex;gap:30px;margin:30px 0}.vertical-label{writing-mode:vertical-rl;font-size:12px;letter-spacing:.2em;border-right:1px solid #aeb2a6;padding-right:14px}.c-text p{font-size:15px;line-height:2}.hero-c .portrait{height:490px}.hero-c .portrait>img{object-position:50% 35%;filter:saturate(.65)}.hero-c .button{background:transparent;color:#275a7f;border:1px solid #275a7f;border-radius:0;font-size:14px;padding:13px 20px;min-height:50px}.c-foot{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #777f76;padding:28px 0;font-size:12px}.c-foot p{font-family:'Yu Mincho',serif;font-size:18px}.design-c .section h2,.design-c .service h3{font-family:'Hiragino Mincho ProN','Yu Mincho',serif}.design-c .service-grid{gap:0}.design-c .service{padding:24px 30px 0;border-right:1px solid var(--line)}.design-c .service:first-child{padding-left:0}.design-c .service:last-child{border-right:0}.design-c .works{padding-top:20px}.design-c .letter{border-top:3px double #a5afa3;border-bottom:1px solid #a5afa3;margin:0 5.5%;padding:70px 0}.design-c .letter .button{border-radius:0}.design-c .letter h2{font-size:36px}.design-c .letter-mark{display:none}
@media(min-width:1550px){.site{max-width:1550px;margin:auto}.concept-strip{justify-content:center}}
@media(max-width:1000px){.review-title{display:none}.review-bar{justify-content:center}.review-stamp{display:none}.site-header nav{gap:20px}.logo{width:180px}.hero-a{gap:25px}.a-copy{padding-top:25px}.a-photo .portrait{height:435px}.a-copy .intro{font-size:15px}.hero-a h1{font-size:34px}.section{padding-top:75px;padding-bottom:75px}.service-grid{gap:25px}.c-grid{gap:30px}.c-title h1{font-size:34px}.c-text{gap:15px}.c-text p{font-size:14px}.hero-c .portrait{height:450px}.letter{gap:30px}.letter h2{font-size:32px}}
@media(max-width:700px){.review-bar{padding:9px 12px;min-height:62px}.design-tabs{width:100%!important;height:auto!important}.design-tabs button{padding:8px 5px!important;font-size:13px!important;white-space:normal;line-height:1.5}.design-tabs button span{font-size:12px}.concept-strip{display:block;padding:13px 6%}.concept-strip b{font-size:12px;display:block;margin-bottom:3px}.concept-strip>span{font-size:12px}.site-header{height:82px;margin:0 6%}.site-header .logo{width:158px}.site-header nav>a:not(.nav-letter){display:none}.site-header nav{font-size:12px}.nav-letter span{margin-left:5px}.hero{margin:0 6%}.hero-a{display:flex;flex-direction:column;padding-top:15px;gap:32px}.a-copy{padding:15px 0 0}.eyebrow{font-size:12px;margin-bottom:20px}.hero-a h1{font-size:clamp(28px,7.4vw,45px);line-height:1.65;margin-bottom:20px}.intro{font-size:15px}.a-copy .button{margin-top:26px}.text-link{display:inline-block;margin:20px 0 0;font-size:13px}.a-photo{margin:0 12px 0 25px}.a-photo .portrait{height:380px}.a-photo .portrait>img{border-radius:160px 160px 6px 6px;object-position:50% 33%}.photo-card{font-size:20px;left:-25px;bottom:25px;padding:18px 25px}.a-bottom{width:100%;padding-top:12px;margin-top:8px}.a-bottom span:last-child{font-size:12px}.section{padding:65px 6%}.section h2{font-size:26px}.section-heading{margin-bottom:32px}.service-grid{grid-template-columns:1fr;gap:28px}.service{padding-top:15px}.service h3{margin:12px 0 13px;font-size:29px}.service h4{margin-bottom:10px}.service p{font-size:15px}.work-row{grid-template-columns:1fr 25px;gap:9px;padding:25px 0}.work-tag{grid-column:1/-1}.work-row h3{font-size:19px}.work-row p{font-size:13px}.work-arrow{font-size:24px}.letter{grid-template-columns:1fr;gap:32px}.letter h2{font-size:30px}.letter-action{justify-self:stretch}.letter-action .button{width:100%;gap:15px}.letter-mark{display:none}.button{font-size:14px;padding:17px 22px}.letter p{font-size:14px}footer{flex-wrap:wrap;gap:17px;padding:35px 0;margin:0 6%}footer p{width:100%;order:2}footer .logo{width:150px}footer>span{font-size:10px}.design-b .site-header{height:82px}.design-b .hero{padding:20px 6% 0}.b-top{font-size:10px}.b-grid{grid-template-columns:1fr;gap:25px;padding-top:30px}.hero-b h1{font-size:clamp(44px,13vw,74px);line-height:1.28}.b-photo{margin:0 12px 18px}.b-photo .portrait{height:385px;box-shadow:8px 8px 0 #20221f}.photo-label{font-size:23px;left:-10px}.photo-small{bottom:4px;font-size:11px;left:24px}.b-bottom{font-size:11px;letter-spacing:0;gap:15px}.b-bottom span{display:none}.design-b .hero .eyebrow{font-size:13px}.design-c .site-header{height:82px}.c-mast{font-size:10px;letter-spacing:.02em}.c-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:30px;gap:30px}.c-title h1{font-size:clamp(29px,7.4vw,43px);line-height:1.8}.c-text{margin:22px 0}.c-text p{font-size:14px}.hero-c .portrait{height:400px}.c-foot{margin-top:15px;flex-wrap:wrap;gap:14px;font-size:11px}.c-foot>span{width:100%;font-size:10px}.c-foot p{font-size:15px}.design-c .service-grid{gap:24px}.design-c .service{border-right:0;padding:20px 0 0}.design-c .letter{margin:0 6%;padding:55px 0}.design-c .letter h2{font-size:29px}.design-c .works{padding-top:15px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

/* D: a clear company face with Wakumo's personal warmth. */
.design-d{--accent:#296feb;--secondary:#586370;--line:#ccd5dd;color:#273644}
.hero-d{display:grid;grid-template-columns:1.2fr 1fr;gap:28px 65px;padding-top:30px}
.d-copy{padding-top:38px}.d-copy h1{font-size:clamp(34px,4.2vw,64px);line-height:1.55;letter-spacing:-.035em;font-weight:500;margin-bottom:25px}.d-copy h1 em{font-style:normal;color:#296feb}.d-lead{font-size:21px;letter-spacing:.01em;margin-bottom:12px}.d-copy .intro{font-size:15px;line-height:2.1}.d-copy .button{margin-top:29px}.d-copy .text-link{margin-top:20px}
.d-photo{position:relative;margin-right:14px;margin-top:15px}.d-photo .portrait{height:490px}.d-photo .portrait>img{border-radius:140px 8px 8px 8px;object-position:50% 32%}.d-greeting{position:absolute;bottom:57px;left:-35px;background:#ffe58f;padding:11px 23px;color:#292d26;transform:rotate(-4deg);font-size:24px;font-weight:500}.d-photo-note{position:absolute;bottom:25px;right:-14px;background:#fff;padding:10px 16px;font-size:13px;letter-spacing:.07em}.d-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ccd5dd;padding:36px 0 22px;margin-top:20px;font-size:11px;letter-spacing:.1em}.d-bottom p{font-size:15px;letter-spacing:.08em}
.design-d .services{background:#fff}.design-d .service{position:relative}.design-d .number{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;background:#ffe58f;color:#34372a;border-radius:50%;font-size:12px}.design-d .service h3{font-weight:500}.design-d .works{background:#f4f7fa}.design-d .letter{background:#263641;color:white}.design-d .letter .eyebrow{color:#ffe58f}.design-d .letter .button{background:#ffe58f;color:#25333e}.design-d .letter .fine{color:#cad3d9}.design-d .letter-mark{color:#ffe58f}.design-d .letter h2{font-size:38px}.design-d .concept-strip{border-bottom:2px solid #ffe58f}
@media(max-width:1100px){.review-title{display:none}.review-stamp{display:none}.review-bar{justify-content:center}.design-tabs button{padding:9px 12px!important}.hero-d{gap:25px 35px}.d-copy h1{font-size:43px}.d-photo .portrait{height:465px}.d-lead{font-size:18px}.d-greeting{font-size:21px;left:-20px}.d-copy .button{gap:20px;font-size:14px}}
@media(max-width:700px){.design-tabs{display:grid!important;grid-template-columns:1fr 1fr;gap:4px!important}.design-tabs button{padding:7px 9px!important;justify-content:flex-start!important;text-align:left}.hero-d{display:flex;flex-direction:column;gap:28px;padding-top:15px}.d-copy{padding-top:10px}.d-copy h1{font-size:clamp(33px,8.5vw,49px);margin-bottom:22px}.d-lead{font-size:17px}.d-copy .intro{font-size:14px}.d-copy .button{margin-top:26px;font-size:14px}.d-copy .text-link{display:block}.d-photo{margin:0 12px 10px 18px}.d-photo .portrait{height:390px}.d-photo .portrait>img{border-radius:120px 8px 8px 8px}.d-greeting{font-size:21px;left:-18px;bottom:51px}.d-photo-note{font-size:12px;right:-12px;bottom:22px}.d-bottom{margin-top:10px;padding:17px 0;flex-wrap:wrap;gap:14px}.d-bottom span:last-child{display:none}.d-bottom p{font-size:13px}.design-d .letter h2{font-size:30px}}

.design-d .service h3{margin-top:8px}.design-d .letter button.button{border:0;font-family:inherit;cursor:default}.design-d .letter button.button:disabled:hover{filter:none;transform:none}

.design-d .service{display:flex;flex-direction:column}.design-d .service>p{margin-bottom:28px}.service-button{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;border:1px solid #296feb;border-radius:6px;color:#245cc2;font-size:14px;background:#fff;min-height:54px;transition:background .18s,color .18s}.service-button:hover{background:#edf4ff;color:#1d468e}.service-button span{font-size:20px}.service .service-button{margin-top:auto}.detail-page{min-height:100vh;background:#fff}.detail-brand{font-size:24px;letter-spacing:.08em}.back-link{font-size:14px;color:#245cc2;text-decoration:underline;text-underline-offset:5px}.detail-intro,.detail-body{max-width:920px;margin:auto;padding:65px 6%}.detail-intro{border-bottom:1px solid #ccd5dd}.detail-intro .eyebrow{color:#296feb}.detail-intro h1{font-size:40px;line-height:1.5;margin-bottom:30px}.detail-intro h2{font-size:22px;line-height:1.8;margin-bottom:20px}.detail-intro p{font-size:16px}.detail-body>h2{font-size:27px;margin-bottom:35px}.detail-body article{padding:25px 0;border-top:1px solid #ccd5dd}.detail-body article h3{font-size:21px;margin-bottom:15px}.detail-body article p{font-size:16px}.detail-end{margin-top:35px;padding:32px;background:#f4f7fa}.detail-end .service-button{max-width:320px;margin:24px 0}.detail-end .back-link{display:inline-block;margin-top:5px}@media(max-width:700px){.detail-brand{font-size:18px}.detail-page .site-header{height:auto;min-height:96px;flex-wrap:wrap;gap:12px;padding:20px 0}.detail-intro,.detail-body{padding:40px 6%}.detail-intro h1{font-size:29px}.detail-intro h2{font-size:20px}.detail-end{padding:24px}.service-button{font-size:14px}}

/* Highlight the representative's caption with the same soft yellow. */
.design-d .d-photo .portrait figcaption{width:fit-content;max-width:100%;padding-top:0;margin-top:12px;line-height:1.8;background:linear-gradient(transparent 58%,#ffe58f 58%,#ffe58f 91%,transparent 91%)}

/* Readable emphasis, carried by words rather than floating decoration. */
.design-d .marker{color:inherit;background:linear-gradient(transparent 62%,#ffe58f 62%,#ffe58f 94%,transparent 94%);padding:0 .06em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.design-d .d-copy h1{font-weight:600;letter-spacing:-.035em}.design-d .d-copy .eyebrow{font-size:14px;letter-spacing:.035em;color:#4e5c68;margin-bottom:20px}.design-d .d-lead{font-size:23px;font-weight:500;margin-bottom:17px}.design-d .d-copy .intro{font-size:16px;line-height:2.1}.design-d .d-photo .portrait figcaption{font-size:14px;letter-spacing:.025em;margin-top:16px}.design-d .hero-d{padding-bottom:60px;border-bottom:1px solid #ccd5dd}.design-d .services{padding-top:70px}.design-d .service h3{font-size:22px;margin-top:8px;margin-bottom:20px;color:#526170}.design-d .service h4{font-size:18px;line-height:1.8;font-weight:600;margin-bottom:18px}.design-d .section-heading h2{font-weight:600}.design-d .service p{font-size:16px}.design-d .service-button{font-weight:500}
@media(max-width:1100px){.design-d .d-lead{font-size:20px}.design-d .service h4{font-size:16px}}
@media(max-width:700px){.design-d .hero-d{padding-bottom:44px}.design-d .d-copy .eyebrow{font-size:13px}.design-d .d-lead{font-size:18px}.design-d .d-copy .intro{font-size:15px}.design-d .d-photo .portrait figcaption{font-size:13px}.design-d .services{padding-top:48px}.design-d .service h3{font-size:20px;margin-bottom:12px}.design-d .service h4{font-size:18px}.design-d .service p{font-size:15px}}

/* Production pages: one company, one shared navigation and contact pair. */
.production{background:#fff;min-height:100vh}.production p{line-height:1.95}.production .site-button{font-size:15px}.production h1,.production h2,.production h3{overflow-wrap:anywhere}.production main{min-height:55vh}.site-review-bar{display:flex;justify-content:center;gap:20px;padding:9px 20px;background:#233441;color:#fff;font-size:12px;line-height:1.6}.site-review-bar span:first-child{color:#ffe58f;white-space:nowrap}.production-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:25px;padding:23px 4%;background:rgba(255,255,255,.97);border-bottom:1px solid #e4e9ee}.production-logo{width:190px;flex-shrink:0}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:24px;flex:1}.desktop-nav a{font-size:14px;white-space:nowrap;padding:10px 0}.desktop-nav a[aria-current]{border-bottom:2px solid #296feb}.desktop-nav a:hover{color:#296feb}.header-connect{display:flex;gap:9px}.connect-mail,.connect-line{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:14px;padding:13px 17px;border-radius:5px;min-height:46px;font-weight:500}.connect-mail{background:#ffe58f;color:#25333e;border:1px solid #ffe58f}.connect-line{background:#fff;color:#245cc2;border:1px solid #296feb}.connect-mail:hover{background:#ffdf73}.connect-line:hover{background:#edf4ff}.mobile-connect,.mobile-navigation{display:none}.skip-link{position:fixed;top:0;left:12px;transform:translateY(-150%);z-index:100;background:#fff;padding:16px;border:2px solid #296feb}.skip-link:focus{transform:translateY(0)}.site-button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;background:#296feb;color:#fff;border:1px solid #296feb;border-radius:6px;min-height:55px;padding:15px 22px;line-height:1.6;cursor:pointer;transition:background .18s}.site-button>span{font-size:21px;line-height:1}.site-button:hover{background:#1c57c4}.site-button.secondary{color:#245cc2;background:#fff}.site-button.secondary:hover{background:#edf4ff}.quiet-link{display:inline-block;font-size:14px;color:#245cc2;text-decoration:underline;text-underline-offset:6px;line-height:1.7}.production .hero-d{padding-top:45px;padding-bottom:68px;align-items:center}.production .d-copy{padding-top:0}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:21px;margin-top:30px}.production .d-photo .portrait{height:auto}.production .d-photo .portrait>img{height:470px;object-position:50% 32%}.production .section{padding:82px 5.5%}.production .section-heading{margin-bottom:36px}.section-heading-link{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.production .section h2{font-size:30px;line-height:1.6;font-weight:600}.section-kicker{font-size:14px;letter-spacing:.06em;margin-bottom:15px;color:#536473}.production .service{border-top:1px solid #ccd5dd;padding-top:22px;display:flex;flex-direction:column;min-width:0}.production .service .service-verb{font-size:21px;margin-bottom:15px;color:#526170}.production .service h3{font-size:19px;line-height:1.9;font-weight:600;margin:0 0 20px;color:#273644;display:block}.production .service>p:not(.service-verb){font-size:15px;margin-bottom:28px}.production .service>.site-button{margin-top:auto;display:flex;font-size:14px;gap:14px;padding:14px 18px}.production .tinted{background:#f4f7fa}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px}.portfolio-card{min-width:0}.portfolio-image{display:block;overflow:hidden;aspect-ratio:760/428;background:#e9edf2;border-radius:7px}.portfolio-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.portfolio-image:hover img{transform:scale(1.025)}.work-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px;font-size:12px;color:#596875}.work-client{font-size:14px;color:#526170;margin-bottom:8px}.portfolio-card h3{font-size:22px;line-height:1.6;margin-bottom:12px;font-weight:500}.portfolio-card h3 a:hover{color:#296feb}.portfolio-card>p:last-child{font-size:15px;color:#526170}.company-teaser{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;border-bottom:1px solid #e4e9ee}.company-teaser>div p{font-size:16px;margin-bottom:25px}.news-list{border-top:1px solid #ccd5dd}.news-row{display:grid;grid-template-columns:220px 1fr 24px;gap:25px;align-items:center;padding:27px 0;border-bottom:1px solid #ccd5dd}.news-row>div{display:flex;align-items:center;gap:18px;font-size:12px;color:#526170}.news-row h3{font-size:18px;line-height:1.7}.news-row>span{font-size:24px;color:#296feb}.news-row:hover h3{color:#296feb}.connection-band{padding:70px 5.5%;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;background:#263641;color:#fff}.connection-band .section-kicker{color:#ffe58f}.connection-band h2{font-size:36px;line-height:1.6;font-weight:500;margin-bottom:22px}.connection-band p{font-size:15px}.connection-actions{display:flex;flex-direction:column;gap:15px;max-width:355px;width:100%;justify-self:end}.connection-actions .site-button{background:#ffe58f;color:#25333e;border-color:#ffe58f}.connection-actions .site-button.secondary{background:transparent;color:#fff;border-color:#91a4b2}.production-footer{margin:0;padding:55px 5.5%;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:45px;align-items:start}.footer-company{font-size:24px;letter-spacing:.045em}.production-footer p{font-size:12px;color:#5a6772;margin:15px 0}.production-footer>div>a:not(.footer-company){font-size:13px;color:#245cc2}.production-footer>nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:13px}.footer-connect{display:grid;gap:12px}.footer-connect small{font-size:11px;margin-top:13px;color:#5a6772}.production-footer .footer-connect a{font-size:14px!important}.page-heading{padding:30px 5.5% 55px;border-bottom:1px solid #dbe3ea}.breadcrumbs{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:#61717e;line-height:1.8;margin-bottom:48px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.page-heading h1{font-size:43px;line-height:1.6;font-weight:600;margin-bottom:18px;letter-spacing:.01em}.page-heading>p{font-size:17px;color:#536473}.production .page-section{padding-top:55px}.prose{max-width:920px;margin:auto}.prose>p{margin:20px 0 25px;font-size:16px}.consultation{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}.consultation h2{font-size:28px!important;margin-bottom:18px}.consultation p{font-size:15px}.consultation-price{border-left:1px solid #ccd5dd;padding-left:45px}.consultation-price strong{display:block;font-size:25px;line-height:1.7;margin:10px 0 22px;font-weight:500}.consultation-price strong span{display:block;font-size:32px}.consultation .fine{font-size:12px}.service-detail-grid{display:grid;grid-template-columns:.85fr 1.5fr;gap:90px}.service-detail-grid aside{align-self:start;background:#f4f7fa;padding:28px}.service-detail-grid aside ul{padding-left:1.1em;line-height:1.9;margin:0}.service-detail-grid aside li{font-size:15px;margin:18px 0}.service-detail-lead{font-size:18px;margin-bottom:45px}.service-detail-grid h2{font-size:26px!important;margin-bottom:30px}.service-detail-item{padding:25px 0;border-top:1px solid #ccd5dd}.service-detail-item h3{font-size:21px;line-height:1.8;font-weight:500;margin-bottom:15px}.service-detail-item p{font-size:16px}.service-flow ul{margin:25px 0 30px;padding-left:1.2em;line-height:2}.service-flow li{padding:5px 0;font-size:16px}.service-flow>.quiet-link{margin-top:25px}.inline-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:28px}.block-title{margin-bottom:34px}.work-filters{display:flex!important;gap:10px!important;background:transparent!important;flex-wrap:wrap!important;height:auto!important;padding:0!important;justify-content:flex-start!important;border-radius:0!important;width:100%!important}.work-filters button{padding:12px 20px!important;min-height:45px!important;border:1px solid #c6d4e1!important;color:#4c5b69!important;border-radius:100px!important;font-size:14px!important;background:#fff!important;flex:0 1 auto!important}.work-filters button[data-active]{background:#296feb!important;color:#fff!important;border-color:#296feb!important}.filter-count{font-size:13px;color:#586875;margin:28px 0}.case-image{width:100%;max-width:950px;margin:0 auto 65px;border-radius:7px;background:#f4f7fa}.case-layout{display:grid;grid-template-columns:1fr 2fr;gap:65px}.case-meta{margin:0}.case-meta>div{padding:17px 0;border-top:1px solid #dbe3ea}.case-meta dt{font-size:12px;color:#586875;margin-bottom:9px}.case-meta dd{font-size:15px;line-height:1.8;margin:0}.case-prose h2{font-size:25px!important;margin-bottom:20px}.case-prose>p{font-size:17px;margin-bottom:35px}.case-prose>.quiet-link{margin-top:30px}.article-body{max-width:880px;margin:auto}.article-body>section{margin-top:38px}.article-body h2{font-size:24px!important;margin-bottom:20px}.article-body p{font-size:16px}.article-body .article-summary{font-size:19px;margin-bottom:45px}.article-category{color:#296feb;font-size:13px!important;margin-bottom:20px}.company-intro{display:grid;grid-template-columns:1fr 1.5fr;gap:75px;align-items:start}.company-portrait img{width:100%;height:450px;object-fit:cover;object-position:50% 32%;border-radius:80px 6px 6px 6px}.company-portrait p{font-size:12px;margin-top:17px}.company-intro h2{font-size:36px!important;margin-bottom:28px}.company-intro>div>p:not(.section-kicker){margin-bottom:20px;font-size:16px}.company-intro .quiet-link{margin-top:15px}.company-information>dl{max-width:920px;margin:30px 0}.company-information dl>div{display:grid;grid-template-columns:160px 1fr;gap:30px;padding:23px 0;border-top:1px solid #ccd5dd}.company-information dt{font-size:14px;color:#536473}.company-information dd{margin:0;font-size:16px;line-height:1.9}.company-information a{color:#245cc2}.contact-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:85px}.contact-layout aside h2{font-size:25px!important;margin-bottom:20px}.contact-layout aside>p{font-size:15px;margin-bottom:25px}.contact-email{margin-top:28px}.contact-email a{text-decoration:underline;text-underline-offset:4px;color:#245cc2}.contact-layout form{min-width:0}.form-intro{font-size:15px;margin-bottom:25px;color:#586875}.contact-layout form label{display:flex;gap:12px;align-items:center;font-size:15px;margin:24px 0 10px}.contact-layout form label span{font-size:11px;color:#526170;background:#f0f4f7;padding:2px 7px}.contact-layout input,.contact-layout textarea,.contact-layout select{border:1px solid #9aafc1;border-radius:5px;padding:13px 14px;width:100%;font-family:inherit;font-size:16px;min-height:50px;height:auto;background:#fff;color:#273644}.contact-layout [data-slot=native-select-wrapper]{width:100%}.contact-layout textarea{resize:vertical;min-height:180px;line-height:1.8}.contact-layout form .site-button{margin-top:23px;font-family:inherit;width:100%}.contact-layout .fine a{text-decoration:underline}.contact-status{font-size:14px;margin-top:16px;color:#245cc2}.newsletter-page{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.newsletter-page h2{font-size:34px!important;margin-bottom:25px}.newsletter-page p{font-size:16px;margin-bottom:22px}.signup-panel{padding:35px;background:#f4f7fa;border-radius:8px;align-self:start}.signup-panel h2{font-size:22px!important}.signup-panel .site-button{display:flex;margin-bottom:25px}.signup-panel .quiet-link{font-size:13px}.production .letter-band{margin:0}.production .detail-page{background:#fff}
@media(min-width:1550px){.production>main,.production-footer{max-width:1550px;margin-left:auto;margin-right:auto}.production-header{padding-left:max(4%,calc((100vw - 1390px)/2));padding-right:max(4%,calc((100vw - 1390px)/2))}}
@media(max-width:1180px){.production-header{gap:18px;padding:18px 3%}.production-logo{width:160px}.desktop-nav{gap:15px}.desktop-nav a{font-size:13px}.connect-mail,.connect-line{padding:12px 13px;gap:12px;font-size:13px}.production .d-copy h1{font-size:43px}.service-detail-grid{gap:40px}.contact-layout{gap:45px}.company-intro{gap:45px}.company-intro h2{font-size:32px!important}.production .service h3{font-size:17px}.production .service>.site-button{font-size:13px;padding:13px}.news-row{grid-template-columns:190px 1fr 20px}}
@media(max-width:950px){.desktop-nav{display:none}.header-connect{margin-left:auto}.mobile-navigation{display:block;position:relative}.mobile-navigation summary{cursor:pointer;list-style:none;border:1px solid #ccd5dd;border-radius:5px;padding:12px 14px;font-size:13px}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation nav{position:absolute;right:0;top:55px;background:#fff;width:230px;padding:10px 20px;border:1px solid #ccd5dd;border-radius:5px;box-shadow:0 10px 25px #22334418}.mobile-navigation nav a{display:block;padding:13px 0;font-size:15px;border-bottom:1px solid #edf1f5}.production .d-copy h1{font-size:38px}.production .d-photo .portrait>img{height:440px}.production .d-copy .intro{font-size:15px}.production .hero-d{gap:30px}.production .service-grid{gap:23px}.production .service h3{font-size:16px}.service .site-button{font-size:12px!important}.production-footer{grid-template-columns:1.3fr 1fr;gap:30px}.footer-connect{grid-column:1/-1;display:flex;align-items:center}.footer-connect small{margin-left:auto}.connection-band{gap:40px}.connection-band h2{font-size:30px}.company-intro{gap:35px}.company-portrait img{height:380px}.company-intro h2{font-size:28px!important}.newsletter-page{gap:30px}.newsletter-page h2{font-size:28px!important}}
@media(max-width:700px){.production{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.site-review-bar{font-size:11px;padding:8px 6%;display:block}.site-review-bar span{display:block}.site-review-bar span+span{margin-top:2px;font-size:10px}.production-header{padding:17px 6%;justify-content:space-between;gap:10px}.production-logo{width:174px}.header-connect{display:none}.mobile-navigation summary{padding:10px 12px;font-size:12px}.mobile-navigation nav{top:50px}.mobile-connect{position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:rgba(255,255,255,.98);border-top:1px solid #d8e0e7;padding:11px 5% calc(11px + env(safe-area-inset-bottom))}.mobile-connect>a{font-size:15px;padding:11px 17px;min-height:48px}.production .hero-d{padding-top:27px;padding-bottom:47px;gap:30px}.production .d-copy h1{font-size:clamp(32px,8.5vw,47px)}.production .d-copy .eyebrow{font-size:12px;letter-spacing:0}.production .d-copy .intro{font-size:15px}.production .d-lead{font-size:18px}.production .d-photo .portrait>img{height:390px}.production .d-photo .portrait figcaption{font-size:12px}.hero-actions{margin-top:25px}.hero-actions .site-button{font-size:14px;padding:15px 18px;gap:16px}.production .section{padding:52px 6%}.production .section h2{font-size:25px}.section-heading-link{align-items:flex-start;flex-direction:column;gap:17px}.production .section-heading{margin-bottom:29px}.production .service-grid{gap:30px}.production .service h3{font-size:19px;margin-bottom:15px}.production .service .service-verb{font-size:19px;margin-bottom:8px}.service .site-button{font-size:14px!important}.production .service>.site-button{min-height:53px;padding:14px 17px}.portfolio-grid{grid-template-columns:1fr;gap:38px}.portfolio-card h3{font-size:20px}.portfolio-card>p:last-child{font-size:14px}.work-meta{font-size:11px;margin-top:16px}.work-client{font-size:13px}.company-teaser{grid-template-columns:1fr;gap:22px}.company-teaser>div p{font-size:15px}.news-row{grid-template-columns:1fr 20px;gap:12px;padding:23px 0}.news-row>div{grid-column:1/-1;font-size:12px}.news-row h3{font-size:16px}.connection-band{grid-template-columns:1fr;padding:48px 6%;gap:30px}.connection-band h2{font-size:29px}.connection-band p{font-size:14px}.connection-actions{justify-self:stretch;max-width:none}.production-footer{padding:40px 6%;grid-template-columns:1fr;gap:30px}.footer-company{font-size:22px}.production-footer>nav{gap:18px;font-size:14px}.footer-connect{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}.footer-connect small{grid-column:1/-1;margin:5px 0 0}.production-footer .footer-connect a{font-size:13px!important}.page-heading{padding:22px 6% 35px}.breadcrumbs{font-size:11px;gap:8px;margin-bottom:30px}.page-heading h1{font-size:31px;line-height:1.5;margin-bottom:15px}.page-heading>p{font-size:15px}.production .page-section{padding-top:36px}.consultation{grid-template-columns:1fr;gap:28px}.consultation h2{font-size:24px!important}.consultation-price{border-left:none;border-top:1px solid #ccd5dd;padding:24px 0 0}.consultation-price strong{font-size:22px}.consultation-price strong span{font-size:29px}.service-detail-grid{grid-template-columns:1fr;gap:35px}.service-detail-grid aside{padding:23px}.service-detail-lead{font-size:16px;margin-bottom:32px}.service-detail-grid h2{font-size:24px!important}.service-detail-item h3{font-size:19px}.service-detail-item p{font-size:15px}.service-flow li,.service-flow>p{font-size:15px}.inline-actions{gap:15px}.inline-actions .site-button{width:100%}.work-filters{gap:8px!important}.work-filters button{font-size:13px!important;padding:10px 15px!important;min-height:42px!important}.filter-count{margin:20px 0}.case-image{margin-bottom:30px}.case-layout{grid-template-columns:1fr;gap:30px}.case-meta>div{display:grid;grid-template-columns:85px 1fr;gap:15px}.case-meta dd{font-size:14px}.case-prose h2{font-size:23px!important}.case-prose>p{font-size:16px}.article-body h2{font-size:22px!important}.article-body .article-summary{font-size:17px}.company-intro{grid-template-columns:1fr;gap:32px}.company-portrait{max-width:340px}.company-portrait img{height:365px}.company-portrait p{font-size:12px}.company-intro h2{font-size:29px!important}.company-intro>div>p:not(.section-kicker){font-size:15px}.company-information dl>div{grid-template-columns:1fr;gap:10px;padding:19px 0}.company-information dd{font-size:15px}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-layout aside h2{font-size:24px!important}.contact-layout form{padding-top:10px;border-top:1px solid #dbe3ea}.contact-layout .site-button{font-size:14px}.newsletter-page{grid-template-columns:1fr;gap:25px}.newsletter-page h2{font-size:28px!important}.newsletter-page p{font-size:15px}.signup-panel{padding:25px}.signup-panel h2{font-size:22px!important}.quiet-link{font-size:14px}}

.work-filters button[aria-pressed=true]{background:#296feb!important;color:#fff!important;border-color:#296feb!important}.production .contact-status{display:block}

/* Work gallery: a visible next card invites browsing without autoplay. */
.work-carousel{min-width:0}.work-carousel [data-slot=carousel-content]{overflow:hidden;padding:4px 0 8px}.work-carousel-track{display:flex;margin-left:0!important;gap:30px;touch-action:pan-y pinch-zoom}.work-carousel-slide{min-width:0;flex:0 0 43%;padding-left:0!important}.work-carousel-slide .portfolio-grid{display:block}.work-carousel-slide .portfolio-card h3{font-size:20px}.work-carousel .portfolio-image{border-radius:7px}.work-carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px}.work-carousel-controls>p{font-size:13px;color:#586875}.work-carousel-controls>div{display:flex;gap:12px}.work-carousel-controls button{position:static!important;inset:auto!important;transform:none!important;margin:0!important;display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;border:1px solid #94abc0;background:#fff;color:#245cc2;border-radius:50%;font-size:22px;cursor:pointer;transition:background .15s}.work-carousel-controls button:hover:not(:disabled){background:#ffe58f;border-color:#d5b965}.work-carousel-controls button:disabled{opacity:.35;cursor:default}.work-carousel-controls button svg{width:20px;height:20px}.work-carousel-controls .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.work-carousel .static-carousel-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9fb2c3 transparent;scroll-padding-inline:0;overscroll-behavior-x:contain}.static-carousel-viewport .work-carousel-track{touch-action:auto}.static-carousel-viewport .work-carousel-slide{scroll-snap-align:start}.work-carousel [data-slot=carousel-content]:focus-visible{outline:2px solid #296feb;outline-offset:5px}
@media(max-width:950px){.work-carousel-slide{flex-basis:62%}.work-carousel-track{gap:24px}}
@media(max-width:700px){.work-carousel-slide{flex-basis:88%}.work-carousel-track{gap:18px}.work-carousel-slide .portfolio-card h3{font-size:19px}.work-carousel .work-meta{flex-wrap:wrap;gap:5px}.work-carousel-controls{margin-top:24px}.work-carousel-controls button{width:46px;height:46px;min-width:46px}.work-carousel-controls>p{font-size:12px}}

/* Dedicated case studies remain inside the new company website. */
.portfolio-card>.site-button{display:flex;margin-top:23px;width:fit-content;min-width:205px;font-size:14px}.case-introduction{max-width:950px;margin:0 auto 30px;font-size:20px;line-height:1.9}.case-visual{max-width:950px;margin:0 auto 55px}.case-visual .case-image{margin:0}.case-visual figcaption{font-size:12px;color:#61717e;margin-top:12px}.case-story{padding-top:26px;border-top:1px solid #dbe3ea;margin:30px 0}.case-story h3{font-size:21px;line-height:1.8;font-weight:500;margin-bottom:15px}.case-story p{font-size:16px}.case-consult{background:#f4f7fa;padding:30px;margin-top:38px}.case-consult h3{font-size:21px;margin-bottom:15px;line-height:1.8}.case-consult p{font-size:15px}.case-consult .inline-actions{gap:12px}.case-consult .site-button{font-size:14px}.case-navigation{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;border-top:1px solid #ccd5dd;padding-top:28px;margin-top:55px;font-size:14px;color:#245cc2}.case-navigation>a{text-decoration:underline;text-underline-offset:5px}.case-navigation>:last-child{text-align:right}
@media(max-width:700px){.portfolio-card>.site-button{min-width:0;width:100%}.case-introduction{font-size:17px;margin-bottom:25px}.case-visual{margin-bottom:30px}.case-story h3{font-size:20px}.case-story p{font-size:15px}.case-consult{padding:23px}.case-consult h3{font-size:19px}.case-navigation{font-size:13px;gap:12px;margin-top:35px}.case-consult .site-button{font-size:13px}}

/* Newsletter and LINE retain their own colors across all pages. */
.production .connect-line,.production .site-button.button-line{background:#06c755;border-color:#06c755;color:#102b1b}
.production .connect-line:hover,.production .site-button.button-line:hover{background:#05b34c;border-color:#05b34c;color:#102b1b}
.production .quiet-link[href^="https://lin.ee/"]{color:#087d38}
.production .site-button.button-newsletter{background:#ffe58f;border-color:#ffe58f;color:#25333e}
.production .site-button.button-newsletter:hover{background:#ffdf73;border-color:#ffdf73}
.signup-form label{display:block;font-size:14px;margin:18px 0 8px}.signup-form input[type=email]{border:1px solid #9aafc1;border-radius:5px;padding:13px 14px;width:100%;font-family:inherit;font-size:16px;min-height:50px;background:#fff;color:#273644}.signup-form .cf-turnstile{margin:16px 0}.signup-panel .signup-form .site-button{width:100%;display:flex;margin:6px 0 16px;font-family:inherit;cursor:pointer}.signup-form .site-button:disabled{opacity:.6;cursor:default}.signup-status{display:block;font-size:14px;color:#245cc2;min-height:1.5em;margin-bottom:12px}.signup-form .fine{font-size:12px;color:#586875;margin-bottom:20px}

/* Top-page direction: strong editorial typography and a dark portfolio gallery. */
.home-editorial{color:#17252e}
.home-editorial .production-header{padding-block:20px;border-bottom-color:#17252e}
.home-editorial .site-button,.home-editorial .connect-mail,.home-editorial .connect-line{border-radius:2px}
.home-editorial .hero-d{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:5%;padding:72px 5.5% 86px;border-bottom:1px solid #17252e}
.home-editorial .d-copy{padding:0;position:relative;z-index:1}
.home-editorial .d-copy .eyebrow{font-size:14px;letter-spacing:.04em;margin-bottom:38px;color:#17252e}
.home-editorial .d-copy h1{font-size:clamp(40px,4.6vw,78px);line-height:1.38;font-weight:800;letter-spacing:-.055em;margin:0 0 34px;white-space:nowrap}
.home-editorial .d-copy h1 em{color:#17252e;font-style:normal}
.home-editorial .d-lead{font-size:clamp(18px,1.65vw,25px);font-weight:600;margin-bottom:18px}
.home-editorial .d-copy .intro{font-size:16px;line-height:2}
.home-editorial .hero-actions{margin-top:34px;gap:20px}
.home-editorial .d-photo{margin:0;align-self:stretch;display:flex;align-items:center}
.home-editorial .d-photo .portrait{width:100%;height:auto;margin:0}
.home-editorial .d-photo .portrait>img{height:clamp(420px,40vw,640px);width:100%;object-fit:cover;object-position:50% 32%;border-radius:0;filter:saturate(.7);display:block}
.home-editorial .d-photo .portrait figcaption{font-size:13px;margin-top:18px}
.home-editorial .section{padding:100px 5.5%}
.home-editorial .section h2{font-size:clamp(28px,3.2vw,48px);font-weight:700;letter-spacing:-.045em;line-height:1.5}
.home-editorial .section-heading{margin-bottom:52px}
.home-editorial .service-grid{gap:4%}
.home-editorial .service{border-top:2px solid #17252e;padding-top:28px}
.home-editorial .service .service-verb{font-size:clamp(30px,3vw,44px);font-weight:700;color:#17252e;margin-bottom:28px;letter-spacing:-.04em}
.home-editorial .service h3{font-size:18px;line-height:1.8}
.home-editorial .service h3 .marker{background:none}
.home-editorial .service>p:not(.service-verb){font-size:16px;line-height:2}
.home-editorial .service>.site-button{border-color:#17252e;color:#17252e;font-size:14px!important;padding:16px 18px}
.home-editorial #home-works{background:#17252e;color:#fff;padding-right:0}
.home-editorial #home-works .section-heading{padding-right:5.8%}
.home-editorial #home-works .section-kicker{color:#c5d1d8;font-size:14px}
.home-editorial #home-works .quiet-link{color:#ffe58f}
.home-editorial .work-carousel-track{gap:36px}
.home-editorial .work-carousel-slide{flex-basis:56%}
.home-editorial .work-carousel .portfolio-image{border-radius:0;background:#0c141a}
.home-editorial .work-carousel .work-meta,.home-editorial .work-carousel .work-client{color:#c5d1d8;font-size:14px}
.home-editorial .work-carousel .portfolio-card h3{font-size:clamp(21px,2.2vw,30px);font-weight:600;line-height:1.6}
.home-editorial .work-carousel .portfolio-card>p{font-size:16px;color:#d8e0e5}
.home-editorial .work-carousel .portfolio-card>.site-button{background:transparent;border-color:#83929d;color:#fff;border-radius:2px}
.home-editorial .work-carousel .portfolio-card>.site-button:hover{background:#263b49}
.home-editorial .work-carousel-controls{padding-right:5.8%;margin-top:42px}
.home-editorial .work-carousel-controls>p{color:#c5d1d8;font-size:14px}
.home-editorial .work-carousel-controls button{border-radius:0;color:#17252e}
.home-editorial .company-teaser{grid-template-columns:1fr 1fr;gap:8%;padding-block:120px}
.home-editorial .company-teaser>div p{font-size:17px}
.home-editorial .news-row{padding-block:32px;border-bottom-color:#c4ccd1}
.home-editorial .news-row h3{font-size:20px;font-weight:500}
.home-editorial .news-row>div{font-size:14px}
.home-editorial .connection-band{background:#f1f4f5;border-top:1px solid #17252e;padding:80px 5.5%}
.home-editorial .connection-band h2{font-size:clamp(30px,3.3vw,48px);font-weight:700;letter-spacing:-.04em}
.home-editorial .connection-band p{font-size:16px}
.home-editorial .production-footer{border-top:1px solid #c4ccd1}
@media(max-width:950px){
.home-editorial .hero-d{padding-top:50px;gap:4%}
.home-editorial .d-copy h1{font-size:clamp(32px,4.7vw,45px)}
.home-editorial .d-photo .portrait>img{height:460px}
.home-editorial .section{padding-block:75px}
.home-editorial .service-grid{gap:24px}
.home-editorial .service h3{font-size:17px}
.home-editorial .work-carousel-slide{flex-basis:76%}
}
@media(max-width:700px){
.home-editorial .hero-d{display:grid;grid-template-columns:1fr;padding:38px 6% 48px;gap:36px}
.home-editorial .d-copy .eyebrow{font-size:13px;margin-bottom:26px}
.home-editorial .d-copy h1{font-size:clamp(30px,7.9vw,54px);margin-bottom:26px;line-height:1.43}
.home-editorial .d-copy .intro{font-size:16px}
.home-editorial .d-photo{width:100%;padding-left:15%}
.home-editorial .d-photo .portrait>img{height:380px;object-position:50% 30%}
.home-editorial .d-photo .portrait figcaption{font-size:12px;margin-top:12px}
.home-editorial .section{padding:58px 6%}
.home-editorial .section-heading{margin-bottom:32px}
.home-editorial .service-grid{gap:36px}
.home-editorial .service .service-verb{font-size:34px;margin-bottom:16px}
.home-editorial .service h3{font-size:19px}
.home-editorial .work-carousel-slide{flex-basis:88%}
.home-editorial .work-carousel-track{gap:22px}
.home-editorial .work-carousel .portfolio-card h3{font-size:22px}
.home-editorial .work-carousel .work-meta{font-size:12px}
.home-editorial .company-teaser{grid-template-columns:1fr;gap:24px}
.home-editorial .company-teaser>div p{font-size:16px}
.home-editorial .news-row h3{font-size:17px}
.home-editorial .connection-band{padding:52px 6%}
}
@media(prefers-reduced-motion:reduce){.home-editorial *{scroll-behavior:auto!important;transition:none!important}}

/* A typographic opening without a portrait. */
.home-editorial .hero-d{grid-template-columns:1fr;gap:54px;padding-top:84px;padding-bottom:38px}
.home-editorial .d-copy{max-width:1100px}
.home-editorial .d-copy h1{font-size:clamp(48px,7.8vw,116px);line-height:1.3;letter-spacing:-.055em;margin-bottom:40px;white-space:normal}
.home-editorial .d-copy .eyebrow{margin-bottom:34px}
.home-editorial .d-copy h1 em{background:linear-gradient(transparent 85%,#ffe58f 85%,#ffe58f 96%,transparent 96%)}
.home-editorial .hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:24px 32px}
.home-editorial .hero-signature{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #b7c1c8;padding-top:25px}
.home-editorial .hero-signature p{font-size:18px;font-weight:600;letter-spacing:.08em;margin:0}
.home-editorial .hero-signature span{font-size:14px;color:#536473}
@media(max-width:700px){
.home-editorial .hero-d{padding:44px 6% 28px;gap:38px}
.home-editorial .d-copy h1{font-size:clamp(30px,8.8vw,60px);line-height:1.45;margin-bottom:30px}
.home-editorial .hero-actions{align-items:flex-start;flex-direction:column;gap:22px}
.home-editorial .hero-signature{align-items:flex-start;flex-direction:column;gap:7px;padding-top:20px}
.home-editorial .hero-signature p{font-size:16px}
.home-editorial .hero-signature span{font-size:13px}
}

/* Keep the light connection panel readable in the editorial design. */
.home-editorial .connection-band{color:#17252e}
.home-editorial .connection-band h2,.home-editorial .connection-band p{color:#17252e}
.home-editorial .connection-band .section-kicker{color:#425563}

.production .service .service-verb{font-size:clamp(22px,2.35vw,34px);line-height:1.5;overflow-wrap:anywhere}.ai-foundation{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #aebbc4;margin-top:45px;padding:28px 0}.ai-foundation h3{font-size:24px;font-weight:600;margin-bottom:10px}.ai-foundation p{font-size:16px}.ai-foundation>.site-button{flex-shrink:0}@media(max-width:700px){.ai-foundation{align-items:flex-start;flex-direction:column}.production .service .service-verb{font-size:27px}}

/* Selected hero: cloud artwork on screen, matching pencil rough in notebook. */
.home-editorial .hero-d{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:40px 4%;padding:65px 5.5% 30px}
.home-editorial .d-copy h1{font-size:clamp(32px,4.1vw,66px);line-height:1.4}
.home-editorial .hero-workspace{margin:0;min-width:0;align-self:center}
.home-editorial .hero-workspace img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.home-editorial .hero-signature{grid-column:1/-1}
@media(max-width:950px){.home-editorial .hero-d{gap:30px 3%}.home-editorial .d-copy h1{font-size:3.9vw}.home-editorial .hero-actions{flex-direction:column;align-items:flex-start}}
@media(max-width:700px){.home-editorial .hero-d{grid-template-columns:1fr;padding:36px 6% 28px}.home-editorial .d-copy h1{font-size:8vw}.home-editorial .hero-workspace{width:100%}}

.production .service .pillar-eyecatch{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin:0 0 25px;border-radius:0}.production .service:has(.pillar-eyecatch){border-top:0;padding-top:0}

.pillar-article-hero{margin:0 auto 24px;padding:0 5.5%;max-width:1320px}.pillar-article-hero img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center;border-radius:0}@media(max-width:700px){.pillar-article-hero{padding:0 6%;margin-bottom:12px}.pillar-article-hero img{aspect-ratio:3/2}}

/* AI service imagery */
.ai-service-hero{max-width:1376px;margin:40px auto 0;padding:0 44px}
.ai-service-hero img{display:block;width:100%;height:auto;aspect-ratio:2.4/1;object-fit:cover;object-position:center 52%}
.ai-service-flow{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center}
.ai-flow-image{margin:0;min-width:0}
.ai-flow-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.ai-service-flow .inline-actions{flex-wrap:wrap}
@media(max-width:900px){.ai-service-flow{grid-template-columns:1fr;gap:32px}.ai-flow-image{grid-row:1}.ai-flow-image img{aspect-ratio:16/9}}
@media(max-width:600px){.ai-service-hero{margin-top:24px;padding:0 22px}.ai-service-hero img{aspect-ratio:16/9}}

/* Actions (2026-09-25, 3b): words first, a dot of color, and a line or circle that answers the pointer. */
.production{--act-ink:#14222b;--act-mail:#ffd84d;--act-line:#06c755;--act-ease:cubic-bezier(.7,0,.2,1)}

/* Header and phone bar: a small dot of color; the word rolls on hover. */
.production .header-connect{gap:30px;align-items:center}
.production .connect-mail,.production .connect-line{--dot:var(--act-mail);display:inline-flex;align-items:center;justify-content:flex-start;gap:11px;min-height:0;padding:6px 0;background:none!important;border:0!important;border-radius:0;box-shadow:none;color:var(--act-ink)!important;font-size:14px;font-weight:700;letter-spacing:.08em;text-decoration:none;white-space:nowrap}
.production .connect-line{--dot:var(--act-line)}
.production .connect-mail::before,.production .connect-line::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--dot);transition:transform .45s var(--act-ease)}
.production .connect-mail:hover::before,.production .connect-line:hover::before{transform:scale(1.7)}
.roll{display:block;overflow:hidden;height:1.6em;line-height:1.6}
.roll>span{display:block;transition:transform .5s var(--act-ease)}
a:hover>.roll>span,a:focus-visible>.roll>span{transform:translateY(-100%)}

/* Links styled as actions: a label and a circle. */
.production a.site-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:16px;width:auto;min-width:0;min-height:0;padding:2px 0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--act-ink);font-weight:700;letter-spacing:.04em;line-height:1.6;text-decoration:none;transform:none}
.production .site-button .button-label{font-size:inherit;line-height:inherit;padding-bottom:2px;background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size .6s var(--act-ease)}
.production .site-button:hover .button-label,.production .site-button:focus-visible .button-label{background-size:100% 1px}
.production .button-circle{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 35%,transparent);font-size:0;line-height:1;transition:background .45s var(--act-ease),border-color .45s,color .45s,transform .45s var(--act-ease)}
.production .site-button:not(.secondary) .button-circle{background:var(--act-ink);border-color:var(--act-ink);color:#fff}
.production .site-button.button-newsletter .button-circle{background:var(--act-mail);border-color:var(--act-mail);color:var(--act-ink)}
.production .site-button.button-line .button-circle{background:var(--act-line);border-color:var(--act-line);color:var(--act-ink)}
.production .site-button.secondary:not(.button-line):hover .button-circle{background:var(--act-ink);border-color:var(--act-ink);color:#fff}
.production .site-button:hover .button-circle{transform:scale(1.06)}
.production .home-editorial .work-carousel .site-button,.home-editorial .work-carousel .portfolio-card>.site-button{color:#fff}
.home-editorial .work-carousel .site-button.secondary:hover .button-circle{background:#fff;border-color:#fff;color:var(--act-ink)}

/* Form submits stay unmistakable: a solid bar carrying the same circle. */
.production button.site-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:72px;padding:12px 12px 12px 26px;background:var(--act-ink);color:#fff;border:0;border-radius:0;box-shadow:none;font:inherit;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .3s}
.production button.site-button .button-circle{border-color:#ffffff66;background:none;color:#fff}
.production button.site-button:hover .button-circle{background:#fff;border-color:#fff;color:var(--act-ink)}
.production button.site-button.button-newsletter{background:var(--act-mail);color:var(--act-ink)}
.production button.site-button.button-newsletter .button-circle{background:var(--act-ink);border-color:var(--act-ink);color:#fff}
.production button.site-button:disabled{opacity:.6;cursor:default}

/* Service pages: consultation as large lines; a short stroke grows to full width. */
.consult-rows{display:grid;max-width:600px;margin-top:38px;border-top:1px solid #14222b2e}
.consult-row{--c:var(--act-ink);position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:24px 0 22px;color:var(--act-ink);text-decoration:none;border-bottom:1px solid #14222b2e}
.consult-row.row-line{--c:var(--act-line)}
.consult-row::after{content:"";position:absolute;left:0;bottom:-1px;width:44px;height:3px;background:var(--c);transition:width .7s var(--act-ease)}
.consult-row:hover::after,.consult-row:focus-visible::after{width:100%}
.consult-row strong{font-size:clamp(20px,2vw,26px);letter-spacing:.03em;transition:transform .6s var(--act-ease)}
.consult-row:hover strong{transform:translateX(12px)}
.consult-row small{font-size:12px;letter-spacing:.08em;color:#5b6b74;white-space:nowrap}

/* Closing band on every page: heading on the left, two ruled rows with circles on the right. */
.production .connection-band{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:70px;align-items:start;padding:92px 6% 96px;background:var(--act-ink);color:#fff;border-top:0}
.production .connection-band .section-kicker{margin:0 0 14px;font-size:13px;letter-spacing:.14em;color:#ffffff99}
.production .connection-band h2{font-size:clamp(22px,2.1vw,30px);font-weight:500;line-height:1.7;letter-spacing:.02em;margin:0;color:#fff}
.connection-rows{border-top:1px solid #ffffff24}
.connection-row{--c:var(--act-mail);position:relative;display:grid;grid-template-columns:minmax(150px,.7fr) 1fr 56px;align-items:center;gap:28px;padding:30px 0;border-bottom:1px solid #ffffff24;color:#fff;text-decoration:none}
.connection-row.row-line{--c:var(--act-line)}
.connection-row::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--c);transition:width .8s var(--act-ease)}
.connection-row:hover::after,.connection-row:focus-visible::after{width:100%}
.connection-row strong{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:600;letter-spacing:.06em}
.connection-row strong::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c)}
.production .connection-band .connection-row p{margin:0;font-size:14px;line-height:1.9;color:#ffffffb3}
.production .connection-row .button-circle{width:56px;height:56px;border-color:#ffffff4d;color:#fff}
.production .connection-row:hover .button-circle{background:var(--c);border-color:var(--c);color:var(--act-ink);transform:scale(1.06)}

/* Phone menu: two lines become a cross; the menu fills the screen in ink. */
.production .mobile-navigation summary{position:relative;z-index:61;width:44px;height:44px;padding:0;border:0;border-radius:0;display:grid;place-content:center;gap:7px;cursor:pointer;list-style:none}
.production .mobile-navigation summary i{display:block;width:28px;height:2px;background:var(--act-ink);transition:transform .45s var(--act-ease),background .3s}
.production .mobile-navigation[open] summary i{background:#fff}
.production .mobile-navigation[open] summary i:first-of-type{transform:translateY(4.5px) rotate(40deg)}
.production .mobile-navigation[open] summary i:last-of-type{transform:translateY(-4.5px) rotate(-40deg)}
.production .menu-panel{position:fixed;inset:0;z-index:60;background:var(--act-ink);color:#fff;padding:110px 8% 40px;display:flex;flex-direction:column;justify-content:space-between;overflow:auto;animation:menu-in .5s var(--act-ease)}
@keyframes menu-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.production .menu-panel nav{position:static;width:auto;padding:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none}
.production .menu-panel nav a{display:block;font-size:clamp(24px,6.5vw,34px);font-weight:700;letter-spacing:.04em;color:#fff;padding:12px 0;border:0;text-decoration:none}
.production .menu-panel nav a[aria-current]{color:var(--act-mail)}
.menu-connect{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff26;padding-top:24px;margin-top:36px}
.production .menu-connect a{color:#fff!important;font-size:17px}
.production:has(.mobile-navigation[open]) .mobile-connect{display:none}

.production .site-button:focus-visible,.production .connect-mail:focus-visible,.production .connect-line:focus-visible,.consult-row:focus-visible,.connection-row:focus-visible,.production .mobile-navigation summary:focus-visible{outline:2px solid #2f7cf6;outline-offset:5px}

@media(max-width:950px){.production .connection-band{grid-template-columns:1fr;gap:36px}}
@media(max-width:700px){
 .production .connection-band{padding:60px 6% 64px}
 .connection-row{grid-template-columns:1fr 48px;gap:10px 16px;padding:24px 0}
 .production .connection-band .connection-row p{grid-column:1;grid-row:2;font-size:13px}
 .production .connection-row .button-circle{grid-column:2;grid-row:1/3;width:48px;height:48px}
 .connection-row strong{font-size:20px}
 .consult-row strong{font-size:19px}.consult-row small{display:none}
 .production .button-circle{width:44px;height:44px}
 .production .mobile-connect{background:var(--act-ink);border-top:0;gap:0;padding:0 0 env(safe-area-inset-bottom)}
 .production .mobile-connect>a{justify-content:center;min-height:56px;padding:0;font-size:15px;color:#fff!important}
 .production .mobile-connect>a+a{box-shadow:inset 1px 0 #ffffff1f}
}
@media(prefers-reduced-motion:reduce){.roll>span,.production .site-button .button-label,.production .button-circle,.consult-row::after,.consult-row strong,.connection-row::after,.production .mobile-navigation summary i,.production .menu-panel{transition:none;animation:none}}

/* Back and paging: the same circle, placed before the words and pointing back. */
.production .site-button.button-back{gap:14px}
.production .site-button.button-back .button-circle svg{transition:transform .45s var(--act-ease)}
.production .site-button.button-back:hover .button-circle svg{transform:translateX(-3px)}
.production .site-button:not(.button-back):not(.button-line):hover .button-circle svg{transform:translateX(2px)}
.production .button-circle svg{transition:transform .45s var(--act-ease)}
.back-action{margin-top:30px}
.production .case-navigation{align-items:center;color:inherit}
.production .case-navigation>:nth-child(2){justify-self:center}
.production .case-navigation>:last-child{justify-self:end}
@media(max-width:700px){
 .production .case-navigation{grid-template-columns:1fr 1fr;gap:18px 12px}
 .production .case-navigation>:nth-child(2){grid-column:1/-1;grid-row:2;justify-self:start}
 .production .case-navigation .site-button{font-size:13px}
}
.production .inline-actions{gap:18px 40px}
.production .case-consult .inline-actions{gap:16px 36px}

/* Section-heading links (サービス一覧・実績・ブログ) and the hero LINE link use the same label + circle. */
.production .section-heading-link>.site-button{flex:none;font-size:15px}
.home-editorial #home-works .section-heading .site-button{color:#fff}
.home-editorial #home-works .section-heading .site-button:hover .button-circle{background:#fff;border-color:#fff;color:var(--act-ink)}

/* "すべての現場に、AI。" — the AI page's image on the left, copy in the middle, button on the right. */
.production .ai-foundation{display:grid;grid-template-columns:minmax(220px,340px) 1fr auto;align-items:center;gap:40px;padding:36px 0}
.ai-foundation-image{display:block;overflow:hidden;border-radius:7px;aspect-ratio:16/9;background:#e9edf2}
.ai-foundation-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--act-ease)}
.ai-foundation-image:hover img,.ai-foundation:has(.site-button:hover) .ai-foundation-image img{transform:scale(1.04)}
@media(max-width:900px){.production .ai-foundation{grid-template-columns:1fr;gap:22px}.ai-foundation-image{max-width:560px}}
/* The AI row closes its section: no double gap before the next band. */
.production .ai-foundation{padding-bottom:0}
.production .section:has(>.ai-foundation){padding-bottom:64px}
@media(max-width:700px){.production .section:has(>.ai-foundation){padding-bottom:44px}}

/* Contact: after sending, the form gives way to a clear completion panel. */
.contact-done{align-self:start;padding:44px 40px;background:#f4f7fa;border-left:3px solid var(--act-ink)}
.contact-done h2{font-size:26px!important;line-height:1.6;margin:0 0 18px;outline:none}
.contact-done p{font-size:15px;margin-bottom:14px}
.contact-done .site-button{margin-top:18px}
@media(max-width:700px){.contact-done{padding:30px 24px}}
/* Work page: link to the live page. */
.case-live{margin:34px 0 10px}

/* Work page: a video card — the frame darkens slightly, the play mark grows, the caption line runs. */
.case-video{display:block;margin:40px 0 8px;color:var(--act-ink);text-decoration:none}
.case-video-frame{position:relative;display:block;overflow:hidden;border-radius:7px;aspect-ratio:16/9;background:#14222b}
.case-video-frame img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--act-ease),filter .6s}
.case-video-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14222b00 45%,#14222b8c)}
.case-video-play{position:absolute;left:50%;top:50%;z-index:1;display:grid;place-items:center;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:#ffffffe6;color:var(--act-ink);box-shadow:0 10px 30px #0000004d;transition:transform .5s var(--act-ease),background .3s}
.case-video-play svg{margin-left:4px}
.case-video-caption{display:flex;align-items:center;gap:16px;padding:18px 0 16px;border-bottom:1px solid #14222b2e;position:relative}
.case-video-caption::after{content:"";position:absolute;left:0;bottom:-1px;width:44px;height:3px;background:#ff3d2e;transition:width .8s var(--act-ease)}
.case-video-caption small{font-size:11px;letter-spacing:.14em;color:#5b6b74;white-space:nowrap}
.case-video-caption strong{flex:1;font-size:18px;font-weight:700;letter-spacing:.03em}
.case-video:hover .case-video-frame img{transform:scale(1.04);filter:brightness(.92)}
.case-video:hover .case-video-play{transform:scale(1.1);background:#fff}
.case-video:hover .case-video-caption::after{width:100%}
.case-video:hover .button-circle{background:var(--act-ink);border-color:var(--act-ink);color:#fff}
.case-video:focus-visible{outline:2px solid #2f7cf6;outline-offset:6px}
@media(max-width:700px){.case-video-play{width:64px;height:64px;margin:-32px 0 0 -32px}.case-video-caption strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.case-video *{transition:none!important}}
/* Pillar names break only at the marked point (Kindle出版 / プロデューサー), never mid-word. */
.production .service .service-verb{word-break:keep-all;overflow-wrap:normal}
.production .service .service-verb{font-size:clamp(22px,2.1vw,30px)}
@media(max-width:700px){.production .service .service-verb{font-size:27px}}

/* Pillar article: the closing consultation — copy on the left, two ruled rows on the right. */
.production .pillar-consult{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:end;max-width:1180px;margin:20px auto 0;padding:64px 5.5% 60px;border-top:1px solid #14222b2e;background:#f4f7fa}
.pillar-consult .section-kicker{font-size:13px;letter-spacing:.08em;margin-bottom:16px}
.production .pillar-consult h2{font-size:clamp(24px,2.3vw,32px)!important;line-height:1.6;margin:0 0 18px}
.pillar-consult-copy>p:not(.section-kicker){font-size:15px;margin:0 0 10px}
.production .pillar-consult .consult-rows{margin-top:0;max-width:none}
.production .pillar-back{padding-top:36px;padding-bottom:56px;max-width:1180px;margin:0 auto}
@media(max-width:900px){.production .pillar-consult{grid-template-columns:1fr;gap:30px;padding:44px 6%}}
.production .pillar-consult .consult-row strong{font-size:clamp(19px,1.7vw,23px)}
.production .pillar-consult h2{text-wrap:pretty}

/* FAQ: questions as a scannable list; each opens to its answer. */
.faq-list{margin-top:26px;border-top:1px solid #14222b2e}
.faq-item{border-bottom:1px solid #14222b2e}
.faq-item summary{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:14px;padding:22px 0;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-mark{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:26px;line-height:1;color:var(--act-ink);text-align:center}
.faq-q{font-size:17px;font-weight:700;line-height:1.7;letter-spacing:.02em;color:var(--act-ink)}
.faq-toggle{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid #14222b40;transition:background .35s var(--act-ease),border-color .35s,transform .45s var(--act-ease)}
.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.5px;margin:-.75px 0 0 -6.5px;background:currentColor;color:var(--act-ink);transition:transform .45s var(--act-ease)}
.faq-toggle::after{transform:rotate(90deg)}
.faq-item[open] .faq-toggle{background:var(--act-ink);border-color:var(--act-ink)}
.faq-item[open] .faq-toggle::before,.faq-item[open] .faq-toggle::after{background:#fff}
.faq-item[open] .faq-toggle::after{transform:rotate(0deg)}
.faq-item summary:hover .faq-toggle{transform:scale(1.06)}
.faq-item summary:hover .faq-q{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.faq-item summary:focus-visible{outline:2px solid #2f7cf6;outline-offset:4px}
.faq-a{display:grid;grid-template-columns:40px 1fr 40px;gap:14px;padding:0 0 26px}
.faq-mark-a{color:#b8962e}
.production .faq-a p{margin:0!important;font-size:15.5px;line-height:1.95;color:#3d4c57}
.faq-item[open] .faq-a{animation:faq-in .45s var(--act-ease)}
@keyframes faq-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:700px){.faq-item summary,.faq-a{grid-template-columns:28px 1fr 34px;gap:10px}.faq-mark{font-size:22px}.faq-q{font-size:15.5px}.faq-toggle{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.faq-toggle,.faq-toggle::before,.faq-toggle::after,.faq-item[open] .faq-a{transition:none;animation:none}}
/* Pillar article: breathing room after the "こんなことはありませんか" list. */
.production .pillar-article p.pillar-list{margin-bottom:1.9em}

/* Pillar article lists. */
.production .pillar-checks{list-style:none;margin:6px 0 2.2em;padding:22px 26px;background:#f4f7fa;border-radius:6px;display:grid;gap:12px}
.pillar-checks li{position:relative;padding-left:34px;font-size:16px;line-height:1.8;color:var(--act-ink)}
.pillar-checks li::before{content:"";position:absolute;left:0;top:.35em;width:20px;height:20px;border-radius:50%;background:var(--act-mail)}
.pillar-checks li::after{content:"";position:absolute;left:6.5px;top:calc(.35em + 5px);width:7px;height:4px;border-left:2px solid var(--act-ink);border-bottom:2px solid var(--act-ink);transform:rotate(-45deg)}
.production .pillar-terms{margin:10px 0 1.8em;border-top:1px solid #14222b2e}
.pillar-terms>div{display:grid;grid-template-columns:10em 1fr;gap:24px;padding:18px 0;border-bottom:1px solid #14222b2e}
.pillar-terms dt{font-weight:700;font-size:16px;color:var(--act-ink);line-height:1.8}
.production .pillar-terms dd{margin:0;font-size:15.5px;line-height:1.9;color:#3d4c57}
.production .pillar-steps{list-style:none;margin:14px 0 1.8em;padding:0;display:grid;gap:0;counter-reset:none}
.pillar-steps li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:18px;padding:0 0 26px}
.pillar-steps li:not(:last-child)::before{content:"";position:absolute;left:23.5px;top:50px;bottom:4px;width:1px;background:#14222b33}
.pillar-step-no{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--act-ink);color:#fff;font-weight:700;font-size:17px}
.pillar-steps strong{display:block;font-size:17px;line-height:1.7;margin:10px 0 4px;color:var(--act-ink)}
.production .pillar-steps li p{margin:0!important;font-size:15.5px;line-height:1.9;color:#3d4c57}
@media(max-width:700px){.pillar-terms>div{grid-template-columns:1fr;gap:4px}.production .pillar-checks{padding:18px}.pillar-steps li{grid-template-columns:40px 1fr;gap:14px}.pillar-step-no{width:40px;height:40px;font-size:15px}.pillar-steps li:not(:last-child)::before{left:19.5px;top:42px}.pillar-steps strong{margin-top:6px}}
/* Pillar article: a set of short questions pulled out of the prose. */
.production .pillar-quote{margin:4px 0 1.6em;padding:6px 0 6px 24px;border-left:3px solid var(--act-mail)}
.production .pillar-quote p{margin:0!important;font-size:17px;font-weight:700;line-height:2.1;color:var(--act-ink)}
/* Pillar article: a visible gap between paragraphs. */
.production .pillar-article section>p{margin:0 0 1.1em}
.production .pillar-article section>p+.pillar-quote{margin-top:.2em}

/* Pillar article: two option boxes side by side (つくる / まわす). */
.pillar-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:10px 0 1.8em}
.pillar-box{padding:26px 26px 22px;background:#fff;border:1px solid #14222b24;border-top:3px solid var(--act-ink);border-radius:6px}
.pillar-box:nth-child(2){border-top-color:var(--act-mail)}
.production .pillar-box h3{display:flex;align-items:center;gap:10px;font-size:21px!important;font-weight:700;margin:0 0 14px;color:var(--act-ink)}
.pillar-box-tag{font-size:11px;font-weight:700;letter-spacing:.08em;padding:3px 9px;border-radius:99px;background:var(--act-mail);color:var(--act-ink)}
.pillar-box ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pillar-box li{position:relative;padding-left:18px;font-size:15px;line-height:1.8;color:#3d4c57}
.pillar-box li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--act-ink)}
@media(max-width:700px){.pillar-boxes{grid-template-columns:1fr}}
/* Pillar cards: the eyecatch image links to the article too. */
.pillar-eyecatch-link{display:block;overflow:hidden;border-radius:4px}
.pillar-eyecatch-link img{transition:transform .7s var(--act-ease)}
.pillar-eyecatch-link:hover img,.service:has(.site-button:hover) .pillar-eyecatch-link img{transform:scale(1.04)}
.production .pillar-article .pillar-subhead{font-size:18px!important;font-weight:700;margin:6px 0 8px;color:var(--act-ink)}
.production .pillar-article p,.production .pillar-article dd,.production .faq-a p{text-wrap:pretty}
/* Links inside pillar articles read as links. */
.production .pillar-article p a,.production .pillar-article dd a,.production .faq-a a{color:var(--act-ink);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:#14222b59;transition:text-decoration-color .3s}
.production .pillar-article p a:hover,.production .pillar-article dd a:hover,.production .faq-a a:hover{text-decoration-color:var(--act-ink)}
.production .pillar-article p a[target=_blank]::after{content:"↗";font-size:.8em;margin-left:2px;font-weight:400}

/* AI page: same list language as the pillar articles. */
.production .service-detail-grid aside.service-problems{background:none;padding:0}
.production .service-problems .pillar-checks{margin-top:4px}
.production .service-problems .pillar-checks li{font-size:15px;margin:0}
.production .service-flow .pillar-steps{margin:26px 0 30px}
.production .service-flow .pillar-steps li{padding-bottom:18px}
.production .service-flow .pillar-steps li p{margin:10px 0 0!important;font-size:15.5px;color:var(--act-ink)}
.production .service-flow .pillar-steps li:not(:last-child)::before{top:50px}
/* Header logo, two sizes up (190→240 / 160→210 / 174→196). */
.production .production-logo{width:240px}
@media(max-width:1180px){.production .production-logo{width:210px}}
@media(max-width:700px){.production .production-logo{width:196px}}

/* Japanese line breaking: headings break at phrase boundaries and balance their lines; body text avoids 1–2 character orphans. */
.production h1,.production h2,.production h3,.production .service-verb,.production .section-kicker,.production .consult-row strong,.production .faq-q{word-break:auto-phrase;text-wrap:balance}
.production p,.production li,.production dd{text-wrap:pretty}
.nobr{display:inline-block}
.production .d-copy .intro,.production .d-lead,.production .page-heading>p,.production .case-introduction{word-break:auto-phrase}
@media(max-width:700px){.production .page-heading h1{font-size:27px}}
/* Company: the illustrated portrait sits whole on a soft card (same shape as the photo frame). */
.production .company-portrait-illust img{height:450px;object-fit:contain;object-position:50% 100%;background:#eef3f7;padding:34px 30px 0}
@media(max-width:700px){.production .company-portrait-illust img{height:365px;padding:26px 22px 0}}

[hidden]{display:none!important}.work-filters button{font:inherit;cursor:pointer}.contact-status{display:block}