.case-archive-hero,.case-detail__hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 78% 34%,#14629b 0,transparent 37%),linear-gradient(115deg,#04142f,#083760 78%,#041b36)}
.case-archive-hero:after,.case-detail__hero:after{content:"";position:absolute;inset:0;opacity:.13;pointer-events:none;background:repeating-linear-gradient(105deg,transparent 0 54px,#8cddff 55px,transparent 56px)}
.case-archive-hero .wrap,.case-detail__hero .wrap{position:relative;z-index:1}.case-archive-hero{padding:190px 0 105px}.case-kicker{margin:0 0 20px;color:#7bdbff;font-size:12px;font-weight:700;letter-spacing:.24em}.case-kicker span{color:#c8d9e9;letter-spacing:.06em}.case-archive-hero h1,.case-detail__hero h1{margin:0;max-width:850px;font-size:clamp(39px,5.3vw,70px);line-height:1.35;letter-spacing:.05em}.case-archive-hero .wrap>p:last-child{margin:24px 0 0;color:#d0e5f1;font-size:16px}.case-archive{padding-top:88px;padding-bottom:120px}.case-section-heading{margin-bottom:32px}.case-section-heading span{display:block;color:#087dcc;font-size:11px;font-weight:800;letter-spacing:.24em}.case-section-heading h2{margin:8px 0 5px;color:#092344;font-size:clamp(27px,3vw,38px);line-height:1.4}.case-section-heading p{margin:0;color:#627487;font-size:14px}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.case-card{display:block;overflow:hidden;border:1px solid #e0e8ef;background:#fff;box-shadow:0 15px 42px rgba(13,48,80,.06);transition:transform .25s,box-shadow .25s}.case-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(13,48,80,.16)}.case-card:focus-visible,.case-detail__photos a:focus-visible{outline:3px solid #087dcc;outline-offset:3px}.case-card__visual{position:relative;height:260px;overflow:hidden;background:#eef4f8}.case-card__visual img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.case-card:hover img{transform:scale(1.04)}.case-card__placeholder{display:grid;place-content:center;width:100%;height:100%;color:#5d83a2;text-align:center;font-size:30px;font-weight:800;letter-spacing:.12em;background:linear-gradient(145deg,#e9f2f7,#cbdfea)}.case-card__placeholder small{font-size:11px;letter-spacing:.2em}.case-card__index{position:absolute;left:18px;bottom:17px;padding:5px 13px;color:#fff;background:#086cb5;font-size:11px;font-weight:700;letter-spacing:.14em}.case-card__body{padding:26px 28px 27px}.case-card__body time{color:#638197;font-size:12px}.case-card__body h3{margin:7px 0 12px;color:#0b2340;font-size:21px;line-height:1.55}.case-card__body p{margin:0 0 20px;color:#617487;font-size:13px;line-height:1.8}.case-card__link{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid #dce8ef;color:#0875b8;font-size:13px;font-weight:700}.case-card__link b{font-size:20px;font-weight:400}.case-pagination{margin-top:45px}.case-pagination .nav-links{display:flex;gap:10px}.case-pagination a,.case-pagination .current{display:inline-block;padding:7px 14px;border:1px solid #c8dbe8}.case-pagination .current{background:#087dcc;color:#fff}.case-empty{padding:50px;background:#f3f7fa}.case-detail__hero{padding:145px 0 95px}.case-detail__breadcrumb{display:inline-block;margin-bottom:48px;color:#d3edff;font-size:13px}.case-detail__breadcrumb:before{content:'← ';color:#76d6ff}.case-detail__lead{max-width:780px;margin:22px 0 0;color:#d0e5f1;font-size:18px;line-height:1.9}.case-detail__content{padding-bottom:110px}.case-detail__cover{height:min(550px,50vw);min-height:270px;margin:-42px 0 0;position:relative;z-index:2;overflow:hidden;background:#eaf2f7;box-shadow:0 18px 55px rgba(7,37,70,.15)}.case-detail__cover img{width:100%;height:100%;object-fit:contain}.case-detail__story{display:grid;grid-template-columns:270px minmax(0,1fr);gap:55px;margin-top:85px}.case-detail__prose{max-width:780px;color:#35495e;font-size:16px;line-height:2.1}.case-detail__prose>p:first-child{margin-top:0}.case-detail__prose img{height:auto}.case-detail__gallery{margin-top:80px;padding-top:60px;border-top:1px solid #dae5ed}.case-detail__photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.case-detail__photos a{display:block;aspect-ratio:4/3;overflow:hidden;background:#eaf2f7}.case-detail__photos img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.case-detail__photos a:hover img{transform:scale(1.05)}.case-detail__back{display:inline-block;margin-top:75px;padding:17px 28px;border:1px solid #0b70ae;color:#0869a6;font-size:13px;font-weight:700}.case-detail__back:hover{background:#0869a6;color:#fff}
@media(max-width:767px){.case-archive-hero{padding:140px 0 75px}.case-archive{padding-top:65px;padding-bottom:85px}.case-grid{grid-template-columns:1fr;gap:20px}.case-card__visual{height:220px}.case-card__body{padding:22px}.case-detail__hero{padding:115px 0 75px}.case-detail__breadcrumb{margin-bottom:36px}.case-detail__cover{height:300px;min-height:0;margin-top:-25px}.case-detail__story{display:block;margin-top:60px}.case-detail__story .case-section-heading{margin-bottom:25px}.case-detail__photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.case-detail__gallery{margin-top:55px;padding-top:45px}.case-detail__back{margin-top:55px}}
@media(prefers-reduced-motion:reduce){.case-card,.case-card__visual img,.case-detail__photos img{transition:none}}
/* 0.14.12: readable headings and natural image proportions */
.case-title__number,.case-title__name{display:block}.case-title__number{white-space:nowrap}.case-title__name{font-size:clamp(24px,3.25vw,46px);line-height:1.5;letter-spacing:.01em;word-break:normal;overflow-wrap:anywhere}.case-card__body h3 .case-title__number{color:#0a73b7;font-size:13px;letter-spacing:.14em;margin-bottom:5px}.case-card__body h3 .case-title__name{font-size:clamp(16px,1.5vw,21px);line-height:1.55}.case-detail__hero h1 .case-title__number{font-size:clamp(27px,3.5vw,45px);margin-bottom:8px}.case-detail__hero h1{max-width:none}.case-detail__hero h1 .case-title__name{font-size:clamp(24px,3.1vw,44px)}
.case-detail__story{display:block;position:relative;margin-top:82px;padding:45px min(5vw,65px) 55px;border-left:4px solid #0b86c6;background:linear-gradient(120deg,#f2f8fc,#fff 72%);box-shadow:0 15px 45px rgba(7,42,75,.05)}.case-detail__story:before{content:"01 / STORY";position:absolute;right:40px;top:48px;color:#b8d7e8;font-size:11px;font-weight:800;letter-spacing:.2em}.case-detail__story .case-section-heading{margin:0 0 30px;padding-bottom:24px;border-bottom:1px solid #d9e8f0}.case-detail__story .case-section-heading h2{white-space:nowrap;font-size:clamp(23px,3vw,36px);letter-spacing:0}.case-detail__prose{max-width:850px;font-size:clamp(15px,1.2vw,17px);line-height:2.15}.case-detail__prose p{margin:0 0 1.55em}.case-detail__prose p:last-child{margin-bottom:0}.case-detail__prose p:first-child:first-letter{font-size:1.5em;color:#087dcc;font-weight:700}.case-detail__prose h2,.case-detail__prose h3{color:#123b5c;border-left:3px solid #45add6;padding-left:14px}
.case-card__visual{height:auto;min-height:0;background:transparent}.case-card__visual img{display:block;width:100%;height:auto;object-fit:initial}.case-card:hover img{transform:none}.case-detail__cover{width:fit-content;max-width:100%;height:auto;min-height:0;overflow:visible;margin:-42px auto 0;background:transparent;box-shadow:none}.case-detail__cover img{display:block;width:auto;max-width:100%;height:auto;max-height:none;box-shadow:0 18px 55px rgba(7,37,70,.15)}.case-detail__photos{display:block;columns:3;column-gap:16px}.case-detail__photos a{display:block;break-inside:avoid;aspect-ratio:auto;height:auto;margin-bottom:16px;background:transparent}.case-detail__photos img{display:block;width:100%;height:auto;object-fit:initial}.case-detail__photos a:hover img{transform:none}
@media(max-width:767px){.case-detail__story{margin-top:58px;padding:32px 22px 37px}.case-detail__story:before{right:20px;top:35px;font-size:9px}.case-detail__story .case-section-heading h2{font-size:clamp(21px,5vw,29px)}.case-detail__cover{height:auto;margin-top:-25px}.case-detail__photos{columns:2;column-gap:10px}.case-detail__photos a{margin-bottom:10px}.case-detail__hero h1 .case-title__name{font-size:clamp(20px,5.3vw,30px)}}
.case-title__name{white-space:nowrap;overflow-wrap:normal}
/* 0.14.13: case image carousel */
.case-detail__slider{position:relative;z-index:2;width:100%;margin:-42px 0 0;text-align:center}.case-detail__slides{min-height:220px}.case-detail__slide{width:100%}.case-detail__slide[hidden]{display:none}.case-detail__slide img{display:block;width:auto;max-width:100%;height:auto;max-height:660px;margin:0 auto;box-shadow:0 18px 55px rgba(7,37,70,.15)}.case-detail__slider-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin:23px auto 0;color:#286489;font-size:13px;font-weight:700;letter-spacing:.15em}.case-detail__slider-controls button{width:44px;height:44px;border:1px solid #b4d5e6;border-radius:50%;color:#086fa9;background:#fff;cursor:pointer;transition:background .2s,color .2s}.case-detail__slider-controls button:hover{background:#087dcc;color:#fff}.case-detail__slider-controls button:focus-visible{outline:3px solid #087dcc;outline-offset:3px}
@media(max-width:767px){.case-detail__slider{margin-top:-25px}.case-detail__slides{min-height:120px}.case-detail__slide img{max-height:75vh}.case-detail__slider-controls{margin-top:16px}}
/* 0.14.14: equal size horizontal photo row */
.case-detail__slider{margin-top:-42px}.case-detail__slides{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;min-height:0;padding:0 0 8px}.case-detail__slide{flex:0 0 calc((100% - 32px)/3);aspect-ratio:4/3;overflow:hidden;scroll-snap-align:start;background:#edf3f7}.case-detail__slide img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;box-shadow:none}.case-detail__slider-controls{margin-top:20px}
@media(max-width:767px){.case-detail__slider{margin-top:-25px}.case-detail__slides{gap:10px}.case-detail__slide{flex-basis:82%;aspect-ratio:4/3}.case-detail__slide img{max-height:none}}
/* 0.14.15: continuous, seamless horizontal motion for four or more photos */
.case-detail__slider--moving .case-detail__slides{scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none}.case-detail__slider--moving .case-detail__slides::-webkit-scrollbar{display:none}.case-detail__slider--moving .case-detail__slide{scroll-snap-align:none}
@media(prefers-reduced-motion:reduce){.case-detail__slider--moving .case-detail__slides{overflow-x:auto;scrollbar-width:thin}}
/* 0.14.16: continuously moving photo strip; no timer or interaction required */
.case-detail__slides{display:flex;gap:0;overflow:hidden;padding:0;scroll-behavior:auto;scroll-snap-type:none}.case-detail__slide-group{display:flex;flex:0 0 auto;gap:16px;width:100%}.case-detail__slide-group .case-detail__slide{flex:1 1 0;min-width:0;scroll-snap-align:none}.case-detail__slider--moving .case-detail__slides{overflow:hidden}.case-detail__slider--moving .case-detail__slide-group{width:max-content;padding-right:16px}.case-detail__slider--moving .case-detail__slide{flex:0 0 min(31vw,382px);width:min(31vw,382px)}.case-detail__slider--moving .case-detail__slides{width:max-content;animation:nvac-case-drift var(--case-duration,72s) linear infinite;will-change:transform}@keyframes nvac-case-drift{to{transform:translateX(-50%)}}
@media(max-width:767px){.case-detail__slide-group{gap:10px}.case-detail__slider--moving .case-detail__slide-group{padding-right:10px}.case-detail__slider--moving .case-detail__slide{flex-basis:78vw;width:78vw}}
@media(prefers-reduced-motion:reduce){.case-detail__slider--moving .case-detail__slides{animation:none;max-width:100%;overflow-x:auto;scrollbar-width:thin}}
.case-detail__slider--moving{overflow:hidden}.case-detail__slider--moving .case-detail__slides{overflow:visible}
