/* Envorn Digital: minimal, professional */
:root{
  --ink:#111418;--muted:#5f6670;--faint:#8b929c;--line:#e6e8eb;--bg:#ffffff;--soft:#f6f7f8;
  --accent:#1f4fd1;--accent-d:#173c9f;--radius:10px;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:"Iowan Old Style","Charter","Georgia",serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
a{color:var(--accent);text-underline-offset:2px}
img{max-width:100%}
h1,h2,h3,h4{letter-spacing:-.015em;line-height:1.25}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.muted{color:var(--muted)}
.small{font-size:.85rem}

/* header / footer */
header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px);position:sticky;top:0;z-index:10}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{font-weight:700;font-size:1.05rem;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
nav a{margin-left:22px;text-decoration:none;color:var(--muted);font-size:.93rem}
nav a:hover{color:var(--ink)}
footer{border-top:1px solid var(--line);margin-top:64px;padding:36px 0 44px;color:var(--muted);font-size:.88rem}
footer .cols{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:28px}
footer h5{margin:0 0 10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}
footer a{display:block;color:var(--muted);text-decoration:none;padding:2px 0}
footer a:hover{color:var(--ink)}
footer .legal-note{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem;color:var(--faint)}

/* buttons, chips, badges */
.btn{display:inline-block;background:var(--ink);color:#fff;padding:11px 20px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.95rem;border:1px solid var(--ink)}
.btn:hover{background:#2a2f36}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line);margin-left:8px}
.btn.ghost:hover{border-color:var(--ink)}
.btn.small{padding:8px 14px;font-size:.88rem}
.btn.disabled{background:var(--soft);color:var(--faint);border-color:var(--line);cursor:default}
.chips{margin:18px 0 0}
.chips a{display:inline-block;margin:4px 3px;padding:5px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--muted);font-size:.86rem}
.chips a:hover{color:var(--ink);border-color:#c9cdd3}
.chips a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:10px 0 0}

/* heads */
.hero{padding:88px 0 56px;text-align:center}
.hero.compact{padding:64px 0 28px;text-align:left}
.hero h1{font-size:clamp(2.1rem,5vw,3.2rem);margin:0 0 14px;letter-spacing:-.03em}
.hero p{font-size:1.15rem;color:var(--muted);max-width:640px;margin:0 auto 26px}
.hero.compact p{margin:0}
.page-head{padding:56px 0 20px}
.page-head h1{font-size:clamp(1.9rem,4vw,2.5rem);margin:0 0 6px;letter-spacing:-.025em}
.page-head p{color:var(--muted);margin:0}
.cat{padding:28px 0}
.cat > h2,.section-title{font-size:1.25rem;margin:0 0 4px}

/* article cards */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 32px;margin:8px 0}
.post-card{display:block;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.post-card h3{margin:4px 0 6px;font-size:1.12rem}
.post-card:hover h3{color:var(--accent)}
.post-card p{margin:0;color:var(--muted)}
.post-card .badge{margin:0}
.post-card .small{margin-top:8px;color:var(--faint)}
.lead-post{display:block;padding:28px 0 32px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.lead-post h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin:6px 0 10px;letter-spacing:-.025em;max-width:820px}
.lead-post:hover h2{color:var(--accent)}
.lead-post p{color:var(--muted);max-width:720px;margin:0 0 6px;font-size:1.08rem}
.posts{max-width:760px}

/* article page */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;padding:40px 24px 24px}
.post{min-width:0;max-width:720px}
.post h1{font-size:clamp(1.8rem,3.8vw,2.6rem);margin:10px 0 10px;letter-spacing:-.03em}
.post p,.post li{font-family:var(--serif);font-size:1.15rem;line-height:1.75}
.post h2{margin-top:36px;font-size:1.45rem}
.post h3{margin-top:28px}
.post pre{background:#0f1115;color:#e6e8eb;padding:16px;border-radius:8px;overflow:auto;font-size:.9rem}
.post code{font-size:.9em}
.post blockquote{border-left:3px solid var(--ink);margin:24px 0;padding:2px 18px;color:var(--muted)}
.post img,.post iframe{border-radius:8px}
.crumb{font-size:.85rem;color:var(--faint);margin:0}
.crumb a{color:var(--faint);text-decoration:none}
.crumb a:hover{color:var(--ink)}
.disclaimer-note{font-size:.82rem;color:var(--faint);border-top:1px solid var(--line);padding-top:14px;margin-top:32px;font-family:var(--sans)}
.sidebar{display:flex;flex-direction:column;gap:28px;padding-top:8px}
.side-box h4{margin:0 0 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.side-link{display:block;padding:6px 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line);font-size:.93rem}
.side-link:hover{color:var(--accent)}
.mini{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);margin-bottom:12px;font-size:.9rem;font-weight:600;line-height:1.3}
.mini-cover{width:44px;aspect-ratio:2/3;object-fit:cover;border-radius:3px;flex:none;border:1px solid var(--line);background:var(--soft);font-size:0}
.cta-box{border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin:36px 0;background:var(--soft)}
.cta-box h3{margin:0 0 6px}
.cta-box p{font-family:var(--sans)!important;font-size:1rem!important;color:var(--muted);margin:0 0 16px}
.more-head{margin-top:44px;font-size:1.2rem!important}

/* shop */
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:28px;margin-top:18px}
.product{text-decoration:none;color:var(--ink)}
.product h3{font-size:.98rem;margin:4px 0 2px;line-height:1.35}
.product:hover h3{color:var(--accent)}
.cover{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:var(--soft);display:block}
.cover.placeholder{display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;color:var(--muted);font-weight:600;font-size:.95rem}
.price-tag{margin:0;font-weight:600;font-size:.93rem}
.price-tag.soon{color:var(--faint);font-weight:400}
.product-page{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:56px;padding:56px 0 24px;align-items:start}
.product-page h1{margin:6px 0 12px;font-size:clamp(1.7rem,3.5vw,2.3rem);letter-spacing:-.025em}
.lead{font-size:1.12rem;color:var(--muted)}
.big-price{font-size:1.6rem;font-weight:700;margin:6px 0 18px}
.fine{font-size:.82rem;color:var(--faint);margin-top:16px;max-width:520px}

