:root { --navy:#0b1a2e; --navy-2:#1a3658; --yellow:#ffd93d; --teal:#0db4db; --teal-dark:#087f9b; --cream:#faf6ec; --soft:#4a5568; --line:#e2e8f0; --shadow:0 20px 55px rgba(11,26,46,.1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--navy); background:#fff; font-family:'DM Sans',sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.header-inner { max-width:1200px; margin:auto; padding:18px 38px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-size:1.08rem; font-weight:800; letter-spacing:-.03em; text-decoration:none; }
nav { display:flex; align-items:center; gap:27px; }
nav a { color:var(--soft); font-size:.9rem; font-weight:700; text-decoration:none; }
nav a:hover { color:var(--navy); }
.nav-cta { padding:9px 16px; border-radius:8px; color:#fff!important; background:var(--navy); }
.hero { position:relative; overflow:hidden; padding:112px 30px 105px; text-align:center; background:linear-gradient(180deg,#fff 0%,var(--cream) 100%); }
.hero::before { content:""; position:absolute; width:380px; height:380px; top:-220px; left:-100px; border:80px solid rgba(255,217,61,.25); border-radius:50%; }
.hero::after { content:""; position:absolute; width:280px; height:280px; right:-150px; bottom:-150px; background:rgba(13,180,219,.12); transform:rotate(28deg); }
.hero > * { position:relative; z-index:1; }
.eyebrow { display:block; margin-bottom:18px; color:var(--teal-dark); font-family:'JetBrains Mono',monospace; font-size:.76rem; font-weight:700; letter-spacing:.18em; }
.hero h1 { max-width:850px; margin:0 auto 24px; font-size:clamp(2.7rem,6vw,5.2rem); line-height:1.01; letter-spacing:-.06em; }
.hero h1 span { background:linear-gradient(180deg,transparent 66%,rgba(255,217,61,.75) 66%); }
.hero p { max-width:680px; margin:0 auto 30px; color:var(--soft); font-size:clamp(1rem,2vw,1.2rem); }
.hero-link { display:inline-flex; align-items:center; gap:12px; padding:14px 22px; border-radius:10px; color:#fff; background:var(--navy); font-weight:800; text-decoration:none; box-shadow:0 10px 25px rgba(11,26,46,.18); }
.hero-link span { color:var(--yellow); }
.wall { max-width:1200px; margin:auto; padding:95px 38px 110px; }
.wall-head { margin-bottom:34px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.wall-head h2 { margin:0; max-width:640px; font-size:clamp(2rem,4vw,3.25rem); line-height:1.08; letter-spacing:-.045em; }
.wall-head p { margin:0 0 6px; color:var(--soft); font-family:'JetBrains Mono',monospace; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; }
.filters { margin:0 0 34px; display:flex; flex-wrap:wrap; gap:9px; }
.filter { padding:9px 15px; border:1px solid var(--line); border-radius:999px; color:var(--soft); background:#fff; font:700 .84rem 'DM Sans',sans-serif; cursor:pointer; }
.filter:hover,.filter.active { color:var(--navy); border-color:var(--yellow); background:#fff8d8; }
.testimonial-grid { columns:3 300px; column-gap:22px; }
.testimonial-card { break-inside:avoid; margin:0 0 22px; padding:28px; border:1px solid rgba(11,26,46,.09); border-radius:18px; background:#fff; box-shadow:0 7px 30px rgba(11,26,46,.055); }
.testimonial-card.featured { border-top:5px solid var(--yellow); }
.rating { color:#e9b800; letter-spacing:.1em; font-size:.95rem; }
.story { margin:14px 0 20px; font-size:1.03rem; line-height:1.72; white-space:pre-line; }
.recommendation { margin:0 0 22px; padding:14px 16px; border-left:3px solid var(--teal); color:var(--soft); background:#f6fbfc; font-size:.92rem; }
.card-video { width:100%; margin:0 0 20px; border-radius:12px; background:var(--navy); }
.person { padding-top:18px; border-top:1px solid var(--line); display:flex; align-items:center; gap:13px; }
.avatar { position:relative; width:48px; height:48px; flex:0 0 auto; display:grid; place-items:center; overflow:hidden; border-radius:50%; color:#fff; background:var(--navy); font-weight:800; }
.avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; }
.avatar img.loaded { opacity:1; }
.avatar-fallback { display:none; }
.avatar-fallback.visible { display:block; }
.person strong,.person small { display:block; }
.person strong { line-height:1.25; }
.person small { margin-top:3px; color:var(--soft); line-height:1.35; }
.tags { margin-top:16px; display:flex; flex-wrap:wrap; gap:6px; }
.tag { padding:4px 9px; border-radius:999px; color:#08758e; background:#e9f9fc; font-size:.72rem; font-weight:800; }
.skeleton { height:255px; break-inside:avoid; margin-bottom:22px; border-radius:18px; background:linear-gradient(100deg,#f3f4f6 20%,#fafafa 40%,#f3f4f6 60%); background-size:200% 100%; animation:shimmer 1.4s infinite; }
@keyframes shimmer { to { background-position-x:-200%; } }
.empty,.error { padding:65px 25px; border:1px dashed #cbd5e1; border-radius:20px; text-align:center; background:var(--cream); }
.empty span { color:var(--teal); font-size:2rem; }
.empty h2 { margin:10px 0 7px; font-size:1.7rem; }
.empty p { margin:0 0 22px; color:var(--soft); }
.empty a { font-weight:800; }
.error { color:#8b2331; background:#fff4f5; }
.closing { max-width:1125px; margin:0 auto 110px; padding:58px; border-radius:24px; color:#fff; background:linear-gradient(135deg,var(--navy),var(--navy-2)); display:flex; align-items:center; justify-content:space-between; gap:45px; box-shadow:var(--shadow); }
.closing .eyebrow { color:var(--yellow); }
.closing h2 { max-width:650px; margin:0 0 12px; font-size:clamp(1.9rem,4vw,3rem); line-height:1.1; letter-spacing:-.04em; }
.closing p { max-width:630px; margin:0; color:rgba(255,255,255,.74); }
.closing > a { flex:none; padding:14px 20px; border-radius:10px; color:var(--navy); background:var(--yellow); font-weight:800; text-decoration:none; }
footer { padding:36px 25px; text-align:center; color:rgba(255,255,255,.65); background:var(--navy); font-size:.88rem; }
footer strong { display:block; margin-bottom:8px; color:var(--yellow); font:700 .76rem 'JetBrains Mono',monospace; letter-spacing:.14em; text-transform:uppercase; }
footer p { margin:0; }
footer a { color:var(--yellow); text-decoration:none; }
@media (max-width:760px) { .header-inner { padding:15px 20px; } nav a:not(.nav-cta) { display:none; } .hero { padding:82px 22px 78px; } .wall { padding:72px 20px 80px; } .wall-head { align-items:start; flex-direction:column; gap:13px; } .testimonial-grid { columns:1; } .closing { margin:0 20px 75px; padding:38px 27px; align-items:flex-start; flex-direction:column; } }
