/* A photographic case chooser leads into a concrete, four-step paper workflow. */
.case-visual-page ::selection{background:#e90130;color:white}
.case-visual-page [hidden]{display:none!important}
.case-intro{padding-top:52px;padding-bottom:64px}
.case-intro .breadcrumbs{margin-bottom:28px}
.case-intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start}
.case-intro h1{font:400 clamp(38px,3.6vw,54px)/1.12 var(--display);letter-spacing:-.035em;max-width:20ch}
.case-intro-grid p{font-size:17px;line-height:1.7;max-width:60ch;margin:0}
.case-intro-grid .case-disclosure{margin-top:24px;font-size:13px;color:var(--muted);padding-top:20px;border-top:1px solid var(--line)}
.case-index{padding-block:44px 64px;background:var(--surface)}
.case-index-heading{display:flex;align-items:start;justify-content:space-between;gap:36px;margin-bottom:30px}
.case-index-heading h2{font:400 30px/1.2 var(--display);letter-spacing:-.025em}
.case-index-heading p{font-size:15px;line-height:1.65;max-width:49ch;margin:0}
.case-visual-page .case-block{display:block;margin:0;background:transparent}
.case-visual-page .case-rail{position:static;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;overflow:visible;padding:0 0 28px}
.case-visual-page .case-rail [role=tab]:has(.photo-thumb){display:flex;flex-direction:column;gap:0;width:100%;max-width:none;min-width:0;align-items:start;padding:9px 9px 14px;border:1px solid transparent;border-radius:12px;background:transparent;transition:background .2s,border-color .2s;transform:none}
.case-visual-page .case-rail [role=tab]:hover{background:#ece9e9}
.case-visual-page .case-rail [role=tab][aria-selected=true]{background:white;border-color:#e90130}
.case-visual-page .case-rail .photo-thumb{width:100%;height:auto;aspect-ratio:1.8;border:0;border-radius:7px;overflow:hidden;margin:0 0 12px}
.case-visual-page .photo-thumb img{width:100%;height:100%;object-fit:cover}
.case-visual-page .case-rail-title{font:400 15px/1.35 var(--display);letter-spacing:-.02em;color:var(--ink);margin-bottom:5px}
.case-visual-page .case-rail-topic{font-size:12px;color:var(--muted)}
.case-visual-page .case-panels>[role=tabpanel]{background:transparent;padding:0}
.case-visual-page .case-panels>[role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:8px}
.case-story{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:30px 0 36px;border-top:1px solid #ccc}
.case-story h2{font:400 clamp(29px,2.65vw,40px)/1.17 var(--display);letter-spacing:-.03em;max-width:24ch}
.case-story p{font-size:16px;line-height:1.65;margin:0;max-width:55ch}
.case-story .case-problem{color:var(--muted);margin-bottom:12px}
.case-story .case-result{font-size:18px;color:var(--ink)}
.case-workflow{background:var(--ink);color:white;border-radius:14px;padding:28px 32px 32px;isolation:isolate;overflow:hidden}
.case-workflow-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}
.case-workflow-header h3{font:400 20px/1.3 var(--display);letter-spacing:-.02em}
.case-workflow-header>span{font-size:12px;color:#d8d0d2}
.case-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;position:relative}
.case-steps::before{content:'';position:absolute;top:35px;inset-inline:12.5%;border-top:1px solid #7d7174;z-index:-1}
.case-steps button{display:flex;align-items:center;flex-direction:column;gap:12px;background:none;border:0;color:#e4dcde;padding:0 4px 8px;min-width:0}
.case-node{display:grid;place-items:center;width:70px;height:70px;background:#282426;border:1px solid #7d7174;border-radius:12px;transition:background .2s,border-color .2s,color .2s}
.case-node svg{width:42px;height:42px}
.case-steps button:hover .case-node{border-color:#ff91a8;background:#3b3034}
.case-steps button[aria-pressed=true] .case-node{background:#e90130;border-color:#e90130;color:white}
.case-steps button:focus-visible{outline-color:#ff91a8;border-radius:8px}
.case-step-label{display:flex;align-items:baseline;gap:8px;font-size:14px;line-height:1.4}
.case-step-label>span{font-size:11px;color:#e4b4c0;font-variant-numeric:tabular-nums}
.case-step-hint{font-size:12px;text-align:center;color:#d8d0d2;margin:18px 0 24px}
.case-step-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding:32px 36px;background:white;color:var(--ink);border-radius:12px;min-height:300px}
.case-step-panel+.case-step-panel{margin-top:28px}
.is-enhanced .case-step-panel+.case-step-panel{margin-top:0}
.case-step-count{display:block;color:#605256;font-size:12px;margin-bottom:12px;font-variant-numeric:tabular-nums}
.case-step-copy h4{font:400 26px/1.25 var(--display);letter-spacing:-.025em;max-width:25ch;margin:0 0 16px}
.case-step-copy p{font-size:15px;line-height:1.7;max-width:48ch;margin:0}
.case-paper{position:relative;background:#f7f4f4;padding:22px 24px;border-radius:12px;box-shadow:8px 13px 25px -18px #44323875;isolation:isolate}
.case-paper::before{content:'';position:absolute;inset:3px 5px -5px;background:#e7dfe1;border-radius:12px;transform:rotate(2deg);z-index:-1}
.is-enhanced .case-paper{animation:case-paper-arrive .42s cubic-bezier(.16,1,.3,1) both}
@keyframes case-paper-arrive{from{transform:translateY(7px) rotate(-1.5deg)}to{transform:translateY(0) rotate(0)}}
.case-paper-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.case-paper-header svg{width:29px;height:29px;color:#bf0027}
.case-paper-header strong{font:400 17px/1.35 var(--display);color:var(--ink);letter-spacing:-.02em}
.case-paper dl{margin:0}
.case-paper dl>div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:11px 0;border-top:1px solid #d6cdd0}
.case-paper dt{font-size:12px;color:#605256}
.case-paper dd{font-size:13px;line-height:1.5;margin:0;color:var(--ink)}
.case-context{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:32px 0}
.case-context h3{font:400 20px/1.3 var(--display);letter-spacing:-.02em;margin-bottom:14px}
.case-context p{font-size:14px;line-height:1.65;max-width:60ch;margin:0}
.case-context .case-ai-tag{display:inline-block;color:#a30022;font-size:12px;background:#f9e6eb;border-radius:4px;padding:4px 9px;margin-bottom:10px}
.case-output{border-block:1px solid #ccc}
.case-output summary{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:66px;padding:18px 0;cursor:pointer;list-style:none;font:400 18px/1.4 var(--display);letter-spacing:-.02em}
.case-output summary::-webkit-details-marker{display:none}
.case-output summary>svg{color:#b50025;transition:transform .2s}
.case-output[open] summary>svg{transform:rotate(45deg)}
.case-output-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center;padding:8px 0 32px}
.case-output-layout .fragment{margin:0;min-width:0;background:white;border-radius:12px;overflow:hidden}
.case-output-notes>p{font-size:13px;color:var(--muted);margin-bottom:16px}
.case-output-notes .fact-strip{margin:0;display:flex;flex-direction:column;gap:14px;border:0;padding:0}
.case-output-notes .fact-strip li{font-size:16px;line-height:1.5;padding:0;border:0;font-weight:400}
.case-actions{display:flex;justify-content:space-between;gap:24px;padding-top:24px}
.case-actions .text-link{font-size:15px}
.case-close{padding-block:72px}
.case-close h2{font:400 clamp(32px,3.6vw,50px)/1.15 var(--display);letter-spacing:-.03em;margin:0 0 20px;max-width:24ch}
.case-close p{font-size:18px;line-height:1.7;max-width:53ch;margin-bottom:28px}
body.motion-paused .case-visual-page *,body.motion-paused .case-visual-page *::before{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.case-visual-page *,.case-visual-page *::before{animation:none!important;transition:none!important}}
@media(max-width:1100px){.case-intro-grid,.case-story,.case-context{gap:40px}.case-step-panel{gap:32px;padding:28px}.case-workflow{padding:24px}.case-paper{padding:20px}.case-paper dl>div{grid-template-columns:74px 1fr;gap:10px}.case-visual-page .case-rail{gap:5px}.case-visual-page .case-rail-title{font-size:13px}.case-visual-page .case-rail-topic{font-size:11px}}
@media(max-width:850px){.case-intro-grid{grid-template-columns:1fr;gap:28px}.case-intro h1{max-width:24ch;font-size:46px}.case-intro-grid p{max-width:65ch}.case-index-heading{display:block}.case-index-heading p{margin-top:14px;max-width:60ch}.case-visual-page .case-rail{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 4px 20px;margin-inline:-4px;gap:8px;scrollbar-width:thin;scrollbar-color:#b50025 #e8e0e2}.case-visual-page .case-rail [role=tab]:has(.photo-thumb){flex:0 0 150px}.case-visual-page .case-rail-title{font-size:14px}.case-visual-page .case-rail-topic{font-size:12px}.case-story{grid-template-columns:1fr;gap:22px;padding-top:26px}.case-story h2{max-width:30ch;font-size:34px}.case-story p{max-width:65ch}.case-step-panel{gap:28px;padding:28px 24px}.case-step-copy h4{font-size:23px}.case-step-copy p{font-size:14px}.case-context{gap:32px}.case-output-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:600px){.case-intro{padding-top:32px;padding-bottom:40px}.case-intro h1{font-size:37px}.case-intro-grid p{font-size:16px}.case-intro-grid .case-disclosure{font-size:12px;margin-top:20px}.case-index{padding-block:32px 40px}.case-index-heading h2{font-size:27px}.case-index-heading p{font-size:14px}.case-story h2{font-size:29px}.case-story p{font-size:15px}.case-story .case-result{font-size:17px}.case-workflow{padding:22px 14px 14px}.case-workflow-header{gap:10px;align-items:start;margin-bottom:24px}.case-workflow-header h3{font-size:18px}.case-workflow-header>span{font-size:10px;max-width:11ch;text-align:right}.case-steps{gap:4px}.case-steps::before{top:25px}.case-steps button{padding-inline:0;gap:10px}.case-node{width:50px;height:50px;border-radius:10px}.case-node svg{width:32px;height:32px}.case-step-label{display:block;font-size:11px;line-height:1.4;max-width:11ch;text-align:center}.case-step-label>span{display:block;font-size:10px;margin-bottom:3px}.case-step-hint{font-size:11px;margin:12px 0 20px}.case-step-panel{grid-template-columns:1fr;gap:24px;padding:24px 20px;min-height:0}.case-step-copy h4{font-size:23px}.case-step-copy p{font-size:14px}.case-paper{padding:18px 16px}.case-paper dl>div{grid-template-columns:65px 1fr}.case-paper-header strong{font-size:15px}.case-paper dd{font-size:12px}.case-context{grid-template-columns:1fr;gap:28px;padding-block:28px}.case-context h3{font-size:19px}.case-output summary{font-size:16px}.case-actions{flex-direction:column;align-items:start;gap:20px}.case-actions .text-link{font-size:14px}.case-close{padding-block:48px}.case-close h2{font-size:34px}.case-close p{font-size:16px}}
@media print{.case-visual-page .case-rail,.case-steps,.case-step-hint{display:none!important}.case-visual-page [role=tabpanel][hidden],.case-visual-page [data-case-step-panel][hidden]{display:block!important}.case-visual-page [role=tabpanel]{margin-top:48px}.case-step-panel+.case-step-panel{margin-top:24px!important}.case-workflow{color:black;background:white;padding:0}.case-workflow-header>span{color:black}.case-step-panel{break-inside:avoid;border:1px solid #aaa}}
