:root{--paper:#f6f1eb;--ink:#121826;--wine:#7a1f3d;--sand:#ded2c5;--muted:#67656a;--line:#d8d0c8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,sans-serif}
a{color:inherit;text-decoration:none}
.shell{width:min(1160px,100% - 48px);margin:auto}
.header{z-index:10;background:var(--paper);border-bottom:1px solid #12182617;position:sticky;top:0}
.nav{justify-content:space-between;align-items:center;height:84px;display:flex}
.brand{align-items:center;font-weight:700;display:flex}
.brand img{width:146px;height:auto;display:block}
.nav nav{gap:32px;font-size:14px;font-weight:600;display:flex}
.nav nav a:hover{color:var(--wine)}
.heroEyebrowBreak{display:none}
.hero{grid-template-columns:1.45fr .55fr;align-items:center;gap:90px;min-height:720px;padding:90px 0;display:grid}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--wine);margin:0 0 25px;font-size:12px;font-weight:700}
.hero h1,.section h2,.principles h2,.contact h2,.caseHero h1,.resumeHero h1{letter-spacing:-.035em;font-family:Georgia,serif}
.hero h1{max-width:900px;margin:0;font-size:clamp(52px,6.4vw,88px);line-height:.99}
.lede{color:var(--muted);max-width:700px;margin:32px 0;font-size:20px;line-height:1.65}
.actions{align-items:center;gap:28px;display:flex}
.button{background:var(--wine);color:#fff;padding:16px 22px;font-size:14px;font-weight:600;display:inline-block}
.textLink{border-bottom:1px solid var(--ink);padding-bottom:5px;font-weight:600}
.textLink span{color:var(--wine)}
.portraitWrap{align-self:end;margin-bottom:75px}
.portraitFrame{border:6px solid var(--sand);aspect-ratio:4/5;background:0 0;padding:0;overflow:hidden}
.portraitFrame img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}
.section{padding:120px 0}
.selectedWork{border-top:1px solid var(--line);padding-top:96px}
.sectionHead{justify-content:space-between;align-items:end;margin-bottom:55px;display:flex}
.sectionHead h2,.principles h2{margin:0;font-size:clamp(38px,4vw,56px);line-height:1.05}
.sectionHead>p{max-width:420px;color:var(--muted);line-height:1.6}
.project{border-top:1px solid var(--line);padding:45px 0;transition:all .2s;display:block}
.project:last-child{border-bottom:1px solid var(--line)}
.project:hover{background:#ffffff59;padding-left:12px}
.projectType{text-transform:uppercase;letter-spacing:.12em;color:var(--wine);margin:0;font-size:11px}
.project h3{margin:8px 0 12px;font:600 38px Georgia}
.project>div>p:not(.projectType){max-width:760px;color:var(--muted);line-height:1.55}
.tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}
.tags span{border:1px solid var(--line);padding:7px 10px;font-size:11px}
.projectCta{border-bottom:1px solid var(--ink);margin-top:24px;padding-bottom:4px;font-size:13px;font-weight:700;display:inline-block}
.projectCta>span{color:var(--wine)}
.principles{background:var(--ink);color:#fff;padding:120px 0}
.principlesGrid{grid-template-columns:1fr 1.25fr;gap:120px;display:grid}
.light{color:#d9aabe}
.principleList article{border-top:1px solid #39404d;grid-template-columns:45px 1fr;gap:20px;padding:30px 0;display:grid}
.principleList article>span{color:#d9aabe}
.principleList h3{margin:0 0 10px;font-size:21px}
.principleList p{color:#b9bdc5;margin:0;line-height:1.6}
.experience{border-top:1px solid var(--line)}
.experience div{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr 1fr;padding:28px 0;display:grid}
.experience span,.experience em{color:var(--muted);font-style:normal}
.contact{background:var(--wine);color:#fff;padding:76px 0}
.contactInner h2{margin:0 0 32px;font-size:clamp(38px,4vw,56px)}
.contactActions{align-items:center;gap:36px;display:flex}
.contactMark{filter:brightness(0)invert();opacity:.96;width:70px;height:auto;display:block}
.pale{background:var(--paper);color:var(--wine)}
.email{border-bottom:1px solid #fff9;padding-bottom:4px}
footer{color:#e9d9df;background:#531329}
.footerInner{min-height:118px;font-size:12px;position:relative}
.backToTop{flex-direction:column;align-items:center;gap:7px;min-width:72px;display:inline-flex;position:absolute;top:50%;left:calc(-25vw + min(1160px,100vw - 48px)/4);transform:translate(-50%,-50%)}
.backToTop>span{border:1px solid #e9d9dfb8;border-radius:50%;place-items:center;width:42px;height:42px;font-size:24px;line-height:1;transition:background .2s,color .2s,border-color .2s;display:grid}
.backToTop>small{font-size:11px}
.backToTop:hover>span{color:#531329;background:#e9d9df;border-color:#e9d9df}
.footerCopyright{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.caseHero,.resumeHero{padding:110px 0 75px}
.caseHero h1,.resumeHero h1{max-width:1000px;margin:0;font-size:48px;line-height:1}
.caseIntro{color:var(--muted);max-width:760px;margin-top:30px;font-size:21px;line-height:1.65}
.meta{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:60px;padding:25px 0;display:grid}
.meta span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-size:11px;display:block}
.meta strong{font-size:14px}
.caseBody{padding:20px 0 110px}
.caseBlock{border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr;gap:90px;padding:70px 0;display:grid}
.caseBlock h2{margin:0;font:600 32px Georgia}
.caseBlock p,.caseBlock li{color:var(--muted);line-height:1.75}
.caseBlock li{margin-bottom:12px}
.outcome{border-left:4px solid var(--wine);background:#fff;padding:32px}
.caseHeroLong h1{max-width:1060px;font-size:48px}
.caseHeroLong .meta strong{line-height:1.35}
.resumeGrid{grid-template-columns:1.7fr .8fr;gap:100px;padding:0 0 110px;display:grid}
.resumeSection{border-top:1px solid var(--line);padding:45px 0}
.resumeSection h2{margin:0 0 30px;font:600 26px Georgia}
.role{grid-template-columns:150px 1fr;gap:25px;margin-bottom:32px;display:grid}
.role span,.role p{color:var(--muted);margin:5px 0}
.role h3{margin:0;font-size:18px}
.skillCloud{flex-wrap:wrap;gap:8px;display:flex}
.skillCloud span{border:1px solid var(--line);padding:9px 12px;font-size:12px}
.resumeHeroDocument{flex-direction:column;justify-content:center;min-height:calc(100svh - 84px);padding:60px 0;display:flex}
.resumeHeroDocument h1{max-width:900px}
.resumeActions{margin-top:32px}
.resumeDocument{width:min(940px,100% - 48px);padding:90px 0 110px;scroll-margin-top:84px}
.resumePdf{border:6px solid var(--sand);background:#fff;width:100%;height:1200px;display:block}
.caseProductCta{justify-content:flex-end;margin-top:18px;display:flex}
.caseProductCta a{color:var(--wine);border-bottom:1px solid var(--wine);padding-bottom:4px;font-size:14px;font-weight:700}
.caseProductCta a:hover{color:var(--ink);border-color:var(--ink)}
.caseProductCta span{color:inherit}
.metaFour{grid-template-columns:repeat(4,1fr)}
.overviewAreas{border-top:1px solid var(--line)}
.overviewArea{border-bottom:1px solid var(--line);grid-template-columns:190px 1fr;gap:28px;padding:20px 0;display:grid}
.overviewArea h3{letter-spacing:.11em;text-transform:uppercase;margin:2px 0 0;font-size:11px;line-height:1.45}
.overviewArea p{margin:0}
.productFlow{border-block:1px solid var(--line);grid-template-columns:repeat(5,1fr);margin:0 0 28px;display:grid}
.flowStep{padding:22px 30px 22px 0;font-size:12px;font-weight:700;line-height:1.45;position:relative}
.flowStep:not(:last-child):after{content:"→";color:var(--wine);position:absolute;top:50%;right:12px;transform:translateY(-50%)}
.scopeNote{border-left:2px solid var(--sand);margin:24px 0 0;padding-left:16px;font-size:12px;line-height:1.65}
@media (width<=800px){.shell{width:min(100% - 30px,1160px)}
.nav{height:70px}
.brand img{width:110px}
.nav nav{gap:12px;font-size:13px}
.nav nav a{align-items:center;min-height:44px;display:flex}
.hero{grid-template-columns:1fr;gap:0;min-height:auto;padding:46px 0 56px}
.hero .eyebrow{letter-spacing:.13em;margin-bottom:22px;font-size:11px;line-height:1.55}
.heroEyebrowSeparator{display:none}
.heroEyebrowBreak{display:block}
.hero h1{font-size:clamp(40px,11.7vw,42px);line-height:1.01}
.hero .lede{margin:26px 0 30px;font-size:18px;line-height:1.58}
.hero .actions{gap:20px}
.portraitWrap{width:82%;max-width:320px;margin:56px auto 0}
.section,.principles{padding:80px 0}
.selectedWork{padding-top:72px}
.sectionHead{display:block}
.sectionHead>p{margin-top:25px}
.project{grid-template-columns:36px 1fr}
.project h3{font-size:30px}
.principlesGrid,.caseBlock,.resumeGrid{grid-template-columns:1fr;gap:30px}
.experience div{grid-template-columns:1fr;gap:7px}
.meta{grid-template-columns:1fr;gap:20px}
.caseBlock{padding:50px 0}
.role{grid-template-columns:1fr}
.email{margin-top:25px;font-size:13px;display:inline-block}
.contact{padding:56px 0}
.contactInner h2{margin-bottom:28px;font-size:clamp(38px,11.7vw,42px);line-height:1.04}
.contactActions{align-items:center;gap:28px;display:flex}
.contactMark{width:58px}
.backToTop{align-items:flex-start;min-width:86px;left:0;transform:translateY(-50%)}
.backToTop>span{margin-left:9px}
.resumeHeroDocument{min-height:calc(100svh - 70px);padding:48px 0}
.resumeHeroDocument h1{font-size:44px}
.resumeActions{flex-direction:column;align-items:flex-start;gap:20px}
.resumeDocument{width:min(100% - 30px,940px);padding:70px 0 80px;scroll-margin-top:70px}
.resumePdf{height:720px}
.overviewArea{grid-template-columns:1fr;gap:8px}
.caseProductCta{justify-content:flex-start}
.caseHero h1,.caseHeroLong h1{font-size:38px}
.productFlow{grid-template-columns:1fr}
.flowStep{border-bottom:1px solid var(--line);padding:16px 28px 16px 0}
.flowStep:last-child{border-bottom:0}
.flowStep:not(:last-child):after{content:"↓";right:2px}
}
.projectCategoryNav{flex-wrap:wrap;gap:10px;margin:-10px 0 42px;display:flex}
.projectCategoryNav a,.projectCategoryNav span{border:1px solid var(--line);padding:11px 14px;font-size:12px;font-weight:700;display:inline-block}
.projectCategoryNav a:hover{border-color:var(--wine);color:var(--wine)}
.projectCategoryNav .active{background:var(--wine);border-color:var(--wine);color:#fff}
.visualPreview{background:#fff}
.visualPreviewGrid{grid-template-columns:repeat(2,1fr);gap:42px 28px;display:grid}
.visualPreviewCard{display:block}
.visualPlaceholder{aspect-ratio:4/3;border:1px solid var(--line);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:border-color .2s,transform .2s;display:flex}
.visualPlaceholder span{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}
.visualPlaceholder small{font-size:11px}
.visualTone1{background:#eee5dc}
.visualTone2{background:#eee7e9}
.visualTone3{background:#e4e4e1}
.visualTone4{background:#e8e0d7}
.visualPreviewCard:hover .visualPlaceholder{border-color:var(--wine);transform:translateY(-3px)}
.visualCardMeta{grid-template-columns:35px 1fr;align-items:baseline;padding-top:17px;display:grid}
.visualCardMeta>span{color:var(--wine);font-size:11px}
.visualCardMeta h3{margin:0;font-size:18px}
.visualWorkCta{background:var(--wine);color:#fff;margin-top:50px;padding:16px 22px;font-size:14px;font-weight:700;display:inline-block}
.visualWorkCta span{color:#f0c7d8}
.visualHero{padding:115px 0 80px}
.visualHero h1{letter-spacing:-.035em;max-width:940px;margin:0;font:400 64px/1.04 Georgia,serif}
.visualHero>p:not(.eyebrow){max-width:690px;color:var(--muted);margin:30px 0 0;font-size:19px;line-height:1.65}
.visualCategoryNav{flex-wrap:wrap;gap:10px;margin-top:48px;display:flex}
.visualCategoryNav a{border:1px solid var(--line);padding:10px 13px;font-size:12px;font-weight:700}
.visualCategoryNav a:hover{border-color:var(--wine);color:var(--wine)}
.visualWorkBody{padding-bottom:80px}
.visualCategory{border-top:1px solid var(--line);padding:90px 0;scroll-margin-top:85px}
.visualCategoryHead{margin-bottom:45px;display:block}
.visualCategoryHead h2{letter-spacing:-.03em;margin:0;font:400 44px/1.05 Georgia,serif}
.visualCategoryHead>p{color:var(--muted);margin:0;line-height:1.65}
.visualGallery{grid-template-columns:repeat(3,1fr);gap:42px 24px;display:grid}
.visualGalleryItem h3{margin:17px 0 7px;font-size:16px}
.visualGalleryItem>p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}
.featuredProductGrid{grid-template-columns:1.45fr .55fr;align-items:center;gap:55px;display:grid}
.featuredProductCopy>span{letter-spacing:.13em;text-transform:uppercase;color:var(--wine);font-size:11px;font-weight:700}
.featuredProductCopy h3{margin:12px 0 20px;font:400 35px Georgia,serif}
.featuredProductCopy>p{color:var(--muted);line-height:1.7}
.visualBack{background:#fff;padding:55px 0}
.visualStickyNav{z-index:9;border-bottom:1px solid var(--line);background:#f6f1ebf7;position:sticky;top:84px}
.visualStickyInner{justify-content:space-between;align-items:center;gap:28px;min-height:62px;display:flex}
.visualBackLink{color:var(--wine);flex:none;font-size:12px;font-weight:700}
.visualStickyCategories{align-items:center;gap:7px;display:flex}
.visualStickyCategories a{border:1px solid var(--line);white-space:nowrap;padding:9px 11px;font-size:11px;font-weight:700}
.visualStickyCategories a:hover{border-color:var(--wine);color:var(--wine)}
.visualStickyCategories a.active{background:var(--wine);border-color:var(--wine);color:#fff}
.visualWorkBody>[id],.featuredProduct{scroll-margin-top:155px}
@media (width<=800px){.projectCategoryNav{gap:8px;margin:0 0 34px}
.projectCategoryNav a,.projectCategoryNav span{padding:10px 11px;font-size:11px}
.visualPreviewGrid,.visualGallery,.featuredProductGrid,.visualCategoryHead{grid-template-columns:1fr}
.visualPreviewGrid{gap:34px}
.visualHero{padding:80px 0 60px}
.visualHero h1{font-size:42px}
.visualCategoryNav{grid-template-columns:1fr 1fr;display:grid}
.visualCategory{padding:65px 0}
.visualCategoryHead{gap:24px;margin-bottom:32px}
.visualCategoryHead h2{font-size:36px}
.visualGallery{gap:36px}
.featuredProductGrid{gap:30px}
.visualWorkCta{margin-top:38px}
.visualStickyNav{top:70px}
.visualStickyInner{scrollbar-width:none;gap:18px;width:100%;min-height:58px;padding-left:15px;overflow-x:auto}
.visualStickyInner::-webkit-scrollbar{display:none}
.visualStickyCategories{padding-right:15px}
.visualWorkBody>[id],.featuredProduct{scroll-margin-top:138px}
}
@media (width<=340px){.shell{width:min(100% - 24px,1160px)}
.brand img{width:98px}
.nav nav{gap:8px;font-size:12px}
.hero .actions{gap:14px}
.hero .button{padding-inline:17px}
.portraitWrap{width:86%;max-width:290px}
.contactActions{gap:20px}
.contactMark{width:50px}
.footerInner{font-size:11px}
}
.visualProjectGrid{grid-template-columns:repeat(3,1fr);gap:42px 24px;display:grid}
.visualProjectCard{display:block}
.visualProjectCard .visualPlaceholder{transition:border-color .2s,transform .2s}
.visualProjectCard:hover .visualPlaceholder{border-color:var(--wine);transform:translateY(-3px)}
.visualProjectCover{aspect-ratio:4/3;border:1px solid var(--line);background:#020b2d;justify-content:center;align-items:center;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}
.visualProjectCover img{object-fit:contain;width:92%;height:92%;display:block}
.visualProjectCard:hover .visualProjectCover{border-color:var(--wine);transform:translateY(-3px)}
.visualProjectMeta{grid-template-columns:1fr auto;align-items:start;gap:12px;padding-top:17px;display:grid}
.visualProjectMeta h3{margin:0;font:400 21px/1.15 Georgia,serif}
.visualProjectMeta p{color:var(--wine);margin:7px 0 0;font-size:13px;line-height:1.5}
.visualProjectMeta>strong{color:var(--wine);font-size:15px;font-weight:400}
.visualDetailHero{border-bottom:1px solid var(--line);padding:95px 0 70px}
.visualDetailBack{color:var(--wine);margin-bottom:60px;font-size:12px;font-weight:700;display:inline-block}
.visualDetailHero h1{letter-spacing:-.035em;margin:0;font:400 64px/1.02 Georgia,serif}
.visualDetailHero>p:not(.eyebrow){max-width:720px;color:var(--muted);margin:28px 0 0;font-size:19px;line-height:1.65}
.visualDetailBody{padding:80px 0 110px}
.visualDetailItem{margin-bottom:70px}
.visualDetailItem>.visualPlaceholder,.visualLogoFrame{aspect-ratio:4/3;width:100%}
.visualLogoFrame{border:1px solid var(--line);background:#fff;justify-content:center;align-items:center;display:flex;overflow:hidden}
.visualLogoFrame img{object-fit:contain;width:100%;height:100%;display:block}
.visualDetailItem>div:last-child{align-items:baseline;gap:9px;padding-top:18px;display:flex}
.visualDetailItem h2{margin:0;font:400 26px Georgia,serif}
.visualFrameTag{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:300}
@media (width<=800px){.visualProjectGrid{grid-template-columns:1fr;gap:38px}
.visualDetailHero{padding:65px 0 55px}
.visualDetailBack{margin-bottom:45px}
.visualDetailHero h1{font-size:42px}
.visualDetailBody{padding:55px 0 75px}
.visualDetailItem{margin-bottom:48px}
.visualDetailItem>.visualPlaceholder{aspect-ratio:4/3}
}
.contactPageHero{border-bottom:1px solid var(--line);padding:110px 0 75px}
.contactPageHero h1{letter-spacing:-.035em;max-width:900px;margin:0;font:400 48px/1.05 Georgia,serif}
.contactPageHero>p:not(.eyebrow){max-width:680px;color:var(--muted);margin:28px 0 0;font-size:19px;line-height:1.65}
.contactPageBody{grid-template-columns:1.45fr .55fr;gap:90px;padding:80px 0 120px;display:grid}
.contactForm{gap:18px;display:grid}
.contactFieldRow{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}
.contactForm label{align-content:start;gap:9px;display:grid}
.contactForm label>span{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}
.contactForm input,.contactForm textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:0;outline:none;padding:15px;font:16px Arial,sans-serif}
.contactForm textarea{resize:vertical;min-height:180px}
.contactForm input:focus,.contactForm textarea:focus,.contactForm input[aria-invalid=true]{border-color:var(--wine)}
.fieldError{color:var(--wine);font-size:12px;line-height:1.45}
.contactVerificationRow{flex-wrap:wrap;align-items:center;gap:20px;min-height:52px;display:flex}
.captchaField{flex:0 0 auto;width:min(300px,100%);justify-items:start;gap:9px;display:grid}
.turnstileMount{width:min(300px,100%);min-height:65px;overflow:hidden}
.contactFormActions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}
.contactForm button{cursor:pointer;border:0}
.contactForm button:disabled{cursor:not-allowed;opacity:.38}
.contactFormActions p{color:var(--muted);margin:0;font-size:12px}
.contactFormActions .formSuccess{color:#32634a}
.contactFormActions .formError{color:var(--wine)}
.formTrap{width:1px!important;height:1px!important;position:absolute!important;left:-9999px!important}
.contactChannels{border-left:1px solid var(--line);padding-left:45px}
.contactChannels h2{margin:0 0 18px;font:400 32px/1.15 Georgia,serif}
.contactChannels>p:not(.eyebrow){color:var(--muted);line-height:1.65}
.channelLink{border-block:1px solid var(--line);justify-content:space-between;gap:18px;margin-top:34px;padding:20px 0;font-size:13px;display:flex}
.channelLink strong{color:var(--wine)}
.contactPageBodySingle{max-width:760px;margin:0 auto;display:block}
.contactChannelsSingle{border-left:0;padding-left:0}
.contactChannelsSingle h2{font-size:40px}
.contactChannelsSingle .channelLink{font-size:15px}
@media (width<=800px){.resumeHeroDocument h1,.contactPageHero h1{font-size:38px}
.contactPageHero{padding:75px 0 55px}
.contactPageBody{grid-template-columns:1fr;gap:60px;padding:60px 0 80px}
.contactFieldRow{grid-template-columns:1fr}
.contactVerificationRow{flex-direction:column;align-items:flex-start;gap:18px}
.contactChannels{border-left:0;border-top:1px solid var(--line);padding:45px 0 0}
}
.channelList{border-block:1px solid var(--line);margin-top:34px}
.channelList .channelLink{border:0;border-bottom:1px solid var(--line);margin-top:0}
.channelList .channelLink:last-child{border-bottom:0}
.visualProjectCoverLight{background:#fff}
.visualProjectCoverLight img{object-fit:contain;width:100%;height:100%}
.visualProjectTag{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;vertical-align:middle;margin-left:8px;font:300 10px/1 Arial,sans-serif;display:inline-block}
.visualDetailItem>div.visualBrandBoard{aspect-ratio:1188/1745;align-items:center;width:min(100%,390px);margin-inline:auto;padding-top:0}
.resumePreviewLink{border:6px solid var(--sand);background:#fff;width:100%;display:block}
.resumePreviewImage{border:6px solid var(--sand);background:#fff;width:100%;height:auto;display:block}
.visualProjectMeta{display:block}
.visualProjectMeta p span{font-size:15px}
.visualDetailShell{aspect-ratio:4/3;border:1px solid var(--line);background:#fff;width:100%}
.contactForm textarea{min-height:160px}
.portraitFrame img{filter:none}
.hero h1{font-size:clamp(44px,4.7vw,64px);line-height:1.03}
.hero{align-items:start}
.heroCopy{padding-top:0}
.portraitWrap{align-self:start;margin:39px 0 0}
@media (width<=800px){.hero h1{font-size:38px}
.portraitWrap{align-self:auto;margin:0 0 30px}
}

.captchaField[hidden]{display:none!important}

/* PROJECT_CASE_MEDIA_2026_09_11 */
.caseHeroVisual{margin-top:50px;border:6px solid var(--sand);border-radius:8px;background:#fff;padding:18px;overflow:hidden}
.caseHeroVisual--care{border-width:6px}
.caseHeroVisualViewport{width:100%;overflow:hidden;border-radius:7px}
.caseHeroVisualViewport--pet{aspect-ratio:1763/844}
.caseHeroVisualViewport--care{aspect-ratio:1888/720}
.caseHeroVisualViewport--case{aspect-ratio:1888/720}
.caseHeroVisual img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.caseMediaBlock{align-items:start}
.caseMediaContent{width:100%;min-width:0}
.caseMediaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%}
.caseMediaItem{min-width:0}
.caseMediaLabel{color:var(--wine);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700;margin:0 0 12px}
.caseMediaCard{border:1px solid #c9c3bf;border-radius:8px;background:#fff;overflow:hidden;aspect-ratio:1.62/1;display:flex;align-items:center;justify-content:center}
.caseMediaCard img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:800px){.caseHeroVisual{margin-top:36px;padding:10px}.caseMediaGrid{grid-template-columns:1fr;gap:26px}}
