/* pages.css - hero, sections, atmosphere, animations */
.bg-glow { position:fixed; inset:0; z-index:-2; pointer-events:none; overflow:hidden; }
.bg-glow::before,.bg-glow::after { content:""; position:absolute; border-radius:50%; filter:blur(120px); opacity:var(--glow-opacity,.35); }
.bg-glow::before { width:50vw; height:50vw; top:-10vw; right:-10vw; background:radial-gradient(circle,var(--accent),transparent 65%); }
.bg-glow::after { width:42vw; height:42vw; bottom:-12vw; left:-8vw; background:radial-gradient(circle,var(--glow-2,var(--amber)),transparent 65%); opacity:var(--glow-opacity-2,.18); }
.bg-grain { position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:var(--grain-opacity,.035);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

.hero { padding-top:clamp(3.5rem,8vw,6rem); }
.hero__inner { max-width:880px; }
.hero h1 { margin:1.2rem 0 1.4rem; }
.hero h1 .grad { background:var(--grad-text,linear-gradient(120deg,var(--accent),var(--amber))); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p { font-size:clamp(1.05rem,1.6vw,1.25rem); max-width:60ch; }
.hero__actions { display:inline-grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:1rem; margin-top:2rem; }
.hero__actions .btn { width:100%; justify-content:center; }
@media (max-width:560px){ .hero__actions { display:grid; grid-auto-flow:row; } }

.stats { border-block:1px solid var(--border); background:var(--band-bg); }
.stats .grid--4 { gap:1rem; }
.stat { text-align:center; padding:1.5rem 1rem; }
.stat__value { font-family:var(--font-display); font-size:clamp(2rem,4vw,3rem); font-weight:800; color:var(--accent); line-height:1; }
.stat__label { color:var(--muted); font-size:.9rem; margin-top:.6rem; }

.clients { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:clamp(2rem,6vw,4.5rem); }
.clients__item { display:flex; align-items:center; justify-content:center; }
.clients__item img { height:clamp(28px,4vw,38px); width:auto; opacity:.9; transition:opacity var(--transition), transform var(--transition); }
.clients__item:hover img { opacity:1; transform:translateY(-3px); }

.service-detail { display:grid; grid-template-columns:64px 1fr; gap:1.4rem; align-items:start; }
.service-detail .card__icon { margin:0; }
@media (max-width:560px){ .service-detail{ grid-template-columns:1fr; gap:1rem; } }

.process-step { position:relative; padding-left:1.5rem; }
.process-step__num { font-family:var(--font-display); font-size:2.2rem; font-weight:800; color:color-mix(in srgb,var(--accent) 55%, transparent); line-height:1; }
.process-step h3 { margin:.7rem 0 .5rem; }

.quote { font-family:var(--font-display); font-size:1.05rem; line-height:1.5; color:var(--text); font-weight:500; }
.quote::before { content:"\201C"; display:block; font-size:3rem; color:var(--accent); line-height:.5; margin-bottom:.6rem; }
.quote__author { margin-top:1.4rem; font-size:.9rem; }
.quote__author strong { display:block; }
.quote__author span { color:var(--muted); }

.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.mv-card { border-left:3px solid var(--accent); padding-left:1.4rem; }
.mv-card + .mv-card { margin-top:1.8rem; border-left-color:var(--amber); }
@media (max-width:800px){ .about-grid{grid-template-columns:1fr;} }

.page-hero { padding-block:clamp(3rem,7vw,5rem) clamp(1rem,3vw,2rem); }
.page-hero h1 { margin:1rem 0 1rem; }
.page-hero p { max-width:58ch; }

.cta-band { background:var(--cta-bg); border:var(--card-border); border-radius:var(--radius); padding:clamp(2.5rem,6vw,4rem); text-align:center; }
.cta-band h2 { margin-bottom:1rem; }
.cta-band p { max-width:50ch; margin:0 auto 2rem; }

.contact-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:start; }
.contact-info li { display:flex; gap:.8rem; align-items:flex-start; padding:.9rem 0; border-bottom:1px solid var(--border); }
.contact-info [data-icon] { display:inline-flex; flex-shrink:0; margin-top:2px; }
.contact-info svg { width:22px; height:22px; stroke:var(--accent); fill:none; flex-shrink:0; }
.contact-info a:hover { color:var(--accent); }
.contact-info strong { display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:600; }
@media (max-width:800px){ .contact-grid{grid-template-columns:1fr;} }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1); }
.reveal.visible { opacity:1; transform:none; }
.reveal[data-delay="1"]{transition-delay:.08s;} .reveal[data-delay="2"]{transition-delay:.16s;} .reveal[data-delay="3"]{transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none;} html{scroll-behavior:auto;} }
