:root{--navy:#08233f;--navy2:#0b3159;--blue:#0b75c9;--cyan:#59b7e8;--ink:#152238;--muted:#647284;--line:#dce4eb;--surface:#f3f6f9;--white:#fff;--orange:#ef5d2f;--container:1180px;--font-jp:"Noto Sans JP",sans-serif;--font-latin:"Inter",sans-serif;--header:76px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font-jp);line-height:1.78;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.skip-link{position:fixed;top:8px;left:8px;z-index:9999;padding:8px 12px;background:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);border-bottom:1px solid rgba(8,35,63,.08);backdrop-filter:blur(14px)}.site-header__inner{height:var(--header);display:flex;align-items:center;justify-content:space-between}.site-brand{display:flex;flex-direction:column;line-height:1}.site-brand__name{font:800 1.1rem/1 var(--font-latin);letter-spacing:.08em;color:var(--navy)}.site-brand__tagline{margin-top:6px;font:700 .58rem/1 var(--font-latin);letter-spacing:.19em;color:var(--muted)}.site-nav__toggle{display:none;border:0;background:transparent;font:700 .76rem var(--font-latin);letter-spacing:.08em}.site-nav__panel{display:flex;align-items:center;gap:22px}.site-nav__link{font-size:.82rem;font-weight:600;color:#536274}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 20px;font-weight:700}.button--primary{background:var(--blue);color:#fff}.button--large{padding:16px 30px}.breadcrumb{padding-block:16px}.breadcrumb ol{display:flex;gap:8px;list-style:none;margin:0;padding:0;color:#7a8794;font-size:.74rem}.breadcrumb li+li:before{content:"/";margin-right:8px;color:#acb5be}.hero{overflow:hidden;background:linear-gradient(120deg,var(--navy) 0%,#0a2c50 58%,#0a3f70 100%);color:#fff}.hero__inner{display:grid;grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);gap:70px;align-items:center;padding-block:94px 108px}.eyebrow{margin:0 0 16px;color:var(--blue);font:800 .76rem/1 var(--font-latin);letter-spacing:.17em}.eyebrow--light{color:#83c9f2}.hero h1,.future-case h2{margin:0;font-size:clamp(2.5rem,5vw,4.85rem);line-height:1.16;letter-spacing:-.04em}.hero__lead{max-width:620px;margin:28px 0 0;color:rgba(255,255,255,.8);font-size:1.02rem}.hero__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.hero__tags span{padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:rgba(255,255,255,.86);font:600 .76rem var(--font-latin)}.hero-collage{position:relative;min-height:580px}.hero-collage__item{position:absolute;margin:0;overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 65px rgba(0,0,0,.34);background:#fff}.hero-collage__item img{width:100%;height:100%;object-fit:cover;object-position:top}.hero-collage__item--tech{left:0;top:55px;width:54%;height:430px;transform:rotate(-2deg)}.hero-collage__item--meta{right:0;top:0;width:48%;height:340px;transform:rotate(2deg);z-index:2}.hero-collage__item--fringee{right:30px;bottom:0;width:49%;height:280px;transform:rotate(-1deg);z-index:3}.section{padding:108px 0}.section--surface{background:var(--surface)}.split-heading{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:86px}.section-title{margin:0;font-size:clamp(2rem,4vw,3.55rem);line-height:1.22;letter-spacing:-.035em}.prose p{margin:0 0 1.2em}.prose p:last-child{margin-bottom:0}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:72px}.capabilities article{padding:32px;border:1px solid var(--line);border-radius:18px}.capabilities span,.scope-strip span{font:800 .7rem var(--font-latin);letter-spacing:.12em;color:var(--blue)}.capabilities h3{margin:10px 0 12px;font:700 1.22rem var(--font-latin)}.capabilities p{margin:0;color:var(--muted);font-size:.92rem}.section-heading--works{max-width:800px;margin-bottom:48px}.section-heading--works>p:last-child{color:var(--muted)}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.work-card{overflow:hidden;background:#fff;border:1px solid #dfe7ed;border-radius:24px}.work-card--large{grid-column:1/3;display:grid;grid-template-columns:1.28fr .72fr}.work-card__visual{display:block;min-height:420px;overflow:hidden;background:#dce7ef}.work-card--large .work-card__visual{min-height:570px}.work-card__visual img{width:100%;height:100%;object-fit:cover;object-position:top}.work-card--large .work-card__visual img{object-fit:cover;object-position:top center}.work-card__body{padding:30px 32px 34px}.work-card--large .work-card__body{align-self:center;padding:48px}.work-card__type{margin:0 0 12px;color:var(--blue);font:800 .72rem var(--font-latin);letter-spacing:.12em}.work-card h3{margin:0 0 14px;font-size:1.55rem;line-height:1.35}.work-card__body>p:not(.work-card__type):not(.note){color:#4d5c6c}.text-link{display:inline-flex;gap:8px;margin-top:18px;color:var(--blue);font-weight:700}.note{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:#7a8794;font-size:.76rem}.fringee-case{background:#0e0d0b;color:#fff}.fringee-case .section-title{color:#fff}.fringee-case .prose{color:rgba(255,255,255,.72)}.fringee-case__intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:86px}.fringee-gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:300px 300px;gap:14px;margin-top:60px}.fringee-gallery figure{margin:0;overflow:hidden;border-radius:18px}.fringee-gallery__wide{grid-row:1/3}.fringee-gallery figure:nth-child(2){grid-column:2/4}.fringee-gallery img{width:100%;height:100%;object-fit:cover}.scope-strip{display:grid;grid-template-columns:repeat(5,1fr);margin-top:44px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.scope-strip div{padding:22px 18px;border-right:1px solid rgba(255,255,255,.16)}.scope-strip div:last-child{border-right:0}.scope-strip strong,.scope-strip small{display:block}.scope-strip strong{margin-top:7px;font:700 .92rem var(--font-latin)}.scope-strip small{margin-top:5px;color:rgba(255,255,255,.58);font-size:.76rem}.future-case{background:linear-gradient(115deg,#0b75c9,#103766);color:#fff}.future-case__inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.future-case h2{font-size:clamp(2.25rem,4.5vw,4.2rem)}.future-case__inner>div:last-child{color:rgba(255,255,255,.84)}.future-case__note{font-size:.78rem;color:rgba(255,255,255,.62)}.contact__inner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}.contact p{color:var(--muted)}.site-footer{padding:66px 0 28px;background:var(--surface)}.site-footer__brand{display:flex;flex-direction:column;gap:6px;margin-bottom:30px;line-height:1}.site-footer__offices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.site-footer address{font-style:normal}.site-footer address strong{font:700 .75rem var(--font-latin);letter-spacing:.08em;color:var(--navy)}.site-footer__bottom{display:flex;justify-content:space-between;gap:24px;margin-top:38px;padding-top:20px;border-top:1px solid var(--line);font-size:.74rem;color:var(--muted)}.site-footer__links{display:flex;flex-wrap:wrap;gap:10px 24px}.site-footer__links a{color:var(--navy);font-weight:700}
@media(max-width:1023px){.container{width:min(calc(100% - 48px),var(--container))}.site-nav__toggle{display:flex;align-items:center;gap:10px}.site-nav__toggle-icon{display:grid;gap:3px}.site-nav__toggle-icon span{display:block;width:18px;height:1px;background:var(--navy)}.site-nav__panel{position:absolute;top:var(--header);left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:20px 24px 24px;background:#fff;border-bottom:1px solid var(--line)}.site-nav__panel.is-open{display:flex}.hero__inner{grid-template-columns:1fr;gap:34px}.hero-collage{min-height:520px;max-width:760px}.works-grid{grid-template-columns:1fr}.work-card--large{grid-column:auto;display:block}.work-card--large .work-card__visual{min-height:460px}.fringee-gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 240px 240px}.fringee-gallery__wide{grid-column:1/3;grid-row:auto}.fringee-gallery figure:nth-child(2){grid-column:auto}.scope-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){:root{--header:68px}.container{width:min(calc(100% - 30px),var(--container))}.breadcrumb{padding-block:12px}.section{padding:76px 0}.hero__inner{padding-block:66px 74px}.hero h1{font-size:2.55rem}.hero-collage{min-height:400px}.hero-collage__item--tech{left:0;top:40px;width:60%;height:300px}.hero-collage__item--meta{width:54%;height:235px}.hero-collage__item--fringee{right:12px;width:55%;height:185px}.split-heading,.fringee-case__intro,.future-case__inner,.contact__inner{grid-template-columns:1fr;gap:34px}.capabilities{grid-template-columns:1fr;margin-top:46px}.work-card__visual,.work-card--large .work-card__visual{min-height:330px}.work-card__body,.work-card--large .work-card__body{padding:26px 22px 30px}.fringee-gallery{grid-template-columns:1fr;grid-template-rows:none}.fringee-gallery__wide,.fringee-gallery figure:nth-child(2){grid-column:auto}.fringee-gallery figure{height:260px}.scope-strip{grid-template-columns:1fr}.scope-strip div{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.scope-strip div:last-child{border-bottom:0}.contact .button{justify-self:start}.site-footer__offices{grid-template-columns:1fr}.site-footer__bottom{flex-direction:column}.site-footer__links{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* --- Case study additions (V2) --- */
.case-page{background:#fff}.case-hero{background:linear-gradient(135deg,#0b2545 0%,#123d66 100%);color:#fff;padding:clamp(56px,8vw,112px) 0}.case-hero__grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:clamp(32px,5vw,72px);align-items:center}.case-hero__copy h1{font-size:clamp(38px,5.2vw,72px);line-height:1.16;letter-spacing:-.035em;margin:.25em 0}.case-hero__project{font-family:Inter,sans-serif;font-size:clamp(20px,2vw,28px);font-weight:700;margin:24px 0 14px}.case-hero__lead{font-size:clamp(16px,1.45vw,19px);line-height:1.9;color:rgba(255,255,255,.82);max-width:760px}.case-hero__tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:28px 0 0}.case-hero__tags li{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 13px;font-size:12px}.case-hero__visual{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 24px 72px rgba(0,0,0,.25)}.case-hero__visual img{width:100%;height:clamp(420px,46vw,650px);object-fit:cover;display:block}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dce5ed;margin:56px 0 0;border:1px solid #dce5ed}.project-facts div{background:#fff;padding:24px}.project-facts dt{font-size:11px;letter-spacing:.12em;color:#637487;margin-bottom:8px}.project-facts dd{margin:0;font-weight:600;line-height:1.7}.case-process-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}.case-process-grid figure,.logo-process figure,.case-photo-grid figure{margin:0}.case-process-grid img{width:100%;aspect-ratio:1.414/1;object-fit:contain;background:#fff;border:1px solid #e1e8ef}.case-process-grid figcaption,.logo-process figcaption{font-size:12px;color:#64748b;margin-top:10px}.logo-process{display:grid;grid-template-columns:1.35fr .82fr .82fr;gap:24px;margin-top:48px;align-items:start}.logo-process img{width:100%;max-height:520px;object-fit:contain;background:#f8fafc;border:1px solid #e3e8ee}.case-photo-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-auto-rows:minmax(230px,31vw);gap:18px;margin-top:48px}.case-photo-grid figure{overflow:hidden;border-radius:16px}.case-photo-grid__large{grid-row:span 2}.case-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.browser-shot{margin:48px 0 0;background:#e9eef3;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(15,35,55,.12)}.browser-shot__bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 16px;background:#e7ebef;color:#798696;font:11px Inter,sans-serif}.browser-shot__bar i{width:10px;height:10px;border-radius:50%;background:#b8c0c8}.browser-shot__bar span{margin-left:8px}.browser-shot img{display:block;width:100%;height:auto}.case-back{padding:0 0 72px}.results__inner>.button{align-self:end;margin-top:24px}.work-card--fringee .work-card__visual{cursor:pointer}
@media(max-width:900px){.case-hero__grid{grid-template-columns:1fr}.case-hero__visual img{height:min(70vw,540px)}.project-facts{grid-template-columns:1fr 1fr}.logo-process{grid-template-columns:1fr 1fr}.logo-process figure:first-child{grid-column:1/-1}.case-photo-grid{grid-template-columns:1fr;grid-auto-rows:auto}.case-photo-grid__large{grid-row:auto}.case-photo-grid img{height:auto;aspect-ratio:3/2}}
@media(max-width:600px){.project-facts{grid-template-columns:1fr}.case-process-grid,.logo-process{grid-template-columns:1fr}.logo-process figure:first-child{grid-column:auto}.case-hero__visual img{height:66vw}.case-hero__tags li{font-size:11px}}

/* QA refinements */
.case-process-grid--plans{width:min(100%,1280px);margin-inline:auto;gap:28px;margin-top:56px}
@media(max-width:600px){.hero-collage{min-height:360px}.hero-collage__item{border-radius:14px}.hero-collage__item--tech{height:270px}.hero-collage__item--meta{height:210px}.hero-collage__item--fringee{height:165px}}

/* Header / footer parity with current EPICHARIS standard pages */
:root{--color-primary:#003366;--color-muted:#667085;--color-surface:#f5f8fb;--color-border:#d9e2ec;--container-max:1200px;--radius-button:8px;--header-height:68px;--transition:180ms ease}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
body{overflow-x:hidden}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header-height);border-bottom:1px solid rgba(217,226,236,.85);background:rgba(255,255,255,.96);backdrop-filter:none;transition:box-shadow var(--transition)}
.site-header.is-scrolled,.site-header.scrolled{box-shadow:0 8px 24px rgba(11,37,69,.08)}
.site-header__inner{height:100%}
.site-brand__name{color:var(--color-primary);font-family:var(--font-latin);font-size:1.25rem;font-weight:800;letter-spacing:-.04em}
.site-brand__tagline{margin-top:6px;color:var(--color-muted);font-family:var(--font-latin);font-size:.5rem;font-weight:700;letter-spacing:.2em}
.site-header .button{min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:var(--radius-button);line-height:1.4}
.site-header .button--primary{background:var(--color-primary);color:#fff}
.site-nav__toggle{min-width:48px;min-height:48px;align-items:center;justify-content:center;gap:9px;color:var(--color-primary)}
.site-nav__toggle-label{font-family:var(--font-latin);font-size:.68rem;font-weight:700;letter-spacing:.1em}
.site-nav__toggle-icon{display:flex;flex-direction:column;gap:5px}
.site-nav__toggle-icon span{width:22px;height:2px;background:currentColor;transition:transform var(--transition),opacity var(--transition)}
.site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon span:nth-child(2){opacity:0}
.site-nav__toggle[aria-expanded=true] .site-nav__toggle-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.ep-breadcrumb,.breadcrumb{padding-top:calc(var(--header-height) + 18px);padding-bottom:18px;color:var(--color-muted);font-size:.78rem}
.ep-breadcrumb__list,.breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.ep-breadcrumb__item,.breadcrumb li{display:inline-flex;min-width:0;align-items:center;overflow-wrap:anywhere}
.ep-breadcrumb__item:not(:last-child)::after{width:1px;height:.9em;margin-left:6px;background:#a6b2bf;content:"";transform:rotate(20deg)}
.breadcrumb li+li::before{content:"";width:1px;height:.9em;margin-right:0;background:#a6b2bf;transform:rotate(20deg)}
.ep-breadcrumb a,.breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.site-footer{padding:64px 0 28px;border-top:1px solid var(--color-border);background:var(--color-surface)}
.site-footer__brand{display:flex;flex-direction:column;gap:6px;margin-bottom:32px;line-height:1}
.site-footer__brand .site-brand__name,.site-footer__brand .site-brand__tagline{display:block;line-height:1}
.site-footer__brand .site-brand__tagline{margin-top:0}
.site-footer__offices{display:grid;gap:24px}
.site-footer address{color:var(--color-muted);font-size:.85rem;font-style:normal}
.site-footer address strong{display:block;margin-bottom:6px;color:var(--color-primary);font-family:var(--font-latin);font-size:.75rem;line-height:inherit;letter-spacing:.08em}
.site-footer__bottom{display:flex;flex-direction:column;gap:12px;margin-top:40px;padding-top:20px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.75rem}
.site-footer__bottom a{color:var(--color-primary);font-weight:700}
.site-footer__bottom p{margin:0}
.site-footer__links{flex-direction:row;gap:10px 24px}
@media(min-width:768px){:root{--header-height:76px}.container{width:min(100% - 64px,var(--container-max))}.site-footer__offices{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__bottom{flex-direction:row;justify-content:space-between}}
@media(max-width:1023px){.site-nav__toggle{display:flex;border:0;background:transparent}.site-nav__panel{position:fixed;top:var(--header-height);right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:24px 20px;background:#fff;border-bottom:0;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity var(--transition),transform var(--transition),visibility var(--transition)}.site-nav__panel.is-open,.site-nav__panel.active{visibility:visible;opacity:1;transform:none}.site-nav__link{padding:14px 8px;border-bottom:1px solid var(--color-border);color:var(--color-primary);font-size:1rem;font-weight:600}.site-nav__cta{margin-top:16px}}
@media(min-width:1024px){.site-nav__toggle{display:none}.site-nav__panel{position:static;display:flex;flex-direction:row;align-items:center;gap:20px;padding:0;background:transparent;border-bottom:0;visibility:visible;opacity:1;transform:none}.site-nav__link{padding:10px 0;border:0;color:var(--color-muted);font-size:.84rem}.site-nav__link:hover{color:var(--color-primary)}.site-nav__cta{margin:0 0 0 4px;padding:10px 18px;color:#fff;font-size:.82rem}.site-footer__offices{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Ghinrei Kindergarten case */
.case-ghinrei .section-title{letter-spacing:0}.case-hero--ghinrei{background:radial-gradient(circle at 82% 16%,rgba(89,183,232,.28),transparent 34%),linear-gradient(135deg,#092844 0%,#0d3a5f 54%,#153b42 100%)}.case-ghinrei .case-hero__visual{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}.case-ghinrei .case-hero__visual img{height:auto;object-fit:contain}.ghinrei-hero-visual{padding:clamp(12px,2vw,20px)}.ghinrei-browser-shot img,.ghinrei-diagram img,.ghinrei-responsive img,.ghinrei-admin-grid img,.ghinrei-score img,.ghinrei-ondo-grid img{width:100%;height:auto}.ghinrei-browser-shot img[src$=".jpg"]{max-height:760px;object-fit:cover;object-position:top}.ghinrei-diagram{margin:54px 0 0;padding:clamp(18px,3vw,32px);border:1px solid #dfe7ed;border-radius:22px;background:#fff;box-shadow:0 20px 50px rgba(15,35,55,.08)}.ghinrei-responsive{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(190px,.45fr) minmax(190px,.45fr);gap:22px;align-items:end;margin-top:54px}.ghinrei-responsive figure,.ghinrei-admin-grid figure,.ghinrei-ondo-grid figure{margin:0}.ghinrei-responsive figure{padding:16px;border:1px solid #dfe7ed;border-radius:22px;background:#fff;box-shadow:0 20px 46px rgba(15,35,55,.08)}.ghinrei-responsive figure:first-child img{max-height:420px;object-fit:cover;object-position:top}.ghinrei-responsive figcaption,.ghinrei-admin-grid figcaption{margin-top:10px;color:#647284;font:700 12px var(--font-latin);letter-spacing:.08em}.ghinrei-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:54px}.ghinrei-admin-grid figure{padding:16px;border:1px solid #dfe7ed;border-radius:22px;background:#fff;box-shadow:0 20px 46px rgba(15,35,55,.08)}.ghinrei-admin-grid img{max-height:420px;object-fit:cover;object-position:top}.ghinrei-music{overflow:hidden;background:linear-gradient(135deg,#071f36 0%,#0d304f 62%,#13342e 100%);color:#fff}.ghinrei-music .section-title{color:#fff}.ghinrei-music .prose{color:rgba(255,255,255,.78)}.ghinrei-music .eyebrow,.ghinrei-ondo .eyebrow{color:#83c9f2}.ghinrei-music-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:28px;align-items:start;margin-top:58px}.ghinrei-score{margin:0;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:rgba(255,255,255,.08);box-shadow:0 24px 58px rgba(0,0,0,.22)}.ghinrei-song-list{display:grid;gap:14px}.ghinrei-song-list article{padding:24px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.08)}.ghinrei-song-list p{margin:0 0 5px;color:#9bd4f4;font-weight:800}.ghinrei-song-list h3{margin:0 0 14px;font-size:1.12rem;line-height:1.45}.ghinrei-song-list dl,.ghinrei-credit{margin:0}.ghinrei-song-list dl div,.ghinrei-credit div{display:grid;grid-template-columns:6.5em 1fr;gap:10px}.ghinrei-song-list dt,.ghinrei-credit dt{color:rgba(255,255,255,.62);font-size:.82rem}.ghinrei-song-list dd,.ghinrei-credit dd{margin:0;font-weight:700}.ghinrei-ondo{background:#0d1722;color:#fff}.ghinrei-ondo .section-title{color:#fff}.ghinrei-ondo .prose{color:rgba(255,255,255,.76)}.ghinrei-ondo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.36fr);gap:26px;align-items:stretch;margin-top:56px}.ghinrei-ondo-grid figure{padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.07)}.ghinrei-credit{display:grid;align-content:center;gap:1px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.08);overflow:hidden}.ghinrei-credit div{padding:24px;border-bottom:1px solid rgba(255,255,255,.15)}.ghinrei-credit div:last-child{border-bottom:0}.work-card--ghinrei .work-card__visual{background:#e7f0f5}.work-card--ghinrei .work-card__visual img{object-fit:cover;object-position:center}
@media(max-width:900px){.ghinrei-responsive{grid-template-columns:1fr 1fr}.ghinrei-responsive figure:first-child{grid-column:1/-1}.ghinrei-admin-grid,.ghinrei-music-grid,.ghinrei-ondo-grid{grid-template-columns:1fr}.ghinrei-credit{align-content:start}.ghinrei-credit div{grid-template-columns:5em 1fr}}
@media(max-width:600px){.ghinrei-responsive{grid-template-columns:1fr}.ghinrei-responsive figure{padding:12px}.ghinrei-admin-grid figure,.ghinrei-ondo-grid figure,.ghinrei-score{padding:12px}.ghinrei-song-list article{padding:20px}.ghinrei-song-list dl div{grid-template-columns:1fr;gap:0;margin-top:8px}.ghinrei-credit div{grid-template-columns:1fr;gap:2px}.case-ghinrei .case-hero__copy h1{font-size:2.32rem}}

/* Ghinrei finishing adjustments */
.case-ghinrei .project-facts{grid-template-columns:repeat(5,1fr)}
.case-ghinrei .ghinrei-browser-shot{width:min(86%,1040px);margin-inline:auto}
.case-ghinrei .section--surface .ghinrei-browser-shot:first-of-type,.case-ghinrei .ghinrei-browser-shot--renewal{width:min(56%,620px)}
.case-ghinrei .ghinrei-browser-shot--parents{width:min(56%,520px)}
.case-ghinrei .ghinrei-hero-visual img{width:100%}
.case-ghinrei .ghinrei-diagram{padding:clamp(20px,3vw,34px)}
.case-ghinrei .ghinrei-music-grid{width:min(100%,760px);margin-inline:auto;grid-template-columns:1.15fr 1fr 1fr;gap:16px}
.case-ghinrei .ghinrei-music-grid>.ghinrei-score{grid-column:1;grid-row:1}
.case-ghinrei .ghinrei-song-list{display:contents}
.case-ghinrei .ghinrei-song-list article:nth-child(1){grid-column:2;grid-row:1}
.case-ghinrei .ghinrei-song-list article:nth-child(2){grid-column:3;grid-row:1}
.case-ghinrei .ghinrei-song-list article:nth-child(3){grid-column:2/4;grid-row:2}
.case-ghinrei .results__copy{margin-top:clamp(24px,2.6vw,32px)}
@media(max-width:1023px){.case-ghinrei .project-facts{grid-template-columns:1fr 1fr}.case-ghinrei .ghinrei-browser-shot,.case-ghinrei .section--surface .ghinrei-browser-shot:first-of-type,.case-ghinrei .ghinrei-browser-shot--renewal,.case-ghinrei .ghinrei-browser-shot--parents{width:100%}.case-ghinrei .ghinrei-music-grid{width:100%;grid-template-columns:1fr}.case-ghinrei .ghinrei-music-grid>.ghinrei-score,.case-ghinrei .ghinrei-song-list article:nth-child(n){grid-column:auto;grid-row:auto}.case-ghinrei .ghinrei-song-list{display:grid;gap:14px}}
@media(max-width:600px){.case-ghinrei .project-facts{grid-template-columns:1fr}.case-ghinrei .ghinrei-browser-shot img[src$=".jpg"]{max-height:620px}}
.case-ghinrei img[src$="ghinrei-web-renewal-complete.jpg"]{max-height:760px;object-fit:contain;background:#fff}
.ghinrei-video-frame{margin:16px 0 18px;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06)}
.ghinrei-video-frame__link{display:block}
.ghinrei-video-frame img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.ghinrei-video-frame__link img{transition:transform .18s ease,opacity .18s ease}
.ghinrei-video-frame__link:hover img{transform:scale(1.02);opacity:.92}
.case-ghinrei .ghinrei-ondo-grid{grid-template-columns:minmax(0,.74fr) minmax(220px,.26fr);align-items:start}
.case-ghinrei .ghinrei-ondo-grid figure{padding:14px}
.case-ghinrei .ghinrei-ondo-side{display:grid;gap:16px}
.case-ghinrei .ghinrei-ondo-score{margin:0;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.07)}
.case-ghinrei .ghinrei-ondo-score img{width:auto;max-width:100%;max-height:440px;margin-inline:auto;object-fit:contain;border-radius:10px;background:#fff}
.ghinrei-ondo-grid img[src$="ghinrei-ondo-logic.jpg"]{border-radius:12px}
@media(max-width:900px){.case-ghinrei .ghinrei-ondo-grid{grid-template-columns:1fr}.case-ghinrei .ghinrei-credit{grid-template-columns:1fr 1fr}.case-ghinrei .ghinrei-credit div{border-right:1px solid rgba(255,255,255,.15);border-bottom:0}.case-ghinrei .ghinrei-credit div:last-child{border-right:0}}
@media(max-width:600px){.case-ghinrei img[src$="ghinrei-web-renewal-complete.jpg"]{max-height:620px}.case-ghinrei .ghinrei-credit{grid-template-columns:1fr}.case-ghinrei .ghinrei-credit div{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.case-ghinrei .ghinrei-credit div:last-child{border-bottom:0}}
@media(max-width:600px){.case-ghinrei .ghinrei-responsive figure{width:78%;margin-inline:auto}.case-ghinrei .ghinrei-browser-shot--parents{width:84%;margin-inline:auto}}
@media(max-width:600px){.case-ghinrei .ghinrei-ondo-score{width:72%;margin-inline:auto}.case-ghinrei .ghinrei-ondo-score img{width:100%;max-height:310px}}

/* Tanzawa Farm case v2 — brand case uses the common EPICHARIS blue format */
.case-tanzawa .case-hero--tanzawa{background:radial-gradient(circle at 82% 18%,rgba(89,183,232,.22),transparent 34%),linear-gradient(135deg,#08233f 0%,#0b3159 58%,#0a3f70 100%);color:#fff}
.case-tanzawa .case-hero__copy h1{max-width:620px}
.case-tanzawa .case-hero__tags li{border-color:rgba(255,255,255,.25)}
.case-tanzawa .tanzawa-hero{position:relative;min-height:520px;background:transparent;box-shadow:none;overflow:visible;border-radius:0}
.case-tanzawa .tanzawa-hero__card{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.24);box-shadow:0 28px 70px rgba(0,0,0,.26);overflow:hidden}
.case-tanzawa .tanzawa-hero__card img{width:auto;height:auto;max-width:84%;max-height:78%;object-fit:contain}
.case-tanzawa .tanzawa-hero__card--company{left:0;top:42px;width:74%;height:270px;padding:30px;background:#fff;border-radius:24px;transform:rotate(-1deg)}
.case-tanzawa .tanzawa-hero__card--product{right:0;bottom:24px;width:48%;height:270px;padding:24px;background:#f3f6f9;border-radius:50%;transform:rotate(1.2deg)}
.case-tanzawa .tanzawa-hero__year{position:absolute;color:rgba(255,255,255,.54);font:800 12px var(--font-latin);letter-spacing:.16em}
.case-tanzawa .tanzawa-hero__year--2021{left:4%;top:12px}.case-tanzawa .tanzawa-hero__year--2025{right:7%;bottom:2px}
.case-tanzawa .process-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px}
.case-tanzawa .process-pair figure,.case-tanzawa .process-trio figure,.case-tanzawa .identity-board,.case-tanzawa .source-split figure{margin:0;background:#fff;border:1px solid #dfe7ed;border-radius:20px;overflow:hidden}
.case-tanzawa .process-pair img,.case-tanzawa .process-trio img{width:100%;height:auto;display:block}
.case-tanzawa .process-pair figcaption,.case-tanzawa .process-trio figcaption,.case-tanzawa .identity-board figcaption,.case-tanzawa .source-split figcaption{padding:14px 18px;color:#647284;font-size:.82rem}
.case-tanzawa .process-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px;align-items:stretch}
.case-tanzawa .process-trio figure{display:flex;flex-direction:column;height:100%}.case-tanzawa .process-trio figcaption{margin-top:auto}
.case-tanzawa .process-trio--equal img{aspect-ratio:1.42/1;object-fit:contain;background:#fff}
.case-tanzawa .identity-board{margin-top:42px;padding:34px;background:#fff;text-align:center}.case-tanzawa .identity-board img{max-width:100%;max-height:520px;margin-inline:auto;object-fit:contain}.case-tanzawa .identity-board--signature{padding:58px 46px}
.case-tanzawa .source-split{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(260px,.78fr);gap:22px;margin-top:42px;align-items:stretch}.case-tanzawa .source-split figure{display:flex;flex-direction:column}.case-tanzawa .source-split figure img{width:100%;height:360px;object-fit:cover}.case-tanzawa .source-note{display:flex;flex-direction:column;justify-content:center;padding:34px;border:1px solid #dfe7ed;border-radius:20px;background:#fff}.case-tanzawa .source-note__label{margin:0 0 12px;color:var(--blue);font:800 .72rem var(--font-latin);letter-spacing:.15em}.case-tanzawa .source-note p:last-child{margin:0;color:#526173}
.case-tanzawa .case-callout{margin-top:42px;padding:30px 34px;border-left:4px solid var(--blue);background:#eef6fc;border-radius:0 16px 16px 0}.case-tanzawa .case-callout strong{display:block;margin-bottom:10px;font-size:1.05rem}.case-tanzawa .case-callout p{margin:.55em 0 0;color:#445568}.case-tanzawa .brand-bridge{padding:70px 0;background:linear-gradient(115deg,#0b75c9,#103766);color:#fff;text-align:center}.case-tanzawa .brand-bridge .eyebrow{color:#9bd4f4}.case-tanzawa .brand-bridge h2{margin:12px 0 18px;font-size:clamp(2rem,4vw,3.8rem);line-height:1.25}.case-tanzawa .brand-bridge p{max-width:760px;margin:0 auto;color:rgba(255,255,255,.8);line-height:1.9}
.case-tanzawa .direction-grid figure{padding:14px}.case-tanzawa .direction-media{display:flex;align-items:center;justify-content:center;flex:1;background:#fff;border-radius:12px;overflow:hidden}.case-tanzawa .direction-media img{width:100%;height:100%;aspect-ratio:1.18/1;object-fit:contain}.case-tanzawa .direction-grid figcaption{width:100%;padding:13px 5px 2px;font:700 .82rem var(--font-latin);letter-spacing:.05em;color:#52615b}
.case-tanzawa .final-marks{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:20px;margin-top:42px;align-items:stretch}.case-tanzawa .final-marks figure{margin:0;padding:34px;background:#fff;border:1px solid #dfe7ed;border-radius:20px;display:flex;align-items:center;justify-content:center;min-height:290px;overflow:hidden}.case-tanzawa .final-marks img{max-width:100%;max-height:270px;object-fit:contain}
.case-tanzawa .results__inner{row-gap:0}.case-tanzawa .results__copy{margin-top:34px;max-width:1040px}.case-tanzawa .results__inner>.button{margin-top:36px}
@media(max-width:900px){.case-tanzawa .tanzawa-hero{min-height:470px}.case-tanzawa .source-split{grid-template-columns:1fr}.case-tanzawa .source-split figure img{height:auto;aspect-ratio:16/9}.case-tanzawa .process-trio,.case-tanzawa .final-marks{grid-template-columns:1fr 1fr}.case-tanzawa .final-marks figure:first-child{grid-column:1/-1}}
@media(max-width:640px){.case-tanzawa .tanzawa-hero{min-height:400px}.case-tanzawa .tanzawa-hero__card--company{width:88%;height:215px;padding:22px}.case-tanzawa .tanzawa-hero__card--product{width:54%;height:205px;padding:18px}.case-tanzawa .process-pair,.case-tanzawa .process-trio,.case-tanzawa .final-marks{grid-template-columns:1fr}.case-tanzawa .identity-board,.case-tanzawa .identity-board--signature{padding:24px}.case-tanzawa .final-marks figure:first-child{grid-column:auto}.case-tanzawa .source-note{padding:26px}}

/* Tanzawa Farm case v3 refinements */
.case-tanzawa .tanzawa-hero__card--product{
  right:1%;bottom:18px;width:46%;height:255px;padding:0;
  background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;
  transform:rotate(1.2deg)
}
.case-tanzawa .tanzawa-hero__card--product img{
  width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;
  filter:drop-shadow(0 22px 26px rgba(0,0,0,.24))
}
.case-tanzawa .tanzawa-hero__card--company{
  left:0;top:42px;width:72%;height:250px;padding:28px 30px;
  background:#fff;border-radius:20px;transform:rotate(-1deg)
}
.case-tanzawa .source-hero{
  margin:42px 0 0;background:#fff;border:1px solid #dfe7ed;border-radius:20px;overflow:hidden
}
.case-tanzawa .source-hero img{display:block;width:100%;height:auto;aspect-ratio:2.15/1;object-fit:cover;object-position:center 48%}
.case-tanzawa .source-hero figcaption{padding:14px 18px;color:#647284;font-size:.82rem}
.case-tanzawa .process-trio--logos figure{background:#fff}
.case-tanzawa .process-trio--logos img{
  width:100%;aspect-ratio:1.58/1;object-fit:contain;background:#fff;display:block
}
.case-tanzawa .process-trio--logos figcaption{border-top:1px solid #edf1f4}
.case-tanzawa .use-scenes{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:42px
}
.case-tanzawa .use-scenes figure{
  margin:0;background:#fff;border:1px solid #dfe7ed;border-radius:20px;overflow:hidden
}
.case-tanzawa .use-scenes img{display:block;width:100%;aspect-ratio:1.4/1;object-fit:cover}
.case-tanzawa .use-scenes figcaption{padding:14px 18px;color:#647284;font-size:.82rem}
.case-tanzawa .results__copy{margin-top:clamp(42px,4vw,58px);max-width:1020px}
.case-tanzawa .results__copy p+p{margin-top:1.2em}
.case-tanzawa .results__inner>.button{margin-top:42px}
@media(max-width:900px){
  .case-tanzawa .tanzawa-hero__card--company{width:78%;height:235px}
  .case-tanzawa .tanzawa-hero__card--product{width:48%;height:230px}
  .case-tanzawa .source-hero img{aspect-ratio:16/9}
}
@media(max-width:640px){
  .case-tanzawa .tanzawa-hero__card--company{width:88%;height:205px;padding:20px 22px}
  .case-tanzawa .tanzawa-hero__card--product{width:56%;height:185px;right:0;bottom:10px}
  .case-tanzawa .use-scenes{grid-template-columns:1fr}
  .case-tanzawa .process-trio--logos img{aspect-ratio:1.48/1}
  .case-tanzawa .results__copy{margin-top:34px}
}

/* Tanzawa Farm case v4 */
.case-tanzawa .term-note{margin-top:1.1em;font-size:.8rem;line-height:1.7;color:#697789}
.case-tanzawa .source-hero img{aspect-ratio:2.15/1;object-fit:cover;object-position:center center}
.case-tanzawa .direction-media img{object-fit:contain;object-position:center center}
@media(max-width:640px){
  .case-tanzawa .tanzawa-hero{min-height:370px;overflow:hidden}
  .case-tanzawa .tanzawa-hero__card--company{left:0;top:34px;width:86%;height:182px;padding:18px 20px}
  .case-tanzawa .tanzawa-hero__card--product{right:2%;bottom:26px;width:52%;height:166px;padding:12px}
  .case-tanzawa .tanzawa-hero__year--2021{left:5%;top:8px}
  .case-tanzawa .tanzawa-hero__year--2025{right:8%;bottom:7px}
  .case-tanzawa .source-hero img{aspect-ratio:1.65/1}
  .case-tanzawa .term-note{font-size:.76rem}
}

/* Tanzawa Farm case v5 — final copy / mobile density */
.case-tanzawa .project-facts + .term-note{
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid #dfe7ed;
}
.case-tanzawa .results__copy{max-width:900px}
@media(max-width:640px){
  .case-tanzawa .direction-grid{
    display:flex;
    gap:12px;
    margin-top:30px;
    padding:0 4px 12px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .case-tanzawa .direction-grid figure{
    flex:0 0 76%;
    min-width:0;
    padding:10px;
    scroll-snap-align:start;
  }
  .case-tanzawa .direction-media img{aspect-ratio:1.28/1}
  .case-tanzawa .direction-grid figcaption{padding:9px 4px 1px;font-size:.76rem}
  .case-tanzawa .final-marks{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .case-tanzawa .final-marks figure{min-height:0;padding:10px;border-radius:14px}
  .case-tanzawa .final-marks img{max-height:120px}
  .case-tanzawa .results__copy{margin-top:28px}
}
