/* Opt-in works layout: scoped to keep existing portfolio pages intact. */
.works_narrative{--case-ink:#f4f4f0;--case-muted:#b6bdc2;--case-line:rgba(255,255,255,.18);--case-accent:#9dd1da;position:relative;color:var(--case-ink);background:#10171c;font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;font-size:16px;line-height:1.95;isolation:isolate}
.works_narrative *{box-sizing:border-box}
.works_narrative .case_container{width:min(1160px,calc(100% - 80px));margin-inline:auto}
.works_narrative .case_header{padding-top:140px;padding-bottom:64px}
.works_narrative .case_breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--case-muted);margin-bottom:64px}
.works_narrative a{color:inherit}
.works_narrative .case_breadcrumb a{text-decoration:none}
.works_narrative .case_kicker{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--case-accent);margin:0 0 24px}
.works_narrative .case_kicker span{margin:0 12px;color:var(--case-muted)}
.works_narrative h1{max-width:1040px;font-size:clamp(28px,3.3vw,48px);font-weight:600;line-height:1.6;letter-spacing:.025em;margin:0 0 40px;color:var(--case-ink)}
.works_narrative .case_facts{display:grid;grid-template-columns:1fr 1fr 1.35fr 1fr;gap:24px;border-top:1px solid var(--case-line);border-bottom:1px solid var(--case-line);padding:24px 0;margin:0 0 36px}
.works_narrative dt{font-size:10px;letter-spacing:.14em;font-weight:500;color:var(--case-muted);margin-bottom:6px}
.works_narrative dd{font-size:14px;line-height:1.7;margin:0}
.works_narrative .case_overview{max-width:800px;margin-bottom:44px}
.works_narrative .case_small_heading{font-size:15px;font-weight:600;letter-spacing:.04em;margin-bottom:12px;color:var(--case-muted)}
.works_narrative p{margin:0 0 20px;text-wrap:wrap}
.works_narrative .case_text_link{display:inline-flex;gap:24px;font-size:14px;text-decoration:none;border-bottom:1px solid var(--case-muted);padding:4px 0}
.works_narrative .case_visual{margin:32px 0 0}
.works_narrative .case_visual>a{display:block;border:1px solid var(--case-line);border-radius:4px;overflow:hidden}
.works_narrative .case_visual img{display:block;width:100%;height:auto}
.works_narrative figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;font-size:12px;line-height:1.7;color:var(--case-muted);padding-top:14px}
.works_narrative figcaption>span:first-child{font-size:10px;letter-spacing:.1em;color:var(--case-accent)}
.works_narrative .case_zoom{margin-left:auto;font-size:11px;text-underline-offset:4px}
.works_narrative .case_section{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;padding:64px 0;border-top:1px solid var(--case-line);scroll-margin-top:110px}
.works_narrative .case_section>.wp-block-group__inner-container{display:contents}
.works_narrative .case_section .case_section_heading,.works_narrative .case_section .case_section_content{margin-block:0;min-width:0}
.works_narrative .case_section_label{font-size:11px;font-weight:500;letter-spacing:.11em;color:var(--case-accent);margin-bottom:16px}
.works_narrative h2{font-size:clamp(23px,2.3vw,30px);font-weight:600;line-height:1.65;letter-spacing:.025em;color:inherit;margin:0 0 24px}
.works_narrative h3{font-size:17px;line-height:1.8;font-weight:600;color:inherit;margin:0 0 8px}
.works_narrative .case_section_heading h2{font-size:20px;line-height:1.8}
.works_narrative .case_lead{font-size:18px;line-height:1.9}
.works_narrative .case_steps{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.works_narrative .case_steps li{border-top:1px solid var(--case-line);padding-top:14px;font-size:14px;line-height:1.7}
.works_narrative .case_steps span{display:block;font-size:10px;letter-spacing:.12em;color:var(--case-accent);margin-bottom:8px}
.works_narrative .case_list{list-style:none;padding:0;margin:28px 0 0}
.works_narrative .case_list li{padding:20px 0;border-top:1px solid var(--case-line)}
.works_narrative .case_list strong{display:block;font-weight:600;margin-bottom:4px}
.works_narrative .case_list p{font-size:14px;color:var(--case-muted);margin:0}
.works_narrative .case_note{border-left:2px solid var(--case-accent);padding:4px 0 4px 20px;margin:28px 0;font-size:14px;color:var(--case-muted)}
.works_narrative .case_resources{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0}
.works_narrative .case_resource{padding:20px 16px;border:1px solid var(--case-line);border-radius:4px;text-decoration:none;line-height:1.6}
.works_narrative .case_resource span{display:block;font-size:10px;color:var(--case-accent);letter-spacing:.08em;margin-bottom:12px}
.works_narrative .case_resource strong{display:block;font-size:14px;font-weight:500}
.works_narrative .case_resource:hover{background:#233139;border-color:var(--case-accent)}
.works_narrative .case_related{padding:0;list-style:none}
.works_narrative .case_related li{margin-bottom:12px;font-size:14px}
.works_narrative .case_related a{text-underline-offset:5px}
.works_narrative .case_consultation{background:#dfebed;color:#15272e;border-radius:4px;padding:40px;margin-top:36px}
.works_narrative .case_consultation .case_section_label{color:#48656e}
.works_narrative .case_consultation h3{font-size:24px;line-height:1.7;margin-bottom:20px}
.works_narrative .case_consultation ul{padding-left:20px;margin-bottom:20px;font-size:15px}
.works_narrative .case_consultation p{font-size:14px}
.works_narrative .case_cta{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;background:#15272e;color:#fff;min-height:56px;padding:14px 24px;border-radius:3px;text-decoration:none;font-size:15px;font-weight:500}
.works_narrative .case_cta:hover{background:#30515d;color:#fff}
.works_narrative a:focus-visible{outline:3px solid var(--case-accent);outline-offset:5px}
.works_narrative .case_consultation a:focus-visible{outline-color:#15272e}
.works_narrative .case_source{font-size:12px;color:var(--case-muted);padding:24px 0 56px;border-top:1px solid var(--case-line)}
.case_lightbox{box-sizing:border-box;width:min(1440px,calc(100vw - 40px));max-width:none;max-height:90vh;max-height:90dvh;overflow:hidden;padding:0;border:0;border-radius:4px;background:#0b1115;color:#fff;box-shadow:0 20px 80px #0006}
.case_lightbox::backdrop{background:rgba(0,0,0,.6)}
.case_lightbox_close{position:absolute;z-index:1;top:12px;right:24px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(11,17,21,.75);color:#fff;cursor:pointer}
.case_lightbox_close span{position:relative;display:block;width:24px;height:24px;font-size:0}
.case_lightbox_close span::before,.case_lightbox_close span::after{content:"";position:absolute;top:11px;left:0;width:24px;height:2px;border-radius:1px;background:currentColor;transform:rotate(45deg)}
.case_lightbox_close span::after{transform:rotate(-45deg)}
.case_lightbox_close:hover{background:#0b1115}
.case_lightbox :focus-visible{outline:3px solid #9dd1da;outline-offset:2px}
.case_lightbox_viewport{max-height:90vh;max-height:90dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.case_lightbox_viewport img{display:block;box-sizing:border-box;width:100%;max-width:100%;height:auto}
@media(max-width:575px){.case_lightbox{width:calc(100vw - 24px)}.case_lightbox_close{top:8px;right:8px}}
@media(max-width:991px){.works_narrative .case_container{width:calc(100% - 48px)}.works_narrative .case_header{padding-top:112px}.works_narrative .case_breadcrumb{margin-bottom:40px}.works_narrative .case_section{grid-template-columns:1fr;gap:12px;padding:48px 0}.works_narrative .case_section_heading h2{font-size:24px;margin-bottom:12px}.works_narrative .case_facts{grid-template-columns:1fr 1fr}.works_narrative .case_hero_visual{margin-top:28px}}
@media(max-width:575px){.works_narrative{font-size:15px;line-height:1.95}.works_narrative .case_container{width:calc(100% - 36px)}.works_narrative .case_header{padding-top:100px;padding-bottom:40px}.works_narrative .case_breadcrumb{gap:8px;font-size:11px;margin-bottom:32px}.works_narrative h1{font-size:27px;line-height:1.65;margin-bottom:28px}.works_narrative .case_kicker{font-size:10px;letter-spacing:.09em}.works_narrative .case_kicker span{margin:0 5px}.works_narrative .case_facts{gap:20px 12px;padding:20px 0}.works_narrative dd{font-size:12px}.works_narrative .case_lead{font-size:17px}.works_narrative .case_steps{grid-template-columns:1fr 1fr}.works_narrative .case_resources{grid-template-columns:1fr}.works_narrative .case_resource{padding:18px;display:flex;align-items:center;gap:16px}.works_narrative .case_resource span{margin:0;min-width:55px}.works_narrative .case_consultation{padding:28px 20px}.works_narrative .case_consultation h3{font-size:21px}.works_narrative .case_cta{width:100%;padding:14px 16px;gap:12px}.works_narrative .case_zoom{margin-left:0;display:block;width:100%}}
