/* Infython premium editorial system
   Built mobile-first: restrained colour, clear hierarchy, purposeful spacing.
   No decorative gradients, floating capsule navigation, or oversized generic UI cards. */
:root {
  --premium-paper: #fbfbf8;
  --premium-white: #ffffff;
  --premium-ink: #142b36;
  --premium-copy: #465861;
  --premium-muted: #6b7a80;
  --premium-line: #d8dfdf;
  --premium-soft: #eef3f3;
  --premium-blue: #087db8;
  --premium-blue-dark: #075e8b;
  --premium-radius: 5px;
}
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { background: var(--premium-paper) !important; color: var(--premium-ink) !important; }
main { background: var(--premium-paper) !important; overflow-x: clip; }
main h1, main h2, main h3, main h4 { color: var(--premium-ink) !important; letter-spacing: -.035em; }
main p { color: var(--premium-copy); }
main a { text-underline-offset: .2em; }
:focus-visible { outline: 3px solid var(--premium-blue) !important; outline-offset: 4px; }

/* Plain, architectural navigation */
.site-header { position: fixed; inset: 0 0 auto; z-index: 80; padding: 0 !important; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--premium-line); box-shadow: none !important; backdrop-filter: blur(14px); }
.site-header > .site-container { width: min(1240px, calc(100% - 40px)); }
.site-nav-shell { min-height: 72px; padding: 0 !important; gap: 20px; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; backdrop-filter: none !important; }
.site-brand img { height: 34px !important; max-width: 170px; }
.site-nav-desktop { gap: clamp(12px, 1.5vw, 24px); }
.site-nav-desktop a { color: #43535b; font-size: .84rem; font-weight: 600; }
.site-nav-desktop a:hover, .site-nav-desktop a[aria-current="page"] { color: var(--premium-blue); }
.site-btn { min-height: 46px; padding: 11px 17px; border-radius: var(--premium-radius) !important; box-shadow: none !important; font-size: .9rem; font-weight: 650; transition: background .16s ease, color .16s ease, border-color .16s ease; }
.site-btn-primary, .infy-btn-primary, .btn-primary { background: var(--premium-ink) !important; border-color: var(--premium-ink) !important; color: #fff !important; }
.site-btn-primary:hover, .infy-btn-primary:hover, .btn-primary:hover { background: var(--premium-blue-dark) !important; border-color: var(--premium-blue-dark) !important; color: #fff !important; transform: none !important; }
.site-btn-secondary, .infy-btn-secondary, .btn-secondary, .btn-outline { border: 1px solid #aebabc !important; border-radius: var(--premium-radius) !important; background: transparent !important; color: var(--premium-ink) !important; }
.site-btn-secondary:hover, .infy-btn-secondary:hover, .btn-secondary:hover, .btn-outline:hover { background: var(--premium-soft) !important; border-color: var(--premium-ink) !important; color: var(--premium-ink) !important; }
.site-menu-toggle { border-radius: 4px !important; width: 44px; height: 44px; border-color: var(--premium-line) !important; background: transparent !important; color: var(--premium-ink) !important; }
.site-mobile-panel { margin-top: 0; padding: 8px 0 16px; background: white; border: 0; border-radius: 0; box-shadow: none; }
.site-mobile-panel a { border-radius: 3px; padding: 13px 8px; border-bottom: 1px solid #edf0ef; }
.site-mobile-panel a:hover { background: transparent; color: var(--premium-blue); }
.site-mobile-panel .site-btn { margin-top: 14px; padding-inline: 16px; }

/* Shared editorial treatment for interior pages */
.site-container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.site-hero { padding: 128px 0 58px !important; background: var(--premium-paper) !important; border-bottom: 1px solid var(--premium-line); overflow: hidden; }
.site-hero::before { display: none !important; content: none !important; }
.site-hero-grid { gap: clamp(28px, 5vw, 68px); align-items: start; }
.site-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 18px !important; color: var(--premium-blue) !important; font-size: .72rem !important; font-weight: 750 !important; text-transform: uppercase; letter-spacing: .15em !important; }
.site-kicker::before { content: ""; display: inline-block; width: 26px; height: 1px; background: currentColor; flex: 0 0 26px; }
.site-hero h1, .site-hero h1[style] { max-width: 900px; margin: 0 0 20px !important; font-family: Outfit, Inter, sans-serif !important; font-size: clamp(2.55rem, 6vw, 4.6rem) !important; font-weight: 650 !important; line-height: 1.03 !important; letter-spacing: -.055em !important; }
.site-hero > .site-container > p:not(.site-kicker), .site-hero-grid > div > p:not(.site-kicker) { max-width: 740px; font-size: 1.04rem !important; line-height: 1.75; color: var(--premium-copy) !important; }
.site-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 26px; }
.site-hero-actions .site-btn-secondary { border-color: transparent !important; padding-inline: 4px; text-decoration: underline; text-underline-offset: 5px; }
.site-hero-actions .site-btn-secondary:hover { background: transparent !important; color: var(--premium-blue) !important; }
.site-proof-points { border-top: 1px solid var(--premium-line); padding-top: 18px; color: var(--premium-copy); font-size: .82rem; }
.site-proof-points i { color: var(--premium-blue) !important; }
.site-illustrative-tag, .site-case-label { border-radius: 2px !important; background: #edf2f2 !important; color: #36505b !important; font-size: .7rem !important; letter-spacing: .045em; font-weight: 700; }
.site-workflow-card { padding: 22px !important; border: 1px solid var(--premium-line) !important; border-radius: 5px !important; background: white !important; box-shadow: none !important; }
.site-workflow-card img { border-radius: 2px !important; }
.site-flow-row { border-radius: 3px !important; background: white !important; border-color: var(--premium-line) !important; }
.site-flow-icon { border-radius: 3px !important; background: var(--premium-soft) !important; color: var(--premium-blue) !important; }
.site-flow-status { border-radius: 2px !important; background: #f1f4f4 !important; }
.site-section { padding: clamp(48px, 7vw, 84px) 0 !important; background: var(--premium-paper) !important; }
.site-section-white { background: #fff !important; }
.site-section-sage { background: #f0f4f4 !important; }
.site-section-head { max-width: 760px; margin-bottom: 32px !important; }
.site-section-head h2 { font-size: clamp(1.8rem, 3.3vw, 2.85rem) !important; line-height: 1.12 !important; font-weight: 620 !important; margin-bottom: 12px !important; }
.site-section-head p { line-height: 1.7; }
.site-card-grid { gap: 0 28px !important; }
.site-card { padding: 24px 0 !important; background: transparent !important; border: 0 !important; border-top: 1px solid var(--premium-line) !important; border-radius: 0 !important; box-shadow: none !important; transition: none !important; }
.site-card:hover { transform: none !important; box-shadow: none !important; border-color: var(--premium-line) !important; }
.site-card-icon { width: 36px !important; height: 36px !important; margin-bottom: 16px !important; border-radius: 3px !important; background: var(--premium-soft) !important; color: var(--premium-blue) !important; font-size: 1rem !important; }
.site-card h2, .site-card h3 { font-size: 1.22rem !important; font-weight: 650 !important; letter-spacing: -.025em !important; }
.site-card p, .site-case-card p { font-size: .94rem; line-height: 1.7; }
.site-card ul { padding-left: 17px; }
.site-card li { padding-left: 2px; margin: 7px 0; color: var(--premium-copy); line-height: 1.55; }
.site-card-link, .site-case-card a { color: var(--premium-blue) !important; }
.site-steps { gap: 0 !important; }
.site-step { padding: 22px 18px 8px 0 !important; background: transparent !important; border: 0 !important; border-top: 1px solid var(--premium-line) !important; border-radius: 0 !important; }
.site-step::before { display: block; padding: 0 !important; background: none !important; color: var(--premium-blue) !important; font-size: .75rem !important; font-variant-numeric: tabular-nums; }
.site-step h3 { font-size: 1.12rem !important; font-weight: 650; }
.site-case-grid { gap: 0 28px !important; }
.site-case-card { padding: 24px 0 !important; background: transparent !important; border: 0 !important; border-top: 1px solid var(--premium-line) !important; border-radius: 0 !important; box-shadow: none !important; }
.site-highlight { padding: clamp(24px, 4vw, 44px) !important; background: #edf3f3 !important; border: 1px solid var(--premium-line) !important; border-radius: 4px !important; }
.site-highlight h2 { font-weight: 620; letter-spacing: -.04em; }
.site-faq-list details { border: 0 !important; border-top: 1px solid var(--premium-line) !important; border-radius: 0 !important; padding: 18px 0 !important; background: transparent !important; }
.site-faq-list summary { font-weight: 650; }
.site-enquiry-wrap { gap: clamp(24px, 4vw, 54px); }
.site-enquiry-copy h2 { font-size: clamp(1.65rem, 3vw, 2.4rem) !important; font-weight: 620; }
.site-enquiry-card { padding: clamp(20px, 3vw, 30px) !important; border: 1px solid var(--premium-line) !important; border-radius: 4px !important; box-shadow: none !important; background: #fff !important; }
.site-form-field label { color: var(--premium-ink) !important; font-weight: 650 !important; }
.site-form-field input, .site-form-field select, .site-form-field textarea, main input:not([type=checkbox]):not([type=radio]):not([type=hidden]), main select, main textarea { border: 1px solid #bec9cb !important; border-radius: 3px !important; color: var(--premium-ink) !important; background: white !important; box-shadow: none !important; }
.site-form-field input:focus, .site-form-field select:focus, .site-form-field textarea:focus, main input:focus, main select:focus, main textarea:focus { border-color: var(--premium-blue) !important; box-shadow: 0 0 0 2px rgba(8,125,184,.12) !important; }
.site-form-error, .site-form-success { border-radius: 3px !important; }
.site-legal-note { line-height: 1.6; }
.site-footer { background: #102630 !important; color: #ecf2f3 !important; }
.site-footer-grid { gap: 30px; }
.site-footer p, .site-footer li, .site-footer .site-footer-muted { color: #c3d0d3 !important; }
.site-footer a { color: #eef4f4 !important; }
.site-footer a:hover { color: #74c8ee !important; }

/* Homepage: purpose-led hierarchy, not a template hero */
.premium-container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.premium-hero { padding: 132px 0 54px; background: #fff; border-bottom: 1px solid var(--premium-line); }
.premium-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; font-weight: 750; color: var(--premium-blue); }
.premium-eyebrow::before { content: ""; display: inline-block; height: 1px; width: 28px; background: currentColor; }
.premium-hero h1 { max-width: 980px; margin: 0 0 23px; font-family: Outfit, Inter, sans-serif; font-weight: 650; font-size: clamp(2.7rem, 7.2vw, 5.4rem); line-height: .99; letter-spacing: -.065em; color: var(--premium-ink); }
.premium-hero h1 span { color: var(--premium-blue); }
.premium-hero-copy { max-width: 720px; margin: 0; color: var(--premium-copy); font-size: clamp(1rem, 1.8vw, 1.18rem); line-height: 1.72; }
.premium-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 28px; }
.premium-primary-link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 13px 19px; background: var(--premium-ink); border: 1px solid var(--premium-ink); border-radius: 3px; color: white !important; text-decoration: none; font-size: .92rem; font-weight: 650; }
.premium-primary-link:hover { background: var(--premium-blue-dark); border-color: var(--premium-blue-dark); }
.premium-secondary-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--premium-ink); font-size: .92rem; font-weight: 650; text-decoration: underline; text-underline-offset: 5px; }
.premium-secondary-link:hover { color: var(--premium-blue); }
.premium-hero-context { display: flex; flex-wrap: wrap; gap: 8px 26px; margin-top: 37px; padding-top: 18px; border-top: 1px solid var(--premium-line); color: var(--premium-muted); font-size: .79rem; }
.premium-hero-context span { display: inline-flex; align-items: center; gap: 8px; }
.premium-hero-context span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--premium-blue); }
.premium-section { padding: clamp(48px, 7vw, 84px) 0; }
.premium-section-white { background: #fff; }
.premium-section-soft { background: #f1f5f5; }
.premium-section-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 25px; align-items: start; margin-bottom: 35px; }
.premium-section-head .premium-overline { margin: 4px 0 0; color: var(--premium-blue); font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.premium-section-head h2 { margin: 0; font-family: Outfit, Inter, sans-serif; font-size: clamp(1.8rem, 3.3vw, 2.85rem); line-height: 1.08; font-weight: 620; letter-spacing: -.05em; }
.premium-section-head p { grid-column: 2; margin: -12px 0 0; max-width: 650px; color: var(--premium-copy); font-size: .96rem; line-height: 1.7; }
.premium-services { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0 28px; border-top: 1px solid var(--premium-line); }
.premium-service { padding: 24px 0 10px; border-bottom: 1px solid var(--premium-line); }
.premium-index { display: block; margin-bottom: 30px; color: var(--premium-blue); font-size: .76rem; font-variant-numeric: tabular-nums; font-weight: 750; }
.premium-service h3 { margin: 0 0 12px; font-size: 1.22rem; line-height: 1.2; font-weight: 650; letter-spacing: -.03em; }
.premium-service p { margin: 0 0 16px; color: var(--premium-copy); font-size: .91rem; line-height: 1.7; }
.premium-service ul { list-style: none; margin: 0 0 22px; padding: 0; }
.premium-service li { padding: 8px 0; border-top: 1px solid #e8eded; color: #475960; font-size: .82rem; line-height: 1.5; }
.premium-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--premium-blue); text-decoration: none; font-size: .88rem; font-weight: 700; }
.premium-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.premium-projects { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0 28px; border-top: 1px solid var(--premium-line); }
.premium-project { padding: 22px 0 8px; border-bottom: 1px solid var(--premium-line); }
.premium-project-type { display: block; margin-bottom: 19px; color: var(--premium-blue); font-size: .7rem; text-transform: uppercase; font-weight: 750; letter-spacing: .12em; }
.premium-project h3 { margin: 0 0 9px; font-size: 1.16rem; font-weight: 650; }
.premium-project p { margin: 0 0 17px; font-size: .9rem; line-height: 1.7; color: var(--premium-copy); }
.premium-process { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0 23px; border-top: 1px solid var(--premium-line); }
.premium-process-item { padding: 20px 0 10px; border-bottom: 1px solid var(--premium-line); }
.premium-process-item .premium-index { margin-bottom: 21px; }
.premium-process-item h3 { margin: 0 0 9px; font-size: 1rem; font-weight: 650; }
.premium-process-item p { margin: 0; color: var(--premium-copy); font-size: .86rem; line-height: 1.65; }
.premium-enquiry { padding: clamp(25px, 4vw, 45px) 0; }
.premium-enquiry-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(25px,5vw,68px); align-items: start; }
.premium-enquiry-heading h2 { margin: 0 0 13px; font-family: Outfit, Inter, sans-serif; font-size: clamp(1.8rem, 3.3vw, 2.85rem); line-height: 1.08; letter-spacing: -.05em; font-weight: 620; }
.premium-enquiry-heading p { margin: 0; max-width: 400px; color: var(--premium-copy); font-size: .95rem; line-height: 1.7; }
.premium-enquiry-heading a { display: inline-block; margin-top: 22px; color: var(--premium-blue); font-weight: 650; }
.premium-note { margin-top: 18px; color: var(--premium-muted); font-size: .79rem; line-height: 1.65; }

/* Reduced decoration and motion on all devices */
@media (max-width: 860px) {
  .site-header > .site-container { width: calc(100% - 28px); }
  .site-nav-shell { min-height: 68px; }
  .site-container, .premium-container { width: calc(100% - 32px); }
  .site-hero { padding: 112px 0 44px !important; }
  .site-hero h1, .site-hero h1[style] { font-size: clamp(2.35rem, 8.4vw, 3.6rem) !important; line-height: 1.02 !important; }
  .site-card-grid, .site-case-grid, .site-steps { grid-template-columns: 1fr !important; }
  .site-card-grid { border-top: 1px solid var(--premium-line); }
  .site-card { padding: 22px 0 !important; }
  .site-highlight, .site-enquiry-wrap { grid-template-columns: 1fr !important; }
  .site-enquiry-copy { position: static !important; }
  .site-footer-grid { grid-template-columns: 1fr 1fr; gap: 26px; }
  .premium-hero { padding: 112px 0 38px; }
  .premium-hero h1 { max-width: 690px; font-size: clamp(2.55rem, 9vw, 3.75rem); line-height: 1.01; }
  .premium-hero-copy { font-size: 1rem; line-height: 1.7; }
  .premium-hero-actions { align-items: flex-start; gap: 14px 20px; margin-top: 23px; }
  .premium-section-head { grid-template-columns: 1fr; gap: 13px; margin-bottom: 24px; }
  .premium-section-head .premium-overline { margin: 0; }
  .premium-section-head p { grid-column: auto; margin: 0; }
  .premium-services, .premium-projects { grid-template-columns: 1fr; gap: 0; }
  .premium-service { padding: 19px 0 22px; }
  .premium-index { margin-bottom: 16px; }
  .premium-process { grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .premium-enquiry-layout { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .site-container, .premium-container { width: calc(100% - 28px); }
  .site-hero { padding: 104px 0 38px !important; }
  .site-hero h1, .site-hero h1[style] { font-size: clamp(2.28rem, 10.1vw, 3rem) !important; line-height: 1.02 !important; }
  .site-hero-actions { align-items: stretch; flex-direction: column; gap: 7px; }
  .site-hero-actions .site-btn-secondary { justify-content: flex-start; }
  .site-form-grid { grid-template-columns: 1fr !important; }
  .site-form-field.full { grid-column: auto !important; }
  .site-footer-grid { grid-template-columns: 1fr; gap: 21px; }
  .premium-hero { padding: 104px 0 32px; }
  .premium-eyebrow { margin-bottom: 18px; font-size: .66rem; letter-spacing: .12em; }
  .premium-hero h1 { font-size: clamp(2.42rem, 10.8vw, 3.1rem); line-height: 1.01; letter-spacing: -.06em; margin-bottom: 18px; }
  .premium-hero-actions { flex-direction: column; align-items: stretch; gap: 8px; }
  .premium-primary-link { width: 100%; min-height: 48px; }
  .premium-secondary-link { align-self: flex-start; min-height: 38px; }
  .premium-hero-context { display: grid; gap: 10px; margin-top: 27px; padding-top: 14px; }
  .premium-section { padding: 46px 0; }
  .premium-section-head h2 { font-size: 1.9rem; }
  .premium-process { grid-template-columns: 1fr; }
  .premium-process-item { padding: 16px 0; }
  .premium-process-item .premium-index { margin-bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Individual case studies: record first, narrative second */
.case-detail-image img { display: block; width: 100%; height: auto; max-height: 620px; object-fit: cover; border: 1px solid var(--premium-line); }
.case-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: clamp(28px, 5.5vw, 76px); align-items: start; }
.case-detail-narrative { min-width: 0; }
.case-story-section { padding: 0 0 30px; margin: 0 0 30px; border-bottom: 1px solid var(--premium-line); }
.case-story-section:last-child { margin-bottom: 0; }
.case-story-section .site-kicker { margin-bottom: 14px !important; }
.case-story-section h2 { margin: 0 0 14px; font-family: Outfit, Inter, sans-serif; font-size: clamp(1.55rem, 2.6vw, 2.1rem); line-height: 1.12; font-weight: 620; }
.case-story-copy { max-width: 750px; color: var(--premium-copy); font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.case-detail-aside { position: sticky; top: 94px; }
.case-detail-facts { padding: 20px 0; border-top: 1px solid var(--premium-line); border-bottom: 1px solid var(--premium-line); margin-bottom: 26px; }
.case-detail-facts > div { display: grid; gap: 4px; padding: 13px 0; border-top: 1px solid #e8eded; }
.case-detail-facts > div:first-of-type { margin-top: 10px; }
.case-detail-facts span { color: var(--premium-muted); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.case-detail-facts strong { color: var(--premium-ink); font-weight: 650; font-size: .92rem; overflow-wrap: anywhere; }
.case-tech-list { margin: 10px 0 0; padding: 0; list-style: none; }
.case-tech-list li { padding: 8px 0; border-top: 1px solid #e8eded; color: var(--premium-copy); font-size: .86rem; }

/* Article pages: reading width, quiet metadata and a mobile-first rhythm */
.premium-article-page { background: var(--premium-paper); color: var(--premium-ink); }
.premium-article-header { padding: 112px 0 42px; background: #fff; border-bottom: 1px solid var(--premium-line); }
.premium-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 34px; color: var(--premium-muted); font-size: .76rem; }
.premium-breadcrumb a { color: var(--premium-blue); text-decoration: none; }
.premium-breadcrumb a:hover { text-decoration: underline; }
.premium-article-header .premium-eyebrow { margin-bottom: 18px; }
.premium-article-header h1 { max-width: 920px; margin: 0 0 18px; font-family: Outfit, Inter, sans-serif; font-size: clamp(2.4rem, 6.3vw, 4.7rem); font-weight: 650; line-height: 1.02; letter-spacing: -.06em; }
.premium-article-deck { max-width: 770px; margin: 0 0 24px; color: var(--premium-copy); font-size: clamp(1rem, 2vw, 1.15rem); line-height: 1.75; }
.premium-article-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; padding-top: 16px; border-top: 1px solid var(--premium-line); color: var(--premium-muted); font-size: .79rem; }
.premium-article-meta span + span::before { content: "·"; margin-right: 18px; color: #9ca9ac; }
.premium-article-image { padding-top: 28px; }
.premium-article-image img { display: block; width: 100%; height: auto; max-height: 600px; object-fit: cover; border: 1px solid var(--premium-line); }
.premium-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: clamp(30px, 5.4vw, 76px); padding-top: 38px; padding-bottom: 76px; align-items: start; }
.premium-article-main { min-width: 0; }
.premium-article-body { max-width: 780px; color: var(--premium-copy); font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.premium-article-body, .premium-article-body * { box-shadow: none !important; text-shadow: none !important; }
.premium-article-body h2 { margin: 2.2em 0 .7em; padding-bottom: .45em; border-bottom: 1px solid var(--premium-line); color: var(--premium-ink) !important; font-family: Outfit, Inter, sans-serif; font-size: clamp(1.5rem, 3vw, 2.15rem); font-weight: 620; line-height: 1.14; letter-spacing: -.04em; }
.premium-article-body h3 { margin: 1.8em 0 .6em; color: var(--premium-ink) !important; font-size: 1.25rem; font-weight: 650; }
.premium-article-body p { margin: 0 0 1.2em; color: var(--premium-copy) !important; }
.premium-article-body ul, .premium-article-body ol { margin: 0 0 1.3em; padding-left: 1.4em; }
.premium-article-body li { margin: .45em 0; padding-left: .15em; }
.premium-article-body a { color: var(--premium-blue) !important; text-decoration: underline; text-underline-offset: .2em; }
.premium-article-body blockquote { margin: 1.7em 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--premium-blue) !important; color: var(--premium-ink) !important; font-size: 1.1rem; font-style: normal; }
.premium-article-body img { max-width: 100%; height: auto; }
.premium-author-note { margin-top: 42px; padding: 22px 0; border-top: 1px solid var(--premium-line); border-bottom: 1px solid var(--premium-line); }
.premium-author-note .premium-overline, .premium-article-aside .premium-overline, .premium-related-reading .premium-overline { display: block; margin-bottom: 10px; color: var(--premium-blue); font-size: .7rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.premium-author-note strong { display: block; font-size: 1rem; font-weight: 650; }
.premium-author-note p { margin: 8px 0 0; color: var(--premium-copy); font-size: .88rem; line-height: 1.65; }
.premium-article-end { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--premium-line); }
.premium-article-aside { position: sticky; top: 94px; padding-top: 8px; }
.premium-article-aside h2 { margin: 0 0 10px; font-family: Outfit, Inter, sans-serif; font-size: 1.45rem; font-weight: 620; line-height: 1.12; }
.premium-article-aside > p:not(.premium-overline) { color: var(--premium-copy); font-size: .88rem; line-height: 1.7; }
.premium-related-reading { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--premium-line); }
.premium-related-reading a { display: flex; gap: 9px; justify-content: space-between; padding: 13px 0; border-top: 1px solid #e8eded; color: var(--premium-ink); font-size: .88rem; font-weight: 600; line-height: 1.5; text-decoration: none; }
.premium-related-reading a:hover { color: var(--premium-blue); }
@media (max-width: 860px) {
  .case-detail-layout, .premium-article-layout { grid-template-columns: 1fr; gap: 32px; }
  .case-detail-aside, .premium-article-aside { position: static; }
  .premium-article-header { padding-top: 102px; }
}
@media (max-width: 520px) {
  .premium-article-header { padding: 100px 0 28px; }
  .premium-article-header h1 { font-size: clamp(2.25rem, 10vw, 2.85rem); }
  .premium-breadcrumb { margin-bottom: 26px; }
  .premium-article-image { padding-top: 18px; }
  .premium-article-layout { padding-top: 26px; padding-bottom: 48px; }
  .premium-article-body { font-size: .98rem; line-height: 1.8; }
  .premium-article-end { flex-direction: column; align-items: flex-start; }
}


/* Distinctive Infython system — second-pass art direction */
:root{--if-paper:#f4f6f3;--if-white:#fff;--if-ink:#102a36;--if-copy:#40545d;--if-muted:#718087;--if-line:#d8e0df;--if-blue:#078bc7;--if-blue-dark:#056b9a;--if-sage:#b8d9cf;--if-amber:#e5b675}
.site-header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid #d8e0df!important;backdrop-filter:blur(16px)}
.site-nav-shell{min-height:76px!important;gap:clamp(14px,2vw,28px)!important}
.site-brand img{max-width:174px!important;height:36px!important}
.site-nav-desktop{gap:clamp(12px,1.7vw,27px)!important}
.site-nav-desktop a{font-size:.88rem!important;color:#31464f!important;font-weight:600!important}
.site-nav-desktop a:hover,.site-nav-desktop a[aria-current=page]{color:var(--if-blue)!important}
.site-header-cta .site-btn{min-height:46px!important}
.if-wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.if-hero{padding:118px 0 68px;background:var(--if-paper);border-bottom:1px solid var(--if-line)}
.if-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(32px,5vw,76px);align-items:center}
.if-kicker,.if-section-label{margin:0 0 22px;color:var(--if-blue);font-size:.7rem;font-weight:800;letter-spacing:.15em;line-height:1.5}
.if-kicker{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.if-kicker:before{content:"";width:25px;height:1px;background:currentColor}
.if-kicker span{color:#6d7c81}
.if-hero h1,.if-page-hero h1{max-width:680px;margin:0 0 22px;color:var(--if-ink);font-family:Outfit,Inter,sans-serif;font-size:clamp(2.8rem,5.5vw,5rem);font-weight:650;line-height:.99;letter-spacing:-.065em}
.if-lead,.if-page-hero p:not(.if-kicker){max-width:610px;margin:0;color:var(--if-copy);font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.78}
.if-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
.if-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:50px;padding:14px 19px;background:var(--if-ink);border:1px solid var(--if-ink);border-radius:3px;color:#fff!important;text-decoration:none;font-size:.9rem;font-weight:700;transition:background .18s,border-color .18s}
.if-button:hover{background:var(--if-blue-dark);border-color:var(--if-blue-dark)}
.if-link{display:inline-flex;align-items:center;gap:8px;color:var(--if-ink);font-size:.9rem;font-weight:700;text-decoration:none}
.if-link:hover,.if-work-copy a:hover,.if-service>a:hover{color:var(--if-blue);text-decoration:underline;text-underline-offset:5px}
.if-capabilities{display:flex;flex-wrap:wrap;gap:10px 23px;margin-top:38px;padding-top:19px;border-top:1px solid var(--if-line);color:#7a898d;font-size:.72rem}
.if-capabilities span{display:flex;gap:7px;align-items:center}.if-capabilities b{color:#314851;font-size:.78rem;font-weight:650}
.if-hero-art{margin:0;min-width:0}.if-hero-art img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:6px;box-shadow:0 18px 48px #102a3612}
.if-hero-art figcaption{margin-top:12px;color:#738187;font-size:.72rem;line-height:1.5}
.if-section{padding:clamp(62px,7.4vw,104px) 0;background:var(--if-paper)}
.if-section-white{background:#fff}.if-section-paper{background:#edf2ef}.if-section-ink{background:var(--if-ink);color:#fff}
.if-section-head{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);gap:24px;align-items:start;margin-bottom:40px}
.if-section-label{margin:5px 0 0}.if-section-head h2,.if-standards h2,.if-enquiry-grid h2,.if-archive-cta h2{margin:0 0 15px;color:var(--if-ink);font-family:Outfit,Inter,sans-serif;font-size:clamp(1.9rem,3.6vw,3.1rem);font-weight:620;line-height:1.08;letter-spacing:-.05em}
.if-section-head>div>p,.if-enquiry-grid>div>p,.if-archive-cta p{max-width:700px;margin:0;color:var(--if-copy);font-size:.98rem;line-height:1.75}
.if-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--if-line)}
.if-service{padding:27px 24px 16px 0;border-bottom:1px solid var(--if-line)}.if-service+.if-service{padding-left:25px;border-left:1px solid var(--if-line)}
.if-number{margin:0 0 20px!important;color:var(--if-blue)!important;font-size:.68rem!important;font-weight:800!important;letter-spacing:.13em!important;text-transform:uppercase}
.if-service h3,.if-work-copy h3{margin:0 0 12px;color:var(--if-ink);font-size:1.3rem;font-weight:680;letter-spacing:-.035em;line-height:1.2}
.if-service>p:not(.if-number),.if-work-copy>p:not(.if-number){color:var(--if-copy);font-size:.9rem;line-height:1.72}
.if-service ul{list-style:none;padding:0;margin:21px 0 25px}.if-service li{padding:9px 0;border-top:1px solid #e8edeb;color:#4d6067;font-size:.82rem;line-height:1.5}
.if-service>a,.if-work-copy>a{display:inline-flex;align-items:center;gap:8px;color:var(--if-blue-dark);font-size:.85rem;font-weight:750;text-decoration:none}
.if-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.if-work{min-width:0;background:#fff;border:1px solid var(--if-line)}
.if-work-visual{position:relative;display:flex;min-height:200px;align-items:center;justify-content:center;overflow:hidden;background:#dfe9e7;color:var(--if-ink)}
.if-work-visual>span{position:absolute;top:23px;left:25px;font-family:Outfit,Inter,sans-serif;font-size:2.7rem;font-weight:700;letter-spacing:-.09em}
.if-work-visual>b{position:absolute;bottom:17px;left:20px;color:#40565e;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.if-work-consulting{background:#d5e2dd}
.if-visual-lines{width:52%;margin:22px 0 0 20%;padding:19px;background:#fff;border:1px solid #b7c9c5;box-shadow:9px 9px 0 #102a3610}
.if-visual-lines i{display:block;width:100%;height:5px;margin:9px 0;background:#d6e1de}.if-visual-lines i:first-child{width:63%;height:9px;background:#168bb9}.if-visual-lines i:last-child{width:76%}
.if-work-events{background:#dce7f0}.if-event-blocks{display:grid;grid-template-columns:repeat(2,64px);gap:8px;transform:rotate(-5deg)}.if-event-blocks i{height:58px;background:#173b4c}.if-event-blocks i:nth-child(2){background:#168dbb}.if-event-blocks i:nth-child(3){background:#b6d6cd}.if-event-blocks i:nth-child(4){background:#f0c17e}
.if-work-products{background:#e9e2d5}.if-product-shapes{display:flex;align-items:end;gap:10px;transform:rotate(-5deg)}.if-product-shapes i{display:block;width:43px;height:90px;border-radius:4px 4px 10px 10px;background:#173d36}.if-product-shapes i:nth-child(2){height:112px;background:#bd8d50}.if-product-shapes i:nth-child(3){height:76px;background:#7c553b}
.if-work-copy{padding:23px 22px 25px}.if-work-copy .if-number{margin-bottom:12px!important}.if-work-copy h3{font-size:1.12rem}
.if-all-work{display:inline-flex;gap:9px;align-items:center;margin-top:27px;color:var(--if-ink);font-size:.86rem;font-weight:750;text-decoration:none}
.if-section-ink .if-section-head h2{color:#f6f8f5}.if-section-ink .if-section-head>div>p{color:#bdcbd0}.if-section-ink .if-section-label{color:#7bc8e8}
.if-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-top:1px solid #36505a}
.if-process-grid article{padding:22px 5px 0 0}.if-process-grid article>span{display:block;margin-bottom:29px;color:#7bc8e8;font-size:.8rem;font-weight:800}
.if-process-grid h3{margin:0 0 10px;color:#fff;font-size:1rem;font-weight:650}.if-process-grid p{margin:0;color:#bdcbd0;font-size:.84rem;line-height:1.7}
.if-standards{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,7vw,100px)}.if-standards .if-section-label{margin-bottom:20px}
.if-standard-list article{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--if-line)}.if-standard-list article>span{color:var(--if-blue);font-size:.75rem;font-weight:800}
.if-standard-list h3{margin:0 0 7px;color:var(--if-ink);font-size:1rem;font-weight:700}.if-standard-list p{margin:0;color:var(--if-copy);font-size:.88rem;line-height:1.7}
.if-enquiry-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(30px,6vw,84px);align-items:start}.if-enquiry-grid h2{max-width:470px}
.if-email{display:inline-flex;gap:8px;margin-top:22px;color:var(--if-blue-dark);font-size:.92rem;font-weight:750;text-decoration:none}.if-small-note{margin-top:24px!important;color:#758389!important;font-size:.77rem!important;line-height:1.6!important}
.if-enquiry-grid .site-enquiry-card{border:1px solid var(--if-line)!important;border-radius:4px!important;box-shadow:none!important}
.if-page-hero{padding:130px 0 65px;background:var(--if-paper);border-bottom:1px solid var(--if-line)}
.if-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.5fr);gap:50px;align-items:end}
.if-page-hero h1{font-size:clamp(2.6rem,5.2vw,4.7rem)}
.if-page-hero-note{display:grid;gap:10px;padding:23px;border-left:2px solid var(--if-blue);background:#e8eeeb}
.if-page-hero-note span{margin-bottom:8px;color:var(--if-blue-dark);font-size:.67rem;font-weight:800;letter-spacing:.14em}
.if-page-hero-note strong{color:var(--if-ink);font-size:.95rem;font-weight:650}
.if-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.if-archive-card{min-width:0;border:1px solid var(--if-line);background:#fff}
.if-archive-image{display:block;height:220px;overflow:hidden;background:#e3ebe7}
.if-archive-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.if-archive-card:hover .if-archive-image img{transform:scale(1.025)}
.if-archive-placeholder{position:relative;display:flex;align-items:center;justify-content:center;gap:9px}.if-archive-placeholder span{position:absolute;top:18px;left:18px;color:#60757b;font-size:.62rem;letter-spacing:.14em;font-weight:800}.if-archive-placeholder i{display:block;width:24%;height:70px;background:#173b4c}.if-archive-placeholder i:nth-of-type(2){height:104px;background:#0b8dbd}.if-archive-placeholder i:nth-of-type(3){height:54px;background:#b5d7cd}
.if-archive-copy{padding:22px}.if-archive-copy .if-number{margin-bottom:12px!important}.if-archive-copy h2{margin:0 0 12px;color:var(--if-ink);font-size:1.15rem;line-height:1.3;font-weight:700}.if-archive-copy>p:not(.if-number){color:var(--if-copy);font-size:.88rem;line-height:1.7}
.if-archive-copy>a{display:inline-flex;gap:8px;align-items:center;color:var(--if-blue-dark);font-size:.85rem;font-weight:750;text-decoration:none}
.if-empty-state{max-width:700px;padding:40px;border:1px solid var(--if-line);background:#fff}.if-empty-state h2{font-size:1.8rem;color:var(--if-ink)}
.if-archive-cta{display:flex;align-items:center;justify-content:space-between;gap:35px}.if-archive-cta>div{max-width:740px}
@media(max-width:1000px){.if-wrap{width:calc(100% - 44px)}.if-hero-grid{grid-template-columns:1fr 1fr;gap:28px}.if-hero h1{font-size:clamp(2.55rem,5.5vw,3.8rem)}.if-work-grid{gap:14px}.if-work-visual{min-height:170px}.if-work-copy{padding:20px 16px}.if-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.if-wrap{width:calc(100% - 36px)}.if-hero{padding:108px 0 45px}.if-hero-grid{grid-template-columns:1fr;gap:28px}.if-hero h1{max-width:650px;font-size:clamp(2.55rem,9vw,4rem)}.if-hero-art img{max-height:none}.if-capabilities{gap:12px 20px}.if-section{padding:60px 0}.if-section-head{grid-template-columns:1fr;gap:10px;margin-bottom:28px}.if-section-label{margin:0}.if-service-grid{grid-template-columns:1fr}.if-service,.if-service+.if-service{padding:23px 0 26px;border-left:0}.if-service .if-number{margin-bottom:15px!important}.if-work-grid{grid-template-columns:1fr;gap:18px}.if-work-visual{min-height:210px}.if-work-copy{padding:21px}.if-process-grid{grid-template-columns:1fr 1fr;gap:25px 20px}.if-process-grid article>span{margin-bottom:16px}.if-standards,.if-enquiry-grid{grid-template-columns:1fr;gap:28px}.if-page-hero{padding:112px 0 44px}.if-page-hero-grid{grid-template-columns:1fr;gap:25px}.if-page-hero h1{font-size:clamp(2.45rem,8.5vw,3.8rem)}.if-archive-grid{grid-template-columns:1fr}.if-archive-image{height:240px}.if-archive-cta{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:420px){.if-wrap{width:calc(100% - 28px)}.if-hero h1{font-size:clamp(2.35rem,10.5vw,3rem);line-height:1.02}.if-actions{align-items:stretch;flex-direction:column;gap:13px}.if-button{width:100%}.if-link{min-height:42px}.if-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:12px}.if-process-grid{grid-template-columns:1fr}.if-work-visual{min-height:185px}.if-archive-image{height:210px}}
@media(prefers-reduced-motion:reduce){.if-archive-image img{transition:none}.if-archive-card:hover .if-archive-image img{transform:none}.if-button{transition:none}}


/* Functional homepage pass: real portfolio photography and cleaner hierarchy */
.if-hero{padding:clamp(108px,10vw,142px) 0 46px}
.if-hero-grid{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(28px,4.2vw,62px);align-items:center}
.if-hero-copy{min-width:0}
.if-hero h1{max-width:690px;font-size:clamp(2.7rem,4.6vw,4.65rem);line-height:1.015;letter-spacing:-.062em}
.if-hero .if-lead{max-width:620px;font-size:clamp(1rem,1.35vw,1.12rem);line-height:1.78}
.if-hero-art{min-width:0;width:100%;max-width:650px;justify-self:end}
.if-hero-art img{width:100%;height:auto;max-height:540px;object-fit:contain;border-radius:4px;box-shadow:0 16px 46px rgba(16,42,54,.09)}
.if-hero-art figcaption{max-width:520px;margin:11px auto 0;color:#667981;font-size:.72rem;line-height:1.55}
.if-capabilities{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:30px}
.if-capabilities span{font-size:.76rem}
.if-capabilities b{color:var(--if-blue-dark);font-variant-numeric:tabular-nums}
.if-section-head{margin-bottom:36px}
.if-section-head h2{max-width:780px}
.if-service-grid{gap:0}
.if-service{padding:27px 24px 12px 0}
.if-service+.if-service{padding-left:24px}
.if-service h3{font-size:clamp(1.12rem,1.4vw,1.32rem);line-height:1.28}
.if-service>p:not(.if-number){min-height:88px}
.if-service li{font-size:.82rem}
.if-service>a{margin-top:2px}
.if-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.if-case-card{min-width:0;background:#fff;border:1px solid var(--if-line)}
.if-case-image{display:block;position:relative;aspect-ratio:1.58;overflow:hidden;background:#e5ece9}
.if-case-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.if-case-card:hover .if-case-image img{transform:scale(1.035)}
.if-image-arrow{position:absolute;right:12px;bottom:12px;width:36px;height:36px;display:grid;place-items:center;background:#fff;color:var(--if-ink);border:1px solid rgba(16,42,54,.12);border-radius:2px}
.if-case-copy{padding:21px 21px 24px}
.if-case-copy .if-number{margin-bottom:12px!important}
.if-case-copy h3{margin:0 0 10px;color:var(--if-ink);font-size:1.08rem;line-height:1.28;font-weight:700;letter-spacing:-.025em}
.if-case-copy>p:not(.if-number){min-height:80px;margin:0 0 18px;color:var(--if-copy);font-size:.87rem;line-height:1.7}
.if-case-copy>a,.if-work-empty>a{display:inline-flex;align-items:center;gap:8px;color:var(--if-blue-dark);font-size:.85rem;font-weight:750;text-decoration:none}
.if-case-copy>a:hover,.if-work-empty>a:hover{color:var(--if-blue);text-decoration:underline;text-underline-offset:4px}
.if-work-empty{padding:28px;border:1px solid var(--if-line);background:#fff}
.if-work-empty h3{margin:0 0 8px;font-size:1.1rem}
.if-work-empty p{margin:0 0 15px;font-size:.9rem;line-height:1.7}
.if-all-work{margin-top:26px}
.if-section-ink{background:#102a36}
.if-section-ink .if-section-head h2{max-width:780px}
.if-section-ink .if-process-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 22px}
.if-process-grid article{border-top:1px solid #38515b;padding:19px 12px 0 0}
.if-process-grid article>span{margin-bottom:23px}
.if-standards{align-items:start}
.if-standards h2{max-width:430px}
.if-enquiry-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
.if-enquiry-grid .site-enquiry-card{min-width:0}
.if-case-grid img{color:transparent}
.if-work-empty{max-width:760px}
@media(max-width:1000px){
 .if-hero{padding-top:108px}
 .if-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
 .if-hero h1{font-size:clamp(2.45rem,5vw,3.6rem)}
 .if-hero-art img{max-height:none}
 .if-service>p:not(.if-number){min-height:112px}
 .if-case-grid{gap:14px}
 .if-case-copy{padding:18px 16px 20px}
}
@media(max-width:760px){
 .if-hero{padding:105px 0 40px}
 .if-hero-grid{grid-template-columns:minmax(0,1fr);gap:25px}
 .if-hero-copy{order:0}
 .if-hero-art{order:1;max-width:none;justify-self:stretch}
 .if-hero h1{max-width:650px;font-size:clamp(2.55rem,8.8vw,4rem);line-height:1.02}
 .if-hero .if-lead{font-size:1rem;line-height:1.72}
 .if-hero-art img{max-height:none}
 .if-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-top:25px}
 .if-capabilities span{align-items:baseline;gap:7px}
 .if-section{padding:58px 0}
 .if-section-head{grid-template-columns:minmax(0,1fr);gap:11px;margin-bottom:25px}
 .if-service-grid{grid-template-columns:minmax(0,1fr)}
 .if-service,.if-service+.if-service{padding:22px 0 24px;border-left:0}
 .if-service>p:not(.if-number){min-height:0}
 .if-service h3{font-size:1.22rem}
 .if-case-grid{grid-template-columns:minmax(0,1fr);gap:17px}
 .if-case-image{aspect-ratio:1.6}
 .if-case-copy{padding:20px 20px 22px}
 .if-case-copy>p:not(.if-number){min-height:0}
 .if-section-ink .if-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}
 .if-process-grid article{padding-top:16px}
 .if-process-grid article>span{margin-bottom:16px}
 .if-standards,.if-enquiry-grid{grid-template-columns:minmax(0,1fr);gap:25px}
}
@media(max-width:420px){
 .if-wrap{width:calc(100% - 28px)}
 .if-hero h1{font-size:clamp(2.3rem,10.2vw,2.95rem);line-height:1.04;letter-spacing:-.055em}
 .if-hero-art figcaption{font-size:.68rem}
 .if-capabilities{grid-template-columns:minmax(0,1fr);gap:10px}
 .if-section-ink .if-process-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .if-case-image{aspect-ratio:1.48}
 .if-case-copy{padding:18px}
 .if-button{width:100%}
 .if-actions{align-items:stretch;flex-direction:column;gap:10px}
 .if-link{min-height:42px}
}
@media(prefers-reduced-motion:reduce){.if-case-image img{transition:none}.if-case-card:hover .if-case-image img{transform:none}}
