.cf-case .case-hero { padding-block:40px; }
.cf-case .case-head { margin-top:28px; align-items:center; }
.cf-case .web-case-title { font:inherit; font-size:clamp(2.8rem,5.6vw,5.6rem); line-height:1; letter-spacing:-.035em; text-transform:uppercase; }
.cf-visit { margin-top:28px; }
.cf-case .footer-col h3 { font-size:var(--fs-label); font-weight:400; color:rgba(255,255,255,.55); margin-bottom:1.1rem; }
.cf-case .source-section { padding-block:clamp(64px,8vw,120px); }
.cf-scene { background:#f2f3f2; padding:clamp(40px,7vw,112px) var(--pad-x); }
.cf-scene-inner { max-width:1440px; margin:auto; }
.cf-native { position:relative; width:100%; height:900px; overflow:hidden; background:#fcfdfa; box-shadow:0 20px 56px -28px rgb(0 0 0 / .2); }
.cf-native iframe { position:absolute; inset:0 auto auto 0; width:100%; height:100%; border:0; max-width:none; transform-origin:0 0; }
.cf-opening .cf-native { border-radius:8px; box-shadow:0 28px 64px -40px rgb(0 0 0 / .28); }
.cf-opening iframe,.cf-passive iframe { pointer-events:none; }
.cf-touch-surface { display:none; }
@media (max-width:700px), (pointer:coarse) {
  .cf-touch-surface { display:block; position:absolute; inset:0; z-index:1; touch-action:pan-y pinch-zoom; }
  .cf-native:has(.cf-touch-surface) iframe { pointer-events:none; }
}
.cf-scene-services .cf-scene-inner { max-width:1280px; }
.cf-scene figure { margin:0; min-width:0; }
.cf-scene figcaption { margin-top:20px; color:var(--muted); font-size:var(--fs-small); line-height:1.5; }
.cf-spread { max-width:1440px; margin:auto; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr); gap:clamp(32px,6vw,96px); align-items:start; }
.cf-handbook { margin-top:clamp(64px,10vw,160px)!important; }
.cf-handbook .cf-native { border-radius:12px; box-shadow:0 24px 64px -36px rgb(0 0 0 / .24); }
.cf-status { margin-top:16px; font-size:var(--fs-small); }
.cf-status a { margin-top:12px; }
.cf-pair { max-width:1440px; margin:auto; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr); gap:clamp(32px,5vw,80px); align-items:start; }
.cf-pair .cf-phone { margin-top:clamp(48px,7vw,112px); }
.cf-pair .cf-phone .cf-native { border-radius:12px; box-shadow:0 24px 64px -36px rgb(0 0 0 / .24); }
.cf-wide { max-width:1280px; margin:auto; }
.cf-mobile-row { max-width:1180px; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,64px); align-items:start; }
.cf-mobile-row figure:nth-child(2) { margin-top:64px; }
.cf-mobile-row figure:nth-child(3) { margin-top:128px; }
.cf-mobile-row .cf-native { border-radius:12px; box-shadow:0 24px 64px -36px rgb(0 0 0 / .24); }
.cf-editorial { max-width:1320px; margin:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); align-items:start; }
.cf-editorial figure:last-child { margin-top:clamp(64px,10vw,160px); }
.cf-scene + .cf-scene { padding-top:0; }
.cf-case .footer-col { min-width:0; }
.cf-case .footer-col a[href^="mailto:"] { overflow-wrap:anywhere; }
@media(max-width:700px) {
  .cf-case .web-case-title { font-size:clamp(2.25rem,10vw,3.6rem); }
  .cf-case .case-head .case-meta { display:none; }
  .cf-scene { padding:40px 20px; }
  .cf-spread { display:block; }
  .cf-pair,.cf-editorial,.cf-mobile-row { display:block; }
  .cf-pair .cf-phone,.cf-editorial figure:last-child,.cf-mobile-row figure + figure { margin-top:48px; }
  .cf-mobile-row .cf-native,.cf-pair .cf-phone .cf-native { border-radius:0; }
  .cf-handbook { margin-top:48px!important; }
  .cf-opening .cf-native,.cf-handbook .cf-native { border-radius:0; }
  .cf-case .source-section { padding-block:64px; }
}
