/* Preserve V2's light engineering language and keep actual UI images crisp. */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@font-face{font-family:StudioCode;src:url('/fonts/IBMPlexMono-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
h1,h2,h3{font-family:StudioCode,'SFMono-Regular',Consolas,monospace;font-weight:500;letter-spacing:-.045em}
h1{font-size:clamp(36px,4.2vw,64px);line-height:1.13}
h2{font-size:clamp(30px,3.3vw,52px);line-height:1.16}
h3{font-size:24px;line-height:1.25}
.module-detail h3{font-size:30px}.case h3{font-size:27px}.reconcile h3{font-size:32px}.principles h3{font-size:36px}
@media(max-width:560px){h1{font-size:36px}h2{font-size:30px}.module-detail h3{font-size:26px}.case h3{font-size:25px}.reconcile h3{font-size:27px}.principles h3{font-size:29px}.step h3{font-size:16px;letter-spacing:-.055em}}
@media(max-width:360px){.principles h3{font-size:22px}.step h3{font-size:14px}}
.hero-exhibit::before,.hero-exhibit::after{content:"";position:absolute;pointer-events:none;border-radius:inherit}
.hero-exhibit::before{inset:40px 16px;background-image:linear-gradient(#1958e814 1px,transparent 1px),linear-gradient(90deg,#1958e814 1px,transparent 1px);background-size:32px 32px;transform:translate3d(0,var(--depth-back,0px),0)}
.hero-exhibit::after{width:150px;height:150px;right:25px;top:45px;border:1px solid #1958e83b;box-shadow:0 0 0 22px #1958e80b;transform:translate3d(0,var(--depth-front,0px),0)}
.hero-exhibit>.row,.hero-exhibit>.shot{position:relative;z-index:1}
.hero-exhibit .overlay{z-index:2;transform:translate3d(0,var(--depth-card,0px),0) rotate(2deg)}.hero-exhibit .callout{z-index:3;transform:translate3d(0,var(--depth-front,0px),0)}
.module-detail .shot img{height:360px;object-position:center}
.module-detail .shotbar{min-height:48px}
@media(max-width:560px){.module-detail .shot img{height:250px}}
.case .credit{line-height:1.6}
.contact-links .btn{margin-top:0}
@media(max-width:560px){.hero-exhibit::before{background-size:24px 24px}.hero-exhibit::after{width:90px;height:90px;right:20px;top:20px;box-shadow:0 0 0 12px #1958e805}}
html[data-motion=reduced] .hero-exhibit::before,html[data-motion=reduced] .hero-exhibit::after,html[data-motion=reduced] .hero-exhibit .overlay,html[data-motion=reduced] .hero-exhibit .callout{transform:none}
@media(prefers-reduced-motion:reduce){.hero-exhibit::before,.hero-exhibit::after,.hero-exhibit .overlay,.hero-exhibit .callout,.case{transform:none!important;animation:none!important;transition:none!important}}

/* WhatsApp contact action only. Brand green with readable dark text. */
.contact-links .btn.whatsapp{background:#25d366;color:#073b20}
.contact-links .btn.whatsapp:hover{background:#1ebe5d}
.contact-links .btn.whatsapp:focus-visible{outline:3px solid #075e54;outline-offset:4px}
