/* evviro site v3 look for the subpages (owner 2026-10-31: restyle only).
   Loaded after each page's own styles. Changes type, spacing, surfaces and motion; no content. */
:root {
  --sf: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", Geist, system-ui, sans-serif;
}
html { background: #060d0b; scroll-behavior: smooth; }
body, footer, input, select, textarea, button { font-family: var(--sf) !important; }
body { text-rendering: optimizeLegibility; }
.d1 { letter-spacing: -0.035em; font-weight: 300; }
.d2 { letter-spacing: -0.028em; font-weight: 300; }
.d3 { letter-spacing: -0.02em; }
.lead { line-height: 1.6; }
.body { line-height: 1.6; }
.sec { padding: 136px 0; }
.card { border-radius: 28px; transition: border-color .4s, background .4s; }
.photo { border-radius: 28px; }
.btn, .btn2 { transition: background .3s, border-color .3s; }
.btn2 { border-color: rgba(244, 244, 245, 0.3); }
.btn2:hover { border-color: rgba(244, 244, 245, 0.6); }
.alt { background: #0a1210; }
/* a slow settle on photos as they scroll into view */
@supports (animation-timeline: view()) {
  .photo img { animation: v3-settle linear both; animation-timeline: view(); animation-range: entry 0% cover 60%; }
}
@keyframes v3-settle { from { transform: scale(1.08); } to { transform: scale(1); } }
/* fade and rise for blocks below the first screen (set by site-v3.js) */
.v3-rv { opacity: 0; transform: translateY(22px); transition: opacity 1.1s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1); }
.v3-rv.v3-in { opacity: 1; transform: none; }
@media (max-width: 760px) { .sec { padding: 80px 0; } }
@media (prefers-reduced-motion: reduce) {
  .photo img { animation: none !important; }
  .v3-rv { opacity: 1; transform: none; transition: none; }
}
