/* Stefan vd homepage
   Load AFTER /css/style1.min.css. Every rule is scoped under #home and resets
   the properties the site stylesheet sets on common elements. */

#home{--ink:#1d1d1f;--mute:#6e6e73;--panel:#f5f5f7;--tile:#fff;--blue:#0071e3;--blue-h:#0077ed;--link:#0066cc;
display:block;width:100%;max-width:none;margin:0;padding:56px 0 0;background:#fff;color:var(--ink);text-align:center;
font:400 17px/1.47 -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
letter-spacing:-.011em;-webkit-font-smoothing:antialiased;overflow-x:clip}
#home *,#home *::before,#home *::after{box-sizing:border-box}
#home section,#home div,#home figure,#home ul,#home li{float:none;text-transform:none;letter-spacing:inherit}
#home section{display:block;width:auto;max-width:none;position:relative}
#home h1,#home h2,#home h3,#home p{margin:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;text-transform:none;text-shadow:none;text-align:inherit;width:auto;float:none}
#home ul{margin:0;padding:0;list-style:none}
#home a{color:var(--link);text-decoration:none}
#home a:hover{text-decoration:underline}
#home a:focus-visible,#home button:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
#home img,#home video{display:block;max-width:100%;height:auto;border:0;box-shadow:none}

/* Intro */
#home .h-intro{margin:0 0 12px;padding:64px 22px 56px;background:var(--panel)}
#home .h-intro h1{font-size:clamp(36px,6vw,64px);line-height:1.06;font-weight:700;letter-spacing:-.02em}
#home .h-eyebrow{display:block;margin:0 0 10px;font-size:clamp(17px,2vw,21px);line-height:1.2;font-weight:600;letter-spacing:0;color:var(--mute)}
#home .h-intro p{max-width:680px;margin:16px auto 0;font-size:clamp(19px,2.4vw,24px);line-height:1.3;color:var(--mute)}

/* Buttons */
#home .h-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;margin:20px 0 0}
#home .h-btn{display:inline-block;padding:10px 21px;font:inherit;font-size:17px;line-height:1.2;color:#fff;background:var(--blue);border:1px solid var(--blue);border-radius:980px;cursor:pointer}
#home .h-btn:hover{background:var(--blue-h);text-decoration:none}
#home .h-btn.alt{color:var(--link);background:transparent}
#home .h-btn.alt:hover{color:#fff;background:var(--blue)}
#home .h-ghost{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;font:inherit;font-size:14px;font-weight:600;color:inherit;background:rgba(128,128,128,.16);border:0;border-radius:980px;cursor:pointer}
#home .h-ghost:hover{background:rgba(128,128,128,.28)}
#home .h-ghost svg{fill:currentColor}

/* Full-width tiles */
#home .h-tile{margin:0 0 12px;padding:56px 22px 0;overflow:hidden;background:var(--panel)}
#home .h-tile.dark{--ink:#f5f5f7;--mute:#a1a1a6;--link:#2997ff;background:#000;color:#f5f5f7}
#home .h-tile .h-tag{margin:0 0 6px;font-size:17px;font-weight:600;color:#bf4800}
#home .h-tile.dark .h-tag{color:#ff9f0a}
#home .h-tile h2{display:flex;align-items:center;justify-content:center;gap:14px;font-size:clamp(40px,5.6vw,56px);line-height:1.07;font-weight:700;letter-spacing:-.015em}
#home .h-tile h2 img{width:56px;height:56px;border-radius:13px}
#home .h-tile.dark h2 img{filter:invert(1) brightness(2)}
#home .h-tile .h-sub{max-width:720px;margin:8px auto 0;font-size:clamp(19px,2.4vw,28px);line-height:1.18;font-weight:400;color:var(--mute)}
#home .h-media{max-width:880px;margin:40px auto 0}
#home .h-media video,#home .h-media img{width:100%}
#home .h-wad{background:#fff}
#home .h-wad .h-media video{border-radius:24px}
#home .h-under{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 0 28px}
#home .h-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 36px;max-width:880px;margin:0 auto;padding:28px 0 44px;font-size:14px;color:var(--mute)}
#home .h-facts b{display:block;font-size:28px;line-height:1.1;font-weight:700;color:var(--ink)}