/* generic cards / docs */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;padding:20px 0}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--bg)}
.card h3{margin:0 0 6px;font-size:1.05rem}
.card p{margin:0;color:var(--muted)}
.card.link{text-decoration:none;color:var(--ink)}
.card.link:hover{border-color:#c9cdd3}
.doc{max-width:760px;margin:48px auto}
.doc h1{font-size:2.2rem;letter-spacing:-.03em;margin-top:0}
.doc h2{font-size:1.25rem;margin-top:32px}
.doc li{margin:4px 0}
.price{text-align:center;padding:16px 0 64px}
.price .card{max-width:380px;margin:0 auto;text-align:left}
.price .amt{font-size:2.4rem;font-weight:700}
.price ul{color:var(--muted);padding-left:20px}
h2{font-size:1.6rem}
section > .wrap > h2{text-align:center}

/* media: videos + podcast */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px;margin-top:20px}
.media-item h3{font-size:1.05rem;margin:12px 0 4px}
.media-item p{margin:0;color:var(--muted);font-size:.95rem}
.embed{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--soft);border:1px solid var(--line)}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.episode{padding:24px 0;border-bottom:1px solid var(--line);max-width:780px}
.episode h3{margin:2px 0 6px}
.episode audio{width:100%;margin-top:10px}
.episode iframe{width:100%;border:0;border-radius:10px;margin-top:10px}
.listen{margin-top:14px}
.listen a{margin-right:14px;font-size:.92rem}

/* ads */
.ad{margin:28px 0;text-align:center;min-height:90px}
.ad-label{display:block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.ad.sticky{position:sticky;top:84px;min-height:250px}
.ad.in-list{grid-column:1/-1}

@media (max-width:900px){
  .article-layout{grid-template-columns:1fr;gap:24px}
  .ad.sticky{position:static}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  nav a{margin-left:12px;font-size:.85rem}
  .product-page{grid-template-columns:1fr;gap:28px}
  .hero{padding:56px 0 36px}
}
.post table{border-collapse:collapse;width:100%;margin:20px 0;font-family:var(--sans);font-size:.95rem}
.post th,.post td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.post th{font-weight:600;background:var(--soft)}
.post hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.pkg{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.pkg .card{display:flex;flex-direction:column}
.pkg .card ul{color:var(--muted);padding-left:18px;margin:6px 0 12px;font-size:.93rem}
.pkg .card .btn{margin-top:auto;align-self:flex-start}
.pkg .big-price{font-size:1.25rem;margin:4px 0 6px}
.pkg .badge{margin:0 0 4px}
.newsletter{border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:36px 0;display:grid;gap:12px;font-family:var(--sans)}
.newsletter h3{margin:0 0 4px}
.newsletter p{margin:0;color:var(--muted);font-family:var(--sans)!important;font-size:.98rem!important;line-height:1.5!important}
.nl-row{display:flex;gap:8px;flex-wrap:wrap}
.nl-row input{flex:1;min-width:220px;padding:11px 14px;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-family:var(--sans)}
.nl-row input:focus{outline:2px solid var(--accent);outline-offset:1px}
.nl-consent{font-size:.82rem;color:var(--muted);display:flex;gap:8px;align-items:flex-start}
.nl-msg.ok{color:#15803d}.nl-msg.err{color:#b91c1c}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
.tool-mini{padding:8px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.tool-mini a{font-weight:600;display:block}
.tool-mini span{color:var(--muted);font-size:.85rem}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:28px 0 0;font-family:var(--sans)}
.share span{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-right:4px}
.share a{font-size:.85rem;border:1px solid var(--line);border-radius:999px;padding:5px 12px;text-decoration:none;color:var(--ink)}
.share a:hover{border-color:var(--ink)}
.social-foot a{display:inline-block!important;margin:0 10px 6px 0}
.tool{border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:20px 0;background:var(--soft);font-family:var(--sans)}
.tool label{display:block;font-weight:600;font-size:.93rem;margin:0 0 14px}
.tool input:not([type=range]),.tool select,.tool textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-family:var(--sans);background:#fff}
.tool input[type=range]{display:block;width:100%;margin-top:6px}
.tool h3{margin:6px 0 10px}
.tool .out td{font-family:var(--sans);font-size:.98rem}
.result{margin-top:14px;font-family:var(--sans)}
.result p,.tool-page .result p{font-family:var(--sans)!important;font-size:1rem!important}
