/* EGAN Collective — light theme. Colors live in :root below. */
:root{--bg:#f6f8fb;--card:#ffffff;--panel:#f4f7fb;--bd:#e3e9f2;--bd2:#d5deeb;--bdi:#c6d2e2;--tx:#101725;--tx2:#46556e;--mut:#5c6a7e;--fnt:#64748b;--blue:#2563eb;--blueh:#1d4fd7;--cyan:#0891b2;--green:#059669;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--tx)}
body{font-family:Barlow,system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}a:hover{color:var(--blueh)}
img{max-width:100%;height:auto}
::selection{background:#2456a6;color:#fff}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:16px;top:14px;background:var(--blue);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;font-size:14px;transform:translateY(-300%);z-index:300}
.skip:focus{transform:none}
.abar{background:#12213f;color:#cfe0ff;font-size:13px;text-align:center;padding:8px 40px;letter-spacing:.3px;border-bottom:1px solid #1b2c4f}
.abar a{color:#9fc0ff;font-weight:600}
.hdr{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--bd)}
.hrow{display:flex;align-items:center;gap:30px;height:74px}
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.logo b{display:block;font-weight:800;font-size:19px;letter-spacing:4px;color:var(--tx);line-height:1}
.logo i{display:block;font-style:normal;font-size:9px;letter-spacing:4.4px;color:var(--blue);font-weight:700;line-height:1;margin-top:3px}
.dnav{display:flex;gap:24px;align-items:center}
.dnav a{color:var(--tx2);font-weight:600;font-size:15px;padding:8px 2px 6px;border-bottom:2px solid transparent}
.dnav a:hover{color:#0b1220}
.dnav a[aria-current=page]{color:#0b1220;border-color:var(--blue)}
.etsy-btn{margin-left:auto;border:1px solid var(--bdi);color:var(--tx);font-weight:600;font-size:14px;padding:9px 18px;border-radius:8px;display:flex;align-items:center;gap:9px;flex-shrink:0}
.etsy-btn:hover{border-color:var(--blue);color:#0b1220}
.dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}
.mnav{display:none;margin-left:auto;position:relative}
.mnav>summary{list-style:none;cursor:pointer;border:1px solid var(--bdi);border-radius:8px;padding:10px 16px;font-weight:700;font-size:14px;color:var(--tx);background:#fff}
.mnav>summary::-webkit-details-marker{display:none}
.mnav[open]>summary{border-color:var(--blue)}
.mpanel{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border:1px solid var(--bd);border-radius:12px;box-shadow:0 18px 50px rgba(16,42,90,.16);padding:10px;display:flex;flex-direction:column;min-width:230px;z-index:200}
.mpanel a{color:var(--tx2);font-weight:600;font-size:16px;padding:12px;border-radius:8px}
.mpanel a:hover{background:var(--panel);color:#0b1220}
.mpanel .cta{background:var(--blue);color:#fff;text-align:center;font-weight:700;margin-top:8px}
.mpanel .cta:hover{background:var(--blueh)}
@media(max-width:940px){.dnav,.etsy-btn{display:none}.mnav{display:block}.hrow{gap:16px}}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:2.5px;color:var(--blue);margin:0 0 10px}
.kicker.g{color:var(--green)}
.pgt{margin:0 0 10px;font-size:clamp(32px,4vw,44px);font-weight:800;letter-spacing:-.4px}
.sub{margin:0 0 34px;color:var(--mut);font-size:16px;line-height:1.6;max-width:70ch}
.btn{display:inline-block;background:var(--blue);color:#fff;font-weight:700;font-size:15px;padding:13px 26px;border-radius:8px;border:none;cursor:pointer;font-family:inherit;text-align:center}
.btn:hover{background:var(--blueh);color:#fff}
.btn-o{display:inline-block;border:1px solid var(--bdi);color:var(--tx);font-weight:600;font-size:15px;padding:13px 26px;border-radius:8px;background:none;cursor:pointer;font-family:inherit;text-align:center}
.btn-o:hover{border-color:var(--blue);color:#0b1220}
section.sec{padding:76px 0 8px}
.st{margin:0 0 28px;font-size:32px;font-weight:700;letter-spacing:-.3px}
.shead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px}
.shead .st{margin:0}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.tiles{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.tile{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:24px 22px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s;color:inherit}
a.tile:hover{border-color:var(--blue);color:inherit}
.tile .path{font-family:var(--mono);font-size:12px;color:var(--blue)}
.tile h3{margin:0;color:var(--tx);font-weight:700;font-size:18px}
.tile p{margin:0;color:var(--mut);font-size:13.5px;line-height:1.5}
.tile.soon{background:var(--panel);border-style:dashed;border-color:var(--bd2)}
.tile.soon .path{color:var(--fnt)}
.tile.soon h3{color:var(--tx2)}
.pc{background:var(--card);border:1px solid var(--bd);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,transform .2s;height:100%}
.pc:hover{border-color:#b9c7da;transform:translateY(-3px)}
.pc-imgl{display:block;position:relative}
.pc-img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;background:#eef2f7}
.badge{position:absolute;top:12px;left:12px;background:var(--blue);color:#fff;font-size:11px;font-weight:700;letter-spacing:1.5px;padding:4px 10px;border-radius:4px}
.badge.soon{left:auto;right:12px;background:var(--bd);color:var(--tx2)}
.pc-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.pc-cat{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--blue)}
.pc-title{color:var(--tx);font-weight:700;font-size:18px;line-height:1.3}
.pc-title:hover{color:var(--blue)}
.pc-desc{margin:0;color:var(--mut);font-size:14px;line-height:1.5;flex:1}
.pc-row{display:flex;align-items:baseline;justify-content:space-between;margin-top:6px}
.pc-price{font-weight:800;font-size:19px}
.pc-ship{color:var(--fnt);font-size:12px}
.pc-btns{display:flex;gap:10px;margin-top:8px}
.pc-btns a{flex:1;text-align:center;font-size:14px;padding:10px 0;border-radius:8px;font-weight:600}
.pc-view{border:1px solid var(--bdi);color:var(--tx)}
.pc-view:hover{border-color:var(--blue);color:#0b1220}
.pc-buy{background:var(--blue);color:#fff;font-weight:700}
.pc-buy:hover{background:var(--blueh);color:#fff}
.panel{background:var(--panel);border:1px solid var(--bd);border-radius:12px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:600;font-size:14px;color:#33415c}
.flabel{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;color:var(--fnt)}
input[type=text],input[type=email],input[type=search],select,textarea{background:var(--bg);border:1px solid var(--bdi);color:var(--tx);padding:11px 14px;border-radius:8px;font-size:15px;font-family:inherit;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none}
textarea{resize:vertical}
details.acc{border:1px solid var(--bd);border-radius:10px;background:var(--panel)}
details.acc summary{cursor:pointer;padding:17px 20px;font-weight:700;font-size:16px;color:var(--tx);list-style-position:inside}
details.acc .accb{padding:0 20px 18px;color:var(--tx2);font-size:15px;line-height:1.65}
details.acc .accb p{margin:0 0 10px}
.article{max-width:760px;margin:0 auto;padding:56px 24px 88px}
.article h2{margin:28px 0 12px;font-size:21px;font-weight:700}
.article p{color:var(--tx2);font-size:15.5px;line-height:1.7;margin:0 0 16px}
.article ul{margin:0 0 16px;padding-left:22px}
.article li{color:var(--tx2);font-size:15.5px;line-height:1.9}
.article .dated{color:var(--fnt);font-size:13px;margin:0 0 36px}
.mono{font-family:var(--mono)}
.note{border:1px solid var(--bd);border-radius:10px;background:var(--panel);padding:14px 16px;color:var(--mut);font-size:13px;line-height:1.6}
footer.ftr{background:#0d1119;border-top:1px solid #1a2331;color:#8b98ab}
.ftr a{color:#aeb9cb;font-size:14px}.ftr a:hover{color:#fff}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;padding:64px 0 0}
.fcol{display:flex;flex-direction:column;gap:12px}
.fh{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:#64748b}
.fbrand p{margin:0;font-size:14px;line-height:1.6;max-width:34ch}
.ftag{font-family:var(--mono);font-size:11px;letter-spacing:2.5px;color:#4285f7}
.fsoc{display:flex;gap:16px;margin-top:4px}
.fsoc a{font-size:13px;font-weight:600;color:#8b98ab}
.fbot{border-top:1px solid #1a2331;margin-top:48px;padding:22px 0 28px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-start}
.fbot .c{color:#64748b;font-size:13px}
.fbot p{margin:0;color:#4d5a6e;font-size:12px;line-height:1.6;max-width:78ch}
.steps{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.step{border:1px solid var(--bd);border-radius:12px;padding:22px;background:var(--panel)}
.step .n{font-family:var(--mono);color:var(--blue);font-size:13px;margin-bottom:10px}
.step h3{margin:0 0 6px;color:var(--tx);font-weight:700;font-size:16px}
.step p{margin:0;color:var(--mut);font-size:13.5px;line-height:1.55}
.hidden{display:none!important}
[hidden]{display:none!important}
@media(max-width:700px){section.sec{padding:52px 0 8px}.st{font-size:26px}}
