:root{--ink:#1b303d;--paper:#e8edf0;--muted:#52636d;--line:rgba(27,48,61,.18);--gutter:6.3vw}*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{color:inherit}img,video{max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;line-height:1.5;overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,iframe:focus-visible{outline:3px solid #276e96;outline-offset:5px}.screen-reader-text,.c-skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.c-skip-link:focus{position:fixed;z-index:10001;top:10px;left:10px;padding:12px;background:#fff}.section-wrap{padding:100px var(--gutter)}.eyebrow{font-size:13px;letter-spacing:.08em;margin:0 0 22px}.text-link{display:inline-block;padding:14px 0;border-bottom:1px solid var(--ink)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(232,237,240,.96);backdrop-filter:blur(12px);padding:24px 3.8vw;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.admin-bar .site-header{top:32px}.brand{display:block;flex-shrink:0;line-height:1}.brand img{display:block;width:170px;height:auto}.site-menu{display:flex;align-items:center;gap:30px;padding:0;margin:0;list-style:none;font-size:13px}.site-header .site-menu li:last-child a{border:1px solid var(--ink);border-radius:40px;padding:12px 20px}.menu-toggle{display:none}.page-intro{padding-top:100px;padding-bottom:75px}.page-intro h1{font-size:clamp(36px,5.5vw,84px);letter-spacing:-.055em;line-height:1.45;margin-bottom:28px}.page-lead{font-size:clamp(16px,1.4vw,20px);line-height:2;max-width:42em}.works-list{padding-top:20px}.work-filters{display:flex;flex-wrap:wrap;gap:12px 28px;border-bottom:1px solid var(--line);padding-bottom:27px;margin-bottom:65px}.work-filters a{font-size:14px;color:var(--muted);padding:4px 0}.work-filters [aria-current]{border-bottom:2px solid var(--ink);color:var(--ink)}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:95px 5vw}.work-card{min-width:0}.work-card-image{overflow:hidden;background:#dce3e7;aspect-ratio:1.55;margin-bottom:24px}.work-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.work-card-link:hover{text-decoration:none}.work-card-link:hover img{transform:scale(1.025)}.work-card-link:hover h2{text-decoration:underline;text-underline-offset:6px}.work-card-services{font-size:11px;letter-spacing:.04em;margin-bottom:10px;color:var(--muted)}.work-client{font-size:13px;margin:0 0 7px}.work-card h2{font-size:clamp(21px,2vw,30px);letter-spacing:-.025em;margin-bottom:14px}.work-card-lead{font-size:14px;line-height:2;color:var(--muted);max-width:44em}.pagination{margin-top:75px}.nav-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.page-numbers{padding:8px 14px}.page-numbers.current{border-bottom:1px solid var(--ink)}.empty-state{padding:70px 0}
.detail-hero{padding-top:45px;padding-bottom:75px}.breadcrumb{font-size:12px;margin:0 0 85px}.breadcrumb span{margin:0 16px;color:var(--muted)}.detail-client{font-size:15px;margin-bottom:16px}.detail-hero h1{font-size:clamp(34px,4.8vw,72px);letter-spacing:-.05em;max-width:21em;margin-bottom:35px;line-height:1.45}.detail-lead{font-size:clamp(17px,1.5vw,22px);line-height:2;max-width:44em;margin-bottom:0}.case-hero{margin:0 3vw;background:#dde4e8}.case-hero img{display:block;width:100%;height:auto;max-height:85vh;object-fit:contain}.case-overview{display:grid;grid-template-columns:1fr 1.55fr;gap:7vw;padding-bottom:75px}.case-overview h2{font-size:clamp(25px,3vw,40px);letter-spacing:-.04em}.case-overview dl{margin:0}.case-overview dl>div{display:grid;grid-template-columns:140px 1fr;gap:25px;border-top:1px solid var(--line);padding:23px 0}.case-overview dt{font-size:12px;color:var(--muted)}.case-overview dd{margin:0;font-size:15px;overflow-wrap:anywhere}.scope-note{font-size:13px;line-height:1.9;color:var(--muted);margin:16px 0 0}.work-body{background:#f6f8f9;padding-top:80px;padding-bottom:100px;overflow-wrap:anywhere}.work-body>*{max-width:760px;margin-left:auto;margin-right:auto}.work-body h2{font-size:clamp(24px,2.8vw,36px);margin-top:65px;margin-bottom:26px}.work-body h2:first-child{margin-top:0}.work-body h3{font-size:22px;margin-top:45px}.work-body p,.work-body li{font-size:16px;line-height:2.2}.work-body p{margin-bottom:28px}.work-body a{text-decoration:underline;text-underline-offset:4px}.work-body figure{margin-top:40px;margin-bottom:40px}.work-body .alignwide{max-width:1100px}.work-body .alignfull{max-width:none}.work-body iframe{max-width:100%}.work-body .wp-block-embed__wrapper{position:relative}.work-body .is-type-video .wp-block-embed__wrapper{aspect-ratio:16/9}.work-body .is-type-video iframe{width:100%;height:100%}.work-body table{width:100%;border-collapse:collapse}.work-body th,.work-body td{padding:12px;border:1px solid var(--line)}.work-body pre{overflow:auto}.work-body:empty{display:none}
.work-gallery{padding-top:90px;padding-bottom:90px}.gallery-heading{font-size:clamp(36px,5vw,72px);letter-spacing:-.045em;margin-bottom:45px;font-weight:400}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 28px;align-items:start}.gallery-wide{grid-column:1/-1}.gallery-item img{display:block;width:100%;height:auto}.gallery-item video{display:block;width:100%;background:#162832;max-height:85vh}.gallery-item figcaption{font-size:12px;color:var(--muted);padding-top:12px;line-height:1.8;overflow-wrap:anywhere}.external-video{position:relative;aspect-ratio:16/9;background:#203642;color:white;display:grid;place-items:center}.external-video>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.external-video:has(>img)::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25);pointer-events:none}.video-play{position:relative;z-index:1;display:flex;align-items:center;gap:20px;padding:18px 26px;background:rgba(18,33,42,.88);max-width:90%;border:1px solid #ffffff70}.video-play>span:first-child{font-size:36px}.video-play small{display:block;font-size:11px;font-weight:400;opacity:.8}.external-video iframe{width:100%;height:100%;border:0}.work-classification{padding-top:40px;padding-bottom:65px;border-top:1px solid var(--line)}.work-classification h2{font-size:14px}.service-links{display:flex;flex-wrap:wrap;gap:15px 35px}.service-links a{border-bottom:1px solid var(--ink);padding:8px 0;font-size:16px}.work-types{margin:28px 0 0;font-size:13px;color:var(--muted)}.related-section{background:#f6f8f9;padding-bottom:50px}.related-section>h2{font-size:clamp(28px,3.2vw,46px);margin-bottom:45px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.related-grid h2{font-size:21px}.related-grid .work-card-lead{display:none}.back-to-works{padding-top:30px;padding-bottom:60px;background:#f6f8f9}.contact-section{padding-top:100px;padding-bottom:110px}.contact-section h2{font-size:clamp(30px,4.2vw,64px);letter-spacing:-.055em;line-height:1.55;margin-bottom:45px}.contact-open{display:inline-block;border:1px solid var(--ink);border-radius:80px;padding:20px 32px;font-size:15px}.site-footer{background:#dfe6ea;display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-top:70px;padding-bottom:30px}.site-footer img{width:180px;height:auto}.site-footer p{font-size:12px;margin-top:22px;line-height:2}.site-footer .site-menu{justify-content:flex-end;flex-wrap:wrap;gap:20px 28px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:11px;border-top:1px solid var(--line);padding-top:24px}.l-main{min-height:60vh;padding:90px var(--gutter)}
@media(min-width:1100px){.works-grid .work-card:nth-child(even){padding-top:80px}}
@media(max-width:1000px){.site-menu{gap:18px;font-size:12px}.brand img{width:145px}.site-header{gap:20px}.case-overview{grid-template-columns:1fr 1.8fr;gap:35px}.case-overview dl>div{grid-template-columns:120px 1fr;gap:16px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:760px){:root{--gutter:6vw}.section-wrap{padding-top:60px;padding-bottom:60px}.site-header{padding:20px var(--gutter);flex-wrap:wrap;gap:18px}.site-header .brand img{width:137px}.menu-toggle{display:none;background:none;border:0;font-size:12px;padding:5px 0}.has-menu-js .menu-toggle{display:block}.site-header nav{width:100%}.site-header .site-menu{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header .site-menu a{display:block;padding:14px 0}.site-header .site-menu li:last-child a{border:0;padding:14px 0}.has-menu-js nav{display:none}.has-menu-js.menu-open nav{display:block;max-height:70dvh;overflow:auto}.breadcrumb{margin-bottom:45px}.detail-hero{padding-top:28px}.detail-hero h1{font-size:clamp(30px,7.8vw,48px)}.detail-lead{font-size:16px}.case-hero{margin:0}.case-overview{display:block}.case-overview h2{margin-bottom:30px}.case-overview dl>div{grid-template-columns:110px 1fr;gap:14px}.case-overview dd{font-size:14px}.work-body p,.work-body li{font-size:15px}.work-body h2{font-size:25px}.work-body h3{font-size:21px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-heading{font-size:40px;margin-bottom:30px}.work-filters{gap:12px 20px;margin-bottom:40px}.work-filters a{font-size:12px}.works-grid,.related-grid{grid-template-columns:1fr;gap:50px}.work-card h2{font-size:24px}.works-list{padding-top:0}.page-intro{padding-bottom:40px}.page-intro h1{font-size:38px}.work-card-image{margin-bottom:20px}.site-footer{grid-template-columns:1fr;gap:30px}.site-footer .site-menu{justify-content:flex-start;font-size:12px}.footer-bottom{gap:25px;flex-wrap:wrap}.contact-open{padding:18px 24px;font-size:14px}.back-to-works{padding-top:0}.service-links{gap:12px 24px}.video-play{gap:12px;font-size:13px;padding:12px}.video-play>span:first-child{font-size:26px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.work-card-image{position:relative}.video-badge{position:absolute;right:12px;bottom:12px;background:rgba(27,48,61,.85);color:#fff;padding:5px 12px;font-size:11px;border-radius:30px}.work-body .external-video img{margin:0}

/* Compact case media: a bounded image area and a single horizontal sequence. */
.detail-page .case-hero {
  margin: 0 auto;
  width: min(88%, 960px);
  padding: 20px;
}
.detail-page .case-hero img { width: 100%; height: min(46svh, 420px); object-fit: contain; }
.work-body .wp-block-image img { max-height: 460px; width: auto; object-fit: contain; margin-inline: auto; display: block; }
.work-gallery { max-width: 1060px; margin-inline: auto; padding: 55px max(24px, 3vw); }
.gallery-heading { font-size: clamp(28px, 3vw, 42px); margin-bottom: 24px; }
.gallery-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; outline-offset: 4px; }
.gallery-enhanced .gallery-track { scrollbar-width: none; }
.gallery-enhanced .gallery-track::-webkit-scrollbar { display: none; }
.gallery-item { flex: 0 0 100%; min-width: 0; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.gallery-stage { display: flex; align-items: center; justify-content: center; height: min(52svh, 440px); padding: 20px; background: #dfe6ea; }
.gallery-stage > img, .gallery-stage > video { width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
.gallery-stage .external-video { height: 100%; width: 100%; aspect-ratio: auto; }
.gallery-item figcaption { padding: 12px 2px 0; max-width: 70ch; }
.gallery-controls { display: flex; align-items: center; gap: 24px; justify-content: space-between; margin-top: 20px; }
.gallery-controls[hidden] { display: none; }
.gallery-thumbnails { display: flex; gap: 10px; overflow-x: auto; min-width: 0; padding: 5px; position: relative; scrollbar-width: thin; }
.gallery-thumbnail { flex: 0 0 66px; height: 48px; padding: 3px; border: 1px solid transparent; background: #dfe6ea; cursor: pointer; opacity: .55; }
.gallery-thumbnail[aria-current="true"] { border-color: var(--ink); opacity: 1; }
.gallery-thumbnail img { width: 100%; height: 100%; display: block; object-fit: contain; }
.gallery-navigation { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.gallery-position { margin: 0 10px 0 0; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gallery-navigation button { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
.gallery-navigation button:disabled { opacity: .3; cursor: default; }
@media(max-width:760px) {
  .detail-page .case-hero { width: 88%; padding: 12px; }
  .detail-page .case-hero img { height: min(36svh, 280px); }
  .work-gallery { padding: 40px 6vw; }
  .gallery-stage { height: min(42svh, 310px); padding: 10px; }
  .gallery-controls { flex-wrap: wrap; gap: 12px; }
  .gallery-thumbnails { flex-basis: 100%; }
  .gallery-navigation { margin-left: auto; }
}
