/* L02 Web Development Wyoming — statewide reach */
.page-wy main>section{overflow-x:clip}
.page-wy{--ok:#1c9d61;--okb:#e6f7ee;--ex:#c2570c;--exb:#fff4e6}
.mono{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--p3)}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:var(--mut);margin-bottom:18px}
.crumbs a:hover{color:var(--p3)}.crumbs b{color:var(--p3);font-weight:600}
.inl{color:var(--p3);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.txt-link{display:inline-flex;gap:8px;margin-top:18px;font-weight:700;color:var(--p3)}
.txt-link span{transition:transform .3s var(--ease)}.txt-link:hover span{transform:translateX(4px)}
.wy-hd{max-width:820px;margin-bottom:34px}
.wy-hd .lead,.wy-2 .lead{margin-top:16px;max-width:none}
.wy-2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.wy-2.top{align-items:start}
.wy-2>*{min-width:0}
.wy-2>div>p:not(.lead){margin-top:16px;font-size:16.5px}

/* hero */
.wy-hero{position:relative;padding:56px 0 80px;background:radial-gradient(900px 520px at 80% 40%,#efe7ff 0,transparent 62%),linear-gradient(180deg,#faf8ff,#fff);border-bottom:1px solid var(--line)}
.wy-hin{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center}
.wy-hin>*{min-width:0}
.wy-tag{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:13px;color:var(--p3);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px}
.wy-tag i{width:14px;height:10px;border:2px solid var(--p);border-radius:2px}
.wy-h1{font-size:clamp(34px,3.8vw,54px)}
.wy-h1 .gr{background:linear-gradient(90deg,var(--p3),var(--p) 50%,var(--p2));-webkit-background-clip:text;background-clip:text;color:transparent}
.wy-vis{position:relative}
.wy-map{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 60px rgba(23,22,52,.12);padding:18px 18px 12px}
.wy-map svg{display:block;width:100%;height:auto;overflow:visible}
.wy-map figcaption{font-size:12px;color:var(--mut);margin-top:6px;text-align:right;padding-left:230px}
.wy-state{fill:var(--lav2);stroke:var(--p);stroke-width:3;stroke-dasharray:2600;stroke-dashoffset:2600;animation:wyDraw 2.2s var(--ease) .4s forwards}
@keyframes wyDraw{to{stroke-dashoffset:0}}
.wy-links path{fill:none;stroke:#cdb6fb;stroke-width:2;stroke-dasharray:6 8;opacity:.35;transition:opacity .5s,stroke .5s}
.wy-map.m-ship .wy-links path{opacity:1;stroke:var(--p2);animation:wyDash 1.4s linear infinite}
@keyframes wyDash{to{stroke-dashoffset:-28}}
.wy-radius{fill:rgba(127,66,244,.08);stroke:var(--p);stroke-width:2;stroke-dasharray:8 8;transform-box:fill-box;transform-origin:center;transform:scale(0);opacity:0;transition:transform .7s var(--ease),opacity .5s}
.wy-map.m-travel .wy-radius{transform:scale(1);opacity:1;animation:wySpin 24s linear infinite}
@keyframes wySpin{to{stroke-dashoffset:-200}}
.wy-towns g circle{fill:#fff;stroke:#b9a6e6;stroke-width:3;transition:fill .4s,stroke .4s,r .4s}
.wy-towns text{font:600 17px Inter,sans-serif;fill:var(--mut);transition:fill .4s}
.wy-towns g.lit circle{fill:var(--p);stroke:#fff;filter:drop-shadow(0 0 8px rgba(127,66,244,.55))}
.wy-towns g.lit text{fill:var(--ink);font-weight:700}
.wy-towns g{opacity:0;animation:wyPop .5s var(--ease) forwards}
.wy-towns g:nth-child(1){animation-delay:1.2s}.wy-towns g:nth-child(2){animation-delay:1.3s}.wy-towns g:nth-child(3){animation-delay:1.4s}.wy-towns g:nth-child(4){animation-delay:1.5s}.wy-towns g:nth-child(5){animation-delay:1.6s}.wy-towns g:nth-child(6){animation-delay:1.7s}.wy-towns g:nth-child(7){animation-delay:1.8s}.wy-towns g:nth-child(8){animation-delay:1.9s}.wy-towns g:nth-child(9){animation-delay:2s}
@keyframes wyPop{to{opacity:1}}
.wy-card{position:absolute;left:-26px;bottom:-26px;background:var(--ink);color:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 24px 48px rgba(23,22,52,.3);animation:floaty 7s ease-in-out infinite}
.wy-card .mono{color:#c9b8ff}.wy-card b{display:block;font-size:17px;margin:4px 0 2px}.wy-card small{color:#bdb6dc;font-size:12.5px}

/* reach selector */
.wy-rw{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:start}
.wy-rw>*{min-width:0}
.wy-opts{display:flex;flex-direction:column;gap:10px}
.wy-op{text-align:left;padding:18px 20px;border-radius:16px;border:1.5px solid var(--line);background:#fff;transition:border-color .25s,box-shadow .3s,transform .3s var(--ease)}
.wy-op:hover{border-color:#cdb6fb}
.wy-op b{display:block;font-size:16.5px}.wy-op small{display:block;font-size:13.5px;color:var(--mut);margin-top:2px}
.wy-op.on{border-color:var(--p);box-shadow:0 10px 24px rgba(127,66,244,.14);transform:translateX(6px)}
.wy-op.on b{color:var(--p3)}
.wy-out{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh);padding:26px;transition:opacity .25s}
.wy-out.swap{opacity:.2}
.wy-oh{padding-bottom:16px;border-bottom:1px solid var(--line)}
.wy-ot{font-size:24px;margin-top:6px}
.wy-of{padding:16px 0;border-bottom:1px dashed var(--line)}
.wy-of>span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--p3);margin-bottom:6px}
.wy-of p{font-size:15px;color:var(--ink)}
.wy-pages{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.wy-pages li{font-size:13.5px;font-weight:600;padding:7px 12px;border-radius:10px;background:var(--lav2);border:1px solid var(--line)}
.wy-of.gbp{border-bottom:0;background:var(--okb);border-radius:14px;padding:14px 16px;margin-top:14px}.wy-of.gbp>span{color:var(--ok)}
.wy-of.avoid{border-bottom:0;background:var(--exb);border-radius:14px;padding:14px 16px;margin-top:10px}.wy-of.avoid>span{color:var(--ex)}
.wy-note{margin-top:18px;font-size:14px;max-width:900px}

/* long-drive questions */
.wy-qs{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wy-qs li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s),border-color .3s}
.wy-qs li:hover{border-color:#cdb6fb}
.wy-qs b{display:block;font-size:16px;margin-bottom:5px}
.wy-qs b:before{content:"?";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--lav);color:var(--p3);font-size:12px;margin-right:9px;vertical-align:1px}
.wy-qs p{font-size:14.5px}

/* lean pages */
.wy-lv{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:28px;border-radius:24px;background:var(--lav2);border:1px solid var(--line)}
.wy-lv>small{grid-column:1/-1;font-size:12px;color:var(--mut)}
.wy-ph{background:#fff;border:1px solid var(--line);border-radius:26px;padding:14px;box-shadow:var(--sh)}
.wy-ph .mono{display:block;text-align:center;margin-bottom:10px}
.wy-scr{display:flex;flex-direction:column;gap:8px;height:230px;padding:10px;border-radius:16px;background:#faf9fd;border:1px solid var(--line);overflow:hidden}
.wy-scr i{display:block;height:22px;border-radius:6px;background:#e9e3f6}
.wy-scr i.big{height:78px}
.wy-scr i.s{height:12px;width:80%}
.wy-scr i.cta{margin-top:auto;height:34px;background:var(--p)}
.heavy .wy-scr i{background:linear-gradient(90deg,#eee9f7 25%,#f8f6fc 50%,#eee9f7 75%);background-size:200% 100%;animation:wyShim 1.4s linear infinite}
@keyframes wyShim{to{background-position:-200% 0}}
.wy-ph em{display:block;text-align:center;font-style:normal;font-size:13px;font-weight:700;margin-top:10px}
.heavy em{color:var(--ex)}.lean em{color:var(--ok)}
.lean .wy-scr i{opacity:0;transform:translateY(6px);transition:.5s var(--ease)}
.wy-lv.vis .lean .wy-scr i{opacity:1;transform:none}
.wy-lv.vis .lean .wy-scr i:nth-child(2){transition-delay:.1s}.wy-lv.vis .lean .wy-scr i:nth-child(3){transition-delay:.2s}.wy-lv.vis .lean .wy-scr i:nth-child(4){transition-delay:.35s}
.wy-ck{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:10px}
.wy-ck li{display:flex;gap:12px;font-size:15px;color:var(--ink);font-weight:500;line-height:1.45}
.wy-ck li:before{content:"✓";flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--okb);color:var(--ok);font-size:12px;font-weight:800}

/* seasons */
.wy-yr{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.wy-yr:before{content:"";position:absolute;left:24px;right:24px;top:27px;height:3px;border-radius:3px;background:linear-gradient(90deg,#8fd3b6,var(--p2),#f0b27a,#8fb6e8);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .3s}
.wy-yr.vis:before{transform:scaleX(1)}
.wy-q{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:48px 18px 20px;box-shadow:var(--sh)}
.wy-q:before{content:"";position:absolute;left:18px;top:18px;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--p)}
.wy-q[data-q="0"]:before{border-color:#3fb489}.wy-q[data-q="2"]:before{border-color:#e08a3c}.wy-q[data-q="3"]:before{border-color:#5b8cff}
.wy-q b{display:block;font-size:16.5px;margin:6px 0 6px}
.wy-q p{font-size:14.5px}
.wy-sm{margin-top:20px;font-size:14.5px;padding:14px 18px;border-radius:14px;background:#fff;border:1px dashed #d8cdea;max-width:900px}

/* steps */
.wy-steps{list-style:none;display:flex;flex-direction:column;gap:10px}
.wy-steps li{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.wy-steps li>span{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(140deg,#caa6ff,#7f42f4);color:#fff;font:700 12.5px "JetBrains Mono",monospace}
.wy-steps b{display:block;font-size:16px;margin-bottom:3px}
.wy-steps p{font-size:14.5px}

@media (max-width:1000px){
 .wy-hin,.wy-2,.wy-rw{grid-template-columns:1fr;gap:36px}
 .wy-vis{max-width:640px}
 .wy-yr{grid-template-columns:1fr 1fr}.wy-yr:before{display:none}
 .wy-op.on{transform:none}
}
@media (max-width:600px){
 .wy-hero{padding:30px 0 60px}
 .wy-card{left:10px;bottom:-40px}
 .wy-map figcaption{padding-left:0;text-align:left;padding-bottom:70px}
 .wy-towns text{font-size:22px}
 .wy-qs,.wy-yr,.wy-lv{grid-template-columns:1fr}
 .wy-lv{padding:18px}
 .wy-scr{height:170px}
 .wy-out{padding:20px}
}
@media (prefers-reduced-motion:reduce){
 .wy-state{animation:none;stroke-dashoffset:0}
 .wy-towns g{animation:none;opacity:1}
 .wy-card,.heavy .wy-scr i,.wy-map.m-ship .wy-links path,.wy-map.m-travel .wy-radius{animation:none}
}