/* Two-up grid */
#home .h-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 12px 12px}
#home .h-card{display:flex;flex-direction:column;align-items:center;min-height:560px;padding:52px 28px 0;overflow:hidden;background:var(--panel)}
#home .h-card h2{font-size:clamp(32px,3.6vw,40px);line-height:1.1;font-weight:700;letter-spacing:-.012em}
#home .h-card .h-sub{max-width:440px;margin:8px auto 0;font-size:clamp(17px,1.8vw,21px);line-height:1.25;color:var(--mute)}
#home .h-card .h-art{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin:auto 0 0;padding:36px 0 48px}
#home .h-apps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px;width:100%;max-width:440px}
#home .h-apps a{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14px;line-height:1.25;font-weight:500;color:var(--ink)}
#home .h-apps a:hover{text-decoration:none}
#home .h-apps img{width:96px;height:96px;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
#home .h-apps a:hover img{transform:scale(1.08)}
#home .h-note{margin:6px 0 0;font-size:12px;color:var(--mute)}

/* Chips */
#home .h-more{padding:72px 22px}
#home .h-more h2,#home .h-press h2{font-size:clamp(28px,4vw,40px);line-height:1.1;font-weight:700;letter-spacing:-.012em}
#home .h-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:900px;margin:28px auto 0}
#home .h-chips a{display:block;padding:12px 22px;font-size:17px;color:var(--ink);background:var(--panel);border-radius:980px}
#home .h-chips a:hover{text-decoration:none;background:#e8e8ed}

/* Press */
#home .h-press{margin:0 0 12px;padding:72px 22px;background:var(--panel)}
#home .h-press p{max-width:640px;margin:10px auto 0;font-size:19px;color:var(--mute)}
#home .h-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 44px;max-width:1000px;margin:40px auto 0}
#home .h-logos img{width:auto;height:34px;filter:grayscale(1);opacity:.75;transition:opacity .2s,filter .2s}
#home .h-logos a:hover img{filter:none;opacity:1}

/* About */
#home .h-about{max-width:760px;margin:0 auto;padding:72px 22px;text-align:left}
#home .h-about h2{font-size:28px;line-height:1.15;font-weight:700;text-align:center}
#home .h-about p{margin:16px 0 0;font-size:17px;line-height:1.55;color:var(--mute)}

/* FAQ */
#home .h-faq{max-width:760px;margin:0 auto;padding:0 22px 72px;text-align:left}
#home .h-faq h2{margin:0 0 20px;font-size:28px;line-height:1.15;font-weight:700;text-align:center}
#home .h-faq details{border-bottom:1px solid rgba(128,128,128,.25)}
#home .h-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:19px;font-weight:600;cursor:pointer;list-style:none}
#home .h-faq summary::-webkit-details-marker{display:none}
#home .h-faq summary::after{content:"+";font-size:24px;font-weight:300;color:var(--mute);transition:rotate .2s}
#home .h-faq details[open] summary::after{rotate:45deg}
#home .h-faq summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
#home .h-faq details p{margin:0 0 20px;font-size:17px;line-height:1.55;color:var(--mute)}

/* Ads: site .stefanvdads wrapper; init.js swaps in the donate banner when ads are blocked */
#home .stefanvdads{display:block;width:auto;max-width:994px;margin:12px auto 24px;padding:0 12px}
#home .stefanvdads:has(ins[data-ad-status="unfilled"]){display:none}
#home .boxdonatetext{color:var(--ink);font-size:17px;line-height:1.5}
#home .donatebutton{color:#000}
#home .donatebutton:hover{color:#000;text-decoration:none}

/* Scroll reveal (progressive enhancement) */
@media (prefers-reduced-motion:no-preference){
@supports ((animation-timeline:view()) and (animation-range:entry)){
@keyframes h-rise{from{opacity:0;translate:0 48px;scale:.97}}
#home .h-reveal{animation:h-rise auto linear backwards;animation-timeline:view();animation-range:entry 0% entry 70%}
}
html{scroll-behavior:smooth}
}

@media (max-width:734px){
#home .h-grid{grid-template-columns:1fr}
#home .h-card{min-height:480px}
#home .h-tile h2{flex-direction:column;gap:12px}
#home .h-tile h2 img{width:64px;height:64px;border-radius:15px}
#home .h-apps img{width:72px;height:72px}
#home .h-wad .h-media video{border-radius:16px}
#home .h-logos{gap:22px 30px}
#home .h-logos img{height:26px}
}

@media (prefers-color-scheme:dark){
#home{--ink:#f5f5f7;--mute:#a1a1a6;--panel:#161617;--link:#2997ff;--blue:#0071e3;background:#000}
#home .h-tile.dark{background:#0b0b0c}
#home .h-wad{background:#000}
#home .h-chips a:hover{background:#2c2c2e}
#home .h-logos img{filter:grayscale(1) invert(1);opacity:.7}
#home .h-logos a:hover img{filter:grayscale(1) invert(1);opacity:1}
}
